/**
  * Fetches all Configs from the database
  *
  * @return class_module_system_setting[]
  * @static
  */
 public static function getAllConfigValues()
 {
     if (self::$arrInstanceCache == null) {
         if (count(class_db::getInstance()->getTables()) == 0) {
             return array();
         }
         $strQuery = "SELECT * FROM " . _dbprefix_ . "system_config ORDER BY system_config_module ASC, system_config_name DESC";
         $arrIds = class_carrier::getInstance()->getObjDB()->getPArray($strQuery, array(), null, null, false);
         foreach ($arrIds as $arrOneId) {
             $arrOneId["system_id"] = $arrOneId["system_config_id"];
             class_orm_rowcache::addSingleInitRow($arrOneId);
             self::$arrInstanceCache[$arrOneId["system_config_id"]] = new class_module_system_setting($arrOneId["system_config_id"]);
         }
     }
     if (self::$arrInstanceCache == null) {
         return array();
     }
     return self::$arrInstanceCache;
 }
 /**
  * Loads the data of the current element
  *
  * @return mixed
  */
 public final function loadElementData()
 {
     $objAnnotations = new class_reflection($this);
     $arrTargetTables = $objAnnotations->getAnnotationValuesFromClass(class_orm_base::STR_ANNOTATION_TARGETTABLE);
     $strTargetTable = "";
     if (count($arrTargetTables) != 0) {
         $arrCachedRow = class_orm_rowcache::getCachedInitRow($this->getSystemid());
         if ($arrCachedRow !== null && !isset($arrCachedRow["content_id"])) {
             class_orm_rowcache::removeSingleRow($this->getSystemid());
         }
         $objORM = new class_orm_objectinit($this);
         $objORM->initObjectFromDb();
         $arrTables = explode(".", $arrTargetTables[0]);
         $strTargetTable = _dbprefix_ . $arrTables[0];
     } else {
         if ($this->getArrModule("table") != "") {
             $strTargetTable = $this->getArrModule("table");
         }
     }
     $objORM = new class_orm_objectlist();
     //Element-Table given?
     if ($strTargetTable != "") {
         $strQuery = "SELECT *\n    \t\t\t\t\t FROM " . $strTargetTable . ",\n    \t\t\t\t\t \t  " . _dbprefix_ . "element,\n    \t\t\t\t\t \t  " . _dbprefix_ . "page_element,\n    \t\t\t\t\t \t  " . _dbprefix_ . "system_right,\n    \t\t\t\t\t \t  " . _dbprefix_ . "system\n    \t\t\t\t\t LEFT JOIN " . _dbprefix_ . "system_date\n    \t\t\t\t\t    ON (system_id = system_date_id)\n    \t\t\t\t\t WHERE element_name = page_element_ph_element\n    \t\t\t\t\t   AND page_element_id = content_id\n    \t\t\t\t\t   AND system_id = right_id\n    \t\t\t\t\t   AND system_id = content_id\n    \t\t\t\t\t   " . $objORM->getDeletedWhereRestriction() . "\n    \t\t\t\t\t   AND system_id = ? ";
     } else {
         $strQuery = "SELECT *\n    \t\t\t\t\t FROM " . _dbprefix_ . "element,\n    \t\t\t\t\t \t  " . _dbprefix_ . "page_element,\n    \t\t\t\t\t \t  " . _dbprefix_ . "system_right,\n    \t\t\t\t\t \t  " . _dbprefix_ . "system\n    \t\t\t\t\t LEFT JOIN " . _dbprefix_ . "system_date\n    \t\t\t\t\t    ON (system_id = system_date_id)\n    \t\t\t\t\t WHERE element_name = page_element_ph_element\n    \t\t\t\t\t   AND page_element_id = system_id\n    \t\t\t\t\t   AND system_id = right_id\n    \t\t\t\t\t   " . $objORM->getDeletedWhereRestriction() . "\n    \t\t\t\t\t   AND system_id = ? ";
     }
     $this->arrElementData = class_carrier::getInstance()->getObjDB()->getPRow($strQuery, array($this->getSystemid()));
     class_orm_rowcache::addSingleInitRow($this->arrElementData);
     return $this->arrElementData;
 }
 /**
  * Loads the list of elements on a single page.
  * Returns an array of plain data, not the corresponding objects.
  * In most cases getElementsOnPage is the right way to go.
  *
  *
  * @param string $strPageId
  * @param bool $bitJustActive
  * @param string $strLanguage
  *
  * @see class_module_pages_pageelement::getElementsOnPage()
  * @return array
  */
 public static function getPlainElementsOnPage($strPageId, $bitJustActive = false, $strLanguage = "")
 {
     //Calculate the current day as a time-stamp. This improves database-caches e.g. the kajona or mysql-query-cache.
     $objDate = new class_date();
     $objDate->setIntMin(0, true);
     $objDate->setIntSec(0, true);
     $objDate->setIntHour(0, true);
     $longToday = $objDate->getLongTimestamp();
     $arrParams = array($strPageId, $strLanguage);
     $objORM = new class_orm_objectlist();
     $strAnd = "";
     if ($bitJustActive) {
         $strAnd = "AND system_status = 1\n                       AND ( system_date_start IS null OR (system_date_start = 0 OR system_date_start <= ?))\n                       AND ( system_date_end IS null OR (system_date_end = 0 OR system_date_end >= ?)) ";
         $arrParams[] = $longToday;
         $arrParams[] = $longToday;
     }
     $strQuery = "SELECT *\n                       FROM " . _dbprefix_ . "page_element,\n                            " . _dbprefix_ . "element,\n                            " . _dbprefix_ . "system_right,\n                            " . _dbprefix_ . "system as system\n                  LEFT JOIN " . _dbprefix_ . "system_date\n                         ON (system_id = system_date_id)\n                      WHERE system_prev_id= ?\n                        AND page_element_ph_element = element_name\n                        AND system_id = page_element_id\n                        AND system_id = right_id\n                        AND page_element_ph_language = ?\n                       " . $strAnd . "\n                       " . $objORM->getDeletedWhereRestriction() . "\n                  ORDER BY page_element_ph_placeholder ASC,\n                           page_element_ph_language ASC,\n                           system_sort ASC";
     $arrReturn = class_carrier::getInstance()->getObjDB()->getPArray($strQuery, $arrParams);
     foreach ($arrReturn as $arrOneRow) {
         class_orm_rowcache::addSingleInitRow($arrOneRow);
     }
     return $arrReturn;
 }
 /**
  * Loads all faqs from the db assigned to the passed cat
  *
  * @param string $strCat
  *
  * @return class_module_faqs_faq[]
  * @static
  */
 public static function loadListFaqsPortal($strCat)
 {
     $arrParams = array();
     $objORM = new class_orm_objectlist();
     if ($strCat == 1) {
         $strQuery = "SELECT *\n    \t\t\t\t\t\tFROM " . _dbprefix_ . "faqs,\n    \t\t                     " . _dbprefix_ . "system_right,\n    \t\t                     " . _dbprefix_ . "system\n    \t\t             LEFT JOIN " . _dbprefix_ . "system_date\n                               ON system_id = system_date_id\n    \t\t                WHERE system_id = faqs_id\n    \t\t                  AND system_status = 1\n    \t\t                  " . $objORM->getDeletedWhereRestriction() . "\n    \t\t                  AND system_id = right_id\n    \t\t\t\t\t\tORDER BY faqs_question ASC";
     } else {
         $strQuery = "SELECT *\n    \t\t\t\t\t\tFROM " . _dbprefix_ . "faqs,\n    \t\t\t\t\t\t     " . _dbprefix_ . "faqs_member,\n    \t\t                     " . _dbprefix_ . "system_right,\n    \t\t                     " . _dbprefix_ . "system\n    \t\t           LEFT JOIN " . _dbprefix_ . "system_date\n                               ON system_id = system_date_id\n    \t\t                WHERE system_id = faqs_id\n    \t\t                  AND faqs_id = faqsmem_faq\n    \t\t                  AND system_id = right_id\n    \t\t                  AND faqsmem_category = ?\n    \t\t                  AND system_status = 1\n    \t\t                  " . $objORM->getDeletedWhereRestriction() . "\n    \t\t\t\t\t\tORDER BY faqs_question ASC";
         $arrParams[] = $strCat;
     }
     $arrIds = class_carrier::getInstance()->getObjDB()->getPArray($strQuery, $arrParams);
     $arrReturn = array();
     foreach ($arrIds as $arrOneId) {
         class_orm_rowcache::addSingleInitRow($arrOneId);
         $arrReturn[] = class_objectfactory::getInstance()->getObject($arrOneId["system_id"]);
     }
     return $arrReturn;
 }
 /**
  * Loads a single handler-class, identified by the mapped class
  *
  * @param string $strClass
  * @return class_module_workflows_handler
  */
 public static function getHandlerByClass($strClass)
 {
     $strQuery = "SELECT * FROM\n                            " . _dbprefix_ . "workflows_handler,\n                            " . _dbprefix_ . "system_right,\n                            " . _dbprefix_ . "system\n                   LEFT JOIN " . _dbprefix_ . "system_date\n                            ON system_id = system_date_id\n                      WHERE system_id = workflows_handler_id\n                        AND workflows_handler_class = ?\n                        AND system_id = right_id";
     $arrRow = class_carrier::getInstance()->getObjDB()->getPRow($strQuery, array($strClass));
     class_orm_rowcache::addSingleInitRow($arrRow);
     if (count($arrRow) > 0) {
         return class_objectfactory::getInstance()->getObject($arrRow["system_id"]);
     } else {
         return null;
     }
 }
 /**
  * Returns a single object matching the current query. The matching object is either
  * limited by the where statements set up in advance or the first record of the matching
  * result-set is returned.
  * If the query results in an empty result set, null is returned instead.
  *
  * @param string $strTargetClass
  * @param string $strPrevid
  *
  * @return class_model|interface_model|null
  *
  * @see class_orm_objectlist_restriction
  * @see class_orm_objectlist_orderby
  */
 public function getSingleObject($strTargetClass, $strPrevid = "")
 {
     $strQuery = "SELECT *\n                           " . $this->getQueryBase($strTargetClass) . "\n                       " . ($strPrevid != "" && $strPrevid !== null ? " AND system_prev_id = ? " : "");
     $arrParams = array();
     if ($strPrevid != "") {
         $arrParams[] = $strPrevid;
     }
     $this->addLogicalDeleteRestriction();
     $this->processWhereRestrictions($strQuery, $arrParams, $strTargetClass);
     $strQuery .= $this->getOrderBy(new class_reflection($strTargetClass));
     $arrRow = class_carrier::getInstance()->getObjDB()->getPRow($strQuery, $arrParams);
     if (isset($arrRow["system_id"])) {
         class_orm_rowcache::addSingleInitRow($arrRow);
         return class_objectfactory::getInstance()->getObject($arrRow["system_id"]);
     }
     return null;
 }