Example #1
0
 /**
  * get singleton instance
  * @param sfUser $sfUser
  * @return tpyCart
  */
 public static function getInstance(sfUser $sfUser)
 {
     if (is_null(self::$_instance)) {
         if ($sfUser->isAuthenticated()) {
             self::$_instance = tpyUserCartTable::getInstance()->findOneBySfGuardUserId($sfUser->getGuardUser()->getId());
             if (false == self::$_instance) {
                 self::$_instance = new tpyUserCart();
                 self::$_instance->setSfGuardUserId($sfUser->getGuardUser()->getId());
             }
         } else {
             self::$_instance = new tpyCart();
             self::$_instance->_user = $sfUser;
             self::$_instance->_items = $sfUser->getAttribute('cart_items', array(), tpyCart::SESSION_NS);
         }
     }
     return self::$_instance;
 }
Example #2
0
 /**
  * Returns user parameters as an array.
  *
  * @param sfUser $user A sfUser instance
  *
  * @return array The user parameters
  */
 public static function userAsArray(sfUser $user = null)
 {
     if (!$user) {
         return array();
     }
     $data = array('options' => $user->getOptions(), 'attributeHolder' => self::flattenParameterHolder($user->getAttributeHolder(), true), 'culture' => $user->getCulture());
     if ($user instanceof sfBasicSecurityUser) {
         $data = array_merge($data, array('authenticated' => $user->isAuthenticated(), 'credentials' => $user->getCredentials(), 'lastRequest' => $user->getLastRequestTime()));
     }
     return $data;
 }
 /**
  * Check if the user the necessary credentials to see this particular item
  *
  * @param array $item
  * @param sfUser $user
  */
 public static function hasPermission($item, $user)
 {
     if (!$user->isAuthenticated()) {
         return false;
     }
     return isset($item['credentials']) ? $user->hasCredential($item['credentials']) : true;
 }
Example #4
0
 public static function search($criteria, sfUser $user)
 {
     $c = new Criteria();
     $c->addSelectColumn(self::ID . ' ID');
     $c->addSelectColumn(self::USERNAME . ' NAME');
     $c->addSelectColumn(self::NAME . ' DESCRIPTION');
     $tableName = self::TABLE_NAME;
     $c->addSelectColumn("'{$tableName}' TNAME");
     $c->add(self::HIDDEN, 0);
     if ($user->isAuthenticated()) {
         $c->add(self::ID, $user->getRaykuUserId(), Criteria::NOT_EQUAL);
     }
     $cton = $c->getNewCriterion(self::USERNAME, "%{$criteria}%", Criteria::LIKE);
     $cton->addOr($c->getNewCriterion(self::NAME, "%{$criteria}%", Criteria::LIKE));
     $cton->addOr($c->getNewCriterion(self::EMAIL, "%{$criteria}%", Criteria::LIKE));
     $c->add($cton);
     return self::doSelectStmt($c);
 }