Beispiel #1
0
 /**
  * @param string $name
  * @return self
  */
 public static function getByName($name)
 {
     try {
         $user = new static();
         $user->getResource()->getByName($name);
         return $user;
     } catch (\Exception $e) {
         return false;
     }
 }
 /**
  * @param $id
  * @param bool $create
  * @param bool $returnIdIfEmpty
  * @return static
  * @throws \Exception
  * @throws \Zend_Exception
  */
 public static function getByKey($id, $create = false, $returnIdIfEmpty = false)
 {
     $cacheKey = "translation_" . $id;
     if (\Zend_Registry::isRegistered($cacheKey)) {
         return \Zend_Registry::get($cacheKey);
     }
     $translation = new static();
     $idOriginal = $id;
     $id = mb_strtolower($id);
     if ($translation instanceof Model\Translation\Admin) {
         $languages = Tool\Admin::getLanguages();
     } else {
         $languages = Tool::getValidLanguages();
     }
     try {
         $translation->getResource()->getByKey(self::getValidTranslationKey($id));
     } catch (\Exception $e) {
         if (!$create) {
             throw new \Exception($e->getMessage());
         } else {
             $translation->setKey($id);
             $translation->setCreationDate(time());
             $translation->setModificationDate(time());
             $translations = array();
             foreach ($languages as $lang) {
                 $translations[$lang] = "";
             }
             $translation->setTranslations($translations);
             $translation->save();
         }
     }
     if ($returnIdIfEmpty) {
         $translations = $translation->getTranslations();
         foreach ($languages as $language) {
             if (!array_key_exists($language, $translations) || empty($translations[$language])) {
                 $translations[$language] = $idOriginal;
             }
         }
         $translation->setTranslations($translations);
     }
     // add to key cache
     \Zend_Registry::set($cacheKey, $translation);
     return $translation;
 }
Beispiel #3
0
 public static function removeAllFromCart($cartId)
 {
     $cartItem = new static();
     $cartItem->getResource()->removeAllFromCart($cartId);
 }