/** * Скрывает или отображает платные проекты. * * @see projects_filter::ShowClosedProjects() * @see projects_filter::initClosedProjects() * * @param string $id id определенного или all для всех * @param string $type скрыть (hide) или показать (unhide) * @param int $kind тип текущей закладки главной страницы (см. new_projects::getProjects()) * @param int $page номер текущей страницы. * @param bool $filter включен ли фильтр у юзера. * * @return object xajaxResponse */ function HideProject($id, $type, $kind, $page, $filter) { session_start(); $objResponse = new xajaxResponse(); $all = $id == 'all'; $id = (int) $id; $uid = $_SESSION['uid']; if ($type == 'hide') { if ($all) { if ($tops = new_projects::getTopProjects()) { foreach ($tops as $t) { $_SESSION['ph'][$t['id']] = base64_encode($t['name']); $objResponse->assign("project-item{$t['id']}", 'outerHTML', ''); } } $nDH = $nH * count($_SESSION['ph']); unset($_SESSION['top_payed']); } else { $nDH = $nH; $_SESSION['ph'][$id] = base64_encode(projects::GetField($id, 'name')); $_SESSION['top_payed']--; $objResponse->assign("project-item{$id}", 'outerHTML', ''); } } else { if ($all && $_SESSION['ph']) { $nDH = -1 * $nH * count($_SESSION['ph']); unset($_SESSION['ph']); } else { $nDH = -1 * $nH; unset($_SESSION['ph'][$id]); if (!$_SESSION['ph']) { unset($_SESSION['ph']); } } if ($filter) { $prj_filter = new projects_filters(); $uf = $prj_filter->GetFilter($uid, $error); } $prj = new new_projects(); $content = $prj->SearchDB((int) $kind, (int) $page, 0, $uf, true); $objResponse->assign("projects-list", "innerHTML", $content); } if ($_SESSION['ph']) { $ccph = array_keys($_SESSION['ph']); } setcookie("ph[{$uid}]", $ccph ? implode(',', $ccph) : '', time() + 60 * 60 * 24 * 30, '/'); $content = projects_filters::ShowClosedProjects((int) $kind, (int) $page, (int) $filter); $objResponse->assign("flt-hide-content", "innerHTML", $content); $objResponse->assign("flt-hide-cnt", "innerHTML", sizeof($_SESSION['ph']) ? "(" . sizeof($_SESSION['ph']) . ")" : ""); // компенсируем изменение высоты блока скрытых проектов $objResponse->script("height=\$('flt-hide-content').getStyle('height').toInt()+'px';\$('flt-hide-content').getParent().setStyle('height', height);\n fbox=\$('flt-ph');fslider=new Fx.Slide(fbox.getElement('.flt-cnt'),{duration:400});\n fbox.f_isShw=fbox.hasClass('flt-show');fbox.getElement('.flt-cnt').setStyle('display','block');\n if(fbox.f_isShw){fslider.show();}else{fslider.hide();}"); return $objResponse; }
if ($page < 1) { $page = 1; $bPageDefault = true; } // фильтр, этот фильтр не подключаем в ПДА if (!$PDA) { if ($kind != 8) { $prj_filter = new projects_filters(); $filter = $prj_filter->GetFilter($uid, $error, $filter_page); GaJsHelper::getInstance()->setProjectsFilterCategory($filter['categories']); adriver::getInstance()->setProjectsFilterCategory($filter['categories']); $filter['state'] = 0; $filter_apply = $filter['active'] == "t"; // проекты $prj = new new_projects(); $prj_content = $prj->SearchDB($kind, $page, $filter || is_emp() || hasPermissions('projects') ? 0 : 1, $filter, false, true); //echo $prj_content;die; $prj_pos = strpos($prj_content, '<!--data_found-->'); } else { $filter_page = $kind * 10; $filter_params = array('kind' => isset($_GET['kind']) ? intval($_GET['kind']) : intval($_POST['kind'])); // Развернутость / свернутость фильтра. if (isset($_COOKIE['new_pf' . $filter_page])) { $filter_show = $_COOKIE['new_pf' . $filter_page]; } else { $filter_show = 0; setcookie("new_pf" . $filter_page, $filter_show, time() + 60 * 60 * 24 * 30, "/"); } $offers_filter = new offers_filter(); $filter = $offers_filter->GetFilter($uid); $filter_apply = $filter['active'] == "t";