<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/rating.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/xajax/projects_ci.common.php"; $xajax->printJavascript('/xajax/'); require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/project_exrates.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/HTML/projects_lenta.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/opinions.php"; // Подгружаем данные по мнения создалю проекта $op_data = opinions::getCounts($project['user_id'], array('frl', 'norisk', 'all', 'total')); $project_exRates = project_exrates::GetAll(); $exch = array(1 => 'FM', 'USD', 'Euro', 'Руб'); $translate_exRates = array(0 => 2, 1 => 3, 2 => 4, 3 => 1); $foto_alt = $project['name']; $answer_button_href = get_uid(FALSE) ? is_emp($_SESSION['role']) ? "/frl_only.php" : ($project['pro_only'] == 't' && !$is_pro && $project['user_id'] != $_SESSION['uid'] && !hasPermissions('projects') ? "/payed/" : "#new_offer") : "/registration/?from_prj=" . $project['id']; $category = professions::GetGroup($project['category'], $eeee); if ($category['name'] && $project['subcategory']) { $category['name'] .= ' / ' . professions::GetProfName($project['subcategory']); } $can_edit = !!is_numeric(InGet('edit')) && $user_offer['refused'] != 't'; $is_user_offer_exist = (!$user_offer_exist || $can_edit) && $project['closed'] != 't' && $uid > 0; if ($project['pro_only'] == 't' && !$is_pro && $project['user_id'] != $_SESSION['uid'] && !hasPermissions('projects')) { $offers = array(); $is_user_offer_exist = false; } if ($project['verify_only'] == 't') { $verify_check = $is_verify; if (!$is_verify) { //$answer_button_href = '/promo/verification/'; if (!get_uid(false)) { $_SESSION['ref_uri2'] = $project['id'];
?> var filter_mirror_specs = <?php echo freelancers_filters::getMirroredSpecsJsObject($all_mirrored_specs); ?> ; var filter_bullets = [[],[]]; <?php if (sizeof($_SESSION['ph_categories'])) { for ($ci = 0; $ci < 2; $ci++) { $ph_categories[$ci] = array(); if (sizeof($_SESSION['ph_categories'][$ci])) { foreach ($_SESSION['ph_categories'][$ci] as $fkey => $fvalue) { if ($fkey) { if (!freelancers_filters::mirrorExistsInArray($fkey, $ph_categories[$ci], $mirrored_specs)) { if (!$fvalue) { $proftitle = professions::GetGroup($fkey, $error); $proftitle = $proftitle['name']; } else { $proftitle = professions::GetProfName($fkey); $prof_group = professions::GetProfField($fkey, 'prof_group'); } ?> filter_bullets[<?php echo $fvalue; ?> ][<?php echo $fkey; ?> ] = new Array(); filter_bullets[<?php echo $fvalue;
$kind = 5; break; } if (!$subcategory) { $subcategory = 0; } $mbkey = $subcategory ? ($category ? $category . '_' : '') . 'sub_' . $subcategory : $category; $projects = new new_projects(); $projects->setPageSize(new_projects::PAGE_SIZE_RSS); $getcnt = 'nenado'; $additional = $subcategory ? array('active' => 't', 'categories' => array(array(), array($subcategory => 1))) : ($category ? array('active' => 't', 'categories' => array(array($category => 1))) : null); $prjs = $projects->getProjects($getcnt, (int) $kind, 1, false, $additional); if ($subcategory) { $kindStr .= ': ' . professions::GetProfNameWP($subcategory, ' - ', 'Все разделы', false); } elseif ($category) { $name_cat = professions::GetGroup($category, $error); $kindStr .= ': ' . $name_cat['name']; } header('Content-Type: application/rss+xml'); print '<?xml version="1.0" encoding="windows-1251"?>'; ?> <!-- RSS generated by FL.ru RSS Generator on <?php echo gmdate('D, d M Y H:i:s'); ?> GMT --> <rss version="2.0"> <channel> <title>Проекты на FL.ru (<?php echo $kindStr; ?> )</title>
/** * Возвращает блок для подписки на специализацию? * * !!!Пример использования не нашел * * @param int $category_id ID группы профессий * @param int $subcategory_id ID профессии * @return string */ public static function drawSubscrFilterLine($category_id, $subcategory_id) { require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; $grp = professions::GetGroup($category_id, $error); $cat_name = $category_id ? $grp['name'] : '<em>Все разделы</em>'; $sub_name = $subcategory_id ? professions::GetProfName($subcategory_id) : '<em>Все подразделы</em>'; ob_start(); ?> <tr> <th><?php echo $cat_name; ?> <input type="hidden" name="cats[]" value="<?php echo (int) $category_id; ?> "/> <input type="hidden" name="subcats[]" value="<?php echo (int) $subcategory_id; ?> "/> </th> <td><?php echo $sub_name; ?> </td> <td><a href="javascript:void(0)" onclick="document.getElementById('filter_body').removeChild(this.parentNode.parentNode)"><img src="/images/btn-remove2.png" alt="Удалить"></a></td> </tr> <?php $html = ob_get_contents(); ob_clean(); return $html; }
/** * Уведомление фрилансеру за 1 день до окончания * размещения в freelancer_binds. */ public function remindFreelancerbindsUp() { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer_binds.php'; $binds = freelancer_binds::getDowned(); if (!$binds) { return false; } foreach ($binds as $val) { if ($val['bill_subscribe'] == 'f') { continue; } $catalog_name = ''; $catalog_url = "{$GLOBALS['host']}/freelancers/"; if ($val['prof_id'] == 0) { $catalog_name = 'общем разделе'; } elseif ($val['is_spec'] == 'f') { $group = professions::GetGroup($val['prof_id'], $error); $catalog_url .= $group['link']; $catalog_name = "разделе <a href='{$catalog_url}'>{$group['name']}</a>"; } else { $prof_name = professions::GetProfName($val['prof_id']); $catalog_url .= professions::GetProfLink($val['prof_id']); $catalog_name = "подразделе <a href='{$catalog_url}'>{$prof_name}</a>"; } $this->recipient = "{$val['uname']} {$val['usurname']} [{$val['login']}] <{$val['email']}>"; $this->message = Template::render($_SERVER['DOCUMENT_ROOT'] . '/templates/mail/freelancer_binds/remind_up.tpl.php', array('smail' => &$this, 'catalog_url' => $catalog_url, 'catalog_name' => $catalog_name)); $ok = $this->send('text/html'); if ($ok) { freelancer_binds::markSent('up', $val['uid'], $val['prof_id'], $val['is_spec']); } } return 0; }
<?php } ?> </select> </div> <div class="b-select b-select_padbot_10"> <select id="subscr_sub" class="b-select__select b-select__select_width_220"><option value="0">Весь раздел</option></select> </div> <button class="b-button b-button_flat b-button_flat_grey b-button_margbot_20" type="button" onclick="addMailerFilter()" disabled="disabled" id="addFilterButton">Добавить</button> </div> <div id="filter_body" class="b-layout__txt b-layout__txt_padbot_10"> <?php $js = ''; foreach (explode(':', $user->mailer_str) as $vl) { if (preg_match("/c([0-9]+)s?([0-9]*)/i", $vl, $res)) { $grp = professions::GetGroup($res[1], $error); $cat_name = $res[1] ? $grp['name'] : '<em>Все разделы</em>'; $sub_name = $res[2] ? professions::GetProfName($res[2]) : '<em>Все подразделы</em>'; ?> <div class="b-layout__txt b-layout__txt_padbot_10"> <input type="hidden" name="cats[]" value="<?php echo (int) $res[1]; ?> " /> <input type="hidden" name="subcats[]" value="<?php echo (int) $res[2]; ?> " /> <span class="b-layout__bold"><?php echo $cat_name; ?>
/** * Оплата через Плати потом * * @param type $type - тип оплаты * @param type $data - данные по параметрам покупаемой услуги * @return \xajaxResponse */ function quickPaymentFrlbindPlatipotom($type, $data) { $is_error = true; $uid = get_uid(false); $objResponse =& new xajaxResponse(); $prof_id = (int) @$data['prof_id']; $is_spec = (bool) @$data['is_spec']; $is_prolong = (bool) @$data['is_prolong']; $promo_code = (string) @$data['promo']; $freelancer_binds = new freelancer_binds(); $valid = $is_prolong ? $freelancer_binds->isUserBinded($uid, $prof_id, $is_spec) : $freelancer_binds->isAllowBind($uid, $prof_id, $is_spec); if ($valid) { $is_error = false; $bill = new billing($uid); //Допустимо использование промокодов $bill->setPromoCodes('SERVICE_FRLBIND', $promo_code); $op_code = $freelancer_binds->getOpCode($prof_id, $is_spec, $is_prolong); $option = array('weeks' => (int) @$data['weeks'], 'prof_id' => $prof_id); //Формируем заказ $billReserveId = $bill->addServiceAndCheckout($op_code, $option); $payed_sum = $bill->getRealPayedSum(); $platipotom = new platipotom(); $html_form = $platipotom->render($payed_sum, $bill->account->id, $billReserveId); if ($html_form) { $objResponse->script("\n var qp_form_wrapper = \$\$('#quick_payment_frlbind .__quick_payment_form');\n if(qp_form_wrapper){ \n qp_form_wrapper.set('html','{$html_form}');\n qp_form_wrapper.getElement('form')[0].submit();\n }\n "); $link = '/freelancers/'; if ($prof_id) { if ($is_spec) { $link .= professions::GetProfLink($prof_id) . '/'; } else { $group = professions::GetGroup($prof_id, $error); $link .= $group['link'] . '/'; } } //сохранаем в сессию куда перейти при успешной покупке $_SESSION[quickPaymentPopup::QPP_REDIRECT] = $link; } } // Показываем предупреждение в случае ошибки if ($is_error) { $action = $is_prolong ? 'продлении закрепления' : 'закреплении'; $objResponse->script("\n var qp = window.quick_payment_factory.getQuickPayment('frlbind');\n if(qp) qp.show_error('Возникла ошибка при {$action} в каталоге!');\n "); } return $objResponse; }