/** * Отдает HTML для предложений фрилансеров Сделаю * * @param object $objResponse xajaxResponse * @param string $rec_id идентификатор записи * @param string $rec_type тип записи * @param array $aParams массив дополнительных параметров * @return string */ function _admEditSdelauParseForm(&$objResponse, $rec_id = '', $rec_type = '', $aParams = array()) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer_offers.php'; $oFreelancerOffers = new freelancer_offers(); $offer = $oFreelancerOffers->getOfferById($rec_id, false); $objUser = new users(); $objUser->GetUserByUID($offer['user_id']); // разделы $categories = professions::GetAllGroupsLite(); $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); ob_start(); include_once $_SERVER['DOCUMENT_ROOT'] . '/user/adm_edit_tpl/sdelau.php'; $sHtml = ob_get_contents(); ob_end_clean(); // текст $sOnReady = "if(\$('adm_edit_msg')) \$('adm_edit_msg').set('value', (\$('adm_edit_msg_source')? \$('adm_edit_msg_source').get('value') : null));"; $objResponse->assign('h4_adm_edit', 'innerHTML', 'Редактировать предложение'); $objResponse->assign('div_adm_edit', 'innerHTML', $sHtml); $objResponse->script($sOnReady); $objResponse->script("\$('div_adm_reason').setStyle('display', 'none');"); $objResponse->script("adm_edit_content.editMenuItems = ['', 'Основное'];"); $objResponse->script('adm_edit_content.edit();'); $objResponse->script('xajax_getAdmEditReasons(' . admin_log::ACT_ID_EDIT_SDELAU . ');'); }
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; $filter_apply = $filter['active'] == 't'; $filter_categories = professions::GetAllGroupsLite(true); $all_mirrored_specs = professions::GetAllMirroredProfsId(); $mirrored_specs = array(); for ($is = 0; $is < sizeof($all_mirrored_specs); ++$is) { $mirrored_specs[$all_mirrored_specs[$is]['main_prof']] = $all_mirrored_specs[$is]['mirror_prof']; $mirrored_specs[$all_mirrored_specs[$is]['mirror_prof']] = $all_mirrored_specs[$is]['main_prof']; } $_SESSION['ph_categories'] = $filter['categories']; $frm_action = '/index.php'; if (!sizeof($profs)) { $all_specs = professions::GetAllProfessions('', 0, 1); } else { $all_specs = $profs; } ?> <script type="text/javascript"> //1 = фильтр проектов //2 = фильтр фрилансеров var curFBulletsBox = 1; var filter_user_specs={<?php if ($filter['user_specs']) { $i = 0; foreach ($filter['user_specs'] as $ms) { print ($i++ ? ',' : '') . $ms . ':1';
/** * Обрабатывает POST переменную action и возвращает null или данные. * * @return string */ public function processRequest() { $expire = 1; //3600; $action = __paramInit('string', '', 'action'); switch ($action) { case 'getdays': $days = array(1 => iconv('WINDOWS-1251', 'UTF-8//IGNORE', '1 день')); $max = __paramInit('integer', '', 'max', 1); $all = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 21, 30, 45, 60, 90); if ($max > 1) { $days = array(); foreach ($all as $day) { if ($day >= $max) { break; } $days[$day] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $day . ending($day, ' день', ' дня', ' дней')); } } $days = array(array('parentId' => '0'), $days); return json_encode($days); break; case 'gettucategories': $expire = 300; //3600; $membuf = new memBuff(); $memkey = 'b-combo-gettucategories'; $result = $membuf->get($memkey); if (!$result) { /* * Получаем из базы иерархию категорий для * типовой услуги */ $DB = new DB('master'); $sql = 'SELECT g.id AS gid, g.title AS gname, g.ucnt AS gucnt, p.id AS pid, p.title AS name, p.ucnt AS pucnt FROM tservices_categories AS g INNER JOIN tservices_categories AS p ON p.parent_id = g.id ORDER BY g.ucnt DESC, p.ucnt DESC --gid, pid --g.n_order, p.n_order'; $rows = $DB->rows($sql); $result = array(); if (count($rows)) { foreach ($rows as $k => $i) { if ($result[$i['gid']] === null) { $result[$i['gid']] = array('0' => array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']), $i['gucnt'])); if ($i['pid'] !== null) { $result[$i['gid']][$i['pid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']), $i['pucnt']); } else { $result[$i['gid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']), $i['gucnt']); } } elseif (is_array($result[$i['gid']])) { $result[$i['gid']][$i['pid']] = array(iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']), $i['pucnt']); } } } //print_r($result); //exit; $result = json_encode($result); $membuf->add($memkey, $result, $expire); } return $result; break; case 'getlettergrouplist': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php'; $lettergroups = letters::getGroups($_POST['word'], (int) $_POST['limit']); $result = array(); $n = 0; foreach ($lettergroups as $k => $i) { $result[$n]['uid'] = $i['id']; $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['title']); $result[$n]['usurname'] = ''; $result[$n]['login'] = ''; $result[$n]['photo'] = ''; $result[$n]['path'] = ''; $result[$n]['isContacts'] = ''; ++$n; } $list = array(); $list['list'] = $result; $list['counters']['moreContacts'] = 0; $list['counters']['moreUsers'] = 0; $list['dav'] = WDCPREFIX; return json_encode($list); break; case 'getlettergroupinfo': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php'; $group = letters::getGroup($_POST['uid']); if ($group) { $data = array('record' => array('uid' => $group['id'], 'uname' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $group['title']), 'usurname' => '', 'login' => '', 'photo' => '', 'path' => '', 'isContacts' => ''), 'found' => 1, 'dav' => WDCPREFIX); } return json_encode($data); break; case 'getletterdocinfo': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php'; $doc = letters::getDocument($_POST['uid']); if ($doc) { $data = array('record' => array('uid' => $doc['id'], 'uname' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $doc['id'] . ' ' . htmlspecialchars($doc['group_title']) . ' - ' . htmlspecialchars($doc['title'])), 'usurname' => '', 'login' => '', 'photo' => '', 'path' => '', 'isContacts' => ''), 'found' => 1, 'dav' => WDCPREFIX); } return json_encode($data); break; case 'getletterdoclist': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php'; $letterdocs = letters::getDocuments($_POST['word'], (int) $_POST['limit']); $result = array(); $n = 0; foreach ($letterdocs as $k => $i) { $result[$n]['uid'] = $i['id']; $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['id'] . ' ' . htmlspecialchars($i['group_title']) . ' - ' . htmlspecialchars($i['title'])); $result[$n]['usurname'] = ''; $result[$n]['login'] = ''; $result[$n]['photo'] = ''; $result[$n]['path'] = ''; $result[$n]['isContacts'] = ''; ++$n; } $list = array(); $list['list'] = $result; $list['counters']['moreContacts'] = 0; $list['counters']['moreUsers'] = 0; $list['dav'] = WDCPREFIX; return json_encode($list); break; case 'getletterdocsearch': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/letters.php'; $letterdocs = letters::getSearchDocuments($_POST['word'], (int) $_POST['limit']); $result = array(); $n = 0; foreach ($letterdocs as $k => $i) { $result[$n]['uid'] = $i['id']; $result[$n]['uname'] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['id'] . ' ' . htmlspecialchars($i['group_title']) . ' - ' . htmlspecialchars($i['title'])); $result[$n]['usurname'] = ''; $result[$n]['login'] = ''; $result[$n]['photo'] = ''; $result[$n]['path'] = ''; $result[$n]['isContacts'] = ''; ++$n; } $list = array(); $list['list'] = $result; $list['counters']['moreContacts'] = 0; $list['counters']['moreUsers'] = 0; $list['dav'] = WDCPREFIX; return json_encode($list); break; case 'getdate': return date('Y-m-d'); case 'getprofgroups': $membuf = new memBuff(); $memkey = 'b-combo-getprofgroups'; $result = $membuf->get($memkey); if (!$result) { $rows = professions::GetAllGroupsLite(); $result = array(); foreach ($rows as $k => $i) { $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']); } $membuf->add($memkey, $result, $expire); } return json_encode($result); case 'getprofessionsandgroups': $membuf = new memBuff(); $memkey = 'b-combo-getprofandgroups'; $result = $membuf->get($memkey); if (!$result) { $rows = professions::GetProfessionsAndGroup(); $result = array(); foreach ($rows as $k => $i) { if ($result[$i['gid']] === null) { $result[$i['gid']] = array($i['gid'] => iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname'])); if ($i['id'] !== null) { $result[$i['gid']][$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']); } else { $result[$i['gid']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['gname']); } } elseif (is_array($result[$i['gid']])) { $result[$i['gid']][$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']); } } $membuf->add($memkey, $result, $expire); } return json_encode($result); case 'getprofessions': $n = __paramInit('integer', '', 'id'); if ($n !== false) { $membuf = new memBuff(); $memkey = "b-combo-getprofbygroup{$n}"; $result = $membuf->get($memkey); if (!$result) { $rows = professions::GetProfs($n); $result = array(0 => iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'Все специальности')); foreach ($rows as $k => $i) { $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']); } $membuf->add($memkey, $result, $expire); } $data = array(array('parentId' => "{$n}"), $result); return json_encode($data); } case 'get_pro_types': $membuf = new memBuff(); $memkey = 'b-combo-get_pro_type'; $result = $membuf->get($memkey); if (!$result) { $rows = op_codes::getCodes(array(47, 48, 49, 50, 51)); $result = array(); foreach ($rows as $k => $i) { $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['op_name']); } $result[76] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'На несколько недель'); $membuf->add($memkey, $result, $expire); } return json_encode($result); case 'getcountries': case 'getrelevantcountries': $membuf = new memBuff(); $memkey = 'b-combo-getcountriesr'; $result = $membuf->get($memkey); if (!$result) { $rows = country::GetCountriesByCountUser(); $result = array(); foreach ($rows as $k => $i) { $result[$i['id']] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i['name']); } $membuf->add($memkey, $result, $expire); } return json_encode($result); case 'getcities': $n = __paramInit('integer', '', 'id'); if ($n !== false) { $membuf = new memBuff(); $memkey = "b-combo-getcitybycountry{$n}"; $result = $membuf->get($memkey); if (!$result) { $rows = city::GetCities($n); $result = array('0' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'Все города')); if (is_array($rows)) { foreach ($rows as $k => $i) { $result[$k] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i); } } $membuf->add($memkey, $result, $expire); } $data = array(array('parentId' => "{$n}"), $result); return json_encode($data); } case 'getcitiesbyid': $n = __paramInit('integer', '', 'id'); if ($n !== false) { $membuf = new memBuff(); $memkey = "b-combo-getcitybycountry{$n}"; $result = $membuf->get($memkey); if (!$result) { $rows = city::GetCities($n); $result = array('0' => iconv('WINDOWS-1251', 'UTF-8//IGNORE', 'Все города')); foreach ($rows as $k => $i) { $result[$k] = iconv('WINDOWS-1251', 'UTF-8//IGNORE', $i); } $membuf->add($memkey, $result, $expire); } return json_encode($result); } case 'getuserlistbysbr': case 'getuserlistold': case 'getuserlist': return $this->getUsersList($_POST['word'], (int) $_POST['limit'], (int) $_POST['userType'], (int) $_POST['scope']); case 'get_user_info': return json_encode(users::GetUserShortInfo((int) $_POST['uid'])); case 'getusersandcompanies': return $this->getUsersAndCompany($_POST['word'], (int) $_POST['limit'], (int) $_POST['userType'], (int) $_POST['scope'], false); case 'get_user_or_company_info': return $this->getUserOrCompanyRecord(); case 'getsms': require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/registration.php'; $registration = new registration(); $registration->listenerAction(__paramInit('string', null, 'action')); } return false; }
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/stdf.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/masssending.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/project_exrates.php'; session_start(); if (!($uid = get_uid())) { header('Location: /fbd.php'); exit; } $masssending = new masssending(); $countries = country::GetCountries(true); $prof_groups = professions::GetAllGroupsLite(true); $professions = professions::GetProfList(); $exrates = project_exrates::GetAll(); if (!empty($_POST)) { $frm = $_POST; //$params['msg'] = stripslashes($frm['msg']); $params['msg'] = "Здравствуйте!\n\nПриглашаю ознакомиться с проектом '" . change_q_x(stripslashes($frm['title']), false, false, 'b|i|p|ul|li|s|h[1-6]{1}', false, false) . "' " . str_replace('www.n.fl.ru', 'n.fl.ru', $host) . $frm['link'] . " \n\n\n" . LenghtFormatEx(change_q_x(stripslashes($frm['msg']), false, false, 'b|i|p|ul|li|s|h[1-6]{1}', false, false), 300); $params['max_users'] = intval($_POST['max_users']); $params['max_cost'] = intval($_POST['max_cost']); $params['is_pro'] = stripslashes($frm['pro']); $params['favorites'] = stripslashes($frm['favorites']); $params['free'] = stripslashes($frm['free']); $params['sbr'] = stripslashes($frm['bs']); $params['portfolio'] = stripslashes($frm['withworks']); $params['inoffice'] = stripslashes($frm['office']); $params['opi_is_verify'] = stripslashes($frm['ver']);
<?php $pdrd_disabled = $sbr->scheme_type != sbr::SCHEME_PDRD && time() < strtotime('2011-01-01'); $categories = professions::GetAllGroupsLite(true, true); $sub_categories = professions::GetProfList(); $frl_ftype = sbr::FT_PHYS; if ($sbr->frl_id) { $frl = new freelancer(); $frl->GetUserByUID($sbr->frl_id); if (!$sbr->frl_login) { $sbr->data['frl_login'] = $frl->login; } if ($frl_reqvs = sbr_meta::getUserReqvs($frl->uid)) { $frl_ftype = (int) $frl_reqvs['form_type']; $frl_rtype = $frl_reqvs['rez_type']; } } ?> <script type="text/javascript"> Sbr.prototype.DEBUG=0; var SBR = new Sbr('createFrm'); window.addEvent('domready', function() { SBR = new Sbr('createFrm'); } ); Sbr.prototype.CATEGORIES={<?php // категории/подкатегории: {ид_кат:{имя_кат:{ид_подкат:имя_подкат,ид_подкат:...}},ид_кат:...} foreach ($sub_categories as $sc) { $cc = $sc['prof_group']; $ccname = str_replace("'", "\\'", $categories[$cc]['name']); $scname = str_replace("'", "\\'", $sc['name']); if ($lcc != $cc) { echo ($lcc ? '}},' : '') . "{$cc}:{'{$ccname}':{"; $lcc = $cc;
<?php //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// require_once $_SERVER['DOCUMENT_ROOT'] . "/xajax/lenta.common.php"; $xajax->printJavascript('/xajax/'); if (!($groups = professions::GetAllGroupsLite())) { return; } if (!($lenta = lenta::GetUserLenta($uid))) { } $sort = $_COOKIE['lenta_fav_order'] != "" ? $_COOKIE['lenta_fav_order'] : "date"; $favs = lenta::GetFavorites($uid, $sort); if (!($myComms = commune::GetCommunes(NULL, $uid, NULL, commune::OM_CM_MY))) { $myComms = array(); } if (!($joinedComms = commune::GetCommunes(NULL, NULL, $uid, commune::OM_CM_JOINED))) { $joinedComms = array(); } // Все сообщества, доступные пользователю. $communes = array(); foreach ($myComms as $comm) { $communes[] = $comm; } foreach ($joinedComms as $comm) { $communes[] = $comm; } // Блоги
/** * Изменить информацию о бюджете проекта * * @param integer $prj_id ID проекта * @param float $prj_cost Стоимость * @param integer $prj_currency Валюта * @param integer $prj_costby Тип стоимости(за час/проект/месяц) * @param boolean $prj_agreement true - стоимость по договоренности * @return array информация о бюджете проекта */ function updateBudget($prj_id, $prj_cost, $prj_currency, $prj_costby, $prj_agreement) { global $DB; if ($prj_agreement) { $prj_cost = 0; $prj_currency = 0; $prj_costby = 0; $prj_budget_type = 0; } else { $prj_cost = floatval($prj_cost); $prj_currency = intval($prj_currency); $prj_costby = intval($prj_costby); $prj_budget_type = 0; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; $categories = professions::GetAllGroupsLite(); $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); $professions_cost = array(); $professions_cost['prj'] = array(); $professions_cost['hour'] = array(); $professions_cost['prj']['min'] = array(); $professions_cost['prj']['avg'] = array(); $professions_cost['prj']['max'] = array(); $professions_cost['hour']['min'] = array(); $professions_cost['hour']['avg'] = array(); $professions_cost['hour']['max'] = array(); foreach ($categories as $cat) { $professions_cost['prj']['min'][$cat['id']] = array(); $professions_cost['prj']['avg'][$cat['id']] = array(); $professions_cost['prj']['max'][$cat['id']] = array(); $professions_cost['hour']['min'][$cat['id']] = array(); $professions_cost['hour']['avg'][$cat['id']] = array(); $professions_cost['hour']['max'][$cat['id']] = array(); $ncount_prj = 0; $ncount_hour = 0; $nsum_min_prj = 0; $nsum_max_prj = 0; $nsum_avg_prj = 0; $nsum_min_hour = 0; $nsum_max_hour = 0; $nsum_avg_hour = 0; if (!is_array($professions[$cat['id']])) { continue; } foreach ($professions[$cat['id']] as $subcat) { $professions_cost['hour']['min'][$cat['id']][$subcat['id']] = $subcat['min_cost_hour']; $professions_cost['hour']['avg'][$cat['id']][$subcat['id']] = $subcat['avg_cost_hour']; $professions_cost['hour']['max'][$cat['id']][$subcat['id']] = $subcat['max_cost_hour']; $professions_cost['prj']['min'][$cat['id']][$subcat['id']] = $subcat['min_cost_prj']; $professions_cost['prj']['avg'][$cat['id']][$subcat['id']] = $subcat['avg_cost_prj']; $professions_cost['prj']['max'][$cat['id']][$subcat['id']] = $subcat['max_cost_prj']; $nsum_min_prj = $nsum_min_prj + $subcat['min_cost_prj']; $nsum_max_prj = $nsum_max_prj + $subcat['max_cost_prj']; $nsum_avg_prj = $nsum_avg_prj + $subcat['avg_cost_prj']; $nsum_min_hour = $nsum_min_hour + $subcat['min_cost_hour']; $nsum_max_hour = $nsum_max_hour + $subcat['max_cost_hour']; $nsum_avg_hour = $nsum_avg_hour + $subcat['avg_cost_hour']; if ($subcat['avg_cost_prj'] != 0) { $ncount_prj++; } if ($subcat['avg_cost_hour'] != 0) { $ncount_hour++; } } if ($ncount_prj == 0) { $ncount_prj = 1; } if ($ncount_hour == 0) { $ncount_hour = 1; } $professions_cost['prj']['min'][$cat['id']][0] = round($nsum_min_prj / $ncount_prj, 0); $professions_cost['prj']['avg'][$cat['id']][0] = round($nsum_avg_prj / $ncount_prj, 0); $professions_cost['prj']['max'][$cat['id']][0] = round($nsum_max_prj / $ncount_prj, 0); $professions_cost['hour']['min'][$cat['id']][0] = round($nsum_min_hour / $ncount_hour, 0); $professions_cost['hour']['avg'][$cat['id']][0] = round($nsum_avg_hour / $ncount_hour, 0); $professions_cost['hour']['max'][$cat['id']][0] = round($nsum_max_hour / $ncount_hour, 0); } switch ($prj_costby) { case '1': $itype = 'hour'; $ctype = 1; break; case '2': $itype = 'hour'; $ctype = 8; break; case '3': $itype = 'hour'; $ctype = 22 * 8; break; case '4': $itype = 'prj'; $ctype = 1; break; } $sql = "SELECT * FROM project_to_spec WHERE project_id=?i"; $prj_cats = $DB->rows($sql, $prj_id); $count = 1; $sum_min = 0; $sum_avg = 0; $sum_max = 0; foreach ($prj_cats as $prj_cat) { $sum_min = $sum_min + $professions_cost[$itype]['min'][$prj_cat['category_id']][$prj_cat['subcategory_id']]; $sum_avg = $sum_avg + $professions_cost[$itype]['avg'][$prj_cat['category_id']][$prj_cat['subcategory_id']]; $sum_max = $sum_max + $professions_cost[$itype]['max'][$prj_cat['category_id']][$prj_cat['subcategory_id']]; $sum_min = $sum_min / $count; $sum_avg = $sum_avg / $count; $sum_max = $sum_max / $count; $count++; } $s_min = $sum_min * $ctype; $s_avg = $sum_avg * $ctype; $s_max = $sum_max * $ctype; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/project_exrates.php"; $oprj_exrates = new project_exrates(); $prj_exrates = $oprj_exrates->GetAll(); switch ($prj_currency) { case '2': $prj_cost_fm = $prj_cost * $prj_exrates['41']; break; case '0': $prj_cost_fm = $prj_cost * $prj_exrates['31']; break; case '1': $prj_cost_fm = $prj_cost * $prj_exrates['21']; break; default: $prj_cost_fm = $prj_cost * 1; break; } if ($prj_cost_fm <= $s_min) { $prj_budget_type = 1; } if ($prj_cost_fm > $s_min && $prj_cost_fm <= $s_avg || $prj_cost_fm >= $s_avg && $prj_cost_fm < $s_max) { $prj_budget_type = 2; } if ($prj_cost_fm >= $s_max) { $prj_budget_type = 3; } } $projectData = self::GetProject($prj_id); if (is_array($projectData) && $projectData['kind'] == 7) { $prj_costby = 0; } $sql = "UPDATE projects \n SET cost = ?,\n currency = ?i,\n priceby = ?i,\n budget_type = ?i\n WHERE id = ?i"; $DB->query($sql, $prj_cost, $prj_currency, $prj_costby, $prj_budget_type, $prj_id); return array('cost' => $prj_cost, 'currency' => $prj_currency, 'costby' => $prj_costby, 'budget_type' => $prj_budget_type); }
} session_start(); $uid = get_uid(); if (isset($_GET['unset'])) { setcookie('mass-files'); unset($_SESSION['masssending']); } $fromSearch = __paramInit('int', 'from_search', null, 0); // если пришли сюда из поиска пользователей if ($fromSearch === 2) { // количество найденых $searchCount = __paramInit('int', 'search_count', 'search_count', false); } $masssending = new masssending(); $countries = country::GetCountries(TRUE); $prof_groups = professions::GetAllGroupsLite(TRUE); $professions = professions::GetProfList(); $exrates = project_exrates::GetAll(); //print_r($_POST); //die; $dc = 0; if (!empty($_GET['g'])) { if (preg_match("/^([0-9]+)\\:([0-9]+)\$/", $_GET['g'], $o)) { $dc = $_GET['g']; $dcg = $o[1]; $dcp = $o[2]; } else { if (preg_match("/^[0-9]+\$/", $_GET['g'])) { $dc = "{$_GET['g']}:0"; $dcg = $_GET['g']; $dcp = 0;
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/commune.php"; $proj_groups = professions::GetAllGroupsLite(); $commune = new commune(); $uid = get_uid(); if (!($communes_my = commune::GetCommunes(NULL, $uid, NULL, commune::OM_CM_MY))) { $communes_my = array(); } if (!($communes = commune::GetCommunes(NULL, NULL, $uid, commune::OM_CM_JOINED, $uid))) { $communes = array(); } foreach ($communes_my as $cm) { $communes[] = $cm; } $c_signed = $commune->getSubscribedCommunes($uid); $categories = professions::GetAllGroupsLite(); $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); ?> <script type="text/javascript"> // function fixCommunes(){ // var ele = $('ch7'); // var list = $('comm_container').getElements('input[type=checkbox]'); // for(var i = 0; i < list.length; i++){ // list[i].disabled = !ele.checked; // } // } window.addEvent('domready', function() { // fixCommunes(); });
include_once $_SERVER['DOCUMENT_ROOT'] . '/classes/freelancer.php'; if (empty($no_reset_filter)) { ?> <script type="text/javascript">exists_pars = new Array();</script> <?php } ?> <div id="head_filter" style="display: <?php echo $user->mailer && $user->mailer_str != "" ? '' : 'none'; ?> "> <div class="b-select b-select_padbot_10"> <select id="subscr_cat" onchange="applySubcat(this.value); if(this.value != 0){ document.getElementById('addFilterButton').disabled = false;} else { document.getElementById('addFilterButton').disabled = true;}" class="b-select__select b-select__select_width_220"> <option value="0">Выберите раздел</option> <?php foreach (professions::GetAllGroupsLite(true) as $cat) { ?> <option value="<?php echo $cat['id']; ?> "><?php echo $cat['name']; ?> </option> <?php } ?> </select> </div> <div class="b-select b-select_padbot_10">
/** * @todo НЕ ИСПОЛЬЗУЕТСЯ * * @deprecated since 0026073 * * Рассылка о новых проектах. Вызывается раз в день из hourly.php * * @param array $uids - массив идентификаторов пользователей, которым уже отправленя новая рассылка (см. NewProjForMissingMoreThan24h) * * @return int количество получивших рассылку */ public function NewProj($uids) { $projects = projects::GetNewProjects($error, true, 600, 50); $groups = professions::GetAllGroupsLite(true); $page = 0; $count = 0; if (empty($projects)) { return 0; } $this->subject = 'Новые проекты на FL.ru'; $message = '<p> Данное письмо отправлено почтовым роботом сервера FL.ru и не требует ответа. </p> <p> На сайте <a href="' . $GLOBALS['host'] . $this->_addUrlParams('f') . '">' . $GLOBALS['host'] . '</a> опубликованы новые Проекты </p> %MESSAGE% <p> Если вы хотите оперативно получать информацию об опубликованных на FL.ru проектах, скачайте и установите бесплатное приложение-информер <a href="' . $GLOBALS['host'] . '/promo/freetray/' . $this->_addUrlParams('f') . '">Free-tray</a>. </p>'; $this->message = $this->GetHtml('%USER_NAME%', $message, array('header' => 'default', 'footer' => 'default'), array('target_footer' => true)); $this->recipient = ''; $massId = $this->send('text/html'); foreach ($projects as $i => $prj) { $url = $GLOBALS['host'] . getFriendlyURL('project', $projects[$i]['id']); $projects[$i]['html'] = array('post_date' => date('d.m.y', strtotimeEx($prj['post_date'])), 'name' => $prj['name'] ? reformat($prj['name'], 100, 0, 1) : '', 'descr' => reformat($prj['descr'], 100, 0, 1), 'url' => "<a href='{$url}{$this->_addUrlParams('f')}'>{$url}</a>"); } while ($users = freelancer::GetPrjRecps($error, ++$page, 50, $uids)) { $this->recipient = array(); foreach ($users as $user) { if (empty($user['mailer'])) { continue; } $subj = array(); foreach ($groups as $group) { if (freelancer::isSubmited($user['mailer_str'], array(array('category_id' => $group['id'])))) { $subj[$group['id']] = $group['name']; } } $lastKind = 0; $message = ''; foreach ($projects as $prj) { if (!freelancer::isSubmited($user['mailer_str'], $prj['specs'])) { continue; } if ($lastKind != $prj['kind']) { $kindName = ''; switch ($prj['kind']) { case 1: $kindName = 'Попроектно'; break; case 2: $kindName = 'Конкурсы'; break; case 3: $kindName = 'На зарплату'; break; case 4: $kindName = 'В офис'; break; case 7: $kindName = 'Конкурсы'; break; } $message .= "\n"; $message .= "<div>-----------------------------------------------------------------------------------</div>\n"; $message .= "<div>{$kindName}</div>\n"; $message .= "<div>-----------------------------------------------------------------------------------</div>\n"; $lastKind = $prj['kind']; } $message .= "\n<div> </div><div>-----</div>\n"; $message .= "<div>{$prj['html']['post_date']}</div>\n"; $message .= "<div>{$prj['html']['name']}</div>\n"; $message .= "<div>-----</div>\n"; $message .= "<div>{$prj['html']['descr']}</div>\n"; $message .= "<div>{$prj['html']['url']}</div>\n"; $message .= "<div>-----------------------------------</div>\n"; } if (empty($message)) { continue; } $message = '<div>(' . implode('/', $subj) . ')</div><div> </div>' . $message; if (!$user['unsubscribe_key']) { $user['unsubscribe_key'] = users::GetUnsubscribeKey($user['login']); } $this->recipient[] = array('email' => $user['uname'] . ' ' . $user['usurname'] . ' [' . $user['login'] . '] <' . $user['email'] . '>', 'extra' => array('USER_NAME' => $user['uname'], 'USER_SURNAME' => $user['usurname'], 'USER_LOGIN' => $user['login'], 'MESSAGE' => $message, 'UNSUBSCRIBE_KEY' => $user['unsubscribe_key'])); ++$count; } $this->bind($massId, true); } return $count; }
function quickprjedit_get_prj($prj_id) { $objResponse = new xajaxResponse(); if (hasPermissions('projects')) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; $categories = professions::GetAllGroupsLite(); $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); $oprj = new new_projects(); $project = $oprj->getPrj($prj_id); if ($project['id']) { $project_categories = $oprj->getSpecs($project['id']); if (empty($project_categories)) { $project_categories[] = array('category_id' => 0, 'subcategory_id' => 0); } $html_categories = ''; foreach ($project_categories as $project_category) { $html_categories .= "<div id='category_line'>\n <select name='categories[]' class='b-select__select b-select__select_width_180' onchange='popupQEditPrjRefreshSubCategory(this);'>\n <option value='0'>Выберите раздел</option>\n "; foreach ($categories as $cat) { if ($cat['id'] <= 0) { continue; } $html_categories .= "<option value='{$cat['id']}' " . ($project_category['category_id'] == $cat['id'] ? ' selected' : '') . ">{$cat['name']}</option>"; } $html_categories .= "</select>\n <select name='subcategories[]' class='b-select__select b-select__select_width_180'>\n "; $categories_specs = $professions[$project_category['category_id']]; for ($i = 0; $i < sizeof($categories_specs); ++$i) { $html_categories .= "<option value='{$categories_specs[$i]['id']}'" . ($categories_specs[$i]['id'] == $project_category['subcategory_id'] ? ' selected' : '') . ">{$categories_specs[$i]['profname']}</option>"; } $html_categories .= " <option value='0' " . ($project_category['subcategory_id'] == 0 ? ' selected' : '') . '>Все специализации</option> </select> </div> '; } $countries = country::GetCountries(); if ($project['country']) { $cities = city::GetCities($project['country']); } $html_location = ''; $html_location .= "<div><select id='popup_qedit_prj_fld_country' name='country' onChange='popupQEditPrjCityUpd(this.value);'><option value='0'>Страна</option>"; foreach ($countries as $country_id => $country) { $html_location .= "<option value='{$country_id}' " . ($country_id == $project['country'] ? 'selected' : '') . ">{$country}</option>"; } $html_location .= '</select></div>'; $html_location .= "<div id='frm_city'><select name='city'><option value='0'>Город</option>"; if ($cities) { foreach ($cities as $city_id => $city) { $html_location .= "<option value='{$city_id}' " . ($city_id == $project['city'] ? 'selected' : '') . ">{$city}</option>"; } } $html_location .= '</select>'; $objResponse->assign('popup_qedit_prj_fld_id', 'value', $project['id']); $objResponse->assign('popup_qedit_prj_fld_name', 'value', htmlspecialchars_decode($project['name'], ENT_QUOTES)); $objResponse->assign('popup_qedit_prj_fld_descr', 'value', htmlspecialchars_decode($project['descr'], ENT_QUOTES)); $objResponse->assign('popup_qedit_prj_fld_categories', 'innerHTML', $html_categories); $objResponse->assign('popup_qedit_prj_fld_location', 'innerHTML', $html_location); $objResponse->script('$("popup_qedit_prj_fld_kind_1").set("checked", false);'); switch ($project['kind']) { case 1: $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_fld_kind_1").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "none");'); break; case 2: //$objResponse->script('$("sbr_text_block").setStyle("display", "none");'); break; case 4: $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_fld_kind_2").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "block");'); break; case 7: $objResponse->script('$("popup_qedit_prj_cal1").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_cal2").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_kind").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_fld_location").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_fld_end_date").set("value", "' . date('d-m-Y', strtotime($project['end_date'])) . '");'); $objResponse->script('$("popup_qedit_prj_fld_win_date").set("value", "' . date('d-m-Y', strtotime($project['win_date'])) . '");'); break; } if ($project['pro_only'] == 't') { $objResponse->script('$("popup_qedit_prj_fld_pro_only").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_pro_only").set("checked", false);'); } if ($project['verify_only'] == 't') { $objResponse->script('$("popup_qedit_prj_fld_verify_only").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_verify_only").set("checked", false);'); } if ($project['prefer_sbr'] == 't') { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", false);'); } if ($project['strong_top'] == 1) { $objResponse->script('$("popup_qedit_prj_fld_strong_top").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_strong_top").set("checked", false);'); } /*if($project['prefer_sbr']=='t') { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", true);'); } else { $objResponse->script('$("popup_qedit_prj_fld_prefer_sbr").set("checked", false);'); }*/ $objResponse->script("var mx = new MultiInput('popup_qedit_prj_fld_categories','category_line', " . (int) ($project['is_pro'] === 't') . '); mx.init();'); require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php'; $attchedfiles = new attachedfiles($attachedfiles_session); $attachedfiles_tmpprj_files = $oprj->GetAllAttach($project['id']); if ($attachedfiles_tmpprj_files) { $attachedfiles_prj_files = array(); foreach ($attachedfiles_tmpprj_files as $attachedfiles_prj_file) { $attachedfiles_prj_files[] = $attachedfiles_prj_file['file_id']; } $attchedfiles->setFiles($attachedfiles_prj_files); } $attachedfiles_files = $attchedfiles->getFiles(); $js_attachedfiles = 'attachedfiles_list = [];'; if ($attachedfiles_files) { $n = 0; foreach ($attachedfiles_files as $attachedfiles_file) { $js_attachedfiles .= "attachedfiles_list[{$n}] = new Object;\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].id = '" . md5($attachedfiles_file['id']) . "';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].name = '{$attachedfiles_file['orig_name']}';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].path = '" . WDCPREFIX . "/{$attachedfiles_file['path']}{$attachedfiles_file['name']}';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].size = '" . ConvertBtoMB($attachedfiles_file['size']) . "';\n"; $js_attachedfiles .= "attachedfiles_list[{$n}].type = '{$attachedfiles_file['type']}';\n"; ++$n; } } $objResponse->script($js_attachedfiles); $objResponse->script("attachedFiles.init('popup_qedit_prj_attachedfiles', '" . $attchedfiles->getSession() . "', attachedfiles_list, " . tmp_project::MAX_FILE_COUNT . ', ' . tmp_project::MAX_FILE_SIZE . ",'" . implode(', ', $GLOBALS['disallowed_array']) . "', 'project', " . get_uid(false) . ');'); if ($project['is_color'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_color').set('checked', true); popupQEditPrjToggleIsColor();"); } else { $objResponse->script("\$('popup_qedit_prj_is_color').set('checked', false); popupQEditPrjToggleIsColor();"); } if ($project['is_bold'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_bold').set('checked', true); popupQEditPrjToggleIsBold();"); } else { $objResponse->script("\$('popup_qedit_prj_is_bold').set('checked', false); popupQEditPrjToggleIsBold();"); } if ($project['hide'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_hide').set('checked', true); "); } else { $objResponse->script("\$('popup_qedit_prj_is_hide').set('checked', false); "); } if ($project['urgent'] == 't') { $objResponse->script("\$('popup_qedit_prj_is_urgent').set('checked', true); "); } else { $objResponse->script("\$('popup_qedit_prj_is_urgent').set('checked', false); "); } $objResponse->assign('popup_qedit_prj_logolink', 'value', $project['link']); $key = md5(uniqid($uid)); $tmpPrj = new tmp_project($key); $tmpPrj->init(1, $project['id']); $remTPeriod = $tmpPrj->getRemainingTopPeriod($remTD, $remTH, $remTM, $remtverb); $addedTD = $tmpPrj->getAddedTopDays(); $objResponse->assign('popup_qedit_prj_fld_tmpid', 'value', $key); if ($remTPeriod || $addedTD) { $objResponse->script('$("popup_qedit_prj_top_ok").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_top_ok").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("value", "1");'); $objResponse->script('$("popup_qedit_prj_top_ok_icon").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("value", "1");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_left").set("html", "' . $remtverb . ' ' . $remTPeriod . '");'); } else { $objResponse->script('$("popup_qedit_prj_top_ok").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_top_ok").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("value", "1");'); $objResponse->script('$("popup_qedit_prj_top_ok_icon").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_top_ok_tab1_days").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_c").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_top_ok_tab2_days").set("disabled", true);'); } if ($project['logo_id']) { $logo = $tmpPrj->getLogo(); $objResponse->script('$("popup_qedit_prj_use_logo_src").set("href", "' . WDCPREFIX . '/' . $logo['path'] . $logo['name'] . '");'); $objResponse->script('$("popup_qedit_prj_use_logo").set("checked", true);'); $objResponse->script('$("popup_qedit_prj_use_logo").set("disabled", true);'); $objResponse->script('$("popup_qedit_prj_use_logo_tab").setStyle("display", "block");'); $objResponse->script('$("popup_qedit_prj_use_logo_tab2").setStyle("display", "none");'); } else { $objResponse->script('$("popup_qedit_prj_use_logo").set("checked", false);'); $objResponse->script('$("popup_qedit_prj_use_logo").set("disabled", false);'); $objResponse->script('$("popup_qedit_prj_use_logo_tab").setStyle("display", "none");'); $objResponse->script('$("popup_qedit_prj_use_logo_tab2").setStyle("display", "none");'); } $tmpPrj->fix(); $objResponse->call('center_popup', '.b-shadow_center-quick'); } } return $objResponse; }
/** * Генерирует попап для выбора раздела в RSS. */ public function ShowRSSPopup($kind) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; switch ($kind) { case 0: case 1: $rss_link = 'projects.xml'; break; case 2: $rss_link = 'competition.xml'; break; case 4: $rss_link = 'office.xml'; break; case 6: $rss_link = 'pro.xml'; break; case 5: $rss_link = 'all.xml'; break; default: $rss_link = 'all.xml'; break; } $categories = professions::GetAllGroupsLite(); // $subcat = professions::GetAllProfessions(); // var_dump(professions::GetAllProfessions()); $script = "\n <script type='text/javascript'>\n var sub = new Array();\n "; $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); foreach ($categories as $cat) { $out_s = array(); $script .= "\n sub[{$cat['id']}] = new Array(\n "; if (is_array($professions[$cat['id']])) { foreach ($professions[$cat['id']] as $subcat) { $out_s[] = " new Array({$subcat['id']}, '" . clearTextForJS($subcat['profname']) . "') "; } $script .= implode(', ', $out_s); } $script .= ' ); '; } $script .= "\n function applySubcat(cat){\n if(typeof sub[cat] != 'undefined')\n for(var i = 0; i < sub[cat].length; i++){\n var option = document.createElement('option');\n option.value = sub[cat][i][0];\n option.innerHTML = sub[cat][i][1];\n document.getElementById('rss_sub').appendChild(option);\n }\n }\n\n function getRssUri(){\n var cat = document.getElementById('rss_cat').value;\n var sub = document.getElementById('rss_sub').value;\n var xml_path = '/rss/{$rss_link}';\n if(sub){\n return xml_path+'?subcategory='+sub+(cat ? '&category='+cat : '');\n }else if(cat){\n return xml_path+'?category='+cat;\n }else{\n return xml_path;\n }\n }\n\n function gotoRSS(){\n document.location.href = getRssUri();\n }\n\n function clearSelect(sid)\n {\n\n var oListbox = document.getElementById(sid);\n for (var i=oListbox.options.length-1; i >= 0; i--)\n {\n oListbox.remove(i);\n }\n\n }\n\n function showRSS(){\n clearSelect('rss_sub');\n // var newoption = new Option('Весь раздел', '');\n var newoption = document.createElement('option');\n newoption.value = '';\n newoption.innerHTML = 'Весь раздел';\n document.getElementById('rss_sub').appendChild(newoption);\n document.getElementById('rss_cat').value = '';\n document.getElementById('rsso').style.display='block';\n }\n\n\n function FilterSubCategoryRSS(category)\n {\n var objSel = \$('rss_sub');\n objSel.options.length = 0;\n objSel.disabled = 'disabled';\n objSel.options[objSel.options.length] = new Option('Весь раздел', 0);\n if(category == 0) {\n objSel.set('disabled', true);\n } else {\n objSel.set('disabled', false);\n }\n // var ft = true;\n applySubcat(category);\n // for (i in filter_specs[category]) {\n // if (filter_specs[category][i][0]) {\n // objSel.options[objSel.options.length] = new Option(filter_specs[category][i][1], filter_specs[category][i][0], ft, ft);\n // ft = false;\n // }\n // }\n objSel.value = 0;\n }\n </script>\n "; // $subcategories = professions::Get $select = '<select style="width:340px" onchange="FilterSubCategoryRSS(this.value);" name="rss_cat" id="rss_cat">><option value="">Все разделы</option>'; foreach ($categories as $cat) { if (!$cat['id']) { continue; } $select .= "<option value=\"{$cat['id']}\">{$cat['name']}</option>"; } $select .= '</select>'; return "\n {$script}\n <div style=\"display: none;\" class=\"overlay ov-out\" id=\"rsso\">\n <b class=\"c1\"></b>\n <b class=\"c2\"></b>\n <b class=\"ov-t\"></b>\n <div class=\"ov-r\">\n <div class=\"ov-l\">\n <div class=\"ov-in\" style=\"height:110px\">\n <label for=\"rss\">Укажите разделы:</label> <br/>{$select}<br/>\n <label for=\"rss_sub\">Укажите подразделы:</label> <br/><select style=\"width:340px\" name=\"rss_sub\" id=\"rss_sub\">\n <option value=\"\">Весь раздел</option>\n </select>\n <div class=\"ov-btns\">\n <input value=\"Подписаться\" class=\"i-btn i-bold\" type=\"button\" onClick=\"gotoRSS(); document.getElementById('rsso').style.display='none'; return false;\">\n <input value=\"Отменить\" class=\"i-btn\" onclick=\"\$(this).getParent('div.overlay').setStyle('display', 'none'); return false;\" type=\"button\">\n </div>\n </div>\n </div>\n </div>\n <b class=\"ov-b\"></b>\n <b class=\"c3\"></b>\n <b class=\"c4\"></b>\n </div>"; }
<?php require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; $profs = professions::GetAllGroupsLite(); ?> <table cellpadding="0" cellspacing="0" border="0" width="100%"> <tr> <td align="left"><strong>—татистика</strong></td> <td align="right"><a href="/siteadmin/stats/index.php">“аблица</a></td> </tr> </table> <br><br> <script> function getspec(RXGroup) { var radioRXGroup = document.getElementsByName(RXGroup); for (var RowR = 0; RowR < radioRXGroup.length; RowR++) { if(radioRXGroup[RowR].checked) { return radioRXGroup[RowR].value; break; } } } </script>
function Lenta_Show($page = 1) { global $DB; session_start(); require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/portfolio.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/commune.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/links.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/lenta.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/users.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/blogs.php"; /*require_once( $_SERVER['DOCUMENT_ROOT'] . '/classes/stop_words.php' ); $stop_words = new stop_words( false );*/ $yt_replace_id = array(); $yt_replace_data = array(); $uid = get_uid(false); $objResponse = new xajaxResponse(); ob_start(); if (!($groups = professions::GetAllGroupsLite())) { return; } if (!($lenta = lenta::GetUserLenta($uid))) { } $sort = $_COOKIE['lenta_fav_order'] != "" ? $_COOKIE['lenta_fav_order'] : "date"; $favs = lenta::GetFavorites($uid, $sort); if (!($myComms = commune::GetCommunes(NULL, $uid, NULL, commune::OM_CM_MY))) { $myComms = array(); } if (!($joinedComms = commune::GetCommunes(NULL, NULL, $uid, commune::OM_CM_JOINED))) { $joinedComms = array(); } // Все сообщества, доступные пользователю. $communes = array(); foreach ($myComms as $comm) { $communes[] = $comm; } foreach ($joinedComms as $comm) { $communes[] = $comm; } // Блоги if (!($blog_grs = blogs::GetThemes($error, 1))) { $blog_grs = array(); } $blg = NULL; if ($lenta && $lenta['blog_grs'] && !empty($lenta['blog_grs'])) { $blg = implode(',', $lenta['blog_grs']); } $pgs = NULL; if ($lenta['all_profs_checked'] == 'f') { if ($lenta && $lenta['prof_groups'] && !empty($lenta['prof_groups'])) { $pgs = implode(',', $lenta['prof_groups']); } } $allThemesCount = 0; $cms = NULL; $user_comm_mods = array(); // Отбираем среди выбранных ранее сообществ в ленте, те которые до сих пор остаются // доступными ему для просмотра в ленте (его могли удалить или забанить). А также заполняем массив user_mod-ов на каждое из сообществ. if ($lenta && $lenta['communes'] && !empty($lenta['communes'])) { $i = 0; $cms = ''; foreach ($lenta['communes'] as $cm_id) { if ($uStatus = commune::GetUserCommuneRel($cm_id, $uid)) { $ucm = $user_mod; $ucm |= commune::MOD_COMM_MODERATOR * $uStatus['is_moderator']; $ucm |= commune::MOD_COMM_MANAGER * $uStatus['is_manager']; $ucm |= commune::MOD_COMM_ADMIN * ($uStatus['is_admin'] || $uStatus['is_moderator'] || $uStatus['is_manager']); $ucm |= commune::MOD_COMM_AUTHOR * $uStatus['is_author']; $ucm |= commune::MOD_COMM_ASKED * $uStatus['is_asked']; $ucm |= commune::MOD_COMM_ACCEPTED * ($uStatus['is_accepted'] || $ucm & commune::MOD_COMM_ADMIN); $ucm |= commune::MOD_COMM_BANNED * $uStatus['is_banned']; $ucm |= commune::MOD_COMM_DELETED * $uStatus['is_deleted']; $user_comm_mods[$cm_id] = $ucm; if (!$uStatus['is_deleted'] && !$uStatus['is_banned'] && $uStatus['is_blocked_commune'] == 0 && ($uStatus['is_accepted'] || $uStatus['is_author'])) { $cms .= (!$i++ ? '' : ',') . $cm_id; } } } } //if($cms) // $allThemesCount -= commune::GetMyThemesCount($cms, $uid); if ($lenta && $lenta['all_profs_checked'] == 't' || $cms || $pgs || $blg) { $items = lenta::GetLentaItems($uid, $lenta && $lenta['my_team_checked'] == 't', $lenta && $lenta['all_profs_checked'] == 't', $pgs, $cms, ($page - 1) * lenta::MAX_ON_PAGE, lenta::MAX_ON_PAGE, $allWorkCount, $blg); } if (!$items) { $items = array(); } // var_dump($favs); $stars = array(0 => 'bsg.png', 1 => 'bsgr.png', 2 => 'bsy.png', 3 => 'bsr.png'); $i = 0; foreach ($items as $item) { switch ($item['item_type']) { case '2': // Сообщества $top = $item; $user_mod = $user_comm_mods[$top['commune_id']]; if ($top['member_is_banned'] && !($user_mod & (commune::MOD_ADMIN | commune::MOD_COMM_AUTHOR | commune::MOD_COMM_MANAGER)) || $top['is_private'] == 't' && $top['user_id'] != $uid && !($user_mod & (commune::MOD_ADMIN | commune::MOD_COMM_AUTHOR | commune::MOD_COMM_MANAGER)) || $top['is_blocked'] && $top['commune_author_id'] != $uid) { continue; } $aThemeId = is_array($top['theme_id']) ? $top['theme_id'] : array($top['theme_id']); $top['answers'] = $DB->rows("SELECT * FROM commune_poll_answers WHERE theme_id IN (?l) ORDER BY id", array($top['theme_id'])); $GLOBALS[LINK_INSTANCE_NAME] = new links('commune'); $user_id = $uid; $mod = $user_mod; $is_member = $mod & (commune::MOD_ADMIN | commune::MOD_COMM_ACCEPTED | commune::MOD_COMM_AUTHOR); $is_moder = $mod & (commune::MOD_ADMIN | commune::MOD_MODER | commune::MOD_COMM_MODERATOR | commune::MOD_COMM_AUTHOR); $commune_info = commune::getCommuneInfoByMsgID($top['id']); ?> <style> .lo-m .lo-i-my-d .ac-pro, .lo-m .lo-i-my-d .ac-epro { margin-right: 0px; } .lo .utxt .b-layout__txt .b-icon__lprofi{ vertical-align:baseline !important; top:2px !important;} .lo .utxt>.b-pic{ margin-right:10px !important;} </style> <div class="lo lo-m" id='idTop_<?php echo $top['id']; ?> ' style='margin-bottom:0px !important;'> <ul class="lo-p"> <li class="lo-s"> <div class="b-layout_bordrad_3"> <a href="/commune" class="lnk-dot-666">Сообщества</a> </div> </li> <li class="post-f-fav"> <?php $msg_id = $top['id']; ?> <?php if ($favs['CM' . $msg_id]) { ?> <img src="/images/bookmarks/<?php echo $stars[$favs['CM' . $msg_id]['priority']]; ?> " alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'CM' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'CM')" ><?php } ?> <?php } else { ?> <img src="/images/bookmarks/bsw.png" alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'CM' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'CM')" ><?php } ?> <?php } ?> <ul class="post-f-fav-sel" style="display:none;" id="FavFloat<?php echo $msg_id; ?> "></ul> </li> </ul> <div class="utxt"> <?php print __LentaPrntUsrInfo($top, 'user_', '', '', false, true); ?> <h3> <?php if ($top['is_private'] == 't') { ?> <img src="/images/icons/eye-hidden.png" alt="Скрытый пост" title="Скрытый пост"> <?php } //if ?> <?php $sTitle = $top['title']; ?> <?php $sMessage = $top['msgtext']; ?> <a href="<?php echo getFriendlyURL('commune', $top['id']); ?> ?om=<?php echo commune::OM_TH_NEW; ?> "><?php echo reformat2($sTitle, 30, 0, 1); ?> </a> </h3> <p><?php echo reformat2($sMessage, 46, 1, 0, 1); ?> </p> <!-- Questions --> <?php if ($top['question'] != '') { ?> <div id="poll-<?php echo $top['theme_id']; ?> " class="commune-poll"> <div class="commune-poll-theme"><?php echo reformat($top['question'], 43, 0, 1); ?> </div> <div id="poll-answers-<?php echo $top['theme_id']; ?> "> <?php if ($top['poll_closed'] == 't') { ?> <table class="b-layout__table b-layout__table_width_full"><?php } ?> <?php // если надо вывести только количество ответов $showAnswers = $top['poll_votes'] || !$user_id || $top['commune_blocked'] == 't' || $top['user_is_banned'] || $top['member_is_banned'] || !$is_member; if ($showAnswers) { ?> <table class="poll-variants"><?php } ?> <?php $i = 0; $max = 0; if ($top['poll_closed'] == 't') { foreach ($top['answers'] as $answer) { $max = max($max, $answer['votes']); } } foreach ($top['answers'] as $answer) { ?> <?php if ($top['poll_closed'] == 't') { ?> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_50"><label class="b-layout__txt" for="poll_<?php echo $i; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> <td class="b-layout__middle b-layout__middle_width_30 b-layout__middle_center"><?php echo $answer['votes']; ?> </td> <td class=" b-layout__right "><div class=" res-line rl1" style="width: <?php echo $max ? round(100 * $answer['votes'] / $max * 3) : 0; ?> px;"></div></td> </tr> <?php } else { ?> <?php if ($showAnswers) { ?> <tr> <td class="bp-gres"><?php echo $answer['votes']; ?> </td> <td> <label><?php echo $answer['answer']; ?> </label> </td> </tr> <?php } else { ?> <?php if ($top['poll_multiple'] == 't') { ?> <div class="b-check b-check_padbot_10"> <input id="poll-<?php echo $top['theme_id']; ?> _<?php echo $i; ?> " class="b-check__input" type="checkbox" name="poll_vote[]" value="<?php echo $answer['id']; ?> " /> <label class="b-check__label b-check__label_fontsize_13" for="poll-<?php echo $top['theme_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label> </div> <?php } else { ?> <div class="b-radio__item b-radio__item_padbot_5"> <table class="b-layout__table b-layout__table_width_full" cellpadding="0" cellspacing="0" border="0"> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_15"><input id="poll-<?php echo $top['theme_id']; ?> _<?php echo $i; ?> " class="b-radio__input b-radio__input_top_-3" type="radio" name="poll_vote" value="<?php echo $answer['id']; ?> " /></td> <td class="b-layout__right"><label class="b-radio__label b-radio__label_fontsize_13" for="poll-<?php echo $top['theme_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> </tr> </table> </div> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php if ($showAnswers) { ?> </table><?php } ?> <?php if ($top['poll_closed'] == 't') { ?> </table><?php } ?> </div> <?php if (!$top['poll_votes'] && $user_id && $top['poll_closed'] != 't' && $top['commune_blocked'] != 't' && !$top['user_is_banned'] && !$top['member_is_banned'] && $is_member) { ?> <div class="b-buttons b-buttons_inline-block"> <span id="poll-btn-vote-<?php echo $top['theme_id']; ?> "> <a class="b-button b-button_flat b-button_flat_grey" href="javascript: return false;" onclick="poll.vote('Commune', <?php echo $top['theme_id']; ?> ); return false;">Ответить</a> </span> <span id="poll-btn-result-<?php echo $top['theme_id']; ?> " ><a class="b-buttons__link b-buttons__link_dot_0f71c8" href="javascript: return false;" onclick="poll.showResult('Commune', <?php echo $top['theme_id']; ?> ); return false;">Посмотреть результаты</a></span> </div> <?php } else { ?> <span id="poll-btn-vote-<?php echo $top['theme_id']; ?> "></span> <span id="poll-btn-result-<?php echo $top['theme_id']; ?> "></span> <?php } ?> </div> <br /> <?php } ?> <!-- /Questions --> <!-- Youtube --> <?php if ($top['yt_link']) { $tmp_yt_id = $top['id'] . 'ytlink' . mt_rand(1, 1000000); $tmp_yt_data = show_video($top['id'], $top['yt_link']); array_push($yt_replace_id, '/' . $tmp_yt_id . '/'); array_push($yt_replace_data, $tmp_yt_data); echo "<div style='padding-top: 20px'>" . $tmp_yt_id . "</div><br/>"; } ?> <?php // (($top['youtube_link'])? ("<div style='padding-top: 20px'>".show_video($top['id'], $top['youtube_link'])."</div><br/>"):"") ?> <!-- /Youtube --> <!-- Attach --> <?php if ($top['attach']) { $attach = $top['attach'][0]; if ($attach['fname']) { $att_ext = strtolower(CFile::getext($attach['fname'])); if ($att_ext == "swf") { print "<br/>" . viewattachExternal($top['user_login'], $attach['fname'], "upload", "/blogs/view_attach.php?user="******"&attach=" . $attach['fname']) . "<br/>"; } elseif ($att_ext == 'flv') { print "<br/>" . viewattachLeft($top['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, true, $attach['small'] == 't' ? 1 : 0) . "<br/>"; } else { print "<br/>" . viewattachLeft($top['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, !($attach['small'] == 't'), $attach['small'] == 't' ? 1 : 0) . "<br/>"; } } echo '<br/>'; if (sizeof($top['attach']) > 1) { echo "<a href=\"" . getFriendlyURL('commune', $top['id']) . "\"><b>" . blogs::ShowMoreAttaches(sizeof($top['attach'])) . "</b></a><br/><br/>"; } } ?> <!-- /Attach --> </div> <ul class="lo-i"> <?php $post_year = dateFormat('Y', $top['post_time']); ?> <li class="lo-i-cm"> <a href="<?php echo getFriendlyURL('commune', $top['id']); ?> " <?php echo $top['current_count'] == NULL && intval($top['count_comments']) != 0 ? 'style="font-weight:bold;"' : ''; ?> ><?php echo $top['closed_comments'] == 't' ? "Комментирование закрыто" : "Комментарии (" . intval($top['count_comments']) . ")"; ?> </a> <?php if ($top['closed_comments'] == 'f') { $top['current_count'] = $top['current_count'] == '' ? $top['a_count'] - 1 : $top['current_count']; if ($top['a_count'] > 1) { $unread = $top['a_count'] - 1 - $top['current_count']; } if ($unread > 0) { ?> <a href="<?php echo getFriendlyURL('commune', $top['id']); ?> #unread" style="color:#6BA813; font-weight:bold;">(<?php echo $unread; ?> <?php echo $unread == 1 ? "новый" : "новых"; ?> )</a> <?php } $unread = 0; } ?> </li> <li class="lo-i-c"><a href="/commune/?id=<?php echo $top['commune_id']; ?> "><?php echo $top['commune_name']; ?> </a>, <a href="/commune/?gr=<?php echo $top['commune_group_id']; ?> "><?php echo $top['commune_group_name']; ?> </a></li> <li><?php echo $post_year > 2000 ? dateFormat("d.m.Y H:i", $top['post_time']) : ''; ?> </li> </ul> </div> <br> <?php break; case '1': // Портфолио $work = $item; if ($work['work_is_blocked']) { continue; } $is_fav = isset($favs['PF' . $work['portfolio_id']]) ? 1 : 0; $msg_id = $work['portfolio_id']; ?> <div class="lo lo-m" style='margin-bottom:0px !important;'> <ul class="lo-p"> <li class="lo-s"> <div class="b-layout_bordrad_3"> <a href="/portfolio" class="lnk-dot-666">Работы</a> </div> </li> <li class="post-f-fav"> <?php if ($favs['PF' . $msg_id]) { ?> <img src="/images/bookmarks/<?php echo $stars[$favs['PF' . $msg_id]['priority']]; ?> " alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'PF' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'PF')" ><?php } ?> <?php } else { ?> <img src="/images/bookmarks/bsw.png" alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'PF' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'PF')" ><?php } ?> <?php } ?> <ul class="post-f-fav-sel" style="display:none;" id="FavFloat<?php echo $msg_id; ?> "></ul> </li> </ul> <div class="utxt"> <?php print __LentaPrntUsrInfo($work, 'user_', '', '', false, true); ?> <?php $sTitle = $work['name']; ?> <h3><a href="/users/<?php echo $work['user_login']; ?> /viewproj.php?prjid=<?php echo $work['portfolio_id']; ?> "><?php echo reformat2($sTitle, 40, 0, 1); ?> </a> </h3> <?php $is_preview = $work['pict'] || $work['prev_pict']; if ($is_preview && $work['prev_type'] != 1) { echo view_preview($work['user_login'], $work['prev_pict'], "upload", $align, true, true, '', 200) . "<br/><br/>"; } close_tags($work['descr'], array('b', 'i')); $sDescr = $work['descr']; ?> <p><?php echo reformat($sDescr, 80, 0, 0, 1); ?> </p> </div> <ul class="lo-i"> <?php $post_year = dateFormat('Y', $work['post_time']); ?> <li class="lo-i-c"><a href="/freelancers/?prof=<?php echo $work['prof_id']; ?> "><?php echo $work['prof_name']; ?> </a></li> <li><?php echo $post_year > 2000 ? dateFormat("d.m.Y H:i", $work['post_time']) : ''; ?> </li> </ul> </div> <br> <?php break; case '4': // Блоги $item['thread_id'] = $item['theme_id']; $item['answers'] = $DB->rows("SELECT * FROM blogs_poll_answers WHERE thread_id IN (?l) ORDER BY id", array($item['thread_id'])); $GLOBALS[LINK_INSTANCE_NAME] = new links('blogs'); $user_id = $uid; ?> <div class="lo lo-m" id='idBlog_<?php echo $item['thread_id']; ?> ' style='margin-bottom:0px !important;'> <ul class="lo-p"> <li class="lo-s"> <div class="b-layout_bordrad_3"> <a href="/blogs" class="lnk-dot-666">Блоги</a> </div> </li> <li class="post-f-fav"> <?php $msg_id = $item['theme_id']; ?> <?php if ($favs['BL' . $msg_id]) { ?> <img src="/images/bookmarks/<?php echo $stars[$favs['BL' . $msg_id]['priority']]; ?> " alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'BL' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'BL')" ><?php } ?> <?php } else { ?> <img src="/images/bookmarks/bsw.png" alt="" on="<?php echo $is_fav ? 1 : 0; ?> " id="favstar<?php echo 'BL' . $msg_id; ?> " <?php if ($uid) { ?> onclick="ShowFavFloatLenta(<?php echo $msg_id; ?> , <?php echo $uid; ?> , 'BL')" ><?php } ?> <?php } ?> <ul class="post-f-fav-sel" style="display:none;" id="FavFloat<?php echo $msg_id; ?> "></ul> </li> </ul> <div class="utxt"> <?php print __LentaPrntUsrInfo($item, 'user_', '', '', false, true); ?> <?php $sTitle = $item['title']; ?> <?php $sMessage = $item['msgtext']; ?> <h3><a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> "><?php echo reformat2($sTitle, 30, 0, 1); ?> </a> </h3> <p><?php echo reformat($sMessage, 46, 1, -($item['is_chuck'] == 't'), 1); ?> </p> <!-- Questions --> <?php if ($item['question'] != '') { ?> <div id="poll-<?php echo $item['thread_id']; ?> " class="poll"> <div class="commune-poll-theme"><?php echo reformat($item['question'], 43, 0, 1); ?> </div> <div id="poll-answers-<?php echo $item['thread_id']; ?> "> <?php if ($item['poll_multiple'] != 't') { ?> <div class="b-radio b-radio_layout_vertical"><?php } ?> <?php if ($item['poll_closed'] == 't') { ?> <table class="b-layout__table b-layout__table_width_full"><?php } ?> <?php $i = 0; $max = 0; if ($item['poll_closed'] == 't') { foreach ($item['answers'] as $answer) { $max = max($max, $answer['votes']); } } foreach ($item['answers'] as $answer) { ?> <?php if ($item['poll_closed'] == 't') { ?> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_50"><label class="b-layout__txt" for="poll_<?php echo $i; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> <td class="b-layout__middle b-layout__middle_width_30 b-layout__middle_center"><?php echo $answer['votes']; ?> </td> <td class=" b-layout__right "><div class=" res-line rl1" style="width: <?php echo $max ? round(100 * $answer['votes'] / $max * 3) : 0; ?> px;"></div></td> </tr> <?php } else { ?> <?php if ($item['poll_votes'] || !$user_id) { ?> <div class="bp-gres"><?php echo $answer['votes']; ?> </div> <?php } else { ?> <?php if ($item['poll_multiple'] == 't') { ?> <div class="b-check b-check_padbot_10"> <input id="poll-<?php echo $item['thread_id']; ?> _<?php echo $i; ?> " class="b-check__input" type="checkbox" name="poll_vote[]" value="<?php echo $answer['id']; ?> " /> <label class="b-check__label b-check__label_fontsize_13" for="poll-<?php echo $item['thread_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label> </div> <?php } else { ?> <div class="b-radio__item b-radio__item_padbot_5"> <table class="b-layout__table b-layout__table_width_full" cellpadding="0" cellspacing="0" border="0"> <tr class="b-layout__tr"> <td class="b-layout__left b-layout__left_width_15"><input id="poll-<?php echo $item['thread_id']; ?> _<?php echo $i; ?> " class="b-radio__input b-radio__input_top_-3" type="radio" name="poll_vote" value="<?php echo $answer['id']; ?> " /></td> <td class="b-layout__right"><label class="b-radio__label b-radio__label_fontsize_13" for="poll-<?php echo $item['thread_id']; ?> _<?php echo $i++; ?> "><?php echo reformat($answer['answer'], 30, 0, 1); ?> </label></td> </tr> </table> </div> <?php } ?> <?php } ?> <?php } ?> <?php } ?> <?php if ($item['poll_closed'] == 't') { ?> </table><?php } ?> <?php if ($item['poll_multiple'] != 't') { ?> </div><?php } ?> </div> <?php if (!$item['poll_votes'] && $user_id && $item['poll_closed'] != 't') { ?> <div class="b-buttons b-buttons_inline-block"> <span id="poll-btn-vote-<?php echo $item['thread_id']; ?> "> <a class="b-button b-button_flat b-button_flat_grey" href="javascript: return false;" onclick="poll.vote('Blogs', <?php echo $item['thread_id']; ?> ); return false;">Ответить</a> </span> <span id="poll-btn-result-<?php echo $item['thread_id']; ?> "><a class="b-buttons__link b-buttons__link_dot_0f71c8" href="javascript: return false;" onclick="poll.showResult('Blogs', <?php echo $item['thread_id']; ?> ); return false;">Посмотреть результаты</a> </span> </div> <?php } else { ?> <span id="poll-btn-vote-<?php echo $item['thread_id']; ?> "></span> <span id="poll-btn-result-<?php echo $item['thread_id']; ?> "></span> <?php } ?> </div> <br/> <?php } ?> <!-- /Questions --> <!-- Youtube --> <?php if ($item['yt_link']) { $tmp_yt_id = $item['id'] . 'ytlink' . rand(1, 1000000); $tmp_yt_data = show_video($item['id'], $item['yt_link']); array_push($yt_replace_id, '/' . $tmp_yt_id . '/'); array_push($yt_replace_data, $tmp_yt_data); echo "<div style='padding-top: 20px'>" . $tmp_yt_id . "</div><br/>"; } // =(($item['yt_link'])? ("<div style='padding-top: 20px'>".show_video($item['id'], $item['yt_link'])."</div>"):"") ?> <!-- /Youtube --> <!-- Attach --> <?php if ($item['attach']) { $attach = $item['attach'][0]; if ($attach['fname']) { $att_ext = strtolower(CFile::getext($attach['fname'])); if ($att_ext == "swf") { print "<br/>" . viewattachExternal($item['user_login'], $attach['fname'], "upload", "/blogs/view_attach.php?user="******"&attach=" . $attach['fname']) . "<br/>"; } elseif ($att_ext == 'flv') { print "<br/>" . viewattachLeft($item['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, true, $attach['small'] == 2 ? 1 : 0) . "<br/>"; } else { print "<br/>" . viewattachLeft($item['user_login'], $attach['fname'], "upload", $file, 1000, 470, 307200, !$attach['small'], $attach['small'] == 2 ? 1 : 0) . "<br/>"; } } echo '<br/>'; if (sizeof($item['attach']) > 1) { echo "<a href=\"" . getFriendlyURL("blog", $item['theme_id']) . "\"><b>" . blogs::ShowMoreAttaches(sizeof($item['attach'])) . "</b></a><br/><br/>"; } } ?> <!-- /Attach --> </div> <ul class="lo-i"> <?php $post_year = dateFormat('Y', $item['post_time']); ?> <li class="lo-i-cm"> <a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> " <?php echo $item['current_count'] == NULL && intval($item['count_comments']) != 0 ? 'style="font-weight:bold;"' : ''; ?> ><?php echo $item['closed_comments'] == 't' ? "Комментирование закрыто" : "Комментарии (" . intval($item['count_comments']) . ")"; ?> </a> <?php if (isset($item['status_comments']) && $item['count_comments'] > 0 && $item['status_comments'] < $item['count_comments'] && $item['status_comments'] != -100 && $item['closed_comments'] == 'f') { $new_comments_num = $item['count_comments'] - $item['status_comments']; ?> <a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> #unread" style="color:#6BA813; font-weight:bold;">(<?php echo $new_comments_num; ?> <?php echo $new_comments_num == 1 ? "новый" : "новых"; ?> )</a> <?php } else { if (isset($item['status_comments']) && $item['count_comments'] > 0 && $item['status_comments'] < $item['count_comments'] && $item['status_comments'] == -100 && $item['closed_comments'] == 'f') { $new_comments_num = $item['count_comments']; ?> <a href="<?php echo getFriendlyURL("blog", $item['theme_id']); ?> #unread" style="color:#6BA813; font-weight:bold;">(<?php echo $new_comments_num; ?> <?php echo $new_comments_num == 1 ? "новый" : "новых"; ?> )</a> <?php } } ?> </li> <li class="lo-i-c"><a href="<?php echo getFriendlyURL("blog_group", $item['commune_group_id']); ?> "><?php echo $item['commune_group_name']; ?> </a></li> <li><?php echo $post_year > 2000 ? dateFormat("d.m.Y H:i", $item['post_time']) : ''; ?> </li> </ul> </div> <br> <?php break; } $i++; } ?> <?php // $allThemesCount = lenta::GetLentaThemesCount($cms); ?> <br/> <?php // Страницы $count = 4; $pages = ceil(($allWorkCount + $allThemesCount) / lenta::MAX_ON_PAGE); $html = '<div class="b-pager" >'; if (is_array($count)) { list($scount, $ecount) = $count; } else { $scount = $ecount = $count; } if ($pages > 1) { $start = $page - $scount; if ($start < 1) { $start = 1; } $end = $page + $ecount; if ($end > $pages) { $end = $pages; } $html .= '<ul class="b-pager__back-next">'; if ($page < $pages) { $html .= "<input type=\"hidden\" id=\"next_navigation_link1\" value=\"" . ($page + 1) . "\">"; $html .= '<li class="b-pager__next" id="nav_next_not_active1"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(' . ($page + 1) . '); return false;" id="PrevLink"></a> </li>'; } if ($page > 1) { $html .= "<input type=\"hidden\" id=\"pre_navigation_link1\" value=\"" . ($page - 1) . "\">"; $html .= '<li class="b-pager__back"> <a id="NextLink" class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(' . ($page - 1) . '); return false;"></a></li>'; } $html .= '</ul>'; $html .= '<ul class="b-pager__list">'; for ($i = $start; $i <= $end; $i++) { if ($i == $start && $start > 1) { $html .= '<li class="b-pager__item"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(1); return false;">1</a></li>'; if ($i == 3) { $html .= '<li class="b-pager__item"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(2); return false;">2</a></li>'; } elseif ($i != 2) { $html .= "<li class='b-pager__item'>…</li>"; } } $html .= $page == $i ? '<li class="b-pager__item b-pager__item_active"><span class="b-pager__b1"><span class="b-pager__b2">' . $i . '</span></span></li>' : '<li class="b-pager__item"><a class="b-pager__link" href="javascript:void(0)" onClick="document.location.href=\'#lentatop\'; spiner.show(); xajax_Lenta_Show(' . $i . '); return false;">' . $i . '</a></li>'; if ($i == $end && $pages - 1 > $end) { $html .= '<li class="b-pager__item">…</li>'; } } $html .= '</ul>'; } echo $html . '</div>'; // Страницы закончились ?> <?php $content = ob_get_contents(); ob_end_clean(); $content_js = ''; if ($yt_replace_data) { foreach ($yt_replace_data as $key => $value) { $yt_replace_data[$key] = preg_replace("/^(.*)<script.*\$/sm", "\$1", $value); $content_js .= preg_replace("/^(.*<script type='text\\/javascript'>)(.*)(<\\/script>)\$/sm", "\$2", $value); } $content = preg_replace($yt_replace_id, $yt_replace_data, $content); $objResponse->script($content_js); } $objResponse->assign('lenta-cnt', 'innerHTML', $content); $objResponse->script($content_js); $objResponse->script('spiner.hide();'); $objResponse->script('$$("#lenta_cats_checkboxes input[type=checkbox]").each(function(el) { el.set("disabled", false); });'); $objResponse->script('fix_banner();'); return $objResponse; }
/** * Вывод страницы /gift/ "Подарок". */ public function giftAction() { include $_SERVER['DOCUMENT_ROOT'] . '/404.php'; exit; /* * @deprecated Все что ниже пока не используется */ front::og('tpl')->page = 'gift'; self::isBlockMoney(); /** * Подключаем AJAX для страницы. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/xajax/bill.common.php'; front::og('tpl')->script = '/scripts/bill2.js'; front::og('tpl')->xajax = $xajax; front::og('tpl')->mnth = 1; // Месяцев оплаты по умолчанию $val = $this->uri[0]; switch ($val) { case 'pro': // Вывод подстраницы "Аккаунт «PRO»" /* * Обработка события "Подарить" */ if ($_POST['act']) { $mnth = intval(trim($_POST['mnth'])); // месяцев $login = trim(strip_tags($_POST['login'])); // логин пользователя $msg = change_q_x(__paramInit('string', null, 'msg', null, 300)); $usertype = trim(strip_tags($_POST['usertype'])); /** * Подключаем класс для оплаты подарка. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/payed.php'; $prof = new payed(); $tr_id = $_REQUEST['transaction_id']; if (!$tr_id) { $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.'); } front::og('tpl')->tr_id = $tr_id; front::og('tpl')->login = $login; front::og('tpl')->msg = $msg; front::og('tpl')->mnth = $mnth; /* * Если нет ошибок выводим */ if ($mnth > 0 && $login) { // Класс для работы с пользователем require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $user = new users(); $gid = $user->GetUid($error, $login); $user->GetUser($login); if (!$gid) { $alert['login'] = '******'; } if ($gid == get_uid()) { $alert['login'] = '******'; } if (defined('SPEC_USER') && get_uid() == SPEC_USER) { $alert['login'] = '******'; } if (!$alert) { $role = $user->GetRole($login, $error); /* * Высчитываем тариф для обработки. Тариф зависит от количества месяцев (Действуют специальные скидки) */ if (substr($role, 0, 1) != '0') { $tarif = 16; } else { $tarif = 52; if ($mnth == 3) { $tarif = 66; } if ($mnth == 6) { $tarif = 67; } if ($mnth == 12) { $tarif = 68; } } $ok = $prof->GiftOrderedTarif($bill_id, $gift_id, $gid, get_uid(), $tr_id, $mnth, $msg, $tarif); // Оплата подарка if ($ok) { // Посылаем уведомление о подарке и переносим на страницу успешной оплаты $sm = new smail(); $sm->NewGift($_SESSION['login'], $login, $msg, $gift_id); $_SESSION['success_aid'] = $bill_id; header("Location: /{$this->name_page}/success/"); exit; } unset($msg); } } else { $alert['login'] = '******'; } front::og('tpl')->error = $alert; } front::og('tpl')->display('bill/bill_gift_pro.tpl'); break; case 'main': // Вывод подстраницы "Платное размещение в разделе" front::og('tpl')->type = 1; // Типа размещения = неделя /* * Обработка события "Подарить" - при нажатии кнопки подарить */ if ($_POST['act']) { $type = intval(trim($_POST['type'])); // Сколько недель $login = trim(strip_tags($_POST['login'])); $msg = change_q_x(__paramInit('string', null, 'msg', null, 300)); /** * Класс для обработки оплаты и взаимодействия механизма вывода. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/firstpage.php'; $prof = new firstpage(); $tr_id = $_REQUEST['transaction_id']; if (!$tr_id) { $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.'); } front::og('tpl')->tr_id = $tr_id; front::og('tpl')->login = $login; front::og('tpl')->msg = $msg; front::og('tpl')->type = $type; if (!$type) { $alert['type'] = 'Не выбрано количество недель.'; } else { $d_time = "{$type} неделя"; $intv = "{$type} weeks"; if ($login) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $user = new users(); $gid = $user->GetUid($error, $login); $user->GetUser($login); if (!$gid) { $alert['login'] = '******'; } if (is_emp($user->role)) { $alert['login'] = '******'; } if ($gid == get_uid()) { $alert['login'] = '******'; } if (defined('SPEC_USER') && get_uid() == SPEC_USER) { $alert['login'] = '******'; } if (!$alert) { $order_id = $prof->Gift($bill_id, $gift_id, $gid, get_uid(), $tr_id, $intv, 17, $msg, $type); if (!$order_id) { header('Location: /bill/fail/'); // Если оплата не прошла exit; } else { // Уведомление на почту $sm = new smail(); $sm->NewGift($_SESSION['login'], $login, $msg, $gift_id); $_SESSION['success_aid'] = $bill_id; header("Location: /{$this->name_page}/success/"); // Если все прошло успешно переносим на страницу - Успешно exit; } } } else { $alert['login'] = '******'; } } front::og('tpl')->error = $alert; } front::og('tpl')->display('bill/bill_gift_main.tpl'); break; case 'fronttop': // Обработка подстраницы "Платные места наверху главной страницы" // Событие нажатия кнопки "Подарить" if ($_POST['act']) { $login = trim(strip_tags($_POST['login'])); // Логин $msg = change_q_x(__paramInit('string', null, 'msg', null, 300)); $tr_id = $_REQUEST['transaction_id']; if (!$tr_id) { $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.'); } front::og('tpl')->tr_id = $tr_id; front::og('tpl')->login = $login; front::og('tpl')->msg = $msg; if ($login) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $user = new users(); $gid = $user->GetUid($error, $login); $user->GetUser($login); if (is_emp($user->role)) { $alert['login'] = '******'; } if ($gid == get_uid()) { $alert['login'] = '******'; } if (defined('SPEC_USER') && get_uid() == SPEC_USER) { $alert['login'] = '******'; } if (!$gid) { $alert['login'] = '******'; } if (!$alert) { /** * Класс для работы с оплатой подарка. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pay_place.php'; $place = new pay_place(); $tarif = 69; $profs = $place->gift($bill_id, $gift_id, $tr_id, $gid, get_uid(), $msg, $tarif); // Оплачиваем подарок if ($profs) { $_SESSION['success_aid'] = $bill_id; header("Location: /{$this->name_page}/success/"); // Все прошло успешно exit; } } } else { $alert['login'] = '******'; } front::og('tpl')->error = @$alert; // Переменная ошибок } front::og('tpl')->display('bill/bill_gift_fronttop.tpl'); break; case 'cattop': // Обработка подстраницы "Платные места наверху каталога" // Событие нажатия кнопки "Подарить" if ($_POST['act']) { $login = trim(strip_tags($_POST['login'])); // Логин $msg = change_q_x(__paramInit('string', null, 'msg', null, 300)); $tr_id = $_REQUEST['transaction_id']; if (!$tr_id) { $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.'); } front::og('tpl')->tr_id = $tr_id; front::og('tpl')->login = $login; front::og('tpl')->msg = $msg; if ($login) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $user = new users(); $gid = $user->GetUid($error, $login); $user->GetUser($login); if (!$gid) { $alert['login'] = '******'; } if (is_emp($user->role)) { $alert['login'] = '******'; } if ($gid == get_uid()) { $alert['login'] = '******'; } if (defined('SPEC_USER') && get_uid() == SPEC_USER) { $alert['login'] = '******'; } if (!$alert) { /** * Класс для работы с оплатой подарка. */ require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/pay_place.php'; $place = new pay_place(1); $tarif = 83; $profs = $place->gift($bill_id, $gift_id, $tr_id, $gid, get_uid(), $msg, $tarif); // Оплачиваем подарок if ($profs) { $_SESSION['success_aid'] = $bill_id; header("Location: /{$this->name_page}/success/"); // Все прошло успешно exit; } } } else { $alert['login'] = '******'; } front::og('tpl')->error = @$alert; // Переменная ошибок } front::og('tpl')->display('bill/bill_gift_cattop.tpl'); break; case 'catalog': // Обработка подстраницы "Платные места в каталоге в подарок" // Событие нажатия кнопки "Подарить" front::og('tpl')->filter_categories = professions::GetAllGroupsLite(true); front::og('tpl')->filter_subcategories = professions::GetAllProfessions(1); $x = new op_codes(); $x->GetRow(84); $top_p = $x->sum; $x->GetRow(85); $inside_p = $x->sum; front::og('tpl')->price_top = $top_p; front::og('tpl')->price_inside = $inside_p; if ($_POST['act']) { $login = trim(strip_tags($_POST['login'])); // Логин $msg = change_q_x(__paramInit('string', null, 'msg', null, 300)); $pf_category = __paramInit('int', null, 'pf_category', 0); $pf_subcategory = __paramInit('int', null, 'pf_subcategory', 0); //echo '<pre>'; print_r($_POST); exit('</pre>'); $tr_id = $_REQUEST['transaction_id']; if (!$tr_id) { $this->account->view_error('Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала.'); } front::og('tpl')->tr_id = $tr_id; front::og('tpl')->login = $login; front::og('tpl')->msg = $msg; front::og('tpl')->pf_category = $pf_category; front::og('tpl')->pf_subcategory = $pf_subcategory; if ($login) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php'; $user = new users(); $gid = $user->GetUid($error, $login); $user->GetUser($login); if (!$gid) { $alert['login'] = '******'; } if (is_emp($user->role)) { $alert['login'] = '******'; } if ($gid == get_uid()) { $alert['login'] = '******'; } if (defined('SPEC_USER') && get_uid() == SPEC_USER) { $alert['login'] = '******'; } $weeks = (int) $_POST['weeks']; if (!$weeks) { $alert['week'] = 'Данное поле является обязательным'; } if (!$alert) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/firstpage.php'; $prof = new firstpage(); $pf_category = (int) $_POST['pf_category']; $pf_subcategory = (int) $_POST['pf_subcategory']; $page = !$pf_subcategory ? 0 : $pf_subcategory; $place_info = array($page => $weeks); $op_code = $page ? 85 : 84; // require_once($_SERVER['DOCUMENT_ROOT'] . "/classes/account.php"); // $account = new account(); // $account ->/ view_error("Невозможно завершить транзакцию. Попробуйте повторить операцию с самого начала."); $account = new account(); if ($prof->GiftOrderedCat($bill_id, $gift_id, $gid, get_uid(), $tr_id, $page, (int) $weeks, $op_code, $msg)) { $_SESSION['success_aid'] = $bill_id; header("Location: /{$this->name_page}/success/"); // Все прошло успешно exit; } } } else { $alert['login'] = '******'; } front::og('tpl')->error = @$alert; // Переменная ошибок } front::og('tpl')->display('bill/bill_gift_catalog.tpl'); break; default: /* * По умолчанию выводим главную страницу раздела "Подарки" */ front::og('tpl')->display('bill/bill_gift.tpl'); break; } }
// $filter -- массив с параметрами фильтра. // $filter_page -- код страницы (см. таблицу projects_filters). // $filter_show -- 1: фильтр развернут, 0: свернут. /Параметр больше не используется - Эдуард, 8.10.2009/ // $filter_inputs -- дополнительные INPUT-ы в форму. // $kind -- ид. закладки (если фильтр на главной странице). // $page -- номер страницы (если фильтр на главной странице). // Плюс должны быть включены заранее все xajax функции, которые тут используются. if (!$uid) { return 0; } require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/professions.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/country.php"; require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/city.php"; $has_hidd = TRUE; $filter_apply = $filter['active'] == "t"; $filter_categories = professions::GetAllGroupsLite(TRUE); $filter_countries = country::GetCountries(); if ($filter['country']) { $filter_cities = city::GetCities($filter['country']); } switch ($filter_page) { case 1: $frm_action = '/proj/?p=list'; $prmd = '&'; $has_hidd = FALSE; break; default: $frm_action = '/'; $prmd = '?'; } if (!$filter) {
/** * Обработка информации шага проекты. */ public function actionProjects() { $prj_id = $_SESSION['view_wizard_project']; if (!$prj_id) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/attachedfiles.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/project_exrates.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/city.php'; $prj_exrates = project_exrates::GetAll(); $categories = professions::GetAllGroupsLite(); $professions = professions::GetAllProfessions(); array_group($professions, 'groupid'); $professions[0] = array(); $addedPrc = is_pro() ? 0 : new_projects::PRICE_ADDED; $colorPrc = new_projects::PRICE_COLOR * ($addedPrc > 0 ? 1 : 0); $boldPrc = new_projects::PRICE_BOLD + $addedPrc; $logoPrc = new_projects::PRICE_LOGO + $addedPrc; $cTopPrice = new_projects::PRICE_CONTEST_TOP1DAY + $addedPrc; $pTopPrice = new_projects::PRICE_TOP1DAY + $addedPrc; $action = __paramInit('string', 'action', 'action', null); $attachedfiles_session = __paramInit('string', 'attachedfiles_session', 'attachedfiles_session', false); // проверяем есть ли уже созданый проект $projects = $this->getCreatedProjects(); $existPrjID = count($projects) > 0 ? $projects[0][id] : null; // выводим ранее сохраненный проект if ($action != 'create_project' && $existPrjID) { $data = $projects[0]; list($category, $subcategory) = explode('|', $data['categories']); $currency_name = $this->CURRENCY_TYPE[$data['currency']]; $priceby_name = $this->PRICEBY_TYPE[$data['priceby']]; $data['pro_only'] = $data['pro_only'] === 't'; $price = $data['payed']; $option = array(); $option['top'] = $data['top_count'] > 0; $option['top_count'] = $data['top_count']; $option['color'] = $data['is_color'] === 't'; $option['bold'] = $data['is_bold'] === 't'; $option['logo'] = $data['logo_id'] > 0; } elseif ($action == 'create_project') { // сохраняем новый проект или изменяем старый $in_office = __paramInit('int', null, 'in_office', 0); $type = __paramInit('string', null, 'kind'); if ($type == 'contest') { $data['kind'] = 7; $data['end_date'] = date('d-m-Y', strtotime(__paramInit('string', null, 'end_date_eng_format', 0))); $data['win_date'] = date('d-m-Y', strtotime(__paramInit('string', null, 'win_date_eng_format', 0))); } elseif ($in_office == 1) { $location = __paramInit('integer', null, 'location_column_id'); if ($location == 1) { $data['city'] = __paramInit('integer', null, 'location_db_id'); $data['country'] = country::getCountryByCityId($data['city']); } else { $data['country'] = __paramInit('integer', null, 'location_db_id'); } $data['kind'] = 4; } else { $data['kind'] = 1; } $data['name'] = __paramInit('string', null, 'name'); $data['descr'] = __paramInit('string', null, 'descr'); $category = __paramInit('int', null, 'r_category'); $subcategory = __paramInit('int', null, 'r_subcategory'); $agreement = __paramInit('int', null, 'agreement', 0); $data['pro_only'] = __paramInit('int', null, 'pro_only', 0) == 1 ? true : false; if ($agreement != 1) { $data['cost'] = __paramInit('int', null, 'cost', 0); $data['priceby'] = __paramInit('int', null, 'r_priceby', 0); $data['currency'] = __paramInit('int', null, 'r_currency', 0); $data['budget_type'] = __paramInit('int', null, 'budget_type', 0); } if (is_empty_html($data['descr'])) { $error['descr'] = 'Поле не заполнено'; } if (is_empty_html($data['name'])) { $error['name'] = 'Поле не заполнено'; } // проверяем длину необработанной строки, а иначе спецсимволы считаются как несколько символов if (strlen(stripslashes($_POST['name'])) > 60) { $error['name'] = 'Превышен лимит - 60 символов'; } if (!$category) { $error['category'] = 'Не выбран раздел'; } elseif ($subcategory) { $data['categories'] = "{$category}|{$subcategory}"; } else { $data['categories'] = $category; } if ($data['cost'] < 0) { $error['cost'] = 'Введите положительную сумму'; } if ($data['cost'] > 999999) { $error['cost'] = 'Слишком большая сумма'; } if ($data['cost'] > 0 && ($data['currency'] < 0 || $data['currency'] > 3)) { $error['currency'] = 'Валюта не определена'; } if ($data['cost'] > 0 && ($data['priceby'] < 1 || $data['priceby'] > 4)) { $error['priceby'] = 'Вид бюджета не определен'; } $descr_limit = projects::LIMIT_DESCR; if (strlen_real($data['descr']) > $descr_limit) { $error['descr'] = "Исчерпан лимит символов ({$descr_limit})"; } if ($data['kind'] == 7) { if (!preg_match("/^([0-9]{1,2})\\-([0-9]{1,2})\\-([0-9]{4})\$/", $data['end_date'], $o1) || !checkdate($o1[2], $o1[1], $o1[3])) { $error['end_date'] = 'Неправильная дата'; } if (!preg_match("/^([0-9]{1,2})\\-([0-9]{1,2})\\-([0-9]{4})\$/", $data['win_date'], $o2) || !checkdate($o2[2], $o2[1], $o2[3])) { $error['win_date'] = 'Неправильная дата'; } if (!$error['end_date'] && mktime(0, 0, 0, $o1[2], $o1[1], $o1[3]) <= mktime(0, 0, 0)) { $error['end_date'] = 'Дата окончания конкурса не может находиться в прошлом'; } if (!$error['win_date'] && mktime(0, 0, 0, $o2[2], $o2[1], $o2[3]) <= mktime(0, 0, 0, $o1[2], $o1[1], $o1[3])) { $error['win_date'] = 'Дата определения победителя должна быть больше даты окончания конкурса'; } } $option['top'] = __paramInit('int', null, 'option_top', 0); $option['top_count'] = __paramInit('int', null, 'option_top_count', 0); $option['color'] = __paramInit('int', null, 'option_color', 0); $option['bold'] = __paramInit('int', null, 'option_bold', 0); $option['logo'] = __paramInit('int', null, 'option_logo', 0); // логотип if ($option['logo'] == 1) { $data['logo_link'] = str_replace('http://', '', __paramInit('string', null, 'logo_link', null)); $data['logo_id'] = __paramInit('int', null, 'logo_id', null); // если выбрана опция "Логотип со ссылкой", то картинка должна быть обязательно if (!$data['logo_id']) { $error['logo_image'] = 'Отсутствует логотип'; } if ($data['logo_link'] === 'Адрес сайта') { $data['logo_link'] = ''; } if ($data['logo_link'] !== '' && !is_url($data['logo_link'])) { $error['logo_link'] = 'Не верно введен адрес'; } } else { $data['logo_id'] = null; } $price = 0; // закрепление на верху if ($option['top'] == 1 && $option['top_count'] > 0) { if ($option['top_count'] > 999) { $option['top_count'] = 999; } $price = (int) $option['top_count'] * ($data['kind'] == 7 ? $cTopPrice : $pTopPrice); $data['top_count'] = (int) $option['top_count']; $pay_option[] = array('wiz_uid' => $this->getWizardUserID(), 'op_code' => new_projects::OPCODE_PAYED, 'option' => self::PROJECT_OPTION_TOP, 'type' => $data['kind'] == 7 ? self::BILL_TYPE_CONTEST : self::BILL_TYPE_PROJECT, 'ammount' => $price); } else { $data['top_count'] = 0; } // выделение цветом if ($option['color'] == 1) { $price += (int) $colorPrc; $data['is_color'] = true; $pay_option[] = array('wiz_uid' => $this->getWizardUserID(), 'op_code' => new_projects::OPCODE_PAYED, 'option' => self::PROJECT_OPTION_COLOR, 'type' => $data['kind'] == 7 ? self::BILL_TYPE_CONTEST : self::BILL_TYPE_PROJECT, 'ammount' => $colorPrc); } else { $data['is_color'] = false; } // выделение жирным if ($option['bold'] == 1) { $price += (int) $boldPrc; $data['is_bold'] = true; $pay_option[] = array('wiz_uid' => $this->getWizardUserID(), 'op_code' => new_projects::OPCODE_PAYED, 'option' => self::PROJECT_OPTION_BOLD, 'type' => $data['kind'] == 7 ? self::BILL_TYPE_CONTEST : self::BILL_TYPE_PROJECT, 'ammount' => $boldPrc); } else { $data['is_bold'] = false; } if ($option['logo'] == 1) { $price += (int) $logoPrc; $pay_option[] = array('wiz_uid' => $this->getWizardUserID(), 'op_code' => new_projects::OPCODE_PAYED, 'option' => self::PROJECT_OPTION_LOGO, 'type' => $data['kind'] == 7 ? self::BILL_TYPE_CONTEST : self::BILL_TYPE_PROJECT, 'ammount' => $logoPrc); } if ($price > 0) { $data['payed'] = (int) $price; } if (!$error) { $data['wiz_uid'] = $this->getWizardUserID(); // если проект уже есть if ($existPrjID) { // то просто обновляем его $prj_id = $this->updateProject($data, $existPrjID); // и очищаем все платные опции для этого проекта wizard_billing::clearPayedOptions($prj_id); } else { $prj_id = $this->createProject($data); } if ($prj_id && $_POST['attachedfiles_session']) { $attachedfiles = new attachedfiles($_POST['attachedfiles_session']); $files = $attachedfiles->getFiles(array(1, 2, 3, 4)); $this->parent->addAttachedFiles($files, $prj_id); $attachedfiles->clear(); } if ($prj_id && $data['kind'] == 7) { $insert = array('wiz_uid' => $data['wiz_uid'], 'op_code' => new_projects::OPCODE_KON_NOPRO, 'type' => self::BILL_TYPE_CONTEST, 'ammount' => new_projects::getKonkursPrice(), 'parent' => $prj_id); wizard_billing::addPaidOption($insert); } if ($price > 0 && $prj_id) { foreach ($pay_option as $k => $opt) { $opt['parent'] = $prj_id; wizard_billing::addPaidOption($opt); } } if ($prj_id) { $_SESSION['view_wizard_project'] = $prj_id; header('Location: /wizard/registration/'); exit; } else { $error['project'] = 'Ошибка записи проекта'; } } $currency_name = __paramInit('string', null, 'currency'); $priceby_name = __paramInit('string', null, 'priceby'); } // Генерируем данные для вывода ошибок и заполнения полей $loc[] = country::GetCountryName($data['country']); if ($data['city']) { $loc[] = city::GetCityName($data['city']); } $location_name = implode(': ', $loc); $cat[] = professions::GetGroupName($category); if ($subcategory) { $cat[] = professions::GetProfName($subcategory); } $category_name = implode(': ', $cat); if ($data['logo_id']) { $file = new CFile($data['logo_id']); $logo_path = WDCPREFIX . '/' . $file->path . $file->name; } include $_SERVER['DOCUMENT_ROOT'] . '/wizard/registration/steps/tpl.step.project.php'; } else { $project = $this->getProjectById($prj_id); $attached = $this->getProjectAttach($prj_id); include $_SERVER['DOCUMENT_ROOT'] . '/wizard/registration/steps/tpl.step.project.view.php'; } }