get_session();
$registry = $appbox->get_registry();
$user = User_Adapter::getInstance($session->get_usr_id(), $appbox);
$lng = Session_Handler::get_locale();
$ses_id = $session->get_ses_id();
$usr_id = $session->get_usr_id();
if (!isset($parm))
{
$request = http_request::getInstance();
$parm = $request->get_parms("mod", "bas"
, "pag"
, "qry", "search_type", "recordtype"
, "qryAdv", 'opAdv', 'status', 'datemin', 'datemax'
, 'dateminfield', 'datemaxfield'
, 'datefield'
, 'sort'
, 'stemme'
, 'infield'
, "nba"
, "regroup" // si rech par doc, regroup ,ou pizza
, "ord"
);
}
$qry = '';
if (trim($parm['qry']) != '')
{
$qry .= trim($parm['qry']);
}
if (count($parm['opAdv']) > 0 && count($parm['opAdv']) == count($parm['qryAdv']))
{
foreach ($parm['opAdv'] as $opId => $op)
{
if (trim($parm['qryAdv'][$opId]) != '')
{
if ($qry == trim($parm['qry']))
$qry = '(' . trim($parm['qry']) . ')';
$qry .= ' ' . $op . ' (' . trim($parm['qryAdv'][$opId]) . ')';
}
}
}
if ($qry == '')
$qry = 'all';
$parm['qry'] = $qry;
$qrySbas = array();
if (is_null($parm['bas']))
{
echo 'vous devez selectionner des collections dans lesquelles chercher';
return;
}
if (!$parm["mod"])
$parm["mod"] = "3X6";
$mod = explode("X", $parm["mod"]);
if (count($mod) == 1)
{
$mod_row = (int) ($mod[0]);
$mod_col = 1;
}
else
{
$mod_row = (int) ($mod[0]);
$mod_col = (int) ($mod[1]);
}
$mod_xy = $mod_col * $mod_row;
$tbases = array();
$options = new searchEngine_options();
$options->set_bases($parm['bas'], $user->ACL());
if (!is_array($parm['infield']))
$parm['infield'] = array();
$options->set_fields($parm['infield']);
if (!is_array($parm['status']))
$parm['status'] = array();
$options->set_status($parm['status']);
$options->set_search_type($parm['search_type']);
$options->set_record_type($parm['recordtype']);
$options->set_min_date($parm['datemin']);
$options->set_max_date($parm['datemax']);
$options->set_date_fields(explode('|', $parm['datefield']));
$options->set_sort($parm['sort'], $parm['ord']);
$options->set_use_stemming($parm['stemme']);
if ($parm['ord'] === NULL)
$parm['ord'] = PHRASEA_ORDER_DESC;
else
$parm['ord'] = (int) $parm['ord'];
$form = serialize($options);
$perPage = (int) $user->getPrefs('images_per_page');
$search_engine = new searchEngine_adapter($registry);
$search_engine->set_options($options);
if ($parm['pag'] < 1)
{
$search_engine->set_is_first_page(true);
$search_engine->reset_cache();
$parm['pag'] = 1;
}
$result = $search_engine->query_per_page($parm['qry'], $parm["pag"], $perPage);
$proposals = $search_engine->is_first_page() ? $result->get_propositions() : false;
$npages = $result->get_total_pages();
$page = $result->get_current_page();
$ACL = $user->ACL();
if ($registry->get('GV_thesaurus'))
{
?>
$("#history").empty().append("' . str_replace('"', '\"', $history) . '")';
$nbanswers = $result->get_count_available_results();
$longueur = strlen($parm['qry']);
$qrys = '
' . _('client::answers: rapport de questions par bases') . '
';
foreach ($qrySbas as $sbas => $qryBas)
$qrys .= '' . phrasea::sbas_names($sbas) . '
' . $qryBas . '
';
$txt = "" . substr($parm['qry'], 0, 36) . ($longueur > 36 ? "..." : "") . "" . sprintf(_('client::answers: %d reponses'), (int) $nbanswers) . " ";
?>
get_total_pages();
$pages = '';
$ecart = 3;
$max = (2 * $ecart) + 3;
if ($npages > $max)
{
for ($p = 0; $p < $npages; $p++)
{
if ($p == $page)
$pages .= '' . ($p + 1) . '';
elseif (( $p >= ($page - $ecart) ) && ( $p <= ($page + $ecart) ))
$pages .= '' . ($p + 1) . '';
elseif (($page < ($ecart + 2)) && ($p < ($max - $ecart + 2) )) // si je suis dans les premieres pages ...
$pages .= '' . ($p + 1) . '';
elseif (($page >= ($npages - $ecart - 2)) && ($p >= ($npages - (2 * $ecart) - 2) )) // si je suis dans les dernieres pages ...
$pages .= '' . ($p + 1) . '';
elseif ($p == ($npages - 1)) // c"est la derniere
$pages .= '...' . ($p + 1) . '';
elseif ($p == 0) // c"est la premiere
$pages .= '' . ($p + 1) . '...';
if (($p == $page)
|| ( ( $p >= ($page - $ecart) ) && ( $p <= ($page + $ecart) ))
|| ( ($page < ($ecart + 2)) && ($p < ($max - $ecart + 2) ) )
|| ( ($page >= ($npages - $ecart - 2)) && ($p >= ($npages - (2 * $ecart) - 2) ) )
|| ( $p == 0)
)
$pages .= ' - ';
}
}
else
{
for ($p = 0; $p < $npages; $p++)
{
if ($p == $page)
$pages .= '' . ($p + 1) . '';
else
$pages .= '' . ($p + 1) . '';
if ($p + 1 < $npages)
$pages .= ' - ';
}
}
$string2 = $pages . '';
?>
get_datas();
$i = 0;
if (count($result->get_datas()) > 0)
{
?> | |
|
addFilter(array('formatoctet'=>'p4string::format_octets'));
foreach ($result->get_datas() as $record)
{
/* @var $record record_adapter */
$base_id = $record->get_base_id();
$sbas_id = $record->get_sbas_id();
$thumbnail = $record->get_thumbnail();
$docType = $record->get_type();
$title = $record->get_title();
$light_info = $twig->render('common/technical_datas.twig', array('record' => $record));
$caption = $twig->render('common/caption.html', array('view' => 'answer', 'record' => $record));
if ($i == 0)
{
?>|
|
|
|
';
$status .= $record->get_status_icons();
$status .= ' ';
echo $status;
$isVideo = ($docType == 'video');
$isAudio = ($docType == 'audio');
$isImage = ($docType == 'image');
$isDocument = ($docType == 'document');
$sd = $record->get_subdefs();
$isImage = false;
$isDocument = false;
if (!$isVideo && !$isAudio)
{
$isImage = true;
}
?>get_formated_duration();
if ($duration != '')
echo ' ' . $duration . ' ';
}
if ($isAudio)
{
$duration = $record->get_formated_duration();
if ($duration != '')
echo '' . $duration . ' ';
}
$onclick = "";
if ($record->is_grouping())
{
$onclick = 'openPreview(\'REG\',0,\'' . $sbas_id . '_' . $record->get_record_id() . '\');';
}
else
{
$onclick = 'openPreview(\'RESULT\',' . $record->get_number() . ');';
}
if ($mod_col == '1')
$pic_roll = '/prod/tooltip/preview/'.$record->get_sbas_id().'/'.$record->get_record_id().'/';
else
$pic_roll = '/prod/tooltip/caption/'.$record->get_sbas_id().'/'.$record->get_record_id().'/answer/';
$pic_roll = str_replace(array('&', '"'), array('&', '"'), $pic_roll);
?>
|
' . collection::getLogo($record->get_base_id());
$minilogos .= ' ';
$sbas_id = $record->get_sbas_id();
echo $minilogos;
if (
$ACL->has_right_on_base($record->get_base_id(), 'candwnldpreview') ||
$ACL->has_right_on_base($record->get_base_id(), 'candwnldhd') ||
$ACL->has_right_on_base($record->get_base_id(), 'cancmd')
)
{
?>
has_right_on_base($record->get_base_id(), "canputinalbum"))
{
?>
get_preview()->is_physically_present())
{
?>
| |
';
$b = true;
foreach ($proposals["BASES"] as $zbase)
{
if ((int) (count($proposals["BASES"]) > 1) && count($zbase["TERMS"]) > 0)
{
$style = $b ? 'style="margin-top:0px;"' : '';
$b = false;
$html .= "" . sprintf(_('reponses::propositions pour la base %s'), htmlentities($zbase["NAME"])) . "
";
}
$t = true;
foreach ($zbase["TERMS"] as $path => $props)
{
$style = $t ? 'style="margin-top:0px;"' : '';
$t = false;
$html .= "" . sprintf(_('reponses::propositions pour le terme %s'), htmlentities($props["TERM"])) . "
";
$html .= $props["HTML"];
}
}
$html .= '';
return($html);
}