paniers/functions/functions_legumes.php

241 lines
8.2 KiB
PHP

<?php
////////////////////////////////////////////////////////////////////////
// LEGUMES /////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
// LIST
$allowLegumesListOrder = array(
'ref' => "réf.",
'nom' => "nom",
'tarif' => "tarif",
'date' => "date"
);
function getLegumesList($order='nom',$sens='ASC', $search=false) {
$list = array();
$sql = getLegumesTableSelectBaseSQL()." WHERE ".LEGUMES_TABLE.".`del`=0";
// SEARCH
if($search && $search!="") {
$parts = explode(" ", $search);
if(is_array($parts) && count($parts>0)) {
$search_sql = "";
foreach($parts as $p) {
if($p!="") $search_sql .= (($search_sql!="") ? " OR " : "").buildLegumesListSearchSQL($p);
}
if($search_sql!="") $sql .= " AND (".$search_sql.")";
}
}
// ORDRE
$sql.=" ORDER BY ";
if($order=='ref') $sql .= LEGUMES_TABLE.".`ref`";
else if($order=='nom') $sql .= LEGUMES_TABLE.".`nom`";
else if($order=='tarif') $sql .= LEGUMES_TARIFS_TABLE.".`prix`";
else if($order=='date') $sql .= LEGUMES_TARIFS_TABLE.".`date`";
else $sql .= LEGUMES_TABLE.".`nom`";
// SENS
if($sens=='DESC') $sql .= ' DESC';
else $sql .= ' ASC';
$r = $GLOBALS['db_admin']['man']->select($sql);
if(!$r['erreur']) {
foreach($r['datas'] as $i) {
$i["tarif_print"] = $i["tarif_prix"]." €/".$i["tarif_unite"];
$i["tarif_date_print"] = formatDate($i["tarif_date"], "mysql_date", "print_date");
$list[$i['ref']] = $i;
}
}
else {
$er = "</br>sql: ".$sql."</br>error: ".getReadableVar($r['erreur']);
$GLOBALS['errors'][] = "Une erreur est survenue durant la récupération de la liste des légumes dans le base de données !".$er;
}
return $list;
}
function getLegumesAutocompleteList() {
$list = array();
$term = trim($_REQUEST['search']); // get user autocomplete input
$term = preg_replace('/\s+/', ' ', $term); // replace multiple spaces by one
$parts = explode(' ', $term);
$sql = getLegumesTableSelectBaseSQL()." WHERE ".LEGUMES_TABLE.".`del`=0";
foreach($parts as $p) $sql .= " AND (".buildLegumesListSearchSQL($p).")";
$r = $GLOBALS['db_admin']['man']->select($sql);
if(!$r['erreur']) {
foreach($r['datas'] as $l) {
$row = array(
"id" => $l['ref'],
"value" => $l['nom'],
"label" => $l['nom'],
"ref" => $l['ref'],
"tarif_ref" => $l['tarif_ref'],
"tarif_prix" => $l['tarif_prix'],
"tarif_unite" => $l['tarif_unite']
);
array_push($list, $row);
}
$a_json = apply_highlight($list, $parts); // highlight search parts
}
else {
$er = "</br>sql: ".$sql."</br>error: ".getReadableVar($r['erreur']);
$GLOBALS['errors'][] = "Une erreur est survenue durant la récupération de la liste des légumes !".$er;
}
return $list;
}
// GET DATAS
function getLegumeDatas($id) {
$i = array();
$sql = getLegumesTableSelectBaseSQL()." WHERE ".LEGUMES_TABLE.".`ref`=".intval($id);
$r = $GLOBALS['db_admin']['man']->select($sql,1);
if(!$r['erreur']) {
$i = $r['datas'];
$i["tarif_print"] = $i["tarif_prix"]." €/".$i["tarif_unite"];
$i["tarif_date_print"] = formatDate($i["tarif_date"], "mysql_date", "print_date");
$i["historique_tarif"] = getLegumeTarifHistorique($id, $i["tarif_ref"]);
}
else {
$er = "</br>sql: ".$sql."</br>error: ".getReadableVar($r['erreur']);
$GLOBALS['errors'][] = "Une erreur est survenue durant la récupération des informations du légume dans le base de données !".$er;
}
return $i;
}
// ADD / UPDATE DATAS
function getLegumeDatasFromRequest() {
$datas = getRequestTableDatas(LEGUMES_TABLE_STRUCT);
// NEW TARIF
if(isset($_REQUEST["tarif_ref"]) && $_REQUEST["tarif_ref"] == "new" && isset($_REQUEST["tarif_prix"]) && isset($_REQUEST["tarif_unite"])) {
$date = formatDate('', 'mysql_date');
if(isset($_REQUEST["tarif_date"])) $date = checkDateFormat($_REQUEST["tarif_date"], 'mysql_date', "now");
$datas["new_tarif"] = array(
"prix" => floatval($_REQUEST["tarif_prix"]),
"unite" => in_array($_REQUEST["tarif_unite"], LEGUMES_TARIFS_UNITES) ? $_REQUEST["tarif_unite"] : "kg",
"date" => $date
);
}
return $datas;
}
function addLegume($datas) {
return addDatasInTable(
$GLOBALS['db_admin']['man'], // DB MANAGER
LEGUMES_TABLE, // TABLE NAME
LEGUMES_TABLE_STRUCT, // TABLE STRUCTURE
$datas, // DATAS
"du légume" // ERROR STRING
);
}
function updateLegume($id, $datas) {
return updateDatasInTable(
$GLOBALS['db_admin']['man'], // DB MANAGER
LEGUMES_TABLE, // TABLE NAME
LEGUMES_TABLE_STRUCT, // TABLE STRUCTURE
$id, // ID
$datas, // DATAS
"au légume", // NULL STRING
"du légume" // ERROR STRING
);
}
function deleteLegume($id) {
return deleteItemInTable(
$GLOBALS['db_admin']['man'], // DB MANAGER
LEGUMES_TABLE, // TABLE NAME
$id, // ID
"du légume" // ERROR STRING
);
}
function eraseLegume($id) {
return eraseItemInTable(
$GLOBALS['db_admin']['man'], // DB MANAGER
LEGUMES_TABLE, // TABLE NAME
$id, // ID
"du légume" // ERROR STRING
);
}
////////////////////////////////////////////////////////////////////////
// LEGUMES - TARIFS ////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
function addLegumeTarif($datas) {
return addDatasInTable(
$GLOBALS['db_admin']['man'], // DB MANAGER
LEGUMES_TARIFS_TABLE, // TABLE NAME
LEGUMES_TARIFS_TABLE_STRUCT, // TABLE STRUCTURE
$datas, // DATAS
"du tarif" // ERROR STRING
);
}
function deleteLegumeTarif($id) {
return deleteItemInTable(
$GLOBALS['db_admin']['man'], // DB MANAGER
LEGUMES_TARIFS_TABLE, // TABLE NAME
$id, // ID
"du tarif" // ERROR STRING
);
}
function getLegumeTarifHistorique($id, $current = 0) {
$list = array();
$sql = getLegumesTarifsTableSelectBaseSQL()
." WHERE ".LEGUMES_TARIFS_TABLE.".legume=".intval($id)
." AND ".LEGUMES_TARIFS_TABLE.".del=0";
// ORDRE
$sql.=" ORDER BY ".LEGUMES_TARIFS_TABLE.".date DESC";
$r = $GLOBALS['db_admin']['man']->select($sql);
if(!$r['erreur']) {
$last_date = "";
foreach($r['datas'] as $i) {
$i["tarif_print"] = $i["tarif_prix"]." €/".$i["tarif_unite"];
$i["tarif_date_print"] = formatDate($i["tarif_date"], "mysql_date", "print_date");
$i["tarif_end_date"] = ($last_date!="") ? $last_date : NULL;
$i["tarif_end_date_print"] = ($last_date!="") ? formatDate($last_date, "mysql_date", "print_date") : NULL;
$i["tarif_periode"] = (is_null($i["tarif_end_date"]) ? "depuis le " : "du ").$i["tarif_date_print"];
if(!is_null($i["tarif_end_date"])) $id["tarif_periode"] .= " au ".$i["tarif_end_date_print"];
if($i['ref'] != $current) $list[] = $i;
$last_date = $i["tarif_date"];
}
}
else {
$er = "</br>sql: ".$sql."</br>error: ".getReadableVar($r['erreur']);
$GLOBALS['errors'][] = "Une erreur est survenue durant la récupération de l'historique de tarif du légume dans le base de données !".$er;
}
return $list;
}