Klaus Опубликовано 24 ноября, 2019 Жалоба Поделиться Опубликовано 24 ноября, 2019 Здравствуйте, я не знаю, как это возможно, но это уже 3 не удачная работа за месяц... Я пытался сделать Drag and Drop у сообщений и записей в группах, страниц юзеров, но оно не работает... Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 8 часов назад, Stark98 сказал: Здравствуйте, я не знаю, как это возможно, но это уже 3 не удачная работа за месяц... Я пытался сделать Drag and Drop у сообщений и записей в группах, страниц юзеров, но оно не работает... пример тебе в templates\Default в albums_addphotos.tpl ищем <input type="hidden" value="{aid}" id="aid" /> выше вставить <link media="screen" href="{theme}/style/style.css" type="text/css" rel="stylesheet" /> <form id="upload" method="post" action="/index.php?go=albums&act=uploadn&aid={aid}" enctype="multipart/form-data"> <div id="drop"> Перетащите изображение сюда <br> <a>Обзор</a> <input type="file" name="upl" multiple /> </div> <ul> <!-- The file uploads will be shown here --> </ul> </form> {js} в system\modules в albums.php вставить //################### Загрузка фотографии в альбом ###################// case "uploadn": NoAjaxQuery(); $aid = intval($_GET['aid']); $user_id = $user_info['user_id']; if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ //Проверка на существование альбома и то что загружает владелец альбома $row = $db->super_query("SELECT aid, photo_num, cover FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($row){ //Проверка на кол-во фоток в альбоме if($row['photo_num'] < $config['max_album_photos']){ //Директория юзеров $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 ); } //Если нет папки альбома, то создаём её $album_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid.'/'; if(!is_dir($album_dir)){ @mkdir($album_dir, 0777); @chmod($album_dir, 0777); } //Разришенные форматы $allowed_files = explode(', ', $config['photo_format']); $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Получаем данные о фотографии $image_tmp = $_FILES['upl']['tmp_name']; $image_name = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии $image_size = $_FILES['url']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Проверям если, формат верный то пропускаем $res_type = strtolower('.'.$type); if(!in_array(strtolower($extension), $allowed_files)){ echo '{"status":"error"}'; exit; } if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); echo '{"status":"success"}'; exit; } } else echo 'max_img'; } else echo 'hacking'; } echo '{"status":"error"}'; die(); break; ищем $tpl->set('{user-id}', $user_id); ниже вставить $tpl->set('{js}', '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> #drop:hover{background-color: #Fff;border: dotted rgba(194, 144, 144, 0.96);} #drop{ background-color: #F5F7F8; padding: 40px 50px; margin-bottom: 30px; border: dotted rgba(194, 144, 144, 0.26 ); border-radius: 3px; border-bottom-style: dotted; text-align: center; text-transform: uppercase; font-size: 13px; font-weight:bold; color: #D5DDD6; } #drop a{ background-color: #6ba03f; padding:12px 26px; color:#fff; font-size:14px; border-radius:2px; cursor:pointer; display:inline-block; margin-top:12px; line-height:1; } #drop a:hover{ background-color:#76b046; } #drop a:active{ background-color:#f44d47; } #drop input{ display:none; } 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Вообще доступ к альбомом пропал... Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 3 минуты назад, Stark98 сказал: Вообще доступ к альбомом пропал... это в .css #drop:hover{background-color: #Fff;border: dotted rgba(194, 144, 144, 0.96);} #drop{ background-color: #F5F7F8; padding: 40px 50px; margin-bottom: 30px; border: dotted rgba(194, 144, 144, 0.26 ); border-radius: 3px; border-bottom-style: dotted; text-align: center; text-transform: uppercase; font-size: 13px; font-weight:bold; color: #D5DDD6; } #drop a{ background-color: #6ba03f; padding:12px 26px; color:#fff; font-size:14px; border-radius:2px; cursor:pointer; display:inline-block; margin-top:12px; line-height:1; } #drop a:hover{ background-color:#76b046; } #drop a:active{ background-color:#f44d47; } #drop input{ display:none; } я не говорил что оно работать будет это пример как можно реализовать не распихать код по файлам и вуаля заработало Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 6 минут назад, kphp сказал: это в .css #drop:hover{background-color: #Fff;border: dotted rgba(194, 144, 144, 0.96);} #drop{ background-color: #F5F7F8; padding: 40px 50px; margin-bottom: 30px; border: dotted rgba(194, 144, 144, 0.26 ); border-radius: 3px; border-bottom-style: dotted; text-align: center; text-transform: uppercase; font-size: 13px; font-weight:bold; color: #D5DDD6; } #drop a{ background-color: #6ba03f; padding:12px 26px; color:#fff; font-size:14px; border-radius:2px; cursor:pointer; display:inline-block; margin-top:12px; line-height:1; } #drop a:hover{ background-color:#76b046; } #drop a:active{ background-color:#f44d47; } #drop input{ display:none; } я не говорил что оно работать будет это пример как можно реализовать не распихать код по файлам и вуаля заработало Востановил PHP, не робит, но выглядит красиво, хотя я сравнил код, похожи... Ща, буду править... Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Доковырялся... Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Блин! Одна точка весь код убила... Поправил!) Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 $tpl->set('{js}', '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> Notepad++ молвит - тут ошибка... Ссылка на комментарий Поделиться на другие сайты Поделиться
00vlad Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 (изменено) 4 минуты назад, Stark98 сказал: $tpl->set('{js}', '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> Notepad++ молвит - тут ошибка... $tpl->set('{js}', '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>'); по пробуй сделать так Изменено 25 ноября, 2019 пользователем 00vlad Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Пробывал... Проблема оказалось не только в этом... Я забыл, у меня часть кода с DLE, сейчас переделываю, убираю нахрен этот DLE. Я бы поставил +, но 3 потратил, завтра поставлю! Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Если меняю код в PHP, то сайт не робит, помогите пожалуйста, что нужно добавить, там явно не надо менять весь код! Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 А сам чет, весь код пролистал, так ничего и непонял Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 И кстати, у меня нет images.php Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 7 минут назад, Stark98 сказал: И кстати, у меня нет images.php выше //################### Загрузка фотографии в альбом ###################// case "upload": вставь //################### Загрузка фотографии в альбом ###################// case "uploadn": NoAjaxQuery(); $aid = intval($_GET['aid']); $user_id = $user_info['user_id']; if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ //Проверка на существование альбома и то что загружает владелец альбома $row = $db->super_query("SELECT aid, photo_num, cover FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($row){ //Проверка на кол-во фоток в альбоме if($row['photo_num'] < $config['max_album_photos']){ //Директория юзеров $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 ); } //Если нет папки альбома, то создаём её $album_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid.'/'; if(!is_dir($album_dir)){ @mkdir($album_dir, 0777); @chmod($album_dir, 0777); } //Разришенные форматы $allowed_files = explode(', ', $config['photo_format']); $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Получаем данные о фотографии $image_tmp = $_FILES['upl']['tmp_name']; $image_name = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии $image_size = $_FILES['url']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Проверям если, формат верный то пропускаем $res_type = strtolower('.'.$type); if(!in_array(strtolower($extension), $allowed_files)){ echo '{"status":"error"}'; exit; } if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); echo '{"status":"success"}'; exit; } /*if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); } else echo 'big_size'*/ } else echo 'max_img'; } else echo 'hacking'; } echo '{"status":"error"}'; die(); break; Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Не доступен, можно я тебе в лс файл кину? Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 <?php if(!defined('MOZG')) die('Hacking attempt!'); if($ajax == 'yes') NoAjaxQuery(); if($logged){ $act = $_GET['act']; switch($act){ //################### Создание альбома ###################// case "create": NoAjaxQuery(); $name = ajax_utf8(textFilter($_POST['name'], false, true)); $descr = ajax_utf8(textFilter($_POST['descr'])); $privacy = intval($_POST['privacy']); $privacy_comm = intval($_POST['privacy_comm']); if($privacy <= 0 OR $privacy > 3) $privacy = 1; if($privacy_comm <= 0 OR $privacy_comm > 3) $privacy_comm = 1; $sql_privacy = $privacy.'|'.$privacy_comm; if(isset($name) AND !empty($name)){ //Выводи кол-во альбомов у юзера $row = $db->super_query("SELECT user_albums_num FROM `".PREFIX."_users` WHERE user_id = '{$user_info['user_id']}'"); if($row['user_albums_num'] < $config['max_albums']){ //hash $hash = md5(md5($server_time).$name.$descr.md5($user_info['user_id']).md5($user_info['user_email']).$_IP); $date_create = date('Y-m-d H:i:s', $server_time); $sql_ = $db->query("INSERT INTO `".PREFIX."_albums` (user_id, name, descr, ahash, adate, position, privacy) VALUES ('{$user_info['user_id']}', '{$name}', '{$descr}', '{$hash}', '{$date_create}', '0', '{$sql_privacy}')"); $id = $db->insert_id(); $db->query("UPDATE `".PREFIX."_users` SET user_albums_num = user_albums_num+1 WHERE user_id = '{$user_info['user_id']}'"); mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/albums_cnt_friends|user_{$user_info['user_id']}/albums_cnt_all|user_{$user_info['user_id']}/profile_{$user_info['user_id']}"); if($sql_) echo '/albums/add/'.$id; else echo 'no'; } else echo 'max'; } else echo 'no_name'; die(); break; //################### Страница создания альбома ###################// case "create_page": NoAjaxQuery(); $tpl->load_template('albums_create.tpl'); $tpl->compile('content'); AjaxTpl(); die(); break; //################### Страница добавление фотографий в альбом ###################// case "add": $aid = intval($_GET['aid']); $user_id = $user_info['user_id']; //Проверка на существование альбома $row = $db->super_query("SELECT name, aid FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($row){ $metatags['title'] = $lang['add_photo']; $user_speedbar = $lang['add_photo_2']; $tpl->load_template('albums_addphotos.tpl'); $tpl->set('{aid}', $aid); $tpl->set('{album-name}', stripslashes($row['name'])); $tpl->set('{user-id}', $user_id); $tpl->set('{js}', '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>'); $tpl->set('{PHPSESSID}', $_COOKIE['PHPSESSID']); $tpl->compile('content'); } else Hacking(); break; //################### Загрузка фотографии в альбом ###################// case "uploadn": NoAjaxQuery(); $aid = intval($_GET['aid']); $user_id = $user_info['user_id']; if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ //Проверка на существование альбома и то что загружает владелец альбома $row = $db->super_query("SELECT aid, photo_num, cover FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($row){ //Проверка на кол-во фоток в альбоме if($row['photo_num'] < $config['max_album_photos']){ //Директория юзеров $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 ); } //Если нет папки альбома, то создаём её $album_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid.'/'; if(!is_dir($album_dir)){ @mkdir($album_dir, 0777); @chmod($album_dir, 0777); } //Разришенные форматы $allowed_files = explode(', ', $config['photo_format']); $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Получаем данные о фотографии $image_tmp = $_FILES['upl']['tmp_name']; $image_name = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии $image_size = $_FILES['url']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Проверям если, формат верный то пропускаем $res_type = strtolower('.'.$type); if(!in_array(strtolower($extension), $allowed_files)){ echo '{"status":"error"}'; exit; } if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); echo '{"status":"success"}'; exit; } /*if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){*/ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); } else echo 'big_size'*/ } else echo 'max_img'; } else echo 'hacking'; } echo '{"status":"error"}'; die(); break; //################### Загрузка фотографии в альбом ###################// case "upload": NoAjaxQuery(); $aid = intval($_GET['aid']); $user_id = $user_info['user_id']; //Проверка на существование альбома и то что загружает владелец альбома $row = $db->super_query("SELECT aid, photo_num, cover FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($row){ //Проверка на кол-во фоток в альбоме if($row['photo_num'] < $config['max_album_photos']){ //Директория юзеров $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 ); } //Если нет папки альбома, то создаём её $album_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid.'/'; if(!is_dir($album_dir)){ @mkdir($album_dir, 0777); @chmod($album_dir, 0777); } //Разришенные форматы $allowed_files = explode(', ', $config['photo_format']); //Получаем данные о фотографии $image_tmp = $_FILES['uploadfile']['tmp_name']; $image_name = totranslit($_FILES['uploadfile']['name']); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии $image_size = $_FILES['uploadfile']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла //Проверям если, формат верный то пропускаем if(in_array(strtolower($type), $allowed_files)){ $config['max_photo_size'] = $config['max_photo_size'] * 1000; if($image_size < $config['max_photo_size']){ $res_type = strtolower('.'.$type); if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('145x103'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('260x180'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'x_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); } else echo 'big_size'; } else echo 'big_size'; } else echo 'bad_format'; } else echo 'max_img'; } else echo 'hacking'; die(); break; //################### Удаление фотографии из альбома ###################// case "del_photo": NoAjaxQuery(); $id = intval($_GET['id']); $user_id = $user_info['user_id']; $row = $db->super_query("SELECT user_id, album_id, photo_name, comm_num, position FROM `".PREFIX."_photos` WHERE id = '{$id}'"); //Если есть такая фотография и владельце действителен if($row['user_id'] == $user_id){ //Директория удаления $del_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$row['album_id'].'/'; //Удаление фотки с сервера @unlink($del_dir.'c_'.$row['photo_name']); @unlink($del_dir.'x_'.$row['photo_name']); @unlink($del_dir.$row['photo_name']); //Удаление фотки из БД $db->query("DELETE FROM `".PREFIX."_photos` WHERE id = '{$id}'"); $check_photo_album = $db->super_query("SELECT id FROM `".PREFIX."_photos` WHERE album_id = '{$row['album_id']}'"); $album_row = $db->super_query("SELECT cover FROM `".PREFIX."_albums` WHERE aid = '{$row['album_id']}'"); //Если удаляемая фотография является обложкой то обновляем обложку на последнюю фотографию, если фотки еще есть из альбома if($album_row['cover'] == $row['photo_name'] AND $check_photo_album){ $row_last_photo = $db->super_query("SELECT photo_name FROM `".PREFIX."_photos` WHERE user_id = '{$user_id}' AND album_id = '{$row['album_id']}' ORDER by `id` DESC"); $set_cover = ", cover = '{$row_last_photo['photo_name']}'"; } //Если в альбоме уже нет фоток, то удаляем обложку if(!$check_photo_album) $set_cover = ", cover = ''"; //Удаляем комментарии к фотографии $db->query("DELETE FROM `".PREFIX."_photos_comments` WHERE pid = '{$id}'"); //Обновляем количество комментов у альбома $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num-1, comm_num = comm_num-{$row['comm_num']} {$set_cover} WHERE aid = '{$row['album_id']}'"); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$row['user_id']}/position_photos_album_{$row['album_id']}"); //Выводим и удаляем отметки если они есть $sql_mark = $db->super_query("SELECT muser_id FROM `".PREFIX."_photos_mark` WHERE mphoto_id = '".$id."' AND mapprove = '0'", 1); if($sql_mark){ foreach($sql_mark as $row_mark){ $db->query("UPDATE `".PREFIX."_users` SET user_new_mark_photos = user_new_mark_photos-1 WHERE user_id = '".$row_mark['muser_id']."'"); } } $db->query("DELETE FROM `".PREFIX."_photos_mark` WHERE mphoto_id = '".$id."'"); //Удаляем оценки $db->query("DELETE FROM `".PREFIX."_photos_rating` WHERE photo_id = '".$id."'"); } die(); break; //################### Установка новой обложки для альбома ###################// case "set_cover": NoAjaxQuery(); $id = intval($_GET['id']); $user_id = $user_info['user_id']; //Выводи фотку из БД, если она есть $row = $db->super_query("SELECT album_id, photo_name FROM `".PREFIX."_photos` WHERE id = '{$id}' AND user_id = '{$user_id}'"); if($row){ $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$row['photo_name']}' WHERE aid = '{$row['album_id']}'"); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends"); } die(); break; //################### Сохранение описания к фотографии ###################// case "save_descr": NoAjaxQuery(); $id = intval($_POST['id']); $user_id = $user_info['user_id']; $descr = ajax_utf8(textFilter($_POST['descr'])); //Выводим фотку из БД, если она есть $row = $db->super_query("SELECT id FROM `".PREFIX."_photos` WHERE id = '{$id}' AND user_id = '{$user_id}'"); if($row){ $db->query("UPDATE `".PREFIX."_photos` SET descr = '{$descr}' WHERE id = '{$id}' AND user_id = '{$user_id}'"); //Ответ скрипта echo stripslashes(myBr(htmlspecialchars(ajax_utf8(trim($_POST['descr']))))); } die(); break; //################### Страница редактирование фотографии ###################// case "editphoto": NoAjaxQuery(); $id = intval($_GET['id']); $user_id = $user_info['user_id']; $row = $db->super_query("SELECT descr FROM `".PREFIX."_photos` WHERE id = '{$id}' AND user_id = '{$user_id}'"); if($row) echo stripslashes(myBrRn($row['descr'])); die(); break; //################### Сохранение сортировки альбомов ###################// case "save_pos_albums"; NoAjaxQuery(); $array = $_POST['album']; $count = 1; //Если есть данные о масиве if($array AND $config['albums_drag'] == 'yes'){ //Выводим масивом и обновляем порядок foreach($array as $idval){ $idval = intval($idval); $db->query("UPDATE `".PREFIX."_albums` SET position = ".$count." WHERE aid = '{$idval}' AND user_id = '{$user_info['user_id']}'"); $count++; } //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends"); } die(); break; //################### Сохранение сортировки фотографий ###################// case "save_pos_photos"; NoAjaxQuery(); $array = $_POST['photo']; $count = 1; //Если есть данные о масиве if($array AND $config['photos_drag'] == 'yes'){ //Выводим масивом и обновляем порядок $row = $db->super_query("SELECT album_id FROM `".PREFIX."_photos` WHERE id = '{$array[1]}'"); if($row){ foreach($array as $idval){ $idval = intval($idval); $db->query("UPDATE `".PREFIX."_photos` SET position = '{$count}' WHERE id = '{$idval}' AND user_id = '{$user_info['user_id']}'"); $photo_info .= $count.'|'.$idval.'||'; $count ++; } mozg_create_cache('user_'.$user_info['user_id'].'/position_photos_album_'.$row['album_id'], $photo_info); } } die(); break; //################### Страница редактирование альбома ###################// case "edit_page"; NoAjaxQuery(); $user_id = $user_info['user_id']; $id = $db->safesql(intval($_POST['id'])); $row = $db->super_query("SELECT aid, name, descr, privacy FROM `".PREFIX."_albums` WHERE aid = '{$id}' AND user_id = '{$user_id}'"); if($row){ $album_privacy = explode('|', $row['privacy']); $tpl->load_template('albums_edit.tpl'); $tpl->set('{id}', $row['aid']); $tpl->set('{name}', stripslashes($row['name'])); $tpl->set('{descr}', stripslashes(myBrRn($row['descr']))); $tpl->set('{privacy}', $album_privacy[0]); $tpl->set('{privacy-text}', strtr($album_privacy[0], array('1' => 'Все пользователи', '2' => 'Только друзья', '3' => 'Только я'))); $tpl->set('{privacy-comment}', $album_privacy[1]); $tpl->set('{privacy-comment-text}', strtr($album_privacy[1], array('1' => 'Все пользователи', '2' => 'Только друзья', '3' => 'Только я'))); $tpl->compile('content'); AjaxTpl(); } die(); break; //################### Сохранение настроек альбома ###################// case "save_album": NoAjaxQuery(); $id = intval($_POST['id']); $user_id = $user_info['user_id']; $name = ajax_utf8(textFilter($_POST['name'], false, true)); $descr = ajax_utf8(textFilter($_POST['descr'])); $privacy = intval($_POST['privacy']); $privacy_comm = intval($_POST['privacy_comm']); if($privacy <= 0 OR $privacy > 3) $privacy = 1; if($privacy_comm <= 0 OR $privacy_comm > 3) $privacy_comm = 1; $sql_privacy = $privacy.'|'.$privacy_comm; //Проверка на существование юзера $chekc_user = $db->super_query("SELECT privacy FROM `".PREFIX."_albums` WHERE aid = '{$id}' AND user_id = '{$user_id}'"); if($chekc_user){ if(isset($name) AND !empty($name)){ $db->query("UPDATE `".PREFIX."_albums` SET name = '{$name}', descr = '{$descr}', privacy = '{$sql_privacy}' WHERE aid = '{$id}'"); echo stripslashes($name).'|#|||#row#|||#|'.stripslashes($descr); mozg_mass_clear_cache_file("user_{$user_id}/albums|user_{$user_id}/albums_all|user_{$user_id}/albums_friends|user_{$user_id}/albums_cnt_friends|user_{$user_id}/albums_cnt_all"); } else echo 'no_name'; } die(); break; //################### Страница изминения обложки ###################// case "edit_cover"; NoAjaxQuery(); $user_id = $user_info['user_id']; $id = intval($_POST['id']); if($user_id AND $id){ //Для навигатор if($_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1; $gcount = 36; $limit_page = ($page-1)*$gcount; //Делаем SQL запрос на вывод $sql_ = $db->super_query("SELECT id, photo_name FROM `".PREFIX."_photos` WHERE album_id = '{$id}' AND user_id = '{$user_id}' ORDER by `position` ASC LIMIT {$limit_page}, {$gcount}", 1); //Если есть SQL запрос то пропускаем if($sql_){ //Выводим данные о альбоме (кол-во фотографй) $row_album = $db->super_query("SELECT photo_num FROM `".PREFIX."_albums` WHERE aid = '{$id}' AND user_id = '{$user_id}'"); $tpl->load_template('albums_editcover.tpl'); $tpl->set('[top]', ''); $tpl->set('[/top]', ''); $tpl->set('{photo-num}', $row_album['photo_num'].' '.gram_record($row_album['photo_num'], 'photos')); $tpl->set_block("'\\[bottom\\](.*?)\\[/bottom\\]'si",""); $tpl->compile('content'); //Выводим масивом фотографии $tpl->load_template('albums_editcover_photo.tpl'); foreach($sql_ as $row){ $tpl->set('{photo}', $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$id.'/c_'.$row['photo_name']); $tpl->set('{id}', $row['id']); $tpl->set('{aid}', $id); $tpl->compile('content'); } box_navigation($gcount, $row_album['photo_num'], $id, 'Albums.EditCover', ''); $tpl->load_template('albums_editcover.tpl'); $tpl->set('[bottom]', ''); $tpl->set('[/bottom]', ''); $tpl->set_block("'\\[top\\](.*?)\\[/top\\]'si",""); $tpl->compile('content'); AjaxTpl(); } else echo $lang['no_photo_alnumx']; } else Hacking(); die(); break; //################### Страница всех фотографий юзера, для прикрепления своей фотки кому-то на стену ###################// case "all_photos_box"; NoAjaxQuery(); $user_id = $user_info['user_id']; $notes = intval($_POST['notes']); //Для навигатор if($_POST['page'] > 0) $page = intval($_POST['page']); else $page = 1; $gcount = 36; $limit_page = ($page-1)*$gcount; //Делаем SQL запрос на вывод $sql_ = $db->query("SELECT id, photo_name, album_id FROM `".PREFIX."_photos` WHERE user_id = '{$user_id}' ORDER by `date` DESC LIMIT {$limit_page}, {$gcount}"); $row_album = $db->super_query("SELECT SUM(photo_num) AS photo_num FROM `".PREFIX."_albums` WHERE user_id = '{$user_id}'"); //Если есть Фотографии то пропускаем if($row_album['photo_num']){ if($notes) $tpl->load_template('notes/attatch_addphoto_top.tpl'); else $tpl->load_template('wall/attatch_addphoto_top.tpl'); $tpl->set('[top]', ''); $tpl->set('[/top]', ''); $tpl->set('{photo-num}', $row_album['photo_num'].' '.gram_record($row_album['photo_num'], 'photos')); $tpl->set_block("'\\[bottom\\](.*?)\\[/bottom\\]'si",""); $tpl->compile('content'); //Выводим циклом фотографии if(!$notes) $tpl->load_template('albums_all_photos.tpl'); else $tpl->load_template('albums_box_all_photos_notes.tpl'); while($row = $db->get_row($sql_)){ $tpl->set('{photo}', '/uploads/users/'.$user_id.'/albums/'.$row['album_id'].'/c_'.$row['photo_name']); $tpl->set('{photo-name}',$row['photo_name']); $tpl->set('{user-id}', $user_id); $tpl->set('{photo-id}', $row['id']); $tpl->set('{aid}', $row['album_id']); $tpl->compile('content'); } box_navigation($gcount, $row_album['photo_num'], $page, 'wall.attach_addphoto', $notes); $tpl->load_template('albums_editcover.tpl'); $tpl->set('[bottom]', ''); $tpl->set('[/bottom]', ''); $tpl->set_block("'\\[top\\](.*?)\\[/top\\]'si",""); $tpl->compile('content'); AjaxTpl(); } else { if($notes) $scrpt_insert = "response[1] = response[1].replace('/c_', '/');wysiwyg.boxPhoto(response[1], 0, 0);"; else $scrpt_insert = "var imgname = response[1].split('/');wall.attach_insert('photo', response[1], 'attach|'+imgname[6].replace('c_', ''), response[2]);"; echo <<<HTML <script type="text/javascript"> $(document).ready(function(){ Xajax = new AjaxUpload('upload', { action: '/index.php?go=attach', name: 'uploadfile', onSubmit: function (file, ext) { if (!(ext && /^(jpg|png|jpeg|gif|jpe)$/.test(ext))) { addAllErr(lang_bad_format, 3300); return false; } Page.Loading('start'); }, onComplete: function (file, response){ if(response == 'big_size'){ addAllErr(lang_max_size, 3300); Page.Loading('stop'); } else { var response = response.split('|||'); {$scrpt_insert} Page.Loading('stop'); } } }); }); </script> HTML; echo $lang['no_photo_alnumx'].'<br /><br /><div class="button_div_gray fl_l" style="margin-left:205px"><button id="upload">Загрузить новую фотографию</button></div>'; } die(); break; //################### Удаление альбома ###################// case "del_album": NoAjaxQuery(); $hash = $db->safesql(substr($_POST['hash'], 0, 32)); $row = $db->super_query("SELECT aid, user_id, photo_num FROM `".PREFIX."_albums` WHERE ahash = '{$hash}'"); if($row){ $aid = $row['aid']; $user_id = $row['user_id']; //Удаляем альбом $db->query("DELETE FROM `".PREFIX."_albums` WHERE ahash = '{$hash}'"); //Проверяем еслить ли фотки в альбоме if($row['photo_num']){ //Удаляем фотки $db->query("DELETE FROM `".PREFIX."_photos` WHERE album_id = '{$aid}'"); //Удаляем комментарии к альбому $db->query("DELETE FROM `".PREFIX."_photos_comments` WHERE album_id = '{$aid}'"); //Удаляем фотки из папки на сервере $fdir = opendir(ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid); while($file = readdir($fdir)) @unlink(ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid.'/'.$file); @rmdir(ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid); } //Обновлям кол-во альбом в юзера $db->query("UPDATE `".PREFIX."_users` SET user_albums_num = user_albums_num-1 WHERE user_id = '{$user_id}'"); //Удаляем кеш позиций фотографий и кеш профиля mozg_clear_cache_file('user_'.$row['user_id'].'/position_photos_album_'.$row['aid']); mozg_clear_cache_file("user_{$user_info['user_id']}/profile_{$user_info['user_id']}"); mozg_mass_clear_cache_file("user_{$user_id}/albums|user_{$user_id}/albums_all|user_{$user_id}/albums_friends|user_{$user_id}/albums_cnt_friends|user_{$user_id}/albums_cnt_all"); } die(); break; //################### Просмотр всех комментариев к альбому ###################// case "all_comments": $mobile_speedbar = 'Комментарии'; $user_id = $user_info['user_id']; $uid = intval($_GET['uid']); $aid = intval($_GET['aid']); if($aid) $uid = false; if($uid) $aid = false; if($_GET['page'] > 0) $page = intval($_GET['page']); else $page = 1; $gcount = 25; $limit_page = ($page-1) * $gcount; $privacy = true; //Если вызваны комменты к альбому if($aid AND !$uid){ $row_album = $db->super_query("SELECT user_id, name, privacy FROM `".PREFIX."_albums` WHERE aid = '{$aid}'"); $album_privacy = explode('|', $row_album['privacy']); $uid = $row_album['user_id']; if(!$uid) Hacking(); } $CheckBlackList = CheckBlackList($uid); if($user_id != $uid) //Проверка естьли запрашиваемый юзер в друзьях у юзера который смотрит стр $check_friend = CheckFriends($uid); if($aid AND $album_privacy){ if($album_privacy[0] == 1 OR $album_privacy[0] == 2 AND $check_friend OR $user_id == $uid) $privacy = true; else $privacy = false; } //Приватность if($privacy AND !$CheckBlackList){ if($uid AND !$aid){ $sql_tb3 = ", `".PREFIX."_albums` tb3"; if($user_id == $uid){ $privacy_sql = ""; $sql_tb3 = ""; } elseif($check_friend){ $privacy_sql = "AND tb1.album_id = tb3.aid AND SUBSTRING(tb3.privacy, 1, 1) regexp '[[:<:]](1|2)[[:>:]]'"; $cache_cnt_num = "_friends"; } else { $privacy_sql = "AND tb1.album_id = tb3.aid AND SUBSTRING(tb3.privacy, 1, 1) regexp '[[:<:]](1)[[:>:]]'"; $cache_cnt_num = "_all"; } } //Если вызвана страница всех комментариев юзера, если нет, то значит вызвана страница оприделенго альбома if($uid AND !$aid) $sql_ = $db->super_query("SELECT tb1.user_id, text, date, id, hash, album_id, pid, owner_id, photo_name, tb2.user_search_pref, user_photo, user_last_visit, user_logged_mobile FROM `".PREFIX."_photos_comments` tb1, `".PREFIX."_users` tb2 {$sql_tb3} WHERE tb1.owner_id = '{$uid}' AND tb1.user_id = tb2.user_id {$privacy_sql} ORDER by `date` DESC LIMIT {$limit_page}, {$gcount}", 1); else $sql_ = $db->super_query("SELECT tb1.user_id, text, date, id, hash, album_id, pid, owner_id, photo_name, tb2.user_search_pref, user_photo, user_last_visit, user_logged_mobile FROM `".PREFIX."_photos_comments` tb1, `".PREFIX."_users` tb2 WHERE tb1.album_id = '{$aid}' AND tb1.user_id = tb2.user_id ORDER by `date` DESC LIMIT {$limit_page}, {$gcount}", 1); //Выводи имя владельца альбомов $row_owner = $db->super_query("SELECT user_name FROM `".PREFIX."_users` WHERE user_id = '{$uid}'"); //Если вызвана страница всех комментов if($uid AND !$aid){ $user_speedbar = $lang['comm_form_album_all']; $metatags['title'] = $lang['comm_form_album_all']; } else { $user_speedbar = $lang['comm_form_album']; $metatags['title'] = $lang['comm_form_album']; } //Загружаем HEADER альбома $tpl->load_template('albums_top.tpl'); $tpl->set('{user-id}', $uid); $tpl->set('{aid}', $aid); $tpl->set('{name}', gramatikName($row_owner['user_name'])); $tpl->set('{album-name}', stripslashes($row_album['name'])); $tpl->set('[comments]', ''); $tpl->set('[/comments]', ''); $tpl->set_block("'\\[all-albums\\](.*?)\\[/all-albums\\]'si",""); $tpl->set_block("'\\[view\\](.*?)\\[/view\\]'si",""); $tpl->set_block("'\\[editphotos\\](.*?)\\[/editphotos\\]'si",""); $tpl->set_block("'\\[all-photos\\](.*?)\\[/all-photos\\]'si",""); if($uid AND !$aid){ $tpl->set_block("'\\[albums-comments\\](.*?)\\[/albums-comments\\]'si",""); } else { $tpl->set('[albums-comments]', ''); $tpl->set('[/albums-comments]', ''); $tpl->set_block("'\\[comments\\](.*?)\\[/comments\\]'si",""); } if($uid == $user_id){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); } else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); } $tpl->compile('info'); //Если есть ответ о запросе то выводим if($sql_){ $tpl->load_template('albums_comment.tpl'); foreach($sql_ as $row_comm){ $tpl->set('{comment}', stripslashes($row_comm['text'])); $tpl->set('{uid}', $row_comm['user_id']); $tpl->set('{id}', $row_comm['id']); $tpl->set('{hash}', $row_comm['hash']); $tpl->set('{author}', $row_comm['user_search_pref']); //Выводим данные о фотографии $tpl->set('{photo}', $config['home_url'].'uploads/users/'.$uid.'/albums/'.$row_comm['album_id'].'/c_'.$row_comm['photo_name']); $tpl->set('{pid}', $row_comm['pid']); $tpl->set('{user-id}', $row_comm['owner_id']); if($aid){ $tpl->set('{aid}', '_'.$aid); $tpl->set('{section}', 'album_comments'); } else { $tpl->set('{aid}', ''); $tpl->set('{section}', 'all_comments'); } if($row_comm['user_photo']) $tpl->set('{ava}', $config['home_url'].'uploads/users/'.$row_comm['user_id'].'/50_'.$row_comm['user_photo']); else $tpl->set('{ava}', '{theme}/images/no_ava_50.png'); OnlineTpl($row_comm['user_last_visit'], $row_comm['user_logged_mobile']); megaDate(strtotime($row_comm['date'])); if($row_comm['user_id'] == $user_info['user_id'] OR $user_info['user_id'] == $uid){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); } else $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); $tpl->compile('content'); } if($uid AND !$aid) if($user_id == $uid) $row_album = $db->super_query("SELECT SUM(comm_num) AS all_comm_num FROM `".PREFIX."_albums` WHERE user_id = '{$uid}'", false, "user_{$uid}/albums_{$uid}_comm{$cache_cnt_num}"); else $row_album = $db->super_query("SELECT COUNT(*) AS all_comm_num FROM `".PREFIX."_photos_comments` tb1, `".PREFIX."_albums` tb3 WHERE tb1.owner_id = '{$uid}' {$privacy_sql}", false, "user_{$uid}/albums_{$uid}_comm{$cache_cnt_num}"); else $row_album = $db->super_query("SELECT comm_num AS all_comm_num FROM `".PREFIX."_albums` WHERE aid = '{$aid}'"); if($uid AND !$aid) navigation($gcount, $row_album['all_comm_num'], $config['home_url'].'albums/comments/'.$uid.'/page/'); else navigation($gcount, $row_album['all_comm_num'], $config['home_url'].'albums/view/'.$aid.'/comments/page/'); $user_speedbar = $row_album['all_comm_num'].' '.gram_record($row_album['all_comm_num'], 'comments'); } else msgbox('', $lang['no_comments'], 'info_2'); } else { $user_speedbar = $lang['title_albums']; msgbox('', $lang['no_notes'], 'info'); } break; //################### Страница изминения порядка фотографий ###################// case "edit_pos_photos": $user_id = $user_info['user_id']; $aid = intval($_GET['aid']); $check_album = $db->super_query("SELECT name FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($check_album){ $sql_ = $db->super_query("SELECT id, photo_name FROM `".PREFIX."_photos` WHERE album_id = '{$aid}' AND user_id = '{$user_id}' ORDER by `position` ASC", 1); $metatags['title'] = $lang['editphotos']; $user_speedbar = $lang['editphotos']; $tpl->load_template('albums_top.tpl'); $tpl->set('{user-id}', $user_id); $tpl->set('{aid}', $aid); $tpl->set('{album-name}', stripslashes($check_album['name'])); $tpl->set('[editphotos]', ''); $tpl->set('[/editphotos]', ''); $tpl->set_block("'\\[all-albums\\](.*?)\\[/all-albums\\]'si",""); $tpl->set_block("'\\[view\\](.*?)\\[/view\\]'si",""); $tpl->set_block("'\\[all-photos\\](.*?)\\[/all-photos\\]'si",""); $tpl->set_block("'\\[comments\\](.*?)\\[/comments\\]'si",""); $tpl->set_block("'\\[albums-comments\\](.*?)\\[/albums-comments\\]'si",""); if($config['photos_drag'] == 'no') $tpl->set_block("'\\[admin-drag\\](.*?)\\[/admin-drag\\]'si",""); else { $tpl->set('[admin-drag]', ''); $tpl->set('[/admin-drag]', ''); } $tpl->compile('info'); if($sql_){ //Добавляем ID для Drag-N-Drop jQuery $tpl->result['content'] .= '<div id="dragndrop"><ul>'; $tpl->load_template('albums_editphotos.tpl'); foreach($sql_ as $row){ $tpl->set('{photo}', $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$row['photo_name']); $tpl->set('{id}', $row['id']); $tpl->compile('content'); } //Конец ID для Drag-N-Drop jQuery $tpl->result['content'] .= '</div></ul>'; } else msgbox('', $lang['no_photos'], 'info_2'); } else { $metatags['title'] = $lang['hacking']; $user_speedbar = $lang['no_infooo']; msgbox('', $lang['hacking'], 'info_2'); } break; //################### Просмотр альбома ###################// case "view": $mobile_speedbar = 'Просмотр альбома'; $user_id = $user_info['user_id']; $aid = intval($_GET['aid']); if($_GET['page'] > 0) $page = intval($_GET['page']); else $page = 1; $gcount = 25; $limit_page = ($page-1) * $gcount; //Выводим данные о фотках $sql_photos = $db->super_query("SELECT id, photo_name FROM `".PREFIX."_photos` WHERE album_id = '{$aid}' ORDER by `position` ASC LIMIT {$limit_page}, {$gcount}", 1); //Выводим данные о альбоме $row_album = $db->super_query("SELECT user_id, name, photo_num, privacy FROM `".PREFIX."_albums` WHERE aid = '{$aid}'"); //ЧС $CheckBlackList = CheckBlackList($row_album['user_id']); if(!$CheckBlackList){ $album_privacy = explode('|', $row_album['privacy']); if(!$row_album) Hacking(); //Проверка естьли запрашиваемый юзер в друзьях у юзера который смотрит стр if($user_id != $row_album['user_id']) $check_friend = CheckFriends($row_album['user_id']); //Приватность if($album_privacy[0] == 1 OR $album_privacy[0] == 2 AND $check_friend OR $user_info['user_id'] == $row_album['user_id']){ //Выводим данные о владельце альбома(ов) $row_owner = $db->super_query("SELECT user_name FROM `".PREFIX."_users` WHERE user_id = '{$row_album['user_id']}'"); $tpl->load_template('albums_top.tpl'); $tpl->set('{user-id}', $row_album['user_id']); $tpl->set('{name}', gramatikName($row_owner['user_name'])); $tpl->set('{aid}', $aid); $tpl->set('[view]', ''); $tpl->set('[/view]', ''); $tpl->set_block("'\\[all-albums\\](.*?)\\[/all-albums\\]'si",""); $tpl->set_block("'\\[comments\\](.*?)\\[/comments\\]'si",""); $tpl->set_block("'\\[editphotos\\](.*?)\\[/editphotos\\]'si",""); $tpl->set_block("'\\[albums-comments\\](.*?)\\[/albums-comments\\]'si",""); $tpl->set_block("'\\[all-photos\\](.*?)\\[/all-photos\\]'si",""); if($row_album['user_id'] == $user_id){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); } else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); } $tpl->set('{album-name}', stripslashes($row_album['name'])); $tpl->set('{all_p_num}', $row_album['photo_num']); $tpl->set('{aid}', $aid); $tpl->set('{count}', $limit_page); $tpl->compile('info'); //Мета теги и формирование спидбара $metatags['title'] = stripslashes($row_album['name']).' | '.$row_album['photo_num'].' '.gram_record($row_album['photo_num'], 'photos'); $user_speedbar = '<span id="photo_num">'.$row_album['photo_num'].'</span> '.gram_record($row_album['photo_num'], 'photos'); if($sql_photos){ $tpl->load_template('album_photo.tpl'); foreach($sql_photos as $row){ $tpl->set('{photo}', $config['home_url'].'uploads/users/'.$row_album['user_id'].'/albums/'.$aid.'/c_'.$row['photo_name']); $tpl->set('{id}', $row['id']); $tpl->set('{all}', ''); $tpl->set('{uid}', $row_album['user_id']); $tpl->set('{aid}', '_'.$aid); $tpl->set('{section}', ''); if($row_album['user_id'] == $user_id){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); } else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); } $tpl->compile('content'); } navigation($gcount, $row_album['photo_num'], $config['home_url'].'albums/view/'.$aid.'/page/'); } else msgbox('', '<br /><br />В альбоме нет фотографий<br /><br /><br />', 'info_2'); //Проверяем на наличии файла с позициям фоток $check_pos = mozg_cache('user_'.$row_album['user_id'].'/position_photos_album_'.$aid); //Если нету, то вызываем функцию генерации if(!$check_pos) GenerateAlbumPhotosPosition($row_album['user_id'], $aid); } else { $user_speedbar = $lang['error']; msgbox('', $lang['no_notes'], 'info'); } } else { $user_speedbar = $lang['title_albums']; msgbox('', $lang['no_notes'], 'info'); } break; //################### Страница с новыми фотографиями ###################// case "new_photos": $rowMy = $db->super_query("SELECT user_new_mark_photos FROM `".PREFIX."_users` WHERE user_id = '".$user_info['user_id']."'"); //Формирование тайтла браузера и спидбара $metatags['title'] = 'Новые фотографии со мной'; $user_speedbar = 'Новые фотографии со мной'; //Загрузка верхушки $tpl->load_template('albums_top_newphotos.tpl'); $tpl->set('{user-id}', $user_info['user_id']); $tpl->set('{num}', $rowMy['user_new_mark_photos']); $tpl->compile('info'); //Выводим сами фотографии if($_GET['page'] > 0) $page = intval($_GET['page']); else $page = 1; $gcount = 25; $limit_page = ($page-1) * $gcount; $sql_ = $db->super_query("SELECT tb1.mphoto_id, tb2.photo_name, album_id, user_id FROM `".PREFIX."_photos_mark` tb1, `".PREFIX."_photos` tb2 WHERE tb1.mphoto_id = tb2.id AND tb1.mapprove = 0 AND tb1.muser_id = '".$user_info['user_id']."' ORDER by `mdate` DESC LIMIT ".$limit_page.", ".$gcount, 1); $tpl->load_template('albums_top_newphoto.tpl'); if($sql_){ foreach($sql_ as $row){ $tpl->set('{uid}', $row['user_id']); $tpl->set('{id}', $row['mphoto_id']); $tpl->set('{aid}', '_'.$row['album_id']); $tpl->set('{photo}', '/uploads/users/'.$row['user_id'].'/albums/'.$row['album_id'].'/c_'.$row['photo_name']); $tpl->compile('content'); } $rowCount = $db->super_query("SELECT COUNT(*) AS cnt FROM `".PREFIX."_photos_mark` WHERE mapprove = 0 AND muser_id = '".$user_info['user_id']."'"); navigation($gcount, $rowCount['cnt'], $config['home_url'].'albums/newphotos/'); } else msgbox('', '<br /><br /><br />Отметок не найдено.<br /><br /><br />', 'info_2'); break; default: //################### Просмотр всех альбомов юзера ###################// $mobile_speedbar = 'Альбомы'; $uid = intval($_GET['uid']); //Выводим данные о владельце альбома(ов) $row_owner = $db->super_query("SELECT user_search_pref, user_albums_num, user_new_mark_photos FROM `".PREFIX."_users` WHERE user_id = '{$uid}'"); if($row_owner){ //ЧС $CheckBlackList = CheckBlackList($uid); if(!$CheckBlackList){ $author_info = explode(' ', $row_owner['user_search_pref']); $metatags['title'] = $lang['title_albums'].' '.gramatikName($author_info[0]).' '.gramatikName($author_info[1]); $user_speedbar = $lang['title_albums']; //Выводи данные о альбоме $sql_ = $db->super_query("SELECT aid, name, adate, photo_num, descr, comm_num, cover, ahash, privacy FROM `".PREFIX."_albums` WHERE user_id = '{$uid}' ORDER by `position` ASC", 1); //Если есть альбомы то выводи их if($sql_){ $m_cnt = $row_owner['user_albums_num']; $tpl->load_template('album.tpl'); //Добавляем ID для DragNDrop jQuery $tpl->result['content'] .= '<div id="dragndrop"><ul>'; //Проверка естьли запрашиваемый юзер в друзьях у юзера который смотрит стр if($user_info['user_id'] != $uid) $check_friend = CheckFriends($uid); foreach($sql_ as $row){ //Приватность $album_privacy = explode('|', $row['privacy']); if($album_privacy[0] == 1 OR $album_privacy[0] == 2 AND $check_friend OR $user_info['user_id'] == $uid){ if($user_info['user_id'] == $uid){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); } else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); } $tpl->set('{name}', stripslashes($row['name'])); if($row['descr']) $tpl->set('{descr}', '<div style="padding-top:4px;">'.stripslashes($row['descr']).'</div>'); else $tpl->set('{descr}', ''); $tpl->set('{photo-num}', $row['photo_num'].' '.gram_record($row['photo_num'], 'photos')); $tpl->set('{comm-num}', $row['comm_num'].' '.gram_record($row['comm_num'], 'comments')); megaDate(strtotime($row['adate']), 1, 1); if($row['cover']) $tpl->set('{cover}', $config['home_url'].'uploads/users/'.$uid.'/albums/'.$row['aid'].'/c_'.$row['cover']); else $tpl->set('{cover}', '{theme}/images/no_cover.png'); $tpl->set('{aid}', $row['aid']); $tpl->set('{hash}', $row['ahash']); $tpl->compile('content'); } else $m_cnt--; } //Конец ID для DragNDrop jQuery $tpl->result['content'] .= '</div></ul>'; $row_owner['user_albums_num'] = $m_cnt; if($row_owner['user_albums_num']){ if($user_info['user_id'] == $uid){ $user_speedbar = 'У Вас <span id="albums_num">'.$row_owner['user_albums_num'].'</span> '.gram_record($row_owner['user_albums_num'], 'albums'); } else { $user_speedbar = 'У '.gramatikName($author_info[0]).' '.$row_owner['user_albums_num'].' '.gram_record($row_owner['user_albums_num'], 'albums'); } $tpl->load_template('albums_top.tpl'); $tpl->set('{user-id}', $uid); $tpl->set('{name}', gramatikName($author_info[0])); $tpl->set('[all-albums]', ''); $tpl->set('[/all-albums]', ''); $tpl->set_block("'\\[view\\](.*?)\\[/view\\]'si",""); $tpl->set_block("'\\[comments\\](.*?)\\[/comments\\]'si",""); $tpl->set_block("'\\[editphotos\\](.*?)\\[/editphotos\\]'si",""); $tpl->set_block("'\\[albums-comments\\](.*?)\\[/albums-comments\\]'si",""); $tpl->set_block("'\\[all-photos\\](.*?)\\[/all-photos\\]'si",""); //Показ скрытых тексто только для владельца страницы if($user_info['user_id'] == $uid){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); } else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); } if($config['albums_drag'] == 'no') $tpl->set_block("'\\[admin-drag\\](.*?)\\[/admin-drag\\]'si",""); else { $tpl->set('[admin-drag]', ''); $tpl->set('[/admin-drag]', ''); } if($row_owner['user_new_mark_photos'] AND $user_info['user_id'] == $uid){ $tpl->set('[new-photos]', ''); $tpl->set('[/new-photos]', ''); $tpl->set('{num}', $row_owner['user_new_mark_photos']); } else $tpl->set_block("'\\[new-photos\\](.*?)\\[/new-photos\\]'si",""); $tpl->compile('info'); } else msgbox('', $lang['no_albums'], 'info_2'); } else { $tpl->load_template('albums_info.tpl'); //Показ скрытых тексто только для владельца страницы if($user_info['user_id'] == $uid){ $tpl->set('[owner]', ''); $tpl->set('[/owner]', ''); $tpl->set_block("'\\[not-owner\\](.*?)\\[/not-owner\\]'si",""); } else { $tpl->set('[not-owner]', ''); $tpl->set('[/not-owner]', ''); $tpl->set_block("'\\[owner\\](.*?)\\[/owner\\]'si",""); } $tpl->compile('content'); } } else { $user_speedbar = $lang['error']; msgbox('', $lang['no_notes'], 'info'); } } else Hacking(); } $tpl->clear(); $db->free($sql_); } else { $user_speedbar = $lang['no_infooo']; msgbox('', $lang['not_logged'], 'info'); } ?> Что не так? Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 7 минут назад, Stark98 сказал: Не доступен, можно я тебе в лс файл кину? в system/modules/albums.php ищем $tpl->set('{user-id}', $user_id); ниже вставить $tpl->set('{js}', '<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script src="/assets/js/jquery.knob.js"></script> <!-- jQuery File Upload Dependencies --> <script src="/assets/js/jquery.ui.widget.js"></script> <script src="/assets/js/jquery.iframe-transport.js"></script> <script src="/assets/js/jquery.fileupload.js"></script> <!-- Our main JS file --> <script src="/assets/js/script.js"></script> '); ищем //################### Загрузка фотографии в альбом ###################// case "upload": выше вставить //################### Загрузка фотографии в альбом ###################// case "uploadn": NoAjaxQuery(); $aid = intval($_GET['aid']); $user_id = $user_info['user_id']; if(isset($_FILES['upl']) && $_FILES['upl']['error'] == 0){ //Проверка на существование альбома и то что загружает владелец альбома $row = $db->super_query("SELECT aid, photo_num, cover FROM `".PREFIX."_albums` WHERE aid = '{$aid}' AND user_id = '{$user_id}'"); if($row){ //Проверка на кол-во фоток в альбоме if($row['photo_num'] < $config['max_album_photos']){ //Директория юзеров $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 ); } //Если нет папки альбома, то создаём её $album_dir = ROOT_DIR.'/uploads/users/'.$user_id.'/albums/'.$aid.'/'; if(!is_dir($album_dir)){ @mkdir($album_dir, 0777); @chmod($album_dir, 0777); } //Разришенные форматы $allowed_files = explode(', ', $config['photo_format']); $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Получаем данные о фотографии $image_tmp = $_FILES['upl']['tmp_name']; $image_name = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); // оригинальное название для оприделения формата $image_rename = substr(md5($server_time+rand(1,100000)), 0, 20); // имя фотографии $image_size = $_FILES['url']['size']; // размер файла $type = end(explode(".", $image_name)); // формат файла $extension = pathinfo($_FILES['upl']['name'], PATHINFO_EXTENSION); //Проверям если, формат верный то пропускаем $res_type = strtolower('.'.$type); if(!in_array(strtolower($extension), $allowed_files)){ echo '{"status":"error"}'; exit; } if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); echo '{"status":"success"}'; exit; } /*if(move_uploaded_file($image_tmp, $album_dir.$image_rename.$res_type)){ //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; //Оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'o_'.$image_rename.$res_type); //Создание оригинала $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('770'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.$image_rename.$res_type); //Создание IM копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('530x297'); $tmb->jpeg_quality('85'); $tmb->save($album_dir.'im_'.$image_rename.$res_type); //Создание Poster копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('200x200'); $tmb->jpeg_quality('100'); $tmb->save($album_dir.'200_'.$image_rename.$res_type); //Создание маленькой копии $tmb = new thumbnail($album_dir.$image_rename.$res_type); $tmb->size_auto('140'); $tmb->jpeg_quality('90'); $tmb->save($album_dir.'c_'.$image_rename.$res_type); $date = date('Y-m-d H:i:s', $server_time); //Генерируем position фотки для "обзо фотографий" $position_all = $_SESSION['position_all']; if($position_all){ $position_all = $position_all+1; $_SESSION['position_all'] = $position_all; } else { $position_all = 100000; $_SESSION['position_all'] = $position_all; } //Вставляем фотографию $db->query("INSERT INTO `".PREFIX."_photos` (album_id, photo_name, user_id, date, position) VALUES ('{$aid}', '{$image_rename}{$res_type}', '{$user_id}', '{$date}', '{$position_all}')"); $ins_id = $db->insert_id(); //Проверяем на наличии обложки у альбома, если нету то ставим обложку загруженную фотку if(!$row['cover']) $db->query("UPDATE `".PREFIX."_albums` SET cover = '{$image_rename}{$res_type}' WHERE aid = '{$aid}'"); $db->query("UPDATE `".PREFIX."_albums` SET photo_num = photo_num+1, adate = '{$date}' WHERE aid = '{$aid}'"); $img_url = $config['home_url'].'uploads/users/'.$user_id.'/albums/'.$aid.'/c_'.$image_rename.$res_type; //Результат для ответа echo $ins_id.'|||'.$img_url.'|||'.$user_id; //Удаляем кеш позиций фотографий if(!$photos_num) mozg_clear_cache_file('user_'.$user_id.'/profile_'.$user_id); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_info['user_id']}/albums|user_{$user_info['user_id']}/albums_all|user_{$user_info['user_id']}/albums_friends|user_{$user_info['user_id']}/position_photos_album_{$aid}"); $img_url = str_replace($config['home_url'], '/', $img_url); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 3 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$ins_id}|{$img_url}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 3, action_text = '{$ins_id}|{$img_url}', action_time = '{$server_time}'"); } else echo 'big_size'*/ } else echo 'max_img'; } else echo 'hacking'; } echo '{"status":"error"}'; die(); break; всё из папки просто залить в корень сайта с заменой мод.rar Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Белый экран... Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 код из файла hfg.php закинь к себе в файл с заменой кода hfg.rar 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 6 минут назад, Stark98 сказал: Белый экран... если чё кодировку поменяй Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 Только что, kphp сказал: если чё кодировку поменяй Это точно не кодировка, вообще белый экран... Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 25 ноября, 2019 Жалоба Поделиться Опубликовано 25 ноября, 2019 Только что, Stark98 сказал: Это точно не кодировка, вообще белый экран... логи чё пишут Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 25 ноября, 2019 Автор Жалоба Поделиться Опубликовано 25 ноября, 2019 вообще ничего... Ссылка на комментарий Поделиться на другие сайты Поделиться
00vlad Опубликовано 26 ноября, 2019 Жалоба Поделиться Опубликовано 26 ноября, 2019 Скрипт нужен другой!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Klaus Опубликовано 26 ноября, 2019 Автор Жалоба Поделиться Опубликовано 26 ноября, 2019 2 часа назад, 00vlad сказал: Скрипт нужен другой!! Уже сделал... В твоей же сети новость опубликовал!) Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения