Ejemplo n.º 1
0
 /**
  * Returns a ShopCategory selected by its ID from the database.
  *
  * Returns null if the Category does not exist.
  * @static
  * @param   integer       $category_id  The Shop Category ID
  * @return  ShopCategory                The Shop Category object on success,
  *                                      false on failure, or null otherwise.
  * @global  ADONewConnection  $objDatabase    Database connection object
  * @author  Reto Kohli <*****@*****.**>
  */
 static function getById($category_id)
 {
     global $objDatabase;
     $category_id = intval($category_id);
     if ($category_id <= 0) {
         return null;
     }
     $arrSql = \Text::getSqlSnippets('`category`.`id`', FRONTEND_LANG_ID, 'Shop', array('name' => self::TEXT_NAME, 'description' => self::TEXT_DESCRIPTION));
     $query = "\n            SELECT `category`.`id`,\n                   `category`.`parent_id`,\n                   `category`.`active`,\n                   `category`.`ord`,\n                   `category`.`picture`,\n                   `category`.`flags`, " . $arrSql['field'] . "\n              FROM `" . DBPREFIX . "module_shop" . MODULE_INDEX . "_categories` AS `category`" . $arrSql['join'] . "\n             WHERE `category`.`id`={$category_id}";
     $objResult = $objDatabase->Execute($query);
     if (!$objResult) {
         return self::errorHandler();
     }
     if ($objResult->EOF) {
         return null;
     }
     $id = $objResult->fields['id'];
     $strName = $objResult->fields['name'];
     if ($strName === null) {
         $objText = \Text::getById($id, 'Shop', self::TEXT_NAME);
         if ($objText) {
             $strName = $objText->content();
         }
     }
     $strDescription = $objResult->fields['description'];
     if ($strDescription === null) {
         $objText = \Text::getById($id, 'Shop', self::TEXT_DESCRIPTION);
         if ($objText) {
             $strDescription = $objText->content();
         }
     }
     //DBG::log("ShopCategory::getById($category_id): Loaded '$strName' / '$strDescription'");
     $objCategory = new ShopCategory($strName, $strDescription, $objResult->fields['parent_id'], $objResult->fields['active'], $objResult->fields['ord'], $category_id);
     $objCategory->picture($objResult->fields['picture']);
     $objCategory->flags($objResult->fields['flags']);
     return $objCategory;
 }