/** * Выводит форму добавления или редактирования комментария. * @param bool $Edit Метод редактирования * @param string $PostFormBlockName Имя блока для вывода формы */ public function RenderForm($Edit = false, $PostFormBlockName = 'postsform') { if ($this->DisableComments) { System::site()->AddBlock($PostFormBlockName, false, false, 'form', $this->PostFormTemplate); return; } else { System::site()->AddBlock($PostFormBlockName, true, false, 'form', $this->PostFormTemplate); } if ($Edit && isset($_GET['post_id'])) { $post_id = SafeEnv($_GET['post_id'], 11, int); } elseif ($Edit && !isset($_GET['post_id'])) { ErrorHandler(USER_ERROR, 'Posts::PostForm(): post_id не инициализирована.', __FILE__); return; } if (!$Edit && !$this->AlloyComments) { $this->Alert($PostFormBlockName, 'Обсуждение закрыто'); return; } if (!$Edit && !System::user()->Auth && !$this->GuestPost) { // Гость $this->Alert($PostFormBlockName, 'Гости не могут добавлять комментарии, войдите или зарегистрируйтесь.'); return; } System::site()->AddVars('template', array('lang_posts_username' => 'Имя', 'lang_posts_useremail' => 'E-mail', 'lang_posts_hideemail' => 'Скрыть E-mail', 'lang_posts_userhomepage' => 'Сайт', 'lang_posts_posttitle' => 'Заголовок', 'lang_posts_postmessage' => 'Сообщение', 'lang_posts_cancel' => 'Отмена', 'lang_posts_canceltitle' => 'Вернуться к теме без сохранения изменений')); $back = ''; if (!$Edit) { $back = '&back=' . SaveRefererUrl(); } $vars = array(); if ($Edit) { System::database()->Select($this->PostsTable, "`id`='{$post_id}'"); $post = System::database()->FetchRow(); if (System::user()->Auth) { $access = System::user()->Get('u_id') == $post['user_id'] || System::user()->isAdmin(); } else { $access = $post['user_id'] == '0' && $post['user_ip'] == getip(); } if (!$access) { $this->Alert($PostFormBlockName, 'У вас не достаточно прав!'); return; } $vars['form_title'] = 'Редактирование сообщения'; $vars['form_action'] = $this->PostFormAction . "&post_id={$post_id}" . $back; $vars['post_message'] = HtmlChars($post['post_message']); $vars['edit'] = true; System::site()->SetVar('template', 'lang_posts_submit', 'Сохранить'); System::site()->SetVar('template', 'lang_posts_submittitle', 'Сохранить изменения и вернуться'); $vars['visibility'] = 'visible'; } else { $vars['form_title'] = 'Добавить комментарий'; $vars['form_action'] = $this->PostFormAction . $back; $vars['post_title'] = ''; $vars['post_message'] = ''; $vars['edit'] = false; System::site()->SetVar('template', 'lang_posts_submit', 'Добавить'); System::site()->SetVar('template', 'lang_posts_submittitle', 'Добавить новое сообщение'); $vars['visibility'] = 'hidden'; } $vars['add'] = !$vars['edit']; $vars['add_guest'] = (System::user()->AccessLevel() == 3 || System::user()->AccessLevel() == 4) && $vars['add']; $vars['show_kaptcha'] = $vars['add_guest'] || !System::user()->isAdmin() && $this->ShowKaptchaForMembers; $vars['kaptcha_url'] = 'index.php?name=plugins&p=antibot'; $vars['kaptcha_width'] = '120'; $vars['kaptcha_height'] = '40'; // Подключаем BBCode редактор IncludePluginsGroup('bbcode_editors'); // Смайлики для формы $smilies = System::database()->Select('smilies', "`enabled`='1'"); $vars['is_smilies'] = System::database()->NumRows() != 0; if ($vars['is_smilies']) { System::site()->AddBlock('smilies', true, true, 'smile'); foreach ($smilies as $smile) { $smile['file'] = RealPath2(System::config('general/smilies_dir') . $smile['file']); $sub_codes = explode(',', SafeDB($smile['code'], 255, str)); $smile['code'] = $sub_codes[0]; System::site()->AddSubBlock('smilies', true, $smile); } } else { System::site()->AddBlock('smilies', true, false, 'smile', '', 'Смайликов пока нет.'); } System::site()->Blocks[$PostFormBlockName]['vars'] = $vars; }
/** * Главная страница, список новостей * @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 AdminViewRetrofittingList() { if (!AdminConfigPlugins()) { $access_config = 'System::config('; } else { $access_config = 'System::plug_config('; } $back = SaveRefererUrl(); $groupid = 1; if (isset($_GET['group'])) { $groupid = SafeEnv($_GET['group'], 11, int); } $groups_data = array(); $groups = array(); System::admin()->DataAdd($groups_data, 0, 'Все группы', $groupid == 0); System::database()->Select(AdminConfigGroupTable()); SortArray(System::database()->QueryResult, 'hname'); while ($group = System::database()->FetchRow()) { $sel = false; if ($groupid != 0) { $sel = $group['id'] == $groupid; } System::admin()->DataAdd($groups_data, SafeDB($group['id'], 11, int), SafeDB($group['hname'], 255, str), $sel); $groups[$group['id']] = $group; } System::admin()->AddCenterBox('Все настройки'); System::admin()->AddJS(Indent(' RetrofittingSelectGroup = function(){ Admin.LoadPage("' . ADMIN_FILE . '?exe=config_admin' . (AdminConfigPlugins() ? '&a=view_all_plugins&plugins=1' : '') . '&group="+$("#retrofitting-group").val()); } ')); $text = '<div style="text-align: left; margin-bottom: 10px;">Группа: ' . System::site()->Select('group', $groups_data, false, 'id="retrofitting-group" onchange="RetrofittingSelectGroup();"') . '</div>'; System::admin()->AddText($text); System::database()->Select(AdminConfigConfigTable(), $groupid > 0 ? "`group_id`='{$groupid}'" : ''); SortArray(System::database()->QueryResult, 'name'); $text = '<table cellspacing="0" cellpadding="0" class="cfgtable">'; $text .= Indent(' <tr> <th>№</th> <th>Настройка</th> <th>PHP код</th> <th>Видимая</th> <th>Функции</th> </tr> '); $id = 0; while ($conf = System::database()->FetchRow()) { $id++; $confid = SafeDB($conf['id'], 11, int); $func = ''; $func .= System::admin()->SpeedButton('Редактировать', ADMIN_FILE . '?exe=config_admin&a=edit&id=' . $confid . (AdminConfigPlugins() ? '&plugins=1' : '') . '&back=' . $back, 'images/admin/edit.png'); $func .= System::admin()->SpeedConfirm('Удалить', ADMIN_FILE . '?exe=config_admin&a=delete&id=' . $confid . '&ok=0' . (AdminConfigPlugins() ? '&plugins=1' : '') . '&back=' . $back, 'images/admin/delete.png', 'Это может повлиять на работу системы. Нажмите отмена, если не уверены. Удалить настройку?'); $access = $access_config . "<span style=\"color: #008200\">'" . SafeDB($groups[$conf['group_id']]['name'], 255, str) . '/' . "" . SafeDB($conf['name'], 255, str) . "'</span>)"; // $install_vals = Values('', $conf['group_id'], $conf['name'], $conf['value'], // $conf['visible'], $conf['hname'], $conf['description'], $conf['kind'], // $conf['values'], $conf['savefunc'], $conf['type'], $conf['autoload']); // $install = 'System::database()->Insert("'.AdminConfigConfigTable().'","'.$install_vals.'");'; if ($conf['visible'] == '1') { $visible = '<font color="#008000">Да</font>'; } else { $visible = '<font color="#FF0000">Нет</font>'; } $text .= Indent(' <tr> <td>' . $id . '</td> <td style="text-align: left; padding-left: 10px; ' . ($conf['visible'] == '0' ? 'color: #888;' : '') . '">' . SafeDB($conf['hname'], 255, str) . '</td> <td style="text-align: left; padding-left: 10px;">' . $access . '</td> <td>' . $visible . '</td> <td>' . $func . '</td> </tr> '); } $text .= '</table>'; if (isset($_GET['saveok'])) { System::admin()->Highlight('Изменения сохранены.'); } elseif (isset($_GET['addok'])) { System::admin()->Highlight('Настройка добавлена.'); } elseif (isset($_GET['delok'])) { System::admin()->Highlight('Настройка удалена.'); } System::admin()->AddText($text); }
function AdminArticlesEditor() { global $editarticles; if (!$editarticles) { System::admin()->AccessDenied(); } $cat_id = isset($_GET['to']) ? SafeDB($_GET['to'], 11, int) : 0; $author = ''; $email = ''; $www = ''; $title = ''; $description = ''; $article = ''; $image = ''; $auto_br_desc = false; $auto_br_article = false; $allow_comments = true; $allow_votes = true; $view = 4; $active = true; //Модуль SEO $seo_title = ''; $seo_keywords = ''; $seo_description = ''; // $form = 0; $product_id = ''; if (!isset($_GET['id'])) { $action = 'add'; $top = 'Добавить статью'; $cap = 'Добавить'; } else { $id = SafeEnv($_GET['id'], 11, str); System::database()->Select('articles', "`id`='{$id}'"); $art = System::database()->FetchRow(); $cat_id = SafeDB($art['cat_id'], 11, int); $author = SafeDB($art['author'], 200, str); $email = SafeDB($art['email'], 50, str); $www = SafeDB($art['www'], 250, str); $title = SafeDB($art['title'], 255, str); $description = SafeDB($art['description'], 0, str, false); $article = SafeDB($art['article'], 0, str, false); $image = SafeDB($art['image'], 250, str); $auto_br_article = SafeDB($art['auto_br_article'], 1, bool); $auto_br_desc = SafeDB($art['auto_br_desc'], 1, bool); $active = SafeDB($art['active'], 1, bool); $allow_comments = SafeDB($art['allow_comments'], 1, int); $allow_votes = SafeDB($art['allow_votes'], 1, int); $view = SafeDB($art['view'], 1, int); //Модуль SEO $seo_title = SafeDB($art['seo_title'], 255, str); $seo_keywords = SafeDB($art['seo_keywords'], 255, str); $seo_description = SafeDB($art['seo_description'], 255, str); // $form = SafeDB($art['form'], 11, int); $product_id = SafeDB($art['product_id'], 255, str); $action = 'save&id=' . $id; $top = 'Редактирование статьи'; $cap = 'Сохранить изменения'; } System::admin()->AddJS(Indent(' ArticlesPreviewOpen = function(){ if(tinyMCE){ tinyMCE.triggerSave(); } var form_data = Admin.SerializeFormData(document.forms.edit_form); var left = parseInt(screen.width / 2) - 400; var top = parseInt(screen.height / 10); var wp = window.open("", "Preview", "resizable=yes,scrollbars=yes,menubar=no,status=no,location=no,width=800,height=600,left="+left+",top="+top+""); wp.document.open(); $.ajax({ type: "POST", url: "' . ADMIN_FILE . '?exe=articles&a=preview", data: form_data, dataType: "html", success: function(data){ wp.document.write(data); wp.document.close(); } }); } ')); $cats_data = AdminArticlesGetTree()->GetCatsData($cat_id); if (count($cats_data) == 0) { $back_to_form = SaveRefererUrl(); AddTextBox($top, 'Нет категорий для добавления! ' . System::admin()->SpeedButton('Добавить категорию', ADMIN_FILE . '?exe=articles&a=cateditor&back=' . $back_to_form, '', true, true)); return; } FormRow('В категорию', System::site()->Select('category', $cats_data, false, $cat_id == 0 ? 'class="autofocus"' : '')); FormRow('Заголовок', System::site()->Edit('title', $title, false, 'maxlength="250" style="width:400px;"' . ($cat_id != 0 ? 'class="autofocus"' : ''))); //Модуль SEO FormRow('[seo] Заголовок страницы', System::site()->Edit('seo_title', $seo_title, false, 'style="width:400px;"')); FormRow('[seo] Ключевые слова', System::site()->Edit('seo_keywords', $seo_keywords, false, 'style="width:400px;"')); FormRow('[seo] Описание', System::site()->Edit('seo_description', $seo_description, false, 'style="width:400px;"')); // // Веб форма $forms = System::database()->Select('forms', "`active`='1'"); $forms_data = array(); System::site()->DataAdd($forms_data, '0', 'Нет', $form == 0); foreach ($forms as $f) { System::site()->DataAdd($forms_data, SafeDB($f['id'], 11, int), SafeDB($f['hname'], 255, str), $f['id'] == $form); } FormRow('Форма', System::site()->Select('form', $forms_data)); FormRow('Код товара', System::site()->Edit('product_id', $product_id, false, 'maxlength="250" style="width:400px;"')); AdminImageControl('Изображение', 'Загрузить изображение', $image, System::config('articles/images_dir')); FormTextRow('Короткая статья (HTML)', System::site()->HtmlEditor('description', $description, 600, 200)); FormRow('', 'Преобразовать текст в HTML: ' . System::site()->Select('auto_br_desc', GetEnData($auto_br_desc, 'Да', 'Нет'))); FormTextRow('Полная статья (HTML)', System::site()->HtmlEditor('article', $article, 600, 400)); FormRow('', 'Преобразовать текст в HTML: ' . System::site()->Select('auto_br_article', GetEnData($auto_br_article, 'Да', 'Нет'))); FormRow('Автор', System::site()->Edit('author', $author, false, 'style="width:400px;" maxlength="50"')); FormRow('E-mail автора', System::site()->Edit('email', $email, false, 'style="width:400px;" maxlength="50"')); FormRow('Сайт автора', System::site()->Edit('www', $www, false, 'style="width:400px;" maxlength="250"')); FormRow('Комментарии', System::site()->Select('allow_comments', GetEnData($allow_comments, 'Разрешить', 'Запретить'))); FormRow('Оценки', System::site()->Select('allow_votes', GetEnData($allow_votes, 'Разрешить', 'Запретить'))); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($view))); FormRow('Активна', System::site()->Select('active', GetEnData($active, 'Да', 'Нет'))); AddCenterBox($top); if (!isset($_REQUEST['back'])) { $_REQUEST['back'] = SaveRefererUrl(ADMIN_FILE . '?exe=articles'); } AddForm('<form name="edit_form" action="' . ADMIN_FILE . '?exe=articles&a=' . $action . '&back=' . SafeDB($_REQUEST['back'], 255, str) . '" method="post" enctype="multipart/form-data">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Button('Предпросмотр', 'onclick="ArticlesPreviewOpen();"') . System::site()->Submit($cap)); }
function AdminGalleryUploadForm() { global $edit_images; if (!$edit_images) { System::admin()->AccessDenied(); } $top = 'Мультизагрузка'; $cat_id = isset($_GET['to']) ? SafeDB($_GET['to'], 11, int) : 0; $cats_data = AdminGalleryGetTree()->GetCatsData($cat_id); if (count($cats_data) == 0) { $back_to_form = SaveRefererUrl(); AddTextBox($top, 'Нет категорий для добавления! ' . System::admin()->SpeedButton('Добавить категорию', ADMIN_FILE . '?exe=gallery&a=cateditor&back=' . $back_to_form, '', true, true)); return; } System::admin()->AddCenterBox($top); UseScript('swfupload'); $formid = uniqid(); // Уникальный ID формы $_SESSION['uploadforms'][$formid] = array('photos' => array(), 'category' => '0', 'allow_comments' => '1', 'allow_votes' => '1', 'view' => '4', 'show' => '1'); System::admin()->AddOnLoadJS(Indent(' window.photo_id = 1; window.allUploadComplete = false; window.photosCountFiles = 0; window.photosUploaded = 0; // SWFUpload if(window.gallery_swfu){ window.gallery_swfu.destroy(); }else{ window.GallerySubmitFormGuard = function(){ if(window.photosCountFiles == 0){ alert("Выберите фотографии для загрузки"); return false; } if(!window.allUploadComplete){ window.gallery_swfu.startUpload(); Admin.ShowSplashScreen("Загрузка фотографий на хостинг"); return false; } return true; } } window.gallery_swfu = new SWFUpload({ upload_url: "' . ADMIN_FILE . '?exe=gallery&a=upload&formid=' . $formid . '", file_post_name : "up_image", post_params: { "action": "upload" }, file_size_limit: "100 MB", file_types: "*.jpg; *.png; *.jpeg; *.gif", file_types_description: "Все файлы", file_upload_limit: 0, file_queue_limit: 0, debug: false, button_placeholder_id: "uploadbutton", button_width: "54", button_height: "18", button_window_mode: SWFUpload.WINDOW_MODE.TRANSPARENT, button_text: "<span class=\\"btnCap\\">Обзор<span>", button_text_style: ".btnCap{ align: center; color: #4F4F4F; font-family: Verdana, Tahoma, sans-serif; font-weight: bold; }", button_text_left_padding: 4, button_text_top_padding: 1, file_dialog_complete_handler: function(numFilesSelected, numFilesQueued, total){ $("#uploadFilesCount").html("Выбрано " + total + " файл(ов)"); window.photosCountFiles = total; }, upload_progress_handler: function(file, bytesLoaded, bytesTotal){ var current = window.photosUploaded + 1; Admin.SetSplashScreenMessage("Загрузка фотографий на хостинг: " + current + "/" + window.photosCountFiles + " (" + Math.round(bytesLoaded/bytesTotal*100) + "%)"); }, upload_complete_handler: function(file){ window.photosUploaded++; if(window.photosUploaded == window.photosCountFiles){ window.allUploadComplete = true; $("#galleryForm").submit(); } } }); ')); FormRow('В категорию', System::site()->Select('category', $cats_data)); FormRow('Выберите файлы', RemoveIndent(' <div style="float: left;" id="uploadFilesCount">Выбрано 0 файл(ов)</div> <div class="button" style="float: right; border: 1px #ccc solid;"> <span id="uploadbutton"> <a href="http://www.adobe.com/go/getflashplayer">Get Adobe Flash player</a> </span> </div> ')); FormRow('Комментарии', System::site()->Select('allow_comments', GetEnData(true, 'Разрешить', 'Запретить'))); FormRow('Оценки', System::site()->Select('allow_votes', GetEnData(true, 'Разрешить', 'Запретить'))); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData(4))); FormRow('Показать', System::site()->Select('show', GetEnData(true, 'Да', 'Нет'))); AddForm('<form action="' . ADMIN_FILE . '?exe=gallery&a=upload&formid=' . $formid . '" method="post" onsubmit="return GallerySubmitFormGuard();" id="galleryForm">', System::admin()->Hidden('action', 'preview') . System::admin()->Submit('Загрузить')); }
</div>'; AddText($searchtool); $text = ''; $text .= ' <table cellspacing="0" cellpadding="0" class="cfgtable" valign="top"> <tr> <th>Действие</th> <th width="2"> </th>'; $nc = count($info); foreach ($info as $col) { $text .= '<th>' . $col['name'] . '</th>'; } $text .= '</tr>'; $i = $rows_on_page * $page - $rows_on_page; $back = SaveRefererUrl(); foreach ($rows as $col) { $func = ''; $func .= SpeedButton('Редактировать', ADMIN_FILE . '?exe=dbadmin&a=editfield&name=' . $namedb . '&index=' . $i . $where_url . '&back=' . $back, 'images/admin/edit.png'); $func .= System::admin()->SpeedConfirm('Удалить', ADMIN_FILE . '?exe=dbadmin&a=deleterow&name=' . $namedb . '&index=' . $i . $where_url . '&back=' . $back, 'images/admin/delete.png', 'Удалить запись?'); $func .= SpeedButton('PHP код вставки', ADMIN_FILE . '?exe=dbadmin&a=viewcode&name=' . $namedb . '&index=' . $i . $where_url, 'images/admin/php.png'); $text .= '<tr><td nowrap="nowrap">' . $func . '</td><td></td>'; for ($j = 0; $j < $nc; $j++) { $col_name = $info[$j]['name']; strlen($col[$col_name]) > 255 ? $p = '... ...' : ($p = ''); $text .= '<td>' . substr(HtmlChars($col[$col_name]), 0, 255) . $p . '</td>'; } $text .= '</tr>'; $i++; } $text .= '</table>';
/** * Добавляет блоки модерации в шаблон просмотра тем. */ function ModerationForumTopicsBlocks() { if (!System::user()->isAdmin()) { System::site()->AddBlock('topics_moderation', false); System::site()->AddBlock('topics_moderation_options', false); return; } System::site()->AddBlock('topics_moderation', true, false, 'moderation'); System::site()->SetVars('topics_moderation', array('form_url' => 'index.php?name=forum&op=edit_topics&back=' . SaveRefererUrl())); System::site()->AddBlock('topics_moderation_options', true, true, 'option'); $options = array('deletetopic' => 'Удалить темы', 'open' => 'Открыть темы', 'close' => 'Закрыть темы', 'stick' => 'Установить для темы статус "Важная"', 'unstick' => 'Снять с темы статус "Важная"', 'movetopic' => 'Переместить темы', 'mergetopic' => 'Объединить темы'); foreach ($options as $name => $title) { System::site()->AddSubBlock('topics_moderation_options', true, array('name' => $name, 'title' => $title)); } }
function AdminGuestBookPremoderationMain() { System::admin()->AddCenterBox('Премодерация'); $premoderation = System::user()->CheckAccess2('guestbook', 'premoderation'); $premoderate = System::database()->Select('guestbook', "`premoderate`='0'"); if (System::database()->NumRows() == 0) { System::admin()->Highlight('В премодерации нет сообщений.'); return; } if (isset($_GET['page'])) { $page = SafeEnv($_GET['page'], 10, int); } else { $page = 1; } SortArray($premoderate, 'date', true); $num = System::config('gb/msgonpage'); if (count($premoderate) > $num) { $navigator = new Navigation($page); $navigator->GenNavigationMenu($premoderate, $num, ADMIN_FILE . '?exe=guestbook&a=premoderation'); $nav = true; } else { $nav = false; } $text = ''; $back = SaveRefererUrl(); foreach ($premoderate as $pre) { if ($pre['url'] == '') { $url = 'Нет'; } else { $url = '<a href="http://' . SafeDB($pre['url'], 250, str) . '" target="_blank">' . SafeDB($pre['url'], 250, str) . '</a>'; } if ($pre['email'] == '') { $name = SafeDB($pre['name'], 50, str); } else { $name = PrintEmail($pre['email'], $pre['name']); } $mid = SafeDB($pre['id'], 11, int); $del = System::admin()->SpeedConfirm('Удалить сообщение', ADMIN_FILE . '?exe=guestbook&a=delete&id=' . $mid . '&back=' . $back, 'images/admin/delete.png', 'Удалить сообщение?'); $func2 = ''; $func2 = System::admin()->Link('Разрешить', ADMIN_FILE . '?exe=guestbook&a=prem_yes&id=' . $mid . '&back=' . $back); $text .= '<table cellspacing="0" cellpadding="0" class="commtable" style="width:75%;">'; $text .= '<tr> <th style="text-align: left; width: 180px;">' . $name . '</th> <th style="width: 160px;">Сайт: ' . $url . '</th> <th style="width: 120px;">ICQ: ' . SafeDB($pre['icq'], 15, str) . '</th> <th style="width: 120px;">IP: ' . SafeDB($pre['user_ip'], 20, str) . '</th> <th> ' . $del . ' </th> </tr>'; $text .= '<tr><td colspan="5" style="text-align:left;padding:10px;" class="commtable_text">' . SafeDB($pre['message'], 0, str) . '</td></tr>'; $text .= '<tr><th>Дата: ' . TimeRender($pre['date']) . '</th><th colspan="4" style="text-align:right;">' . $func2 . '</th></tr>'; $text .= '</table>'; } AddText($text); if ($nav) { AddNavigation(); } AddText('<div style="text-align: center;">' . System::admin()->SpeedConfirm('Разрешить все', ADMIN_FILE . '?exe=guestbook&a=prem_yes_all&back=' . $back, 'images/admin/accept.png', 'Разрешить все сообщения?', true, true) . ' ' . System::admin()->SpeedConfirm('Удалить все', ADMIN_FILE . '?exe=guestbook&a=prem_del_all&back=' . $back, 'images/admin/delete.png', 'Удалить все сообщения?', true, true) . '</div>'); }
function IndexGBAddMessage(&$msg) { // Имя и электронная почта if ($msg['email'] != '' && $msg['hide_email'] != '1') { $vars['name'] = '<a href="mailto:' . SafeDB($msg['email'], 50, str) . '">' . SafeDB($msg['name'], 50, str) . '</a>'; $vars['name2'] = SafeDB($msg['name'], 50, str); $vars['email'] = '<a href="mailto:' . SafeDB($msg['email'], 50, str) . '"><img src="images/buttons/email.gif" /></a>'; $vars['email2'] = SafeDB($msg['email'], 50, str); } else { $vars['name'] = SafeDB($msg['name'], 50, str); $vars['email'] = ''; $vars['email2'] = ''; } // Сайт if ($msg['url'] != '') { $url = UrlRender(SafeDB($msg['url'], 255, str)); $vars['url'] = '<a href="' . $url . '" target="_blank"><img src="images/buttons/www.gif" /></a>'; $vars['url2'] = $url; } else { $vars['url'] = ''; $vars['url2'] = ''; } // Аська if ($msg['icq'] != '') { $vars['icq'] = '<a href="http://web.icq.com/' . SafeDB($msg['icq'], 255, str) . '" target="_blank"><img src="images/buttons/icq.gif" /></a>'; $vars['icq2'] = SafeDB($msg['icq'], 255, str); } else { $vars['icq'] = ''; $vars['icq2'] = ''; } // Ответы if (trim($msg['answers']) == '') { $answers = array(); } else { $answers = unserialize($msg['answers']); } // Функции для администратора $id = SafeDB($msg['id'], 11, int); $vars['access_answer'] = System::user()->CheckAccess2('guestbook', 'answer'); $vars['edit_answer_url'] = ADMIN_FILE . '?exe=guestbook&a=editanswer&id=' . $id . '&back=' . SaveRefererUrl(); // Редактировать ответ $vars['delete_answer_url'] = ADMIN_FILE . '?exe=guestbook&a=delanswer&id=' . $id . '&back=' . SaveRefererUrl(); // Удалить ответ $vars['add_answer_url'] = ADMIN_FILE . '?exe=guestbook&a=addanswer&id=' . $id . '&back=' . SaveRefererUrl(); // Ответить $vars['edit_message_url'] = ADMIN_FILE . '?exe=guestbook&a=edit&id=' . $id . '&back=' . SaveRefererUrl(); // Редактировать сообщение $vars['delete_message_url'] = ADMIN_FILE . '?exe=guestbook&a=delete&id=' . $id . '&ok=0' . '&back=' . SaveRefererUrl(); // Удалить сообщение if (System::user()->isAdmin()) { $func = ''; $msg_func = ''; if (array_key_exists(System::user()->Name(), $answers)) { if ($vars['access_answer']) { $func = '<a href="' . $vars['edit_answer_url'] . '">Редактировать ответ</a> :: ' . '<a href="' . $vars['delete_answer_url'] . '">Удалить ответ</a>'; } else { $func = ''; } } elseif ($vars['access_answer']) { $func = '<a href="' . $vars['add_answer_url'] . '">Ответить</a>'; } $msg_func = ($func != '' ? ' :: ' : '') . '<a href="' . $vars['edit_message_url'] . '">Редактировать сообщение</a> :: ' . '<a href="' . $vars['delete_message_url'] . '">Удалить сообщение</a>'; $vars['admin'] = $func . $msg_func; } else { $vars['admin'] = ''; } $keys = array_keys($answers); $answerstext = ''; if (count($answers) > 0) { $answerstext = 'Ответы: <ul style="margin:3px;margin-left:16px;">' . EOL; foreach ($keys as $key) { $answerstext .= '<li>' . $key . ' - ' . $answers[$key] . EOL; } $answerstext .= '</ul>' . EOL; } $vars['date'] = TimeRender(SafeDB($msg['date'], 11, int)); $vars['text'] = SafeDB($msg['message'], 0, str); $vars['answers'] = $answerstext; System::site()->AddSubBlock('guestbook', true, $vars); }
function IndexNewsFunc($id) { return ' ' . '<a href="' . ADMIN_FILE . '?exe=news&a=edit&id=' . $id . '&back=' . SaveRefererUrl() . '" class="admin_edit_link"><img src="images/admin/edit.png" title="Редактировать"></a>' . '<a href="' . ADMIN_FILE . '?exe=news&a=delete&id=' . $id . '&back=' . SaveRefererUrl() . '&ok=0" class="admin_edit_link"><img src="images/admin/delete.png" title="Удалить"></a>'; }
function IndexArticlesFunc($id) { $back = SaveRefererUrl(); return ' ' . '<a href="' . ADMIN_FILE . '?exe=articles&a=editor&id=' . $id . '&back=' . $back . '" class="admin_edit_link"><img src="images/admin/edit.png" title="Редактировать"></a>' . '<a href="' . ADMIN_FILE . '?exe=articles&a=delete&id=' . $id . '&ok=0&back=' . $back . '" class="admin_edit_link"><img src="images/admin/delete.png" title="Удалить"></a>'; }
function AdminDownloadsFileEditor($action) { if (!System::user()->CheckAccess2('downloads', 'edit_files')) { System::admin()->AccessDenied(); } $category = isset($_GET['to']) ? SafeDB($_GET['to'], 11, int) : 0; $title = ''; $url = ''; $file_size = '0'; $size_type = 'b'; $shortdesc = ''; $description = ''; $image = ''; $author = ''; $author_site = ''; $author_email = ''; $file_ver = ''; $allow_comments = true; $allow_votes = true; $view = 4; $active = true; if (!isset($_GET['id'])) { $action = 'addfilesave'; $top = 'Добавить файл'; $cap = 'Добавить'; } else { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('downloads', "`id`='{$id}'"); $file = System::database()->FetchRow(); $category = SafeDB($file['category'], 11, int); $title = SafeDB($file['title'], 250, str); $url = SafeDB($file['url'], 250, str); $file_size = SafeDB($file['size'], 11, real); $size_type = SafeDB($file['size_type'], 1, str); $shortdesc = SafeDB($file['shortdesc'], 0, str, false); $description = SafeDB($file['description'], 0, str, false); $image = SafeDB($file['image'], 250, str); $author = SafeDB($file['author'], 200, str); $author_site = SafeDB($file['author_site'], 250, str); $author_email = SafeDB($file['author_email'], 50, str); $file_ver = SafeDB($file['file_version'], 250, str); $allow_comments = SafeDB($file['allow_comments'], 1, int); $allow_votes = SafeDB($file['allow_votes'], 1, int); $view = SafeDB($file['view'], 1, int); $active = SafeDB($file['active'], 1, int); $action = 'editfilesave&id=' . $id; $top = 'Редактирование файла'; $cap = 'Сохранить изменения'; } $cats_data = AdminDownloadsGetTree()->GetCatsData($category); if (count($cats_data) == 0) { $back_to_form = SaveRefererUrl(); AddTextBox($top, 'Нет категорий для добавления! ' . System::admin()->SpeedButton('Добавить категорию', ADMIN_FILE . '?exe=downloads&a=cateditor&back=' . $back_to_form, '', true, true)); return; } $filesize_data = array(); System::site()->DataAdd($filesize_data, 'b', 'Байт', $size_type == 'b'); System::site()->DataAdd($filesize_data, 'k', 'Килобайт', $size_type == 'k'); System::site()->DataAdd($filesize_data, 'm', 'Мегабайт', $size_type == 'm'); System::site()->DataAdd($filesize_data, 'g', 'Гигабайт', $size_type == 'g'); $max_file_size = ini_get('upload_max_filesize'); AddCenterBox($top); FormRow('В категорию', System::site()->Select('category', $cats_data, false, $category == 0 ? 'class="autofocus"' : '')); FormRow('Название', System::site()->Edit('title', $title, false, 'style="width:400px;"' . ($category != 0 ? ' class="autofocus"' : ''))); FormRow('Путь к файлу', System::site()->Edit('url', $url, false, 'style="width:400px;"')); //FormRow('Путь к файлу', System::site()->FileManager( 'url', $url, 400)); FormRow('Загрузить файл<br />(<small>Максимальный размер файла: ' . $max_file_size . '</small>)', System::site()->FFile('upload_file') . '<br /><div style="width: 400px; word-wrap:break-word;">Разрешенные форматы:<br />' . System::config('downloads/file_exts') . '</div>'); FormRow('Размер файла', System::site()->Edit('size', $file_size, false, 'style="width:200px;"') . ' ' . System::site()->Select('filesize_type', $filesize_data)); AdminImageControl('Изображение', 'Загрузить изображение', $image, System::config('downloads/images_dir')); FormTextRow('Краткое описание', System::site()->HtmlEditor('shortdesc', $shortdesc, 600, 200)); FormTextRow('Полное описание', System::site()->HtmlEditor('description', $description, 600, 400)); FormRow('Версия файла', System::site()->Edit('version', $file_ver, false, 'style="width:400px;"')); FormRow('Автор', System::site()->Edit('author', $author, false, 'style="width:400px;"')); FormRow('E-mail автора', System::site()->Edit('author_email', $author_email, false, 'style="width:400px;"')); FormRow('Сайт автора', System::site()->Edit('author_site', $author_site, false, 'style="width:400px;"')); FormRow('Комментарии', System::site()->Select('allow_comments', GetEnData($allow_comments, 'Разрешить', 'Запретить'))); FormRow('Оценки', System::site()->Select('allow_votes', GetEnData($allow_votes, 'Разрешить', 'Запретить'))); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($view))); FormRow('Активен', System::site()->Select('active', GetEnData($active, 'Да', 'Нет'))); if (!isset($_REQUEST['back'])) { $_REQUEST['back'] = SaveRefererUrl(ADMIN_FILE . '?exe=downloads'); } AddForm('<form action="' . ADMIN_FILE . '?exe=downloads&a=' . $action . '&back=' . SafeDB($_REQUEST['back'], 255, str) . '" method="post" enctype="multipart/form-data" name="edit_form">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($cap)); }