Ejemplo n.º 1
0
function login_form_widget($num = 1)
{
    $out = '';
    $widget = 'login_form_widget_' . $num;
    // имя для опций = виджет + номер
    $options = mso_get_option($widget, 'plugins', array());
    // получаем опции
    if (is_login()) {
        $out = '<p><strong>' . t('Привет,') . ' ' . getinfo('users_nik') . '!</strong><br>
				[<a href="' . getinfo('siteurl') . 'admin">' . t('управление') . '</a>]
				[<a href="' . getinfo('siteurl') . 'logout' . '">' . t('выйти') . '</a>] 
				</p>';
    } elseif ($comuser = is_login_comuser()) {
        if (!$comuser['comusers_nik']) {
            $cun = t('Привет!');
        } else {
            $cun = t('Привет,') . ' ' . $comuser['comusers_nik'] . '!';
        }
        $out = '<p><strong>' . $cun . '</strong><br>
				[<a href="' . getinfo('siteurl') . 'users/' . $comuser['comusers_id'] . '">' . t('своя страница') . '</a>]
				[<a href="' . getinfo('siteurl') . 'logout' . '">' . t('выйти') . '</a>] 
				</p>';
    } else {
        $after_form = isset($options['after_form']) ? $options['after_form'] : '';
        $out = mso_login_form(array('login' => t('Логин (email):') . ' ', 'password' => t('Пароль:') . ' ', 'submit' => '', 'form_end' => $after_form), getinfo('siteurl') . mso_current_url(), false);
    }
    if ($out) {
        if (isset($options['header']) and $options['header']) {
            $out = mso_get_val('widget_header_start', '<h2 class="box"><span>') . $options['header'] . mso_get_val('widget_header_end', '</span></h2>') . $out;
        }
    }
    return $out;
}
Ejemplo n.º 2
0
function loginza_auth_head($args = array())
{
    if (!is_login() and !is_login_comuser()) {
        echo '<script src="http://loginza.ru/js/widget.js"></script>';
    }
    return $args;
}
Ejemplo n.º 3
0
function auth_content_check($m)
{
    if (is_login() || is_login_comuser()) {
        return $m[1];
    } else {
        return 'Запись только для зарегистрированных';
    }
}
Ejemplo n.º 4
0
function captcha_autoload($args = array())
{
    if (!is_login() and !is_login_comuser()) {
        mso_hook_add('comments_content_end', 'captcha_go');
        # хук на отображение картинки
        mso_hook_add('comments_new_captcha', 'captcha_new_comment');
        # хук на обработку капчи
    }
}
Ejemplo n.º 5
0
function mkj_sc_autoload()
{
    $options = mso_get_option('plugin_mkj_sc', 'plugins', array());
    if (isset($options['comusers']) and !$options['comusers'] or !is_login_comuser() and !is_login()) {
        // Удаляем чужую капчу.
        mso_remove_hook('comments_content_end');
        mso_remove_hook('comments_new_captcha');
        mso_remove_hook('comments_new_captcha_error');
        // Капча MKJ SimpleCaptcha.
        mso_hook_add('comments_content_end', 'mkj_sc_show');
        mso_hook_add('comments_new_captcha', 'mkj_sc_add');
        mso_hook_add('comments_new_captcha_error', 'mkj_sc_error');
        // Хук на <head></head>
        mso_hook_add('head', 'mkj_sc_head');
    }
}
Ejemplo n.º 6
0
 function _my_comusers_main_menu_custom($menu = '')
 {
     $comuser = is_login_comuser();
     $menu .= NR . '[';
     if ($comuser['comusers_nik']) {
         $menu .= NR . '# | ' . $comuser['comusers_nik'];
     } else {
         $menu .= NR . '# | Ваши ссылки';
     }
     $menu .= NR . 'users/' . $comuser['comusers_id'] . ' | Своя страница';
     $menu .= NR . 'http://max-3000.com/page/faq | ЧАВО для новичков';
     $menu .= NR . 'http://max-3000.com/help | Центр помощи';
     $menu .= NR . 'http://forum.max-3000.com/ | Форум поддержки';
     $menu .= NR . 'logout | Выход';
     $menu .= NR . ']';
     return $menu;
 }
