Example #1
0
* @todo
*/
!defined('SDG') ? die('Triple protection!') : null;
// признак вывода капчи
$secure = false;
// проверяем, включена ли регистрация
if (CONF_USER_REGISTER) {
    // если пользователь уже вошел на сайт, не пускаем его в форму авторизации
    if ($user->getAuthorized()) {
        messages::error404();
    } else {
        $return_data = array('email' => false);
        // сохраняем в сесиию рефер-ссылку
        !isset($_SESSION['referer']) && secure::checkServerCalls() && isset($_GET['do']) && !strpos($_SERVER['HTTP_REFERER'], $_GET['do']) ? $_SESSION['referer'] = $_SERVER['HTTP_REFERER'] : null;
        if (!empty($_POST['email']) && !empty($_POST['password'])) {
            if (validate::postDataNotEmpty()) {
                // проверяем капчу
                if (isset($_POST['keystring'])) {
                    $securimage = new securimage();
                    !$securimage->check($_POST['keystring']) ? $arrErrors[] = ERROR_CAPTCHA : null;
                }
                $_POST['remember'] = isset($_POST['remember']) ? true : false;
                if ($user->issetUser("email IN (" . secure::escQuoteData($_POST['email']) . ") AND password IN ('" . md5($_POST['password']) . "') AND token IN ('active', 'new')")) {
                    if ($user->authorizeUser($_POST['email'], $_POST['password'], $_POST['remember'])) {
                        unset($_SESSION['user_fail_auth']);
                        if (isset($_SESSION['referer']) && !strstr($_SESSION['referer'], 'do=payments')) {
                            $referer = $_SESSION['referer'];
                            unset($_SESSION['referer']);
                            die('<script type="text/javascript">window.location="' . $referer . '";</script>');
                        } else {
                            die('<script type="text/javascript">window.location="' . chpu::createChpuUrl(CONF_SCRIPT_URL . 'index.php?do=user.data') . '";</script>');
            if (empty($arrData[USR_PREFIX . 'users']) && DB_PREFIX . 'conf_users' === $table) {
                $table = USR_PREFIX . 'users';
            } elseif (DB_PREFIX . 'conf_users' === $table) {
                continue;
            }
            $arrResult[] = array('table' => $table, 'size' => USR_PREFIX . 'users' === $table ? count($arrDataTable) * 2 : count($arrDataTable));
        }
        // передаем данные для отображения прогресса импорта
        $smarty->assign('importData', ajax::sdgJSONencode($arrResult));
        // включаем страницу отображения прогресса импорта
        $smarty->assign('importContinueProgress', true);
        // включаем предупреждение
        $arrWarnings[] = FORM_SYSTEM_IMPORT_WARNING;
        $smarty->assign('warnings', $arrWarnings);
    } elseif (isset($_POST['execute'])) {
        !validate::postDataNotEmpty() ? $arrErrors[] = ERROR_EMPTY_FORM_FIELDS : null;
        //(!import::dbConnect($_POST['dbhost'], $_POST['dbname'], $_POST['dbuser'], '')) ? $arrErrors[] = ERROR_CONNECT_DB : null;
        !import::dbConnect($_POST['dbhost'], $_POST['dbname'], $_POST['dbuser'], $_POST['dbpassword']) ? $arrErrors[] = ERROR_CONNECT_DB : null;
        if (empty($arrErrors)) {
            $arrTables = array('subscription' => &$_POST['table_subscription'], 'vacancy' => &$_POST['table_vacancy'], 'resume' => &$_POST['table_resume'], 'city' => &$_POST['table_city'], 'region' => &$_POST['table_region'], 'profession' => &$_POST['table_profession'], 'section' => &$_POST['table_section'], 'users' => &$_POST['table_users'], 'news' => &$_POST['table_news']);
            // передаем данные для отображения прогресса импорта
            $smarty->assign('importData', import::mdsImportDB($arrTables));
            // включаем страницу отображения прогресса импорта
            $smarty->assign('importShowProgress', true);
            // включаем предупреждение
            $arrWarnings[] = FORM_SYSTEM_IMPORT_WARNING;
            $smarty->assign('warnings', $arrWarnings);
        }
    }
} else {
    messages::error404();