Exemplo n.º 1
0
 function wiki_get_page($url)
 {
     global $wiki, $history, $oldid, $uid;
     $tabacts = array('edit' => 1, 'history' => 1, 'admin' => 1);
     if ($url == '') {
         $url = '/';
     }
     if ($url[strlen($url) - 1] != '') {
         $url .= '/';
     }
     content_url_var_push('wiki', $wiki);
     redirector_add_skipvar('oldid');
     $error = false;
     $src = wiki_eval_page($url, $wiki, &$error);
     if ($error) {
         return $src;
         return;
     }
     $cur = prepare_arg(get_redirection(false, true));
     $items = array();
     $uidurl = $uid != '' ? 'uid\\=' . $uid : '';
     $dir = $url;
     if ($url[strlen($url) - 1] == '/') {
         $url .= '?';
     } else {
         $url .= '&';
     }
     if ($uidurl != '') {
         $uidurl = '&' . $uidurl;
     }
     $items[] = 'title=Статья;hint=Чтение статьи;url=' . (isset($tabacts[$wiki]) ? $url . $uidurl : 'JavaScript:refreshPage (\'' . urlencode(urlencode($cur)) . '\');') . ';active=' . (!isset($tabacts[$wiki]) ? '1' : '0') . ';';
     if (content_get_allowed('EDIT') || content_get_allowed('EDITINFO')) {
         $items[] = 'separator=1;';
         if (file_exists(config_get('site-root') . $dir . 'edit.php')) {
             $items[] = 'title=Редактирование;hint=Редактирование ' . 'содержимого страницы;url=' . ($wiki != 'edit' ? $url . 'wiki\\=edit' . $uidurl : $cur) . ';active=' . ($wiki == 'edit' ? '1' : '0');
         }
         if (file_exists(config_get('site-root') . $dir . 'history.php')) {
             $items[] = 'title=История;hint=История изменения документа;url=' . ($wiki != 'history' ? $url . 'wiki\\=history' . $uidurl : $cur) . ';active=' . ($wiki == 'history' ? '1' : ($oldid != '' ? 'shaded' : '0'));
         }
     }
     $static_rules = config_get('static-privacy-rules');
     if (user_access_root() || $static_rules[strtolower(user_login())][$dir . 'admin.php']) {
         if (file_exists(config_get('site-root') . $dir . 'admin.php')) {
             $items[] = 'title=Администрирование;hint=Администрирование ' . 'раздела;url=' . ($wiki != 'admin' ? $url . 'wiki\\=admin' . $uidurl : $cur) . ';active=' . ($wiki == 'admin' ? '1' : '0');
         }
     }
     return stencil_wiki_page($src, $items);
 }
Exemplo n.º 2
0
        if ($passwd != $passwd_confirm) {
            add_info('Ошибка подтверждеия пароля. Пароль не был обновлен.');
        } else {
            $arr['password'] = '******' . addslashes(user_password_hash(user_login(), stripslashes($passwd))) . '")';
        }
    }
    if (count($arr) > 0) {
        db_update('user', $arr, '`id`=' . user_id());
        if (isset($arr['password'])) {
            user_authorize(user_login(), stripslashes($passwd));
        }
    }
}
$u = user_get_by_id(user_id());
$f = new CVCForm();
$f->Init('', 'action=.?action\\=save' . ($redirect != '' ? '&redirect=' . prepare_arg($redirect) . ';backlink=' . prepare_arg($redirect) : '') . ';method=POST;add_check_func=check;');
$f->AppendLabelField('Имя пользователя', '', $u['name']);
$f->AppendLabelField('Логин', '', $u['login']);
if ($u['email'] != '') {
    $f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">E-Mail</td><td><input id="email" name="email" type="text" class="txt block" value="' . htmlspecialchars($u['email']) . '"></td></tr></table>' . '<button class="block" type="button" onclick="check_frm_email ();" style="margin-top: 4px;">Проверить</button>' . '<div id="email_check_res" style="display: none;"></div>'));
}
$f->AppendCustomField(array('title' => '<input type="checkbox" class="cb pointer" value="1" onclick="fchpasswd (this);" id="chpasswd" name="chpasswd_val"><span class="pointer" onclick="var e=getElementById (\'chpasswd\'); e.checked=!e.checked; fchpasswd (e);">Сменить пароль</span>', 'src' => '<div id="passwd_block" class="invisible">' . '<table class="clear" width="100%"><tr><td width="85">Новый пароль</td><td style="padding-bottom: 2px;"><input type="password" class="txt block" id="passwd" name="passwd" onkeyup="check_passwd ();" onchange="check_passwd ();"></td></tr>' . '<tr><td>Подтверждение</td><td style="padding-top: 2px;"><input type="password" class="txt block" id="passwd_confirm" name="passwd_confirm" onkeyup="check_passwd ();" onchange="check_passwd ();"></td></tr>' . '</table><div id="passwd_msg"></div></div>'));
?>