Ejemplo n.º 7
0
function auth_content_check($m)
{
    static $options;
    # статик, чтобы не получать каждый раз опции
    if (!isset($options)) {
        $options = mso_get_option('plugin_auth_content', 'plugins', array());
        if (!isset($options['message'])) {
            $options['message'] = 'Запись только для зарегистрированных';
        }
        if (!isset($options['format'])) {
            $options['format'] = '%MESSAGE%';
        }
    }
    if (is_login() || is_login_comuser()) {
        return $m[2];
    } else {
        return str_ireplace('%MESSAGE%', isset($m[1]) && $m[1] != '' ? $m[1] : $options['message'], $options['format']);
    }
}
Ejemplo n.º 8
0
    exit('No direct script access allowed');
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
if ($fn = mso_find_ts_file('main/main-start.php')) {
    require $fn;
}
echo NR . '<div class="mso-type-loginform">' . NR;
if (is_login()) {
    if (mso_segment(2) == 'error') {
        mso_redirect('loginform');
    }
    eval(mso_tmpl_ts('type/loginform/units/loginform-user-tmpl.php'));
} elseif ($comuser = is_login_comuser()) {
    if (mso_segment(2) == 'error') {
        mso_redirect('loginform');
    }
    if (!$comuser['comusers_nik']) {
        $hello = t('Привет!');
    } else {
        $hello = t('Привет,') . ' ' . $comuser['comusers_nik'] . '!';
    }
    eval(mso_tmpl_ts('type/loginform/units/loginform-comuser-tmpl.php'));
} else {
    $redirect_url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : getinfo('siteurl');
    if (mso_segment(2) == 'error') {
        eval(mso_tmpl_ts('type/loginform/units/loginform-error.php'));
    }
    // если разрешена регистрация, то выведем ссылку
Ejemplo n.º 9
0
    $menu .= NR . 'admin/plugins | Плагины | | | i-puzzle-piece';
    $menu .= NR . '---';
    $menu .= NR . 'admin/options | Опции сайта | | | i-wrench';
    $menu .= NR . 'admin/template_options | Настройки шаблона | | | i-gears';
    // $menu .= NR . '---';
    // $menu .= NR . 'http://max-3000.com/page/faq | ЧАВО для новичков';
    // $menu .= NR . 'http://max-3000.com/help | Центр помощи';
    // $menu .= NR . 'http://forum.max-3000.com/ | Форум поддержки';
    if (function_exists('ushka')) {
        $menu .= NR . ushka('main-menu-admin');
    }
    $menu .= NR . '---';
    $menu .= NR . 'logout | Выход | | | i-unlock';
    $menu .= NR . ']';
} elseif (is_login_comuser()) {
    $comuser = is_login_comuser();
    $menu .= NR . '[';
    if ($comuser['comusers_nik']) {
        $menu .= NR . '# | ' . $comuser['comusers_nik'] . ' | Своя страница | | i-user';
    } else {
        $menu .= NR . '# | Ваши ссылки';
    }
    $menu .= NR . 'users/' . $comuser['comusers_id'] . ' | Своя страница';
    $menu .= mso_hook('main_menu_add_comuser');
    $menu .= NR . '---';
    $menu .= NR . 'logout | Выход';
    $menu .= NR . ']';
}
if ($menu) {
    echo mso_menu_build($menu, 'selected', false);
}
Ejemplo n.º 10
0
<?php

if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}
/**
 * MaxSite CMS
 * (c) http://max-3000.com/
 */
require_once getinfo('common_dir') . 'comments.php';
# обработка отправленных данных - возвращает результат
$res_post = mso_comuser_edit();
# получим всю информацию о комюзере из сессии или url
$comuser_info = mso_get_comuser();
# отображение формы залогирования
$login_form = !is_login_comuser();
# если нет данных юзера, то выводим форму
if (!$comuser_info) {
    $login_form = true;
}
if ($f = mso_page_foreach('users-form-head-meta')) {
    require $f;
} else {
    mso_head_meta('title', tf('Форма редактирования комментатора') . '. ' . getinfo('title'));
    // meta title страницы
}
if (!$comuser_info and mso_get_option('page_404_http_not_found', 'templates', 1)) {
    header('HTTP/1.0 404 Not Found');
}
// теперь сам вывод
if ($fn = mso_find_ts_file('main/main-start.php')) {
Ejemplo n.º 11
0
    echo tf('Выйти');
    ?>
</a>
				</div>
			<?php 
}
// комюзер
?>
		
			<?php 
