Exemple #1
0
function searchProject($string, $categories, $page = 1, $type_loading = 1)
{
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/search/search.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
    require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/professions.php';
    $objResponse = new xajaxResponse();
    if (!$string) {
        $string = '';
    }
    $limit_project = 10;
    if ($type_loading == 0) {
        $filter['active'] = 't';
        $filter['my_specs'] = 'f';
        if ($categories[0] != '-1') {
            $filter['categories'][0] = array($categories[0] => '0');
            if ($categories[1] != '-1') {
                unset($filter['categories'][0]);
                $filter['categories'][1] = array($categories[1] => '1');
            }
        }
        $project = new new_projects();
        $project->page_size = $limit_project;
        $projects = $project->getProjects($total, -1, $page, false, $filter, true, false, null, true);
    } else {
        $_SESSION['search_tab_active'] = 'projects';
        $search = new search(false);
        $search->setUserLimit($limit_project);
        $search->addElement('projects', true, $limit_project);
        $filter['active'] = 't';
        $filter['my_specs'] = 'f';
        if ($categories[0] != '-1') {
            $filter['categories'][0] = array($categories[0] => '0');
            if ($categories[1] != '-1') {
                unset($filter['categories'][0]);
                $filter['categories'][1] = array($categories[1] => '1');
            }
        } else {
            $filter['categories'] = null;
        }
        $filter['is_closed_contest'] = true;
        $search->search($string, $page, $filter);
        $element = $search->getElements();
        $total = $element['projects']->total;
        $projects = $element['projects']->results;
    }
    $max_page = ceil($total / $limit_project);
    $next_page = $page + 1;
    if ($projects) {
        if ($page > 1) {
            $dont_show_hint = true;
        }
        ob_start();
        include $_SERVER['DOCUMENT_ROOT'] . '/wizard/registration/steps/tpl.step.search.project.php';
        $html = ob_get_clean();
        $objResponse->script("\$('project_search_hint').show()");
    } else {
        $html = 'Совпадений не найдено';
        $objResponse->script("\$('project_search_hint').hide()");
    }
    if ($next_page > $max_page) {
        $objResponse->script("\$('load_project').getElement('.b-button').addClass('b-button_disabled')");
    } else {
        $objResponse->script("\$('load_project').getElement('.b-button').removeClass('b-button_disabled')");
        $objResponse->assign('page-search', 'value', $next_page);
    }
    if ($page > 1) {
        $objResponse->assign('project_loader_content', 'innerHTML', $html);
        $objResponse->script("var html = new Element('span', {html:\$('project_loader_content').get('html')});\n                              \$('project_content').adopt(html);");
        $objResponse->assign('project_loader_content', 'innerHTML', '');
    } else {
        $objResponse->assign('project_content', 'innerHTML', $html);
    }
    return $objResponse;
}
Exemple #2
0
if (!$type) {
    $_SESSION['search_string'] = '';
}
$_SESSION['search_string'] = isset($_POST['search_string']) || $action == 'search' ? base64_encode(html_entity_decode(stripslashes(trim($pss)), ENT_QUOTES)) : $_SESSION['search_string'];
if (isset($_POST['search_elms']) && is_array($_POST['search_elms'])) {
    $search_elms = array();
    foreach ($_POST['search_elms'] as $search_elm => $total) {
        if (in_array($search_elm, array('projects', 'users', 'works', 'messages', 'commune', 'notes'))) {
            $search_elms[$search_elm] = abs(intval($total));
        }
    }
    $_SESSION['search_elms'] = $search_elms;
}
$search_string = trim(base64_decode($_SESSION['search_string']) . ' ' . $_SESSION['string_professions']);
$search = new search($uid);
$search->setUserLimit($set_usr_limit);
foreach ($_SESSION['search_elms'] as $key => $total) {
    $search->addElement($key, true, $set_usr_limit);
}
if ($type == 'all') {
    $action = 'search';
}
if (!$page) {
    $page = 1;
    $bPageDefault = true;
}
if ($_POST['action']) {
    $action = $_POST['action'];
}
if (isset($_SESSION['search_advanced'][$type]) && $action == 'view') {
    $action = 'view_advanced';