paniers/functions/functions_legumes.php

280 lines
9.5 KiB
PHP

<?php
////////////////////////////////////////////////////////////////////////
// LEGUMES /////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
// LIST
$allowLegumesListOrder = array(
'ref' => "réf.",
'nom' => "nom",
'tarif' => "tarif",
'date' => "date"
);
function getNbLegumesInList($search=false) {
$sql = getCountLegumesListSelectBaseSQL()." WHERE ".LEGUMES_TABLE.".`del`=0";
$sql = buildSqlSearch($sql, $search, buildLegumesListSearchSQL);
$r = $GLOBALS['db_admin']['man']->select($sql, 1);
if(!$r['erreur']) return intval($r['datas']['nb']);
else {
$er = "</br>sql: ".$sql."</br>error: ".getReadableVar($r['erreur']);
return "Une erreur est survenue durant du nombre d'item dans la liste !".$er;
}
}
function getLegumesList($order='nom',$sens='ASC', $search=false, $limits=false) {
$list = array();
$sql = getLegumesTableSelectBaseSQL()." WHERE ".LEGUMES_TABLE.".`del`=0";
// SEARCH
$sql = buildSqlSearch($sql, $search, buildLegumesListSearchSQL);
// 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';
// LIMITS
if(is_array($limits)) $sql .= " LIMIT ".$limits['start'].", ".$limits['nbItemsByPage'];
$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 getLegumeTarifs($legume) {
$list = array();
return $list;
}
function getLegumeTarif($legume, $groupe) {
$i = array();
$sql = getLegumesTarifsTableSelectBaseSQL()
." WHERE ".LEGUMES_TARIFS_TABLE.".`legume`=".intval($legume);
if($groupe>0) $sql .= " AND ".LEGUMES_TARIFS_TABLE.".`groupe`=".intval($groupe);
else $sql .= " AND ".LEGUMES_TARIFS_TABLE.".`groupe` IS NULL";
$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");
}
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;
}
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;
}