Index: www-lp/www/includes/functions/general.php =================================================================== diff -u -r37 -r45 --- www-lp/www/includes/functions/general.php (.../general.php) (revision 37) +++ www-lp/www/includes/functions/general.php (.../general.php) (revision 45) @@ -1642,6 +1642,7 @@ // image professionnel -> client professionnel // A voir ? function is_pro_customer_by_id($customer_id) { + // On effectue une requête dans la base de données pour vérifier si le champs customers_group_id est égal à 1 ou 0. $tmp_sql_request = tep_db_query("select customers_group_id from " . TABLE_CUSTOMERS . " where customers_id = '" . tep_db_input($customer_id) . "'"); $tmp_what_is = tep_db_fetch_array($tmp_sql_request); @@ -1664,14 +1665,15 @@ } } - // fonction qui va tester si l'utilisateur est professionnel ou non (ce, sans contacter la base de données (économie de requêtes SQL)) // Attends en paramètre l'ID du client ($customer_id) // -> OSC-94 - Prix par palier reservé aux professionnels function is_pro_customer($customer_id_par=NULL) { + // je suis non identifié/visiteur, donc forcément un utilisateur anonyme. // Ainsi, je ne suis donc pas un professionnel (fatalement..) - if ( CATPRO_FOR_ALL == 'true' ) return(true); + if ( CATPRO_FOR_ALL == 'true' ) return(true); + if (!tep_session_is_registered('customer_id')) { // le client n'est pas identifié ou est un bot ou est un visiteur, bref, on retourne false! @@ -1685,6 +1687,11 @@ } // <- OSC-94 - Prix par palier reservé aux professionnels +// A function that checks whether a user is anonymus + function is_user_anonymous(){ + return !isset($_SESSION['customer_id']); + } + // // fonction afin d'analyser si une catégorie est reservée aux pro ou non function is_category_for_pro($category_id) { @@ -1801,7 +1808,40 @@ // AP URL Rewriting //// +class UserManager { + public $is_partner; + public function __construct($is_partner=null){ + $this->is_partner = $is_partner; + } + + public function is_anonymous(){ + return !isset($_SESSION['customer_id']); + } + + public function is_partner(){ + return $this->is_partner; + } + + public function is_pro(){ + if ($this->is_anonymous()){ + return true; + } + else{ + return is_pro_customer(); + } + } + + public function is_end_user(){ + if (isset($_SESSION['customer_id'])){ + if (is_pro_customer_by_id($_SESSION['customer_id']) == 0){ + return true; + } + } + return false; + } +} + ?>