get_parms("bas", "qry", "pag" , "sel", "ord" , "search_type", "recordtype", "status", "fields", "datemin", "datemax", "datefield"); if (isset($session->usr_id) && isset($session->ses_id)) { $ses_id = $session->ses_id; $usr_id = $session->usr_id; if (!($ph_session = phrasea_open_session((int) $ses_id, $usr_id))) { header("Location: /login/?err=no-session"); exit(); } } else { $request = httpRequest::getInstance(); if ($request->is_ajax()) { echo _('Votre session est expiree, veuillez vous reconnecter'); } else { header("Location: /login/"); } exit(); } if (!($ph_session = phrasea_open_session($ses_id, $usr_id))) { die(); } if ($parm["ord"] === NULL) $parm["ord"] = PHRASEA_ORDER_DESC; else $parm["ord"] = (int) $parm["ord"]; $parm['sel'] = explode(';', $parm['sel']); if (!$parm['bas']) $parm['bas'] = array(); if (!$parm["pag"] === NULL) $parm["pag"] = "0"; if (trim($parm["qry"]) === '') $parm["qry"] = "all"; $mod = user::getPrefs('view'); $options = array( 'type' => $parm['search_type'], 'bases' => $parm['bas'], 'champs' => $parm['fields'], 'status' => $parm['status'], 'date' => array( 'minbound' => $parm['datemin'], 'maxbound' => $parm['datemax'], 'field' => explode('|', $parm['datefield']) ) ); if ($parm['recordtype'] != '' && in_array($parm['recordtype'], array('image', 'video', 'audio', 'document', 'flash'))) { $parm['qry'] .= ' AND recordtype=' . $parm['recordtype']; } $query = new query($options); $result = $query->results($parm['qry'], $parm["pag"]); //$parm['search_type'], $proposals = trim($parm['pag']) === '' ? $query->proposals() : false; $npages = $result['pages']; $page = $result['current_page']; $string = ''; if ($npages > 1) { $d2top = ($npages - $page); $d2bottom = $page; if (min($d2top, $d2bottom) < 4) { if ($d2bottom < 4) { for ($i = 1; ($i <= 4 && (($i <= $npages) === true)); $i++) { if ($i == $page) $string .= ''; else $string .= "" . $i . ""; } if ($npages > 4) $string .= ">>"; } else { $start = $npages - 4; if (($start) > 0) $string .= "<<"; else $start = 1; for ($i = ($start); $i <= $npages; $i++) { if ($i == $page) $string .= ''; else $string .= "" . $i . ""; } } } else { $string .= "<<"; for ($i = ($page - 2); $i <= ($page + 2); $i++) { if ($i == $page) $string .= ''; else $string .= "" . $i . ""; } $string .= ">>"; } } $string .= '
'; $explain = $result['explain']; $infoResult = ' | ' . sprintf(_('reponses:: %d reponses'), $session->prod['query']['nba']) . ' | ' . sprintf(_('reponses:: %s documents selectionnes'), ''); echo ""; echo ""; $rsScreen = $result['result']; if (count($rsScreen) > 0) { if ($mod == 'thumbs') require("answergrid.php"); else require("answerlist.php"); } else { echo '
'; phrasea::getHome('HELP', 'prod'); echo '
'; } function proposalsToHTML(&$proposals) { $html = "
"; $nbasesWprop = count($proposals["BASES"]); $b = 0; foreach ($proposals["BASES"] as $zbase) { if ((int) (count($zbase["TERMS"]) > 0)) { if (($nbasesWprop > 1)) { $style = $b == 0 ? "style=\"margin-top:0px;\"" : ""; $html .= "" . sprintf(_('reponses::propositions pour la base %s'), $zbase["NAME"]) . ""; } $t = 0; foreach ($zbase["TERMS"] as $path => $props) { $style = $t == 0 ? "style=\"margin-top:0px;\"" : ""; $html .= "

" . sprintf(_('reponses::propositions pour le terme %s'), $props["TERM"]) . "

"; $html .= $props["HTML"]; $t++; } $b++; } } $html .= "
"; return($html); } ?>