/** * Termine la connexion d'un utilisateur (logout) * Stratégie : * - Une entrée est recherchée dans la table USERCNX puis mise à jour * @param $user_id : id du user * @session_id : L'id de session de l'utilisateur * @return bool|mixed * @throws Exception */ function user_log_out($user_id, $session_id) { global $pdo; $resultat = false; $queryStr = 'UPDATE ' . PHPAT_DB_TB_USERCNX . ' SET ' . get_tb_col_pair(USERCNX_TB_COL_DATEOUT) . ' WHERE ' . get_tb_col_pair(USERCNX_TB_COL_SESSIONID) . ' AND ' . get_tb_col_pair(USERCNX_TB_COL_USERID); var_dump($queryStr); $sth = $pdo->prepare($queryStr); $params = array(COLON_CAR . USERCNX_TB_COL_USERID => $user_id, COLON_CAR . USERCNX_TB_COL_SESSIONID => $session_id, COLON_CAR . USERCNX_TB_COL_DATEOUT => date("Y-m-d H:i:s")); $res = $sth->execute($params); $sth->debugDumpParams(); var_dump($params); var_dump($res); if (!$res || $sth->rowCount() == 0) { throw new Exception("Echec lors de la tentative de déconnexion pour l'utilisateur {$user_id} : (" . $sth->errorInfo()[0] . ")<br/>"); } if ($res) { $resultat = true; } return $resultat; }
/** * Lister (parcourir) ou rechercher les produits * NB : Pas de limite mise en place ici (à améliorer si le nb de produits devient important * @param bool|int $category_id: Catégorie du produit, false pour toutes les catégories * @param bool|string $name: Nom du produit ou partie de ce nom (operateur %like%) * @return bool|mixed */ function product_list($category_id = false, $name = false) { global $pdo; $resultat = false; // Par défaut n'existe pas $queryStr = 'SELECT * FROM ' . P62_DBKITDEM_TB_PRODUCT; if (false !== $category_id) { $queryStr .= ' WHERE ' . get_tb_col_pair(PRODUCT_TB_COL_CATEGORY_ID); } if (false !== $name) { $queryStr .= strpos($queryStr, 'WHERE') > 0 ? ' AND ' : ' WHERE '; // Suivant qu'une clause WHERE est déjà présente $queryStr .= get_tb_col_pair(PRODUCT_TB_COL_GROUP_NAME, 'LIKE'); } try { $sth = $pdo->prepare($queryStr); $params = array(); if (false !== $category_id) { $params[COLON_CAR . PRODUCT_TB_COL_CATEGORY_ID] = $category_id; } if (false !== $name) { $params[COLON_CAR . PRODUCT_TB_COL_GROUP_NAME] = '%' . $name . '%'; } $res = $sth->execute($params); // $sth->debugDumpParams(); // var_dump($res); // var_dump($sth->rowCount()); } catch (PDOException $e) { echo "Echec tentative lister produits pour catégorie {$category_id} : (" . $e->getMessage() . ')<br/>'; exit; } if ($res && $sth->rowCount() > 0) { $resultat = $sth->fetchAll(PDO::FETCH_ASSOC); } return $resultat; }