Ejemplo n.º 1
0
	<td><textarea title="' . t('Описание') . '" name="f_category_desc[[ID]]">[DESCR_HTML]</textarea></td>
	
	<td><input title="' . t('Короткая ссылка') . '" name="f_category_slug[[ID]]" value="[SLUG_HTML]" maxlength="500" type="text"><div style="text-align: right;"><a href="' . getinfo('siteurl') . 'category/[SLUG_HTML]" target="_blank" title="' . t('Смотреть рубрику на сайте') . '">»»»</a></div></td>
	
	<td><input title="' . t('Порядок') . '" name="f_category_menu_order[[ID]]" value="[MENU_ORDER]" maxlength="500" type="text"></td>
	
	<td><input type="submit" name="f_edit_submit[[ID]]" value="' . t('Изменить') . '">
	
	<br><input type="submit" name="f_delete_submit[[ID]]" value="' . t('Удалить') . '" onClick="if(confirm(\'' . t('Удалить рубрику?') . '\')) {return true;} else {return false;}" ></td>
	
	</tr></table>
	
	';
$out = mso_create_list($all, array('childs' => 'childs', 'format' => $format, 'format_current' => $format, 'class_ul' => '', 'class_ul_style' => 'list-style-type: none; margin: 0;', 'class_child_style' => 'list-style-type: none;', 'class_li_style' => 'margin: 5px 0;', 'title' => 'category_name', 'link' => 'category_slug', 'current_id' => false, 'prefix' => 'category/', 'count' => 'pages_count', 'id' => 'category_id', 'slug' => 'category_slug', 'menu_order' => 'category_menu_order', 'id_parent' => 'category_id_parent'));
// добавляем форму, а также текущую сессию
echo '<form method="post" class="fform">' . mso_form_session('f_session_id') . '<table class="page cats">
			<colgroup style="width: 30px">
			<colgroup style="width: 50px">
			<colgroup style="width: 200px">
			<colgroup>
			<colgroup style="width: 150px">
			<colgroup style="width: 50px">
			<colgroup style="width: 80px">
			<tr>
			<th>ID</th>
			<th>' . t('Род.') . '</th>
			<th>' . t('Название') . '</th>
			<th>' . t('Описание') . '</th>
			<th>' . t('Ссылка') . '</th>
			<th>' . t('Пор.') . '</th>
			<th>&nbsp;</th>
Ejemplo n.º 2
0
                } else {
                    $form .= '<h3>' . $a_js . $MSO->widgets[$widget] . '</a></h3>';
                }
                $form .= '<div class="admin_widgets" id="' . $d_id . '">';
                $res = $func($num);
                if ($res) {
                    $form .= $res;
                } else {
                    $form .= '<p>' . t('Виджет не содержит настроек') . '</p>';
                }
                $form .= '<input type="hidden" name="f_update_widgets[' . $widget . '--' . $num . ']" value="">';
                $form .= '</div>' . NR;
                // div id=
                $form .= '</div>' . NR . NR;
            }
        }
        $form .= '</div>' . NR;
    }
} else {
    $error .= '<div class="error">' . t('Сайдбары не определены. Обычно они регистрируются в файле <strong>functions.php</strong> вашего шаблона. Например:') . ' <br><strong>mso_register_sidebar(\'1\', \'' . t('Первый сайдбар') . '\');</strong></div>';
}
if (!$error) {
    // добавляем форму, а также текущую сессию
    echo '<form method="post" class="admin_widgets">' . mso_form_session('f_session_id');
    echo $form;
    echo '<button type="submit" name="f_submit" class="i save">' . t('Сохранить изменения') . '</button>';
    echo '</form>';
} else {
    echo $error;
}
# end of file
Ejemplo n.º 3
0
<p class="info"><?php 
echo t('C помощью этого плагина вы можете организовать рассылку email-сообщений по списку.');
?>
</p>

<?php 
$options = mso_get_option($options_key, 'plugins', array());
if (!isset($options['maillist'])) {
    $options['maillist'] = '';
}
if (!isset($options['subject'])) {
    $options['subject'] = '';
}
if (!isset($options['files'])) {
    $options['files'] = '';
}
if (!isset($options['message'])) {
    $options['message'] = '';
}
if (!isset($options['from'])) {
    $options['from'] = mso_get_option('admin_email_server', 'general', '');
}
echo '<form action="" method="post">' . mso_form_session('f_session_id');
echo '<p><strong>' . t('Тема письма:') . '</strong></p><input name="f_subject" type="text" style="width: 100%" value="' . $options['subject'] . '">';
echo '<p><strong>' . t('От кого (email):') . '</strong></p><input name="f_from" type="text" style="width: 100%" value="' . $options['from'] . '">';
echo '<p><strong>' . t('Файл вложения (путь к файлу в «uploads»):') . '</strong></p><input name="f_files" type="text" style="width: 100%" value="' . $options['files'] . '">';
echo '<p><strong>' . t('Текст письма:') . '</strong></p><textarea name="f_message" style="width: 100%; height: 200px;">' . htmlspecialchars($options['message']) . '</textarea>';
echo '<p><strong>' . t('Список рассылки (один email в строке):') . '</strong></p><textarea name="f_list" style="width: 100%; height: 200px;">' . htmlspecialchars($options['maillist']) . '</textarea>';
echo '<br><input type="submit" name="f_submit_send" value="' . t('Разослать') . '" style="margin: 25px 0 5px 0;">';
echo '<input type="submit" name="f_save_list" value="' . t('Только сохранить список') . '" style="margin: 25px 0 5px 0;">';
echo '</form>';
Ejemplo n.º 4
0
    $answers_array = add_empty_answers($answers_array);
}
$plug_path = getinfo('plugins_url') . 'samborsky_polls/';
////////////////////////////////////////////
//		ВЫВОД ФОРМЫ
////////////////////////////////////////////
?>

<h1><?php 
echo t('Добавление/Изменение голосования');
?>
</h1>
<div class="polls_addEdit_form">
	<form method="post">
		<?php 
echo mso_form_session('f_session_id');
?>
		<input type="hidden" name="act" value="<?php 
echo $act;
?>
" />
		<input type="hidden" name="id" value="<?php 
echo $qu->data->q_id;
?>
" />


		<h2><?php 
echo t('Вопрос:');
?>
</h2>
Ejemplo n.º 5
0
		[type] => 'php'
		[text] => ''				
...
*/
// pr($ushki);
echo '<form method="post">' . mso_form_session('f_session_id') . '
		<p><strong>' . t('Новая ушка:') . '</strong> ' . ' <input name="f_ushka_new" type="text" value="">
		<button type="submit" name="f_submit_new">' . t('Добавить новую ушку') . '</button></p>
		</form>';
