Пример #1
0
 /**
  * Returns an array of all content objects in the system, active or not.
  *
  * @param boolean $loadprops Not implemented
  * @return array The array of content objects
  */
 function &GetAllContent($loadprops = true)
 {
     debug_buffer('get all content...');
     global $gCms;
     $contentcache = array();
     $db =& $gCms->GetDb();
     $query = "SELECT * FROM " . cms_db_prefix() . "content ORDER BY hierarchy";
     $dbresult =& $db->Execute($query);
     $map = array();
     $count = 0;
     while ($dbresult && !$dbresult->EOF) {
         #Make sure the type exists.  If so, instantiate and load
         if (in_array($dbresult->fields['type'], array_keys(ContentOperations::ListContentTypes()))) {
             $contentobj =& ContentOperations::CreateNewContent($dbresult->fields['type']);
             if (isset($contentobj)) {
                 $tmp = $dbresult->FetchRow();
                 $contentobj->LoadFromData($tmp, false);
                 $map[$contentobj->Id()] = $count;
                 $contentcache[] = $contentobj;
                 $count++;
             } else {
                 $dbresult->MoveNext();
             }
         } else {
             $dbresult->MoveNext();
         }
     }
     if ($dbresult) {
         $dbresult->Close();
     }
     for ($i = 0; $i < $count; $i++) {
         if ($contentcache[$i]->ParentId() != -1 && isset($map[$contentcache[$i]->ParentId()])) {
             $contentcache[$map[$contentcache[$i]->ParentId()]]->mChildCount++;
         }
     }
     return $contentcache;
 }