예제 #1
0
 function show_form($param = '')
 {
     global $msg, $pmb_lecteurs_localises, $empr_sort_rows, $empr_show_rows, $empr_filter_rows, $deflt2docs_location;
     //		//paramètres pré-enregistré
     //		$lst_opt = array();
     //		if ($param['chk_loan']) {
     //			foreach ($param['chk_loan'] as $elem) {
     //				$lst_opt[$elem] = $elem;
     //			}
     //		}
     //		$loc_selected = ($param["empr_location_id"] ? $param["empr_location_id"] : "");
     //Automatisation sur les prêts
     $form_task .= "\n\t\t<div class='row'>\n\t\t\t<div class='colonne3'>\n\t\t\t\t<label for='loan'>" . $this->msg["planificateur_loan_generate"] . "</label>\n\t\t\t</div>\n\t\t\t<div class='colonne_suite'>\n\t\t\t\t<input type='radio' name='chk_loan' value='" . LOAN_ALL_ACTIONS . "' " . ($param["chk_loan"] == LOAN_ALL_ACTIONS ? "checked" : "") . "/>" . $this->msg["loan_all_actions"] . "\n\t\t\t\t<br /><input type='radio' name='chk_loan' value='" . LOAN_PRINT_MAIL . "' " . ($param["chk_loan"] == LOAN_PRINT_MAIL || !$param["chk_loan"] ? "checked" : "") . "/>" . $this->msg["loan_print_mail"] . "\n\t\t\t\t<br /><input type='radio' name='chk_loan' value='" . LOAN_CSV_MAIL . "' " . ($param["chk_loan"] == LOAN_CSV_MAIL ? "checked" : "") . "/>" . $this->msg["loan_csv_mail"] . "\n\t\t\t</div>\n\t\t</div>\n\t\t<div class='row'>&nbsp;</div>";
     if ($empr_sort_rows || $empr_show_rows || $empr_filter_rows) {
         if ($pmb_lecteurs_localises) {
             $localisation = ",l";
         }
         $filter = new filter_list("empr", "empr_list", "b,n,c,g", "b,n,c,g" . $localisation . ",2,3,cs", "n,g");
         if ($pmb_lecteurs_localises) {
             $lo = "f" . $filter->fixedfields["l"]["ID"];
             global ${$lo};
             if (!${$lo}) {
                 $tableau = array();
                 $tableau[0] = $deflt2docs_location;
                 ${$lo} = $tableau;
             }
         }
         $filter->fixedcolumns = "b,n,c";
         $filter->original_query = $requete;
         $filter->multiple = 1;
         $filter->select_original = "table_filter_tempo.empr_nb,empr_mail";
         $filter->original_query = "select id_empr,count(pret_idexpl) as empr_nb from empr,pret where pret_retour<now() and pret_idempr=id_empr group by empr.id_empr";
         $filter->from_original = "";
         $filter->activate_filters();
         if (!$filter->error) {
             $t_filters = explode(",", $filter->filtercolumns);
             foreach ($t_filters as $i => $f) {
                 if (substr($s[$i], 0, 1) == "#" && $filter->params["REFERENCE"][0]["DYNAMICFIELDS"] == "yes") {
                     //Faut-il adapter les champs perso ??
                 } elseif (array_key_exists($t_filters[$i], $filter->fixedfields)) {
                     $filters_selectors = "f" . $filter->fixedfields[$f]["ID"];
                 } else {
                     $filters_selectors = "f" . $filter->specialfields[$f]["ID"];
                 }
                 global ${$filters_selectors};
                 if ($param[$filters_selectors]) {
                     $tableau = array();
                     foreach ($param[$filters_selectors] as $categ) {
                         $tableau[$categ] = $categ;
                     }
                     ${$filters_selectors} = $tableau;
                 }
             }
             $form_task .= "<div class='row'>\n\t\t\t\t<div class='colonne3'>\n\t\t\t\t\t<label for='loan'>" . $this->msg["planificateur_loan_filters"] . "</label>\n\t\t\t\t</div>\n\t\t\t\t<div class='colonne_suite'>\n\t\t\t\t\t" . $filter->display_filters() . "\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class='row'>&nbsp;</div>";
             $t_sort = explode(",", $filter->sortablecolumns);
             //parcours des selecteurs de tris
             for ($j = 0; $j <= count($t_sort) - 1; $j++) {
                 $sort_selector = "sort_list_" . $j;
                 global ${$sort_selector};
                 if ($param[$sort_selector]) {
                     ${$sort_selector} = $param[$sort_selector];
                 }
             }
             $form_task .= "<div class='row'>\n\t\t\t\t<div class='colonne3'>\n\t\t\t\t\t<label for='loan'>" . $this->msg["planificateur_loan_tris"] . "</label>\n\t\t\t\t</div>\n\t\t\t\t<div class='colonne_suite'>\n\t\t\t\t\t" . $filter->display_sort() . "\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class='row'>&nbsp;</div>";
         } else {
             $form_task .= $filter->error_message;
         }
     }
     return $form_task;
 }
