diff options
author | Jan-Christoph Borchardt <jan@unhosted.org> | 2012-04-14 18:56:55 +0200 |
---|---|---|
committer | Jan-Christoph Borchardt <jan@unhosted.org> | 2012-04-14 18:56:55 +0200 |
commit | fbb314ef4b980500af270c1a58577f32a5de8b48 (patch) | |
tree | 4727dadf86fc177392248ef9538a25b92988191d /lib | |
parent | f16cfbab5e7800adb94bf5c7978ab1fe16b6fc78 (diff) | |
parent | 3b71e46cf7ab7affda761adca59fa368ec1a2fdc (diff) | |
download | nextcloud-server-fbb314ef4b980500af270c1a58577f32a5de8b48.tar.gz nextcloud-server-fbb314ef4b980500af270c1a58577f32a5de8b48.zip |
Merge branch 'master' of gitorious.org:owncloud/owncloud
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/app.php | 33 | ||||
-rw-r--r-- | lib/appconfig.php | 34 | ||||
-rw-r--r-- | lib/db.php | 4 | ||||
-rw-r--r-- | lib/files.php | 6 | ||||
-rw-r--r-- | lib/migrate.php | 28 | ||||
-rw-r--r-- | lib/migration/content.php | 18 | ||||
-rw-r--r-- | lib/migration/provider.php | 8 |
7 files changed, 94 insertions, 37 deletions
diff --git a/lib/app.php b/lib/app.php index db2df7c2434..5fccf1fe68f 100755 --- a/lib/app.php +++ b/lib/app.php @@ -35,6 +35,7 @@ class OC_App{ static private $adminForms = array(); static private $personalForms = array(); static private $appInfo = array(); + static private $appTypes = array(); /** * @brief loads all apps @@ -85,11 +86,7 @@ class OC_App{ if(is_string($types)){ $types=array($types); } - $appData=self::getAppInfo($app); - if(!isset($appData['types'])){ - return false; - } - $appTypes=$appData['types']; + $appTypes=self::getAppTypes($app); foreach($types as $type){ if(array_search($type,$appTypes)!==false){ return true; @@ -97,6 +94,32 @@ class OC_App{ } return false; } + + /** + * get the types of an app + * @param string $app + * @return array + */ + private static function getAppTypes($app){ + //load the cache + if(count(self::$appTypes)==0){ + self::$appTypes=OC_Appconfig::getValues(false,'types'); + } + + //get it from info.xml if we haven't cached it + if(!isset(self::$appTypes[$app])){ + $appData=self::getAppInfo($app); + if(isset($appData['types'])){ + self::$appTypes[$app]=$appData['types']; + }else{ + self::$appTypes[$app]=array(); + } + + OC_Appconfig::setValue($app,'types',implode(',',self::$appTypes[$app])); + } + + return explode(',',self::$appTypes[$app]); + } /** * get all enabled apps diff --git a/lib/appconfig.php b/lib/appconfig.php index 2b5cef59adc..5aaaadd9c4a 100644 --- a/lib/appconfig.php +++ b/lib/appconfig.php @@ -163,4 +163,38 @@ class OC_Appconfig{ return true; } + + /** + * get multiply values, either the app or key can be used as wildcard by setting it to false + * @param app + * @param key + * @return array + */ + public static function getValues($app,$key){ + if($app!==false and $key!==false){ + return false; + } + $where='WHERE'; + $fields='configvalue'; + $params=array(); + if($app!==false){ + $where.=' appid = ?'; + $fields.=', configkey'; + $params[]=$app; + $key='configkey'; + }else{ + $fields.=', appid'; + $where.=' configkey = ?'; + $params[]=$key; + $key='appid'; + } + $queryString='SELECT '.$fields.' FROM *PREFIX*appconfig '.$where; + $query=OC_DB::prepare($queryString); + $result=$query->execute($params); + $values=array(); + while($row=$result->fetchRow()){ + $values[$row[$key]]=$row['configvalue']; + } + return $values; + } } diff --git a/lib/db.php b/lib/db.php index d2552bff8f6..2f74cc6dd95 100644 --- a/lib/db.php +++ b/lib/db.php @@ -434,7 +434,7 @@ class OC_DB { self::connect(); // We need Database type and table prefix if(is_null(self::$type)){ - self::$type=OC_Config::getValue( "dbtype", "oc_" ); + self::$type=OC_Config::getValue( "dbtype", "sqlite" ); } $type = self::$type; if(is_null(self::$prefix)){ @@ -501,7 +501,7 @@ class OC_DB { } /** - * @breif replaces the owncloud tables with a new set + * @brief replaces the owncloud tables with a new set * @param $file string path to the MDB2 xml db export file */ public static function replaceDB( $file ){ diff --git a/lib/files.php b/lib/files.php index aacd2c9e004..a7b83149574 100644 --- a/lib/files.php +++ b/lib/files.php @@ -104,15 +104,15 @@ class OC_Files { header('Content-Type: application/zip'); header('Content-Length: ' . filesize($filename)); }else{ - header('Content-Type: ' . OC_Filesystem::getMimeType($filename)); - header('Content-Length: ' . OC_Filesystem::filesize($filename)); + $fileData=OC_FileCache::get($filename); + header('Content-Type: ' . $fileData['mimetype']); + header('Content-Length: ' . $fileData['size']); } }elseif($zip or !OC_Filesystem::file_exists($filename)){ header("HTTP/1.0 404 Not Found"); $tmpl = new OC_Template( '', '404', 'guest' ); $tmpl->assign('file',$filename); $tmpl->printPage(); -// die('404 Not Found'); }else{ header("HTTP/1.0 403 Forbidden"); die('403 Forbidden'); diff --git a/lib/migrate.php b/lib/migrate.php index 1ce86198994..dfc34948962 100644 --- a/lib/migrate.php +++ b/lib/migrate.php @@ -57,7 +57,7 @@ class OC_Migrate{ } /** - * @breif finds and loads the providers + * @brief finds and loads the providers */ static private function findProviders(){ // Find the providers @@ -72,7 +72,7 @@ class OC_Migrate{ } /** - * @breif exports a user, or owncloud instance + * @brief exports a user, or owncloud instance * @param optional $uid string user id of user to export if export type is user, defaults to current * @param ootional $type string type of export, defualts to user * @param otional $path string path to zip output folder @@ -190,7 +190,7 @@ class OC_Migrate{ } /** - * @breif imports a user, or owncloud instance + * @brief imports a user, or owncloud instance * @param $path string path to zip * @param optional $type type of import (user or instance) * @param optional $uid userid of new user @@ -298,7 +298,7 @@ class OC_Migrate{ } /** - * @breif recursively deletes a directory + * @brief recursively deletes a directory * @param $dir string path of dir to delete * $param optional $deleteRootToo bool delete the root directory * @return bool @@ -323,7 +323,7 @@ class OC_Migrate{ } /** - * @breif copies recursively + * @brief copies recursively * @param $path string path to source folder * @param $dest string path to destination * @return bool @@ -354,7 +354,7 @@ class OC_Migrate{ } /** - * @breif tries to extract the import zip + * @brief tries to extract the import zip * @param $path string path to the zip * @return string path to extract location (with a trailing slash) or false on failure */ @@ -396,7 +396,7 @@ class OC_Migrate{ } /** - * @breif creates a migration.db in the users data dir with their app data in + * @brief creates a migration.db in the users data dir with their app data in * @return bool whether operation was successfull */ private static function exportAppData( ){ @@ -444,7 +444,7 @@ class OC_Migrate{ /** - * @breif generates json containing export info, and merges any data supplied + * @brief generates json containing export info, and merges any data supplied * @param optional $array array of data to include in the returned json * @return bool */ @@ -479,7 +479,7 @@ class OC_Migrate{ } /** - * @breif connects to migration.db, or creates if not found + * @brief connects to migration.db, or creates if not found * @param $db optional path to migration.db, defaults to user data dir * @return bool whether the operation was successful */ @@ -538,7 +538,7 @@ class OC_Migrate{ } /** - * @breif creates the tables in migration.db from an apps database.xml + * @brief creates the tables in migration.db from an apps database.xml * @param $appid string id of the app * @return bool whether the operation was successful */ @@ -592,7 +592,7 @@ class OC_Migrate{ } /** - * @breif tries to create the zip + * @brief tries to create the zip * @param $path string path to zip destination * @return bool */ @@ -612,7 +612,7 @@ class OC_Migrate{ } /** - * @breif returns an array of apps that support migration + * @brief returns an array of apps that support migration * @return array */ static public function getApps(){ @@ -627,7 +627,7 @@ class OC_Migrate{ } /** - * @breif imports a new user + * @brief imports a new user * @param $db string path to migration.db * @param $info object of migration info * @param $uid optional uid to use @@ -690,7 +690,7 @@ class OC_Migrate{ } /* - * @breif creates a new user in the database + * @brief creates a new user in the database * @param $uid string user_id of the user to be created * @param $hash string hash of the user to be created * @return bool result of user creation diff --git a/lib/migration/content.php b/lib/migration/content.php index d304051f3e6..7ef88f36e43 100644 --- a/lib/migration/content.php +++ b/lib/migration/content.php @@ -33,7 +33,7 @@ class OC_Migration_Content{ private $tmpfiles=false; /** - * @breif sets up the + * @brief sets up the * @param $zip ZipArchive object * @param optional $db a MDB2 database object (required for exporttype user) * @return bool @@ -51,7 +51,7 @@ class OC_Migration_Content{ } - // @breif prepares the db + // @brief prepares the db // @param $query the sql query to prepare public function prepare( $query ){ @@ -74,7 +74,7 @@ class OC_Migration_Content{ } /** - * @breif processes the db query + * @brief processes the db query * @param $query the query to process * @return string of processed query */ @@ -130,7 +130,7 @@ class OC_Migration_Content{ } /** - * @breif saves a sql data set into migration.db + * @brief saves a sql data set into migration.db * @param $data a sql data set returned from self::prepare()->query() * @param $options array of copyRows options * @return void @@ -175,7 +175,7 @@ class OC_Migration_Content{ } /** - * @breif adds a directory to the zip object + * @brief adds a directory to the zip object * @param $dir string path of the directory to add * @param $recursive bool * @param $internaldir string path of folder to add dir to in zip @@ -209,7 +209,7 @@ class OC_Migration_Content{ } /** - * @breif adds a file to the zip from a given string + * @brief adds a file to the zip from a given string * @param $data string of data to add * @param $path the relative path inside of the zip to save the file to * @return bool @@ -228,7 +228,7 @@ class OC_Migration_Content{ } /** - * @breif closes the zip, removes temp files + * @brief closes the zip, removes temp files * @return bool */ public function finish(){ @@ -241,7 +241,7 @@ class OC_Migration_Content{ } /** - * @breif cleans up after the zip + * @brief cleans up after the zip */ private function cleanup(){ // Delete tmp files @@ -249,4 +249,4 @@ class OC_Migration_Content{ unlink( $i ); } } -}
\ No newline at end of file +} diff --git a/lib/migration/provider.php b/lib/migration/provider.php index feae29f1354..91336f3019d 100644 --- a/lib/migration/provider.php +++ b/lib/migration/provider.php @@ -17,19 +17,19 @@ abstract class OC_Migration_Provider{ } /** - * @breif exports data for apps + * @brief exports data for apps * @return array appdata to be exported */ abstract function export( ); /** - * @breif imports data for the app + * @brief imports data for the app * @return void */ abstract function import( ); /** - * @breif sets the OC_Migration_Content object to $this->content + * @brief sets the OC_Migration_Content object to $this->content * @param $content a OC_Migration_Content object */ public function setData( $uid, $content, $info=null ){ @@ -43,7 +43,7 @@ abstract class OC_Migration_Provider{ } /** - * @breif returns the appid of the provider + * @brief returns the appid of the provider * @return string */ public function getID(){ |