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¶m_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) . " <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; }
<?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);
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¶m_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; }