$form = '';
foreach ($ushki as $id => $us) {
    $form .= '<div class="ushki">';
    $sel_html = $sel_php = '';
    if ($us['type'] == 'php') {
        $sel_php = ' selected="selected" ';
    } else {
        $sel_html = ' selected="selected" ';
    }
    $form .= '<p class="ushki_title"><input name="f_ushka[' . $id . '][name]" type="text" value="' . $us['name'] . '"  style="width: 400px;">
				<select style="width: 150px;" name="f_ushka[' . $id . '][type]"><option value="html"' . $sel_html . '/>TEXT/HTML</option><option value="php"' . $sel_php . '>PHP</option></select>
				<label><input name="f_ushka[' . $id . '][delete]" type="checkbox"> ' . t('Удалить') . '</label>
			</p>';
    $form .= '<p><textarea name="f_ushka[' . $id . '][text]">' . htmlspecialchars($us['text']) . '</textarea>';
    $form .= '</div>';
}
if ($form) {
    echo '<h2>' . t('Ушки') . '</h2><form method="post">' . mso_form_session('f_session_id');
    echo $form;
    echo '<p class="br"><button type="submit" name="f_submit">' . t('Сохранить изменения') . '</button>';
    echo '</form>';
}
Ejemplo n.º 6
0
function theme_switch_widget_custom($options = array(), $num = 1)
{
    if (!isset($options['header'])) {
        $options['header'] = '';
    }
    if (!isset($options['submit'])) {
        $options['submit'] = t('Переключить');
    }
    // выводим списком шаблоны, которые отмечены и сохранены в опции theme_switch (через admin.php)
    $opt = mso_get_option('theme_switch', 'plugins', array());
    if (!isset($opt['templates'])) {
        $opt['templates'] = array();
    }
    $current_template = getinfo('template');
    $out = '';
    foreach ($opt['templates'] as $key => $val) {
        if ($key == $current_template) {
            $checked = 'checked="checked"';
        } else {
            $checked = '';
        }
        $out .= '<label><input type="radio" name="theme_switch_radio[]" value="' . $key . '" id="theme_switch_radio_' . $key . '" ' . $checked . '> ' . $val . '</label><br>' . NR;
    }
    if ($out) {
        $out = '<div class="mso-theme_switch">' . $options['header'] . '<form method="post">' . mso_form_session('f_session_id') . $out . '<p><button type="submit" name="f_theme_switch_submit" class="submit">' . $options['submit'] . '</button></p></form></div>';
    }
    return $out;
}
Ejemplo n.º 7
0
            echo '</div>';
            $text_email = t("Новая запись в гостевой книге") . ": \n" . $text_email;
            $text_email .= "\n" . t("Редактировать") . ": " . getinfo('siteurl') . 'admin/guestbook/editone/' . $CI->db->insert_id() . "\n";
            if ($options['email'] and mso_valid_email($options['email'])) {
                mso_mail($options['email'], t('Новая запись в гостевой книге'), $text_email);
            }
        } else {
            echo '<div class="error">' . t('Ошибка добавления в базу данных...') . '</div>';
        }
        mso_flush_cache();
        // тут бы редирект, но мы просто убиваем сессию
        $CI->session->sess_destroy();
    }
} else {
    // тут форма, если не было post
    echo '<div class="guestbook_form"><form action="" method="post">' . mso_form_session('f_session_id');
    echo '<table style="width: 100%;">';
    foreach ($options['fields_arr'] as $key => $val) {
        echo '<tr><td style="vertical-align: top; text-align: right;" class="td1"><strong>' . t($val) . '</strong> </td><td class="td2">';
        if ($key != 'text') {
            echo '<input name="f_fields_guestbook[' . $key . ']" type="text" style="width: 99%;"></td></tr>';
        } else {
            echo '<textarea name="f_fields_guestbook[' . $key . ']" style="width: 99%; height: 100px;"></textarea></td></tr>';
        }
    }
    // капча из плагина капчи
    echo '<tr><td style="vertical-align: top; text-align: right;" class="td1"><strong>' . t('Введите нижние символы') . ' </td>
			<td style="text-align: left;" class="td2"><input type="text" name="f_guestbook_captha" value="" maxlength="4"> <img src="' . getinfo('plugins_url') . 'captcha/img.php?image=' . $session['session_id'] . '&page=' . mso_slug(mso_current_url()) . '&code=' . time() . '" title="' . t('Защита от спама: введите только нижние символы') . '" align="absmiddle"></td></tr>';
    echo '<tr><td class="td1">&nbsp;</td><td style="vertical-align: top; text-align: left;" class="td2"><input type="submit" class="submit" name="f_submit_guestbook" value="' . t('Отправить') . '"></td></tr>';
    echo '</table></form></div>';
}
Ejemplo n.º 8
0
            echo '</div>';
            $text_email = t("Новая запись в гостевой книге") . ": \n" . $text_email;
            $text_email .= "\n" . t("Редактировать") . ": " . getinfo('siteurl') . 'admin/guestbook/editone/' . $CI->db->insert_id() . "\n";
            if ($options['email'] and mso_valid_email($options['email'])) {
                mso_mail($options['email'], t('Новая запись в гостевой книге'), $text_email);
            }
        } else {
            echo '<div class="mso-message-error">' . t('Ошибка добавления в базу данных...') . '</div>';
        }
        mso_flush_cache();
        // тут бы редирект, но мы просто убиваем сессию
        $CI->session->sess_destroy();
    }
} else {
    // тут форма, если не было post
    echo '<div class="mso-guestbook"><form method="post">' . mso_form_session('f_session_id');
    foreach ($options['fields_arr'] as $key => $val) {
        echo '<p><label><span>' . t($val) . '</span>';
        if ($key != 'text') {
            echo '<input name="f_fields_guestbook[' . $key . ']" type="text"></label></p>';
        } else {
            echo '<textarea name="f_fields_guestbook[' . $key . ']" rows="10"></textarea></label></p>';
        }
    }
    // капча из плагина капчи
    if (!function_exists('create_captha_img')) {
        require_once getinfo('plugins_dir') . 'captcha/index.php';
    }
    $captcha = '<img src="' . create_captha_img(mso_md5($MSO->data['session']['session_id'] . mso_current_url())) . '" title="' . t('Защита от спама: введите только нижние символы') . '">';
    echo '<p><label><span>' . t('Нижние символы:') . $captcha . '</span>
		<input type="text" name="f_guestbook_captha" value="" maxlength="4" required></label></p>';
Ejemplo n.º 9
0
function mso_admin_plugin_options($key, $type, $ar, $title = '', $info = '', $text_other = '', $show_goto_plugins = false)
{
    if ($show_goto_plugins) {
        echo '<p><a href="' . getinfo('site_admin_url') . 'plugins" class="i plugins">' . t('Плагины') . '</a></p>';
    }
    if ($title) {
        echo '<h1><a href="">' . $title . '</a></h1>';
    } else {
        echo '<h1><a href="">' . t('Опции плагина') . '</a></h1>';
    }
    if ($info) {
        echo '<p class="info">' . $info . '</p>';
    } else {
        echo '<p class="info">' . t('Укажите необходимые опции плагина.') . '</p>';
    }
    if ($text_other) {
        echo '<p>' . $text_other . '</p>';
    }
    # тут получаем текущие опции
    $options = mso_get_option($key, $type, array());
    // получаем опции
    # здесь смотрим post
    # в post должен быть $key . '-' . $type
    if ($post = mso_check_post(array('f_session_id', 'f_submit', $key . '-' . $type))) {
        # защита рефера
        mso_checkreferer();
        # наши опции
        $in = $post[$key . '-' . $type];
        if (isset($in['_mso_checkboxs'])) {
            $ch_names = array_keys($in['_mso_checkboxs']);
            // получили все чекбоксы
            $t = array();
            // временный массив
            foreach ($ch_names as $val) {
                if (isset($in[$val])) {
                    $t[$val] = '1';
                }
                // если есть, значит отмечен
            }
            $t = array_merge($in['_mso_checkboxs'], $t);
            // объединим с чекбоксамии
            unset($in['_mso_checkboxs']);
            // удалим _mso_checkboxs
            $in = array_merge($in, $t);
            // объединим с $in
            // теперь в $in все чекбоксы
        }
        # перед проверкой удалим из $ar все типы info
        $ar1 = $ar;
        foreach ($ar1 as $m => $val) {
            if ($val['type'] == 'info') {
                unset($ar1[$m]);
            }
        }
        # проверяем их с входящим $ar - ключи должны совпадать
        # финт ушами: смотрим разность ключей массивов - красиво?
        # если будет разность, значит неверные входящие данные, все рубим
        if (array_diff(array_keys($ar1), array_keys($in))) {
            die('Error key. :-(');
        }
        $newoptions = array_merge($options, $in);
        // объединим
        if ($options != $newoptions) {
            mso_add_option($key, $newoptions, $type);
            // обновим
            $options = $newoptions;
            // сразу обновим переменную на новые опции
            mso_flush_cache();
            // сбросим кэш
        }
        echo '<div class="update">' . t('Обновлено!') . '</div>';
    }
    if ($ar) {
        # тут генерируем форму
        $form = '';
        foreach ($ar as $m => $val) {
            if ($val['type'] == 'info') {
                if (isset($val['id'])) {
                    $tag_id = ' id="' . $val['id'] . '"';
                } else {
                    $tag_id = '';
                }
                if (isset($val['class'])) {
                    $tag_class = ' ' . $val['class'];
                } else {
                    $tag_class = '';
                }
                $form .= '<div class="admin_plugin_options_info' . $tag_class . '"' . $tag_id . '>';
                if (isset($val['title'])) {
                    $form .= '<h3>' . $val['title'] . '</h3>';
                }
                if (isset($val['text'])) {
                    $form .= '<p>' . $val['text'] . '</p>';
                }
                $form .= '</div>';
                continue;
            }
            if (!isset($options[$m])) {
                $options[$m] = $val['default'];
            }
            $group_start = isset($val['group_start']) ? $val['group_start'] : '';
            $group_end = isset($val['group_end']) ? $val['group_end'] : '';
            /*
            			// обрамление группы опций
            			if (isset($val['group_start']))
            			{
            				if ($val['group_start']) $group_start = '<div class="admin_plugin_options">';
            				else $group_start = '';
            			}
            			else $group_start = '<div class="admin_plugin_options">';
            if (isset($val['group_end']))
            			{
            				if ($val['group_end']) $group_end = '</div>';
            				else $group_end = '<br>';
            			}
            			else $group_end = '</div>';
            */
            if ($val['description']) {
                $val['description'] = '<span class="hint-options">' . $val['description'] . '</span>';
            }
            if ($val['type'] == 'text') {
                if (isset($val['itype'])) {
                    $itype = $val['itype'];
                } else {
                    $itype = 'text';
                }
                if ($itype == 'hidden') {
                    $form .= $group_start . '<p><span>' . $val['name'] . '</span>' . '<input type="' . $itype . '" value="' . htmlspecialchars($options[$m]) . '" name="' . $key . '-' . $type . '[' . $m . ']' . '">' . $val['description'] . '</p>' . $group_end . NR;
                } else {
                    $form .= $group_start . '<p><label><span>' . $val['name'] . '</span>' . '<input type="' . $itype . '" value="' . htmlspecialchars($options[$m]) . '" name="' . $key . '-' . $type . '[' . $m . ']' . '"></label>' . $val['description'] . '</p>' . $group_end . NR;
                }
            } elseif ($val['type'] == 'textarea') {
                if (isset($val['rows'])) {
                    $rows = (int) $val['rows'];
                } else {
                    $rows = 10;
                }
                $form .= $group_start . '<p><label><span>' . t($val['name']) . '</span>' . '<textarea rows="' . $rows . '" name="' . $key . '-' . $type . '[' . $m . ']' . '">' . htmlspecialchars($options[$m]) . '</textarea></label>' . $val['description'] . '</p>' . $group_end . NR;
            } elseif ($val['type'] == 'checkbox') {
                $ch_val = $options[$m];
                if ($ch_val) {
                    $checked = 'checked="checked"';
                } else {
                    $checked = '';
                }
                $form .= $group_start . '<p><label><input class="checkbox" type="checkbox" value="' . $ch_val . '"' . ' name="' . $key . '-' . $type . '[' . $m . ']' . '" ' . $checked . '> <span>' . $val['name'] . '</span></label>' . $val['description'] . '</p>' . $group_end . NR;
                # поскольку не отмеченные чекбоксы не передаются в POST, сделаем массив чекбоксов в hidden
                $form .= '<input type="hidden" name="' . $key . '-' . $type . '[_mso_checkboxs][' . $m . ']" value="0">';
            } elseif ($val['type'] == 'select') {
                $form .= $group_start . '<p><label><span>' . $val['name'] . '</span>' . '<select name="' . $key . '-' . $type . '[' . $m . ']' . '">';
                // если есть values, то выводим - правила задания, как в ini-файлах
                if (isset($val['values'])) {
                    $values = explode('#', $val['values']);
                    foreach ($values as $v) {
                        $v = trim($v);
                        $v_t = $v;
                        $ar = explode('||', $v);
                        if (isset($ar[0])) {
                            $v = trim($ar[0]);
                        }
                        if (isset($ar[1])) {
                            $v_t = trim($ar[1]);
                        }
                        if (htmlspecialchars($options[$m]) == $v) {
                            $checked = 'selected="selected"';
                        } else {
                            $checked = '';
                        }
                        $form .= NR . '<option value="' . $v . '" ' . $checked . '>' . $v_t . '</option>';
                    }
                }
                $form .= '</select></label>' . $val['description'] . '</p>' . $group_end . NR;
            } elseif ($val['type'] == 'radio') {
                $form .= $group_start . '<p><span>' . $val['name'] . '</span></p><p>';
                if (!isset($val['delimer'])) {
                    $delimer = '<br>';
                } else {
                    $delimer = stripslashes($val['delimer']);
                }
                // если есть values, то выводим - правила задания, как в ini-файлах
                if (isset($val['values'])) {
                    $values = explode('#', $val['values']);
                    foreach ($values as $v) {
                        $v = trim($v);
                        $v_t = $v;
                        $ar = explode('||', $v);
                        if (isset($ar[0])) {
                            $v = trim($ar[0]);
                        }
                        if (isset($ar[1])) {
                            $v_t = trim($ar[1]);
                        }
                        if (htmlspecialchars($options[$m]) == $v) {
                            $checked = 'checked="checked"';
                        } else {
                            $checked = '';
                        }
                        $form .= NR . '<label><input type="radio" value="' . $v . '" ' . $checked . ' name="' . $key . '-' . $type . '[' . $m . ']' . '"> ' . $v_t . '</label>' . $delimer;
                    }
                }
                $form .= $val['description'] . '</p><hr>' . $group_end . NR;
            }
        }
        # выводим форму
        echo NR . '<form method="post" class="mso_admin_plugin_options">' . mso_form_session('f_session_id');
        echo $form;
        echo NR . '<button type="submit" name="f_submit" class="i save">' . t('Сохранить') . '</button>';
        echo '</form>' . NR;
    } else {
        echo t('<p>Опции не определены.</p>') . NR;
    }
}
Ejemplo n.º 10
0
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
?>

<div class="comment-form">

	<form method="post" class="fform">
		<input type="hidden" name="comments_page_id" value="<?php 
echo $page_id;
?>
">
		<?php 
echo mso_form_session('comments_session');
?>

		<div class="comments-textarea">
		
			<?php 
if (is_login()) {
    ?>
				<input type="hidden" name="comments_user_id" value="<?php 
    echo getinfo('users_id');
    ?>
">
				<div class="comments-user">
					<?php 
    echo tf('Привет');
    ?>
Ejemplo n.º 11
0
    $CI->db->join('page', 'page.page_id = comments.comments_page_id', 'left');
    $CI->db->where('comments_id', $id);
    $query = $CI->db->get();
    // если есть данные, то выводим
    if ($query->num_rows() > 0) {
        $row = $query->row_array();
        //pr($row);
        $info_page = '<p><a href="' . getinfo('siteurl') . 'page/' . $row['page_slug'] . '#comment-' . $id . '">' . t('Комментарий к ') . '«' . htmlspecialchars($row['page_title']) . '»</a>' . ' | <a href="' . getinfo('site_admin_url') . 'page_edit/' . $row['page_id'] . '">' . t('Редактировать запись') . '</a>' . '</p>';
        if ($row['users_nik']) {
            echo '<p><strong>' . t('Автор') . '</strong>: ' . '<a href="' . getinfo('site_admin_url') . 'users/edit/' . $row['users_id'] . '">' . $row['users_nik'] . '</a>' . ' | ' . $row['comments_author_ip'] . '</p>' . $info_page;
        } elseif ($row['comusers_nik']) {
            echo '<p><strong>' . t('Автор') . '</strong>: ' . '<a href="' . getinfo('site_admin_url') . 'comusers/edit/' . $row['comments_comusers_id'] . '">' . $row['comusers_nik'] . '</a>' . ' | <a href="' . getinfo('site_url') . 'users/' . $row['comments_comusers_id'] . '">' . t('Персональная страница') . '</a>' . ' | IP: ' . $row['comments_author_ip'] . ' | № ' . $row['comments_comusers_id'] . '</p>' . $info_page;
        } else {
            echo '<p><strong>' . t('Автор') . '</strong>: ' . htmlspecialchars($row['comments_author_name']) . ' | ' . $row['comments_author_ip'] . '</p>' . $info_page;
        }
        echo '<form method="post" class="comment_edit">' . mso_form_session('f_session_id');
        //echo '<h3>' . t('Текст') . '</h3>';
        // хуки для текстового поля комментирования
        mso_hook('admin_comment_edit');
        mso_hook('comments_content_start');
        $text = mso_xss_clean($row['comments_content']);
        if ($text != $row['comments_content']) {
            echo '<div class="error">' . t('Внимание! Возможна XSS-атака! Полный текст комментария') . '</div><textarea>' . htmlspecialchars($row['comments_content']) . '</textarea><p>' . t('Исправленный текст комментария') . '</p>';
        }
        echo '<p><textarea name="f_comments_content" id="comments_content">' . htmlspecialchars($text) . '</textarea></p>';
        echo '<h3>' . t('Дата') . '</h3>
				<p><input name="f_comments_date" type="text" value="' . htmlspecialchars($row['comments_date']) . '"></p>';
        $comments_author_name = trim(htmlspecialchars($row['comments_author_name']));
        if (!($comments_author_name or $row['comments_users_id'] or $row['comments_comusers_id'])) {
            $comments_author_name = t('Аноним');
        }
Ejemplo n.º 12
0
function forms_show_form($options, $files, $fields, $format)
{
    $out = '';
    if (!$fields) {
        return '';
    }
    // нет полей — выходим
    // удаляем временные файлы вложений перед отображением формы
    if ($files) {
        mso_flush_cache(false, 'forms_attaches/');
    }
    // pr($fields);
    // начальная часть всегда однакова ???
    $out .= '<div class="' . $format['container_class'] . '"><form method="post" enctype="multipart/form-data">' . mso_form_session('forms_session');
    foreach ($fields as $key => $field) {
        $field = array_map('trim', $field);
        // pr($field);
        // ключ для каждого отправляемого поля
        $field_name = 'forms_fields[' . $key . ']';
        $description = $field['description'];
        // название поля
        // подсказка в поле
        $placeholder = $field['placeholder'] ? ' placeholder="' . htmlspecialchars($field['placeholder']) . '"' : '';
        // обязательные поля
        if ($field['require']) {
            // подсказка что это обязательное поле
            $require_title = ' ' . $options['require_title'];
            // если поле обязательное ставим ему required
            $required = ' required';
        } else {
            $require_title = '';
            $required = '';
        }
        // подсказка после поля
        $tip = $field['tip'] ? str_replace('[tip]', $field['tip'], $format['tip']) : '';
        $attr = $field['attr'] ? ' ' . $field['attr'] : '';
        // атрибуты поля
        $value = htmlspecialchars($field['value']);
        // значение value по-умолчанию
        // если был POST, то ставим его (он уже обработан)
        if (isset($field['post_value'])) {
            $value = $field['post_value'];
        }
        if ($field['type'] == 'textarea') {
            // комбинируем name + placeholder + $required + $attr
            $field_param = 'name="' . $field_name . '" ' . $placeholder . $required . $attr;
            $out .= str_replace(array('[description]', '[require_title]', '[field_param]', '[value]', '[tip]'), array($description, $require_title, $field_param, $value, $tip), $format['textarea']);
        } elseif ($field['type'] == 'checkbox') {
            // дефолтное значение 0 или 1
            $checked = $field['default'] ? ' checked="checked"' : '';
            $field_param = 'name="' . $field_name . '" ' . $attr . $checked;
            // cкрытый input для того, чтобы передать неотмеченный чекбокс будет - value="0"
            $out .= '<input name="' . $field_name . '" value="0" type="hidden">';
            $out .= str_replace(array('[description]', '[field_param]', '[tip]'), array($description, $field_param, $tip), $format['checkbox']);
        } elseif ($field['type'] == 'select') {
            if (!($values = $field['values'])) {
                continue;
            }
            // не указаны значение
            $default = $field['default'];
            // дефолтное значение
            $values = explode('#', $values);
            $option = '';
            foreach ($values as $o) {
                $selected = $o == $default ? ' selected="selected"' : '';
                $option .= '<option' . $selected . '>' . htmlspecialchars(tf($o)) . '</option>';
            }
            $field_param = 'name="' . $field_name . '" ' . $attr;
            $out .= str_replace(array('[description]', '[require_title]', '[field_param]', '[option]', '[tip]'), array($description, $require_title, $field_param, $option, $tip), $format['select']);
        } else {
            // комбинируем name + placeholder + $required + $attr
            $field_param = 'name="' . $field_name . '" value="' . $value . '" type="' . $field['type'] . '"' . $placeholder . $required . $attr;
            $out .= str_replace(array('[description]', '[require_title]', '[field_param]', '[tip]'), array($description, $require_title, $field_param, $tip), $format['input']);
        }
    }
    // поля для $files вывести
    if ($files) {
        $out .= forms_files_fields($files, $format);
    }
    // антиспам
    if ($options['antispam']) {
        $antispam = $options['antispam'];
        $antispam_ok = $options['antispam_ok'];
        $require_title = ' ' . $options['require_title'];
        $input = '<input type="text" name="forms_fields[antispam]" required>';
        $out .= str_replace(array('[antispam]', '[antispam_ok]', '[input]', '[require_title]'), array($antispam, $antispam_ok, $input, $require_title), $format['antispam']);
    }
    $submit = '<button type="submit">' . tf('Отправить') . '</button>';
    if (!$options['reset']) {
        $reset = '';
    } else {
        $reset = '<button type="reset">' . tf('Очистить форму') . '</button>';
    }
    $out .= str_replace(array('[submit]', '[reset]'), array($submit, $reset), $format['buttons']);
    if (function_exists('ushka') and $options['ushka']) {
        $out .= ushka($options['ushka']);
    }
    // конец формы
    $out .= '</form></div>';
    return $out;
}
Ejemplo n.º 13
0
		<span><a href="' . getinfo('site_admin_url') . 'page/category/[ID]" title="' . t('Список записей') . '" target="_blank">' . t('Записей:') . ' [COUNT]</a></span>
		
		</p>
		
		<p><span><textarea title="' . t('Описание') . '" name="f_category_desc[[ID]]" rows="2">[DESCR_HTML]</textarea></span></p>
		
	</td>
	
	<td class="t2"> 
		<button type="submit" name="f_edit_submit[[ID]]" class="i save">' . t('Сохранить') . '</button>
		<br><button type="submit" name="f_delete_submit[[ID]]" class="i delete" onClick="if(confirm(\'' . t('Удалить рубрику?') . '\')) {return true;} else {return false;}">' . t('Удалить') . '</button>
	</td> 
	
	</tr></table>';
$out = mso_create_list($all, array('childs' => 'childs', 'format' => $format, 'format_current' => $format, 'class_ul' => '', 'class_ul_style' => '', 'class_child_style' => '', 'class_li_style' => '', 'title' => 'category_name', 'link' => 'category_slug', 'current_id' => false, 'prefix' => 'category/', 'count' => 'pages_count', 'id' => 'category_id', 'slug' => 'category_slug', 'menu_order' => 'category_menu_order', 'id_parent' => 'category_id_parent'));
// добавляем форму, а также текущую сессию
echo '<form method="post" class="mso-cats">' . mso_form_session('f_session_id');
echo $out;
# строчка для добавления новой рубрики
echo '
		<div>
			<h3>' . t('Добавить новую рубрику') . '</h3>
			<p><label><span>' . t('Название') . '<span><input type="text" name="f_new_name"></label></p>
			<p><label><span>' . t('Описание') . '<span><textarea name="f_new_desc"></textarea></label></p>
			<p><label><span>' . t('Ссылка') . '<span><input type="text" name="f_new_slug"></label></p>
			<p><label><span>' . t('Родитель') . '<span><input type="text" name="f_new_parent" value=""></label></p>
			<p><label><span>' . t('Порядок') . '<span><input type="text" name="f_new_order"></label></p>
			<p><button type="submit" name="f_new_submit" class="i add-new">' . t('Добавить новую рубрику') . '</button></p>
		</div>
	</form>';
# end file
Ejemplo n.º 14
0
        $comments_content = str_replace('&lt;p&gt;', '<br>', $comments_content);
        $comments_content = str_replace('&lt;/p&gt;', '', $comments_content);
        $comments_content = str_replace('&lt;br /&gt;', '<br>', $comments_content);
        if (mb_strlen($comments_content, 'UTF-8') > 300) {
            $comments_content = mb_substr($comments_content, 0, 300, 'UTF-8') . ' ...';
        }
        if ($row['comments_approved'] > 0) {
            $comments_approved = '+';
        } else {
            $comments_approved = '-';
        }
        $act = '<a href="' . $this_url . 'edit/' . $id . '">' . $author . '</a>';
        $out = $comments_content_xss_start . $act . '<br>' . $comments_date . ' | ' . $row['comments_author_ip'] . ' | ' . $page_title . $comments_content_xss_end . '<p>' . $comments_content . '</p>' . NR;
        $CI->table->add_row($id, $id_out, $comments_approved, $out);
    }
    echo '<form  method="post" class="fform admin_comments">' . mso_form_session('f_session_id');
    echo $CI->table->generate();
    echo '
			<p class="br">' . t('C отмеченными:') . '
			<input type="submit" name="f_aproved_submit" value="' . t('Разрешить') . '">
			<input type="submit" name="f_unaproved_submit" value="' . t('Запретить') . '">
			<input type="submit" name="f_delete_submit" onClick="if(confirm(\'' . t('Уверены?') . '\')) {return true;} else {return false;}" value="' . t('Удалить') . '"></p><br>
			';
    echo '</form>';
    echo mso_load_jquery('jquery.tablesorter.js') . '
			<script>
			$(function() {
				$("table.tablesorter").tablesorter( {headers: { 1: {sorter: false}, 2: {sorter: false}, 3: {sorter: false} }});
			});
			</script>';
    mso_hook('pagination', $pagination);
Ejemplo n.º 15
0
    $error .= '<div class="error">' . t('К сожалению у вас нет доступных виджетов. Обычно они определяются в плагинах.') . '</div>';
}
if ($MSO->sidebars) {
    foreach ($MSO->sidebars as $name => $sidebar) {
        // у сайддара уже может быть определены виджеты - считываем их из опций
        // потому что мы их будем там хранить
        // это простой массив с именами виджетов
        $options = mso_get_option('sidebars-' . mso_slug($name), 'sidebars', array());
        $count_rows = count($options) + 1;
        if ($count_rows < 2) {
            $count_rows = 2;
        }
        $options = implode("\n", $options);
        // разделим по строкам
        $form .= '<h2>' . $sidebar['title'] . '</h2>' . '<p class="add-widget">Добавить виджет <select class="all_widgets" data-id-sb="' . $name . '"><option value="">' . t('—') . '</option>' . $select . '</select></p>';
        $form .= '<textarea id="f_sidebars[' . $name . ']" name="f_sidebars[' . $name . ']" rows="' . $count_rows . '">';
        $form .= htmlspecialchars($options);
        $form .= '</textarea>';
        $all_name_sidebars[$name] = $sidebar['title'];
    }
    $form .= '<div><button type="submit" name="f_submit" class="i save">' . t('Сохранить изменения') . '</button></div>';
} else {
    $error .= '<div class="error">' . t('Сайдбары не определены. Обычно они регистрируются в файле <b>functions.php</b> вашего шаблона. Например:') . ' <br><b>mso_register_sidebar(\'1\', \'' . t('Первый сайдбар') . '\');</b></div>';
}
if (!$error) {
    // добавляем форму, а также текущую сессию
    echo '<div class="sidebars"><form method="post">' . mso_form_session('f_session_id') . $form . '</form></div>';
} else {
    echo $error;
}
# end file
Ejemplo n.º 16
0
					elem1.style.display = "none"; 
					elem2.style.display = "block"; 
				}
				else
				{
					elem1.style.display = "block"; 
					elem2.style.display = "none"; 				
				}
			}			
		</script>' . NR;
    // только первые 20
    $f_all_tags .= tagclouds_widget_custom(array('max_num' => isset($editor_options['tags_count']) ? $editor_options['tags_count'] : 20, 'max_size' => '180', 'sort' => isset($editor_options['tags_sort']) ? $editor_options['tags_sort'] : 0, 'block_start' => '<p id="f_all_tags_max_num">', 'block_end' => ' <a title="' . t('Показать все метки') . '" href="#" onClick="shtags(1); return false;">&gt;&gt;&gt;</a></p>', 'format' => '<span style="font-size: [SIZE]%"><a href="#" onClick="addTag(\'[TAG]\'); return false;">[TAG]</a><sub style="font-size: 7pt;">[COUNT]</sub></span>'));
    // все метки
    $f_all_tags .= tagclouds_widget_custom(array('max_num' => 9999, 'max_size' => '180', 'sort' => isset($editor_options['tags_sort']) ? $editor_options['tags_sort'] : 0, 'block_start' => '<p id="f_all_tags_all" style="display: none;">', 'block_end' => ' <a title="' . t('Показать только самые популярные метки') . '" href="#" onClick="shtags(2); return false;">&lt;&lt;&lt;</a></p>', 'format' => '<span style="font-size: [SIZE]%"><a href="#" onClick="addTag(\'[TAG]\'); return false;">[TAG]</a><sub style="font-size: 7pt;">[COUNT]</sub></span>'));
}
$fses = mso_form_session('f_session_id');
// сессия
// получаем все типы страниц
$all_post_types = '';
$query = $CI->db->get('page_type');
$page_type_js_obj = '{';
// для скрытия метаполей в зависимости от типа записи
foreach ($query->result_array() as $row) {
    if ($f_page_type == $row['page_type_id']) {
        $che = 'checked="checked"';
    } else {
        $che = '';
    }
    $page_type_desc = $row['page_type_desc'] ? ' <em>(' . t($row['page_type_desc']) . ')</em>' : '';
    $all_post_types .= '<label class="nocell"><input name="f_page_type[]" type="radio" ' . $che . ' value="' . $row['page_type_id'] . '"> ' . $row['page_type_name'] . $page_type_desc . '</label><br>';
    $page_type_js_obj .= $row['page_type_name'] . ':' . $row['page_type_id'] . ',';
Ejemplo n.º 17
0
            echo ' | <a href="' . getinfo('siteurl') . 'logout">' . tf('Выход') . '</a>';
        }
        echo '</p>';
        // если активация не завершена, то вначале требуем её завершить
        if ($comusers_activate_string != $comusers_activate_key) {
            echo '<form method="post">' . mso_form_session('f_session_id');
            echo '<p><span style="color: red; font-weight: bold;" class="users-form">' . tf('Введите ключ активации') . ':</span> 
				 <input type="text" style="width: 200px;" class="users-form" name="f_comusers_activate_key"> ';
            echo '<input type="submit" name="f_submit[' . $comusers_id . ']" value="' . tf('Готово') . '"></p></form>';
            echo '<p>' . tf('В случае проблем с активацией (не пришел ключ, указали ошибочный email), обращайтесь к администратору по email:') . ' <em>' . mso_get_option('admin_email', 'general', '-') . '</em></p>';
        } else {
            echo '<form method="post" class="comusers-form fform">' . mso_form_session('f_session_id');
            if ($login_form) {
                echo '<h3>' . tf('Для редактирования введите свой email и пароль') . '</h3>';
                echo '<input type="hidden" value="' . getinfo('siteurl') . 'users/' . $comusers_id . '/edit" name="flogin_redirect">';
                echo mso_form_session('flogin_session_id');
                echo '<p><span class="ffirst ftitle">' . tf('Ваш email') . '</span><span><input type="text" name="flogin_user" class="flogin_user"></span></p>';
                echo '<p><span class="ffirst ftitle">' . tf('Ваш пароль') . '</span><span><input type="password" name="flogin_password" class="flogin_password"></span></p>';
                //echo '<p><span class="ffirst"></span><span><a href="' . getinfo('siteurl') . 'users/' . $comusers_id . '/lost">' . tf('Я забыл пароль') . '</a></span></p>';
            } else {
                $CI =& get_instance();
                $CI->load->helper('form');
                echo '<input type="hidden" value="' . $comusers_email . '" name="f_comusers_email">';
                echo '<input type="hidden" value="' . $comusers_password . '" name="f_comusers_password">';
                echo '<h3>' . tf('Укажите свои данные') . '</h3>';
                echo '<p><span class="ffirst ftitle">' . tf('Отображаемый ник') . '</span><span><input type="text" name="f_comusers_nik" value="' . $comusers_nik . '"></span></p>';
                echo '<p><span class="ffirst ftitle">' . tf('Сайт (с http://)') . '</span><span><input type="text" name="f_comusers_url" value="' . $comusers_url . '"></p>';
                echo '<p><span class="ffirst ftitle">' . tf('Аватарка (с http://, 80x80px)') . '</span><span><input type="text" name="f_comusers_avatar_url" value="' . $comusers_avatar_url . '"></p>';
                echo '<p><span class="ffirst ftitle">' . tf('ICQ') . '</span><span><input type="text" name="f_comusers_icq" value="' . $comusers_icq . '"></p>';
                echo '<p><span class="ffirst ftitle">' . tf('Twitter') . '</span><span><input type="text" name="f_comusers_msn" value="' . $comusers_msn . '"></p>';
                echo '<p><span class="ffirst ftitle">' . tf('Jabber') . '</span><span><input type="text" name="f_comusers_jaber" value="' . $comusers_jaber . '"></p>';
Ejemplo n.º 18
0
function mso_page_content($page_content = '', $use_password = true, $message = 'Данная запись защищена паролем.')
{
    global $page;
    mso_hook('content_start');
    # хук на начало блока
    if ($use_password and $page['page_password']) {
        $form = '<p><strong>' . tf($message) . '</strong></p>';
        $form .= '<form action="' . getinfo('siteurl') . 'page/' . $page['page_slug'] . '" method="post">' . mso_form_session('f_session_id');
        $form .= '<input type="hidden" name="f_page_id" value="' . $page['page_id'] . '">';
        $form .= '<p>' . tf('Пароль:') . ' <input type="text" name="f_password" value=""> ';
        $form .= '<input type="submit" name="f_submit" value="ОК"></p>';
        $form .= '</form>';
        // возможно пароль уже был отправлен
        if ($post = mso_check_post(array('f_session_id', 'f_submit', 'f_page_id', 'f_password'))) {
            mso_checkreferer();
            $f_page_id = (int) $post['f_page_id'];
            // номер записи
            $f_password = $post['f_password'];
            // пароль
            if ($f_page_id == $page['page_id'] and $f_password == $page['page_password']) {
                // верный пароль
                $page['page_password_ok'] = true;
                echo mso_hook('content_content', $page_content);
            } else {
                echo '<p style="color: red;">' . tf('<strong>Ошибочный пароль!</strong> Повторите ввод.') . '</p>' . $form;
            }
        } else {
            echo $form;
        }
    } else {
        echo mso_hook('content_content', $page_content);
    }
}
Ejemplo n.º 19
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
echo '<h1>' . tf('Восстановление пароля комментатора') . '</h1>';
echo '<p><a href="' . getinfo('siteurl') . 'users">' . tf('Список комментаторов') . '</a></p>';
echo '<form action="" method="post" class="comusers-form">' . mso_form_session('f_session_id');
echo '<p>' . tf('Если у вас сохранился код активации, то вы можете сразу заполнить все поля. Если код активации утерян, то вначале введите только email и нажмите кнопку «Готово». На указанный email вы получите код активации. После этого вы можете вернуться на эту страницу и заполнить все поля.') . '</p>';
echo '<p><strong>' . tf('Ваш email') . ':</strong> <input type="text" name="f_comusers_email" value="">*</p>';
echo '<p><strong>' . tf('Ваш код активации') . ':</strong> <input type="text" name="f_comusers_activate_key" value=""></p>';
echo '<p><strong>' . tf('Новый пароль') . ':</strong> <input type="text" name="f_comusers_password" value=""></p>';
echo '<input type="submit" name="f_submit" value="' . tf('Готово') . '"></p></form>';
Ejemplo n.º 20
0
$CI =& get_instance();
$options_key = '';
if ($post = mso_check_post(array('f_session_id', 'f_submit'))) {
    mso_checkreferer();
    $options = array();
    $options['header'] = $post['f_header'];
    mso_add_option($options_key, $options, 'plugins');
    echo '<div class="update">' . t('Обновлено!') . '</div>';
}
?>
<h1><?php 
echo t('Плагин');
?>
</h1>
<p class="info"><?php 
echo t('Описание');
?>
</p>

<?php 
$options = mso_get_option($options_key, 'plugins', array());
if (!isset($options['header'])) {
    $options['header'] = '';
}
$form = '';
$form .= '<h2>' . t('Настройки') . '</h2>';
$form .= '<p><strong>' . t('Заголовок:') . '</strong> ' . ' <input name="f_header" type="text" value="' . $options['header'] . '"></p>';
echo '<form method="post" class="fform">' . mso_form_session('f_session_id');
echo $form;
echo '<button type="submit" name="f_submit">' . t('Сохранить изменения') . '</button>';
echo '</form>';
Ejemplo n.º 21
0
function forms_show_form($f = array(), $ushka = '', $forms_subscribe = true, $reset = true, $subject = '')
{
    $out = '';
    $antispam1 = rand(1, 10);
    $antispam2 = rand(1, 10);
    $id = 1;
    // счетчик для id label
    if ($subject) {
        // поле тема письма делаем в виде обязательнного поля select.
        // формируем массив для формы
        $subject_f['require'] = 1;
        // если в  subject есть #, то это несколько значений - select
        // если нет, значит обычное текстовое поле
        $subject_f['type'] = mb_strpos($subject, '#') === false ? 'text' : 'select';
        // если это одиночное поле, но при этом текст сабжа начинается
        // с _ то ставим тип hidden
        if ($subject_f['type'] == 'text' and mb_strpos($subject, '_') === 0) {
            $subject = mb_substr($subject . ' ', 1, -1, 'UTF-8');
            $subject_f['type'] = 'hidden';
        }
        $subject_f['description'] = tf('Тема письма');
        //$subject_f['tip'] = t('Выберите тему письма');
        $subject_f['values'] = $subject;
        $subject_f['value'] = $subject;
        $subject_f['default'] = '';
        // pr($subject_f);
        // преобразования, чтобы сделать ключ для поля
        $f1['subject'] = $subject_f;
        // у поля тема будет ключ subject
        //pr($f1);
        foreach ($f as $key => $val) {
            $f1[$key] = $val;
        }
        $f = $f1;
        //pr($f1);
    }
    $out .= NR . '<div class="forms"><form method="post" class="plugin_forms fform">' . mso_form_session('forms_session');
    $out .= '<input type="hidden" name="forms_antispam1" value="' . $antispam1 * 984 . '">';
    $out .= '<input type="hidden" name="forms_antispam2" value="' . $antispam2 * 765 . '">';
    // обязательные поля
    $out .= '<p><label class="ffirst ftitle" title="' . tf('Обязательное поле') . '" for="id-' . ++$id . '">' . tf('Ваше имя*') . '</label><span><input name="forms_name" type="text" value="" placeholder="' . tf('Ваше имя') . '" required id="id-' . $id . '"></span></p>';
    $out .= '<p><label class="ffirst ftitle" title="' . tf('Обязательное поле') . '" for="id-' . ++$id . '">' . tf('Ваш email*') . '</label><span><input name="forms_email" type="email" value="" placeholder="' . tf('Ваш email') . '" required id="id-' . $id . '"></span></p>';
    // тут указанные поля в $f
    // pr($f);
    foreach ($f as $key => $val) {
        if (!isset($val['type'])) {
            continue;
        }
        if (!isset($val['description'])) {
            $val['description'] = '';
        }
        $val['type'] = trim($val['type']);
        $val['description'] = trim($val['description']);
        if (isset($val['require']) and trim($val['require']) == 1) {
            $require = '*';
            $require_title = ' title="' . tf('Обязательное поле') . '"';
            $required = ' required';
        } else {
            $require = '';
            $require_title = '';
            $required = '';
        }
        if (isset($val['attr']) and trim($val['attr'])) {
            $attr = ' ' . trim($val['attr']);
        } else {
            $attr = '';
        }
        if (isset($val['value']) and trim($val['value'])) {
            $pole_value = htmlspecialchars(tf(trim($val['value'])));
        } else {
            $pole_value = '';
        }
        if (isset($val['placeholder']) and trim($val['placeholder'])) {
            $placeholder = ' placeholder="' . htmlspecialchars(tf(trim($val['placeholder']))) . '"';
        } else {
            $placeholder = '';
        }
        $description = t(trim($val['description']));
        if (isset($val['tip']) and trim($val['tip'])) {
            $tip = NR . '<p class="nop"><span class="ffirst"></span><span class="fhint">' . trim($val['tip']) . '</span></p>';
        } else {
            $tip = '';
        }
        if ($val['type'] == 'text') {
            //type_text - type для input HTML5
            if (isset($val['type_text']) and trim($val['type_text'])) {
                $type_text = htmlspecialchars(trim($val['type_text']));
            } else {
                $type_text = 'text';
            }
            $out .= NR . '<p><label class="ffirst ftitle" for="id-' . ++$id . '"' . $require_title . '>' . $description . $require . '</label><span><input name="forms_fields[' . $key . ']" type="' . $type_text . '" value="' . $pole_value . '" id="id-' . $id . '"' . $placeholder . $required . $attr . '></span></p>' . $tip;
        } elseif ($val['type'] == 'select') {
            if (!isset($val['default'])) {
                continue;
            }
            if (!isset($val['values'])) {
                continue;
            }
            $out .= NR . '<p><label class="ffirst ftitle" for="id-' . ++$id . '"' . $require_title . '>' . $description . $require . '</label><span><select name="forms_fields[' . $key . ']" id="id-' . $id . '"' . $attr . '>';
            $default = trim($val['default']);
            $values = explode('#', $val['values']);
            foreach ($values as $value) {
                $value = trim($value);
                if (!$value) {
                    continue;
                }
                // пустые опции не выводим
                if ($value == $default) {
                    $checked = ' selected="selected"';
                } else {
                    $checked = '';
                }
                $out .= '<option' . $checked . '>' . htmlspecialchars(tf($value)) . '</option>';
            }
            $out .= '</select></span></p>' . $tip;
        } elseif ($val['type'] == 'textarea') {
            $out .= NR . '<p><label class="ffirst ftitle ftop" for="id-' . ++$id . '"' . $require_title . '>' . $description . $require . '</label><span><textarea name="forms_fields[' . $key . ']" id="id-' . $id . '"' . $placeholder . $required . $attr . '>' . $pole_value . '</textarea></span></p>' . $tip;
        } elseif ($val['type'] == 'hidden') {
            $out .= NR . '<input name="forms_fields[' . $key . ']" type="hidden" value="' . $pole_value . '" id="id-' . $id . '"' . $attr . '>';
        }
    }
    // обязательные поля антиспама и отправка и ресет
    $out .= NR . '<p><label class="ffirst ftitle" for="id-' . ++$id . '">' . $antispam1 . ' + ' . $antispam2 . ' =</label>';
    $out .= '<span><input name="forms_antispam" type="text" required maxlength="3" value="" placeholder="' . tf('Укажите свой ответ') . '" id="id-' . $id . '"></span><p>';
    if ($forms_subscribe) {
        $out .= NR . '<p><span class="ffirst"></span><label><input name="forms_subscribe" value="" type="checkbox"  class="forms_checkbox"> ' . tf('Отправить копию письма на ваш e-mail') . '</label></p>';
    }
    $out .= NR . '<p><span class="ffirst"></span><span class="submit"><button name="forms_submit" type="submit" class="forms_submit">' . tf('Отправить') . '</button>';
    if ($reset) {
        $out .= ' <button name="forms_clear" type="reset" class="forms_reset">' . tf('Очистить форму') . '</button>';
    }
    $out .= '</span></p>';
    if (function_exists('ushka')) {
        $out .= ushka($ushka);
    }
    $out .= '</form></div>' . NR;
    return $out;
}
Ejemplo n.º 22
0
</p>
<pre>http://mysite.com/about | http://newsite.com/hello</pre><br>
<p class="info"><?php 
echo t('При переходе к странице вашего сайта «http://mysite.com/about» будет осуществлен автоматический редирект на указанный «http://newsite.com/hello».');
?>
</p>
<p class="info"><?php 
echo t('Третьим параметром вы можете указать тип редиректа: 301 или 302.');
?>
</p>
<pre>http://mysite.com/about | http://newsite.com/hello | 301</pre><br>
<p class="info"><?php 
echo t('Также можно использовать регулярные выражения.');
?>
</p>
<pre>http://mysite.com/category/(.*) | http://newsite.com/$1 | 301</pre><br>

<?php 
$options = mso_get_option($options_key, 'plugins', array());
if (!isset($options['all'])) {
    $options['all'] = '';
}
if (!isset($options['all404'])) {
    $options['all404'] = '';
}
echo '<form method="post">' . mso_form_session('f_session_id');
echo '<textarea name="f_all" rows="10">' . $options['all'] . '</textarea>';
echo '<p class="info">' . t('Здесь можно указать редиректы, которые сработают только при несуществующем типе данных (custom_page_404).') . '</p>';
echo '<textarea name="f_all404" rows="10">' . $options['all404'] . '</textarea>';
echo '<button type="submit" name="f_submit" class="i save">' . t('Сохранить изменения') . '</button>';
echo '</form>';
Ejemplo n.º 23
0
    echo '<form method="post">' . mso_form_session('f_session_id');
    if ($admin_view_files == 'table') {
        echo $CI->table->generate();
    } else {
        echo '<div class="all-images">';
        echo $out_all;
        echo '</div>';
    }
    echo '<div class="sel-files"><button type="submit" name="f_delete_submit" class="i delete-file" onClick="if(confirm(\'' . t('Выделенные файы будут безвозвратно удалены! Удалять?') . '\')) {return true;} else {return false;}">' . t('Удалить') . '</button> 
			<button type="button" id="check-all" class="mso-invert">' . t('Инвертировать выделение') . '</button></div>
			
			</form>';
    $n = '\\n';
    $up = $uploads_url;
    $mess = t('Предварительно нужно выделить файлы для галереи');
    $session = mso_form_session('f_session_id');
    $save_button = t('Сохранить');
    echo <<<EOF
<script>
function toggleAll() {
\tvar allCheckboxes = \$("input.f_check_files:enabled");
\tvar notChecked = allCheckboxes.not(':checked');
\tallCheckboxes.removeAttr('checked');
\tnotChecked.attr('checked', 'checked');
}

\$(function()
{
\t\$("#check-all").click(function(){
\t\ttoggleAll()
\t});
Ejemplo n.º 24
0
function mso_view_ini($all = false)
{
    if (!$all) {
        return '';
    }
    //pr($all);
    $CI =& get_instance();
    $CI->load->library('table');
    $tmpl = array('table_open' => '<table class="page "><colgroup style="width: 25%;">', 'row_alt_start' => '<tr class="alt">', 'cell_alt_start' => '<td class="alt">');
    $CI->table->clear();
    // очистим, если были старые данные
    $CI->table->set_template($tmpl);
    // шаблон таблицы
    // заголовки
    //$CI->table->set_heading(t('Настройка'), t('Значение'));
    $table = '';
    $out = '';
    $nav = '';
    // блок навигации
    // сформируем массив всех опций - ключей
    $k_where = array();
    foreach ($all as $k => $v) {
        if (isset($v['options_key']) and $v['options_key']) {
            $k_where[] = $v['options_key'];
        }
    }
    // делаем одним запросов выборку всех опций по этим ключам
    $CI->db->where_in('options_key', $k_where);
    $query = $CI->db->get('options');
    if ($query->num_rows() > 0) {
        // есть запись
        $all_options = $query->result_array();
    } else {
        $all_options = array();
    }
    //pr($all_options);
    //pr($all);
    foreach ($all as $key => $row) {
        if (isset($row['options_key'])) {
            $options_key = stripslashes(trim($row['options_key']));
        } else {
            continue;
        }
        if (!isset($row['options_type'])) {
            $options_type = 'general';
        } else {
            $options_type = stripslashes(trim($row['options_type']));
        }
        if (!isset($row['type'])) {
            if ($options_key !== 'none') {
                $type = 'textfield';
            } else {
                $type = 'none';
            }
        } else {
            $type = stripslashes(trim($row['type']));
        }
        if (!isset($row['values'])) {
            $value = '';
        } else {
            $values = _mso_ini_check_php(stripslashes(htmlspecialchars(trim($row['values']))));
        }
        if (!isset($row['description'])) {
            $description = '';
        } else {
            $description = _mso_ini_check_php(stripslashes(trim(t($row['description']))));
        }
        if (!isset($row['delimer'])) {
            $delimer = '<br>';
        } else {
            $delimer = stripslashes($row['delimer']);
        }
        if (!isset($row['default'])) {
            $default = '';
        } else {
            $default = _mso_ini_check_php(stripslashes(htmlspecialchars(trim($row['default']))));
        }
        // получаем текущее значение опции из массива $all_options
        $options_present = false;
        $value = t($default);
        // нет значения, поэтому берем дефолт
        foreach ($all_options as $v) {
            if ($v['options_type'] == $options_type and $v['options_key'] == $options_key) {
                $value = htmlspecialchars($v['options_value']);
                $options_present = true;
                // признак, что опция есть в базе
                break;
            }
        }
        $f = NR;
        // тип none не создает поля - фиктивная опция
        if ($options_key != 'none') {
            $name_f = 'f_options[' . $options_key . '_m_s_o_' . $options_type . ']';
        } else {
            $name_f = '';
        }
        if ($type == 'textfield') {
            $value = str_replace('_QUOT_', '&quot;', $value);
            // в этом типе может быть свой type для input
            if (!isset($row['textfield_type'])) {
                $textfield_type = 'text';
            } else {
                $textfield_type = stripslashes($row['textfield_type']);
            }
            $f .= '<input type="' . $textfield_type . '" name="' . $name_f . '" value="' . $value . '">' . NR;
        } elseif ($type == 'color') {
            $f .= mso_load_jquery('jscolor.js', getinfo('common_url') . 'jquery/jscolor/');
            $f .= '<input type="text" name="' . $name_f . '" value="' . $value . '" class="color">' . NR;
        } elseif ($type == 'textarea') {
            $value = str_replace('_NR_', "\n", $value);
            $value = str_replace('_QUOT_', '&quot;', $value);
            if (!isset($row['rows'])) {
                $rr = 7;
            } else {
                $rr = (int) $row['rows'];
            }
            $f .= '<textarea rows="' . $rr . '" name="' . $name_f . '">' . $value . '</textarea>' . NR;
        } elseif ($type == 'checkbox') {
            if ($value) {
                $checked = 'checked="checked"';
            } else {
                $checked = '';
            }
            $f .= '<label><input type="checkbox" name="' . $name_f . '" ' . $checked . '> ' . t($key) . '</label>' . NR;
            $f .= '<input type="hidden" name="f_all_checkbox[' . $options_key . '_m_s_o_' . $options_type . ']">' . NR;
        } elseif ($type == 'multicheckbox') {
            $mr = $value;
            // отмеченные пункты - массив в виде стандартного option
            if ($mr) {
                // служебные замены
                $mr = str_replace('&amp;', '&', $mr);
                $mr = str_replace('&quot;', '"', $mr);
                if (preg_match('|_serialize_|A', $mr)) {
                    $mr = preg_replace('|_serialize_|A', '', $mr, 1);
                    $mr = @unserialize($mr);
                }
                if (!is_array($mr)) {
                    $mr = array($mr);
                }
            } else {
                $mr = array();
            }
            // $mr теперь массив!
            $values = explode('#', $values);
            if ($values) {
                foreach ($values as $val) {
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $mr1 = trim($ar[0]);
                    }
                    // ключ чекбокса
                    if (isset($ar[1])) {
                        $mr2 = trim($ar[1]);
                    } else {
                        $mr2 = $mr1;
                    }
                    if (in_array($mr1, $mr)) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                    //для каждого чекбокса свой ключ!
                    $mkey = $options_key . '_' . mso_slug($mr1) . '_m_s_o_' . $options_type;
                    $name_f1 = 'f_options[' . $mkey . ']';
                    $f .= '<label><input type="checkbox" name="' . $name_f . '[]" value="' . $mr1 . '" ' . $checked . '> ' . t($mr2) . '</label>' . $delimer . NR;
                }
                $f .= '<input type="hidden" name="f_all_checkbox[' . $options_key . '_m_s_o_' . $options_type . ']">' . NR;
            }
        } elseif ($type == 'radio') {
            $values = explode('#', $values);
            // все значения разделены #
            if ($values) {
                foreach ($values as $val) {
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $mr1 = trim($ar[0]);
                    }
                    // ключ
                    if (isset($ar[1])) {
                        $mr2 = trim($ar[1]);
                    } else {
                        $mr2 = $mr1;
                    }
                    if ($value == trim($mr1)) {
                        $checked = 'checked="checked"';
                    } else {
                        $checked = '';
                    }
                    // преобразование в html
                    $mr2 = str_replace('_QUOT_', '"', $mr2);
                    $mr2 = str_replace('&lt;', '<', $mr2);
                    $mr2 = str_replace('&gt;', '>', $mr2);
                    $f .= '<label><input type="radio" name="' . $name_f . '" value="' . $mr1 . '" ' . $checked . '> ' . t($mr2) . '</label>' . $delimer . NR;
                }
            }
        } elseif ($type == 'select') {
            $values = explode('#', $values);
            // все значения разделены #
            if ($values) {
                $f .= '<select name="' . $name_f . '">';
                foreach ($values as $val) {
                    // $val может быть с || val - текст
                    $val = trim($val);
                    $val_t = $val;
                    $ar = explode('||', $val);
                    if (isset($ar[0])) {
                        $val = trim($ar[0]);
                    }
                    if (isset($ar[1])) {
                        $val_t = trim($ar[1]);
                    }
                    if ($value == $val) {
                        $checked = 'selected="selected"';
                    } else {
                        $checked = '';
                    }
                    $f .= NR . '<option value="' . $val . '" ' . $checked . '>' . t($val_t) . '</option>';
                }
                $f .= NR . '</select>' . NR;
            }
        }
        if ($description) {
            $f .= '<p><em>' . t($description) . '</em></p>';
        }
        if ($options_key != 'none') {
            if (!$options_present) {
                $key = '<span title="' . $options_key . ' (' . $row['options_type'] . ')" class="mso-alert">* ' . t($key) . '</span>';
            } else {
                $key = '<strong title="' . $options_key . ' (' . $row['options_type'] . ')">' . t($key) . '</strong>';
            }
        } else {
            $key = '';
        }
        // если есть новая секция, то выводим пустую инфо-строчку
        if (isset($row['section'])) {
            if ($CI->table->rows) {
                $table .= $CI->table->generate();
            }
            $CI->table->clear();
            // очистим, если были старые данные
            $tmpl['table_open'] = NR . '<table class="page page-responsive section_' . mso_slug($row['section']) . '"><colgroup style="width: 25%;">';
            $CI->table->set_template($tmpl);
            // шаблон таблицы
            if (isset($row['section_description'])) {
                $CI->table->add_row(array('class' => 'section', 'colspan' => 2, 'data' => '<a id="a-' . mso_slug($row['section']) . '"></a><h2 class="section">' . t($row['section']) . '</h2><p>' . t($row['section_description']) . '</p>'));
            } else {
                $CI->table->add_row(array('class' => 'section', 'colspan' => 2, 'data' => '<a id="a-' . mso_slug($row['section']) . '"></a><div class="section"><h2>' . t($row['section']) . '</h2></div>'));
            }
            $nav .= '<a href="#a-' . mso_slug($row['section']) . '" id="' . mso_slug($row['section']) . '">' . t($row['section']) . '</a>    ';
        }
        if ($key) {
            $CI->table->add_row($key, $f);
        }
    }
    if ($CI->table->rows) {
        $table .= $CI->table->generate();
    }
    // последняя генерация
    $out .= '<form action="' . mso_current_url(true) . '" method="post">' . mso_form_session('f_session_id');
    $out .= '<a id="atop"></a><input type="hidden" value="1" name="f_ini">';
    // доп. поле - индикатор, что это ini-форма
    if ($nav) {
        $out .= '<p class="nav">' . str_replace('    ', '<span class="sep"></span>', trim($nav)) . '</p>';
    }
    $out .= $table;
    // вывод подготовленной таблицы
    $out .= NR . '<a id="abottom"></a><button type="submit" name="f_submit" class="mso-save-ini i-save">' . t('Сохранить') . '</button>';
    $out .= '</form>';
    $out .= mso_load_jquery('jquery.cookie.js') . "\r\n<script>\r\n\t\$(function()\r\n\t{\r\n\t\t\$('table.page').hide();\r\n\r\n\t\tvar NameCookie = 'curSection_" . mso_segment(2) . "',\r\n\t\tcookieIndex = \$.cookie(NameCookie);\r\n\r\n\t\tif (cookieIndex != null && \$('table').is('.section_'+cookieIndex)) // есть кука и есть соответсвующая ей таблица\r\n\t\t{\r\n\t\t\t\$('table.section_'+cookieIndex).show();\r\n\t\t\t\$('#'+cookieIndex).addClass('current');\r\n\t\t}\r\n\t\telse // если нет куки или соответвующей таблицы\r\n\t\t{\r\n\t\t\t\$('table.page:first').show(); // показывем только первую таблицу\r\n\t\t\t\$('p.nav a:first').addClass('current'); // к первому пункту навигации добавляем класс\r\n\t\t}\r\n\r\n\t\t\$('p.nav a').click(function(){\r\n\t\t\tvar id = \$(this).attr('id');\r\n\t\t\t\$('table.page').hide();\r\n\r\n\t\t\t\$(this).addClass('current').siblings().removeClass(); // добавляем класс на кликнутый пункт, а у всех соседних удаляем\r\n\t\t\t\$('table.section_'+id).show();\r\n\t\t\t\$.cookie(NameCookie, id, {expires: 30, path: '/'});\r\n\t\t\treturn false;\r\n\t\t});\r\n\t});\r\n</script>";
    return $out;
}
Ejemplo n.º 25
0
function maxsite_auth_mso_options()
{
    if (!mso_check_allow('maxsite_auth_edit')) {
        echo t('Доступ запрещен');
        return;
    }
    # ключ, тип, ключи массива
    mso_admin_plugin_options('plugin_maxsite_auth', 'plugins', array('email' => array('type' => 'text', 'name' => t('Email'), 'description' => t('Укажите рабочий email, который будет использоваться для регистрации и входа на других сайтах.'), 'default' => ''), 'password' => array('type' => 'text', 'name' => t('Пароль'), 'description' => t('Укажите пароль, который будет использоваться для регистрации и входа на других сайтах. Не указывайте здесь пароль от своего сайта!'), 'default' => ''), 'unique' => array('type' => 'checkbox', 'name' => t('Делать уникальные пароли для каждого сайта'), 'description' => t('В этом случае для каждого сайта будет создан уникальный пароль на основе его адреса и вашего пароля. Для «прямого» входа на чужом сайте вы можете сгенерировать полученный пароль через приведенную ниже форму. Вы можете использовать его также для восстановления на чужом сайте.'), 'default' => '0')), t('Настройка Maxsite Auth'), t('С помощью Maxsite Auth вы можете осуществлять авторизацию на других сайтах с помощью своего. Достаточно лишь предварительно задать email и пароль, которые будут передаваться на исходный сайт, где вы автоматически будете зарегистрированы или авторизованы как комюзер (комментатор).'));
    echo '<br>';
    if ($post = mso_check_post(array('f_url_submit', 'f_url'))) {
        $url = mb_strtolower($post['f_url']);
        $options = mso_get_option('plugin_maxsite_auth', 'plugins', array());
        if (!$url) {
            echo '<div class="error">' . t('Нужно указать адрес сайта') . '</div>';
        } elseif (!isset($options['password']) or !$options['password']) {
            echo '<div class="error">' . t('Следует указать свой пароль') . '</div>';
        } elseif (!isset($options['unique']) or !$options['unique']) {
            echo '<div class="error">' . t('Вы не отметили создание уникального пароля для каждого сайта') . '</div>';
        } else {
            $pas = $url;
            $pas = convert_uuencode(mso_md5($options['password'] . $pas));
            $pas = mb_strtolower($pas);
            $pas = mso_slug($pas);
            $pas = substr($pas, 1, 20);
            echo '<div class="update">' . t('Пароль для ') . $url . ' — <input type="text" value="' . $pas . '"></div>';
        }
    }
    echo '<form method="post" class="fform">' . mso_form_session('f_session_id') . '
		<p class="hr head"><label class="fheader" for="f_url">' . t('Укажите адрес сайта (с http://), для которого необходимо узнать свой пароль') . '</label></p>
		<p><span><input type="text" name="f_url" id="f_url"></span></p>
		<p><span><button type="submit" name="f_url_submit" class="i execute">' . t('Узнать пароль для сайта') . '</button></span></p>
		</form>';
}