Beispiel #1
0
        $action = "change";
    }
    if ($_POST['action_change2'] != "") {
        $action = "change_country";
    }
    if ($_POST['action_change3'] != "") {
        $action = "change_country2";
    }
}
$employer = new employer();
$employer->GetUserByUID(get_uid(false));
$contacts = array('phone' => array('name' => 'Телефон', 'value' => $employer->phone), 'site' => array('name' => 'Сайт', 'value' => $employer->site), 'icq' => array('name' => 'ICQ', 'value' => $employer->icq), 'skype' => array('name' => 'Skype', 'value' => $employer->skype), 'email' => array('name' => 'E-mail', 'value' => $employer->second_email));
//hash. Если пользователь вводил данные до авторизации, то подставляем данные в массив #_POST
//@todo Переписать это в адаптер.
if ($hash) {
    $guestMemoryModel = new GuestMemoryModel();
    $savedData = $guestMemoryModel->getData($hash);
    $tmpPrj->setProjectField('name', substr(__paramValue('html', antispam(addslashes($savedData['name'])), 60, true), 0, 512));
    $tmpPrj->setProjectField('descr', __paramValue('html', antispam(addslashes($savedData['descr'])), null, true));
    if (isset($savedData['IDResource'])) {
        $uploader = new uploader($savedData['IDResource']);
    }
    $agreement = $savedData['agreement'];
    $tmpPrj->setProjectField('agreement', $agreement);
    if ($agreement) {
        $tmpPrj->setProjectField('cost', 0);
        $tmpPrj->setProjectField('currency', 0);
        $tmpPrj->setProjectField('priceby', 1);
    } else {
        $tmpPrj->setProjectField('cost', $savedData['cost']);
        $tmpPrj->setProjectField('currency', $savedData['currency']);
Beispiel #2
0
                     $location = '/payed/';
                 }
             }
             break;
         case 'masssending':
             if ($is_log > 0) {
                 $location = '/masssending/';
             }
             break;
     }
     if ((is_emp() || $is_log == users::AUTH_STATUS_2FA) && $guest_query) {
         require_once $_SERVER['DOCUMENT_ROOT'] . '/guest/models/GuestHelper.php';
         require_once $_SERVER['DOCUMENT_ROOT'] . '/guest/models/GuestMemoryModel.php';
         $dataForm = GuestHelper::overrideDataFromString($guest_query);
         if (isset($dataForm['kind']) && is_numeric($dataForm['kind'])) {
             $guestMemoryModel = new GuestMemoryModel();
             $hash = $guestMemoryModel->saveData($dataForm);
             $_location = '/public/?step=1&kind=' . $dataForm['kind'] . '&hash=' . $hash;
             if ($is_log == users::AUTH_STATUS_2FA) {
                 $_SESSION['ref_uri'] = $_location;
             } else {
                 $location = $_location;
             }
         }
     }
     header("Location: {$location}");
     exit;
 } else {
     $_SESSION['toppayed_catalog'] = $adCatalog;
     $_SESSION['toppayed_main'] = $adMain;
     $_SESSION['toppayed_head'] = $adHead;
 /**
  * Создание вакансии
  */
 public function actionVacancy()
 {
     $subform = new GuestNewVacancyForm(array('is_adm' => $this->is_adm));
     $form = new NewDataForm($subform, array('is_adm' => $this->is_adm));
     $form->addElement(new Form_Element_Hidden('social'));
     //@todo: не корректно использование - есть общее решение в GuestConst::$_error_messages
     $userValidator = $form->getElement('email')->getValidator('NoUserExists');
     $userValidator->setMessages(array('userFound' => GuestConst::VACANCY_EMAIL_BUSY));
     if (isset($_POST) && sizeof($_POST) > 0) {
         if (isset($_POST['social']) && $_POST['social']) {
             $form->getElement('uname')->setRequired(false);
             $form->getElement('usurname')->setRequired(false);
             $form->getElement('email')->setRequired(false);
         }
         $valid = $form->isValid($_POST);
         $data = $form->getValues();
         //@todo: подготовка данных, лучше все это делать в контролах но нет времени!
         //@todo: частично дублирует GuestHelper::overrideData
         $data['dataForm']['kind'] = 4;
         //вакансия!
         unset($data['dataForm']['profession']);
         $data['dataForm']['categories'][] = array('category_id' => $subform->getElement('profession')->getGroupDbIdValue(), 'subcategory_id' => $subform->getElement('profession')->getSpecDbIdValue());
         unset($data['dataForm']['location']);
         $data['dataForm']['country'] = $subform->getElement('location')->getColumnId(0);
         $data['dataForm']['city'] = $subform->getElement('location')->getColumnId(1);
         $data['dataForm']['IDResource'] = @$data['dataForm']['IDResource'][0];
         $cost_element = $subform->getElement('cost');
         $is_agreement = $cost_element->getValue('agreement') == 1;
         $data['dataForm']['cost'] = $is_agreement ? 0 : $data['dataForm']['cost'];
         $data['dataForm']['currency'] = $is_agreement ? 0 : $cost_element->getValue('currency_db_id');
         $data['dataForm']['priceby'] = $is_agreement ? 1 : $cost_element->getValue('priceby_db_id');
         $filter = @$data['dataForm']['filter'];
         if (!$filter) {
             $filter = array();
         }
         $data['dataForm']['pro_only'] = in_array('pro_only', $filter);
         $data['dataForm']['verify_only'] = in_array('verify_only', $filter);
         unset($data['dataForm']['filter']);
         if ($this->is_adm) {
             if (!$data['uname'] && !$data['usurname']) {
                 $data['uname'] = "Менеджер";
                 $data['usurname'] = "Компании";
             }
         }
         if (isset($data['dataForm']['auth']) && $data['dataForm']['auth']) {
             $data['dataForm']['agreement'] = $is_agreement;
             $guestMemoryModel = new GuestMemoryModel();
             $hash = $guestMemoryModel->saveData($data['dataForm']);
             $redirect = GuestConst::getMessage(GuestConst::URI_CANCEL, GuestConst::TYPE_VACANCY) . '&hash=' . $hash;
             $this->redirect($redirect);
         }
         if ($valid) {
             $oauth_link = $form->getElement('social')->getValue();
             unset($data['social']);
             if (!$oauth_link) {
                 $userValidator = $form->getElement('email')->getValidator('NoUserExists');
                 $user = $userValidator->getUser();
                 $data['user_id'] = $user->uid;
             }
             $data['type'] = GuestConst::TYPE_VACANCY;
             $code = GuestActivationModel::model()->newActivation($data);
             if ($code) {
                 if ($oauth_link) {
                     $redirect = urlencode("/guest/activate/" . $code);
                     $this->redirect($oauth_link . '&emp_redirect=' . $redirect);
                 } else {
                     $guestSmail = new GuestSmail();
                     $link = $this->is_adm ? $data['dataForm']['link'] : '';
                     $guestSmail->sendActivation($data['email'], $code, $user, $data['type'], $link);
                     $messageKey = $user->uid > 0 ? GuestConst::MSG_AL_EXIST : GuestConst::MSG_AL;
                     $messageText = GuestConst::getMessage($messageKey, $data['type']);
                     if ($user->uid > 0) {
                         $action = $user->is_pro == 't' ? GuestConst::VACANCY_ACTION_PRO : GuestConst::VACANCY_ACTION_NOPRO;
                         $messageText['message'] = sprintf($messageText['message'], $action);
                     }
                     require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/Helpers/PopupAfterPageLoaded.php";
                     PopupAfterPageLoaded::getInstance()->showAfterLoad($messageText);
                     $ref_uri = '.';
                     if (!$this->is_adm) {
                         $ref_uri = empty($_SESSION['ref_uri']) ? sprintf('/') : urldecode($_SESSION['ref_uri']);
                     }
                     $this->redirect($ref_uri);
                 }
             }
         }
     }
     $this->render('index', array('title' => 'Новая вакансия', 'form' => $form->render()));
 }