280 lines
9.5 KiB
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;
|
|
} |