/** * Главная страница, список новостей * @return void */ function AdminNewsMain() { global $news_access_editnews; System::admin()->AddSubTitle('Главная'); $back = SaveRefererUrl(); // Количество новостей на странице if (isset($_REQUEST['onpage'])) { $num = intval($_REQUEST['onpage']); } else { $num = System::config('news/newsonpage'); } if (isset($_REQUEST['page'])) { $page = intval($_REQUEST['page']); } else { $page = 1; } $newsdb = System::database()->Select('news'); $columns = array('title', 'date', 'hit_counter', 'comments_counter', 'view', 'enabled'); $sortby = 'date'; $sortbyid = 1; $desc = true; if (isset($_REQUEST['sortby'])) { $sortby = $columns[$_REQUEST['sortby']]; $sortbyid = intval($_REQUEST['sortby']); $desc = $_REQUEST['desc'] == '1'; } SortArray($newsdb, $sortby, $desc); // Выводим новости UseScript('jquery_ui_table'); $table = new jQueryUiTable(); $table->listing = ADMIN_FILE . '?exe=news&ajax'; $table->del = ADMIN_FILE . '?exe=news&a=delete'; $table->total = count($newsdb); $table->onpage = $num; $table->page = $page; $table->sortby = $sortbyid; $table->sortdesc = $desc; $table->AddColumn('Заголовок'); $table->AddColumn('Дата', 'left', true, true); $table->AddColumn('Просмотров', 'right'); $table->AddColumn('Комментарий', 'right'); $table->AddColumn('Кто видит', 'center'); $table->AddColumn('Статус', 'center'); $table->AddColumn('Функции', 'center', false, true); $newsdb = ArrayPage($newsdb, $num, $page); // Берем только новости с текущей страницы foreach ($newsdb as $news) { $id = SafeDB($news['id'], 11, int); $status = System::admin()->SpeedStatus('Выключить', 'Включить', ADMIN_FILE . '?exe=news&a=changestatus&id=' . $id, $news['enabled'], 'images/bullet_green.png', 'images/bullet_red.png'); $view = ViewLevelToStr(SafeDB($news['view'], 1, int)); $allowComments = SafeDB($news['allow_comments'], 1, bool); $comments = SafeDB($news['comments_counter'], 11, int); // Количество комментарий $title = SafeDB($news['title'], 255, str); $func = ''; $link_go = Ufu('index.php?name=news&op=readfull&news=' . $id . '&topic=' . SafeDB($news['topic_id'], 11, int), 'news/{topic}/{news}/'); $func .= System::admin()->SpeedButton('Перейти к странице на сайте', $link_go, 'images/link_go.png', false, false, 'target="_blank"'); if ($news_access_editnews) { $func .= System::admin()->SpeedButton('Редактировать', ADMIN_FILE . '?exe=news&a=edit&id=' . $id . '&back=' . $back, 'images/admin/edit.png'); $func .= System::admin()->SpeedConfirmJs('Удалить', '$(\'#jqueryuitable\').table(\'deleteRow\', ' . $id . ');', 'images/admin/delete.png', 'Уверены, что хотите удалить эту новость?'); $title = '<b>' . System::admin()->Link($title, ADMIN_FILE . '?exe=news&a=edit&id=' . $id . '&back=' . $back) . '</b>'; } $table->AddRow($id, $title, TimeRender(SafeDB($news['date'], 11, int)), SafeDB($news['hit_counter'], 11, int), $allowComments ? $comments : 'Обсуждение закрыто', $view, $status, $func); } if (isset($_GET['ajax'])) { echo $table->GetOptions(); exit; } else { $table->AddTable('Новости'); } }
function AdminCodetesterSnippets($type) { System::admin()->AddSubTitle('Сниппеты'); UseScript('jquery_ui_table'); if (isset($_REQUEST['onpage'])) { $num = intval($_REQUEST['onpage']); } else { $num = 20; } if (isset($_REQUEST['page'])) { $page = intval($_REQUEST['page']); } else { $page = 1; } $snippets_db = System::database()->Select('snippets', "`type`='{$type}'"); $columns = array('title'); $sortby = ''; $sortbyid = -1; $desc = true; if (isset($_REQUEST['sortby'])) { $sortby = $columns[$_REQUEST['sortby']]; $sortbyid = intval($_REQUEST['sortby']); $desc = $_REQUEST['desc'] == '1'; } if ($sortby != '') { SortArray($snippets_db, $sortby, $desc); } $table = new jQueryUiTable(); $table->listing = ADMIN_FILE . '?exe=codetester&a=' . $type . 'snippets&ajax'; $table->del = ADMIN_FILE . '?exe=codetester&a=delete'; $table->total = count($snippets_db); $table->onpage = $num; $table->page = $page; $table->sortby = $sortbyid; $table->sortdesc = $desc; $table->AddColumn('Заголовок'); $table->AddColumn('Функции', 'center', false, true); $snippets_db = ArrayPage($snippets_db, $num, $page); // Берем только новости с текущей страницы foreach ($snippets_db as $snip) { $id = SafeDB($snip['id'], 11, int); $editlink = ADMIN_FILE . '?exe=codetester&id=' . $id . '&lang=' . $type; $func = ''; $func .= System::admin()->SpeedButton('Редактировать', $editlink, 'images/admin/edit.png'); $func .= System::admin()->SpeedConfirmJs('Удалить', '$(\'#jqueryuitable\').table(\'deleteRow\', ' . $id . ');', 'images/admin/delete.png', 'Уверены, что хотите удалить этот сниппет?'); $table->AddRow($id, '<b>' . System::admin()->Link(SafeDB($snip['title'], 255, str), $editlink) . '</b>', $func); } if (isset($_GET['ajax'])) { echo $table->GetOptions(); exit; } else { $table->AddTable('Сниппеты'); } }