Ejemplo n.º 1
0
if ($_SESSION['p_ref']) {
    unset($_SESSION['p_ref']);
}
$prfs = new professions();
$profs = $prfs->GetAllProfessions("", 0, 1);
$uid = get_uid(!$action);
$page = intval($_GET['page']);
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];
Ejemplo n.º 2
0
/**
 * Скрывает или отображает платные проекты.
 *
 * @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;
}
Ejemplo n.º 3
0
 /**
  * Получение списока проектов
  * 
  * @param  array $aParams массив входящих данных
  * @return array $aResult ответ
  */
 protected function x____projects_list($aParams = array())
 {
     $this->_validDevice($aParams);
     require_once ABS_PATH . '/classes/projects_filter.php';
     require_once ABS_PATH . '/classes/projects.php';
     $nUid = get_uid(false);
     $nPage = self::$_aPlatform[$this->_sPlatform]['filter_page'];
     // какой фильтр получать
     $prj_filter = new projects_filters();
     $filter = $prj_filter->GetFilter($nUid, $error, $nPage);
     if (is_array($filter) && $filter && $filter['active'] == 't' && $filter['use_main_filter'] == 't') {
         $filter = $prj_filter->GetFilter($nUid, $error, 0);
     }
     $nKind = intvalPgSql($aParams['kind']);
     $nKind = !empty($nKind) ? $nKind : $this->_mCfg['default_kind'];
     $nPage = intvalPgSql($aParams['page']);
     $nPage = !empty($nPage) ? $nPage : 1;
     $oPrj = new new_projects();
     $oPrj->page_size = $this->_mCfg['items_per_page'];
     if (is_emp()) {
         $aProjects = $oPrj->GetCurPrjs($nUid, '', true, false, $nKind);
         $nPrgCnt = count($aProjects);
     } else {
         $aProjects = $oPrj->getProjects($nPrgCnt, $nKind, $nPage, true, $filter, true, false, NULL, false, NULL, true);
     }
     $aResult = array('projects_list' => array());
     if (is_array($aProjects) && $aProjects) {
         $aItems = array();
         $aIds = array();
         $nCnt = 0;
         foreach ($aProjects as $aOne) {
             $aResult['projects_list'][$nCnt] = $this->_getProjectData($aOne);
             $aItems[$aOne['id']] =& $aResult['projects_list'][$nCnt];
             $aIds[] = $aOne['id'];
             $nCnt++;
         }
         $aSpecs = new_projects::getSpecs($aIds);
         if (is_array($aSpecs) && $aSpecs) {
             foreach ($aSpecs as $aOne) {
                 $aItems[$aOne['project_id']]['category_id'] = $aOne['category_id'];
                 $aItems[$aOne['project_id']]['subcategory_id'] = $aOne['subcategory_id'];
             }
         }
         $aResult['projects_total'] = intval($nPrgCnt);
     }
     return $aResult;
 }