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 AdminMailEditTopic() { $title = ''; $description = ''; $active = array(false, false); $status = array(false, false); if (!isset($_GET['id'])) { $active[1] = true; $status[1] = true; $action = 'save_topic'; $top = 'Добавить тему'; $cap = 'Добавить'; } else { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('mail_topics', "`id`='{$id}'"); $topic = System::database()->FetchRow(); $title = SafeDB($topic['title'], 250, str); $description = SafeDB($topic['description'], 250, str); $active[SafeDB($topic['active'], 1, int)] = true; $status[SafeDB($topic['status'], 1, int)] = true; $action = 'save_topic&id=' . $id; $top = 'Редактирование темы'; $cap = 'Сохранить изменения'; } FormRow('Заголовок', System::site()->Edit('title', $title, false, 'maxlength="250" style="width:400px;" class="autofocus"'), 140); FormTextRow('Описание', System::site()->HtmlEditor('description', $description, 600, 200)); FormRow('Активна', System::site()->Select('active', GetEnData($active[1]))); FormRow('Включить', System::site()->Select('status', GetEnData($status[1]))); AddCenterBox($top); AddForm('<form action="' . ADMIN_FILE . '?exe=mail&a=' . $action . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($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 AdminSmilesEditSmile() { global $smilies_dir, $mod; System::admin()->AddJS(Indent(' SelectSmile = function(){ var selected = $("#smile_file option:selected"); $("#smile_image").prop("src", "' . $smilies_dir . '"+selected.val()); $("#smile_code").val(selected.attr("code")); $("#smile_desc").val(selected.attr("description")); }; ')); $id = 0; $file = ''; $code = ''; $desc = ''; $enabled = true; $box_title = 'Добавить смайлик'; $submit = 'Добавить'; if (isset($_GET['id'])) { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('smilies', "`id`='{$id}'"); $smile = System::database()->FetchRow(); $file = $smile['file']; $code = SafeDB($smile['code'], 255, str); $desc = SafeDB($smile['desc'], 255, str); $enabled = SafeDB($smile['enabled'], 1, bool); $submit = 'Сохранить'; $box_title = 'Редактирование смайлика'; System::admin()->AddOnLoadJS('$("#smile_image").prop("src", "' . $smilies_dir . '"+$("#smile_file option:selected").val());'); } else { System::admin()->AddOnLoadJS('SelectSmile();'); } AddCenterBox($box_title); $smilies = System::database()->Select('smilies'); $xor = array(); if ($id == 0) { $xor =& $smilies; } else { foreach ($smilies as $smile) { if ($smile['id'] != $id) { $xor[] = $smile; } } } $smilies_data = AdminSmiliesGetData($file, $xor); if ($id == 0 && count($smilies_data) == 0) { System::admin()->Highlight('Загрузите изображения смайликов в папку <b>' . $smilies_dir . '</b> для добавления.'); return; } FormRow('Изображение', System::site()->Select('file', $smilies_data, false, 'onchange="SelectSmile()" id="smile_file" class="autofocus"')); FormRow('Предпросмотр', '<img id="smile_image">'); FormRow('Код', System::site()->Edit('code', $code, false, 'style="width: 200px;" id="smile_code"')); FormRow('Описание', System::site()->Edit('desc', $desc, false, 'style="width: 200px;" id="smile_desc"')); FormRow('Показывать', System::admin()->Select('indexview', GetEnData($enabled, 'Да', 'Нет'))); AddForm('<form name="newsmile" action="' . $mod . '&a=save' . ($id != 0 ? '&id=' . $id : '') . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($submit)); }
function AdminAdminMenuEditor() { UseScript('jquery'); System::admin()->AddJS(Indent(<<<JS \t\tSelectLinkType = function(type, first){ \t\t\t\$('.aaml').hide(); \t\t\tif(first){ \t\t\t\t\$('.aaml_'+type).show(); \t\t\t}else{ \t\t\t\t\$('.aaml_'+type).fadeIn(1000); \t\t\t} \t\t}; \t\tSelectModule = function(mod){ \t\t\t\tvar mod = \$(mod).find('option:selected').attr('title'); \t\t\t\t\$('#item_title').val(mod).focus(); \t\t}; JS )); $id = -1; $parent = 0; if (isset($_GET['parent'])) { $parent = SafeEnv($_GET['parent'], 11, int); } $module = ''; $title = ''; $icon = ''; $admin_link = ''; $external_link = ''; $blank = false; $js = ''; $type = 'admin'; //(admin|external|js|node|delimiter) $enabled = true; if (isset($_GET['id'])) { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('adminmenu', "`id`='{$id}'"); $item = System::database()->FetchRow(); $parent = SafeDB($item['parent'], 11, int); $module = SafeDB($item['module'], 255, str); $title = SafeDB($item['title'], 255, str); $icon = SafeDB($item['icon'], 255, str); $admin_link = SafeDB($item['admin_link'], 255, str); $external_link = SafeDB($item['external_link'], 255, str); $blank = SafeDB($item['blank'], 1, bool); $js = SafeDB($item['js'], 0, str); $type = SafeDB($item['type'], 255, str); $enabled = SafeDB($item['enabled'], 1, bool); $form_title = 'Редактирование элемента'; $button = 'Сохранить'; } else { $form_title = 'Добавить элемент'; $button = 'Добавить'; } System::admin()->AddOnLoadJS("SelectLinkType('{$type}', true);"); $items_db = System::database()->Select('adminmenu', "`type`<>'delimiter'"); $items_tree = new Tree($items_db); $parent_data = $items_tree->GetCatsData($parent, false, true, $id, true); $modules_db = System::database()->Select('modules'); $modules_data = array(); System::admin()->DataAdd($modules_data, '', '', '' == $module); foreach ($modules_db as $mod) { System::admin()->DataAdd($modules_data, $mod['folder'], $mod['name'], $mod['folder'] == $module); } $types_data = array(); $types_av = array('admin' => 'Внутренняя ссылка', 'external' => 'Внешняя ссылка', 'js' => 'JavaScript', 'node' => 'Категория', 'delimiter' => 'Разделитель'); foreach ($types_av as $t => $c) { System::admin()->DataAdd($types_data, $t, $c, $t == $type); } System::admin()->FormRow('Родительский элемент', System::admin()->Select('parent', $parent_data, false, $parent == 0 ? 'class="autofocus"' : '')); System::admin()->FormRow('Модуль', System::admin()->Select('module', $modules_data, false, 'onchange="SelectModule(this);"' . ($parent != 0 ? ' class="autofocus"' : ''))); System::admin()->FormRow('Заголовок', System::site()->Edit('title', $title, false, 'id="item_title" style="width:400px;" maxlength="255"')); System::admin()->FormRow('Иконка (16x16)', System::site()->Edit('icon', $icon, false, 'style="width:400px;" maxlength="255"')); System::admin()->FormRow('Тип', System::admin()->Select('type', $types_data, false, 'onchange="SelectLinkType(this.value);"')); System::admin()->FormRow('Внутренняя ссылка', System::site()->Edit('admin_link', $admin_link, false, 'style="width:400px;" maxlength="255"'), 'class="aaml aaml_admin"'); System::admin()->FormRow('Внешняя ссылка', System::site()->Edit('external_link', $external_link, false, 'style="width:400px;" maxlength="255"'), 'class="aaml aaml_external"'); System::admin()->FormRow('Открыть ссылку в новом окне/вкладке', System::admin()->Select('blank', GetEnData($blank, 'Да', 'Нет')), 'class="aaml aaml_external"'); System::admin()->FormTextRow('JavaScript', System::site()->TextArea('js', $js, 'style="width:400px;height:100px;"'), 'class="aaml aaml_js"'); System::admin()->FormRow('Включить', System::admin()->Select('enabled', GetEnData($enabled, 'Да', 'Нет'))); System::admin()->AddCenterBox($form_title); System::admin()->AddForm('<form action="' . ADMIN_FILE . '?exe=adminmenu&a=save' . ($id != -1 ? '&id=' . $id : '') . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . System::site()->Submit($button)); }
function AdminFormsFieldEditor($action) { global $cl_plugins, $cs_plugins; if (!isset($_GET['id'])) { GO(ADMIN_FILE . '?exe=forms'); } $id = SafeEnv($_GET['id'], 11, int); $collsd = array(); for ($i = 1; $i < 11; $i++) { System::site()->DataAdd($collsd, $i, $i); } $getfuncdata = array(); System::site()->DataAdd($getfuncdata, '', ''); foreach ($cl_plugins as $pl) { System::site()->DataAdd($getfuncdata, $pl[0], $pl[0]); } $savefuncdata = array(); System::site()->DataAdd($savefuncdata, '', ''); foreach ($cs_plugins as $pl) { System::site()->DataAdd($savefuncdata, $pl[0], $pl[0]); } $controls = array(); System::site()->DataAdd($controls, 'edit', 'Текстовое поле'); System::site()->DataAdd($controls, 'text', 'Область редактирования'); System::site()->DataAdd($controls, 'combo', 'Раскрывающийся список'); System::site()->DataAdd($controls, 'list', 'Список (мультивыделение)'); System::site()->DataAdd($controls, 'check', 'Флажки'); System::site()->DataAdd($controls, 'radio', 'Радиокнопки'); System::site()->DataAdd($controls, 'file', 'Файл'); $datatypes = array(); System::site()->DataAdd($datatypes, 'int', 'Целочисленный'); System::site()->DataAdd($datatypes, 'float', 'Вещественный'); System::site()->DataAdd($datatypes, 'string', 'Текстовый'); System::site()->DataAdd($datatypes, 'bool', 'Логический'); System::site()->DataAdd($datatypes, 'file', 'Файл'); $required = false; if ($action == 'add') { $hname = ''; $name = ''; $width = ''; $height = ''; $length = '0'; $values = ''; $cp = 'Добавить'; $edit = false; System::admin()->FormTitleRow('Добавить поле'); } else { $index = SafeEnv($_GET['index'], 11, int); System::database()->Select('forms', "`id`='{$id}'"); $form = System::database()->FetchRow(); $fields = unserialize($form['form_data']); $field = $fields[$index]; $hname = $field['hname']; $name = $field['name']; $stype = FormsParseParams(explode(':', $field['kind'])); $width = $stype['width']; $height = $stype['height']; $cols = $stype['cols']; $required = $stype['required']; $controls['selected'] = $stype['control']; $collsd['selected'] = $cols; $vv = explode(':', $field['values']); if (count($vv) == 2 && FormsConfigCheck2Func($vv[0], $vv[1])) { $getfuncdata['selected'] = $vv[1]; $values = ''; } else { $values = $field['values']; } if (function_exists($field['savefunc'])) { $savefuncdata['selected'] = $field['savefunc']; } $type = explode(',', $field['type']); $datatypes['selected'] = $type[1]; $length = $type[0]; $cp = 'Сохранить изменения'; $edit = true; } FormRow('Название', System::site()->Edit('hname', $hname, false, 'maxlength="250" style="width:400px;" class="autofocus"')); FormRow('Имя HTML (уникальное для всех полей)', System::site()->Edit('name', $name, false, 'maxlength="250" style="width:400px;"')); FormRow('Элемент управления (укажите единицу измерения после ширины и высоты: %, px)', '<table>' . '<tr><td colspan="2" style="border:none; padding: 2px;">' . System::site()->Select('control', $controls) . '<td></tr>' . '<tr><td style="border:none; padding: 2px;">Ширина:</td>' . '<td style="border:none; padding: 2px;">' . System::site()->Edit('cwidth', $width, false, 'style="width:100px;"') . '</td></tr>' . '<tr><td style="border:none; padding: 2px;">Высота:</td>' . '<td style="border:none; padding: 2px;">' . System::site()->Edit('cheight', $height, false, 'style="width:100px;"') . '</td></tr>' . '<tr><td style="border:none; padding: 2px;">Колонок:</td>' . '<td style="border:none; padding: 2px;">' . System::site()->Select('ccols', $collsd) . '</td></tr>' . '</table>'); FormTextRow('Возможные значения (Например: name:имя,name:имя, .... Только для элементов выбора.)', System::site()->TextArea('values', $values, 'style="width:600px;height:100px;"')); FormRow('Функция заполнения значений', System::site()->Select('valuesfunc', $getfuncdata)); FormRow('Функция обработчик', System::site()->Select('savefunc', $savefuncdata)); FormRow('Тип данных', System::site()->Select('datatype', $datatypes)); FormRow('Длина поля (Размер файла Кб., 0 - неограниченно)', System::site()->Edit('maxlength', $length, false, 'style="width:60px;" maxlength="11"')); FormRow('Обязательное для заполнения', System::site()->Select('required', GetEnData($required, 'Да', 'Нет'))); AddForm(System::site()->FormOpen(ADMIN_FILE . '?exe=forms&a=addfield&id=' . $id . ($edit ? '&index=' . $index : '')), ($edit ? System::site()->Button('Отмена', 'onclick="history.go(-1);"') : '') . System::site()->Submit($cp)); }
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 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 AdminPagesCatEditor() { $id = -1; $title = ''; $parent_id = -1; if (isset($_GET['parent'])) { $parent_id = SafeEnv($_GET['parent'], 11, int); } $view = array(1 => false, 2 => false, 3 => false, 4 => false); $enabled = true; $showinmenu = true; if (!isset($_GET['id'])) { $view[4] = true; $form_title = 'Добавить категорию'; $submit = 'Добавить'; } else { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('pages', "`id`='{$id}'"); $pg = System::database()->FetchRow(); $parent_id = SafeEnv($pg['parent'], 11, int); $title = SafeEnv($pg['title'], 255, str); $view[SafeDB($pg['view'], 1, int)] = true; $enabled = SafeDB($pg['enabled'], 1, bool); $showinmenu = SafeDB($pg['showinmenu'], 1, bool); $form_title = 'Редактирование категории'; $submit = 'Сохранить изменения'; } // Возможные родительские страницы $pages = System::database()->Select('pages'); SortArray($pages, 'order'); $tree = new Tree($pages); $cats_data = $tree->GetCatsData($parent_id, false, true, $id, true); // Кто видит $visdata = array(); System::site()->DataAdd($visdata, 'all', 'Все', $view['4']); System::site()->DataAdd($visdata, 'members', 'Только пользователи', $view['2']); System::site()->DataAdd($visdata, 'guests', 'Только гости', $view['3']); System::site()->DataAdd($visdata, 'admins', 'Только администраторы', $view['1']); 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()->Select('view', $visdata)); FormRow('Показать в меню', System::admin()->Select('showinmenu', GetEnData($showinmenu, 'Да', 'Нет'))); FormRow('Включить', System::admin()->Select('enabled', GetEnData($enabled, 'Да', 'Нет'))); AddCenterBox($form_title); AddForm('<form action="' . ADMIN_FILE . '?exe=pages&a=savecat' . ($id != -1 ? '&id=' . $id : '') . '" method="post">', System::site()->Button('Отмена', 'onclick="history.go(-1)"') . 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 AdminFeedBackEditor() { $name = ''; $email = ''; $active = array(false, false); if (!isset($_GET['id'])) { $active[1] = true; $headt = 'Добавить департамент'; $bbb = 'Добавить'; } elseif (isset($_GET['id'])) { $id = SafeEnv($_GET['id'], 11, int); System::database()->Select('feedback', "`id`='" . $id . "'"); $fb = System::database()->FetchRow(); $name = SafeDB($fb['name'], 255, str); $email = SafeDB($fb['email'], 50, str); $active[$fb['active']] = true; $headt = 'Редактирование департамента'; $bbb = 'Сохранить изменения'; } FormRow('Название', System::site()->Edit('name', $name, false, 'style="width:200px;" class="autofocus"')); FormRow('E-mail', System::site()->Edit('email', $email, false, 'style="width:200px;"')); FormRow('Включить', System::site()->Select('enabled', GetEnData($active[1]))); AddCenterBox($headt); AddForm('<form action="' . ADMIN_FILE . '?exe=feedback&a=save' . (isset($id) ? '&id=' . $id : '') . '" method="post">', System::site()->Submit($bbb)); }
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)); }