Пример #1
0
 /**
  * List databases on the server
  *
  * @return array
  */
 public function listDbs()
 {
     $dbs = array();
     try {
         $dbs = $this->_mongo->listDBs();
     } catch (Exception $e) {
         $dbs["ok"] = false;
     }
     if (empty($dbs["ok"])) {
         $user = MUser::userInSession();
         $dbs = array("databases" => array(), "totalSize" => 0, "ok" => 1);
         foreach ($user->dbs() as $db) {
             $dbs["databases"][] = array("name" => $db, "empty" => false, "sizeOnDisk" => 0);
         }
     }
     //@todo: should we show user input databases only?
     $onlyDbs = $this->uiOnlyDbs();
     $hideDbs = $this->uiHideDbs();
     foreach ($dbs["databases"] as $index => $database) {
         $name = $database["name"];
         if (!empty($hideDbs) && in_array($name, $hideDbs)) {
             unset($dbs["databases"][$index]);
         }
         if (!empty($onlyDbs) && !in_array($name, $onlyDbs)) {
             unset($dbs["databases"][$index]);
         }
     }
     return $dbs;
 }