/** * Активирует аккаунт юзера по $code, возвращает логин и пароль пользователя. * * @param string $code Код активации * @param string $login Возвращает логин пользователя * @param string $pass Возвращает пароль пользователя * * @return integer 1 - активация прошла успешно, 0 - активация не прошла */ public function Activate($code, &$login, &$pass) { define('IS_USER_ACTION', 1); /** * Подлючаем файл для работы с пользователем. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/wizard_registration.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_employer.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_freelancer.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/smail.php'; global $DB; $sql = 'SELECT user_id, login, passwd FROM activate_code LEFT JOIN users ON user_id=uid WHERE code = ?'; $res = $DB->query($sql, $code); list($fid, $login, $pass) = pg_fetch_row($res); if ($fid) { $usr = new users(); $usr->active = 1; $usr->Update($fid, $res); $usr->GetUserByUID($fid); // #0017513 if ($usr->role[0] == 1) { $wiz_user = wizard::isUserWizard($fid, step_employer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_EMP_ID); } else { $wiz_user = wizard::isUserWizard($fid, step_freelancer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_FRL_ID); } $out = 1; $this->Delete($fid); if ($wiz_user['id'] > 0) { $mail = new smail(); if ($usr->role[0] == 1) { $mail->employerQuickStartGuide($fid); } else { $mail->freelancerQuickStartGuide($fid); } step_wizard::setStatusStepAdmin(step_wizard::STATUS_COMPLITED, $fid, $wiz_user['id']); $role = $usr->role[0] == 1 ? wizard_registration::REG_EMP_ID : wizard_registration::REG_FRL_ID; login($login, $pass, 0, true); header('Location: /registration/activated.php?role=' . $role); exit; } } else { $out = 0; } return $out; }
if ($login) { $error = users::SetActive($login); } require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/wizard_registration.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_employer.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_freelancer.php'; $user = new users(); $user->GetUser($login); if ($user->role[0] == 1) { $wiz_user = wizard::isUserWizard($user->uid, step_employer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_EMP_ID); } else { $wiz_user = wizard::isUserWizard($user->uid, step_freelancer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_FRL_ID); } if ($wiz_user['id'] > 0) { step_wizard::setStatusStepAdmin(step_wizard::STATUS_COMPLITED, $user->uid, $wiz_user['id']); } break; /*case "delete": $login = trim($_GET['login']); if ($login) $error = users::DeleteUser(0, 0, $error, $login, hasPermissions('users')); break;*/ /*case "delete": $login = trim($_GET['login']); if ($login) $error = users::DeleteUser(0, 0, $error, $login, hasPermissions('users')); break;*/ case 'unwarn': $login = trim(stripslashes($_GET['user'])); $usr = new users(); $error = $usr->UnWarn($login); print $error;
/** * Проверка ПРО у пользователей * * @return type */ public function checkWizardPRO($op_code) { if (!is_array($op_code)) { $op_code = array($op_code); } $sql = "SELECT id, ammount, op_code FROM wizard_billing WHERE wiz_uid = ? AND op_code IN(?l)"; return $this->_db->row($sql, step_wizard::getWizardUserID(), $op_code); }
/** * Активирует пользователей. * * @param string $sUsers JSON строка с массивом UID пользователей * @param int $nReload 1 - если нужно перезагрузить страницу * * @return object xajaxResponse */ function activateUser($sUsers = '', $nReload = 0) { session_start(); $objResponse = new xajaxResponse(); if (hasPermissions('users')) { $aUsers = _jsonArray($sUsers); if ($aUsers) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/wizard_registration.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_employer.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/wizard/step_freelancer.php'; foreach ($aUsers as $sUid) { if (users::SetActiveByUid($sUid)) { $user = new users(); $user->GetUserByUID($sUid); if ($user->role[0] == 1) { $wiz_user = wizard::isUserWizard($sUid, step_employer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_EMP_ID); } else { $wiz_user = wizard::isUserWizard($sUid, step_freelancer::STEP_REGISTRATION_CONFIRM, wizard_registration::REG_FRL_ID); } step_wizard::setStatusStepAdmin(step_wizard::STATUS_COMPLITED, $sUid, $wiz_user['id']); $objResponse->script("\$('activate_{$sUid}').set('html','');"); } } $objResponse->script('adminLogCheckUsers(false)'); $objResponse->script('$("chk_all").checked=false;'); } if ($nReload) { $objResponse->script('window.location.reload(true)'); } } return $objResponse; }
/** * удаляет все платные опции пользователя или только для конкретного проекта * @param integer $parent = null : родитель платной опции (например id проекта) */ function clearPayedOptions($parent = null) { global $DB; if ($parent) { $par = " AND parent = " . $parent; } else { $par = ""; } $sql = "DELETE FROM wizard_billing WHERE wiz_uid = ?" . $par; return $DB->query($sql, step_wizard::getWizardUserID()); }
/** * Удаляем дополнительные данные по мастеру * * @param array $fields Поля для удаления * @param string $wiz_uid Ид пользователя мастера * @return type */ function clearFieldsInfo($fields, $wiz_uid = false) { if (!$wiz_uid) { $wiz_uid = step_wizard::getWizardUserID(); } $sql = "DELETE FROM wizard_fields WHERE wiz_uid = ? AND field_name IN (?l)"; return $this->_db->query($sql, $wiz_uid, $fields); }