<script language="JavaScript" type="text/JavaScript">
  var chp=false;

  function check_passwd () {
    var passwd  = getElementById ('passwd').value;
    var confirm = getElementById ('passwd_confirm').value;
    var widget  = getElementById ('passwd_msg');
Exemplo n.º 3
0
 function Problem_GenerateEditorForm($data = array(), $act = 'create', $backlink = '')
 {
     global $INFORMATICS_ProblemSettingsFields, $pageid, $id, $promtadd;
     $fields = $INFORMATICS_ProblemSettingsFields;
     $action = prepare_arg('.?page=prbmanager&action=' . $act . ($id != '' ? '&id=' . $id : '') . '&' . ($pageid != '' ? 'pageid=' . $pageid : '') . ($promtadd != '' ? '&promtadd=' . $promtadd : '') . ($backlink != '' ? '&redirect=' . urlencode($backlink) : ''));
     $desc = $data['desc'];
     if ($desc == '') {
         $tpl = manage_template_by_name('Олимпиады / Informatics / Заготовка условия задачи');
         $desc = $tpl->GetText();
     }
     $iframe = iframe_editor('desc', $desc, $backlink != '', 'ProblemSettings', $this->gateway->content_settings['iframe']);
     $tmp = handler_get_list('ProblemSettings');
     $arr = $tmp['onsubmit'];
     $onsubmit = '';
     for ($i = 0; $i < count($arr); $i++) {
         $onsubmit .= ' ' . handler_build_callback($arr[$i]);
     }
     $form = new CVCForm();
     $form->Init('ProblemSettings', 'method=POST;enctype=multipart/form-data;action=' . $action . ';titlewidth=160;caption=' . ($act == 'create' ? 'Создать' : 'Сохранить') . ';onsubmit=' . prepare_arg($onsubmit) . ';backlink=' . prepare_arg($backlink) . ';');
     for ($i = 0, $n = count($fields); $i < $n; $i++) {
         $f = $fields[$i];
         if ($f['action'] != '' && $f['action'] != $act) {
             continue;
         }
         $v = $data[$f['name']];
         if (strtolower($f['type']) == 'custom') {
             $v = array('src' => $f['src'], 'value' => $v, 'check_value' => $f['check_value']);
         }
         $form->AppendField($f['title'], $f['postname'], $f['type'], $v, array('important' => $f['important']));
     }
     if ($act != 'create') {
         $form->AppendField('Состояние', '', 'CUSTOM', array('src' => $this->Template('problems.state', array('data' => $data))));
     }
     if (isset($promtadd)) {
         $form->AppendCheckBoxField('Добавить на контест', 'addToContest', false);
     }
     $form->AppendCustomField(array('src' => '<center><b>Условие задачи</b>' . $iframe . '</center>'));
     return $form;
 }
Exemplo n.º 4
0
 function Page_ContestManager($id, $clear = false)
 {
     $this->AppendNavigation('Управление контестом', '/?page=contest&action=manage&id' . $id);
     $cpt = '';
     if ($clear) {
         $cpt = WT_contest_clear_manage_caption($id);
     }
     if ($cpt == '') {
         $cpt = 'Управление контестом';
     }
     $this->CPrintLn(stencil_formo('title=' . prepare_arg($cpt) . ';'));
     WT_draw_contest_manage_form($id, $clear);
     $this->CPrintLn(stencil_formc());
 }
Exemplo n.º 5
0
 function OuterHTML()
 {
     $res = '';
     $n = count($this->pages);
     $p = "count={$n};";
     for ($i = 0; $i < $n; $i++) {
         $p .= 'tab' . $i . '=' . prepare_arg($this->pages[$i]['title']) . ';';
     }
     if ($this->settings['name'] == '') {
         $suff = 'tabctrl';
     } else {
         $suff = $this->settings['name'];
     }
     if (isset($GLOBALS[$suff]) && $GLOBALS[$suff] != '') {
         $active = $GLOBALS[$suff];
     } else {
         $active = 0;
     }
     if ($active < 0) {
         $active = 0;
     }
     if ($active >= count($this->pages)) {
         $active = count($this->pages) - 1;
     }
     $p .= ';active=' . $active;
     $url = $this->settings['url'];
     if ($url == '') {
         $url = content_url_get_full();
     }
     $p .= ';url=' . prepare_arg($url);
     $res .= stencil_tabo($p . ';suff=' . prepare_arg($this->settings['name']));
     $res .= $this->pages[$active]['src'];
     $res .= stencil_tabc();
     return $res;
 }
Exemplo n.º 6
0
    if ($_SESSION['CAPTCHA_Keystring'] == '' || strtolower($keystring) != $_SESSION['CAPTCHA_Keystring']) {
        add_info('Вы не прошли тест Тьюринга на подтверждение того, что вы не бот.');
        return false;
    }
    if ($email == config_get('null-email')) {
        add_info('Недопустимый адрес электронной почты.');
        return false;
    }
    if (!$agree) {
        add_info('Вы не согласны с правилами этого ресурса, так как же мы Вас здесь зарегестрируем?');
        return false;
    }
    return user_create_received(false);
}
$f = new CVCForm();
$f->Init('', 'action=.?action\\=register' . ($redirect != '' ? '&redirect\\=' . prepare_arg($redirect) : '') . ';method=POST;add_check_func=check;caption=Зарегистрироваться;backlink=' . prepare_arg($redirect));
$rn = new CVCCaptcha();
$rn->Init();
// Fields
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Код с картинки</td><td style="padding: 0 2px;"><div>' . $rn->OuterHTML() . '</div><input type="text" class="txt block" name="keystring" value=""></td></tr></table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Ваше имя</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="name" name="name" value="' . htmlspecialchars(stripslashes($name)) . '"></td></tr></table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Логин</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="login" name="login" value="' . htmlspecialchars(stripslashes($login)) . '"></td></tr>' . '</table>' . '<button class="block" type="button" onclick="check_login ();" style="margin-top: 4px;">Проверить</button>' . '<div id="login_check_res" style="display: none;"></div>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Пароль</td><td style="padding: 2px;"><input type="password" class="txt block" id="passwd" name="passwd" onkeyup="check_passwd ();" onchange="check_passwd ();"></td></tr>' . '<tr><td>Подтверждение</td><td style="padding: 2px;"><input type="password" class="txt block" id="passwd_confirm" name="passwd_confirm"  onkeyup="check_passwd ();" onchange="check_passwd ();"><div id="passwd_msg"></div></td></tr>' . '</table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">E-Mail</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="email" name="email" value="' . htmlspecialchars(stripslashes($email)) . '"></td></tr></table>' . '<button class="block" type="button" onclick="check_frm_email ();" style="margin-top: 4px;">Проверить</button>' . '<div id="email_check_res" style="display: none;"></div>'));
$f->AppendCUstomField(array('src' => '<center><input type="checkbox" class="cb" value="1" name="agree" id="agree">Я согласен с <a href="' . config_get('document-root') . '/articles/rules" target="blank">правилами</a> этого ресурса</center>'));
if ($action == 'register') {
    if (!register()) {
        formo('title=Форма регистрации пользователя');
        $f->Draw();
        formc();
    } else {
Exemplo n.º 7
0
 function Draw()
 {
     global $CORE;
     if ($_GET['action'] != 'edit') {
         redirector_add_skipvar('file');
     }
     $CORE->AddStyle('xpfs-browser');
     $volumes = '';
     for ($i = 0, $n = count($this->volumes); $i < $n; ++$i) {
         $volumes .= prepare_arg('<option value="' . htmlspecialchars($this->volumes[$i]) . '"' . ($this->volume == $this->volumes[$i] ? ' selected' : '') . '>' . htmlspecialchars($this->volumes[$i]) . '</option>');
     }
     formo('title=<table width\\="100%"><tr><td>Браузер файловой системы' . '</td><td width\\="150px">Том:' . '<select style\\="margin-left: 6px\\; width: 100px" ' . 'onchange\\="nav (\'./?volume\\=\'+this.value)">' . $volumes . '</select></td></tr></table>');
     if ($this->volume == '') {
         println('<i>Нет томов для просмотра</i>');
     } else {
         if ($_GET['action'] == 'edit') {
             $this->drawEditForm($_GET['file']);
         } else {
             if ($_GET['action'] == 'save') {
                 $this->XPFS->writeVolumeBlock($this->volume, $this->getFullPath($_GET['file']), stripslashes($_POST['xpfs_content']));
             }
         }
         println('<table class="list xpfs_browser" width="100%">' . '<tr class="h"><th class="first">Путь: ' . htmlspecialchars($this->path) . '</th><th width="90">' . 'Время</th><th width="80">Доступ</th>' . '<th width="80" class="last">Атрибут</th></tr>' . "\n");
         $listing = $this->XPFS->lsVolumeDir($this->volume, $this->path);
         $this->drawUpLink(count($listing) == 0);
         for ($i = 0, $n = count($listing); $i < $n; ++$i) {
             $this->drawNode($listing[$i], $i == $n - 1);
         }
         println('</table>');
         println('<form action="' . $this->prepareURL() . '" method="post">');
         println('<div class="xpfs_cmdline"><table class="clear" ' . 'width="100%"><tr><td width="120px"><b>Командная строка:</b>' . '</td><td><input type="text" class="txt block" ' . 'name="xpfs_command"></td><td width="80px">' . '<button style="margin-left: 8px; width: 24px" ' . 'type="submit">»</button></td></tr></table></div>');
         println('</form>');
     }
     formc();
 }
Exemplo n.º 8
0
        return false;
    }
    $s = unserialize($r['settings']);
    if ($s['restore_timestamp'] && time() - $s['restore_timestamp'] < config_get('restore-timeout')) {
        add_info('Вы не можете просить восстановку пароля так часто');
        return false;
    }
    $s['restore_hash'] = $hash;
    $s['restore_timestamp'] = time();
    db_update('user', array('settings' => db_string(serialize($s))), '`id`=' . $r['id']);
    $link = config_get('http-document-root') . '/login/restore/confirm/?id=' . $r['id'] . '&hash=' . $hash;
    sendmail_tpl(stripslashes($email), 'Восстановление пароля в системе ' . config_get('site-name'), 'restore', array('login' => stripslashes($login), 'email' => stripslashes($email), 'link' => $link));
    return true;
}
$f = new CVCForm();
$f->Init('', 'action=.?action\\=send' . ($redirect != '' ? '&redirect\\=' . prepare_arg($redirect) : '') . ';method=POST;add_check_func=check;caption=Послать заявку на восстановление;backlink=' . prepare_arg($redirect));
$rn = new CVCCaptcha();
$rn->Init();
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Код с картинки</td><td style="padding: 0 2px;"><div>' . $rn->OuterHTML() . '</div><input type="text" class="txt block" name="keystring" value=""></td></tr></table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">Логин</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="login" name="login" value="' . htmlspecialchars(stripslashes($login)) . '"></td></tr></table>'));
$f->AppendCustomField(array('src' => '<table class="clear" width="100%"><tr><td width="30%">E-Mail</td><td style="padding: 0 2px;"><input type="text" class="txt block" id="email" name="email" value="' . htmlspecialchars(stripslashes($email)) . '"></td></tr></table>'));
if ($action == 'send') {
    if (!send()) {
        formo('title=Форма восстановления пароля');
        $f->Draw();
        formc();
    } else {
        add_info('Письмо с подробной информации о дальнейших действиях для смены пароля было выслано по электронному адресу ' . $email . ($redirect != '' ? '<br><br><a href="' . htmlspecialchars($redirect) . '">Вернуться в предыдущий раздел</a>' : ''));
    }
} else {
    formo('title=Форма восстановления пароля');