setDbConf( $GLOBALS['db_admin']['type'], $GLOBALS['db_admin']['db'], $GLOBALS['db_admin']['user'], $GLOBALS['db_admin']['pwd'], $GLOBALS['db_admin']['host'] ); $r = $GLOBALS['db_admin']['man']->connect(); if($r!==true) die("ERREUR : impossible de se connecter à la base de donnée '".$GLOBALS['db_admin']['db']."' ! (".$r.")"); } $GLOBALS['racine'] = 'legumes.php'; $GLOBALS['smarty']->assign('page','legumes'); $GLOBALS['smarty']->assign('secondbar','legumes/legumes_secondbar.tpl'); include_once(FUNCTIONS_DIR_PATH.'functions_paniers_groupes.php'); include_once(FUNCTIONS_DIR_PATH.'functions_legumes.php'); $action = false; if(isset($_REQUEST['action'])) $action = strval( $_REQUEST['action'] ); if(isset($_REQUEST["ref"]) && (int)$_REQUEST["ref"]>0 && $action) { $id = intval($_REQUEST["ref"]); $infos = getLegumeDatas($id); switch($action) { // AJAX GET DATAS case "getDatas": die(json_encode($infos)); break; // AJAX GET TARIF case "getTarif": { $groupe = false; if(isset($_REQUEST['groupe']) && (int)$_REQUEST['groupe']>0) $groupe = intval($_REQUEST['groupe']); $date = false; if(isset($_REQUEST['date']) && isValidDate($_REQUEST['date'], "mysql_date")) $date = $_REQUEST['date']; $t = getLegumeTarif($id, $groupe, $date, false); die(json_encode($t)); } break; // EDIT case "edit": { $datas = getLegumeDatasFromRequest(); // TARIFS foreach($datas["tarifs"] as $t) { // ADD if($t['ref'] == "new") { $t['legume'] = $id; $r = addLegumeTarif($t); if(!(int)$r>0) die("ERREUR : une errreur est survenue durant l'enregistrement du nouveau tarif du légume. ($r)"); } // DELETE else if((int)$t['ref']>0 && (int)$t['del']>0) { $r = eraseLegumeTarif(intval($t['ref'])); if(!(int)$r>0) die("ERREUR : une errreur est survenue durant la suppression du tarif du légume. ($r)"); } // UPDATE else if((int)$t['ref']>0) { $r = updateLegumeTarif(intval($t['ref']), $t); if(!(int)$r>0) die("ERREUR : une errreur est survenue durant la mise à jour du tarif du légume. ($r)"); } } die( strval( updateLegume($id,$datas) ) ); } break; // DELETE case "delete" : die( strval( deleteLegume($id) ) ); break; // DEFAULT default: die("NO ACTION"); } } switch($action) { // ADD case "add": { $datas = getLegumeDatasFromRequest(); $r = addLegume($datas); if((int)$r>0) { $id = $r; // TARIFS foreach($datas["tarifs"] as $t) { if($t['ref'] == "new") { $t['legume'] = $id; $r = addLegumeTarif($t); if(!(int)$r>0) die("ERREUR : une errreur est survenue durant l'enregistrement du tarif du légume. ($r)"); } } die( (string)$id ); } else die($r); } break; // DELETE TARIF case "deleteTarif": { if(!isset($_REQUEST['tarif']) || !(int)$_REQUEST['tarif']>0) die("NO ID !"); die( strval( deleteLegumeTarif(intval($_REQUEST['tarif'])) ) ); break; } break; // AUTOCOMPLETE LIST case "autocomplete_list": die( json_encode( getLegumesAutocompleteList() ) ); break; // DEFAULT - LIST default: { // PRINT $print = isset($_REQUEST["action"]) && $_REQUEST["action"]=="printList"; // SEARCH $search = getSearch("legumes_search"); // LIMITS if($print) $limits = false; else { $limits = array("start" => 0, "end" => LIST_NB_LIGNES_PAR_PAGE, "nbItemsByPage" => LIST_NB_LIGNES_PAR_PAGE, "max" => getNbLegumesInList($search)); if(isset($_REQUEST['startListAt']) && (int)$_REQUEST['startListAt']>0) { $limits['start'] = intval($_REQUEST['startListAt']); $limits['end'] = $limits['start'] + $limits['nbItemsByPage']; if($limits['end'] > $limits['max']) $limits['end'] = $limits['max']; } $limits['rest'] = $limits['max'] - $limits['end']; $GLOBALS['smarty'] -> assign('list_limits',$limits); } // LIST $grps = getPaniersGroupesList(); $groupes = array(); foreach($grps as $g) { $g["tarif"] = "tarif_".$g['ref']; $g["date"] = "date_".$g['ref']; $groupes[] = $g; $allowLegumesListOrder[ $g["tarif"] ] = "tarif ".$g['nom']; $allowLegumesListOrder[ $g["date"] ] = "date ".$g['nom']; } $GLOBALS['smarty'] -> assign('groupes',$groupes); $order = getListOrder('legumes_list_order', 'legumes_list_sens', $allowLegumesListOrder, 'prenom'); $list = getLegumesList($order["order"], $order["sens"], $search, $limits); $GLOBALS['smarty'] -> assign('list',$list); // LIST PART if(isset($_REQUEST['startListAt']) && (int)$_REQUEST['startListAt']>0) { $limits["list"] = $GLOBALS['smarty']->fetch("legumes/legumes_list_builder.tpl"); die(json_encode($limits)); } // PRINT else if($print) printLegumesList(); // TEMPLATE $GLOBALS['template'] = 'legumes/legumes_list.tpl'; $jsFiles[] = PUBLIC_HTML_ADMIN.'js/legumes.js'; /****** DISPLAY PAGE ***********/ $GLOBALS['smarty']->assign('racine',$GLOBALS['racine']); display(); } }