$metatags['title'] = $lang['news_videos']; $user_speedbar = $lang['news_speedbar_videos']; $sql_sort = '2'; $no_news = '<br /><br />' . $lang['news_none_videos'] . '<br /><br /><br />'; } else { if ($type == 'notifications') { $metatags['title'] = $lang['news_notifications']; $user_speedbar = $lang['news_speedbar_notifications']; $sql_sort = '6,7,8,9,10'; $dop_sort = "AND tb1.for_user_id = '{$user_id}'"; $no_news = '<br /><br />' . $lang['news_none_notifica'] . '<br /><br /><br />'; $sql_where = ''; //Обновляем счетчик новых новостей, ставим 0 $CacheNews = mozg_cache('user_' . $_SESSION['user_id'] . '/new_news'); if ($CacheNews) { mozg_create_cache('user_' . $user_id . '/new_news', ''); } } else { $metatags['title'] = $lang['news_title']; $user_speedbar = $lang['news_speedbar']; $sql_sort = '1,2,3,11'; $no_news = '<br /><br />' . $lang['news_none'] . '<br /><br /><br />'; $type = ''; $sql_where = "\r\n\t\t\t\t\ttb1.ac_user_id IN (SELECT tb2.friend_id FROM `" . PREFIX . "_friends` tb2 WHERE user_id = '{$user_id}' AND tb1.action_type IN (1,2,3) AND subscriptions != 2) \r\n\t\t\t\tOR \r\n\t\t\t\t\ttb1.ac_user_id IN (SELECT tb2.friend_id FROM `" . PREFIX . "_friends` tb2 WHERE user_id = '{$user_id}' AND tb1.action_type = 11 AND subscriptions = 2) \r\n\t\t\t\tAND"; } } } } if ($_POST['page_cnt'] > 0) { $page_cnt = intval($_POST['page_cnt']) * $limit_news; } else {
$check2 = $db->super_query("SELECT user_last_visit, user_name FROM `" . PREFIX . "_users` WHERE user_id = '{$row_owner2['muser_id']}'"); $msg = str_replace($check2['user_name'], "<a href=\"/u{$row_owner2['muser_id']}\" onClick=\"Page.Go(this.href); return false\">{$check2['user_name']}</a>", $msg); //Всталвяем саму запись в БД $db->query("INSERT INTO `" . PREFIX . "_communities_forum_msg` SET fid = '{$fid}', muser_id = '{$user_id}', msg = '{$msg}', mdate = '{$server_time}'"); $dbid = $db->insert_id(); //Вставляем в ленту новостей $db->query("INSERT INTO `" . PREFIX . "_news` SET ac_user_id = '{$user_id}', action_type = 6, action_text = '{$msg}', obj_id = '{$dbid}', for_user_id = '{$row_owner2['muser_id']}', action_time = '{$server_time}', answer_text = '{$row_owner2['msg']}', link = '/forum{$row['public_id']}?act=view&id={$fid}'"); //Вставляем событие в моментальные оповещания $update_time = $server_time - 70; if ($check2['user_last_visit'] >= $update_time) { $db->query("INSERT INTO `" . PREFIX . "_updates` SET for_user_id = '{$row_owner2['muser_id']}', from_user_id = '{$user_id}', type = '6', date = '{$server_time}', text = '{$msg}', user_photo = '{$user_info['user_photo']}', user_search_pref = '{$user_info['user_search_pref']}', lnk = '/forum{$row['public_id']}?act=view&id={$fid}'"); mozg_create_cache("user_{$row_owner2['muser_id']}/updates", 1); //ИНАЧЕ Добавляем +1 юзеру для оповещания } else { $cntCacheNews = mozg_cache("user_{$row_owner2['muser_id']}/new_news"); mozg_create_cache("user_{$row_owner2['muser_id']}/new_news", $cntCacheNews + 1); } } } else { //Всталвяем саму запись в БД $db->query("INSERT INTO `" . PREFIX . "_communities_forum_msg` SET fid = '{$fid}', muser_id = '{$user_id}', msg = '{$msg}', mdate = '{$server_time}'"); $dbid = $db->insert_id(); } mozg_clear_cache_file("groups_forum/forum{$row['public_id']}"); //Обновляем данные в теме $db->query("UPDATE `" . PREFIX . "_communities_forum` SET msg_num = msg_num+1, lastdate = '{$server_time}', lastuser_id = '{$user_id}' WHERE fid = '{$fid}'"); $tpl->load_template('forum/msg.tpl'); $msg = preg_replace('`(http(?:s)?://\\w+[^\\s\\[\\]\\<]+)`i', '<a href="/away.php?url=$1" target="_blank">$1</a>', $msg); $tpl->set('{text}', stripslashes($msg)); $tpl->set('{name}', $user_info['user_search_pref']); $tpl->set('{online}', $lang['online']);
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('{for_user_id}', $for_user_id); //Выводим информцию о том кто смотрит страницу для себя $myInfo = $db->super_query("SELECT user_name FROM `" . PREFIX . "_users` WHERE user_id = '" . $user_id . "'"); $tpl->set('{myuser-id}', $user_id); $tpl->set('{my-name}', $myInfo['user_name']); if ($user_info['user_photo']) { $tpl->set('{my-ava}', '/uploads/users/' . $user_id . '/50_' . $user_info['user_photo']); } else { $tpl->set('{my-ava}', '/images/no_ava_50.png'); } $tpl->compile('content'); } AjaxTpl(); die; break; //################### Обновление диалогов ###################// //################### Обновление диалогов ###################// case "upDialogs": NoAjaxQuery(); $update = mozg_cache('user_' . $user_id . '/im_update'); if ($update) { $sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS tb1.msg_num, im_user_id FROM `" . PREFIX . "_im` tb1, `" . PREFIX . "_users` tb2 WHERE tb1.iuser_id = '" . $user_id . "' AND tb1.im_user_id = tb2.user_id AND msg_num > 0 ORDER by `idate` DESC LIMIT 0, 50", 1); foreach ($sql_ as $row) { $res .= '$("#upNewMsg' . $row['im_user_id'] . '").html(\'<div class="im_new fl_l" id="msg_num' . $row['im_user_id'] . '">' . $row['msg_num'] . '</div>\').show();'; } if ($user_info['user_pm_num']) { $user_pm_num_2 = "+" . $user_info['user_pm_num']; $doc_title = 'document.title = \'(' . $user_info['user_pm_num'] . ') Новые сообщения\';'; } else { $doc_title = 'document.title = \'Диалоги\';'; mozg_create_cache('user_' . $user_id . '/im_update', '0');
<?php /* Appointment: Моментальные оповещания File: updates.php */ if (!defined('MOZG')) { die('Hacking attempt!'); } NoAjaxQuery(); if ($logged) { $user_id = $user_info['user_id']; $cntCacheUp = mozg_cache("user_{$user_id}/updates"); if ($cntCacheUp) { $update_time = $server_time - 70; $row = $db->super_query("SELECT id, type, from_user_id, text, lnk, user_search_pref, user_photo FROM `" . PREFIX . "_updates` WHERE for_user_id = '{$user_id}' AND date > '{$update_time}' ORDER by `date` ASC"); if ($row) { if ($row['user_photo']) { $ava = "/uploads/users/{$row['from_user_id']}/50_{$row['user_photo']}"; } else { $ava = "/templates/Default/images/no_ava_50.png"; } echo $row['type'] . '|' . $row['user_search_pref'] . '|' . $row['from_user_id'] . '|' . stripslashes($row['text']) . '|' . $server_time . '|' . $ava . '|' . $row['lnk']; $db->query("DELETE FROM `" . PREFIX . "_updates` WHERE id = '{$row['id']}'"); } else { mozg_create_cache("user_{$user_id}/updates", ''); } } } die;
$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 FROM `" . PREFIX . "_users` WHERE user_id = '" . $check_photo['user_id'] . "'"); if ($rowUserEmail['user_email']) { 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']); } }
function super_query($query, $multi = false, $cache_prefix = false, $system_cache = false) { //Если включен кеш, то проверяем на его существование if ($cache_prefix) { if ($system_cache) { $data = system_cache($cache_prefix); } else { $data = mozg_cache($cache_prefix); } } //Если есть ответ с кеша if ($data) { $unSerData = unserialize($data); if ($unSerData) { return $unSerData; } else { return array(); } } else { if (!$multi) { $this->query($query); $data = $this->get_row(); $this->free(); //Если включен кеш, то создаём его if ($cache_prefix) { $cache_rows = serialize($data); mozg_create_cache($cache_prefix, $cache_rows); } return $data; } else { $this->query($query); $rows = array(); while ($row = $this->get_row()) { $rows[] = $row; } $this->free(); //Если включен кеш, то создаём его if ($cache_prefix) { $cache_rows = serialize($rows); if ($system_cache) { creat_system_cache($cache_prefix, $cache_rows); } else { mozg_create_cache($cache_prefix, $cache_rows); } } return $rows; } } }
$check_im_2 = $db->super_query("SELECT iuser_id FROM " . PREFIX . "_im WHERE iuser_id = '" . $for_user_id . "' AND im_user_id = '" . $user_id . "'"); if (!$check_im_2) { $db->query("INSERT INTO " . PREFIX . "_im SET iuser_id = '" . $for_user_id . "', im_user_id = '" . $user_id . "', msg_num = 1, idate = '" . $server_time . "', all_msg_num = 1"); } else { $db->query("UPDATE " . PREFIX . "_im SET idate = '" . $server_time . "', msg_num = msg_num+1, all_msg_num = all_msg_num+1 WHERE iuser_id = '" . $for_user_id . "' AND im_user_id = '" . $user_id . "'"); } //Читисм кеш обновлений mozg_clear_cache_file('user_' . $for_user_id . '/im'); mozg_create_cache('user_' . $for_user_id . '/im_update', '1'); //Вставляем событие в моментальные оповещания $row_owner = $db->super_query("SELECT user_last_visit FROM `" . PREFIX . "_users` WHERE user_id = '{$for_user_id}'"); //LamerOK $update_time = $server_time - 70; if ($row_owner['user_last_visit'] >= $update_time) { $db->query("INSERT INTO `" . PREFIX . "_updates` SET for_user_id = '{$for_user_id}', from_user_id = '{$user_info['user_id']}', type = '8', date = '{$server_time}', text = '{$msg}', user_photo = '{$user_info['user_photo']}', user_search_pref = '{$user_info['user_search_pref']}', lnk = '/messages'"); mozg_create_cache("user_{$for_user_id}/updates", 1); } //Отправка уведомления на E-mail if ($config['news_mail_8'] == 'yes' and $user_id != $for_user_id) { $rowUserEmail = $db->super_query("SELECT user_name, user_email FROM `" . PREFIX . "_users` WHERE user_id = '" . $for_user_id . "'"); if ($rowUserEmail['user_email']) { 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 = '8'"); $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'] . 'messages/show/' . $dbid, $rowEmailTpl['text']); $mail->send($rowUserEmail['user_email'], 'Новое персональное сообщение', $rowEmailTpl['text']); } }
$update_time = $server_time - 70; if ($row_owner['user_last_visit'] >= $update_time) { $row['text'] = strip_tags($row['text']); if ($row['text']) { $wall_text = ' «' . substr($row['text'], 0, 70) . '»'; } else { $wall_text = '.'; } $myRow = $db->super_query("SELECT user_sex FROM `" . PREFIX . "_users` WHERE user_id = '{$user_info['user_id']}'"); if ($myRow['user_sex'] == 2) { $action_update_text = 'оценила Вашу запись' . $wall_text; } else { $action_update_text = 'оценил Вашу запись' . $wall_text; } $db->query("INSERT INTO `" . PREFIX . "_updates` SET for_user_id = '{$row['author_user_id']}', from_user_id = '{$user_info['user_id']}', type = '10', date = '{$server_time}', text = '{$action_update_text}', user_photo = '{$user_info['user_photo']}', user_search_pref = '{$user_info['user_search_pref']}', lnk = '/wall{$row['author_user_id']}_{$rid}'"); mozg_create_cache("user_{$row['author_user_id']}/updates", 1); } //Добавляем в ленту новостей "ответы" $generateLastTime = $server_time - 10800; $row_news = $db->super_query("SELECT ac_id, action_text, action_time FROM `" . PREFIX . "_news` WHERE action_time > '{$generateLastTime}' AND action_type = 7 AND obj_id = '{$rid}'"); if ($row_news) { $db->query("UPDATE `" . PREFIX . "_news` SET action_text = '|u{$user_id}|{$row_news['action_text']}', action_time = '{$server_time}' WHERE obj_id = '{$rid}' AND action_type = 7 AND action_time = '{$row_news['action_time']}'"); } else { $db->query("INSERT INTO `" . PREFIX . "_news` SET ac_user_id = '{$user_id}', action_type = 7, action_text = '|u{$user_id}|', obj_id = '{$rid}', for_user_id = '{$row['author_user_id']}', action_time = '{$server_time}'"); } } } } die; break; //################### Удаляем "Мне нравится" ###################//
*/ if (!defined('MOZG')) { die('Hacking attempt!'); } NoAjaxQuery(); if ($logged) { $user_id = $user_info['user_id']; $vote_id = intval($_POST['vote_id']); $answer_id = intval($_POST['answer_id']); $row = $db->super_query("SELECT COUNT(*) AS cnt FROM `" . PREFIX . "_votes_result` WHERE user_id = '{$user_id}' AND vote_id = '{$vote_id}'"); if (!$row['cnt']) { $db->query("INSERT INTO `" . PREFIX . "_votes_result` SET user_id = '{$user_id}', vote_id = '{$vote_id}', answer = '{$answer_id}'"); $db->query("UPDATE `" . PREFIX . "_votes` SET answer_num = answer_num+1 WHERE id = '{$vote_id}'"); mozg_mass_clear_cache_file("votes/vote_{$vote_id}|votes/vote_answer_cnt_{$vote_id}|votes/check{$user_id}_{$vote_id}"); //Составляем новый ответ mozg_create_cache("votes/check{$user_id}_{$vote_id}", "a:1:{s:3:\"cnt\";s:1:\"1\";}"); $row_vote = $db->super_query("SELECT title, answers, answer_num FROM `" . PREFIX . "_votes` WHERE id = '{$vote_id}'", false, "votes/vote_{$vote_id}"); $row_vote['title'] = stripslashes($row_vote['title']); $result .= "<div class=\"wall_vote_title\">{$row_vote['title']}</div>"; $rowAnswers = stripslashes($row_vote['answers']); $arr_answe_list = explode('|', $rowAnswers); $max = $row_vote['answer_num']; $sql_answer = $db->super_query("SELECT answer, COUNT(*) AS cnt FROM `" . PREFIX . "_votes_result` WHERE vote_id = '{$vote_id}' GROUP BY answer", 1, "votes/vote_answer_cnt_{$vote_id}"); $answer = array(); foreach ($sql_answer as $row_answer) { $answer[$row_answer['answer']]['cnt'] = $row_answer['cnt']; } for ($ai = 0; $ai < sizeof($arr_answe_list); $ai++) { $num = $answer[$ai]['cnt']; if (!$num) { $num = 0;
$tpl->set('{ava}', '{theme}/images/no_ava_50.png'); } if ($row['msg_num']) { $tpl->set('{msg_num}', '<div class="im_new fl_l" id="msg_num' . $row['im_user_id'] . '">' . $row['msg_num'] . '</div>'); } else { $tpl->set('{msg_num}', ''); } $tpl->compile('dialog'); } //header сообщений $tpl->load_template('im/head.tpl'); if ($user_info['user_msg_type'] == 0) { $tpl->set('{msg-type}', 'Показать в виде диалогов'); } else { $tpl->set('{msg-type}', 'Показать в виде сообщений'); } $tpl->set('{dialogs}', $tpl->result['dialog']); $tpl->set('[inbox]', ''); $tpl->set('[/inbox]', ''); $tpl->set_block("'\\[outbox\\](.*?)\\[/outbox\\]'si", ""); $tpl->set_block("'\\[review\\](.*?)\\[/review\\]'si", ""); $tpl->compile('info'); } $tpl->clear(); $db->free(); } else { $user_speedbar = $lang['no_infooo']; msgbox('', $lang['not_logged'], 'info'); } mozg_create_cache("user_{$for_user_id}/typograf{$user_id}", "");
break; //################### Выключение трансляции ###################// //################### Выключение трансляции ###################// case "notranslate": //Выводим пред. статус $checkPrevStatus = mozg_cache("user_{$user_id}/old_status"); $checkExp = explode('<audio', $checkPrevStatus); if (!$checkExp[1]) { $newStatus = $db->safesql($checkPrevStatus); } else { $newStatus = ''; } //Обновляем статус $db->query("UPDATE `" . PREFIX . "_users` SET user_status = '{$newStatus}' WHERE user_id = '{$user_id}'"); //Чистим кеш mozg_create_cache("user_{$user_id}/old_status", ""); mozg_clear_cache_file("user_{$user_id}/profile_{$user_id}"); break; default: //################### Вывод всех аудио ###################// $get_user_id = intval($_POST['get_user_id']); if (!$get_user_id) { $get_user_id = $user_id; } $query = $db->safesql(ajax_utf8(strip_data(urldecode($_POST['query'])))); $doload = intval($_POST['doload']); //Если страница вывзана через "Показать больше аудиозаписей" $limit_select = 10; if ($_POST['page_cnt'] > 0) { $page_cnt = intval($_POST['page_cnt']) * $limit_select; } else {
$tpl->set('{user-id}', $row_subscr['friend_id']); $tpl->set('{name}', $row_subscr['user_search_pref']); if ($row_subscr['user_status']) { $tpl->set('{info}', stripslashes(substr($row_subscr['user_status'], 0, 24))); } else { $country_city = explode('|', $row_subscr['user_country_city_name']); $tpl->set('{info}', $country_city[1]); } if ($row_subscr['user_photo']) { $tpl->set('{ava}', $config['home_url'] . 'uploads/users/' . $row_subscr['friend_id'] . '/50_' . $row_subscr['user_photo']); } else { $tpl->set('{ava}', '{theme}/images/no_ava_50.png'); } $tpl->compile('subscriptions'); } mozg_create_cache('/subscr_user_' . $id, $tpl->result['subscriptions']); } } //################### Музыка ###################// if ($row['user_audio']) { $sql_audio = $db->super_query("SELECT SQL_CALC_FOUND_ROWS url, artist, name FROM `" . PREFIX . "_audio` WHERE auser_id = '" . $id . "' ORDER by `adate` DESC LIMIT 0, 3", 1, 'user_' . $id . '/audios_profile'); $tpl->load_template('audio/profile.tpl'); $jid = 0; foreach ($sql_audio as $row_audio) { $jid++; $tpl->set('{jid}', $jid); $tpl->set('{uid}', $id); $tpl->set('{url}', $row_audio['url']); $tpl->set('{artist}', stripslashes($row_audio['artist'])); $tpl->set('{name}', stripslashes($row_audio['name'])); $tpl->compile('audios');
$check_im = $db->super_query("SELECT iuser_id FROM `" . PREFIX . "_im` WHERE iuser_id = '" . $user_id . "' AND im_user_id = '" . $for_user_id . "'"); if (!$check_im) { $db->query("INSERT INTO " . PREFIX . "_im SET iuser_id = '" . $user_id . "', im_user_id = '" . $for_user_id . "', idate = '" . $server_time . "', all_msg_num = 1"); } else { $db->query("UPDATE " . PREFIX . "_im SET idate = '" . $server_time . "', all_msg_num = all_msg_num+1 WHERE iuser_id = '" . $user_id . "' AND im_user_id = '" . $for_user_id . "'"); } //Проверка на наличии созданого диалога у получателя, а если есть то просто обновляем кол-во новых сообщений в диалоге $check_im_2 = $db->super_query("SELECT iuser_id FROM " . PREFIX . "_im WHERE iuser_id = '" . $for_user_id . "' AND im_user_id = '" . $user_id . "'"); if (!$check_im_2) { $db->query("INSERT INTO " . PREFIX . "_im SET iuser_id = '" . $for_user_id . "', im_user_id = '" . $user_id . "', msg_num = 1, idate = '" . $server_time . "', all_msg_num = 1"); } else { $db->query("UPDATE " . PREFIX . "_im SET idate = '" . $server_time . "', msg_num = msg_num+1, all_msg_num = all_msg_num+1 WHERE iuser_id = '" . $for_user_id . "' AND im_user_id = '" . $user_id . "'"); } //Читисм кеш обновлений mozg_clear_cache_file('user_' . $for_user_id . '/im'); mozg_create_cache('user_' . $for_user_id . '/im_update', '1'); //Отправка уведомления на E-mail if ($config['news_mail_8'] == 'yes' and $user_id != $for_user_id) { $rowUserEmail = $db->super_query("SELECT user_name, user_email FROM `" . PREFIX . "_users` WHERE user_id = '" . $for_user_id . "'"); if ($rowUserEmail['user_email']) { 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 = '8'"); $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'] . 'messages/show/' . $dbid, $rowEmailTpl['text']); $mail->send($rowUserEmail['user_email'], 'Новое персональное сообщение', $rowEmailTpl['text']); } } } else {
$tpl->compile('content'); //Добавляем действие в ленту новостей "ответы" владельцу фотографии if ($user_id != $check_video['owner_user_id']) { $check_video['photo'] = str_replace($config['home_url'], '/', $check_video['photo']); $comment = str_replace("|", "|", $comment); $db->query("INSERT INTO `" . PREFIX . "_news` SET ac_user_id = '{$user_id}', action_type = 9, action_text = '{$comment}|{$check_video['photo']}|{$vid}', obj_id = '{$id}', for_user_id = '{$check_video['owner_user_id']}', action_time = '{$server_time}'"); //Вставляем событие в моментальные оповещания $row_userOW = $db->super_query("SELECT user_last_visit FROM `" . PREFIX . "_users` WHERE user_id = '{$check_video['owner_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_video['owner_user_id']}', from_user_id = '{$user_id}', type = '3', date = '{$server_time}', text = '{$comment}', user_photo = '{$user_info['user_photo']}', user_search_pref = '{$user_info['user_search_pref']}', lnk = '/video{$check_video['owner_user_id']}_{$vid}'"); mozg_create_cache("user_{$check_video['owner_user_id']}/updates", 1); //ИНАЧЕ Добавляем +1 юзеру для оповещания } else { $cntCacheNews = mozg_cache('user_' . $check_video['owner_user_id'] . '/new_news'); mozg_create_cache('user_' . $check_video['owner_user_id'] . '/new_news', $cntCacheNews + 1); } //Отправка уведомления на E-mail if ($config['news_mail_3'] == 'yes') { $rowUserEmail = $db->super_query("SELECT user_name, user_email FROM `" . PREFIX . "_users` WHERE user_id = '" . $check_video['owner_user_id'] . "'"); if ($rowUserEmail['user_email']) { 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 = '3'"); $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'] . 'video' . $check_video['owner_user_id'] . '_' . $vid, $rowEmailTpl['text']); $mail->send($rowUserEmail['user_email'], 'Новый комментарий к Вашей видеозаписи', $rowEmailTpl['text']); } }
break; //################### Удаление из черного списка ###################// //################### Удаление из черного списка ###################// case "delblacklist": NoAjaxQuery(); $bad_user_id = intval($_POST['bad_user_id']); //Проверяем на существование юзера $row = $db->super_query("SELECT COUNT(*) AS cnt FROM `" . PREFIX . "_users` WHERE user_id = '{$bad_user_id}'"); //Выводим свой блеклист для проверка $myRow = $db->super_query("SELECT user_blacklist FROM `" . PREFIX . "_users` WHERE user_id = '{$user_id}'"); $array_blacklist = explode('|', $myRow['user_blacklist']); if ($row['cnt'] and in_array($bad_user_id, $array_blacklist) and $user_id != $bad_user_id) { $myRow['user_blacklist'] = str_replace("|{$bad_user_id}|", "", $myRow['user_blacklist']); $db->query("UPDATE `" . PREFIX . "_users` SET user_blacklist_num = user_blacklist_num-1, user_blacklist = '{$myRow['user_blacklist']}' WHERE user_id = '{$user_id}'"); $openMyList = mozg_cache("user_{$user_id}/blacklist"); mozg_create_cache("user_{$user_id}/blacklist", str_replace("|{$bad_user_id}|", "", $openMyList)); } die; break; //################### Черный список ###################// //################### Черный список ###################// case "blacklist": $row = $db->super_query("SELECT user_blacklist, user_blacklist_num FROM `" . PREFIX . "_users` WHERE user_id = '{$user_id}'"); $tpl->load_template('settings/blacklist.tpl'); $tpl->set('{cnt}', '<span id="badlistnum">' . $row['user_blacklist_num'] . '</span> ' . gram_record($row['user_blacklist_num'], 'fave')); if ($row['user_blacklist_num']) { $tpl->set('[yes-users]', ''); $tpl->set('[/yes-users]', ''); } else { $tpl->set_block("'\\[yes-users\\](.*?)\\[/yes-users\\]'si", ""); }
function GenerateAlbumPhotosPosition($uid, $aid = false) { global $db; //Выводим все фотографии из альбома и обновляем их позицию только для просмотра альбома if ($uid and $aid) { $sql_ = $db->super_query("SELECT SQL_CALC_FOUND_ROWS id FROM `" . PREFIX . "_photos` WHERE album_id = '{$aid}' ORDER by `position` ASC", 1); $count = 1; foreach ($sql_ as $row) { $db->query("UPDATE LOW_PRIORITY `" . PREFIX . "_photos` SET position = '{$count}' WHERE id = '{$row['id']}'"); $photo_info .= $count . '|' . $row['id'] . '||'; $count++; } mozg_create_cache('user_' . $uid . '/position_photos_album_' . $aid, $photo_info); } }
//Удаляем друга из таблицы друзей $db->query("DELETE FROM `" . PREFIX . "_friends` WHERE user_id = '{$user_id}' AND friend_id = '{$delet_user_id}' AND subscriptions = 0"); //Удаляем у друга из таблицы $db->query("DELETE FROM `" . PREFIX . "_friends` WHERE user_id = '{$delet_user_id}' AND friend_id = '{$user_id}' AND subscriptions = 0"); //Обновляем кол-друзей у юзера $db->query("UPDATE `" . PREFIX . "_users` SET user_friends_num = user_friends_num-1 WHERE user_id = '{$user_id}'"); //Обновляем у друга которого удаляем кол-во друзей $db->query("UPDATE `" . PREFIX . "_users` SET user_friends_num = user_friends_num-1 WHERE user_id = '{$delet_user_id}'"); //Чистим кеш владельцу стр и тому кого удаляем из др. mozg_clear_cache_file('user_' . $user_id . '/profile_' . $user_id); mozg_clear_cache_file('user_' . $delet_user_id . '/profile_' . $delet_user_id); //Удаляем пользователя из кеш файл друзей $openMyList = mozg_cache("user_{$user_id}/friends"); mozg_create_cache("user_{$user_id}/friends", str_replace("u{$delet_user_id}|", "", $openMyList)); $openTakeList = mozg_cache("user_{$delet_user_id}/friends"); mozg_create_cache("user_{$delet_user_id}/friends", str_replace("u{$user_id}|", "", $openTakeList)); } else { echo 'no_friend'; } die; break; //################### Страница заявок в друзья ###################// //################### Страница заявок в друзья ###################// case "requests": $user_id = $user_info['user_id']; if ($user_info['user_friends_demands']) { $user_speedbar = $user_info['user_friends_demands'] . ' ' . gram_record($user_info['user_friends_demands'], 'friends_demands'); } else { $user_speedbar = $lang['no_requests']; } //Верх
if ($owner['user_gifts']) { $tpl->set('[yes]', ''); $tpl->set('[/yes]', ''); $tpl->set_block("'\\[no\\](.*?)\\[/no\\]'si", ""); } else { $tpl->set('[no]', ''); $tpl->set('[/no]', ''); $tpl->set_block("'\\[yes\\](.*?)\\[/yes\\]'si", ""); } if ($_GET['new'] and $user_id == $uid) { $tpl->set('[new]', ''); $tpl->set('[/new]', ''); $tpl->set_block("'\\[no-new\\](.*?)\\[/no-new\\]'si", ""); $sql_where = "AND status = 1"; $gcount = 50; mozg_create_cache("user_{$user_id}/new_gift", ''); } else { $tpl->set('[no-new]', ''); $tpl->set('[/no-new]', ''); $tpl->set_block("'\\[new\\](.*?)\\[/new\\]'si", ""); } $tpl->compile('info'); if ($owner['user_gifts']) { $sql_ = $db->super_query("SELECT tb1.gid, gift, from_uid, msg, gdate, privacy, tb2.user_search_pref, user_photo, user_last_visit FROM `" . PREFIX . "_gifts` tb1, `" . PREFIX . "_users` tb2 WHERE tb1.uid = '{$uid}' AND tb1.from_uid = tb2.user_id {$sql_where} ORDER by `gdate` DESC LIMIT {$limit_page}, {$gcount}", 1); $tpl->load_template('gifts/gift.tpl'); foreach ($sql_ as $row) { $tpl->set('{id}', $row['gid']); $tpl->set('{uid}', $row['from_uid']); if ($row['privacy'] == 1 or $user_id == $row['from_uid'] or $user_id == $uid and $row['privacy'] != 3) { $tpl->set('{author}', $row['user_search_pref']); $tpl->set('{msg}', stripslashes($row['msg']));