Ejemplo n.º 1
0
 function getObjectTypeStatistics()
 {
     global $ilDB, $objDefinition;
     // re-use add new item selection (folder is not that important)
     $types = array_keys($objDefinition->getCreatableSubObjects("root", ilObjectDefinition::MODE_REPOSITORY));
     include_once "Services/Tree/classes/class.ilTree.php";
     $tree = new ilTree(1);
     $sql = "SELECT " . $tree->table_obj_data . ".obj_id," . $tree->table_obj_data . ".type," . $tree->table_tree . "." . $tree->tree_pk . "," . $tree->table_obj_reference . ".ref_id" . " FROM " . $tree->table_tree . " " . $tree->buildJoin() . " WHERE " . $ilDB->in($tree->table_obj_data . ".type", $types, "", "text");
     $set = $ilDB->query($sql);
     $res = array();
     while ($row = $ilDB->fetchAssoc($set)) {
         $res[$row["type"]]["type"] = $row["type"];
         $res[$row["type"]]["references"]++;
         $res[$row["type"]]["objects"][] = $row["obj_id"];
         if ($row[$tree->tree_pk] < 0) {
             $res[$row["type"]]["deleted"]++;
         }
     }
     foreach ($res as $type => $values) {
         $res[$type]["objects"] = sizeof(array_unique($values["objects"]));
     }
     return $res;
 }