Поиск сообщества
Показаны результаты для тегов 'удаление'.
Найдено: 1 результат
-
Удаление аватарки из папки
viiprogrammer опубликовал тема в Модули, плагины, хаки, модификации Vii Engine
Описание: На vii engine после загрузки новой аватарки или каким нибудь образом её смены старая не удаляется из папки (если у вас стоит альбом для ав то хз , может перестать работать если фото для альбома не копирует отдельно). Открыть editprofile.php: Найти : //Загрузка фотографии case "upload": NoAjaxQuery(); //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; $user_id = $user_info['user_id']; $uploaddir = ROOT_DIR.'/uploads/users/'; //Если нет папок юзера, то создаём её if(!is_dir($uploaddir.$user_id)){ @mkdir($uploaddir.$user_id, 0777 ); @chmod($uploaddir.$user_id, 0777 ); @mkdir($uploaddir.$user_id.'/albums', 0777 ); @chmod($uploaddir.$user_id.'/albums', 0777 ); } //Разришенные форматы $allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif'); //Получаем данные о фотографии $image_tmp = $_FILES['uploadfile']['tmp_name']; $image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии $image_size = $_FILES['uploadfile']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла //Проверям если, формат верный то пропускаем if(in_array($type, $allowed_files)){ if($image_size < 5000000){ $res_type = '.'.$type; $uploaddir = ROOT_DIR.'/uploads/users/'.$user_id.'/'; // Директория куда загружать if(move_uploaded_file($image_tmp, $uploaddir.$image_rename.$res_type)) { //Создание оригинала $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto(770); $tmb->jpeg_quality(95); $tmb->save($uploaddir.'o_'.$image_rename.$res_type); //Создание главной фотографии $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto(200, 1); $tmb->jpeg_quality(97); $tmb->save($uploaddir.$image_rename.$res_type); //Создание уменьшеной копии 50х50 $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto('50x50'); $tmb->jpeg_quality(97); $tmb->save($uploaddir.'50_'.$image_rename.$res_type); //Создание уменьшеной копии 100х100 $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto('100x100'); $tmb->jpeg_quality(97); $tmb->save($uploaddir.'100_'.$image_rename.$res_type); $image_rename = $db->safesql($image_rename); $res_type = $db->safesql($res_type); //Добавляем на стену $row = $db->super_query("SELECT user_sex FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); if($row['user_sex'] == 2) $sex_text = 'обновила'; else $sex_text = 'обновил'; $wall_text = "<div class=\"profile_update_photo\"><a href=\"\" onClick=\"Photo.Profile(\'{$user_id}\', \'{$image_rename}{$res_type}\'); return false\"><img src=\"/uploads/users/{$user_id}/o_{$image_rename}{$res_type}\" style=\"margin-top:3px\"></a></div>"; $db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '{$wall_text}', add_date = '{$server_time}', type = '{$sex_text} фотографию на странице:'"); $dbid = $db->insert_id(); $db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'"); //Добавляем в ленту новостей $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '{$wall_text}', obj_id = '{$dbid}', action_time = '{$server_time}'"); //Обновляем имя фотки в бд $db->query("UPDATE `".PREFIX."_users` SET user_photo = '{$image_rename}{$res_type}', user_wall_id = '{$dbid}' WHERE user_id = '{$user_id}'"); echo $config['home_url'].'uploads/users/'.$user_id.'/'.$image_rename.$res_type; mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); mozg_clear_cache(); } else echo 'bad'; } else echo 'big_size'; } else echo 'bad_format'; die(); break; И заменить на: //Загрузка фотографии case "upload": NoAjaxQuery(); //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; $user_id = $user_info['user_id']; $uploaddir = ROOT_DIR.'/uploads/users/'; //Если нет папок юзера, то создаём её if(!is_dir($uploaddir.$user_id)){ @mkdir($uploaddir.$user_id, 0777 ); @chmod($uploaddir.$user_id, 0777 ); @mkdir($uploaddir.$user_id.'/albums', 0777 ); @chmod($uploaddir.$user_id.'/albums', 0777 ); } $uploaddirdel = ROOT_DIR.'/uploads/users/'.$user_id.'/'; $row = $db->super_query("SELECT user_photo, user_wall_id FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); @unlink($uploaddirdel.$row['user_photo']); @unlink($uploaddirdel.'50_'.$row['user_photo']); @unlink($uploaddirdel.'100_'.$row['user_photo']); @unlink($uploaddirdel.'o_'.$row['user_photo']); @unlink($uploaddirdel.'130_'.$row['user_photo']); $db->query("UPDATE `".PREFIX."_users` SET user_photo = '' WHERE user_id = '{$user_id}'"); $check_wall_rec = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_wall` WHERE id = '{$row['user_wall_id']}'"); if($check_wall_rec['cnt']){ $update_wall = ", user_wall_num = user_wall_num-1"; $db->query("DELETE FROM `".PREFIX."_wall` WHERE id = '{$row['user_wall_id']}'"); $db->query("DELETE FROM `".PREFIX."_news` WHERE obj_id = '{$row['user_wall_id']}'"); } //Разришенные форматы $allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif'); //Получаем данные о фотографии $image_tmp = $_FILES['uploadfile']['tmp_name']; $image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 15); // имя фотографии $image_size = $_FILES['uploadfile']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла //Проверям если, формат верный то пропускаем if(in_array($type, $allowed_files)){ if($image_size < 5000000){ $res_type = '.'.$type; $uploaddir = ROOT_DIR.'/uploads/users/'.$user_id.'/'; // Директория куда загружать if(move_uploaded_file($image_tmp, $uploaddir.$image_rename.$res_type)) { //Создание оригинала $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto(770); $tmb->jpeg_quality(95); $tmb->save($uploaddir.'o_'.$image_rename.$res_type); //Создание главной фотографии $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto(200, 1); $tmb->jpeg_quality(97); $tmb->save($uploaddir.$image_rename.$res_type); //Создание уменьшеной копии 50х50 $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto('50x50'); $tmb->jpeg_quality(97); $tmb->save($uploaddir.'50_'.$image_rename.$res_type); //Создание уменьшеной копии 100х100 $tmb = new thumbnail($uploaddir.$image_rename.$res_type); $tmb->size_auto('100x100'); $tmb->jpeg_quality(97); $tmb->save($uploaddir.'100_'.$image_rename.$res_type); $image_rename = $db->safesql($image_rename); $res_type = $db->safesql($res_type); //Добавляем на стену $row = $db->super_query("SELECT user_sex FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); if($row['user_sex'] == 2) $sex_text = 'обновила'; else $sex_text = 'обновил'; $wall_text = "<div class=\"profile_update_photo\"><a href=\"\" onClick=\"Photo.Profile(\'{$user_id}\', \'{$image_rename}{$res_type}\'); return false\"><img src=\"/uploads/users/{$user_id}/o_{$image_rename}{$res_type}\" style=\"margin-top:3px\"></a></div>"; $db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '{$wall_text}', add_date = '{$server_time}', type = '{$sex_text} фотографию на странице:'"); $dbid = $db->insert_id(); $db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'"); //Добавляем в ленту новостей $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '{$wall_text}', obj_id = '{$dbid}', action_time = '{$server_time}'"); //Обновляем имя фотки в бд $db->query("UPDATE `".PREFIX."_users` SET user_photo = '{$image_rename}{$res_type}', user_wall_id = '{$dbid}' WHERE user_id = '{$user_id}'"); echo $config['home_url'].'uploads/users/'.$user_id.'/'.$image_rename.$res_type; mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); mozg_clear_cache(); } else echo 'bad'; } else echo 'big_size'; } else echo 'bad_format'; die(); break; Открыть photo.php: Найти: //################### Помещение фотографии на свою страницу ###################// case "crop": NoAjaxQuery(); $pid = intval($_POST['pid']); $i_left = intval($_POST['i_left']); $i_top = intval($_POST['i_top']); $i_width = intval($_POST['i_width']); $i_height = intval($_POST['i_height']); $check_photo = $db->super_query("SELECT photo_name, album_id FROM `".PREFIX."_photos` WHERE id = '{$pid}' AND user_id = '{$user_id}'"); if($check_photo AND $i_width >= 100 AND $i_height >= 100 AND $i_left >= 0 AND $i_height >= 0){ $imgInfo = explode('.', $check_photo['photo_name']); $newName = substr(md5($server_time.$check_photo['check_photo']), 0, 15).".".$imgInfo[1]; $newDir = ROOT_DIR."/uploads/users/{$user_id}/"; include ENGINE_DIR.'/classes/images.php'; //Создаём оригинал $tmb = new thumbnail(ROOT_DIR."/uploads/users/{$user_id}/albums/{$check_photo['album_id']}/{$check_photo['photo_name']}"); $tmb->size_auto($i_width."x".$i_height, 0, "{$i_left}|{$i_top}"); $tmb->jpeg_quality(90); $tmb->save($newDir."o_{$newName}"); //Создание главной фотографии $tmb = new thumbnail($newDir."o_{$newName}"); $tmb->size_auto(200, 1); $tmb->jpeg_quality(100); $tmb->save($newDir.$newName); //Создание уменьшеной копии 50х50 $tmb = new thumbnail($newDir."o_{$newName}"); $tmb->size_auto('50x50'); $tmb->jpeg_quality(100); $tmb->save($newDir.'50_'.$newName); //Создание уменьшеной копии 100х100 $tmb = new thumbnail($newDir."o_{$newName}"); $tmb->size_auto('100x100'); $tmb->jpeg_quality(100); $tmb->save($newDir.'100_'.$newName); //Добавляем на стену $row = $db->super_query("SELECT user_sex FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); if($row['user_sex'] == 2) $sex_text = 'обновила'; else $sex_text = 'обновил'; $wall_text = "<div class=\"profile_update_photo\"><a href=\"\" onClick=\"Photo.Profile(\'{$user_id}\', \'{$newName}\'); return false\"><img src=\"/uploads/users/{$user_id}/o_{$newName}\" style=\"margin-top:3px\"></a></div>"; $db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '{$wall_text}', add_date = '{$server_time}', type = '{$sex_text} фотографию на странице:'"); $dbid = $db->insert_id(); $db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'"); //Добавляем в ленту новостей $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '{$wall_text}', obj_id = '{$dbid}', action_time = '{$server_time}'"); //Обновляем имя фотки в бд $db->query("UPDATE `".PREFIX."_users` SET user_photo = '{$newName}', user_wall_id = '{$dbid}' WHERE user_id = '{$user_id}'"); mozg_clear_cache_file("user_{$user_id}/profile_{$user_id}"); mozg_clear_cache(); } die(); break; Заменить на: //################### Помещение фотографии на свою страницу ###################// case "crop": NoAjaxQuery(); $pid = intval($_POST['pid']); $i_left = intval($_POST['i_left']); $i_top = intval($_POST['i_top']); $i_width = intval($_POST['i_width']); $i_height = intval($_POST['i_height']); $check_photo = $db->super_query("SELECT photo_name, album_id FROM `".PREFIX."_photos` WHERE id = '{$pid}' AND user_id = '{$user_id}'"); if($check_photo AND $i_width >= 100 AND $i_height >= 100 AND $i_left >= 0 AND $i_height >= 0){ $imgInfo = explode('.', $check_photo['photo_name']); $newName = substr(md5($server_time.$check_photo['check_photo']), 0, 15).".".$imgInfo[1]; $newDir = ROOT_DIR."/uploads/users/{$user_id}/"; include ENGINE_DIR.'/classes/images.php'; $uploaddirdel = ROOT_DIR.'/uploads/users/'.$user_id.'/'; $row = $db->super_query("SELECT user_photo, user_wall_id FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); @unlink($uploaddirdel.$row['user_photo']); @unlink($uploaddirdel.'50_'.$row['user_photo']); @unlink($uploaddirdel.'100_'.$row['user_photo']); @unlink($uploaddirdel.'o_'.$row['user_photo']); @unlink($uploaddirdel.'130_'.$row['user_photo']); $db->query("UPDATE `".PREFIX."_users` SET user_photo = '' WHERE user_id = '{$user_id}'"); $check_wall_rec = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_wall` WHERE id = '{$row['user_wall_id']}'"); if($check_wall_rec['cnt']){ $update_wall = ", user_wall_num = user_wall_num-1"; $db->query("DELETE FROM `".PREFIX."_wall` WHERE id = '{$row['user_wall_id']}'"); $db->query("DELETE FROM `".PREFIX."_news` WHERE obj_id = '{$row['user_wall_id']}'"); } //Создаём оригинал $tmb = new thumbnail(ROOT_DIR."/uploads/users/{$user_id}/albums/{$check_photo['album_id']}/{$check_photo['photo_name']}"); $tmb->size_auto($i_width."x".$i_height, 0, "{$i_left}|{$i_top}"); $tmb->jpeg_quality(90); $tmb->save($newDir."o_{$newName}"); //Создание главной фотографии $tmb = new thumbnail($newDir."o_{$newName}"); $tmb->size_auto(200, 1); $tmb->jpeg_quality(100); $tmb->save($newDir.$newName); //Создание уменьшеной копии 50х50 $tmb = new thumbnail($newDir."o_{$newName}"); $tmb->size_auto('50x50'); $tmb->jpeg_quality(100); $tmb->save($newDir.'50_'.$newName); //Создание уменьшеной копии 100х100 $tmb = new thumbnail($newDir."o_{$newName}"); $tmb->size_auto('100x100'); $tmb->jpeg_quality(100); $tmb->save($newDir.'100_'.$newName); //Добавляем на стену $row = $db->super_query("SELECT user_sex FROM `".PREFIX."_users` WHERE user_id = '{$user_id}'"); if($row['user_sex'] == 2) $sex_text = 'обновила'; else $sex_text = 'обновил'; $wall_text = "<div class=\"profile_update_photo\"><a href=\"\" onClick=\"Photo.Profile(\'{$user_id}\', \'{$newName}\'); return false\"><img src=\"/uploads/users/{$user_id}/o_{$newName}\" style=\"margin-top:3px\"></a></div>"; $db->query("INSERT INTO `".PREFIX."_wall` SET author_user_id = '{$user_id}', for_user_id = '{$user_id}', text = '{$wall_text}', add_date = '{$server_time}', type = '{$sex_text} фотографию на странице:'"); $dbid = $db->insert_id(); $db->query("UPDATE `".PREFIX."_users` SET user_wall_num = user_wall_num+1 WHERE user_id = '{$user_id}'"); //Добавляем в ленту новостей $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 1, action_text = '{$wall_text}', obj_id = '{$dbid}', action_time = '{$server_time}'"); //Обновляем имя фотки в бд $db->query("UPDATE `".PREFIX."_users` SET user_photo = '{$newName}', user_wall_id = '{$dbid}' WHERE user_id = '{$user_id}'"); mozg_clear_cache_file("user_{$user_id}/profile_{$user_id}"); mozg_clear_cache(); } die(); break;