/** * 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; }