Файл: CMS/core/modules/users_bookmarks.php
Строк: 126
<?php
if (!defined('CMS')) { die('Access Denied!'); }
$data = $db->selectRow("SELECT * FROM ?_users WHERE LOWER(`users_login`) = ? LIMIT 1;", cms_tolower($uz));
if (empty($data) || !is_array($data)) {
$inSes->addMessage('Ошибка! Пользователь с данным логином не найден!');
redirect($config['site_url']);
}
if ($data['users_ban'] == 1) {
$inSes->addMessage('Ошибка! Пользователь заблокирован!');
redirect($config['site_url']);
}
if ($config['allow_regkeys'] > 0 && $data['users_confirmreg'] > 0) {
$inSes->addMessage('Ошибка! Пользователя не существует!');
redirect($config['site_url']);
}
$nickname = nickname($data['users_login']);
if ($is_logged && $data['users_login'] == $log) {
if (!empty($_POST['cancel'])) {
gen_red('bookmarks', '', RND);
}
if (!empty($_POST['submit'])) {
$uri = !empty($_POST['uri']) ? check($_POST['uri']) : '';
$note = !empty($_POST['note']) ? check($_POST['note']) : '';
$name = !empty($_POST['title']) ? check($_POST['title']) : '';
$type = !empty($_POST['type']) ? 1 : 0;
if (!empty($uri) && !empty($name)) {
$uri = explode('?', $uri);
$uri = $uri[0];
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (cms_strlen($note) < 256) {
$is_book = (int) $db->selectCell("SELECT 1 FROM ?_users_bookmarks WHERE `book_user` = ? AND `book_path` = ? LIMIT 1;", $log, $uri);
if ($is_book < 1) {
$db->query("INSERT INTO ?_users_bookmarks SET `book_user` = ?, `book_title` = ?, `book_note` = ?, `book_path` = ?, `book_type` = ?, `book_time` = ?", $log, $name, $note, $uri, $type, SITE_TIME);
$inSes->addMessage('Ваша закладка успешно сохранена!', 'ok');
gen_red('bookmarks', '', RND);
}
else $inSes->addMessage('Ошибка! Такая закладка уже есть у Вас!');
}
else $inSes->addMessage('Ошибка! Слишком длинная заметка!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
else $inSes->addMessage('Ошибка! URL или заголовок не найден!');
}
if (!empty($_POST['del'])) {
$del = intar($_POST['del']);
if (!empty($_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {
if (!empty($del)) {
if (is_array($del)) {
$del = implode(',', $del);
$db->query("DELETE FROM ?_users_bookmarks WHERE `book_id` IN (" . $del . ") AND `book_user` = ?;", $log);
}
else {
$db->query("DELETE FROM ?_users_bookmarks WHERE `book_id` = ? AND `book_user` = ?;", $del, $log);
}
$db->query("OPTIMIZE TABLE ?_users_bookmarks");
$inSes->addMessage('Выбранные закладки успешно удалены из закладок :)', 'ok');
gen_red('bookmarks', '', RND);
}
else $inSes->addMessage('Ошибка! Не выбраны закладки для удаления!');
}
else $inSes->addMessage('Ошибка! Неверный идентификатор сессии, повторите действие!');
}
}
if (!empty($id)) {
if ($is_logged && $data['users_login'] == $log) {
$row = $db->selectRow("SELECT * FROM ?_users_bookmarks
WHERE `book_user` = ? AND `book_id` = ? LIMIT 1", $log, $id);
if (!empty($row)) {
if (!empty($_POST['edit'])) {
$note = !empty($_POST['note']) ? check($_POST['note']) : '';
$type = !empty($_POST['type']) ? 1 : 0;
if (cms_strlen($note) < 256) {
$db->query("UPDATE ?_users_bookmarks SET `book_type` = ?, `book_note` = ?
WHERE `book_user` = ? AND `book_id` = ?", $type, $note, $log, $id);
$inSes->addMessage('Закладка успешно изменена!', 'ok');
gen_red('bookmarks', '', RND);
}
else $inSes->addMessage('Ошибка! Слишком длинная заметка!');
}
show_header('Моя закладка - ' . $row['book_title']);
$form = new cmsForm(gen_uri('bookmarks', $id, 'rnd=' . $_SESSION['token']), 'post', ' id="bookmarks"');
$form->addCode('<b>Изменение закладки: <a href="' . $row['book_path'] . '">' . $row['book_title'] . '</a></b><br />');
$form->addRadio('Закладка видна:', 'type', $row['book_type'], array('0' => 'Всем', '1' => 'Только мне'));
$form->addTextarea('Заметка (max 250):', 'note', $row['book_note']);
echo $form->Submit(array('Изменить','Отмена'), array('edit','cancel'));
unset($form);
}
else {
$inSes->addMessage('Произошла Ошибка! Закладка не найдена!');
gen_red('bookmarks', '', RND);
}
}
else {
gen_red('bookmarks', '', RND);
}
}
else {
$onpage = !empty($config['user_list']) ? num($config['user_list']) : 10;
if ($page > 1) $from = ($page - 1) * $onpage; else $from = 0;
if ($is_logged && $data['users_login'] == $log) {
$rows = $db->selectPage($total, "SELECT * FROM ?_users_bookmarks WHERE `book_user` = ?
ORDER BY `book_time` DESC LIMIT ?d, ?d", $uz, $from, $onpage);
show_header('Мои закладки ' . $total);
}
else {
$rows = $db->selectPage($total, "SELECT * FROM ?_users_bookmarks WHERE `book_user` = ? AND `book_type` = '0'
ORDER BY `book_time` DESC LIMIT ?d, ?d", $uz, $from, $onpage);
show_header('Закладки пользователя ' . $nickname);
}
if (!empty($rows) && $total > 0) {
if ($is_logged && $data['users_login'] == $log) {
echo '<form action="?rnd=' . $_SESSION['token'] . '" method="post" name="bookmarks">';
}
$i = $from + 1;
foreach($rows as $row) {
if ( @file_exists( ROOTPATH . '/images/present/' . $row['file'] ) ) {
echo '<div class="b">';
if ($is_logged && $data['users_login'] == $log) {
$priv = ($row['book_type'] == 1) ? ' / ' . blink('Скрыта от всех') : '';
echo '<input type="checkbox" name="del[]" value="' . $row['book_id'] . '" /> ';
echo '<a href="' . $row['book_path'] . '">' . $row['book_title'] . '</a> (' . get_date($row['book_time']) . $priv . ')<br />';
if (!empty($row['book_note'])) echo nl2br(bb_code($row['book_note']));
echo '<br />' . icon('report_edit.png', 'icons');
echo '<a href="' . gen_uri('bookmarks', $row['book_id'], RND) . '">Редактировать</a><br />';
}
else {
echo $i++ . '. <a href="' . $row['book_path'] . '">' . $row['book_title'] . '</a> ' . get_date($row['book_time']) . '<br />';
if (!empty($row['book_note'])) echo nl2br(bb_code($row['book_note']));
}
echo '</div>';
}
}
if ($is_logged && $data['users_login'] == $log) {
echo '<div class="b">';
echo '<input type="checkbox" name="master_box" title="Отметить всё" onclick="javascript:ckeck_uncheck_all()">';
echo '<input type="submit" class="btns" value="Удалить выбранное" /></form></div>';
echo <<<JSCRIPT
<script language='JavaScript' type="text/javascript">
<!--
function ckeck_uncheck_all() {
var frm = document.bookmarks;
if(frm.master_box.checked == true){ frm.master_box.checked = false; }
else{ frm.master_box.checked = true; }
for (var i=0;i<frm.elements.length;i++) {
var elmnt = frm.elements[i];
if (elmnt.type=='checkbox') {
if(frm.master_box.checked == true){ elmnt.checked=false; }
else{ elmnt.checked=true; }
}
}
}
-->
</script>
JSCRIPT;
}
echo show_pages('bookmarks', '', 'p');
}
else show_error('Закладок пока нет!');
echo '<div class="b">' . icon('return.png');
echo '<a href="' . gen_users($data['users_login'], 'index', '', RND) . '">Назад</a><br /></div>';
}
?>