################################################################################
#
# Copyright (с) 2003, Yauza.com
#
# Zverev Alexandr, Email: alex@yauza.com
#
################################################################################
define ('PATH_TO_ROOT', '../');
define ('PAGE_CODE', 'content');
//define ('DEFAULT_IDP', 'sf');
define ('ACT_MAP', 'map');
define ('ACT_SEARCH', 'search');
define ('ACT_MY_ACCOUNT', 'myaccnt');
require (PATH_TO_ROOT . 'inc/init.inc.php');
if (IDP == 'home') {
$goto = 'Location: ' . PATH_TO_ROOT . "\n";
header($goto);
exit();
}
$action = '';
if (isset($HTTP_GET_VARS['a'])) $action = $HTTP_GET_VARS['a'];
if ($action == '' && isset($HTTP_POST_VARS['a'])) $action = $HTTP_POST_VARS['a'];
$page_title = '';
$add_nav = '';
$not_show_prn = 0;
$t = new Template;
$t->set_file('main', 'index.ihtml');
$t->set_block('main', 'search', 'search_');
$t->set_block('main', 'sf_reg_block', 'sf_reg_block_');
$t->set_block('main', 'print_ver', 'print_ver_');
$t->set_block('main', 'sf_accnt_block', 'sf_accnt_block_');
if (!in_array(IDP, array(ACT_MAP, ACT_SEARCH)) && $action != ACT_MY_ACCOUNT) {
$content_static = get_content(IDP, true, FEPAGES_PIC_DIR, FEPAGES_FILES_DIR);
if (!(isset($content_static['ID_FePage']) && string_is_id($content_static['ID_FePage']))) {
$content_static = array(
'ContentTitle' => '404. Страница не найдена',
'ContentValue' => '404. Страница не найдена',
);
}
}
if ($action == ACT_MY_ACCOUNT) {
$t->set_block('sf_accnt_block', 'sf_accnt_form', 'sf_accnt_form_');
$t->set_block('sf_accnt_block', 'sf_accnt_form_ok', 'sf_accnt_form_ok_');
$t->set_var(array(
'IDP' => $idp,
'ERROR' => '',
'OFTITLE' => get_vuz_title_by_user_id($g_user->GetId()),
));
$form = isset($HTTP_POST_VARS['form']) ? $HTTP_POST_VARS['form'] : array();
if (!is_post()) {
$db->Query('select * from Users where ID_User = ' . addslashes($g_user->GetId()));
$form = $db->NextRecord() ? $db->mRecord : array();
$t->set_var(array(
'EMAIL' => isset($form['UserEmail']) ? htmlspecialchars($form['UserEmail']) : '',
'NAME' => isset($form['UserName']) ? htmlspecialchars($form['UserName']) : '',
'UserProf' => isset($form['UserProf']) ? htmlspecialchars($form['UserProf']) : '',
'UserPhone' => isset($form['UserPhone']) ? htmlspecialchars($form['UserPhone']) : '',
'PASSWORD' => isset($form['UserPwd']) ? htmlspecialchars($form['UserPwd']) : '',
'RUKNAME' => isset($form['UserRukName']) ? htmlspecialchars($form['UserRukName']) : '',
'RURUSERPROF' => isset($form['UserRukProf']) ? htmlspecialchars($form['UserRukProf']) : '',
));
$t->parse('sf_accnt_form_', 'sf_accnt_form', false);
} else {
$err = '';
$form['UserPwd'] = isset($form['UserPwd']) ? trim($form['UserPwd']) : '';
$form['UserEmail'] = isset($form['UserEmail']) ? trim($form['UserEmail']) : '';
$form['UserName'] = isset($form['UserName']) ? trim($form['UserName']) : '';
$form['UserProf'] = isset($form['UserProf']) ? trim($form['UserProf']) : '';
$form['UserPhone'] = isset($form['UserPhone']) ? trim($form['UserPhone']) : '';
$form['UserRukName'] = isset($form['UserRukName']) ? trim($form['UserRukName']) : '';
$form['UserRukProf'] = isset($form['UserRukProf']) ? trim($form['UserRukProf']) : '';
// Проверка наличия полей
if ($form['UserPwd'] == '') $err .= 'Введите Пароль.
';
if ($form['UserPwd'] != '' && strlen($form['UserPwd']) < 6) $err .= 'Минимальная длина Пароля 6 символов.
';
if ($form['UserName'] == '') $err .= 'Введите ФИО.
';
if ($form['UserProf'] == '') $err .= 'Введите должность.
';
if ($form['UserPhone'] == '') $err .= 'Введите Телефон.
';
if ($form['UserEmail'] == '') $err .= 'Введите Email.
';
if ($form['UserEmail'] != '' && !string_is_email($form['UserEmail'])) $err .= 'Введите правильный Email.
';
if ($form['UserRukName'] == '') $err .= 'Введите ФИО руководителя (для подписи).
';
if ($form['UserRukProf'] == '') $err .= 'Введите Должность руководителя (для подписи).
';
if (!$err) {
$q = 'update Users set';
$q .= ' UserPwd = "' . addslashes($form['UserPwd']) . '",';
$q .= ' UserName = "' . addslashes($form['UserName']) . '",';
$q .= ' UserEmail = "' . addslashes($form['UserEmail']) . '",';
$q .= ' UserProf = "' . addslashes($form['UserProf']) . '",';
$q .= ' UserPhone = "' . addslashes($form['UserPhone']) . '",';
$q .= ' UserRukName = "' . addslashes($form['UserRukName']) . '",';
$q .= ' UserRukProf = "' . addslashes($form['UserRukProf']) . '"';
$q .= ' where ID_User = ' . $g_user->GetId();
$db->Query($q);
$t->parse('sf_accnt_form_ok_', 'sf_accnt_form_ok', false);
} else {
$t->set_var(array(
'EMAIL' => isset($form['UserEmail']) ? htmlspecialchars($form['UserEmail']) : '',
'NAME' => isset($form['UserName']) ? htmlspecialchars($form['UserName']) : '',
'UserProf' => isset($form['UserProf']) ? htmlspecialchars($form['UserProf']) : '',
'UserPhone' => isset($form['UserPhone']) ? htmlspecialchars($form['UserPhone']) : '',
'PASSWORD' => isset($form['UserPwd']) ? htmlspecialchars($form['UserPwd']) : '',
'RUKNAME' => isset($form['UserRukName']) ? htmlspecialchars($form['UserRukName']) : '',
'RURUSERPROF' => isset($form['UserRukProf']) ? htmlspecialchars($form['UserRukProf']) : '',
'ERROR' => get_formatted_error($err),
));
$t->parse('sf_accnt_form_', 'sf_accnt_form', false);
}
}
$t->parse('sf_accnt_block_', 'sf_accnt_block', false);
} elseif (in_array(IDP, array('userreg'))) {
$g_user->mAcceptGroups = array('fe_sf_users');
$g_user->Logout();
$t->set_block('sf_reg_block', 'sf_reg_form', 'sf_reg_form_');
$t->set_block('sf_reg_block', 'sf_reg_form_ok', 'sf_reg_form_ok_');
$t->set_var(array(
'IDP' => $idp,
'ERROR' => '',
));
$form = isset($HTTP_POST_VARS['form']) ? $HTTP_POST_VARS['form'] : array();
if (!is_post()) {
$t->set_var(array(
# 'LOGIN' => isset($form['UserLogin']) ? htmlspecialchars($form['UserLogin']) : '',
'VUZ_OPTIONS' => get_select_options(isset($form['ID_Ofs']) ? $form['ID_Ofs'] : '', get_sf_of_list()),
'EMAIL' => isset($form['UserEmail']) ? htmlspecialchars($form['UserEmail']) : '',
'NAME' => isset($form['UserName']) ? htmlspecialchars($form['UserName']) : '',
'UserProf' => isset($form['UserProf']) ? htmlspecialchars($form['UserProf']) : '',
'UserPhone' => isset($form['UserPhone']) ? htmlspecialchars($form['UserPhone']) : '',
'INN' => isset($form['Inn']) ? htmlspecialchars($form['Inn']) : '',
'RUKNAME' => isset($form['UserRukName']) ? htmlspecialchars($form['UserRukName']) : '',
'RURUSERPROF' => isset($form['UserRukProf']) ? htmlspecialchars($form['UserRukProf']) : '',
));
$t->parse('sf_reg_form_', 'sf_reg_form', false);
} else {
$err = '';
$form['UserPwd'] = isset($form['UserPwd']) ? trim($form['UserPwd']) : '';
# $form['UserLogin'] = isset($form['UserLogin']) ? trim($form['UserLogin']) : '';
$form['ID_Ofs'] = isset($form['ID_Ofs']) ? trim($form['ID_Ofs']) : '';
$form['UserEmail'] = isset($form['UserEmail']) ? trim($form['UserEmail']) : '';
$form['UserName'] = isset($form['UserName']) ? trim($form['UserName']) : '';
$form['UserProf'] = isset($form['UserProf']) ? trim($form['UserProf']) : '';
$form['UserPhone'] = isset($form['UserPhone']) ? trim($form['UserPhone']) : '';
$form['Inn'] = isset($form['Inn']) ? trim($form['Inn']) : '';
$form['UserLogin'] = isset($form['ID_Ofs']) ? 'u' . get_codvuz_by_idlistedu_sf_of(trim($form['ID_Ofs'])) : '';
$form['UserRukName'] = isset($form['UserRukName']) ? trim($form['UserRukName']) : '';
$form['UserRukProf'] = isset($form['UserRukProf']) ? trim($form['UserRukProf']) : '';
// Проверка наличия полей
if ($form['UserPwd'] == '') $err .= 'Введите Пароль.
';
if ($form['UserPwd'] != '' && strlen($form['UserPwd']) < 6) $err .= 'Минимальная длина Пароля 6 символов.
';
if ($form['UserPwd'] != '' && !string_is_login($form['UserPwd'])) $err .= 'Пароль содержит недопустимые символы. Используйте латинские буквы и цифры.
';
# if ($form['UserLogin'] == '') $err .= 'Введите Логин.
';
# if ($form['UserLogin'] != '' && !string_is_login($form['UserLogin'])) $err .= 'Логин может содержать только латинские буквы и цифры.
';
if (!string_is_id($form['ID_Ofs'])) $err .= 'Укажите Объект финансирования.
';
if ($form['Inn'] == '') $err .= 'Введите ИНН.
';
if ($form['UserName'] == '') $err .= 'Введите ФИО.
';
if ($form['UserProf'] == '') $err .= 'Введите должность.
';
if ($form['UserPhone'] == '') $err .= 'Введите Телефон.
';
if ($form['UserEmail'] == '') $err .= 'Введите Email.
';
if ($form['UserEmail'] != '' && !string_is_email($form['UserEmail'])) $err .= 'Введите правильный Email.
';
if ($form['UserRukName'] == '') $err .= 'Введите ФИО руководителя (для подписи).
';
if ($form['UserRukProf'] == '') $err .= 'Введите Должность руководителя (для подписи).
';
if ($err == '') {
$db->Query('select ID_User from Users where UserLogin = "' . addslashes($form['UserLogin']) . '"');
if ($db->Nf()) $err .= 'Пользователь с таким логином уже зарегистрирован.
';
}
if ($err == '') {
$db->Query('select Inn from ofs where ID_Ofs = "' . addslashes($form['ID_Ofs']) . '"');
$db_inn = $db->NextRecord() ? $db->F(0) : '';
if ($db_inn != '') {
$db->Query('select ID_Ofs from ofs where ID_Ofs = "' . addslashes($form['ID_Ofs']) . '" and Inn like "' . addslashes($form['Inn']) . '"');
if (!$db->Nf()) $err .= 'Неправильный ИНН или Объект финансирования.
';
} else {
$db->Query('update ofs set Inn = \'' . addslashes($form['Inn']) . '\' where ID_Ofs = "' . addslashes($form['ID_Ofs']) . '"');
}
}
if ($err == '') {
$db->Query('select ID_User from ofs where ID_Ofs = "' . addslashes($form['ID_Ofs']) . '"');
if ($db->NextRecord() && string_is_id($db->F('ID_User'))) $err .= 'Пользователь от этого Объекта финансирования уже зарегистрирован.
';
}
if (!$err) {
$q = 'insert into Users set';
$q .= ' UserPwd = "' . addslashes($form['UserPwd']) . '",';
$q .= ' UserDeleted = 0,';
$q .= ' Created = now(),';
$q .= ' ID_Group = 6,'; //fe_sf_users
$q .= ' UserName = "' . addslashes($form['UserName']) . '",';
$q .= ' UserEmail = "' . addslashes($form['UserEmail']) . '",';
$q .= ' UserProf = "' . addslashes($form['UserProf']) . '",';
$q .= ' UserPhone = "' . addslashes($form['UserPhone']) . '",';
$q .= ' UserRukName = "' . addslashes($form['UserRukName']) . '",';
$q .= ' UserRukProf = "' . addslashes($form['UserRukProf']) . '",';
// $q .= ' ID_Ofs = "' . addslashes($form['ID_Ofs']) . '",';
$q .= ' UserLogin = "' . addslashes($form['UserLogin']) . '"';
$db->Query($q);
$ID_User = $db->GetInsertId();
$q = 'update ofs set ID_User = ' . addslashes($ID_User) . ' where ID_Ofs = ' . addslashes($form['ID_Ofs']);
$db->Query($q);
# $msg_text = 'Информационно-аналитический центр ФГУП НИФХИ им. Л.Я. Карпова: Зарегистрировался новый пользователь';
# send_html_mail('mmpol_@mail.ru', 'Информационно-аналитический центр ФГУП НИФХИ им. Л.Я. Карпова - регистрация', $msg_text, "From: robot@nifhi.ru\r\n");
$t->set_var(array(
'LOGIN' => isset($form['UserLogin']) ? htmlspecialchars($form['UserLogin']) : '',
));
$t->parse('sf_reg_form_ok_', 'sf_reg_form_ok', false);
} else {
$t->set_var(array(
'LOGIN' => isset($form['UserLogin']) ? htmlspecialchars($form['UserLogin']) : '',
'VUZ_OPTIONS' => get_select_options(isset($form['ID_Ofs']) ? $form['ID_Ofs'] : '', get_sf_of_list()),
'EMAIL' => isset($form['UserEmail']) ? htmlspecialchars($form['UserEmail']) : '',
'NAME' => isset($form['UserName']) ? htmlspecialchars($form['UserName']) : '',
'LOGIN' => isset($form['UserLogin']) ? htmlspecialchars($form['UserLogin']) : '',
'UserProf' => isset($form['UserProf']) ? htmlspecialchars($form['UserProf']) : '',
'UserPhone' => isset($form['UserPhone']) ? htmlspecialchars($form['UserPhone']) : '',
'INN' => isset($form['Inn']) ? htmlspecialchars($form['Inn']) : '',
'RUKNAME' => isset($form['UserRukName']) ? htmlspecialchars($form['UserRukName']) : '',
'RURUSERPROF' => isset($form['UserRukProf']) ? htmlspecialchars($form['UserRukProf']) : '',
'ERROR' => get_formatted_error($err),
));
$t->parse('sf_reg_form_', 'sf_reg_form', false);
}
}
$t->parse('sf_reg_block_', 'sf_reg_block', false);
} elseif (IDP == ACT_MAP) {
//Карта сайта
$content_static = array(
'ContentTitle' => 'Карта сайта',
'ContentValue' => get_map(),
);
} elseif (IDP == ACT_SEARCH) {
//Поиск
$t->set_block('search', 'searchln', 'searchln_');
$t->set_block('search', 'search_no', 'search_no_');
# Строка для поиска
$search = '';
if (isset($HTTP_GET_VARS['search'])) $search = trim($HTTP_GET_VARS['search']);
# Текущая страница
$pagenav = 0;
if (isset($HTTP_GET_VARS['page'])) $pagenav = $HTTP_GET_VARS['page'];
if (!string_is_int($pagenav)) $pagenav = 0;
$search_count = get_option('search_in_page');
if (!string_is_int($search_count) || $search_count <= 1) $search_count = 10;
$navstr = '';
if ($search) {
$where = 'where ContentTitle like \'%' . addslashes($search) . '%\' or ContentValue like \'%' . addslashes($search) . '%\'';
$db->Query('select count(*) from FePages ' . $where);
$cnt = $db->NextRecord() ? $db->F(0) : 0;
$db->Query('select ID_FePage as ID, ContentCode as Code, ContentTitle as Title, ContentValue as Text from FePages ' . $where . ' order by Title' . nav_get_limit($pagenav, $cnt, $search_count));
while ($db->NextRecord()) {
$t->set_var(array(
'SIDP' => htmlspecialchars($db->F('Code')),
'URL' => '',
'STITLE' => $db->F('Title'),
'DESCR' => substr(preg_replace('{\{IMAGE(\d+)\}}', '', html_to_text($db->F('Text'))), 0, 300),
));
$t->parse('searchln_', 'searchln', true);
}
$navstr = nav_draw_bar($pagenav, $cnt, $search_count, PATH_TO_ROOT . "content/?idp=search&search=" . urlencode($search) . "&page=", $search_count, '', '' , ' ');
} else {
$t->parse('search_no_', 'search_no', false);
}
$content_static = array(
'ContentTitle' => 'Поиск',
'ContentValue' => '',
);
$t->set_var('PAGENAV', $navstr != '' ? '