if ($job->config['general_cache'] && ($com_obj = Cache::GetArrayCache('company_obj_' . $id))) { $job->companies[$id] = $com_obj; } else { $job->SearchCompany(array('company_id' => $id), array('get_count' => false, 'page' => 0)); if ($job->config['general_cache']) { Cache::SetArrayCache('company_obj_' . $id, $job->companies[$id]); } } if (!AJAX_INSIDE) { if (empty($job->companies[$id])) { $template->msg($job->lang['error'], $job->lang['company_not_found']); return; } $array = $job->ShowCompany($id); $template->Set($array); if (MODER_EDIT || CheckGroupAllow('company_allow_del') && $job->member['id'] == $job->companies[$id]->user_id) { $template->Set("<a target=\"_blank\" href=\"" . $template->GetUrl(array('action' => 'company_edit', 'id' => $id), array('id' => '/', $id . "-" . $job->companies[$id]->alt_name)) . "\" >", "[company_edit]")->Set("</a>", "[/company_edit]"); } $template->temp_main_url = $config['http_home_url'] . "engine/job/print.php"; $template->Set("<a target=\"_blank\" href=\"" . $template->GetUrl(array('action' => 'company', 'id' => $id), array('id' => '/', $id . "-" . $job->companies[$id]->alt_name, "print" => '')) . "\" >", "[print]")->Set("</a>", "[/print]"); $template->SetBlock('company'); } else { $template->SetBlock('company', 0); } if ($job->config['company_show_vacancies']) { if ($job->config['general_RSS']) { $template->temp_main_url = $config['http_home_url'] . "engine/job/vacancy_rss.php"; $template->Set("<a target=\"_blank\" href=\"" . $template->GetUrl(array('company_id' => $id), array('company_id' => 'company/', $id . "-" . $job->companies[$id]->alt_name, "rss" => ''), array(), array(), array('alt_ext' => ".xml")) . "\" >", "[rss]")->Set("</a>", "[/rss]"); } if (!MODER_DEL && !MODER_EDIT && empty($_REQUEST['page']) && $job->config['general_cache'] && ($vac_com = Cache::GetArrayCache('vacancies_company_' . $id))) { $job->vacancies = $vac_com;
/** * Create new company * * @param array $add_values * @return int */ public function NewCompany(array $add_values) { $this->add_value = $add_values; if (CheckGroupAllow('company_add_capcha')) { if (!$this->CheckCapcha()) { return false; } } if (!$this->member['id'] && $this->config['company_allow_reg']) { $this->CheckRegisterUser(); } if ($this->dbase->SelectOne('job_companies', array("company_id"), array("name" => $this->add_value['name']))) { $this->Errors[] = $this->lang['company_error_name_exist']; } $this->CheckCompanyError(); if (!$this->Errors && !$this->member['id'] && $this->config['company_allow_reg']) { $this->RegisterUser(); } $this->add_value['xfields'] = $this->xfields->EncodeFields($this->add_value); $this->Errors = $this->Errors + $this->xfields->getErrors(); if (!$this->Errors) { $this->add_value['user_id'] = $this->member['id']; $this->add_value['user_name'] = $this->member['name']; return $this->AddCompany(); } else { return 0; } }
function SendMail($mail_template, $id) { global $job; switch ($mail_template) { case "vacancy": $field_aray = Vacancy::$fields; $subj = $job->lang['vacancy_mail_subj']; $url = $job->tpl->GetUrl(array('action' => 'vacancy', "id" => $id)); $moder = CheckGroupAllow('vacancy_add_no_moder') ? $job->lang['no'] : $job->lang['yes']; break; case "resume": $field_aray = Resume::$fields; $subj = $job->lang['resume_mail_subj']; $moder = CheckGroupAllow('resume_add_no_moder') ? $job->lang['no'] : $job->lang['yes']; $url = $job->tpl->GetUrl(array('action' => 'resume', "id" => $id)); break; case 'company': $field_aray = array(); $subj = $job->lang['company_mail_subj']; $url = $job->GetCompanyURL($id, $_POST['alt_name']); break; } if ($job->config['general_inform'] && $job->config['general_email']) { if (file_exists(ENGINE_DIR . "/job/mail_templates/" . $mail_template . ".txt")) { $content = file_get_contents(ENGINE_DIR . "/job/mail_templates/" . $mail_template . ".txt"); $content = str_replace("{site_url}", $GLOBALS['config']['http_home_url'], $content); $content = str_replace("{url}", $url, $content); $content = str_replace("{moder}", $moder, $content); if (!empty($_POST['sphere_id'])) { $content = str_replace("{sphere}", $job->spheres[$_POST['sphere_id']], $content); } if (!empty($_POST['specialty_id'])) { $content = str_replace("{specialty}", $job->specialties[$_POST['specialty_id']], $content); } if (!empty($_POST['country_id'])) { $content = str_replace("{country}", $job->countries[$_POST['country_id']], $content); } if (!empty($_POST['city_id'])) { $content = str_replace("{city}", $job->cities[$_POST['city_id']], $content); } if (!empty($_POST['currency'])) { $content = str_replace("{currency}", Job::$currecy_array[$_POST['currency']], $content); } foreach ($_POST as $key => $value) { if (key_exists($key, $field_aray)) { $content = str_replace("{" . $key . "}", $field_aray[$key][$value], $content); } else { $content = str_replace("{" . $key . "}", $value, $content); } } // $content = preg_replace('#{.+?}#si', '', $content); include_once DLE_CLASSES . 'mail.class.php'; $mail = new dle_mail($GLOBALS['config']); $mail->from = $GLOBALS['config']['admin_mail']; $mail->send($job->config['general_email'], $subj, $content); } } }
$template->msg($job->lang['error'], $errors); } $template->load('company_add'); $set_param = array("{name}" => $template->InputText("name", $edit['name']), "{alt_name}" => $template->InputText("alt_name", $edit['alt_name']), "{company_type}" => $template->Selection(array('PA' => $job->lang['PA'], 'EM' => $job->lang['EM']), 'company_type', $edit['company_type']), "{OPF}" => $template->Selection(Company::$OPF_array, 'OPF', $edit['OPF']), "{date_register}" => $template->InputText('date_register', $edit['date_register'], "id=\"date_register\""), "{description}" => $edit['description'], "{contact_person}" => $template->InputText('contact_person', $edit['contact_person']), "{phone}" => $template->InputText('phone', $edit['phone']), "{site}" => $template->InputText('site', $edit['site']), "{email}" => $template->InputText('email', $edit['email']), "{address}" => $template->InputText('address', $edit['address'])); $set_param["{xfields}"] = ''; foreach ($job->xfields->DecodeFields($edit['xfields']) as $fid => $field) { if (!empty($job->lang[$field['title']])) { $field['title'] = $job->lang[$field['title']]; } $set_param["{xfield_{$fid}_title}"] = $field['title']; $set_param["{xfield_{$fid}_descr}"] = $field['description']; $set_param["{xfield_{$fid}_html}"] = $set_param["{xfield_{$fid}}"] = $field['html']; $set_param["{xfields}"] .= $field['title'] . ": " . $field['html'] . "<br />"; } SetCountryCityBlock($set_param); if ($hidden_array['action'] == "company_doadd" && CheckGroupAllow('company_add_capcha')) { SetCapchaBlock($set_param); } if (!$job->member['id'] && $hidden_array['action'] == 'company_doadd' && $job->config['company_allow_reg']) { SetRegisterBlock($set_param); } $template->SetStyleScript(array('{THEME}/job/css/humanity.datepick.css'), array('/engine/job/javascript/jquery.metadata.js', '/engine/job/javascript/jquery.validate.js', '/engine/job/javascript/messages_ru.js', '/engine/job/javascript/jquery.datepick.pack.js', '/engine/job/javascript/jquery.datepick-ru.js')); $valid_fields = GetValidateRules($validete_array); $JS = <<<JS <script type="text/javascript"> \$.metadata.setType("attr", "validate"); \$(document).ready(function() { \$('#form_add').validate( { rules:
if (AJAX) { $dbase->Connect(DBHOST, $port = '', DBUSER, DBPASS, DBNAME, $usepconnect = false, COLLATE); } $job = new JobUser($job_cfg, $lang_job, $dbase); $job->tpl =& $template; Company::$job = Vacancy::$job = Resume::$job =& $job; if ($job->config['general_debug']) { $dbase->debug = true; } if ($is_logged && $member_id) { $job->member = array("id" => $member_id['user_id'], "name" => $member_id['name'], "email" => $member_id['email'], "group" => $member_id['user_group'], "ip" => $_SERVER['REMOTE_ADDR']); } else { $job->member = array("id" => 0, "name" => '', "email" => '', "group" => 5, "ip" => $_SERVER['REMOTE_ADDR']); } define("MODER_DEL", CheckGroupAllow('general_moderator_del') ? TRUE : FALSE); define("MODER_EDIT", CheckGroupAllow('general_moderator_edit') ? TRUE : FALSE); $template->use_alt_url = $job->config['general_mod_rewrite']; if ($job->config['general_main_page']) { $template->main_alt_url = substr($config['http_home_url'], 0, strlen($config['http_home_url']) - 1); $template->main_url = $PHP_SELF; } else { $template->main_alt_url = $config['http_home_url'] . $job->config['general_name_module']; $template->main_url = $PHP_SELF . "?do=" . $job->config['general_name_module']; } $template->alt_url_array = array("action" => '/', "company_id" => 'company/', "vacancy" => 'vacancy', "apage" => '/', "account" => '/', "company_id" => '/', "page" => '/page', "print" => '/print', "rss" => '/rss'); $template->safe_blocks = array("logged", "not-logged"); if (get_magic_quotes_gpc() && function_exists('array_map_recursive')) { array_map_recursive('stripslashes', $_GET); array_map_recursive('stripslashes', $_POST); array_map_recursive('stripslashes', $_COOKIE); array_map_recursive('stripslashes', $_REQUEST);
$set_param["{" . $field . "}"] = $template->Selection(array("" => $job->lang['no_show']) + $values_array, $field, $edit[$field]); } $set_param['{contact_person}'] = $template->InputText('contact_person', $edit['contact_person']); $set_param['{email}'] = $template->InputText('email', $edit['email'], "validate=\"email:true\""); $set_param['{phone}'] = $template->InputText('phone', $edit['phone']); if ($hidden_array['action'] == "resume_doadd" && CheckGroupAllow('resume_allow_change_exp')) { $template->SetBlock('count_day'); $set_param['{count_day}'] = $template->Selection(Resume::$count_day_array, 'count_day', $job->config['resume_default_day']); } if ($hidden_array['action'] == "resume_doadd" && CheckGroupAllow('resume_add_capcha')) { SetCapchaBlock($set_param); } if (!$job->member['id'] && $hidden_array['action'] == 'resume_doadd' && $job->config['resume_allow_reg']) { SetRegisterBlock($set_param); } if ($hidden_array['action'] == "resume_save" && CheckGroupAllow('resume_allow_extend')) { $template->SetBlock('extend'); $set_param['{count_extend}'] = $template->Selection(array('-1' => $auto->lang['no_extend']) + Resume::$count_day_array, 'count_extend', '-1'); } $template->SetStyleScript(array('engine/job/images/admin/jquery.autocomplete.css'), array('engine/job/javascript/jquery.metadata.js', 'engine/job/javascript/jquery.validate.js', 'engine/job/javascript/messages_ru.js')); $valid_fields = GetValidateRules($validete_array, $validete_options); $JS = <<<JS <script type="text/javascript"> \$.metadata.setType("attr", "validate"); \$(document).ready(function() { \t\$('#specialty').autocomplete( \t { \t source: ajax_url + '?action=specialty', \t autoFocus: true, \t //multiple: true,
$template->SetBlock('no_company'); $set_param['{contact_person}'] = $template->InputText('contact_person', $edit['contact_person']); $set_param['{email}'] = $template->InputText('email', $edit['email'], "validate=\"email:true\""); $set_param['{phone}'] = $template->InputText('phone', $edit['phone']); } if ($hidden_array['action'] == "vacancy_doadd" && CheckGroupAllow('vacancy_allow_change_exp', $company ? -1 : 0)) { $template->SetBlock('count_day'); $set_param['{count_day}'] = $template->Selection(Vacancy::$count_day_array, 'count_day', $job->config['vacancy_default_day']); } if ($hidden_array['action'] == "vacancy_doadd" && CheckGroupAllow('vacancy_add_capcha', $company ? -1 : 0)) { SetCapchaBlock($set_param); } if (!$job->member['id'] && $hidden_array['action'] == 'vacancy_doadd' && $job->config['vacancy_allow_reg']) { SetRegisterBlock($set_param); } if ($hidden_array['action'] == "vacancy_save" && CheckGroupAllow('vacancy_allow_extend', $company ? -1 : 0)) { $template->SetBlock('extend'); $set_param['{count_extend}'] = $template->Selection(array('-1' => $auto->lang['no_extend']) + Vacancy::$count_day_array, 'count_extend', '-1'); } $template->SetStyleScript(array($config['http_home_url'] . 'engine/job/images/admin/jquery.autocomplete.css'), array('engine/job/javascript/jquery.metadata.js', 'engine/job/javascript/jquery.validate.js', 'engine/job/javascript/messages_ru.js')); $valid_fields = GetValidateRules($validete_array, $validete_options); $JS = <<<JS <script type="text/javascript"> \$.metadata.setType("attr", "validate"); \$(document).ready(function() { \t\$('#specialty').autocomplete( \t { \t source: ajax_url + '?action=specialty', \t autoFocus: true, \t //multiple: true,