<?php

////////////////////////////////////////////////////////////////////////
// PANIERS - GROUPES ///////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////

// LIST

$allowPaniersGroupesListOrder = array(
    'ref' => "réf.",
    'nom' => "nom"
);

function getPaniersGroupesList($order='nom',$sens='ASC', $search=false) {
    $list = array();
    
    $sql = getPaniersGroupesSelectBaseSQL()." WHERE ".PANIERS_GROUPES_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 " : "").buildPaniersGroupesListSearchSQL($p);
            }
            if($search_sql!="") $sql .= " AND (".$search_sql.")";
        }
    }
    
    // ORDRE
    $sql.=" ORDER BY ";
    
    if($order=='ref') $sql .= PANIERS_GROUPES_TABLE.".`ref`";
    else if($order=='nom') $sql .= PANIERS_GROUPES_TABLE.".`nom`";
    else $sql .= PANIERS_GROUPES_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) $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 groupes de paniers dans le base de données !".$er;
    }
    
    return $list;
}

// GET DATAS

function getPaniersGroupeDatas($id) {
    $i = array();
    
    $sql = getPaniersGroupesSelectBaseSQL()." WHERE ".PANIERS_GROUPES_TABLE.".`ref`=".intval($id);
    
    $r = $GLOBALS['db_admin']['man']->select($sql,1);

    if(!$r['erreur']) {
        $i = $r['datas'];
    }
    else {
        $er = "</br>sql: ".$sql."</br>error: ".getReadableVar($r['erreur']);
        $GLOBALS['errors'][] = "Une erreur est survenue durant la récupération des informations du groupe de paniers dans le base de données !".$er;
    }
    
    return $i;
}

// ADD / UPDATE DATAS

function getPaniersGroupeDatasFromRequest() { return getRequestTableDatas(PANIERS_GROUPES_TABLE_STRUCT); }

function addPaniersGroupe($datas) {
    return addDatasInTable(
        $GLOBALS['db_admin']['man'],    // DB MANAGER
        PANIERS_GROUPES_TABLE,          // TABLE NAME
        PANIERS_GROUPES_TABLE_STRUCT,   // TABLE STRUCTURE
        $datas,                         // DATAS
        "du groupe de panier"           // ERROR STRING
    );
}

function updatePaniersGroupe($id, $datas) { 
    return updateDatasInTable(
        $GLOBALS['db_admin']['man'],    // DB MANAGER
        PANIERS_GROUPES_TABLE,          // TABLE NAME
        PANIERS_GROUPES_TABLE_STRUCT,   // TABLE STRUCTURE
        $id,                            // ID
        $datas,                         // DATAS
        "au groupe de panier",          // NULL STRING
        "du groupe de panier"           // ERROR STRING
    );
}

function deletePaniersGroupe($id) {
    return deleteItemInTable(
        $GLOBALS['db_admin']['man'],    // DB MANAGER
        PANIERS_GROUPES_TABLE,          // TABLE NAME
        $id,                            // ID
        "du groupe de panier"           // ERROR STRING
    );
}

function erasePaniersGroupe($id) {
    return eraseItemInTable(
        $GLOBALS['db_admin']['man'],    // DB MANAGER
        PANIERS_GROUPES_TABLE,          // TABLE NAME
        $id,                            // ID
        "du groupe de panier"           // ERROR STRING
    );
}