mso_hook('comments_content_start');
?>
			<textarea name="comments_content" id="comments_content" rows="10"></textarea>
			
		<?php 
if (!is_login() and !($comuser = is_login_comuser())) {
    // нет залогирования
    ?>

			<div class="comments-auth">
				
						<?php 
    if (mso_get_option('allow_comment_anonim', 'general', '1')) {
        ?>
						
							<p>
								
								<?php 
        $t_hidden = mso_get_option('allow_comment_comusers', 'general', '1') ? 'type="radio" checked="checked"' : 'type="hidden"';
        ?>
								
Ejemplo n.º 12
0
function mso_comuser_edit($args = array())
{
    global $MSO;
    if (!isset($args['css_ok'])) {
        $args['css_ok'] = 'comment-ok';
    }
    if (!isset($args['css_error'])) {
        $args['css_error'] = 'comment-error';
    }
    # id комюзера, который в сессии
    if (isset($MSO->data['session']['comuser']) and $MSO->data['session']['comuser']) {
        $id_session = $MSO->data['session']['comuser']['comusers_id'];
    } else {
        $id_session = false;
    }
    if ($post = mso_check_post(array('f_session_id', 'f_submit', 'f_comusers_activate_key'))) {
        # защита рефера
        mso_checkreferer();
        # защита сессии - если не нужно закомментировать строчку!
        if ($MSO->data['session']['session_id'] != $post['f_session_id']) {
            mso_redirect();
        }
        // получаем номер юзера id из f_submit[]
        $id = (int) mso_array_get_key($post['f_submit']);
        if (!$id) {
            return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный номер пользователя') . '</div>';
        }
        # проверяем id в сессии с сабмитом
        // if ($id != $id_session)
        //	return '<div class="' . $args['css_error']. '">'. t('Ошибочный номер пользователя'). '</div>';
        $f_comusers_activate_key = trim($post['f_comusers_activate_key']);
        if (!$f_comusers_activate_key) {
            return '<div class="' . $args['css_error'] . '">' . tf('Неверный (пустой) ключ') . '</div>';
        }
        // нужно проверить если у указанного комюзера не равные ключи
        // если они равны, то ничего не делаем
        $CI =& get_instance();
        $CI->db->select('comusers_activate_string, comusers_activate_key');
        $CI->db->from('comusers');
        $CI->db->where('comusers_id', $id);
        $CI->db->limit(1);
        $query = $CI->db->get();
        if ($query->num_rows() > 0) {
            $comuser = $query->result_array();
            // данные комюзера
            if ($comuser[0]['comusers_activate_string'] == $comuser[0]['comusers_activate_key']) {
                // уже равны, активация не требуется
                return '<div class="' . $args['css_ok'] . '">' . tf('Активация уже выполнена') . '</div>';
            } else {
                // ключи в базе не равны
                // сверяем с переданным ключом из формы
                if ($f_comusers_activate_key == $comuser[0]['comusers_activate_key']) {
                    // верный ключ - обновляем в базе
                    $CI->db->where('comusers_id', $id);
                    $res = $CI->db->update('comusers', array('comusers_activate_string' => $f_comusers_activate_key)) ? '1' : '0';
                    $CI->db->cache_delete_all();
                    if ($res) {
                        return '<div class="' . $args['css_ok'] . '">' . tf('Активация выполнена!') . '</div>';
                    } else {
                        return '<div class="' . $args['css_error'] . '">' . tf('Ошибка БД при добавления ключа активации') . '</div>';
                    }
                } else {
                    return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный ключ активации') . '</div>';
                }
            }
        } else {
            // вообще нет такого комюзера
            return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный номер пользователя') . '</div>';
        }
    } elseif ($post = mso_check_post(array('flogin_session_id', 'flogin_submit', 'flogin_user', 'flogin_password', 'flogin_redirect'))) {
        // логинимся через стандартную _mso_login()
        _mso_login();
        return;
    } elseif ($post = mso_check_post(array('f_session_id', 'f_submit', 'f_comusers_email', 'f_comusers_password', 'f_comusers_nik', 'f_comusers_url', 'f_comusers_icq', 'f_comusers_msn', 'f_comusers_jaber', 'f_comusers_date_birth', 'f_comusers_description', 'f_comusers_avatar_url'))) {
        if (!is_login_comuser()) {
            return '<div class="' . $args['css_error'] . '">' . tf('Ошибочные данные пользователя') . '</div>';
        }
        # защита рефера
        mso_checkreferer();
        # защита сессии - если не нужно закомментировать строчку!
        if ($MSO->data['session']['session_id'] != $post['f_session_id']) {
            mso_redirect();
        }
        // получаем номер юзера id из f_submit[]
        $id = (int) mso_array_get_key($post['f_submit']);
        if (!$id) {
            return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный номер пользователя') . '</div>';
        }
        # проверяем id в сессии с сабмитом
        if ($id != $id_session) {
            return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный номер пользователя') . '</div>';
        }
        $f_comusers_email = trim($post['f_comusers_email']);
        $f_comusers_password = trim($post['f_comusers_password']);
        if (!$f_comusers_email or !$f_comusers_password) {
            return '<div class="' . $args['css_error'] . '">' . tf('Необходимо указать email и пароль') . '</div>';
        }
        // проверим есть ли такой комюзер
        $CI =& get_instance();
        $CI->db->select('*');
        $CI->db->from('comusers');
        # CodeIgniter экранирует where, даже когда только условия в полях
        $CI->db->where('comusers_activate_string=comusers_activate_key', '', false);
        // активация должна уже быть
        $CI->db->where(array('comusers_id' => $id, 'comusers_email' => $f_comusers_email, 'comusers_password' => $f_comusers_password));
        $CI->db->limit(1);
        $query = $CI->db->get();
        if ($query->num_rows() > 0) {
            // все ок - логин пароль верные
            $comuser = $query->result_array();
            // данные комюзера
            $f_comusers_avatar_url = mso_strip($post['f_comusers_avatar_url'], false, array('\\', '|', '?', '%', '*', '`'));
            $allowed_ext = array('gif', 'jpg', 'jpeg', 'png');
            // разрешенные типы
            $ext = strtolower(str_replace('.', '', strrchr($f_comusers_avatar_url, '.')));
            // расширение файла
            if (!in_array($ext, $allowed_ext)) {
                $f_comusers_avatar_url = '';
            }
            // запрещенный тип файла
            if (!isset($post['f_comusers_notify'])) {
                $post['f_comusers_notify'] = '0';
            }
            if (!isset($post['f_comusers_skype'])) {
                $post['f_comusers_skype'] = '';
            }
            // скайп
            $post = mso_clean_post(array('f_comusers_nik' => 'base', 'f_comusers_url' => 'base', 'f_comusers_icq' => 'base', 'f_comusers_msn' => 'base', 'f_comusers_jaber' => 'base', 'f_comusers_skype' => 'base', 'f_comusers_date_birth' => 'base', 'f_comusers_description' => 'base', 'f_comusers_notify' => 'int'), $post);
            $upd_date = array('comusers_nik' => strip_tags($post['f_comusers_nik']), 'comusers_url' => strip_tags($post['f_comusers_url']), 'comusers_icq' => strip_tags($post['f_comusers_icq']), 'comusers_msn' => strip_tags($post['f_comusers_msn']), 'comusers_jaber' => strip_tags($post['f_comusers_jaber']), 'comusers_skype' => strip_tags($post['f_comusers_skype']), 'comusers_date_birth' => strip_tags($post['f_comusers_date_birth']), 'comusers_description' => strip_tags($post['f_comusers_description']), 'comusers_avatar_url' => $f_comusers_avatar_url, 'comusers_notify' => $post['f_comusers_notify']);
            # pr($upd_date );
            $CI->db->where('comusers_id', $id);
            $res = $CI->db->update('comusers', $upd_date) ? '1' : '0';
            // если переданы метаполя, то обновляем и их
            if (isset($post['f_comusers_meta']) and $post['f_comusers_meta']) {
                //pr($post);
                foreach ($post['f_comusers_meta'] as $key => $val) {
                    // вначале грохаем если есть такой ключ
                    $CI->db->where('meta_table', 'comusers');
                    $CI->db->where('meta_id_obj', $id);
                    $CI->db->where('meta_key', $key);
                    $CI->db->delete('meta');
                    // теперь добавляем как новый
                    $ins_data = array('meta_table' => 'comusers', 'meta_id_obj' => $id, 'meta_key' => $key, 'meta_value' => $val);
                    $CI->db->insert('meta', $ins_data);
                }
            }
            $CI->db->cache_delete_all();
            // mso_flush_cache(); // сбросим кэш
            if ($res) {
                return '<div class="' . $args['css_ok'] . '">' . tf('Обновление выполнено!') . '</div>';
            } else {
                return '<div class="' . $args['css_error'] . '">' . tf('Ошибка БД при обновлении') . '</div>';
            }
        } else {
            return '<div class="' . $args['css_error'] . '">' . tf('Ошибочный email и пароль') . '</div>';
        }
    }
    // обновление формы
}
Ejemplo n.º 13
0
    echo '</section>';
    echo '</div>' . NR;
}
if ($f = mso_page_foreach('page-comments-posle-list')) {
    require $f;
}
if ($page['page_comment_allow'] and $page_text_ok) {
    // если запрещены комментарии и от анонимов и от комюзеров, то выходим
    if (mso_get_option('allow_comment_anonim', 'general', '1') or mso_get_option('allow_comment_comusers', 'general', '1')) {
        $to_login = tf('Вы можете <a href="#LOG#">войти</a> под своим логином или <a href="#REG#"> зарегистрироваться</a> на сайте.');
        $to_login = str_replace('#LOG#', getinfo('site_url') . 'login', $to_login);
        $to_login = str_replace('#REG#', getinfo('site_url') . 'registration', $to_login);
        if (mso_get_option('new_comment_anonim_moderate', 'general', '1')) {
            $to_moderate = mso_get_option('form_comment_anonim_moderate', 'general', tf('Комментарий будет опубликован после проверки'));
        } else {
            $to_moderate = mso_get_option('form_comment_anonim', 'general', tf('Используйте нормальные имена'));
        }
        // если запрещены комментарии от анонимов и при этом нет залогиненности, то форму при простой форме не выводим
        if (!mso_get_option('allow_comment_anonim', 'general', '1') and !is_login() and !is_login_comuser() and mso_get_option('form_comment_easy', 'general', '0')) {
            if (mso_get_option('allow_comment_comusers', 'general', '1')) {
                eval(mso_tmpl_ts('type/page/units/page-comment-to-login-tmpl.php'));
            }
        } else {
            eval(mso_tmpl_ts('type/page/units/page-comment-form-tmpl.php'));
        }
    }
}
if ($comments or $page['page_comment_allow']) {
    echo NR . '</div><!-- /div.mso-type-page-comments -->' . NR;
}
# end file
Ejemplo n.º 14
0
<div class="comment-form">
	<form action="" method="post">
		<input type="hidden" name="comments_page_id" value="<?php 
echo $page_id;
?>
">
		<?php 
echo mso_form_session('comments_session');
?>
		
		<?php 
if (!is_login()) {
    ?>
		
			<?php 
    if (!($comuser = is_login_comuser())) {
        ?>
			
				<?php 
        if (mso_get_option('allow_comment_anonim', 'general', '1')) {
            ?>
					<div class="comments-noreg">
						
						<?php 
            if (mso_get_option('allow_comment_comusers', 'general', '1')) {
                ?>
						<label><input type="radio" name="comments_reg" id="comments_reg_1" value="noreg"  checked="checked" class="no-margin"> <span class="black"><?php 
                echo tf('Не регистрировать/аноним');
                ?>
</span></label> <br>
						<?php