/** * {@inheritdoc} */ public function getAccessList() { $resources = []; // $refresh = $this->request->queryBool( 'refresh' ); $name = Schema::RESOURCE_NAME . '/'; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; $resources[] = $name . '*'; } $result = $this->dbConn->listDatabases(); foreach ($result as $name) { if ('_' != substr($name, 0, 1)) { $name = Schema::RESOURCE_NAME . '/' . $name; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; } } } $name = Table::RESOURCE_NAME . '/'; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; $resources[] = $name . '*'; } foreach ($result as $name) { if ('_' != substr($name, 0, 1)) { $name = Table::RESOURCE_NAME . '/' . $name; $access = $this->getPermissions($name); if (!empty($access)) { $resources[] = $name; } } } return $resources; }
require_once "../lib/couchClient.php"; require_once "../lib/couchDocument.php"; /** * create the client */ $client = new couchClient($couch_dsn, $couch_db); /** * first of all, let's list databases on the server. * This ensure server connectivity and that $couch_db does not exist * * note the use of a "try {} catch () {}" block to allow gracefull error handling * */ echo 'Getting databases infos : $databases = $client->listDatabases();' . "\n"; try { $databases = $client->listDatabases(); } catch (Exception $e) { echo "Some error happened during the request. This is certainly because your couch_dsn ({$couch_dsn}) does not point to a CouchDB server...\n"; exit(1); } echo "Database list fetched : \n" . print_r($databases, true) . "\n"; if (in_array($couch_db, $databases)) { echo "Database {$couch_db} already exist. Please drop it or edit this script and set {$couch_db} to a non-existant database\n"; exit(1); } /** * Let's create the database * * We don't pass a database name parameter, $client uses the database name we passed in argument when creating it * * In case of failure, if exception ($e) is a couchException, the failure is "application-side" : couchDB returned