예제 #2
0
 $t = array();
 $t["table"] = "";
 $t["row_even"] = "even";
 $t["row_odd"] = "odd";
 $t["cols"][0] = "";
 $filter->css = $t;
 $filter->select_original = "table_filter_tempo.empr_nb,empr_mail";
 $filter->original_query = "select id_empr,count(pret_idexpl) as empr_nb from empr,pret where pret_retour<CURDATE() and pret_idempr=id_empr group by empr.id_empr";
 $filter->from_original = "";
 $filter->activate_filters();
 if (!$filter->error) {
     $aff_filters = "<script type='text/javascript' src='./javascript/tablist.js'></script><form class='form-{$current_module}' id='form_filters' name='form_filters' method='post' action='" . $PHP_SELF . "?categ=relance&sub=todo'><h3>" . $msg["filters_tris"] . "</h3>";
     $aff_filters .= "<div class='form-contenu'><div id=\"el1Parent\" class=\"notice-parent\"><img src=\"./images/plus.gif\" name=\"imEx\" class=\"img_plus\" id=\"el1Img\" title=\"" . $msg['admin_param_detail'] . "\" border=\"0\" onClick=\"expandBase('el1', true); return false;\">\n   \t\t\t\t\t\t\t\t<b>" . $msg["filters"] . "</b></div>\n\t\t\t\t\t\t<div id=\"el1Child\" style=\"margin-left:7px;display:none;\">";
     $aff_filters .= $filter->display_filters();
     $aff_filters .= "</div><div class='row'></div><div id=\"el2Parent\" class=\"notice-parent\"><img src=\"./images/plus.gif\" name=\"imEx\" class=\"img_plus\" id=\"el2Img\" title=\"" . $msg['admin_param_detail'] . "\" border=\"0\" onClick=\"expandBase('el2', true); return false;\">\n\t\t\t\t\t\t\t<b>" . $msg["tris_dispos"] . "</b></div>\n\t\t\t\t\t\t\t<div id=\"el2Child\" style=\"margin-left:7px;display:none;\">";
     $aff_filters .= $filter->display_sort();
     $aff_filters .= "</div></div><div class='row'></div><input type='submit' class='bouton' value='" . $msg["empr_sort_filter_button"] . "'></form>";
     $aff_filters .= $filter->make_human_filters();
     $aff_filters .= "<script>\n\t\t\t\t\t\tfunction envoi() {\n\t\t\t\t\t\t\tvar formulaire=document.form_filters;\n\t\t\t\t\t\t\tvar j=0;\n\t\t\t\t\t\t\tfor (i=0;i<formulaire.elements.length;i++) {\n\t\t\t\t\t\t\t\tvar values=new Array();\n\t\t\t\t\t\t\t\tif (formulaire.elements[i].type=='select-multiple') {\n\t\t\t\t\t\t\t\t\tfor (j=0; j<formulaire.elements[i].options.length; j++) {\n\t\t\t\t\t\t\t\t\t\tif (formulaire.elements[i].options[j].selected) {\n\t\t\t\t\t\t\t\t\t\t\tvalues[values.length]=formulaire.elements[i].options[j].value;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} else values[0]=formulaire.elements[i].value;\n\t\t\t\t\t\t\t\tif (values.length) {\n\t\t\t\t\t\t\t\t\tfor (j=0; j<values.length; j++) {\n\t\t\t\t\t\t\t\t\t\tvar nouvelelement=document.createElement('input');\n\t\t\t\t\t\t\t\t\t\tnouvelelement.setAttribute('type','hidden');\n\t\t\t\t\t\t\t\t\t\tnouvelelement.setAttribute('name',formulaire.elements[i].name);\n\t\t\t\t\t\t\t\t\t\tnouvelelement.value=values[j];\n\t\t\t\t\t\t\t\t\t\tdocument.relance_action.appendChild(nouvelelement);\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdocument.relance_action.submit();\n\t\t\t\t\t\t}\n\t\t\t\t\t</script>";
     print $aff_filters;
     if ($all_level) {
         $pos = strpos($filter->query, "where");
         $requete = substr($filter->query, 0, $pos + 6);
         $requete .= $filter->params["REFERENCE"][0][value] . "." . $filter->params["REFERENCEKEY"][0][value] . " in (" . implode(",", array_keys($all_level)) . ") and ";
         $requete .= substr($filter->query, $pos + 6, strlen($filter->query) - ($pos + 6));
     } else {
         $requete = $filter->query;
     }
     $colonnes = $filter->display_columns();
     $script = "envoi();";
 } else {