break; } $cols[] = $col; $col = array(); } if ($_POST['tabletype'] != 'default') { $query['type'] = $_POST['tabletype']; } $query['comment'] = $_POST['comment']; $query['cols'] = $cols; if ($action == 'savetable') { System::database()->CreateTable($table, $query); Audit('Управление БД: Создание таблицы "' . $table . '"'); GO(ADMIN_FILE . '?exe=dbadmin'); } elseif ($action == 'editsavetable') { $info = System::database()->GetTableInfo($table); $info = $info[0]; System::database()->SetTableComment($table, $query['comment']); if (System::database()->Name == 'FilesDB') { System::database()->SetTableAutoIncrementIndex($table, $increment_index); } if (isset($query['type']) && strtoupper($info['type']) != strtoupper($query['type'])) { System::database()->SetTableType($table, $query['type']); } foreach ($query['cols'] as $i => $col) { System::database()->EditColl($table, $i, $col); } Audit('Управление БД: Редактирование структуры таблицы "' . $table . '"'); GO(ADMIN_FILE . '?exe=dbadmin&a=structure&name=' . SafeEnv($_POST['tablename'], 250, str)); } GO(ADMIN_FILE . '?exe=dbadmin');
public function DeletePost($post_id = null, $first = true) { if ($post_id == null) { if (isset($_GET['post_id'])) { $post_id = $_GET['post_id']; } } if ($post_id != null) { System::database()->Select($this->PostsTable, "`id`='{$post_id}'"); $post = System::database()->FetchRow(); } else { $text = 'post_id нигде не инициализирована.'; System::site()->AddTextBox('Ошибка.', '<p align="center">' . $text . '</p>'); return 0; } if ($first) { if (System::user()->Auth) { $editing = System::user()->Get('u_id') == $post['user_id'] || System::user()->isAdmin(); } else { $editing = $post['user_id'] == '0' && $post['user_ip'] == getip(); } if (!$editing) { $text = 'У вас недостаточно прав для удаления этого сообщения.'; System::site()->AddTextBox('Ошибка.', '<p align="center">' . $text . '</p>'); return 0; } } if (!$first || isset($_GET['ok'])) { $del_count = 1; $parent_posts = System::database()->Select($this->PostsTable, "`post_parent_id`='{$post_id}'"); foreach ($parent_posts as $post) { $del_count += $this->DeletePost(SafeDB($post['id'], 11, int), false); } System::database()->Delete($this->PostsTable, "`id`='{$post_id}'"); if (System::user()->isAdmin()) { Audit('Posts: Удаление комментария "' . $this->PostsTable . '"/"' . "(user: {$post['user_name']}, object_id: {$post['object_id']})" . '"'); } return $del_count; } else { $text = '<br />Удалить сообщение?<br /><br />' . '<a href="' . $this->DeletePageUrl . '&post_id=' . $post_id . '&ok=1">Да</a> <a href="javascript:history.go(-1)">Нет</a><br /><br />'; System::site()->AddTextBox('', '<p align="center">' . $text . '</p>'); return 0; } }
exit; } $table = SafeEnv($_GET['name'], 255, str); $index = SafeEnv($_GET['index'], 255, int); $where = ''; $where_url = ''; if (isset($_GET['where'])) { $where = $_GET['where']; $where_url = '&where=' . $_GET['where']; } $rows = System::database()->Select($table, $where); $row = $rows[$index]; $columns = System::database()->GetTableColumns($table); $names = array(); foreach ($columns as $col) { $names[$col['name']] = $row[$col['name']]; } $sql = ''; foreach ($row as $key => $value) { if (isset($names[$key])) { $sql .= "`" . $key . "`='" . System::database()->EscapeString($value) . "' and "; } } $sql = substr($sql, 0, strlen($sql) - 4); System::database()->Delete($table, $sql); Audit('Управление БД: Удаление строки из таблицы "' . $table . '"'); if (isset($_REQUEST['back'])) { GoRefererUrl($_REQUEST['back']); } else { GO(ADMIN_FILE . '?exe=dbadmin&a=review&name=' . SafeDB($_GET['name'], 255, str) . $where_url); }
<?php /* * LinkorCMS 1.4 * © 2012 LinkorCMS Development Group */ if (!defined('VALID_RUN')) { header("HTTP/1.1 404 Not Found"); exit; } if (isset($_POST['newname'])) { System::database()->RenameTable(SafeEnv($_GET['name'], 255, str), SafeEnv($_POST['newname'], 255, str)); Audit('Управление БД: Переименование таблицы "' . $_GET['name'] . '" в "' . $_POST['newname'] . '"'); GO(ADMIN_FILE . '?exe=dbadmin'); } else { AddCenterBox('Переименовать таблицу "' . SafeDB($_GET['name'], 255, str) . '"'); FormRow('Новое имя', $site->Edit('newname', SafeDB($_GET['name'], 255, str), false, 'style="width: 210px;" class="autofocus"')); AddForm('<form action="' . ADMIN_FILE . '?exe=dbadmin&a=renametable&name=' . SafeEnv($_GET['name'], 255, str) . '" method="post">', $site->Button('Отмена', 'onclick="history.go(-1);"') . $site->Submit('Переименовать')); }
function AdminConfigGroupDelete() { $back_url = ''; if (!AdminConfigPlugins()) { $back_url = ADMIN_FILE . '?exe=config_admin&a=view_groups&delok'; } else { $back_url = ADMIN_FILE . '?exe=config_admin&a=view_groups_plugins&plugins=1&delok'; } if (!isset($_GET['id'])) { GO($back_url); } else { $id = SafeEnv($_GET['id'], 11, int); } if (isset($_GET['ok']) && $_GET['ok'] == '1' || IsAjax()) { System::database()->Select(AdminConfigGroupTable(), "`id`='{$id}'"); $conf = System::database()->FetchRow(); System::database()->Delete(AdminConfigGroupTable(), "`id`='{$id}'"); System::database()->Delete(AdminConfigConfigTable(), "`group_id`='{$id}'"); Audit('Управление настройками: Удаление группы настроек "' . $conf['hname'] . '(' . $conf['name'] . ')" в "' . AdminConfigGroupTable() . '"'); GO($back_url); } else { $r = System::database()->Select(AdminConfigGroupTable(), "`id`='{$id}'"); AddCenterBox('Удаление группы навтроек'); System::admin()->HighlightConfirm('Это может повлиять на работу системы. Нажмите отмена, если не уверены. Удалить группу настроек "' . SafeDB($r[0]['hname'], 255, str) . '"?', ADMIN_FILE . '?exe=config_admin&a=delete&id=' . $id . '&ok=1' . (AdminConfigPlugins() ? '&plugins=1' : '')); } }
/** * Удаление категории * @param $Id * @return bool */ public function DeleteCat($Id) { $cat = System::database()->SelectOne($this->Table, "`id`='{$Id}'"); $childs = $this->GetAllChildId($Id); for ($i = 0, $c = count($childs); $i < $c; $i++) { System::database()->Delete($this->obj_table, "`{$this->obj_cat_coll}`='" . $childs[$i] . "'"); System::database()->Delete($this->Table, "`id`='" . $childs[$i] . "'"); } Audit('Категории: Удаление категории "' . $this->Table . '"/"' . $cat['title'] . '"'); $this->CalcCatCounter($cat['parent'], false); System::cache()->Delete('tree', $this->Table); return true; }
function AdminNewsTopicsDelete() { global $news_access_edittopics; if (!isset($_GET['id']) || !$news_access_edittopics) { exit('ERROR'); } $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('news_topics', "`id`='{$id}'"); $topic = System::database()->FetchRow(); $newsdb = System::database()->Select('news', "`topic_id`='{$id}'"); foreach ($newsdb as $news) { System::database()->Delete('news_comments', '`object`=\'' . SafeEnv($news['id'], 11, int) . '\''); } System::database()->Delete('news', "`topic_id`='{$id}'"); System::database()->Delete('news_topics', "`id`='{$id}'"); AdminNewsClearBlockCache(); Audit('Новости: Удаление новостного раздела "' . $topic['title'] . '"'); exit('OK'); }
function AdminAuditClearReferers() { System::database()->Delete('referers', ''); Audit('Аудит: Очистка лога рефералов'); GO(ADMIN_FILE . '?exe=audit&a=referers'); }
function AdminSmiliesDeleteFile() { global $smilies_dir, $mod; $name = $_GET['name']; unlink(RealPath2($smilies_dir . $name)); Audit('Смайлики: Удаление файла смайлика ' . $smilies_dir . $name); GO($mod . '&a=auto'); }
foreach ($columns as $col) { $values .= ",'" . SafeEnv($_POST[$col['name']], 0, str) . "'"; } $values = substr($values, 1); if ($action == 'insertsave') { // Добавление записи $db->Insert($table_name, $values); } elseif ($action == 'editsave') { // Редактирование $index = SafeEnv($_GET['index'], 255, int); $where = ''; if (isset($_GET['where'])) { $where = $_GET['where']; } $rows = $db->Select($table_name, $where); $old_values = $rows[$index]; // Старые значения unset($rows); $where = ''; foreach ($old_values as $key => $value) { $where .= "`" . $key . "`='" . SafeEnv($value, 0, str, false, true, false) . "' and "; } $where = substr($where, 0, -4); $db->Update($table_name, $values, $where, true); Audit('Управление БД: Удаление строки в таблице "' . $table_name . '"'); } if (isset($_REQUEST['back'])) { GoRefererUrl($_REQUEST['back']); } else { GO(ADMIN_FILE . '?exe=dbadmin&a=review&name=' . SafeDB($_GET['name'], 255, str)); }
<?php /* * LinkorCMS 1.4 * © 2012 LinkorCMS Development Group */ // Оптимизация всех таблиц БД AddCenterBox('Оптимизация'); if (System::database()->Name != 'MySQL') { System::admin()->HighlightError('Только MySQL базы данных.'); return; } $iferrors = false; $tables = System::database()->GetTableInfo(); System::database()->MySQLQuery('LOCK TABLES'); foreach ($tables as $table) { $table = System::database()->Prefix() . $table['name']; if (System::database()->MySQLQuery('OPTIMIZE TABLE `' . $table . '`') == false) { System::admin()->HighlightError(System::database()->MySQLGetErrMsg() . ' (' . $table . ')'); $iferrors = true; } } Audit('Управление БД: Оптимизация'); System::database()->MySQLQuery('UNLOCK TABLES'); if ($iferrors) { System::admin()->Highlight('Произошли ошибки при оптимизации некоторых таблиц.'); } else { System::admin()->Highlight('Все таблицы успешно оптимизированы.'); }
function AdminForumBasketRestore() { ForumLoadFunction('restore_basket'); if (isset($_GET['forum_basket_post'])) { IndexForumRestoreBasketPost(SafeEnv($_GET['forum_basket_post'], 11, int)); Audit('Форум: Восстановление сообщения из корзины'); } elseif (isset($_GET['forum_basket_topics'])) { IndexForumRestoreBasketTopic(SafeEnv($_GET['forum_basket_topics'], 11, int)); Audit('Форум: Восстановление темы из корзины'); } }
function AdminFormsCheckAll() { if (!isset($_GET['id'])) { GO(ADMIN_FILE . '?exe=forms'); } $form_id = SafeEnv($_GET['id'], 11, int); System::database()->Select('forms', "`id`='{$form_id}'"); $form = System::database()->FetchRow(); System::database()->Update('forms_data', "moderated='1'", "`form_id`='{$form_id}'"); System::database()->Update('forms', "new_answ='0'", "`id`='{$form_id}'"); Audit('Web-формы: Отметить все данные как прочитанные для формы "' . $form['hname'] . '"'); GO(ADMIN_FILE . '?exe=forms'); }
<?php /* * LinkorCMS 1.4 * © 2012 LinkorCMS Development Group */ if (!defined('VALID_RUN')) { header("HTTP/1.1 404 Not Found"); exit; } if (isset($_GET['ok'])) { $ok = $_GET['ok']; } else { $ok = false; } if ($ok) { System::database()->Truncate(SafeEnv($_GET['name'], 255, str)); Audit('Управление БД: Очистка таблицы "' . $_GET['name'] . '"'); GO(ADMIN_FILE . '?exe=dbadmin&a=review&name=' . SafeDB($_GET['name'], 255, str)); } else { $name = SafeDB($_GET['name'], 255, str); AddCenterBox('Очистка таблицы'); System::admin()->HighlightConfirm('Вы действительно хотите очистить таблицу "' . $name . '" от записей?', ADMIN_FILE . '?exe=dbadmin&a=truncatetable&name=' . $name . '&ok=1'); AdminFdbAdminGenTableMenu($name); }
function AdminUserDeleteAvatar() { if (isset($_GET['personal'])) { $dir = System::config('general/personal_avatars_dir'); $personal = true; } else { $dir = System::config('general/avatars_dir'); $personal = false; } $avatar = SafeEnv($_GET['filename'], 250, str); $filename = RealPath2($dir . $avatar); if (file_exists($filename) && is_file($filename)) { unlink($filename); } if ($personal) { System::database()->Update('users', "`a_personal`='0',`avatar`=''", "`a_personal`='1' and `avatar`='{$avatar}'"); } Audit('Пользователи: Удаление аватара "' . $filename . '"'); GO(ADMIN_FILE . '?exe=user&a=avatars'); }
function AdminAdminMenuChangeStatus() { System::database()->Select('adminmenu', "`id`='" . SafeEnv($_GET['id'], 11, int) . "'"); $item = System::database()->FetchRow(); if ($item['enabled'] == 1) { $en = '0'; } else { $en = '1'; } System::database()->Update('adminmenu', "enabled='{$en}'", "`id`='" . SafeEnv($_GET['id'], 11, int) . "'"); Audit('Админ-меню: Изменение статуса элемента "' . $item['title'] . '"'); echo 'OK'; exit; }
function AdminArticlesResetRating() { global $editarticles; if (!$editarticles) { System::admin()->AccessDenied(); } $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('articles', "`id`='{$id}'"); $r = System::database()->FetchRow(); System::database()->Update('articles', "num_votes='0',all_votes='0'", "`id`='{$id}'"); Audit('Статьи: Сброс рейтинга для "' . $r['title'] . '"'); GoRefererUrl($_REQUEST['back']); }
*/ define('ADMIN_SCRIPT', true); define('VALID_RUN', true); require 'config/init.php'; // Конфигурация и инициализация // Проверка пользователя if (!($userAuth === 1 && $userAccess === 1 && System::user()->AllowCookie(System::user()->AdminCookieName, true))) { if (isset($_POST['admin_login'])) { // Проверка логина и пароля $admin_name = $_POST['admin_name']; $admin_password = $_POST['admin_password']; $admin_template = $_POST['admin_template']; $a = System::user()->Login($admin_name, $admin_password, false, true); if ($a === true && System::user()->SecondLoginAdmin) { System::user()->Data('admin_template', $admin_template); Audit('Вход в админ-панель'); } else { System::user()->UnsetCookie(System::user()->AdminCookieName); System::admin()->Login('Неверный логин или пароль.'); // exit } } else { // Форма авторизации if (IsAjax()) { exit(JsonEncode(array('auth' => GetPageUri(true)))); } System::admin()->Login(); // exit } } System::admin()->InitPage();
function AdminGalleryResetRating() { global $edit_images; if (!$edit_images) { System::admin()->AccessDenied(); } $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('gallery', "`id`='{$id}'"); $img = System::database()->FetchRow(); System::database()->Update('gallery', "`num_votes`='0',`sum_votes`='0'", "`id`='{$id}'"); Audit('Фотогалерея: Сброс рейтинга для изображения "' . $img['title'] . '" (id: ' . $img['id'] . ')'); GoRefererUrl($_REQUEST['back']); }
function AdminGuestBookDeleteAnswer() { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('guestbook', "`id`='" . $id . "'"); if (System::database()->NumRows() > 0) { $msg = System::database()->FetchRow(); if ($msg['answers'] == '') { $answers = array(); } else { $answers = unserialize($msg['answers']); } if (isset($answers[System::user()->Name()])) { unset($answers[System::user()->Name()]); } $answers = serialize($answers); System::database()->Update('guestbook', "answers='{$answers}'", "`id`='" . $id . "'"); Audit('Гостевая книга: Удаление ответа'); } if (isset($_GET['back'])) { GoRefererUrl($_GET['back']); } else { GO(ADMIN_FILE . '?exe=guestbook'); } }
function AdminsDeleteGroup() { if (!isset($_GET['id'])) { GO(ADMIN_FILE . '?exe=admins&a=groups'); exit; } $id = SafeEnv($_GET['id'], 11, int); if (isset($_GET['ok']) && SafeEnv($_GET['ok'], 1, int) == '1') { // Очищаем кэш if (System::cache()->HasCache(system_cache, 'usertypes')) { System::cache()->Delete(system_cache, 'usertypes'); } System::database()->Select('users', "`access`='" . $id . "'"); $num_users = System::database()->NumRows(); System::database()->Select('usertypes', "`id`='{$id}'"); $group = System::database()->FetchRow(); if ($num_users > 0) { if (!isset($_GET['users'])) { $text = 'К этой группе принадлежат ' . $num_users . ' пользователей. Вы можете:<br />' . '<a href="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . $id . '&ok=1&users=del">Удалить их...</a> <br />' . '<a href="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . SafeEnv($_GET['id'], 11, int) . '&ok=1&users=move">Переместить их в другую группу.</a>'; AddTextBox('Внимание!', $text); } else { if ($_GET['users'] == 'del') { System::database()->Delete('users', "`access`='" . $id . "'"); } elseif ($_GET['users'] == 'move' && !isset($_POST['to'])) { $text = 'Выберите группу, в которую Вы желаете переместить пользователей:<br />' . '<form action="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . $id . '&ok=1&users=move" method="post">'; System::database()->Select('usertypes', "`id`<>'" . $id . "'"); System::site()->DataAdd($group_data, '-1', 'Пользователи'); while ($tp = System::database()->FetchRow()) { System::site()->DataAdd($group_data, $tp['id'], $tp['name']); } $text .= System::site()->Select('to', $group_data) . '<br />'; $text .= System::site()->Submit('Продолжить') . '<br />'; $text .= '</form>'; AddTextBox('Внимание!', $text); return; } elseif ($_GET['users'] == 'move' && isset($_POST['to'])) { $to = SafeEnv($_POST['to'], 11, int); if ($to == '-1') { $set = "type='2',access='" . $to . "'"; } else { $set = "access='" . $to . "'"; } System::database()->Update('users', $set, "`access`='" . $id . "'"); } } } System::database()->Delete('usertypes', "`id`='" . $id . "'"); Audit('Администраторы: Удаление группы администраторов "' . $group['name'] . '"'); GO(ADMIN_FILE . '?exe=admins&a=groups'); } else { System::database()->Select('usertypes', "`id`='" . $id . "'"); $group = System::database()->FetchRow(); $text = 'Вы действительно хотите удалить группу "' . SafeDB($group['name'], 255, str) . '"?<br />' . '<a href="' . ADMIN_FILE . '?exe=admins&a=delgroup&id=' . $id . '&ok=1">Да</a> <a href="javascript:history.go(-1)">Нет</a>'; AddTextBox("Предупреждение", $text); } }
<?php /* * LinkorCMS 1.4 * © 2012 LinkorCMS Development Group */ // Удаление резервной копии $name = RealPath2(System::config('backup_dir') . $_GET['name']); unlink($name); Audit('Управление БД: Удалена резервная копия ' . $name); GO(ADMIN_FILE . '?exe=dbadmin&a=backups');
<?php /* * LinkorCMS 1.4 * © 2012 LinkorCMS Development Group */ // Восстановление БД из резервной копии $name = RealPath2(System::config('backup_dir') . $_GET['name']); if (isset($_GET['table'])) { $table = $_GET['table']; System::admin()->AddCenterBox('Восстановление таблицы "' . $table . '"'); $table = System::database()->Prefix() . $table; } else { $table = ''; System::admin()->AddCenterBox('Восстановление базы данных'); } $restore_r = System::database()->RestoreBackupFile($name, $table); if ($restore_r == 3) { System::admin()->HighlightError('Ошибка. Неверный формат файла, либо это бекап другого типа Базы данных.'); } elseif ($restore_r == 2) { System::admin()->Highlight('Произошли ошибки при восстановлении некоторых таблиц.'); } else { if ($table == '') { System::admin()->Highlight('База данных успешно восстановлена из резервной копии.'); Audit('Управление БД: База данных восстановлена из резервной копии "' . $name . '"'); } else { System::admin()->Highlight('Таблица "' . $table . '" успешно восстановлена из резервной копии.'); Audit('Управление БД: Таблица "' . $table . '" восстановлена из резервной копии "' . $name . '"'); } }
function AdminMailDeleteEmail() { $email = SafeEnv($_GET['email'], 50, str); $topic_id = SafeEnv($_GET['topic_id'], 11, int); System::database()->Select('mail_topics', "`id`='{$topic_id}'"); $topic = System::database()->FetchRow(); System::database()->Delete('mail_list', "`topic_id`='{$topic_id}' and `email`='{$email}'"); Audit('Рассылки: Удаление адреса ' . $email . ' в список рассылки темы "' . $topic['title'] . '"'); CalcListCounter(SafeEnv($_GET['topic_id'], 11, int), false); GO(ADMIN_FILE . '?exe=mail&a=list&topic_id=' . SafeEnv($_GET['topic_id'], 11, int)); }
function AdminBlocksMove() { $move = SafeEnv($_GET['to'], 4, str); $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('blocks', "`id`='" . $id . "'"); if (System::database()->NumRows() > 0) { $block = System::database()->FetchRow(); $pos = SafeDB($block['place'], 255, str); $blocks = System::database()->Select('blocks', "`position`='" . SafeDB($block['position'], 1, str) . "'"); usort($blocks, 'AdminBlocksSort'); $c = count($blocks); $cur_pos = 0; for ($i = 0; $i < $c; $i++) { $blocks[$i]['place'] = $i; if ($blocks[$i]['id'] == $id) { $cur_pos = $i; } } //Индекс перемещения $rep_pos = $cur_pos; if ($move == 'up') { $rep_pos = $cur_pos - 1; } elseif ($move == 'down') { $rep_pos = $cur_pos + 1; } else { $rep_pos = $cur_pos; } if ($rep_pos < 0 || $rep_pos >= $c) { $rep_pos = $cur_pos; } $temp = intval($blocks[$cur_pos]['place']); $blocks[$cur_pos]['place'] = intval($blocks[$rep_pos]['place']); $blocks[$rep_pos]['place'] = intval($temp); //Обновляем данные for ($i = 0; $i < $c; $i++) { System::database()->Update('blocks', "place='" . SafeDB($blocks[$i]['place'], 11, int) . "'", "`id`='" . SafeDB($blocks[$i]['id'], 11, int) . "'"); } } Audit('Блока: Перемещение блока ' . ($move == 'up' ? 'вверх' : 'вниз') . ' "' . $block['title'] . '"'); GO(ADMIN_FILE . '?exe=blocks'); }
function AdminCacheCleanup() { System::cache()->ClearAll(); Audit('Управление кэшем: Полная очистка кэша'); AdminCacheMain(); }
function AdminExtensionsConfigSave() { $post = SafeR('view', 255, str) + SafeR('name, theme', 255, str) + SafeR('enabled', 3, onoff); $post['view'] = ViewLevelToInt($post['view']); System::database()->Update('modules', MakeSet($post), "`folder`='" . SafeEnv($_GET['name'], 255, str) . "'"); Audit('Расширения: Изменение настроек модуля "' . $_GET['name'] . '"'); GO(ADMIN_FILE . '?exe=extensions'); }
function AdminCommentsDelete() { if (!isset($_POST['delcomments'])) { GO(ADMIN_FILE . '?exe=comments'); } if (isset($_GET['page'])) { $page = SafeEnv($_GET['page'], 10, int); } else { $page = 1; } $com_tables = System::database()->Select('comments'); foreach ($com_tables as $table) { $comments_tables[$table['table']] = $table; } $posts_tables = array(); $del_posts = explode('#', $_POST['delcomments']); foreach ($del_posts as $post) { if ($post != '') { $a = explode('--', $post); $posts_tables[$a[1]][] = array($a[0], $a[2]); } } // Удаляем комментарии для каждой таблицы отдельно foreach ($posts_tables as $post_table => $posts_id) { $where = ''; foreach ($posts_id as $p) { $post_id = SafeEnv($p[0], 11, int); $obj_id = SafeEnv($p[1], 11, int); $where .= "`id`='{$post_id}' or "; $t = $comments_tables[$post_table]; CalcCounter($t['objects_table'], "`{$t['id_coll']}`='{$obj_id}'", $t['counter_coll'], -1); } $where = substr($where, 0, strlen($where) - 4); System::database()->Delete($post_table, $where); Audit('Комментарии: Удаление комментариев (table: ' . $post_table . ', where: ' . $where . ')'); } GO(ADMIN_FILE . '?exe=comments&page=' . $page); }
* LinkorCMS 1.4 * © 2012 LinkorCMS Development Group */ if (System::database()->Name != 'MySQL') { echo "Только базы данных с поддержкой SQL."; exit; } if (isset($_POST['code'])) { $sql = Utf8ToCp1251($_POST['code']); } else { echo "Code is Empty"; exit; } $result = ''; $sql = explode(";", $sql); foreach ($sql as $query) { if (trim($query) == '') { continue; } $qr = System::database()->MySQLQueryResult($query); Audit('Управление БД: Perform SQL:' . "\n" . $query); if ($qr === false) { echo System::database()->MySQLGetErrNo() . ': ' . System::database()->MySQLGetErrMsg() . "\n"; } elseif (count($qr) > 0) { print_r($qr); echo "\n"; } else { echo "Запрос успешно выполнен."; } } exit;
function AdminCodetesterSave($action) { $snippet = SafeR('title,type', 255, str) + SafeR('code', 0, str); ObjectUtf8ToCp1251($snippet); if ($action == 'save' && (isset($_POST['id']) && $_POST['id'] != 0)) { // Редактирование $id = SafeEnv($_POST['id'], 11, int); System::database()->Update('snippets', MakeSet($snippet), "`id`='{$id}'"); Audit('Тестирование кода: Изменение сниппета "' . $snippet['title'] . '"'); echo JsonEncode(array('id' => $id)); } else { // Добавить новый снипет System::database()->Insert('snippets', MakeValues("'','title','code','type'", $snippet)); Audit('Тестирование кода: Добавление сниппета "' . $snippet['title'] . '"'); echo JsonEncode(array('id' => System::database()->GetLastId())); } exit; }