Esempio n. 1
0
 /**
  * Retrieve list of installed modules from the database
  *
  * @param   object  $criteria   {@link icms_db_criteria_Element}
  * @param   boolean $id_as_key  Use the ID as key into the array
  * @return  array	Array of objects - installed module 
  */
 public function getObjects($criteria = NULL, $id_as_key = FALSE)
 {
     $ret = array();
     $limit = $start = 0;
     $sql = "SELECT * FROM " . $this->db->prefix('modules');
     if (isset($criteria) && is_subclass_of($criteria, 'icms_db_criteria_Element')) {
         $sql .= " " . $criteria->renderWhere();
         $sql .= " ORDER BY weight " . $criteria->getOrder() . ", mid ASC";
         $limit = $criteria->getLimit();
         $start = $criteria->getStart();
     }
     $result = $this->db->query($sql, $limit, $start);
     if (!$result) {
         return $ret;
     }
     while ($myrow = $this->db->fetchArray($result)) {
         $module = new icms_module_Object();
         $module->assignVars($myrow);
         if (!$id_as_key) {
             $ret[] = $module;
         } else {
             $ret[$myrow['mid']] = $module;
         }
         $this->_cachedModule_lookup[$myrow['mid']] = $module->getVar("dirname");
         $this->_cachedModule[$myrow['dirname']] = $module;
         unset($module);
     }
     return $ret;
 }