Example #1
0
 function &singleton()
 {
     static $baskets;
     if (isset($_COOKIE['basketID']) && is_numeric($_COOKIE['basketID'])) {
         $sql = "SELECT COUNT(*) AS total\n                      FROM basket\n                      WHERE basketID=" . $_COOKIE['basketID'];
         $result = $this->db->getOne($sql);
         if (!PEAR::isError($result) && is_numeric($result) && $result > 0) {
             $basketID = $_COOKIE['basketID'];
             if (isset($baskets[$basketID]) && is_object($baskets[$basketID])) {
                 // Do nothing - the basket already exists
             } else {
                 $baskets[$basketID] =& new JxBasket($basketID);
             }
         } else {
             $basketID = 0;
         }
     }
     if ($basketID == 0) {
         $basketID = JxCreateId('basket', 'basketID');
         $userID = $user->userID;
         $posted = time();
         $type = 0;
         if ((int) $basketID > 0) {
             $sql = "INSERT INTO basket\n                          SET basketID='" . (int) $basketID . "',\n                              userID='" . $userID . "',\n                              posted='" . $posted . "',\n                              type='" . $type . "'";
             $result = $this->db->query($sql);
             if (PEAR::isError($result)) {
                 return PEAR::raiseError('Unable to create basket');
             } else {
                 JxHttp::setCookie('basketID', $basketID);
             }
         }
         $baskets[$basketID] =& new JxBasket($basketID);
     }
     return $baskets[$basketID];
 }
Example #2
0
 /**
  * create
  *
  * Create a session for the given $userID. This function sets the two
  * needed cookies for sessions as well as updating the database.
  *
  * @author Joe Stump <*****@*****.**>
  * @access public
  * @param int $userID See users table.userID 
  * @return void
  */
 function create($userID)
 {
     $user =& new JxUser($userID);
     if ($user->userID > 0) {
         $sessionID = md5(uniqid(JX_SESS_KEY . $user->password));
         $sql = "INSERT \n                    INTO users_sessions\n                    SET userID='" . $user->userID . "',\n                        sessionID='{$sessionID}',\n                        posted='" . time() . "'";
         $result = $this->db->query($sql);
         if (!DB::isError($result)) {
             JxHttp::setCookie('jax_sessionID', $sessionID);
             JxHttp::setCookie('jax_userID', $user->userID);
         }
     }
 }