Файл: backup_fzrf 2/system/modules/albums.php
Строк: 930
<?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('{PHPSESSID}', $_COOKIE['PHPSESSID']);
$tpl->compile('content');
} else
Hacking();
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('278x226px');
$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 '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.$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 "addcomm":
NoAjaxQuery();
$pid = intval($_POST['pid']);
$comment = ajax_utf8(textFilter($_POST['comment']));
$date = date('Y-m-d H:i:s', $server_time);
$hash = md5($user_id.$server_time.$_IP.$user_info['user_email'].rand(0, 1000000000)).$comment.$pid;
$check_photo = $db->super_query("SELECT album_id, user_id, photo_name FROM `".PREFIX."_photos` WHERE id = '{$pid}'");
//* Проверка есть ли запрашиваемый юзер в друзьях у юзера который смотрит стр *//
if($user_info['user_id'] != $check_photo['user_id']){
$check_friend = CheckFriends($check_photo['user_id']);
$row_album = $db->super_query("SELECT privacy FROM `".PREFIX."_albums` WHERE aid = '{$check_photo['album_id']}'");
$album_privacy = explode('|', $row_album['privacy']);
}
//* ЧС *//
$CheckBlackList = CheckBlackList($check_photo['user_id']);
//* Проверка на существование фотки и приватность *//
if(!$CheckBlackList AND $check_photo AND $album_privacy[1] == 1 OR $album_privacy[1] == 2 AND $check_friend OR $user_info['user_id'] == $check_photo['user_id']){
$db->query("INSERT INTO `".PREFIX."_photos_comments` (pid, user_id, text, date, hash, album_id, owner_id, photo_name) VALUES ('{$pid}', '{$user_id}', '{$comment}', '{$date}', '{$hash}', '{$check_photo['album_id']}', '{$check_photo['user_id']}', '{$check_photo['photo_name']}')");
$id = $db->insert_id();
$db->query("UPDATE `".PREFIX."_photos` SET comm_num = comm_num+1 WHERE id = '{$pid}'");
$db->query("UPDATE `".PREFIX."_albums` SET comm_num = comm_num+1 WHERE aid = '{$check_photo['album_id']}'");
$date = langdate('сегодня в H:i', $server_time);
$tpl->load_template('photo_comment.tpl');
$tpl->set('{author}', $user_info['user_search_pref']);
$tpl->set('{comment}', stripslashes($comment));
$tpl->set('{uid}', $user_id);
$tpl->set('{hash}', $hash);
$tpl->set('{id}', $id);
if($user_info['user_photo'])
$tpl->set('{ava}', $config['home_url'].'uploads/users/'.$user_id.'/50_'.$user_info['user_photo']);
else
$tpl->set('{ava}', '{theme}/images/no_ava_50.png');
$tpl->set('{online}', $lang['online']);
$tpl->set('{date}', langdate('сегодня в H:i', $server_time));
$tpl->set('[owner]', '');
$tpl->set('[/owner]', '');
$tpl->compile('content');
//* Добавляем действие в ленту новостей "ответы" владельцу фотографии *//
if($user_id != $check_photo['user_id']){
$comment = str_replace("|", "|", $comment);
$db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 8, action_text = '{$comment}|{$check_photo['photo_name']}|{$pid}|{$check_photo['album_id']}', obj_id = '{$id}', for_user_id = '{$check_photo['user_id']}', action_time = '{$server_time}'");
//* Вставляем событие в моментальные оповещания *//
$row_userOW = $db->super_query("SELECT user_last_visit FROM `".PREFIX."_users` WHERE user_id = '{$check_photo['user_id']}'");
$update_time = $server_time - 70;
if($row_userOW['user_last_visit'] >= $update_time){
$db->query("INSERT INTO `".PREFIX."_updates` SET for_user_id = '{$check_photo['user_id']}', from_user_id = '{$user_id}', type = '2', date = '{$server_time}', text = '{$comment}', user_photo = '{$user_info['user_photo']}', user_search_pref = '{$user_info['user_search_pref']}', lnk = '/photo{$check_photo['user_id']}_{$pid}_{$check_photo['album_id']}'");
mozg_create_cache("user_{$check_photo['user_id']}/updates", 1);
//* ИНАЧЕ Добавляем +1 юзеру для оповещания *//
} else {
//* Добавляем +1 юзеру для оповещания *//
$cntCacheNews = mozg_cache('user_'.$check_photo['user_id'].'/new_news');
mozg_create_cache('user_'.$check_photo['user_id'].'/new_news', ($cntCacheNews+1));
}
//* Отправка уведомления на E-mail *//
if($config['news_mail_4'] == 'yes'){
$rowUserEmail = $db->super_query("SELECT user_name, user_email, notify FROM `".PREFIX."_users` WHERE user_id = '".$check_photo['user_id']."'");
$EMAIL_block_data = xfieldsdataload($rowUserEmail['notify']);
if($rowUserEmail['user_email'] AND $EMAIL_block_data['n_comm_ph']){
include_once ENGINE_DIR.'/classes/mail.php';
$mail = new dle_mail($config);
$rowMyInfo = $db->super_query("SELECT user_search_pref FROM `".PREFIX."_users` WHERE user_id = '".$user_id."'");
$rowEmailTpl = $db->super_query("SELECT text FROM `".PREFIX."_mail_tpl` WHERE id = '4'");
$rowEmailTpl['text'] = str_replace('{%user%}', $rowUserEmail['user_name'], $rowEmailTpl['text']);
$rowEmailTpl['text'] = str_replace('{%user-friend%}', $rowMyInfo['user_search_pref'], $rowEmailTpl['text']);
$rowEmailTpl['text'] = str_replace('{%rec-link%}', $config['home_url'].'photo'.$check_photo['user_id'].'_'.$vid.'_'.$check_photo['album_id'], $rowEmailTpl['text']);
$mail->send($rowUserEmail['user_email'], 'Новый комментарий к Вашей фотографии', $rowEmailTpl['text']);
}
}
}
//* Чистим кеш кол-во комментов *//
mozg_mass_clear_cache_file("user_{$check_photo['user_id']}/albums_{$check_photo['user_id']}_comm|user_{$check_photo['user_id']}/albums_{$check_photo['user_id']}_comm_all|user_{$check_photo['user_id']}/albums_{$check_photo['user_id']}_comm_friends");
AjaxTpl();
} else
echo 'err_privacy';
break;
//* Удаление комментария *//
case "del_comm":
NoAjaxQuery();
$hash = $db->safesql(substr($_POST['hash'], 0, 32));
$check_comment = $db->super_query("SELECT id, pid, album_id, owner_id FROM `".PREFIX."_photos_comments` WHERE hash = '{$hash}'");
if($check_comment){
$db->query("DELETE FROM `".PREFIX."_photos_comments` WHERE hash = '{$hash}'");
$db->query("DELETE FROM `".PREFIX."_news` WHERE obj_id = '{$check_comment['id']}' AND action_type = 8");
$db->query("UPDATE `".PREFIX."_photos` SET comm_num = comm_num-1 WHERE id = '{$check_comment['pid']}'");
$db->query("UPDATE `".PREFIX."_albums` SET comm_num = comm_num-1 WHERE aid = '{$check_comment['album_id']}'");
//* Чистим кеш кол-во комментов *//
mozg_mass_clear_cache_file("user_{$check_comment['owner_id']}/albums_{$check_comment['owner_id']}_comm|user_{$check_comment['owner_id']}/albums_{$check_comment['owner_id']}_comm_all|user_{$check_comment['owner_id']}/albums_{$check_comment['owner_id']}_comm_friends");
}
die();
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 = 28;
$limit_page = ($page-1) * $gcount;
//* Выводим данные о фотках *//
$sql_photos = $db->super_query("SELECT id, comm_num, user_id, descr, 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_comm 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']);
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']));
$row_photo = $db->super_query("SELECT user_id FROM `".PREFIX."_photos` WHERE id = '{$row_comm['pid']}'");
if($row_comm['user_id'] == $user_info['user_id'] OR $row_photo['user_id'] == $user_info['user_id']){
$tpl->set('[owner]', '');
$tpl->set('[/owner]', '');
} else
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
$tpl->compile('content');
}
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('{photos}', $config['home_url'].'uploads/users/'.$row_album['user_id'].'/albums/'.$aid.'/'.$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","");
}
if($row['descr'])
$tpl->set('{descr}', ''.stripslashes($row['descr']).'');
else
$tpl->set('{descr}', '');
//* Приватность комментариев *//
if($album_privacy[1] == 1 OR $album_privacy[1] == 2 AND $check_friend OR $user_info['user_id'] == $row['user_id']){
$tpl->set('[add-comm]', '');
$tpl->set('[/add-comm]', '');
} else
$tpl->set_block("'\[add-comm\](.*?)\[/add-comm\]'si","");
$tpl->set('{comments}', $tpl->result['comments']);
$tpl->set('{jid}', $row['position']);
$tpl->set('{comm_num}', ($row['comm_num']-3).' '.gram_record(($row['comm_num']-3), 'comments'));
$tpl->set('{num}', $row['comm_num']);
if($row['comm_num'] < 8){
$tpl->set_block("'\[all-comm\](.*?)\[/all-comm\]'si","");
} else {
$tpl->set('[all-comm]', '');
$tpl->set('[/all-comm]', '');
}
$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');
}
//* Выводим комментарии если они есть *//
if($row['comm_num'] > 0){
$tpl->load_template('photo_comment.tpl');
if($row['comm_num'] > 7)
$limit_comm = $row['comm_num']-3;
else
$limit_comm = 0;
$sql_comm = $db->super_query("SELECT tb1.user_id,text,date,id,hash, tb2.user_search_pref, user_photo, user_last_visit, user_logged_mobile FROM `".PREFIX."_photos_comments` tb1, `".PREFIX."_users` tb2 WHERE tb1.user_id = tb2.user_id AND tb1.pid = '{$photo_id}' ORDER by `date` ASC LIMIT {$limit_comm}, {$row['comm_num']}", 1);
foreach($sql_comm 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']);
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 $row['user_id'] == $user_info['user_id']){
$tpl->set('[owner]', '');
$tpl->set('[/owner]', '');
} else
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
$tpl->compile('comments');
}
}
break;
//* Показ всех комментариев *//
case "all_comm":
NoAjaxQuery();
$pid = intval($_POST['pid']);
$num = intval($_POST['num']);
if($num > 7){
$limit = $num-3;
$sql_comm = $db->super_query("SELECT tb1.user_id,text,date,id,hash,pid, tb2.user_search_pref, user_photo, user_last_visit, user_logged_mobile FROM `".PREFIX."_photos_comments` tb1, `".PREFIX."_users` tb2 WHERE tb1.user_id = tb2.user_id AND tb1.pid = '{$pid}' ORDER by `date` ASC LIMIT 0, {$limit}", 1);
$tpl->load_template('photo_comment.tpl');
foreach($sql_comm 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']);
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']));
$row_photo = $db->super_query("SELECT user_id FROM `".PREFIX."_photos` WHERE id = '{$row_comm['pid']}'");
if($row_comm['user_id'] == $user_info['user_id'] OR $row_photo['user_id'] == $user_info['user_id']){
$tpl->set('[owner]', '');
$tpl->set('[/owner]', '');
} else
$tpl->set_block("'\[owner\](.*?)\[/owner\]'si","");
$tpl->compile('content');
}
AjaxTpl();
}
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');
}
//* Последние фотографии в альбомах *//
$vaphoto = $db->super_query("SELECT * FROM `".PREFIX."_photos` where user_id = '{$uid}' ORDER BY id DESC LIMIT 0, 52",1);
$tpl->load_template('albums_botooms.tpl');
//* Вывод последних фотографий *//
if($vaphoto){
foreach($vaphoto as $row_view_photos)
{
$photos .= '
<li class="phptos"><a onclick="Photo.Show(this.href); return false" href="/photo'.$row_view_photos['user_id'].'_'.$row_view_photos['id'].'_'.$row_view_photos['album_id'].'">
<img class="ss_albumsp" src="/uploads/users/'.$row_view_photos['user_id'].'/albums/'.$row_view_photos['album_id'].'/c_'.$row_view_photos['photo_name'].'" width="109" >
</a></li>
';
}
$tpl->set('[phet]', '');
$tpl->set('[/phet]', '');
$tpl->set('{fv_photo}', $photos);
}else{
$tpl->set_block("'\[phet\](.*?)\[/phet\]'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');
}
?>