Weteran
Postów: 3264 Pomógł: 236
v7.02.06 Data rejestracji: 26.05.2007 12:25
|
Witam ;).
Na własne potrzeby "podrasowałem" trochę massuploada 1.3 (nie potrzebuję tych bajerów z v4), jednak ma on w sobie błąd. Dodaje zdjęcia te które spełniają warunki wagi i rozmiarów. Zdjeć nie spełniających nie dodaje. Ja potrzebuję to tak przerobić, żeby przed dodaniem sprawdzało, czy wszystkie zdjęcia spełniają warunki ustalone w PA. Jeżeli choćby jedno nie spełnia to nic nie dodaje i ewentualnie wyświetla które nie są OK (opcjonalnie). Niestety moja wiedza jest jeszcze zbyt mała aby to wykonać bez niczyjej pomocy :|. Jeśli jest to trudne do wykonania to poinformować, taki bajer nie jest aż tak mi potrzebny ;).
Poniżej kod massuploadera:
if(isset($_POST['btn_upload_dir'])){
$path = "../photo_upload/" . $_POST['upload_dir'] . "/";
$dir = makefilelist($path, ".|..", true, $type="files");
$dir = array_reverse($dir);
foreach($dir as $entry){
$pic_path = $path . $entry;
$photo_title = strtolower(stripinput($entry));
$photo_title2 = stripinput($entry);
$bad = array("ę", "ó", "ą", "Ą", "ś", "Ś", "ł", "ż", "ź", "Ź", "ć", "ń", " ", " ");
$good = array("e", "o", "a", "a", "s", "s", "l", "z", "z", "Ź", "c", "n", "", "");
$photo_title = str_replace($bad, $good, $photo_title);
$result=dbquery("SELECT photo_id,photo_filename,album_id FROM ".$db_prefix."photos WHERE photo_filename='$photo_title' AND photo_id<>'$photo_id' AND album_id='$album_id'");
if(dbrows($result)!=0){
$error=1;
//Not the correct error ;)
}else{
$error="";
if($photo_order==""){
$photo_order=dbresult(dbquery("SELECT MAX(photo_order) FROM ".$db_prefix."photos WHERE album_id='$album_id'"),0)+1;
}else{
$result=dbquery("UPDATE ".$db_prefix."photos SET photo_order=(photo_order+1) WHERE photo_order>='$photo_order' AND album_id='$album_id'");
}
copy($pic_path, PHOTODIR.$photo_title);
chmod(PHOTODIR.$photo_title,0644);
$photo_types = array(".gif",".jpg",".jpeg",".png");
$photo_dest = PHOTODIR;
$photo_name = strtolower(substr($photo_title, 0, strrpos($photo_title, ".")));
$photo_ext = strtolower(strrchr(PHOTODIR.$photo_title,"."));
//Check if the file is an image file...
if (in_array($photo_ext, $photo_types)) {
$imagefile = @getimagesize($photo_dest.$photo_title);
$photo_pic = is_uploaded_file($_FILES['photo_pic_file']);
if ($imagefile[0] > $settings['photo_max_w'] || $imagefile[1] > $settings['photo_max_h']) {
$error = 4;
unlink($photo_dest.$photo_file);
} elseif ($photo_pic['size'] > $settings['photo_max_b']) {
$error = 2;
}else {
$error = "";
$photo_thumb1 = image_exists($photo_dest, $photo_name."_t1".$photo_ext);
createthumbnail($imagefile[2], $photo_dest.$photo_title, $photo_dest.$photo_thumb1, $settings['thumb_w'], $settings['thumb_h']);
/*f ($imagefile[0] > $settings['photo_w'] || $imagefile[1] > $settings['photo_h'])
{
$photo_thumb2 = image_exists($photo_dest, $photo_name."_t2".$photo_ext);
createthumbnail($imagefile[2], $photo_dest.$photo_title, $photo_dest.$photo_thumb2, $settings['photo_w'], $settings['photo_h']);
}*/
$photo_comments = isset($_POST['photo_comments']) ? "1" : "0";
$photo_ratings = isset($_POST['photo_ratings']) ? "1" : "0";
$typ_pliku = array(".gif",".jpg",".jpeg",".png", "_");
$bez_typu = array("", "", "", "", "");
$photo_title2 = str_replace($typ_pliku, $bez_typu, $photo_title2);
//Add pictures to DB
$result = dbquery("INSERT INTO ".$db_prefix."photos (album_id, photo_title, photo_description, photo_filename, photo_thumb1, photo_thumb2, photo_datestamp, photo_user, photo_views, photo_order, photo_allow_comments, photo_allow_ratings) VALUES ('$album_id', '$photo_title2', '$photo_description', '$photo_title', '$photo_thumb1', '', '".time()."', '".$userdata['user_id']."', '0', '$photo_order', '$photo_comments', '$photo_ratings')");
redirect(FUSION_SELF.$aidlink."&status=savedir&album_id=$album_id");
}
} //Do nothing if a none image file is detected
if ($error) {
redirect(FUSION_SELF.$aidlink."&status=savepe&error=$error&album_id=$album_id");
}
}
}
Pozdro!
Nie pomagam na komunikatorach oraz PW!
|