function AdminBlocksEdit($a) { global $config, $site, $user; // Для обратной совместимости со старыми блоками $showin = array('ALL_EXCEPT'); $showin_uri = array(); $template = ''; $b_vi = 4; $b_en = 1; if (isset($_POST['type']) || $a == 'edit') { $b_pos = array('L' => false, 'R' => false, 'T' => false, 'B' => false); $b_pos = array('L' => false, 'R' => false, 'T' => false, 'B' => false, 'A' => false); $b_title = ''; $b_vi = 4; $b_en = 1; $block_config = ''; // Используется в подключаемых файлах if ($a == 'edit') { System::database()->Select('blocks', "`id`='" . SafeEnv($_GET['id'], 11, int) . "'"); $r = System::database()->FetchRow(); $b_title = SafeDB($r['title'], 255, str); $b_pos[SafeDB($r['position'], 1, str)] = true; $b_vi = SafeDB($r['view'], 1, int); $b_en = SafeDB($r['enabled'], 1, bool); $b_type = SafeDB($r['type'], 255, str); $template = SafeDB($r['template'], 255, str); $block_config = $r['config']; // Используется в подключаемых файлах $title = 'Редактирование блока'; $a_form = ADMIN_FILE . '?exe=blocks&a=update&id=' . SafeEnv($_GET['id'], 11, int); $button = 'Сохранить изменения'; if ($r['showin'] != '') { $showin = unserialize($r['showin']); } if ($r['showin_uri'] != '') { $showin_uri = unserialize($r['showin_uri']); } } else { $a_form = ADMIN_FILE . '?exe=blocks&a=newsave'; $b_type = SafeEnv($_POST['type'], 255, str); $title = 'Настройка блока'; $button = 'Создать'; $showin[] = array('ALL_EXCEPT'); } FormRow('Заголовок', System::site()->Edit('title', $b_title, false, 'style="width:400px;" class="autofocus"')); $constructor = System::config('blocks_dir') . $b_type . '/constructor.php'; if (is_file($constructor)) { include_once $constructor; } $btems = GetBlockTemplates(); $temdata = array(); foreach ($btems as $tem) { System::site()->DataAdd($temdata, $tem, $tem, $tem == $template); } FormRow('Шаблон блока', System::site()->Select('template', $temdata)); System::site()->DataAdd($posdata, 'Left', 'Колонка слева', $b_pos['L']); System::site()->DataAdd($posdata, 'Right', 'Колонка справа', $b_pos['R']); System::site()->DataAdd($posdata, 'Top', 'В центре сверху', $b_pos['T']); System::site()->DataAdd($posdata, 'Bottom', 'В центре снизу', $b_pos['B']); //System::site()->DataAdd($posdata, 'ABottom', 'A В центре снизу', $b_pos['A']); FormRow('Позиционирование', System::site()->Select('position', $posdata)); VisibilityConditionsAdmin($showin, $showin_uri); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($b_vi))); FormRow('Включить', System::site()->Select('enabled', GetEnData($b_en, 'Да', 'Нет'))); AddCenterBox($title); AddForm('<form action="' . $a_form . '" method="post">' . System::site()->Hidden('type', $b_type), System::site()->Button('Отмена', 'onclick="history.go(-1);"') . System::site()->Submit($button)); } else { GO(ADMIN_FILE); } }
function AdminExtensionsConfig() { System::admin()->AddSubTitle('Настройки модуля'); $name = SafeEnv($_GET['name'], 255, str); System::database()->Select('modules', "`folder`='" . $name . "'"); $mod = System::database()->FetchRow(); System::admin()->FormRow('Имя', System::admin()->Edit('name', $mod['name'], false, 'style="width:200px;" class="autofocus"')); $dir = System::config('tpl_dir') . System::config('general/site_template') . '/themes/'; if (is_dir($dir)) { $templates = GetFiles($dir, false, true, ".html"); } else { $templates = array(); } System::admin()->DataAdd($templates_data, '', 'Стандартный "theme.html"', $mod['theme'] == ''); foreach ($templates as $template) { System::admin()->DataAdd($templates_data, $template, $template, $mod['theme'] == $template); } System::admin()->FormRow('Шаблон страницы', System::admin()->Select('theme', $templates_data)); System::admin()->FormRow('Кто видит', System::admin()->Select('view', GetUserTypesFormData(SafeDB($mod['view'], 1, int)))); System::admin()->FormRow('Включить', System::admin()->Select('enabled', GetEnData((bool) $mod['enabled'], 'Да', 'Нет'))); System::admin()->AddCenterBox('Настройка модуля "' . SafeDB($mod['name'], 255, str) . '"'); System::admin()->AddForm(System::admin()->FormOpen(ADMIN_FILE . '?exe=extensions&a=mod_configsave&name=' . SafeDB($mod['folder'], 255, str)), System::admin()->Button('Отмена', 'onclick="history.go(-1)"') . System::admin()->Submit('Сохранить')); }
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('Загрузить')); }
/** * Редактор новостей (редактирование / добавление) * @return void */ function AdminNewsEditor() { global $news_access_editnews; if (!$news_access_editnews) { System::admin()->AccessDenied(); } UseScript('jquery_ui', 'colorbox?theme=admin'); System::admin()->AddOnLoadJS(' $("#datepicker").datepicker({ dateFormat: "dd.mm.yy", changeMonth: true, changeYear: true });'); $topic_id = 0; // Номер темы $newstitle = ''; // Заголовок новости $icon = ''; // Иконки $stext = ''; // Короткая новость $ctext = ''; // Полная новость $view = 4; // Кто видит $allow_comments = true; // Разрешить комментарии $auto_br = false; // Авто добавление тега <br /> $enabled = true; // Включить да/нет $alname = 'Разместить'; // Надпись на отправляющей кнопке $img_view = 0; //Модуль SEO $seo_title = ''; $seo_keywords = ''; $seo_description = ''; $public_date = date("d.m.Y", time()); $public_time = date("G:i", time()); if (!isset($_GET['id'])) { // Добавление новости $auto_br = false; $title = 'Добавить новость'; $caption = 'Добавить'; TAddSubTitle($title); $met = ''; } else { // Редактирование новости System::database()->Select('news', "`id`='" . SafeEnv($_GET['id'], 11, int) . "'"); $news = System::database()->FetchRow(); $topic_id = SafeDB($news['topic_id'], 11, int); $newstitle = SafeDB($news['title'], 255, str); $icon = SafeDB($news['icon'], 255, str); $stext = SafeDB($news['start_text'], 0, str, false); $ctext = SafeDB($news['end_text'], 0, str, false); $allow_comments = SafeDB($news['allow_comments'], 1, bool); $auto_br = SafeDB($news['auto_br'], 1, bool); $img_view = SafeDB($news['img_view'], 1, int); $view = SafeDB($news['view'], 1, int); $enabled = SafeDB($news['enabled'], 1, bool); //Модуль SEO $seo_title = SafeDB($news['seo_title'], 255, str); $seo_keywords = SafeDB($news['seo_keywords'], 255, str); $seo_description = SafeDB($news['seo_description'], 255, str); $public_date = date("d.m.Y", $news['date']); $public_time = date("G:i", $news['date']); $title = 'Редактирование новости'; $caption = 'Сохранить изменения'; TAddSubTitle($title); $met = '&id=' . SafeEnv($_GET['id'], 11, int); } System::admin()->AddJS(Indent(' NewsPreviewOpen = function(){ if(tinyMCE){ tinyMCE.triggerSave(); } var form_data = Admin.SerializeFormData(document.forms.news_editor); 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=news&a=preview' . $met . '", data: form_data, dataType: "html", success: function(data){ wp.document.write(data); wp.document.close(); } }); } ')); System::database()->Select('news_topics', ''); $topicdata = array(); while ($topic = System::database()->FetchRow()) { System::admin()->DataAdd($topicdata, $topic['id'], $topic['title'], $topic['id'] == $topic_id); } if (count($topicdata) == 0) { AddTextBox($title, 'Нет раздела для добавления. Создайте хотя бы один раздел.'); return; } $img_view_data = array(); System::admin()->DataAdd($img_view_data, '0', 'Авто', $img_view == 0); System::admin()->DataAdd($img_view_data, '1', 'Исходная картинка', $img_view == 1); System::admin()->DataAdd($img_view_data, '2', 'Эскиз', $img_view == 2); $acts = array(); System::admin()->DataAdd($acts, 'save', $alname); System::admin()->DataAdd($acts, 'preview', 'Предпросмотр'); FormRow('Раздел', System::admin()->Select('topic_id', $topicdata, false, 'class="autofocus"')); FormRow('Заголовок новости', System::admin()->Edit('title', $newstitle, false, 'style="width:400px;"')); // Модуль SEO FormRow('[seo] Заголовок страницы', System::admin()->Edit('seo_title', $seo_title, false, 'style="width:400px;"')); FormRow('[seo] Ключевые слова', System::admin()->Edit('seo_keywords', $seo_keywords, false, 'style="width:400px;"')); FormRow('[seo] Описание', System::admin()->Edit('seo_description', $seo_description, false, 'style="width:400px;"')); list($width, $height) = SafeDB(explode(':', System::config('news/tmb_size')), 11, int); FormRow('Изображение', System::admin()->FileManager('icon', $icon) . '<br> <a href="' . $icon . '" class="filemanager_icon colorbox" data-content="href:path" target="_blank"> <img src="' . GetThumb($icon, $width, $height) . '" class="filemanager_icon" data-content="src:tmb" style="margin-top: 5px; max-width: 250px;"> </a>'); //AdminImageControl('Изображение', 'Загрузить изображение', $icon, System::config('news/icons_dirs'), 'icon', 'up_photo', 'news_editor'); FormRow('Отображение рисунка', System::admin()->Select('img_view', $img_view_data)); FormTextRow('Короткая новость (HTML)', System::admin()->HtmlEditor('shorttext', $stext, 600, 200)); FormTextRow('Полная новость (HTML)', System::admin()->HtmlEditor('continuation', $ctext, 600, 400)); FormRow('', 'Преобразовать текст в HTML: ' . System::admin()->Select('auto_br', GetEnData($auto_br, 'Да', 'Нет'))); FormRow('Дата и время публикации', System::admin()->Edit('public_date', $public_date, false, 'id="datepicker" style="width:120px;"') . ' ' . System::admin()->Edit('public_time', $public_time, false, 'style="width:60px;"')); FormRow('Комментарии', System::admin()->Select('acomments', GetEnData($allow_comments, 'Разрешить', 'Запретить'))); FormRow('Кто видит', System::admin()->Select('view', GetUserTypesFormData($view))); FormRow('Включить', System::admin()->Select('enabled', GetEnData($enabled, 'Да', 'Нет'))); AddCenterBox($title); $back = ''; if (isset($_REQUEST['back'])) { $back = '&back=' . SafeDB($_REQUEST['back'], 255, str); } AddForm('<form name="news_editor" action="' . ADMIN_FILE . '?exe=news&a=save' . $met . $back . '" method="post" enctype="multipart/form-data" name="news_editor">', System::admin()->Button('Отмена', 'onclick="history.go(-1)"') . System::admin()->Button('Предпросмотр', 'onclick="NewsPreviewOpen();"') . System::admin()->Submit($caption)); }
function AdminForumEditor() { $site = System::site(); $f_title = ''; $f_desc = ''; if (CheckGet('parent')) { $f_parent = SafeDB($_GET['parent'], 11, int); } else { $f_parent = 0; } $f_view = 4; $f_status = 1; $f_admin_theme_add = array(false, false); $f_new_message_email = array(false, true); $f_no_link_guest = array(false, false); $rang_access = 0; $rang_add_theme = 0; $rang_message = 0; $close_topic = array(false, false); if (isset($_GET['id'])) { // Редактирование $id = SafeDB($_GET['id'], 11, int); System::database()->Select('forums', "`id`='{$id}'"); $forum = System::database()->FetchRow(); $f_title = SafeDB($forum['title'], 255, str); $f_desc = SafeDB($forum['description'], 0, str); $f_parent = SafeDB($forum['parent_id'], 11, int); $f_admin_theme_add[(int) $forum['admin_theme_add']] = true; $f_new_message_email[(int) $forum['new_message_email']] = true; $f_no_link_guest[(int) $forum['no_link_guest']] = true; $rang_access = SafeDB($forum['rang_access'], 11, int); $rang_add_theme = SafeDB($forum['rang_add_theme'], 11, int); $rang_message = SafeDB($forum['rang_message'], 11, int); $close_topic[(int) $forum['close_topic']] = true; $f_view = SafeDB($forum['view'], 1, int); $f_status = SafeDB($forum['status'], 1, int); $id_param = '&id=' . $id; $b_cap = 'Сохранить изменения'; if ($f_parent == 0) { $c_cap = 'Редактирование категории'; } else { $c_cap = 'Редактирование форума'; } } else { // Добавление $f_title = ''; $f_admin_theme_add[0] = true; $f_new_message_email[1] = true; $f_no_link_guest[0] = true; $close_topic[0] = true; $id_param = ''; $b_cap = 'Добавить'; if ($f_parent == 0) { $c_cap = 'Добавить категорию'; } else { $c_cap = 'Добавить форум'; } } FormRow('Название', $site->Edit('title', $f_title, false, 'style="width:400px;" maxlength="255" class="autofocus"')); if ($f_parent != 0) { $where = ''; if (isset($_GET['id'])) { $where = " `id`<>'" . SafeEnv($_GET['id'], 11, int) . "'"; } $forums = System::database()->Select('forums', $where); $cat = false; if (count($forums) == 0) { $cat = false; } else { foreach ($forums as $forum) { if ($forum['parent_id'] == 0) { $cat = true; } } } SortArray($forums, 'order'); $tree = ForumTree::Instance($forums); $tree->NumItemsCaption = ''; $tree->TopCatName = 'Нет родительского раздела'; $data = array(); if ($cat) { $data = $tree->GetCatsDataF($f_parent, true, true); } else { $site->DataAdd($data, 0, $tree->TopCatName, true); } FormRow('Родительский раздел', $site->Select('sub_id', $data)); FormTextRow('Описание', $site->HtmlEditor('desc', $f_desc, 600, 200)); } System::admin()->FormTitleRow('Настройки форума'); $endata = array(); $site->DataAdd($endata, '1', 'Да', $f_admin_theme_add[1]); $site->DataAdd($endata, '0', 'Нет', $f_admin_theme_add[0]); FormRow('', 'Только администраторы могут создавать новые темы: ' . $site->Select('admin_theme_add', $endata)); $endata = array(); $site->DataAdd($endata, '1', 'Да', $f_no_link_guest[1]); $site->DataAdd($endata, '0', 'Нет', $f_no_link_guest[0]); FormRow('', 'Скрывать ссылки от гостей: ' . $site->Select('no_link_guest', $endata)); $endata = array(); $site->DataAdd($endata, '1', 'Да', $f_new_message_email[1]); $site->DataAdd($endata, '0', 'Нет', $f_new_message_email[0]); FormRow('', 'Разрешить подписку на уведомление о новых сообщениях в теме: ' . $site->Select('new_message_email', $endata)); $endata = array(); $site->DataAdd($endata, '1', 'Да', $close_topic[1]); $site->DataAdd($endata, '0', 'Нет', $close_topic[0]); FormRow('', 'Закрыть для обсуждения (будет доступен только просмотр): ' . $site->Select('close_topic', $endata)); System::admin()->FormTitleRow('Настройка прав доступа по рангам пользователей'); FormRow('Доступ (с меньшим рангом доступ будет закрыт)', ForumAdminGetUsersTypesComboBox('rang_access', $rang_access)); FormRow('Создание тем (с меньшим рангом темы создавать будет запрещено)', ForumAdminGetUsersTypesComboBox('rang_add_theme', $rang_add_theme)); FormRow('Создание сообщений в теме (с меньшим рангом сообщения создавать будет запрещено)', ForumAdminGetUsersTypesComboBox('rang_message', $rang_message)); System::admin()->FormTitleRow('Параметры видимости'); FormRow('Видят', $site->Select('view', GetUserTypesFormData($f_view))); FormRow('Включить', $site->Select('status', GetEnData($f_status, 'Да', 'Нет'))); FormRow('Внимание', 'Ограничения прав и видимости действует на все дочерние форумы.'); AddCenterBox($c_cap); AddForm($site->FormOpen(ADMIN_FILE . '?exe=forum&a=forum_save' . $id_param), $site->Submit($b_cap)); }
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 AdminFormsEditor() { $name = ''; $hname = ''; $link = ''; $desc = ''; $form_action = ''; $email = ''; $send_ok_msg = ''; $view = 4; $active = true; if (!isset($_GET['id'])) { $action = 'addsave'; $top = 'Добавить форму'; $cap = 'Добавить'; } else { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('forms', "`id`='{$id}'"); $form = System::database()->FetchRow(); $hname = SafeDB($form['hname'], 255, str); $name = SafeDB($form['name'], 255, str); $link = SafeDB($form['link'], 255, str); $desc = SafeDB($form['desc'], 0, str, false); $view = SafeDB($form['view'], 1, int); $active = SafeDB($form['active'], 1, bool); $form_action = SafeDB($form['action'], 250, str); $email = SafeDB($form['email'], 250, str); $send_ok_msg = SafeDB($form['send_ok_msg'], 0, str, false); $action = 'editsave&id=' . $id; $top = 'Редактирование формы'; $cap = 'Сохранить изменения'; } FormRow('Название', System::site()->Edit('hname', $hname, false, 'maxlength="250" style="width:400px;" class="autofocus"')); FormRow('Ссылка', System::site()->Edit('link', $link, false, 'style="width:400px;"')); FormRow('Имя html', System::site()->Edit('name', $name, false, 'maxlength="250" style="width:400px;"')); FormTextRow('Описание', System::site()->HtmlEditor('desc', $desc, 600, 200)); FormRow('Сообщение при успешной отправке формы', System::site()->Edit('send_ok_msg', $send_ok_msg, false, 'maxlength="250" style="width:400px;"')); FormRow('Страница обработчик (если не указано, то используется стандартный обработчик)', System::site()->Edit('action', $form_action, false, 'maxlength="250" style="width:400px;"')); FormRow('Email (отправить форму на указанный e-mail)', System::site()->Edit('email', $email, false, 'maxlength="50" style="width:400px;"')); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($view))); FormRow('Активна', System::site()->Select('active', GetEnData($active, 'Да', 'Нет'))); AddCenterBox($top); AddForm('<form action="' . ADMIN_FILE . '?exe=forms&a=' . $action . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($cap)); }
function AdminSiteMessagesEditor() { $title = ''; $text = ''; $showin = array('ALL_EXCEPT'); $extrauri = array(); $time = '0'; $view = 4; $enabled = 1; $view_title = array(false, false); $position = array(false, false); $resettime = ''; if (!isset($_GET['id'])) { $view_title[1] = true; $position[1] = true; $url = ''; $btitle = 'Создать сообщение'; $method = 'Создать'; $a = 'add'; } else { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('messages', "`id`='{$id}'"); $msg = System::database()->FetchRow(); $title = SafeDB($msg['title'], 250, str); $text = SafeDB($msg['text'], 0, str, false); $time = SafeDB($msg['expire'], 11, int); if ($time != '0') { $total = TotalTime(time(), SafeDB($msg['date'], 11, int) + Day2Sec * SafeDB($msg['expire'], 11, int)); $resettime = 'Осталось времени ' . $total['sdays'] . ' и ' . $total['shours']; } $showin = unserialize($msg['showin']); $extrauri = unserialize($msg['showin_uri']); $view_title[SafeDB($msg['view_title'], 1, int)] = true; $position[SafeDB($msg['position'], 1, int)] = true; $view = SafeDB($msg['view'], 1, int); $enabled = SafeDB($msg['active'], 1, int); $url = '&id=' . $id; $btitle = 'Редактирование сообщения'; $method = 'Сохранить изменения'; $a = 'edit'; } FormRow('Заголовок', System::site()->Edit('title', $title, false, 'maxlength="250" style="width:400px;" class="autofocus"')); FormRow('Показывать заголовок', System::site()->Radio('vtitle', 'on', $view_title[1]) . 'Да ' . System::site()->Radio('vtitle', 'off', $view_title[0]) . 'Нет'); FormTextRow('Текст сообщения', System::site()->HtmlEditor('text', $text, 625, 300)); FormRow('Отображать дней:<br /><small> (0 - неограниченно)</small>', System::site()->Edit('time', $time, false, 'maxlength="3" style="width:40px;"') . $resettime); if ($a == 'edit') { FormRow('Сбросить таймер', System::site()->Check('resettime', '1', false)); } VisibilityConditionsAdmin($showin, $extrauri); System::site()->DataAdd($posd, 'top', 'Вверху', $position[1]); System::site()->DataAdd($posd, 'bottom', 'Внизу', $position[0]); FormRow('Положение', System::site()->Select('position', $posd)); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($view))); FormRow('Включить', System::site()->Select('enabled', GetEnData($enabled))); AddCenterBox($btitle); AddForm('<form action="' . ADMIN_FILE . '?exe=messages&a=save' . $url . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($method)); }
/** * Редактор страницы * @return void */ function AdminPagesEditor() { $link = ''; $parent_id = -1; if (isset($_GET['parent'])) { $parent_id = SafeEnv($_GET['parent'], 11, int); } $page_id = -1; $title = ''; $text = '<p></p>'; $copy = ''; $auto_br = false; $info = array(false, false, false, false, false); $view = 4; $enabled = true; $showinmenu = true; //Модуль SEO $seo_title = ''; $seo_keywords = ''; $seo_description = ''; // if (isset($_GET['id'])) { $page_id = SafeEnv($_GET['id'], 11, int); System::database()->Select('pages', "`id`='" . $page_id . "'"); $page = System::database()->FetchRow(); $link = SafeDB($page['link'], 255, str); $parent_id = SafeDB($page['parent'], 11, int); $title = SafeDB($page['title'], 255, str); $text = SafeDB($page['text'], 0, str, false); $copy = SafeDB($page['copyright'], 255, str); $auto_br = SafeDB($page['auto_br'], 1, bool); $inf = SafeDB($page['info_showmode'], 5, str); $info = array($inf[0], $inf[1], $inf[2], $inf[3], $inf[4]); $view = SafeDB($page['view'], 1, int); $enabled = SafeDB($page['enabled'], 1, bool); $showinmenu = SafeDB($page['showinmenu'], 1, bool); //Модуль SEO $seo_title = SafeDB($page['seo_title'], 255, str); $seo_keywords = SafeDB($page['seo_keywords'], 255, str); $seo_description = SafeDB($page['seo_description'], 255, str); // $url = '&id=' . $page_id; $submit = 'Сохранить изменения'; $box_title = 'Редактирование страницы'; } else { $url = ''; $submit = 'Добавить'; $box_title = 'Добавить страницу'; } System::admin()->AddJS(Indent(' PagesPreviewOpen = function(){ if(tinyMCE){ tinyMCE.triggerSave(); } var form_data = Admin.SerializeFormData(document.forms.pages_editor); 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=pages&a=preview' . $url . '", data: form_data, dataType: "html", success: function(data){ wp.document.write(data); wp.document.close(); } }); } ')); // Возможные родительские страницы $pages = System::database()->Select('pages'); SortArray($pages, 'order'); $tree = new Tree($pages); $cats_data = $tree->GetCatsData($parent_id, false, true, $page_id, true); FormRow('Родительская страница', System::site()->Select('parent_id', $cats_data, false, $parent_id == -1 ? 'class="autofocus"' : '')); FormRow('Заголовок', System::site()->Edit('title', $title, false, 'style="width:400px;" maxlength="255"' . ($parent_id != -1 ? ' class="autofocus"' : ''))); FormRow('Ссылка', System::site()->Edit('link', $link, false, 'style="width:400px;"')); //Модуль 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;"')); // FormTextRow('Текст (HTML)', System::site()->HtmlEditor('text', $text, 600, 400)); FormRow('Преобразовать текст в HTML', System::admin()->Select('auto_br', GetEnData($auto_br, 'Да', 'Нет'))); FormRow('Авторское право', System::site()->Edit('copy', $copy, false, 'style="width:400px;" maxlength="255"')); FormRow('Добавить информацию на страницу', '<label>' . System::site()->Check('ins_title', '1', $info[0]) . 'Заголовок</label><br />' . '<label>' . System::site()->Check('ins_copy', '1', $info[1]) . 'Авторские права</label><br />' . '<label>' . System::site()->Check('ins_date', '1', $info[2]) . 'Дата добавления</label><br />' . '<label>' . System::site()->Check('ins_modified', '1', $info[3]) . 'Дата изменения (если изменялась)</label><br />' . '<label>' . System::site()->Check('ins_counter', '1', $info[4]) . 'Количество просмотров</label>'); FormRow('Кто видит', System::site()->Select('view', GetUserTypesFormData($view))); FormRow('Показать в меню', System::admin()->Select('showinmenu', GetEnData($showinmenu, 'Да', 'Нет'))); FormRow('Включить', System::admin()->Select('enabled', GetEnData($enabled, 'Да', 'Нет'))); AddCenterBox($box_title); AddForm('<form action="' . ADMIN_FILE . '?exe=pages&a=save' . $url . '" method="post" name="pages_editor">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::admin()->Button('Предпросмотр', 'onclick="PagesPreviewOpen();"') . System::site()->Submit($submit)); }
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)); }
function AdminPollsEditor() { global $editpolls; if (!$editpolls) { System::admin()->AccessDenied(); } $view = 4; $answers = array(); if (isset($_GET['id'])) { //Редактирование $title = 'Редактирование опроса'; $btitle = 'Сохранить изменения'; $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('polls', "`id`='{$id}'"); $p = System::database()->FetchRow(); $poll = SafeDB($p['question'], 255, str); $desc = SafeDB($p['description'], 255, str); $showinblock = SafeDB($p['showinblock'], 1, int); $multianswers = SafeDB($p['multianswers'], 1, int); //Ответы $answers = unserialize($p['answers']); $allow_comments = SafeDB($p['allow_comments'], 1, int); $active = $p['active']; $view = SafeDB($p['view'], 1, int); $uid = '&id=' . $id; } else { //Добавление $title = 'Добавить опрос'; $btitle = 'Добавить'; $poll = ''; $desc = ''; $showinblock = true; $multianswers = false; $answers[] = array('Вариант ответа 1', '', '0'); $answers[] = array('Вариант ответа 2', '', '0'); $allow_comments = true; $active = true; $uid = ''; } FormRow('Вопрос', System::site()->Edit('poll', $poll, false, 'maxlength="250" style="width:400px;" class="autofocus"')); FormRow('Описание', System::site()->Edit('desc', $desc, false, 'maxlength="250" style="width:400px;"')); FormRow('Показывать в блоке', System::site()->Select('showinblock', GetEnData($showinblock, 'Да', 'Нет'))); FormRow('Мультиответы', System::site()->Select('multianswers', GetEnData($multianswers, 'Да', 'Нет'))); $answers_js = ''; foreach ($answers as $answer) { $answers_js .= ",['" . HtmlChars($answer[0], ENT_QUOTES) . "', '" . HtmlChars($answer[1], ENT_QUOTES) . "', " . SafeDB($answer[2], 11, int) . "]"; } $answers_js = '[' . substr($answers_js, 1) . ']'; // Выводим поле для редактирования ответов System::admin()->AddOnLoadJS(Indent(' if(!("map" in Array.prototype)) Array.prototype.map = function(mapper, that){ var other = new Array(this.length); for(var i=0, n=this.length; i<n; i++){ if(i in this){ other[i] = mapper.call(that, this[i], i, this); } } return other; }; answersdata = ' . $answers_js . '; tableAddRow = function(answer, color, voices){ var tr = $("<tr>"); var answerinput = $("<input>", {type: "text", name: "answer[]", "class": "fd_answer"}).val(answer).css("width", "400px"); $("<td>").append(answerinput).appendTo(tr); $("<td>").append($("<input>", {type: "text", name: "color[]", "class": "fd_color"}).val(color).css("width", "80px")).appendTo(tr); $("<td>").append($("<input>", {type: "text", name: "voices[]", "class": "fd_voices"}).val(voices).css("width", "50px").css("text-align", "right")).appendTo(tr); var td_delete = $("<td>").appendTo(tr); $("<a>", {"class": "button", html: "<img src=\\"images/admin/delete.png\\">", href: "#", title: "Удалить"}).click(function(){ tr.remove(); return false; }).appendTo(td_delete); tr.appendTo($("#answers_table tbody")); answerinput.focus(); }; AddPollAnswer = function(){ tableAddRow("", "", "0"); }; answersdata.map(function(item){ tableAddRow(item[0], item[1], item[2]); }); $("#answers_table tbody").sortable(); ')); FormRow('Ответы', Indent(' <table cellspacing="0" cellpadding="0" class="cfgtable" id="answers_table"> <thead> <tr> <th style="width: 400px;">Ответ</th> <th style="width: 80px;">Цвет</th> <th style="width: 50px;">Ответы</th> <th style="width: 40px;"> </th> </tr> </thead> <tbody></tbody> </table> <div style="float: right;">' . System::admin()->SpeedConfirmJs('Добавить ответ', 'AddPollAnswer();', 'images/admin/plus.png', '', true) . '</div> ')); FormRow('Разрешить комментарии', System::site()->Select('allow_comments', GetEnData($allow_comments, 'Да', 'Нет'))); FormRow('Включить', System::site()->Select('active', GetEnData($active, 'Да', 'Нет'))); FormRow('Кто может отвечать', System::site()->Select('view', GetUserTypesFormData($view))); AddCenterBox($title); AddForm('<form action="' . ADMIN_FILE . '?exe=polls&a=save' . $uid . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($btitle)); }