예제 #1
0
 public function create_ajax_table_facettes()
 {
     global $opac_compare_notice_active;
     global $base_path;
     global $charset;
     global $mode;
     global $msg;
     $arrayFacettesNotClicked = array();
     $facette_plus = array();
     if ($opac_compare_notice_active * 1 == "1") {
         //les parametres nécéssaires
         global $pmb_compare_notice_template;
         global $pmb_compare_notice_nb;
         $facette_compare = new facette_search_compare($pmb_compare_notice_template, $pmb_compare_notice_nb);
     }
     foreach ($this->tab_facettes_opac as $keyFacette => $vTabFacette) {
         $affiche = true;
         foreach ($vTabFacette['value'] as $keyValue => $vLibelle) {
             $clicked = false;
             if (count($_SESSION['facette'])) {
                 foreach ($_SESSION['facette'] as $vSessionFacette) {
                     foreach ($vSessionFacette as $vDetail) {
                         if ($vDetail[2] == $vTabFacette['code_champ'] && $vDetail[3] == $vTabFacette['code_ss_champ'] && in_array($vLibelle, $vDetail[1])) {
                             $clicked = true;
                             break;
                         }
                     }
                 }
             }
             if (!$clicked) {
                 $key = $vTabFacette['name'] . "_" . $this->tab_facettes_record[$keyFacette]['id'];
                 if ($vTabFacette['size_to_display'] != '0') {
                     if (count($arrayFacettesNotClicked[$key]) >= $vTabFacette['size_to_display']) {
                         $tmpArray = array();
                         $tmpArray['see_more'] = true;
                         $arrayFacettesNotClicked[$key][] = $tmpArray;
                         $affiche = false;
                     }
                 }
                 if ($affiche) {
                     $tmpArray = array();
                     $tmpArray['libelle'] = $vLibelle;
                     $tmpArray['code_champ'] = $vTabFacette['code_champ'];
                     $tmpArray['code_ss_champ'] = $vTabFacette['code_ss_champ'];
                     $tmpArray['nb_result'] = $vTabFacette['nb_result'][$keyValue];
                     $arrayFacettesNotClicked[$key][] = $tmpArray;
                 } else {
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['facette'][] = $vLibelle . " " . "(" . $vTabFacette['nb_result'][$keyValue] . ")";
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['value'][] = $vLibelle;
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['nb_result'][] = $vTabFacette['nb_result'][$keyValue];
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['code_champ'] = $vTabFacette['code_champ'];
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['code_ss_champ'] = $vTabFacette['code_ss_champ'];
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['name'] = $vTabFacette['name'];
                     if ($opac_compare_notice_active * 1 == "1") {
                         $id = facette_search_compare::gen_compare_id($vTabFacette['name'], $vLibelle, $vTabFacette['code_champ'], $vTabFacette['code_ss_champ'], $vTabFacette['nb_result'][$keyValue]);
                         if ($facette_compare->facette_compare[$id]) {
                             $facette_compare->set_available_compare($id, true);
                         }
                     }
                 }
             }
         }
     }
     if (count($_SESSION['facette'])) {
         $table_facette_clicked = "<table id='active_facette'>";
         $tr_surbrillance = "onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='" . $pair_impair . "'\" ";
         $n = 0;
         foreach ($_SESSION['facette'] as $k => $v) {
             $n % 2 ? $pair_impair = "odd" : ($pair_impair = "even");
             $n++;
             if (count($_SESSION['facette']) == 1) {
                 $link = "index.php?lvl=more_results&get_last_query=1&reinit_facette=1";
             } else {
                 $link = "index.php?lvl=more_results&mode=extended&facette_test=1&param_delete_facette=" . $k;
             }
             $table_facette_clicked .= "\n\t\t\t\t\t\t<tr class='" . $pair_impair . "' onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='" . $pair_impair . "'\">\n\t\t\t\t\t\t\t<td>";
             $tmp = 0;
             foreach ($v as $vDetail) {
                 foreach ($vDetail[1] as $vDetailLib) {
                     if ($tmp) {
                         $table_facette_clicked .= "<br>";
                     }
                     $table_facette_clicked .= $vDetail[0] . " : " . (substr($vDetailLib, 0, 4) == "msg:" ? $msg[substr($vDetailLib, 4)] : $vDetailLib);
                     $tmp++;
                 }
             }
             $table_facette_clicked .= "\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<a href='" . $link . "'>\n\t\t\t\t\t\t\t\t\t<img src='./images/cross.png'/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>";
         }
         $table_facette_clicked .= "</table>";
     }
     if (count($arrayFacettesNotClicked)) {
         foreach ($arrayFacettesNotClicked as $tmpName => $facette) {
             $flagSeeMore = false;
             $tmpArray = explode("_", $tmpName);
             $idfacette = array_pop($tmpArray);
             $name = implode($tmpArray);
             $currentFacette = current($facette);
             $idGroupBy = facette_search_compare::gen_groupby_id($name, $currentFacette['code_champ'], $currentFacette['code_ss_champ']);
             $groupBy = facette_search_compare::gen_groupby($name, $currentFacette['code_champ'], $currentFacette['code_ss_champ'], $idGroupBy);
             $table_facette .= "<table id='facette_list_" . $idfacette . "'>";
             $table_facette .= "<tr>";
             if ($opac_compare_notice_active * 1 == "1" && count($facette_compare->facette_compare)) {
                 $table_facette .= "\n\t\t\t\t\t\t<th style='width=\"90%\\' onclick='javascript:test(\"facette_list_" . $idfacette . "\");' colspan='2'>\n\t\t\t\t\t\t\t" . htmlentities($name, ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t</th>";
                 $table_facette .= facette_search_compare::get_groupby_row($facette_compare, $groupBy, $idGroupBy);
                 if ($facette_compare->facette_groupby[$idGroupBy]) {
                     $facette_compare->set_available_groupby($idGroupBy, true);
                 }
             } else {
                 $table_facette .= "\n\t\t\t\t\t\t<th onclick='javascript:test(\"facette_list_" . $idfacette . "\");'>\n\t\t\t\t\t\t\t" . htmlentities($name, ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t</th>";
             }
             $table_facette .= "</tr>";
             $j = 0;
             foreach ($facette as $detailFacette) {
                 $link = "./index.php?lvl=more_results&mode=extended&facette_test=1";
                 $link .= "&name=" . rawurlencode($name) . "&value=" . rawurlencode($detailFacette['libelle']) . "&champ=" . $detailFacette['code_champ'] . "&ss_champ=" . $detailFacette['code_ss_champ'] . "";
                 $id = facette_search_compare::gen_compare_id($name, $detailFacette['libelle'], $detailFacette['code_champ'], $detailFacette['code_ss_champ'], $detailFacette['nb_result']);
                 if ($charset != 'utf-8') {
                     $cacValue = json_encode(array(utf8_encode($name), utf8_encode($detailFacette['libelle']), $detailFacette['code_champ'], $detailFacette['code_ss_champ'], $id, $detailFacette['nb_result']));
                 } else {
                     $cacValue = json_encode(array($name, $detailFacette['libelle'], $detailFacette['code_champ'], $detailFacette['code_ss_champ'], $id, $detailFacette['nb_result']));
                 }
                 if (!isset($detailFacette['see_more'])) {
                     if ($opac_compare_notice_active * 1 == "1") {
                         if (!sizeof($facette_compare->facette_compare[$id])) {
                             $onclick = 'select_compare_facette(\'' . htmlentities($cacValue, ENT_QUOTES, $charset) . '\')';
                             $img = 'double_section_arrow_16.png';
                         } else {
                             $facette_compare->set_available_compare($id, true);
                             $onclick = '';
                             $img = 'vide.png';
                         }
                     }
                     $table_facette .= "\n\t\t\t\t\t\t\t<tr style='display: block;'>\n\t\t\t\t\t\t\t\t<td class='facette_col_coche'>\n\t\t\t\t\t\t\t\t\t<span class='facette_coche'>\n\t\t\t\t\t\t\t\t\t\t<input type='checkbox' name='check_facette[]' value='" . htmlentities($cacValue, ENT_QUOTES, $charset) . "'>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td  class='facette_col_info'>\n\t\t\t\t\t\t\t\t\t<a href='" . $link . "'>\n\t\t\t\t\t\t\t\t\t\t<span class='facette_libelle'>\n\t\t\t\t\t\t\t\t\t\t\t" . htmlentities(substr($detailFacette['libelle'], 0, 4) == "msg:" ? $msg[substr($detailFacette['libelle'], 4)] : $detailFacette['libelle'], ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span class='facette_number'>\n\t\t\t\t\t\t\t\t\t\t\t[" . htmlentities($detailFacette['nb_result'], ENT_QUOTES, $charset) . "]\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>";
                     $j++;
                 } elseif (!$flagSeeMore) {
                     $table_facette .= "\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td colspan='3'>\n\t\t\t\t\t\t\t\t\t<a href='javascript:facette_see_more(" . $idfacette . "," . json_encode(pmb_utf8_array_encode($facette_plus[$idfacette]), JSON_HEX_APOS | JSON_HEX_QUOT) . ");'>" . $msg["facette_plus_link"] . "</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>";
                     $flagSeeMore = true;
                 }
             }
             $table_facette .= "</table>";
         }
         $table_facette .= "<input type='hidden' value='' id='filtre_compare_facette' name='filtre_compare'>";
         $table_facette .= "<input class='bouton' type='button' value='" . htmlentities($msg["facette_filtre"], ENT_QUOTES, $charset) . "' name='filtre' onClick='valid_facettes_multi()'>";
         if ($opac_compare_notice_active * 1 == "1") {
             $table_facette .= "<input class='bouton' type='button' value='" . htmlentities($msg["facette_compare"], ENT_QUOTES, $charset) . "' name='compare' onClick='valid_facettes_compare()'>";
         }
     }
     $table = "<form name='facettes_multi' class='facettes_multis' method='POST' action='./index.php?lvl=more_results&mode=extended&facette_test=1'>";
     if (count($_SESSION['facette'])) {
         $table .= "<h3>" . htmlentities($msg['facette_active'], ENT_QUOTES, $charset) . "</h3>" . $table_facette_clicked . "<br/>";
     }
     if ($opac_compare_notice_active * 1 == "1") {
         //Le tableau des critères de comparaisons
         if (count($facette_compare->facette_compare)) {
             $table_compare = $facette_compare->gen_table_compare();
             $table .= "<h3 class='facette_compare_MainTitle'><table><tr><td style='width:90%;'>" . htmlentities($msg['facette_list_compare_crit'], ENT_QUOTES, $charset) . "</td>\n\t\t\t\t<td><a href='{$base_path}/index.php?lvl=more_results&get_last_query=1&reinit_compare=1' class='facette_compare_raz'><img alt='" . htmlentities($msg['facette_compare_reinit'], ENT_QUOTES, $charset) . "' title='" . htmlentities($msg['facette_compare_reinit'], ENT_QUOTES, $charset) . "' width='18px' height='18px' src='{$base_path}/images/cross.png'/></a></td></tr></table>\n\t\t\t\t</h3><table id='facette_compare'>" . $table_compare . "</table><br/>";
             //Le tableau des critères de comparaisons
             if (count($facette_compare->facette_groupby)) {
                 $table_groupby = $facette_compare->gen_table_groupby();
             }
             $table .= "<h3 class='facette_compare_SubTitle'><img id='facette_compare_not_clickable' src='" . get_url_icon('group_by.png') . "'/> " . htmlentities($msg['facette_list_groupby_crit'], ENT_QUOTES, $charset) . "</h3><table id='facette_groupby'>" . $table_groupby . "</table><br/>";
         }
         //le bouton de retour
         if ($_SESSION['filtre_compare'] == 'compare') {
             $table .= "<input type='button' class='bouton backToResults' value='" . htmlentities($msg['facette_compare_search_result'], ENT_QUOTES, $charset) . "' onclick='document.location.href=\"{$base_path}/index.php?lvl=more_results&get_last_query=1\"'/><br /><br />";
         } elseif ($_SESSION['filtre_compare'] != 'compare' && count($facette_compare->facette_compare)) {
             $table .= "<input type='button' class='bouton' value='" . htmlentities($msg['facette_compare_search_compare'], ENT_QUOTES, $charset) . "' onclick='valid_compare();'/><br /><br />";
         }
     }
     if (count($arrayFacettesNotClicked)) {
         if ($opac_compare_notice_active * 1 == "1") {
             $table .= "<div id='facettes_help'></div>";
             $table .= "<h3 class='facette_compare_listTitle'>" . htmlentities($msg['facette_list_compare'], ENT_QUOTES, $charset) . " &nbsp;<img onclick='open_popup(document.getElementById(\"facettes_help\"),\"" . htmlentities($msg['facette_compare_helper_message'], ENT_QUOTES, $charset) . "\");' height='18px' width='18px' title='" . htmlentities($msg['facette_compare_helper'], ENT_QUOTES, $charset) . "' alt='" . htmlentities($msg['facette_compare_helper'], ENT_QUOTES, $charset) . "' src='" . get_url_icon('quest.png') . "'/></h3>" . $table_facette . "<br/>";
         } else {
             $table .= "<h3 class='facette_compare_listTitle'>" . htmlentities($msg['facette_list'], ENT_QUOTES, $charset) . "</h3>" . $table_facette . "<br/>";
         }
     }
     $table .= "</form>";
     return $table;
 }
예제 #2
0
<?php

// +-------------------------------------------------+
// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
// +-------------------------------------------------+
// $Id: tu_form_vedette.inc.php,v 1.2 2015-12-23 10:20:42 ngantier Exp $
if (stristr($_SERVER['REQUEST_URI'], ".inc.php")) {
    die("no access");
}
require_once $class_path . "/vedette/vedette_ui.class.php";
$vedette_ui = new vedette_ui(new vedette_composee(0, 'tu_authors'));
$form = $vedette_ui->get_form($role_field, $index, 'saisie_titre_uniforme');
print pmb_utf8_array_encode($form);
예제 #3
0
 public function create_ajax_table_facettes()
 {
     global $charset;
     global $mode;
     global $msg;
     $arrayFacettesNotClicked = array();
     $facette_plus = array();
     foreach ($this->tab_facettes_opac as $keyFacette => $vTabFacette) {
         $affiche = true;
         foreach ($vTabFacette['value'] as $keyValue => $vLibelle) {
             $clicked = false;
             if (count($_SESSION['facette'])) {
                 foreach ($_SESSION['facette'] as $vSessionFacette) {
                     foreach ($vSessionFacette as $vDetail) {
                         if ($vDetail[2] == $vTabFacette['code_champ'] && $vDetail[3] == $vTabFacette['code_ss_champ'] && in_array($vLibelle, $vDetail[1])) {
                             $clicked = true;
                             break;
                         }
                     }
                 }
             }
             if (!$clicked) {
                 $key = $vTabFacette['name'] . "_" . $this->tab_facettes_record[$keyFacette]['id'];
                 if ($vTabFacette['size_to_display'] != '0') {
                     if (count($arrayFacettesNotClicked[$key]) >= $vTabFacette['size_to_display']) {
                         $tmpArray = array();
                         $tmpArray['see_more'] = true;
                         $arrayFacettesNotClicked[$key][] = $tmpArray;
                         $affiche = false;
                     }
                 }
                 if ($affiche) {
                     $tmpArray = array();
                     $tmpArray['libelle'] = $vLibelle;
                     $tmpArray['code_champ'] = $vTabFacette['code_champ'];
                     $tmpArray['code_ss_champ'] = $vTabFacette['code_ss_champ'];
                     $tmpArray['nb_result'] = $vTabFacette['nb_result'][$keyValue];
                     $arrayFacettesNotClicked[$key][] = $tmpArray;
                 } else {
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['facette'][] = $vLibelle . " " . "(" . $vTabFacette['nb_result'][$keyValue] . ")";
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['value'][] = $vLibelle;
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['nb_result'][] = $vTabFacette['nb_result'][$keyValue];
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['code_champ'] = $vTabFacette['code_champ'];
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['code_ss_champ'] = $vTabFacette['code_ss_champ'];
                     $facette_plus[$this->tab_facettes_record[$keyFacette]['id']]['name'] = $vTabFacette['name'];
                 }
             }
         }
     }
     if (count($_SESSION['facette'])) {
         $table_facette_clicked = "<table id='active_facette'>";
         $tr_surbrillance = "onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='" . $pair_impair . "'\" ";
         $n = 0;
         foreach ($_SESSION['facette'] as $k => $v) {
             $n % 2 ? $pair_impair = "odd" : ($pair_impair = "even");
             $n++;
             if (count($_SESSION['facette']) == 1) {
                 $link = "index.php?lvl=more_results&get_last_query=1&reinit_facette=1";
             } else {
                 $link = "index.php?lvl=more_results&mode=extended&facette_test=1&param_delete_facette=" . $k;
             }
             $table_facette_clicked .= "\n\t\t\t\t\t\t<tr class='" . $pair_impair . "' onmouseover=\"this.className='surbrillance'\" onmouseout=\"this.className='" . $pair_impair . "'\">\n\t\t\t\t\t\t\t<td>";
             $tmp = 0;
             foreach ($v as $vDetail) {
                 foreach ($vDetail[1] as $vDetailLib) {
                     if ($tmp) {
                         $table_facette_clicked .= "<br>";
                     }
                     $table_facette_clicked .= $vDetail[0] . " : " . $vDetailLib;
                     $tmp++;
                 }
             }
             $table_facette_clicked .= "\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<a href='" . $link . "'>\n\t\t\t\t\t\t\t\t\t<img src='./images/cross.png'/>\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>";
         }
         $table_facette_clicked .= "</table>";
     }
     if (count($arrayFacettesNotClicked)) {
         $table_facette .= "<form name='facettes_multi' method='POST' action='./index.php?lvl=more_results&mode=extended&facette_test=1'>";
         foreach ($arrayFacettesNotClicked as $tmpName => $facette) {
             $flagSeeMore = false;
             $tmpArray = explode("_", $tmpName);
             $idfacette = array_pop($tmpArray);
             $name = implode($tmpArray);
             $table_facette .= "<table id='facette_list_" . $idfacette . "'>";
             $table_facette .= "\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<th onclick='javascript:test(this);' colspan='2'>\n\t\t\t\t\t\t\t" . htmlentities($name, ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</tr>";
             $j = 0;
             foreach ($facette as $detailFacette) {
                 $link = "./index.php?lvl=more_results&mode=extended&facette_test=1";
                 $link .= "&name=" . rawurlencode($name) . "&value=" . rawurlencode($detailFacette['libelle']) . "&champ=" . $detailFacette['code_champ'] . "&ss_champ=" . $detailFacette['code_ss_champ'] . "";
                 if ($charset != 'utf-8') {
                     $cacValue = json_encode(array(utf8_encode($name), utf8_encode($detailFacette['libelle']), $detailFacette['code_champ'], $detailFacette['code_ss_champ']));
                 } else {
                     $cacValue = json_encode(array($name, $detailFacette['libelle'], $detailFacette['code_champ'], $detailFacette['code_ss_champ']));
                 }
                 if (!isset($detailFacette['see_more'])) {
                     $table_facette .= "\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td class='facette_col_coche'>\n\t\t\t\t\t\t\t\t\t<span class='facette_coche'>\n\t\t\t\t\t\t\t\t\t\t<input type='checkbox' name='check_facette[]' value='" . htmlentities($cacValue, ENT_QUOTES, $charset) . "'>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t<td  class='facette_col_info'>\n\t\t\t\t\t\t\t\t\t<a href='" . $link . "'>\n\t\t\t\t\t\t\t\t\t\t<span class='facette_libelle'>\n\t\t\t\t\t\t\t\t\t\t\t" . htmlentities($detailFacette['libelle'], ENT_QUOTES, $charset) . "\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span class='facette_number'>\n\t\t\t\t\t\t\t\t\t\t\t[" . htmlentities($detailFacette['nb_result'], ENT_QUOTES, $charset) . "]\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>";
                     $j++;
                 } elseif (!$flagSeeMore) {
                     $table_facette .= "\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td colspan='2'>\n\t\t\t\t\t\t\t\t\t<a href='javascript:facette_see_more(" . $idfacette . "," . json_encode(pmb_utf8_array_encode($facette_plus[$idfacette]), JSON_HEX_APOS | JSON_HEX_QUOT) . ");'>" . $msg["facette_plus_link"] . "</a>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>";
                     $flagSeeMore = true;
                 }
             }
             $table_facette .= "</table>";
         }
         $table_facette .= "<input class='bouton' type='button' value='" . $msg["facette_filtre"] . "' name='filtre' onClick='valid_facettes_multi()'>";
         $table_facette .= "</form>";
     }
     $table = "";
     if (count($_SESSION['facette'])) {
         $table .= "<h3>" . $msg['facette_active'] . "</h3>" . $table_facette_clicked . "<br/>";
     }
     if (count($arrayFacettesNotClicked)) {
         $table .= "<h3>" . $msg['facette_list'] . "</h3>" . $table_facette . "<br/>";
     }
     return $table;
 }