From 878fc1d197e8f1474d2a739da2ddb4c0e7214931 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 8 Nov 2011 22:18:41 +0100 Subject: [PATCH 01/59] remove outdated remote storage prototype --- lib/filestorage/remote.php | 350 ------------------------------------- 1 file changed, 350 deletions(-) delete mode 100644 lib/filestorage/remote.php diff --git a/lib/filestorage/remote.php b/lib/filestorage/remote.php deleted file mode 100644 index 88bdbca481..0000000000 --- a/lib/filestorage/remote.php +++ /dev/null @@ -1,350 +0,0 @@ -. -* -*/ - -class OC_Filestorage_Remote extends OC_Filestorage{ - private $url; - private $username; - private $password; - private $remote=false; - private $statCache; - private $statCacheDir=false; - private $changed=array(); - - private function cacheDir($dir){ - if($this->statCacheDir!=$dir or $this->statCacheDir===false){ - $this->statCache=$this->remote->getFiles($dir); - $keys=array_keys($this->statCache); - $this->statCacheDir=$dir; - } - } - - public function __construct($arguments){ - $this->url=$arguments['url']; - $this->username=$arguments['username']; - $this->password=$arguments['password']; - } - private function connect(){ - if($this->remote===false){ - $this->remote=OC_Connect::connect($this->url,$this->username,$this->password); - } - } - public function mkdir($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $return=$this->remote->newFile($parent,$name,'dir'); - if($return){ - $this->notifyObservers($path,OC_FILEACTION_CREATE); - } - return $return; - } - public function rmdir($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $return=$this->remote->delete($parent,$name); - if($return){ - $this->notifyObservers($path,OC_FILEACTION_DELETE); - } - return $return; - } - public function opendir($path){ - $this->connect(); - $this->cacheDir($path); - $dirs=array_keys($this->statCache); - $id=uniqid(); - global $FAKEDIRS; - $FAKEDIRS[$id]=$dirs; - if($return=opendir("fakedir://$id")){ - $this->notifyObservers($path,OC_FILEACTION_READ); - } - return $return; - } - public function is_dir($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($path); - if($path=='' or $path=='/'){ - return true; - } - if(!isset($this->statCache[$name])){ - return false; - } - return ($this->statCache[$name]['type'=='dir']); - } - public function is_file($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return ($this->statCache[$name]['type'!='dir']); - } - public function stat($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return $false; - } - return $this->statCache[$name]; - } - public function filetype($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['type']; - } - public function filesize($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return $false; - } - return $this->statCache[$name]['size']; - } - public function is_readable($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['readable']; - } - public function is_writeable($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['writeable']; - } - public function file_exists($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - return isset($this->statCache[$name]); - } - public function readfile($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - readfile($file); - unlink($file); - } - public function filectime($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['ctime']; - } - public function filemtime($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['mtime']; - } - public function fileatime($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['atime']; - } - public function file_get_contents($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - file_get_contents($file); - unlink($file); - } - public function file_put_contents($path,$data){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - $file=tempnam(get_temp_dir(),'oc_'); - file_put_contents($file,$data); - if($return=$this->remote->sendTmpFile($file,$parent,$name)){ - $this->notifyObservers($path,OC_FILEACTION_WRITE); - } - } - public function unlink($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if($return=$this->remote->delete($paren,$name)){ - $this->notifyObservers($path,OC_FILEACTION_DELETE); - } - return $return; - } - public function rename($path1,$path2){ - $this->connect(); - $parent1=dirname($path1); - $name1=substr($path1,strlen($parent1)+1); - $parent2=dirname($path2); - $name2=substr($path2,strlen($parent2)+1); - if($return=$this->remote->move($parent1,$name1,$parent2,$name2)){ - $this->notifyObservers($path1.'->'.$path2,OC_FILEACTION_RENAME); - } - return $return; - } - public function copy($path1,$path2){ - $this->connect(); - $parent1=dirname($path1); - $name1=substr($path1,strlen($parent1)+1); - $parent2=dirname($path2); - $name2=substr($path2,strlen($parent2)+1); - if($return=$this->copy->rename($parent1,$name1,$parent2,$name2)){ - $this->notifyObservers($path1.'->'.$path2,OC_FILEACTION_RENAME); - } - return $return; - } - public function fopen($path,$mode){ - $this->connect(); - $changed=false; - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - $file=$this->remote->getFile($parent,$name); - if($return=fopen($file,$mode)){ - switch($mode){ - case 'r': - $this->notifyObservers($path,OC_FILEACTION_READ); - break; - case 'r+': - case 'w+': - case 'x+': - case 'a+': - $this->notifyObservers($path,OC_FILEACTION_READ | OC_FILEACTION_WRITE); - $this->changed[]=array('dir'=>$parent,'file'=>$name,'tmp'=>$file); - break; - case 'w': - case 'x': - case 'a': - $this->notifyObservers($path,OC_FILEACTION_WRITE); - $this->changed[]=array('dir'=>$parent,'file'=>$name,'tmp'=>$file); - break; - } - } - return $return; - } - - public function getMimeType($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if(substr($name,0,1)=='/'){ - $name=substr($name,1); - } - $this->cacheDir($parent); - if(!isset($this->statCache[$name])){ - return false; - } - return $this->statCache[$name]['mime']; - } - - public function toTmpFile($path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if(substr($name,0,1)=='/'){ - $name=substr($name,1); - } - $filename=$this->remote->getFile($parent,$name); - if($filename){ - $this->notifyObservers($path,OC_FILEACTION_READ); - return $filename; - }else{ - return false; - } - } - - public function fromTmpFile($tmpFile,$path){ - $this->connect(); - $parent=dirname($path); - $name=substr($path,strlen($parent)+1); - if($this->remote->sendTmpFile($tmpFile,$parent,$name)){ - $this->notifyObservers($path,OC_FILEACTION_CREATE); - return true; - }else{ - return false; - } - } - - public function delTree($dir) { - $this->connect(); - $parent=dirname($dir); - $name=substr($dir,strlen($parent)+1); - $return=$this->remote->delete($parent,$name); - if($return=rmdir($dir)){ - $this->notifyObservers($dir,OC_FILEACTION_DELETE); - } - return $return; - } - - public function find($path){ - return $this->getTree($path); - } - - public function getTree($dir) { - $this->connect(); - if($return=$this->remote->getTree($dir)){ - $this->notifyObservers($dir,OC_FILEACTION_READ); - } - return $return; - } - - public function __destruct(){ - foreach($this->changed as $changed){ - $this->remote->sendTmpFile($changed['tmp'],$changed['dir'],$changed['file']); - } - } -} From ec015a2e6806be90516e5cba009823050d98bcb0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 8 Nov 2011 22:21:25 +0100 Subject: [PATCH 02/59] remove the need to register storage providers, pass the classname during mounting instead --- apps/files_sharing/appinfo/app.php | 1 - apps/files_sharing/sharedstorage.php | 2 +- lib/base.php | 3 -- lib/filesystem.php | 47 +++++----------------------- lib/util.php | 2 +- 5 files changed, 9 insertions(+), 46 deletions(-) diff --git a/apps/files_sharing/appinfo/app.php b/apps/files_sharing/appinfo/app.php index c175142319..a675175a8b 100644 --- a/apps/files_sharing/appinfo/app.php +++ b/apps/files_sharing/appinfo/app.php @@ -5,7 +5,6 @@ require_once('apps/files_sharing/sharedstorage.php'); OC::$CLASSPATH['OC_Share'] = "apps/files_sharing/lib_share.php"; OC_Hook::connect("OC_Filesystem", "post_delete", "OC_Share", "deleteItem"); OC_Hook::connect("OC_Filesystem", "post_rename", "OC_Share", "renameItem"); -OC_Filesystem::registerStorageType("shared", "OC_Filestorage_Shared", array("datadir" => "string")); OC_Util::addScript("files_sharing", "share"); OC_Util::addScript("3rdparty", "chosen/chosen.jquery.min"); OC_Util::addStyle( 'files_sharing', 'sharing' ); diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index faf4e68d9b..5ab976aaf4 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -25,7 +25,7 @@ require_once( 'lib_share.php' ); if (!OC_Filesystem::is_dir('/Shared')) { OC_Filesystem::mkdir('/Shared'); } -OC_Filesystem::mount('shared',array('datadir'=>'/'.OC_User::getUser().'/files/Shared'),'/'.OC_User::getUser().'/files/Shared/'); +OC_Filesystem::mount('OC_Filestorage_Shared',array('datadir'=>'/'.OC_User::getUser().'/files/Shared'),'/'.OC_User::getUser().'/files/Shared/'); /** * Convert target path to source path and pass the function call to the correct storage provider diff --git a/lib/base.php b/lib/base.php index c52b4493e0..2d0bb5fb25 100644 --- a/lib/base.php +++ b/lib/base.php @@ -157,9 +157,6 @@ class OC{ OC_User::useBackend( OC_Config::getValue( "userbackend", "database" )); OC_Group::setBackend( OC_Config::getValue( "groupbackend", "database" )); - // Was in required file ... put it here - OC_Filesystem::registerStorageType('local','OC_Filestorage_Local',array('datadir'=>'string')); - // Set up file system unless forbidden global $RUNTIME_NOSETUPFS; if(!$RUNTIME_NOSETUPFS ){ diff --git a/lib/filesystem.php b/lib/filesystem.php index cae8ead5b1..e28a3c5667 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -46,35 +46,6 @@ class OC_Filesystem{ static private $storages=array(); static private $mounts=array(); static private $fakeRoot=''; - static private $storageTypes=array(); - - - /** - * register a storage type - * @param string type - * @param string classname - * @param array arguments an associative array in the form of name=>type (eg array('datadir'=>'string')) - */ - static public function registerStorageType($type,$classname,$arguments){ - self::$storageTypes[$type]=array('type'=>$type,'classname'=>$classname,'arguments'=>$arguments); - } - - /** - * check if the filesystem supports a specific storagetype - * @param string type - * @return bool - */ - static public function hasStorageType($type){ - return isset(self::$storageTypes[$type]); - } - - /** - * get the list of names of storagetypes that the filesystem supports - * @return array - */ - static public function getStorageTypeNames(){ - return array_keys(self::$storageTypes); - } /** * tear down the filesystem, removing all storage providers @@ -92,13 +63,9 @@ class OC_Filesystem{ * @param array arguments * @return OC_Filestorage */ - static private function createStorage($type,$arguments){ - if(!self::hasStorageType($type)){ - return false; - } - $className=self::$storageTypes[$type]['classname']; - if(class_exists($className)){ - return new $className($arguments); + static private function createStorage($class,$arguments){ + if(class_exists($class)){ + return new $class($arguments); }else{ return false; } @@ -164,11 +131,11 @@ class OC_Filesystem{ * @param OC_Filestorage storage * @param string mountpoint */ - static public function mount($type,$arguments,$mountpoint){ + static public function mount($class,$arguments,$mountpoint){ if(substr($mountpoint,0,1)!=='/'){ $mountpoint='/'.$mountpoint; } - self::$mounts[$mountpoint]=array('type'=>$type,'arguments'=>$arguments); + self::$mounts[$mountpoint]=array('class'=>$class,'arguments'=>$arguments); } /** @@ -181,7 +148,7 @@ class OC_Filesystem{ if($mountpoint){ if(!isset(self::$storages[$mountpoint])){ $mount=self::$mounts[$mountpoint]; - self::$storages[$mountpoint]=self::createStorage($mount['type'],$mount['arguments']); + self::$storages[$mountpoint]=self::createStorage($mount['class'],$mount['arguments']); } return self::$storages[$mountpoint]; } @@ -285,7 +252,7 @@ class OC_Filesystem{ return self::basicOperation('filemtime',$path); } static public function fileatime($path){ - return self::basicOperation('fileatime',$path); + return self::basicOperation('filemtime',$path); } static public function file_get_contents($path){ return self::basicOperation('file_get_contents',$path,array('read')); diff --git a/lib/util.php b/lib/util.php index 14313569a1..e010a572e3 100644 --- a/lib/util.php +++ b/lib/util.php @@ -37,7 +37,7 @@ class OC_Util { if( $user != "" ){ //if we aren't logged in, there is no use to set up the filesystem //first set up the local "root" storage - OC_Filesystem::mount('local',array('datadir'=>$CONFIG_DATADIRECTORY_ROOT),'/'); + OC_Filesystem::mount('OC_Filestorage_Local',array('datadir'=>$CONFIG_DATADIRECTORY_ROOT),'/'); OC::$CONFIG_DATADIRECTORY = $CONFIG_DATADIRECTORY_ROOT."/$user/$root"; if( !is_dir( OC::$CONFIG_DATADIRECTORY )){ From ca6c500799ec13c433ca74b8caa80875084c4943 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 8 Nov 2011 22:26:03 +0100 Subject: [PATCH 03/59] remove OC_Filesystem::fileatime --- apps/files_sharing/sharedstorage.php | 22 ---------------------- lib/fileproxy.php | 2 +- lib/filestorage.php | 1 - lib/filestorage/local.php | 3 --- lib/filesystem.php | 3 --- 5 files changed, 1 insertion(+), 30 deletions(-) diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index 5ab976aaf4..431b6a1adb 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -180,7 +180,6 @@ class OC_Filestorage_Shared extends OC_Filestorage { $stat["gid"] = ""; $stat["rdev"] = ""; $stat["size"] = $this->filesize($path); - $stat["atime"] = $this->fileatime($path); $stat["mtime"] = $this->filemtime($path); $stat["ctime"] = $this->filectime($path); $stat["blksize"] = ""; @@ -354,27 +353,6 @@ class OC_Filestorage_Shared extends OC_Filestorage { } } - public function fileatime($path) { - if ($path == "" || $path == "/") { - $atime = 0; - if ($dh = $this->opendir($path)) { - while (($filename = readdir($dh)) !== false) { - $tempatime = $this->fileatime($filename); - if ($tempatime > $atime) { - $atime = $tempatime; - } - } - return $atime; - } - } else { - $source = $this->getSource($path); - if ($source) { - $storage = OC_Filesystem::getStorage($source); - return $storage->fileatime($this->getInternalPath($source)); - } - } - } - public function file_get_contents($path) { $source = $this->getSource($path); if ($source) { diff --git a/lib/fileproxy.php b/lib/fileproxy.php index 549b7015a6..235fc8bf28 100644 --- a/lib/fileproxy.php +++ b/lib/fileproxy.php @@ -34,7 +34,7 @@ * A post-proxy recieves 2 arguments, the filepath and the result of the operation. * The return calue of the post-proxy will be used as the new result of the operation * The operations that have a post-proxy are - * file_get_contents, is_file, is_dir, file_exists, stat, is_readable, is_writable, fileatime, filemtime, filectime, file_get_contents, getMimeType, hash, free_space and search + * file_get_contents, is_file, is_dir, file_exists, stat, is_readable, is_writable, filemtime, filectime, file_get_contents, getMimeType, hash, free_space and search */ class OC_FileProxy{ diff --git a/lib/filestorage.php b/lib/filestorage.php index 34fa6457fd..90071a86db 100644 --- a/lib/filestorage.php +++ b/lib/filestorage.php @@ -39,7 +39,6 @@ class OC_Filestorage{ public function readfile($path){} public function filectime($path){} public function filemtime($path){} - public function fileatime($path){} public function file_get_contents($path){} public function file_put_contents($path,$data){} public function unlink($path){} diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php index 9e29f85071..7711116db3 100644 --- a/lib/filestorage/local.php +++ b/lib/filestorage/local.php @@ -67,9 +67,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ public function filemtime($path){ return filemtime($this->datadir.$path); } - public function fileatime($path){ - return fileatime($this->datadir.$path); - } public function file_get_contents($path){ return file_get_contents($this->datadir.$path); } diff --git a/lib/filesystem.php b/lib/filesystem.php index e28a3c5667..a25e869798 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -251,9 +251,6 @@ class OC_Filesystem{ static public function filemtime($path){ return self::basicOperation('filemtime',$path); } - static public function fileatime($path){ - return self::basicOperation('filemtime',$path); - } static public function file_get_contents($path){ return self::basicOperation('file_get_contents',$path,array('read')); } From 5cc6635eb81a8d76c04ee040a791f51ebbe389ef Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 8 Nov 2011 22:36:05 +0100 Subject: [PATCH 04/59] remove OC_Filesystem::fromUploadedFile --- apps/files_sharing/sharedstorage.php | 16 -------------- apps/files_texteditor/ajax/savefile.php | 2 +- files/ajax/upload.php | 2 +- lib/filestorage.php | 1 - lib/filestorage/local.php | 11 ---------- lib/filesystem.php | 28 ++++--------------------- 6 files changed, 6 insertions(+), 54 deletions(-) diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index 431b6a1adb..b37806c75d 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -481,22 +481,6 @@ class OC_Filestorage_Shared extends OC_Filestorage { } } - public function fromUploadedFile($tmpFile, $path) { - if ($this->is_writeable($path)) { - $source = $this->getSource($path); - if ($source) { - $storage = OC_Filesystem::getStorage($source); - $result = $storage->fromUploadedFile($tmpFile, $this->getInternalPath($source)); - if ($result) { - $this->clearFolderSizeCache($path); - } - return $result; - } - } else { - return false; - } - } - public function getMimeType($path) { $source = $this->getSource($path); if ($source) { diff --git a/apps/files_texteditor/ajax/savefile.php b/apps/files_texteditor/ajax/savefile.php index f1a2bafc12..a9777eb413 100644 --- a/apps/files_texteditor/ajax/savefile.php +++ b/apps/files_texteditor/ajax/savefile.php @@ -37,7 +37,7 @@ $sessionname = sha1('oc_file_hash_'.$path); function do_save($path,$filecontents){ $sessionname = md5('oc_file_hash_'.$path); - OC_Filesystem::update_session_file_hash($sessionname,sha1(htmlspecialchars($filecontents))); + $_SESSION[$sessionname] = sha1(htmlspecialchars($filecontents)); OC_Filesystem::file_put_contents($path, $filecontents); } diff --git a/files/ajax/upload.php b/files/ajax/upload.php index 041ec0c92e..d9dafde777 100644 --- a/files/ajax/upload.php +++ b/files/ajax/upload.php @@ -46,7 +46,7 @@ if(strpos($dir,'..') === false){ $fileCount=count($files['name']); for($i=0;$i<$fileCount;$i++){ $target=stripslashes($dir) . $files['name'][$i]; - if(OC_Filesystem::fromUploadedFile($files['tmp_name'][$i],$target)){ + if(is_uploaded_file($files['tmp_name'][$i]) and OC_Filesystem::fromTmpFile($files['tmp_name'][$i],$target)){ $result[]=array( "status" => "success", 'mime'=>OC_Filesystem::getMimeType($target),'size'=>OC_Filesystem::filesize($target),'name'=>$files['name'][$i]); } } diff --git a/lib/filestorage.php b/lib/filestorage.php index 90071a86db..70aaf985b8 100644 --- a/lib/filestorage.php +++ b/lib/filestorage.php @@ -47,7 +47,6 @@ class OC_Filestorage{ public function fopen($path,$mode){} public function toTmpFile($path){}//copy the file to a temporary file, used for cross-storage file actions public function fromTmpFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions - public function fromUploadedFile($tmpPath,$path){}//copy a file from a temporary file, used for cross-storage file actions public function getMimeType($path){} public function hash($type,$path,$raw){} public function free_space($path){} diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php index 7711116db3..b5d6023c49 100644 --- a/lib/filestorage/local.php +++ b/lib/filestorage/local.php @@ -189,17 +189,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ } } - public function fromUploadedFile($tmpFile,$path){ - $fileStats = stat($tmpFile); - if(move_uploaded_file($tmpFile,$this->datadir.$path)){ - touch($this->datadir.$path, $fileStats['mtime'], $fileStats['atime']); - $this->clearFolderSizeCache($path); - return true; - }else{ - return false; - } - } - private function delTree($dir) { $dirRelative=$dir; $dir=$this->datadir.$dir; diff --git a/lib/filesystem.php b/lib/filesystem.php index a25e869798..268f7ddbd2 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -200,6 +200,10 @@ class OC_Filesystem{ } } + /** + * following functions are equivilent to their php buildin equivilents for arguments/return values. + */ + static public function mkdir($path){ return self::basicOperation('mkdir',$path,array('create','write')); } @@ -362,26 +366,6 @@ class OC_Filesystem{ } } } - static public function fromUploadedFile($tmpFile,$path){ - if(OC_FileProxy::runPreProxies('fromUploadedFile',$tmpFile,$path) and self::canWrite($path) and $storage=self::getStorage($path)){ - $run=true; - $exists=self::file_exists($path); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'create', array( 'path' => $path, 'run' => &$run)); - } - if($run){ - OC_Hook::emit( 'OC_Filesystem', 'write', array( 'path' => $path, 'run' => &$run)); - } - if($run){ - $result=$storage->fromUploadedFile($tmpFile,self::getInternalPath($path)); - if(!$exists){ - OC_Hook::emit( 'OC_Filesystem', 'post_create', array( 'path' => $path)); - } - OC_Hook::emit( 'OC_Filesystem', 'post_write', array( 'path' => $path)); - return $result; - } - } - } static public function getMimeType($path){ return self::basicOperation('getMimeType',$path); } @@ -413,10 +397,6 @@ class OC_Filesystem{ } - static public function update_session_file_hash($sessionname,$sessionvalue){ - $_SESSION[$sessionname] = $sessionvalue; - } - /** * abstraction for running most basic operations * @param string $operation From 5a6aba1e1114707942c613c2402eed3237b43a21 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 9 Nov 2011 18:41:57 +0100 Subject: [PATCH 05/59] provide caching for file metadata --- apps/files_sharing/lib_share.php | 4 +- apps/files_sharing/sharedstorage.php | 12 +- db_structure.xml | 86 ++++++- files/templates/part.list.php | 4 +- lib/filecache.php | 331 +++++++++++++++++++++++++++ lib/files.php | 41 +--- lib/filestorage/local.php | 83 +------ lib/filesystem.php | 9 + lib/util.php | 5 + 9 files changed, 446 insertions(+), 129 deletions(-) create mode 100644 lib/filecache.php diff --git a/apps/files_sharing/lib_share.php b/apps/files_sharing/lib_share.php index cde33fd1dc..c1957d7b6c 100644 --- a/apps/files_sharing/lib_share.php +++ b/apps/files_sharing/lib_share.php @@ -89,8 +89,8 @@ class OC_Share { } $query->execute(array($uid_owner, $uid, $source, $target, $permissions)); // Clear the folder size cache for the 'Shared' folder - $clearFolderSize = OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?"); - $clearFolderSize->execute(array($sharedFolder)); +// $clearFolderSize = OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?"); +// $clearFolderSize->execute(array($sharedFolder)); } } } diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index b37806c75d..5e5360e899 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -225,8 +225,8 @@ class OC_Filestorage_Shared extends OC_Filestorage { $path = ltrim($path, "/"); $path = preg_replace('{(/)\1+}', "/", $path); $dbpath = rtrim($this->datadir.$path, "/"); - $query = OC_DB::prepare("SELECT size FROM *PREFIX*foldersize WHERE path = ?"); - $size = $query->execute(array($dbpath))->fetchAll(); +// $query = OC_DB::prepare("SELECT size FROM *PREFIX*foldersize WHERE path = ?"); +// $size = $query->execute(array($dbpath))->fetchAll(); if (count($size) > 0) { return $size[0]['size']; } else { @@ -252,8 +252,8 @@ class OC_Filestorage_Shared extends OC_Filestorage { } if ($size > 0) { $dbpath = rtrim($this->datadir.$path, "/"); - $query = OC_DB::prepare("INSERT INTO *PREFIX*foldersize VALUES(?,?)"); - $result = $query->execute(array($dbpath, $size)); +// $query = OC_DB::prepare("INSERT INTO *PREFIX*foldersize VALUES(?,?)"); +// $result = $query->execute(array($dbpath, $size)); } } return $size; @@ -266,8 +266,8 @@ class OC_Filestorage_Shared extends OC_Filestorage { $path = dirname($path); } $dbpath = rtrim($this->datadir.$path, "/"); - $query = OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?"); - $result = $query->execute(array($dbpath)); +// $query = OC_DB::prepare("DELETE FROM *PREFIX*/*foldersize*/ WHERE path = ?"); +// $result = $query->execute(array($dbpath)); if ($path != "/" && $path != "") { $parts = explode("/", $path); $part = array_pop($parts); diff --git a/db_structure.xml b/db_structure.xml index ddb8c44d19..c7fa423e14 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -43,10 +43,19 @@ - *dbprefix*foldersize + *dbprefix*fscache + + id + 1 + integer + 0 + true + 4 + + path text @@ -55,6 +64,24 @@ 512 + + parent + integer + + + true + 4 + + + + name + text + + + true + 512 + + size integer @@ -63,14 +90,71 @@ 4 + + ctime + integer + + + true + 4 + + + + mtime + integer + + + true + 4 + + + + mimetype + text + + + true + 32 + + + + mimepart + text + + + true + 32 + + path_index + true path ascending + + parent_index + + parent + ascending + + + + + parent_name_index + + parent + ascending + + + name + ascending + + +
diff --git a/files/templates/part.list.php b/files/templates/part.list.php index 46830ba3a3..7ae5756c22 100644 --- a/files/templates/part.list.php +++ b/files/templates/part.list.php @@ -5,8 +5,8 @@ $relative_modified_date = relative_modified_date($file['mtime']); $relative_date_color = round((time()-$file['mtime'])/60/60/24*14); // the older the file, the brighter the shade of grey; days*14 if($relative_date_color>200) $relative_date_color = 200; ?> - '> - + '> + diff --git a/lib/filecache.php b/lib/filecache.php new file mode 100644 index 0000000000..41e31b5de2 --- /dev/null +++ b/lib/filecache.php @@ -0,0 +1,331 @@ +. +* +*/ + +/** + * provide caching for filesystem info in the database + * + * not used by OC_Filesystem for reading filesystem info, + * instread apps should use OC_FileCache::get where possible + * + * It will try to keep the data up to date but changes from outside ownCloud can invalidate the cache + */ +class OC_FileCache{ + /** + * get the filesystem info from the cache + * @param string path + * @return array + * + * returns an assiciative array with the following keys: + * - size + * - mtime + * - ctime + * - mimetype + */ + public static function get($path){ + $path=OC_Filesystem::getRoot().$path; + $query=OC_DB::prepare('SELECT ctime,mtime,mimetype,size FROM *PREFIX*fscache WHERE path=?'); + $result=$query->execute(array($path))->fetchRow(); + if(is_array($result)){ + return $result; + }else{ + OC_Log::write('file not found in cache ('.$path.')','core',OC_Log::DEBUG); + return false; + } + } + + /** + * put filesystem info in the cache + * @param string $path + * @param array data + * + * $data is an assiciative array in the same format as returned by get + */ + public static function put($path,$data){ + $path=OC_Filesystem::getRoot().$path; + if($id=self::getFileId($path)!=-1){ + self::update($id,$data); + } + if($path=='/'){ + $parent=-1; + }else{ + $parent=self::getFileId(dirname($path)); + } + $mimePart=dirname($data['mimetype']); + $query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart) VALUES(?,?,?,?,?,?,?,?)'); + $query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart)); + + } + + /** + * update filesystem info of a file + * @param int $id + * @param array $data + */ + private static function update($id,$data){ + $mimePart=dirname($data['mimetype']); + $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET size=? ,mtime=? ,ctime=? ,mimetype=? , mimepart=? WHERE id=?'); + $query->execute(array($data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart,$id)); + } + + /** + * register a file move in the cache + * @param string oldPath + * @param string newPath + */ + public static function move($oldPath,$newPath){ + $oldPath=OC_Filesystem::getRoot().$oldPath; + $newPath=OC_Filesystem::getRoot().$newPath; + $newParent=self::getParentId($newPath); + $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET parent=? ,name=?, path=? WHERE path=?'); + $query->execute(array($newParent,basename($newPath),$newPath,$oldPath)); + } + + /** + * delete info from the cache + * @param string $path + */ + public static function delete($path){ + $path=OC_Filesystem::getRoot().$path; + $query=OC_DB::prepare('DELETE FROM *PREFIX*fscache WHERE path=?'); + $query->execute(array($path)); + } + + /** + * return array of filenames matching the querty + * @param string $query + * @return array of filepaths + */ + public static function search($query){ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ?'); + $result=$query->execute(array("%$query%")); + $names=array(); + while($row=$result->fetchRow()){ + $names[]=$row['path']; + } + return $names; + } + + /** + * get all files and folders in a folder + * @param string path + * @return array + * + * returns an array of assiciative arrays with the following keys: + * - name + * - size + * - mtime + * - ctime + * - mimetype + */ + public static function getFolderContent($path){ + $path=OC_Filesystem::getRoot().$path; + $parent=self::getFileId($path); + $query=OC_DB::prepare('SELECT name,ctime,mtime,mimetype,size FROM *PREFIX*fscache WHERE parent=?'); + $result=$query->execute(array($parent))->fetchAll(); + if(is_array($result)){ + return $result; + }else{ + OC_Log::write('file not found in cache ('.$path.')','core',OC_Log::DEBUG); + return false; + } + } + + /** + * check if a file or folder is in the cache + * @param string $path + * @return bool + */ + public static function inCache($path){ + $path=OC_Filesystem::getRoot().$path; + $inCache=self::getFileId($path)!=-1; + return $inCache; + } + + /** + * get the file id as used in the cache + * @param string $path + * @return int + */ + private static function getFileId($path){ + $query=OC_DB::prepare('SELECT id FROM *PREFIX*fscache WHERE path=?'); + $result=$query->execute(array($path))->fetchRow(); + if(is_array($result)){ + return $result['id']; + }else{ + OC_Log::write('file not found in cache ('.$path.')','core',OC_Log::DEBUG); + return -1; + } + } + + /** + * get the file id of the parent folder, taking into account '/' has no parent + * @param string $path + * @return int + */ + private static function getParentId($path){ + if($path=='/'){ + return -1; + }else{ + return self::getFileId(dirname($path)); + } + } + + /** + * called when changes are made to files + */ + public static function fileSystemWatcherWrite($params){ + $path=$params['path']; + $fullPath=OC_Filesystem::getRoot().$path; + $mimetype=OC_Filesystem::getMimeType($path); + if($mimetype=='httpd/unix-directory'){ + $size=0; + }else{ + if(($id=self::getFileId($fullPath))!=-1){ + $oldInfo=self::get($fullPath); + $oldSize=$oldInfo['size']; + }else{ + $oldSize=0; + } + $size=OC_Filesystem::filesize($path); + self::increaseSize(dirname($fullPath),$size-$oldSize); + } + $mtime=OC_Filesystem::filemtime($path); + $ctime=OC_Filesystem::filectime($path); + self::put($path,array('size'=>$size,'mtime'=>$mtime,'ctime'=>$ctime,'mimetype'=>$mimetype)); + } + + /** + * called when files are deleted + */ + public static function fileSystemWatcherDelete($params){ + $path=$params['path']; + $fullPath=OC_Filesystem::getRoot().$path; + error_log("delete $path"); + if(self::getFileId($fullPath)==-1){ + return; + } + $size=OC_Filesystem::filesize($path); + self::increaseSize(dirname($fullPath),-$size); + self::delete($path); + } + + /** + * called when files are deleted + */ + public static function fileSystemWatcherRename($params){ + $oldPath=$params['oldpath']; + $newPath=$params['newpath']; + $fullOldPath=OC_Filesystem::getRoot().$oldPath; + $fullNewPath=OC_Filesystem::getRoot().$newPath; + if(($id=self::getFileId($fullOldPath))!=-1){ + $oldInfo=self::get($fullOldPath); + $oldSize=$oldInfo['size']; + }else{ + return; + } + $size=OC_Filesystem::filesize($oldPath); + self::increaseSize(dirname($fullOldPath),-$oldSize); + self::increaseSize(dirname($fullNewPath),$oldSize); + self::move($oldPath,$newPath); + } + + /** + * adjust the size of the parent folders + * @param string $path + * @param int $sizeDiff + */ + private static function increaseSize($path,$sizeDiff){ + while(($id=self::getFileId($path))!=-1){ + $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET size=size+? WHERE id=?'); + error_log('diff '.$path.' '.$sizeDiff); + $query->execute(array($sizeDiff,$id)); + $path=dirname($path); + } + } + + /** + * recursively scan the filesystem and fill the cache + * @param string $path + * @param bool $onlyChilds + */ + public static function scan($path,$onlyChilds=false){//PROBLEM due to the order things are added, all parents are -1 + $dh=OC_Filesystem::opendir($path); + $stat=OC_Filesystem::stat($path); + $mimetype=OC_Filesystem::getMimeType($path); + $stat['mimetype']=$mimetype; + if($path=='/'){ + $path=''; + } + self::put($path,$stat); + $fullPath=OC_Filesystem::getRoot().$path; + $totalSize=0; + if($dh){ + while (($filename = readdir($dh)) !== false) { + if($filename != '.' and $filename != '..'){ + $file=$path.'/'.$filename; + if(OC_Filesystem::is_dir($file)){ + self::scan($file,true); + }else{ + $stat=OC_Filesystem::stat($file); + $mimetype=OC_Filesystem::getMimeType($file); + $stat['mimetype']=$mimetype; + self::put($file,$stat); + $totalSize+=$stat['size']; + } + } + } + } + self::increaseSize($fullPath,$totalSize); + } + + /** + * fine files by mimetype + * @param string $part1 + * @param string $part2 (optional) + * @return array of file paths + * + * $part1 and $part2 together form the complete mimetype. + * e.g. searchByMime('text','plain') + * + * seccond mimetype part can be ommited + * e.g. searchByMime('audio') + */ + public static function searchByMime($part1,$part2=''){ + if($part2){ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimepart=?'); + $result=$query->execute(array($part1)); + }else{ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE mimetype=?'); + $result=$query->execute(array($part1.'/'.$part2)); + } + $names=array(); + while($row=$result->fetchRow()){ + $names[]=$row['path']; + } + return $names; + } +} + +//watch for changes and try to keep the cache up to date +OC_Hook::connect('OC_Filesystem','post_write','OC_FileCache','fileSystemWatcherWrite'); +OC_Hook::connect('OC_Filesystem','delete','OC_FileCache','fileSystemWatcherDelete'); +OC_Hook::connect('OC_Filesystem','rename','OC_FileCache','fileSystemWatcherRename'); + diff --git a/lib/files.php b/lib/files.php index 88b559059f..143aab5c72 100644 --- a/lib/files.php +++ b/lib/files.php @@ -36,44 +36,13 @@ class OC_Files { if(strpos($directory,OC::$CONFIG_DATADIRECTORY)===0){ $directory=substr($directory,strlen(OC::$CONFIG_DATADIRECTORY)); } - $filesfound=true; - $content=array(); - $dirs=array(); - $file=array(); - $files=array(); - if(OC_Filesystem::is_dir($directory)) { - if ($dh = OC_Filesystem::opendir($directory)) { - while (($filename = readdir($dh)) !== false) { - if($filename<>'.' and $filename<>'..' and substr($filename,0,1)!='.'){ - $file=array(); - $filesfound=true; - $file['name']=$filename; - $file['directory']=$directory; - $stat=OC_Filesystem::stat($directory.'/'.$filename); - $file=array_merge($file,$stat); - $file['size']=OC_Filesystem::filesize($directory.'/'.$filename); - $file['mime']=OC_Files::getMimeType($directory .'/'. $filename); - $file['readable']=OC_Filesystem::is_readable($directory .'/'. $filename); - $file['writeable']=OC_Filesystem::is_writeable($directory .'/'. $filename); - $file['type']=OC_Filesystem::filetype($directory .'/'. $filename); - if($file['type']=='dir'){ - $dirs[$file['name']]=$file; - }else{ - $files[$file['name']]=$file; - } - } - } - closedir($dh); - } + $files=OC_FileCache::getFolderContent($directory); + foreach($files as &$file){ + $file['directory']=$directory; + $file['type']=($file['mimetype']=='httpd/unix-directory')?'dir':'file'; } - uksort($dirs, "strnatcasecmp"); uksort($files, "strnatcasecmp"); - $content=array_merge($dirs,$files); - if($filesfound){ - return $content; - }else{ - return false; - } + return $files; } diff --git a/lib/filestorage/local.php b/lib/filestorage/local.php index b5d6023c49..87efdb15ad 100644 --- a/lib/filestorage/local.php +++ b/lib/filestorage/local.php @@ -13,13 +13,11 @@ class OC_Filestorage_Local extends OC_Filestorage{ } public function mkdir($path){ if($return=mkdir($this->datadir.$path)){ - $this->clearFolderSizeCache($path); } return $return; } public function rmdir($path){ if($return=rmdir($this->datadir.$path)){ - $this->clearFolderSizeCache($path); } return $return; } @@ -72,12 +70,10 @@ class OC_Filestorage_Local extends OC_Filestorage{ } public function file_put_contents($path,$data){ if($return=file_put_contents($this->datadir.$path,$data)){ - $this->clearFolderSizeCache($path); } } public function unlink($path){ $return=$this->delTree($path); - $this->clearFolderSizeCache($path); return $return; } public function rename($path1,$path2){ @@ -87,8 +83,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ } if($return=rename($this->datadir.$path1,$this->datadir.$path2)){ - $this->clearFolderSizeCache($path1); - $this->clearFolderSizeCache($path2); } return $return; } @@ -101,7 +95,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ $path2.=$source; } if($return=copy($this->datadir.$path1,$this->datadir.$path2)){ - $this->clearFolderSizeCache($path2); } return $return; } @@ -114,12 +107,10 @@ class OC_Filestorage_Local extends OC_Filestorage{ case 'w+': case 'x+': case 'a+': - $this->clearFolderSizeCache($path); break; case 'w': case 'x': case 'a': - $this->clearFolderSizeCache($path); break; } } @@ -182,7 +173,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ $fileStats = stat($tmpFile); if(rename($tmpFile,$this->datadir.$path)){ touch($this->datadir.$path, $fileStats['mtime'], $fileStats['atime']); - $this->clearFolderSizeCache($path); return true; }else{ return false; @@ -198,7 +188,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ if ($item == '.' || $item == '..') continue; if(is_file($dir.'/'.$item)){ if(unlink($dir.'/'.$item)){ - $this->clearFolderSizeCache($dir); } }elseif(is_dir($dir.'/'.$item)){ if (!$this->delTree($dirRelative. "/" . $item)){ @@ -207,7 +196,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ } } if($return=rmdir($dir)){ - $this->clearFolderSizeCache($dir); } return $return; } @@ -247,75 +235,6 @@ class OC_Filestorage_Local extends OC_Filestorage{ * @return int size of folder and it's content */ public function getFolderSize($path){ - $path=str_replace('//','/',$path); - if($this->is_dir($path) and substr($path,-1)!='/'){ - $path.='/'; - } - $query=OC_DB::prepare("SELECT size FROM *PREFIX*foldersize WHERE path=?"); - $size=$query->execute(array($path))->fetchAll(); - if(count($size)>0){// we already the size, just return it - return $size[0]['size']; - }else{//the size of the folder isn't know, calulate it - return $this->calculateFolderSize($path); - } - } - - /** - * @brief calulate the size of folder and it's content and cache it - * @param string $path file path - * @return int size of folder and it's content - */ - public function calculateFolderSize($path){ - if($this->is_file($path)){ - $path=dirname($path); - } - $path=str_replace('//','/',$path); - if($this->is_dir($path) and substr($path,-1)!='/'){ - $path.='/'; - } - $size=0; - if ($dh = $this->opendir($path)) { - while (($filename = readdir($dh)) !== false) { - if($filename!='.' and $filename!='..'){ - $subFile=$path.'/'.$filename; - if($this->is_file($subFile)){ - $size+=$this->filesize($subFile); - }else{ - $size+=$this->getFolderSize($subFile); - } - } - } - if($size>0){ - $query=OC_DB::prepare("INSERT INTO *PREFIX*foldersize VALUES(?,?)"); - $result=$query->execute(array($path,$size)); - } - } - return $size; - } - - /** - * @brief clear the folder size cache of folders containing a file - * @param string $path - */ - public function clearFolderSizeCache($path){ - if($this->is_file($path)){ - $path=dirname($path); - } - $path=str_replace('//','/',$path); - if($this->is_dir($path) and substr($path,-1)!='/'){ - $path.='/'; - } - $query=OC_DB::prepare("DELETE FROM *PREFIX*foldersize WHERE path = ?"); - $result=$query->execute(array($path)); - if($path!='/' and $path!=''){ - $parts=explode('/',$path); - //pop empty part - $part=array_pop($parts); - if(empty($part)){ - array_pop($parts); - } - $parent=implode('/',$parts); - $this->clearFolderSizeCache($parent); - } + return 0;//depricated, use OC_FileCach instead } } diff --git a/lib/filesystem.php b/lib/filesystem.php index 268f7ddbd2..bd68831a71 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -42,6 +42,7 @@ * * the &run parameter can be set to false to prevent the operation from occuring */ + class OC_Filesystem{ static private $storages=array(); static private $mounts=array(); @@ -84,6 +85,14 @@ class OC_Filesystem{ } self::$fakeRoot=$fakeRoot; } + + /** + * get the fake root + * @return string + */ + static public function getRoot(){ + return self::$fakeRoot; + } /** * get the part of the path relative to the mountpoint of the storage it's stored in diff --git a/lib/util.php b/lib/util.php index e010a572e3..b20e8e69e7 100644 --- a/lib/util.php +++ b/lib/util.php @@ -49,6 +49,11 @@ class OC_Util { $quotaProxy=new OC_FileProxy_Quota(); OC_FileProxy::register($quotaProxy); self::$fsSetup=true; + + //create the file cache if necesary + if(!OC_FileCache::inCache('')){ + OC_FileCache::scan(''); + } } } From 524e3686a0da79493a6048d8d92b7bbb0982ec08 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 10 Nov 2011 16:40:09 +0100 Subject: [PATCH 06/59] tell the user when the files are being scanned --- apps/files_sharing/sharedstorage.php | 29 ++++++--------------------- files/ajax/scan.php | 16 +++++++++++++++ files/css/files.css | 4 +++- files/js/files.js | 19 ++++++++++++++++++ files/templates/index.php | 5 +++++ lib/filecache.php | 2 ++ lib/util.php | 5 ----- owncloud.db.filesystem | Bin 0 -> 2348032 bytes 8 files changed, 51 insertions(+), 29 deletions(-) create mode 100644 files/ajax/scan.php create mode 100644 owncloud.db.filesystem diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index 5e5360e899..f7849d499f 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -172,18 +172,9 @@ class OC_Filestorage_Shared extends OC_Filestorage { // TODO fill in other components of array public function stat($path) { if ($path == "" || $path == "/") { - $stat["dev"] = ""; - $stat["ino"] = ""; - $stat["mode"] = ""; - $stat["nlink"] = ""; - $stat["uid"] = ""; - $stat["gid"] = ""; - $stat["rdev"] = ""; $stat["size"] = $this->filesize($path); $stat["mtime"] = $this->filemtime($path); $stat["ctime"] = $this->filectime($path); - $stat["blksize"] = ""; - $stat["blocks"] = ""; return $stat; } else { $source = $this->getSource($path); @@ -220,18 +211,7 @@ class OC_Filestorage_Shared extends OC_Filestorage { } public function getFolderSize($path) { - // Shared folder sizes are cached separately from the source folder sizes because folders can have different names - $path = rtrim($path, "/"); - $path = ltrim($path, "/"); - $path = preg_replace('{(/)\1+}', "/", $path); - $dbpath = rtrim($this->datadir.$path, "/"); -// $query = OC_DB::prepare("SELECT size FROM *PREFIX*foldersize WHERE path = ?"); -// $size = $query->execute(array($dbpath))->fetchAll(); - if (count($size) > 0) { - return $size[0]['size']; - } else { - return $this->calculateFolderSize($path); - } + return 0; //depricated } private function calculateFolderSize($path) { @@ -321,8 +301,8 @@ class OC_Filestorage_Shared extends OC_Filestorage { $ctime = $tempctime; } } - return $ctime; } + return $ctime; } else { $source = $this->getSource($path); if ($source) { @@ -342,8 +322,8 @@ class OC_Filestorage_Shared extends OC_Filestorage { $mtime = $tempmtime; } } - return $mtime; } + return $mtime; } else { $source = $this->getSource($path); if ($source) { @@ -482,6 +462,9 @@ class OC_Filestorage_Shared extends OC_Filestorage { } public function getMimeType($path) { + if ($path2 == "" || $path2 == "/") { + return 'httpd/unix-directory'; + } $source = $this->getSource($path); if ($source) { $storage = OC_Filesystem::getStorage($source); diff --git a/files/ajax/scan.php b/files/ajax/scan.php new file mode 100644 index 0000000000..dec949a819 --- /dev/null +++ b/files/ajax/scan.php @@ -0,0 +1,16 @@ + array( "done" => true))); +}else{ + OC_JSON::success(array("data" => array( "done" => false))); +} \ No newline at end of file diff --git a/files/css/files.css b/files/css/files.css index 22f4810d0a..39f0b9fe78 100644 --- a/files/css/files.css +++ b/files/css/files.css @@ -73,4 +73,6 @@ table thead.fixed { height:2em; } /* add breadcrumb divider to the File item in navigation panel */ #navigation>ul>li:first-child { background:url('../../core/img/breadcrumb-start.svg') no-repeat 12.5em 0px; width:12.5em; padding-right:1em; position:fixed; } -#navigation>ul>li:first-child+li { padding-top:2.9em; } \ No newline at end of file +#navigation>ul>li:first-child+li { padding-top:2.9em; } + +#scanning-message{ top:40%; left:40%; position:absolute; display:none } \ No newline at end of file diff --git a/files/js/files.js b/files/js/files.js index 4eaa098241..4dca1a110e 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -334,8 +334,27 @@ $(document).ready(function() { $('#new>a').click(); }); }); + + //check if we need to scan the filesystem + $.get(OC.filePath('files','ajax','scan.php'),{checkonly:'true'}, function(response) { + if(response.data.done){ + scanFiles(); + } + }, "json"); }); +function scanFiles(force){ + force=!!force; //cast to bool + $('#scanning-message').show(); + $.get(OC.filePath('files','ajax','scan.php'), function(response) { + if(response && response.data && response.data.done){ + window.location.reload(); + }else{ + alert('error') + } + }, "json"); +} + function boolOperationFinished(data, callback) { result = jQuery.parseJSON(data.responseText); if(result.status == 'success'){ diff --git a/files/templates/index.php b/files/templates/index.php index 722c38e477..21a4e2df01 100644 --- a/files/templates/index.php +++ b/files/templates/index.php @@ -63,3 +63,8 @@ if (isset($_['files'])) { t('The files you are trying to upload exceed the maximum size for file uploads on this server.');?>

+
+

+ t('Files are being scanned, please wait.');?> +

+
diff --git a/lib/filecache.php b/lib/filecache.php index 41e31b5de2..902a8052af 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -70,6 +70,8 @@ class OC_FileCache{ } $mimePart=dirname($data['mimetype']); $query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart) VALUES(?,?,?,?,?,?,?,?)'); +// echo $path; +// print_r($data); $query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart)); } diff --git a/lib/util.php b/lib/util.php index b20e8e69e7..e010a572e3 100644 --- a/lib/util.php +++ b/lib/util.php @@ -49,11 +49,6 @@ class OC_Util { $quotaProxy=new OC_FileProxy_Quota(); OC_FileProxy::register($quotaProxy); self::$fsSetup=true; - - //create the file cache if necesary - if(!OC_FileCache::inCache('')){ - OC_FileCache::scan(''); - } } } diff --git a/owncloud.db.filesystem b/owncloud.db.filesystem new file mode 100644 index 0000000000000000000000000000000000000000..082977a37eff00bc5a0e6aeffa6a8fa9f57025fd GIT binary patch literal 2348032 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%0A`O%8%9QYO{Jk{aR{Xzs{G*F1f1px5(I$0U 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 Date: Thu, 10 Nov 2011 16:53:08 +0100 Subject: [PATCH 07/59] always load the filecache --- lib/filesystem.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/filesystem.php b/lib/filesystem.php index bd68831a71..93f5242333 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -443,3 +443,5 @@ class OC_Filesystem{ return null; } } + +require_once('filecache.php'); From 5a8235eca0c282d79d48f65a5419c6c855ecdc36 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 10 Nov 2011 16:54:45 +0100 Subject: [PATCH 08/59] use force parameter --- files/js/files.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/js/files.js b/files/js/files.js index 4dca1a110e..3e1bffccca 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -346,7 +346,7 @@ $(document).ready(function() { function scanFiles(force){ force=!!force; //cast to bool $('#scanning-message').show(); - $.get(OC.filePath('files','ajax','scan.php'), function(response) { + $.get(OC.filePath('files','ajax','scan.php'),{force:force}, function(response) { if(response && response.data && response.data.done){ window.location.reload(); }else{ From b2f2a8774586a49dee066a1fef674b26c04c5755 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 10 Nov 2011 23:50:43 +0100 Subject: [PATCH 09/59] use cache for searching files --- lib/filecache.php | 6 +++--- lib/filesystem.php | 16 +++++++--------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/filecache.php b/lib/filecache.php index 902a8052af..db3d6ca1d5 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -62,6 +62,7 @@ class OC_FileCache{ $path=OC_Filesystem::getRoot().$path; if($id=self::getFileId($path)!=-1){ self::update($id,$data); + return; } if($path=='/'){ $parent=-1; @@ -115,9 +116,9 @@ class OC_FileCache{ * @param string $query * @return array of filepaths */ - public static function search($query){ + public static function search($search){ $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ?'); - $result=$query->execute(array("%$query%")); + $result=$query->execute(array("%$search%")); $names=array(); while($row=$result->fetchRow()){ $names[]=$row['path']; @@ -330,4 +331,3 @@ class OC_FileCache{ OC_Hook::connect('OC_Filesystem','post_write','OC_FileCache','fileSystemWatcherWrite'); OC_Hook::connect('OC_Filesystem','delete','OC_FileCache','fileSystemWatcherDelete'); OC_Hook::connect('OC_Filesystem','rename','OC_FileCache','fileSystemWatcherRename'); - diff --git a/lib/filesystem.php b/lib/filesystem.php index 93f5242333..c3830b3416 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -390,15 +390,13 @@ class OC_Filesystem{ $files=array(); $fakeRoot=self::$fakeRoot; $fakeRootLength=strlen($fakeRoot); - foreach(self::$storages as $mountpoint=>$storage){ - $results=$storage->search($query); - if(is_array($results)){ - foreach($results as $result){ - $file=str_replace('//','/',$mountpoint.$result); - if(substr($file,0,$fakeRootLength)==$fakeRoot){ - $file=substr($file,$fakeRootLength); - $files[]=$file; - } + $results=OC_FileCache::search($query); + if(is_array($results)){ + foreach($results as $result){ + $file=str_replace('//','/',$mountpoint.$result); + if(substr($file,0,$fakeRootLength)==$fakeRoot){ + $file=substr($file,$fakeRootLength); + $files[]=$file; } } } From 024f4375b6fc476033dbd13f03e663076d44398b Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 12 Nov 2011 01:00:04 +0100 Subject: [PATCH 10/59] keep encrypted and versioned flag in fscache --- db_structure.xml | 16 +++++++++++++++ lib/filecache.php | 50 +++++++++++++++++++++++++++++++++-------------- 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/db_structure.xml b/db_structure.xml index c7fa423e14..39dea564b0 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -126,6 +126,22 @@ 32 + + encrypted + integer + 0 + true + 1 + + + + versioned + integer + 0 + true + 1 + + path_index true diff --git a/lib/filecache.php b/lib/filecache.php index db3d6ca1d5..928fc02e66 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -38,10 +38,12 @@ class OC_FileCache{ * - mtime * - ctime * - mimetype + * - encrypted + * - versioned */ public static function get($path){ $path=OC_Filesystem::getRoot().$path; - $query=OC_DB::prepare('SELECT ctime,mtime,mimetype,size FROM *PREFIX*fscache WHERE path=?'); + $query=OC_DB::prepare('SELECT ctime,mtime,mimetype,size,encrypted,versioned FROM *PREFIX*fscache WHERE path=?'); $result=$query->execute(array($path))->fetchRow(); if(is_array($result)){ return $result; @@ -60,19 +62,24 @@ class OC_FileCache{ */ public static function put($path,$data){ $path=OC_Filesystem::getRoot().$path; - if($id=self::getFileId($path)!=-1){ - self::update($id,$data); - return; - } if($path=='/'){ $parent=-1; }else{ $parent=self::getFileId(dirname($path)); } + $id=self::getFileId($path); + if($id!=-1){ + self::update($id,$data); + return; + } + if(!isset($data['encrypted'])){ + $data['encrypted']=false; + } + if(!isset($data['versioned'])){ + $data['versioned']=false; + } $mimePart=dirname($data['mimetype']); $query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart) VALUES(?,?,?,?,?,?,?,?)'); -// echo $path; -// print_r($data); $query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart)); } @@ -83,9 +90,21 @@ class OC_FileCache{ * @param array $data */ private static function update($id,$data){ - $mimePart=dirname($data['mimetype']); - $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET size=? ,mtime=? ,ctime=? ,mimetype=? , mimepart=? WHERE id=?'); - $query->execute(array($data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart,$id)); + $arguments=array(); + $queryParts=array(); + foreach(array('size','mtime','ctime','mimetype','encrypted','versioned') as $attribute){ + if(isset($data[$attribute])){ + $arguments[]=$data[$attribute]; + $queryParts[]=$attribute.'=?'; + } + } + if(isset($data['mimetype'])){ + $arguments[]=dirname($data['mimetype']); + $queryParts[]='mimepart=?'; + } + $arguments[]=$id; + $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET '.implode(' , ',$queryParts).' WHERE id=?'); + $query->execute($arguments); } /** @@ -137,11 +156,13 @@ class OC_FileCache{ * - mtime * - ctime * - mimetype + * - encrypted + * - versioned */ public static function getFolderContent($path){ $path=OC_Filesystem::getRoot().$path; $parent=self::getFileId($path); - $query=OC_DB::prepare('SELECT name,ctime,mtime,mimetype,size FROM *PREFIX*fscache WHERE parent=?'); + $query=OC_DB::prepare('SELECT name,ctime,mtime,mimetype,size,encrypted,versioned FROM *PREFIX*fscache WHERE parent=?'); $result=$query->execute(array($parent))->fetchAll(); if(is_array($result)){ return $result; @@ -201,8 +222,9 @@ class OC_FileCache{ if($mimetype=='httpd/unix-directory'){ $size=0; }else{ - if(($id=self::getFileId($fullPath))!=-1){ - $oldInfo=self::get($fullPath); + $id=self::getFileId($fullPath); + if($id!=-1){ + $oldInfo=self::get($path); $oldSize=$oldInfo['size']; }else{ $oldSize=0; @@ -221,7 +243,6 @@ class OC_FileCache{ public static function fileSystemWatcherDelete($params){ $path=$params['path']; $fullPath=OC_Filesystem::getRoot().$path; - error_log("delete $path"); if(self::getFileId($fullPath)==-1){ return; } @@ -258,7 +279,6 @@ class OC_FileCache{ private static function increaseSize($path,$sizeDiff){ while(($id=self::getFileId($path))!=-1){ $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET size=size+? WHERE id=?'); - error_log('diff '.$path.' '.$sizeDiff); $query->execute(array($sizeDiff,$id)); $path=dirname($path); } From bf40691acef66d8ef14b0917d12c32633804d3c7 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 12 Nov 2011 18:06:07 +0100 Subject: [PATCH 11/59] some fixes in the sqlite3 driver --- lib/MDB2/Driver/Manager/sqlite3.php | 2 +- lib/MDB2/Driver/Reverse/sqlite3.php | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/MDB2/Driver/Manager/sqlite3.php b/lib/MDB2/Driver/Manager/sqlite3.php index c5c19a90fb..7e30755fc3 100644 --- a/lib/MDB2/Driver/Manager/sqlite3.php +++ b/lib/MDB2/Driver/Manager/sqlite3.php @@ -798,7 +798,7 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common return $db; } - $query = "SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL ORDER BY name"; + $query = "SELECT name FROM sqlite_master WHERE type='table' AND sql NOT NULL AND name!='sqlite_sequence' ORDER BY name"; $table_names = $db->queryCol($query); if (PEAR::isError($table_names)) { return $table_names; diff --git a/lib/MDB2/Driver/Reverse/sqlite3.php b/lib/MDB2/Driver/Reverse/sqlite3.php index d5595da84c..33e5b59026 100644 --- a/lib/MDB2/Driver/Reverse/sqlite3.php +++ b/lib/MDB2/Driver/Reverse/sqlite3.php @@ -69,7 +69,7 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common return $db->raiseError(MDB2_ERROR_UNSUPPORTED, null, null, 'unexpected empty table column definition list', __FUNCTION__); } - $regexp = '/^\s*([^\s]+) +(CHAR|VARCHAR|VARCHAR2|TEXT|BOOLEAN|SMALLINT|INT|INTEGER|DECIMAL|BIGINT|DOUBLE|FLOAT|DATETIME|DATE|TIME|LONGTEXT|LONGBLOB)( ?\(([1-9][0-9]*)(:([1-9][0-9]*))?\))?( NULL| NOT NULL)?( UNSIGNED)?( NULL| NOT NULL)?( PRIMARY KEY)?( DEFAULT (\'[^\']*\'|[^ ]+))?( NULL| NOT NULL)?( PRIMARY KEY)?(\s*\-\-.*)?$/i'; + $regexp = '/^\s*([^\s]+) +(CHAR|VARCHAR|VARCHAR2|TEXT|BOOLEAN|SMALLINT|INT|INTEGER|DECIMAL|BIGINT|DOUBLE|FLOAT|DATETIME|DATE|TIME|LONGTEXT|LONGBLOB)( ?\(([1-9][0-9]*)(:([1-9][0-9]*))?\))?( NULL| NOT NULL)?( UNSIGNED)?( NULL| NOT NULL)?( PRIMARY KEY)?( AUTOINCREMENT)?( DEFAULT (\'[^\']*\'|[^ ]+))?( NULL| NOT NULL)?( PRIMARY KEY)?(\s*\-\-.*)?$/i'; $regexp2 = '/^\s*([^ ]+) +(PRIMARY|UNIQUE|CHECK)$/i'; for ($i=0, $j=0; $i<$count; ++$i) { if (!preg_match($regexp, trim($column_sql[$i]), $matches)) { @@ -90,11 +90,16 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common if (isset($matches[8]) && strlen($matches[8])) { $columns[$j]['unsigned'] = true; } - if (isset($matches[9]) && strlen($matches[9])) { + if (isset($matches[10]) && strlen($matches[10])) { $columns[$j]['autoincrement'] = true; + $columns[$j]['notnull']=true; } - if (isset($matches[12]) && strlen($matches[12])) { - $default = $matches[12]; + if (isset($matches[10]) && strlen($matches[10])) { + $columns[$j]['autoincrement'] = true; + $columns[$j]['notnull']=true; + } + if (isset($matches[13]) && strlen($matches[13])) { + $default = $matches[13]; if (strlen($default) && $default[0]=="'") { $default = str_replace("''", "'", substr($default, 1, strlen($default)-2)); } @@ -107,8 +112,8 @@ class MDB2_Driver_Reverse_sqlite3 extends MDB2_Driver_Reverse_Common $columns[$j]['notnull'] = ($matches[7] === ' NOT NULL'); } else if (isset($matches[9]) && strlen($matches[9])) { $columns[$j]['notnull'] = ($matches[9] === ' NOT NULL'); - } else if (isset($matches[13]) && strlen($matches[13])) { - $columns[$j]['notnull'] = ($matches[13] === ' NOT NULL'); + } else if (isset($matches[14]) && strlen($matches[14])) { + $columns[$j]['notnull'] = ($matches[14] === ' NOT NULL'); } ++$j; } From 486a31bfa38c0cd0dc02f46d65d3a443359441a9 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 13 Nov 2011 16:06:29 +0100 Subject: [PATCH 12/59] minor changes to mysql setup --- lib/setup.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/setup.php b/lib/setup.php index e2d56ddaf4..1beb9e4936 100644 --- a/lib/setup.php +++ b/lib/setup.php @@ -158,8 +158,8 @@ class OC_Setup { //add prefix to the postgresql user name to prevent collissions $dbusername='oc_'.$username; - //hash the password so we don't need to store the admin config in the config file - $dbpassword=md5(time().$password); + //create a new password so we don't need to store the admin config in the config file + $dbpassword=md5(time()); self::pg_createDBUser($dbusername, $dbpassword, $connection); @@ -219,7 +219,7 @@ class OC_Setup { } public static function createDatabase($name,$user,$connection) { - //we cant user OC_BD functions here because we need to connect as the administrative user. + //we cant use OC_BD functions here because we need to connect as the administrative user. $query = "CREATE DATABASE IF NOT EXISTS `$name`"; $result = mysql_query($query, $connection); if(!$result) { @@ -241,7 +241,7 @@ class OC_Setup { } public static function pg_createDatabase($name,$user,$connection) { - //we cant user OC_BD functions here because we need to connect as the administrative user. + //we cant use OC_BD functions here because we need to connect as the administrative user. $query = "CREATE DATABASE $name OWNER $user"; $result = pg_query($connection, $query); if(!$result) { From aa7c5a971ce9431c0a51e1110046f211fa446c11 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 13 Nov 2011 16:08:47 +0100 Subject: [PATCH 13/59] small fix in sqlite3 driver --- lib/MDB2/Driver/Manager/sqlite3.php | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib/MDB2/Driver/Manager/sqlite3.php b/lib/MDB2/Driver/Manager/sqlite3.php index 7e30755fc3..71b9597d20 100644 --- a/lib/MDB2/Driver/Manager/sqlite3.php +++ b/lib/MDB2/Driver/Manager/sqlite3.php @@ -168,9 +168,6 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common if (PEAR::isError($query_fields)) { return $query_fields; } - if (!empty($options['primary'])) { - $query_fields.= ', PRIMARY KEY ('.implode(', ', array_keys($options['primary'])).')'; - } if (!empty($options['foreign_keys'])) { foreach ($options['foreign_keys'] as $fkname => $fkdef) { if (empty($fkdef)) { From b2f1429b75085eaa3dc2be37df43283b47cd1e39 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 13 Nov 2011 16:16:21 +0100 Subject: [PATCH 14/59] automatically upgrade the main database on version number increase (doesnt work with sqlite for now) --- lib/base.php | 10 ++++++++-- lib/db.php | 9 ++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/lib/base.php b/lib/base.php index c52b4493e0..554036164e 100644 --- a/lib/base.php +++ b/lib/base.php @@ -119,6 +119,12 @@ class OC{ } } + $installedVersion=OC_Config::getValue('version','0.0.0'); + $currentVersion=implode('.',OC_Util::getVersion()); + if (version_compare($currentVersion, $installedVersion, '>')) { + OC_DB::updateDbFromStructure('../db_structure.xml'); + } + ini_set('session.cookie_httponly','1;'); session_start(); @@ -187,8 +193,6 @@ if( !isset( $RUNTIME_NOAPPS )){ $RUNTIME_NOAPPS = false; } -OC::init(); - if(!function_exists('get_temp_dir')) { function get_temp_dir() { if( $temp=ini_get('upload_tmp_dir') ) return $temp; @@ -204,6 +208,8 @@ if(!function_exists('get_temp_dir')) { } } +OC::init(); + require_once('fakedirstream.php'); // FROM search.php diff --git a/lib/db.php b/lib/db.php index c059f5ab33..0fee5e0381 100644 --- a/lib/db.php +++ b/lib/db.php @@ -338,7 +338,6 @@ class OC_DB { * @param $file file to read structure from */ public static function updateDbFromStructure($file){ - $CONFIG_DBNAME = OC_Config::getValue( "dbname", "owncloud" ); $CONFIG_DBTABLEPREFIX = OC_Config::getValue( "dbtableprefix", "oc_" ); $CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" ); @@ -347,17 +346,17 @@ class OC_DB { // read file $content = file_get_contents( $file ); + $previousSchema = self::$schema->getDefinitionFromDatabase(); + // Make changes and save them to a temporary file $file2 = tempnam( get_temp_dir(), 'oc_db_scheme_' ); - $content = str_replace( '*dbname*', $CONFIG_DBNAME, $content ); + $content = str_replace( '*dbname*', $previousSchema['name'], $content ); $content = str_replace( '*dbprefix*', $CONFIG_DBTABLEPREFIX, $content ); if( $CONFIG_DBTYPE == 'pgsql' ){ //mysql support it too but sqlite doesn't $content = str_replace( '0000-00-00 00:00:00', 'CURRENT_TIMESTAMP', $content ); } file_put_contents( $file2, $content ); - $previousSchema = self::$schema->getDefinitionFromDatabase(); - $op = $schema->updateDatabase($file2, $previousSchema, array(), false); - + $op = self::$schema->updateDatabase($file2, $previousSchema, array(), false); if (PEAR::isError($op)) { $error = $op->getMessage(); OC_Log::write('core','Failed to update database structure ('.$error.')',OC_Log::FATAL); From 9686c5b6aa981481063477efa54f21e9debfa453 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 15 Nov 2011 15:58:12 +0100 Subject: [PATCH 15/59] fixes in the sqlite manager driver --- lib/MDB2/Driver/Manager/sqlite3.php | 72 ++++++++++++++++++++--------- 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/lib/MDB2/Driver/Manager/sqlite3.php b/lib/MDB2/Driver/Manager/sqlite3.php index 71b9597d20..a6fde69d6c 100644 --- a/lib/MDB2/Driver/Manager/sqlite3.php +++ b/lib/MDB2/Driver/Manager/sqlite3.php @@ -531,9 +531,26 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common return MDB2_OK; } + if (empty($changes['remove']) and empty($changes['rename']) and empty($changes['change']) ){//if only rename or add changes are required, we can use ALTER TABLE + $query = ''; + if (!empty($changes['name'])) { + $change_name = $db->quoteIdentifier($changes['name'], true); + $query = 'RENAME TO ' . $change_name; + $db->exec("ALTER TABLE $name $query"); + } + + if (!empty($changes['add']) && is_array($changes['add'])) { + foreach ($changes['add'] as $field_name => $field) { + $query= 'ADD ' . $db->getDeclaration($field['type'], $field_name, $field); + $db->exec("ALTER TABLE $name $query"); + } + } + return MDB2_OK; + } + $db->loadModule('Reverse', null, true); - // actually sqlite 2.x supports no ALTER TABLE at all .. so we emulate it + // for other operations we need to emulate them with sqlite3 $fields = $db->manager->listTableFields($name); if (PEAR::isError($fields)) { return $fields; @@ -633,16 +650,10 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common } } + //rename the old table so we can create the new one + $db->exec("ALTER TABLE $name RENAME TO __$name"); $data = null; - if (!empty($select_fields)) { - $query = 'SELECT '.implode(', ', $select_fields).' FROM '.$db->quoteIdentifier($name, true); - $data = $db->queryAll($query, null, MDB2_FETCHMODE_ORDERED); - } - $result = $this->dropTable($name); - if (PEAR::isError($result)) { - return $result; - } $result = $this->createTable($name_new, $fields, $options); if (PEAR::isError($result)) { @@ -657,20 +668,35 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common $this->createConstraint($name_new, $constraint, $definition); } - if (!empty($select_fields) && !empty($data)) { - $query = 'INSERT INTO '.$db->quoteIdentifier($name_new, true); - $query.= '('.implode(', ', array_slice(array_keys($fields), 0, count($select_fields))).')'; - $query.=' VALUES (?'.str_repeat(', ?', (count($select_fields) - 1)).')'; - $stmt =$db->prepare($query, null, MDB2_PREPARE_MANIP); - if (PEAR::isError($stmt)) { - return $stmt; - } - foreach ($data as $row) { - $result = $stmt->execute($row); - if (PEAR::isError($result)) { - return $result; - } - } + //fill the new table with data from the old one + if (!empty($select_fields)) { + $query = 'INSERT INTO '.$db->quoteIdentifier($name_new, true); + $query.= '('.implode(', ', array_slice(array_keys($fields), 0, count($select_fields))).')'; + $query .= ' SELECT '.implode(', ', $select_fields).' FROM '.$db->quoteIdentifier('__'.$name, true); + $db->exec($query); + } + +// if (!empty($select_fields) && !empty($data)) { +// $query = 'INSERT INTO '.$db->quoteIdentifier($name_new, true); +// $query.= '('.implode(', ', array_slice(array_keys($fields), 0, count($select_fields))).')'; +// $query.=' VALUES (?'.str_repeat(', ?', (count($select_fields) - 1)).')'; +// $stmt =$db->prepare($query, null, MDB2_PREPARE_MANIP); +// if (PEAR::isError($stmt)) { +// return $stmt; +// } +// foreach ($data as $row) { +// $result = $stmt->execute($row); +// if (PEAR::isError($result)) { +// return $result; +// } +// } +// } + echo "changes $name"; + + //remove the old table + $result = $this->dropTable('__'.$name); + if (PEAR::isError($result)) { + return $result; } return MDB2_OK; } From 916c72b40be8db891856669643e7b605c087297e Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 15 Nov 2011 15:59:01 +0100 Subject: [PATCH 16/59] set the installed version after updating the database --- lib/base.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/base.php b/lib/base.php index 554036164e..b6e8ccbe28 100644 --- a/lib/base.php +++ b/lib/base.php @@ -123,6 +123,7 @@ class OC{ $currentVersion=implode('.',OC_Util::getVersion()); if (version_compare($currentVersion, $installedVersion, '>')) { OC_DB::updateDbFromStructure('../db_structure.xml'); + OC_Config::setValue('version',implode('.',OC_Util::getVersion())); } ini_set('session.cookie_httponly','1;'); From 98dc0882cbba43e892d2a5a7bf015d0218e026cb Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 15 Nov 2011 16:08:08 +0100 Subject: [PATCH 17/59] fix errors during database migration --- lib/MDB2/Driver/Manager/sqlite3.php | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/MDB2/Driver/Manager/sqlite3.php b/lib/MDB2/Driver/Manager/sqlite3.php index a6fde69d6c..8f4e1312eb 100644 --- a/lib/MDB2/Driver/Manager/sqlite3.php +++ b/lib/MDB2/Driver/Manager/sqlite3.php @@ -660,13 +660,15 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common return $result; } - foreach ($indexes as $index => $definition) { - $this->createIndex($name_new, $index, $definition); - } + //these seem to only give errors - foreach ($constraints as $constraint => $definition) { - $this->createConstraint($name_new, $constraint, $definition); - } +// foreach ($indexes as $index => $definition) { +// $this->createIndex($name_new, $index, $definition); +// } + +// foreach ($constraints as $constraint => $definition) { +// $this->createConstraint($name_new, $constraint, $definition); +// } //fill the new table with data from the old one if (!empty($select_fields)) { @@ -691,7 +693,6 @@ class MDB2_Driver_Manager_sqlite3 extends MDB2_Driver_Manager_Common // } // } // } - echo "changes $name"; //remove the old table $result = $this->dropTable('__'.$name); From 153029a1705fbeb16bd70b73f46550c0c902d0f4 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sat, 26 Nov 2011 01:26:01 +0100 Subject: [PATCH 18/59] increase version to trigger database upgrade --- lib/util.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/util.php b/lib/util.php index e010a572e3..d70c7c605c 100644 --- a/lib/util.php +++ b/lib/util.php @@ -62,7 +62,7 @@ class OC_Util { * @return array */ public static function getVersion(){ - return array(2,90,0); + return array(2,90,1); } /** From a8148fa94a6805ca7c6585e136905d5ec155a102 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 11 Dec 2011 22:08:01 +0100 Subject: [PATCH 19/59] update apps when their version number increases --- lib/app.php | 29 +++++++++++++++++++++++++++++ lib/base.php | 2 ++ 2 files changed, 31 insertions(+) diff --git a/lib/app.php b/lib/app.php index d3d9986576..b017ca7532 100644 --- a/lib/app.php +++ b/lib/app.php @@ -362,4 +362,33 @@ class OC_App{ } return $apps; } + + /** + * check if any apps need updating and update those + */ + public static function updateApps(){ + // The rest comes here + $apps = OC_Appconfig::getApps(); + foreach( $apps as $app ){ + $installedVersion=OC_Appconfig::getValue($app,'installed_version'); + $appInfo=OC_App::getAppInfo($app); + $currentVersion=$appInfo['version']; + if (version_compare($currentVersion, $installedVersion, '>')) { + OC_App::updateApp($app); + } + } + } + + /** + * update the database for the app and call the update script + * @param string appid + */ + public static function updateApp($appid){ + if(file_exists(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/database.xml')){ + OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/database.xml'); + } + if(file_exists(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/update.php')){ + include OC::$SERVERROOT.'/apps/'.$file.'/appinfo/update.php'; + } + } } diff --git a/lib/base.php b/lib/base.php index de2a7a673d..548cc09823 100644 --- a/lib/base.php +++ b/lib/base.php @@ -134,6 +134,8 @@ class OC{ OC_Config::setValue('version',implode('.',OC_Util::getVersion())); } + OC_App::updateApps(); + ini_set('session.cookie_httponly','1;'); session_start(); From b41ca8bacb8e1bdb9a28ab7e3e76b817262338d4 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 11 Dec 2011 23:23:59 +0100 Subject: [PATCH 20/59] after editing a user quota, set the value of the quota field to how the server parsed the input, not the user input this way the user can see when an invalid input is given --- settings/ajax/setquota.php | 2 +- settings/js/users.js | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php index edbf5b7451..5c07285cfc 100644 --- a/settings/ajax/setquota.php +++ b/settings/ajax/setquota.php @@ -10,6 +10,6 @@ $quota= OC_Helper::computerFileSize($_POST["quota"]); // Return Success story OC_Preferences::setValue($username,'files','quota',$quota); -OC_JSON::success(array("data" => array( "username" => $username ,'quota'=>$quota))); +OC_JSON::success(array("data" => array( "username" => $username ,'quota'=>OC_Helper::humanFileSize($quota)))); ?> diff --git a/settings/js/users.js b/settings/js/users.js index 684fee21c6..18e7a9df10 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -101,8 +101,11 @@ $(document).ready(function(){ if($(this).val().length>0){ $.post( OC.filePath('settings','ajax','setquota.php'), - {username:uid,quota:$(this).val()}, - function(result){} + {username:uid,quota:$(this).val()}, + function(result){ + img.parent().children('span').text(result.data.quota) + alert(result.data.quota); + } ); input.blur(); }else{ From bd65c18f21ca973e90334f74e3325ae449194d42 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 11 Dec 2011 23:32:57 +0100 Subject: [PATCH 21/59] also update the data attribute holding the quota --- settings/js/users.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/js/users.js b/settings/js/users.js index 18e7a9df10..4fea52e4a1 100644 --- a/settings/js/users.js +++ b/settings/js/users.js @@ -104,7 +104,7 @@ $(document).ready(function(){ {username:uid,quota:$(this).val()}, function(result){ img.parent().children('span').text(result.data.quota) - alert(result.data.quota); + $(this).parent().attr('data-quota',result.data.quota); } ); input.blur(); From efecb694eff7129d1ca24627ac366f3bcc939864 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 11 Dec 2011 23:33:24 +0100 Subject: [PATCH 22/59] make filesize parsing case insensitive --- lib/helper.php | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/helper.php b/lib/helper.php index 5b3e394caf..24d436225b 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -160,24 +160,25 @@ class OC_Helper { */ public static function computerFileSize( $str ){ $bytes = 0; + $str=strtolower($str); $bytes_array = array( - 'B' => 1, - 'K' => 1024, - 'KB' => 1024, - 'MB' => 1024 * 1024, - 'M' => 1024 * 1024, - 'GB' => 1024 * 1024 * 1024, - 'G' => 1024 * 1024 * 1024, - 'TB' => 1024 * 1024 * 1024 * 1024, - 'T' => 1024 * 1024 * 1024 * 1024, - 'PB' => 1024 * 1024 * 1024 * 1024 * 1024, - 'P' => 1024 * 1024 * 1024 * 1024 * 1024, + 'b' => 1, + 'k' => 1024, + 'kb' => 1024, + 'mb' => 1024 * 1024, + 'm' => 1024 * 1024, + 'gb' => 1024 * 1024 * 1024, + 'g' => 1024 * 1024 * 1024, + 'tb' => 1024 * 1024 * 1024 * 1024, + 't' => 1024 * 1024 * 1024 * 1024, + 'pb' => 1024 * 1024 * 1024 * 1024 * 1024, + 'p' => 1024 * 1024 * 1024 * 1024 * 1024, ); $bytes = floatval($str); - if (preg_match('#([KMGTP]?B?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) { + if (preg_match('#([kmgtp]?b?)$#si', $str, $matches) && !empty($bytes_array[$matches[1]])) { $bytes *= $bytes_array[$matches[1]]; } From a9e94a34c9a80929d606c4d64711ad8ecaff35e0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 14 Dec 2011 01:15:07 +0100 Subject: [PATCH 23/59] use fscache for getting used space --- settings/personal.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/settings/personal.php b/settings/personal.php index c27ca0aed6..c7964a2ef5 100644 --- a/settings/personal.php +++ b/settings/personal.php @@ -16,7 +16,8 @@ OC_Util::addStyle( '3rdparty', 'chosen' ); OC_App::setActiveNavigationEntry( 'personal' ); // calculate the disc space -$used=OC_Filesystem::filesize('/'); +$rootInfo=OC_FileCache::get(''); +$used=$rootInfo['size']; $free=OC_Filesystem::free_space(); $total=$free+$used; $relative=round(($used/$total)*10000)/100; From 835d6a9b6e1be4eab22d138e0ef01e608a5597bf Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 14 Dec 2011 01:16:14 +0100 Subject: [PATCH 24/59] save quota in human readable format (42 MB), should prevent some of the overflow related problems --- lib/fileproxy/quota.php | 4 +++- settings/ajax/setquota.php | 5 ++++- settings/users.php | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/fileproxy/quota.php b/lib/fileproxy/quota.php index f770c9cb32..94a49176ee 100644 --- a/lib/fileproxy/quota.php +++ b/lib/fileproxy/quota.php @@ -27,8 +27,10 @@ class OC_FileProxy_Quota extends OC_FileProxy{ private function getFreeSpace(){ - $usedSpace=OC_Filesystem::filesize(''); + $rootInfo=OC_FileCache::get(''); + $usedSpace=$rootInfo['size']; $totalSpace=OC_Preferences::getValue(OC_User::getUser(),'files','quota',0); + $totalSpace=OC_Helper::computerFileSize($totalSpace); if($totalSpace==0){ return 0; } diff --git a/settings/ajax/setquota.php b/settings/ajax/setquota.php index 5c07285cfc..d4e3c58ac1 100644 --- a/settings/ajax/setquota.php +++ b/settings/ajax/setquota.php @@ -6,10 +6,13 @@ require_once('../../lib/base.php'); OC_JSON::checkAdminUser(); $username = $_POST["username"]; + +//make sure the quota is in the expected format $quota= OC_Helper::computerFileSize($_POST["quota"]); +$quota=OC_Helper::humanFileSize($quota); // Return Success story OC_Preferences::setValue($username,'files','quota',$quota); -OC_JSON::success(array("data" => array( "username" => $username ,'quota'=>OC_Helper::humanFileSize($quota)))); +OC_JSON::success(array("data" => array( "username" => $username ,'quota'=>$quota))); ?> diff --git a/settings/users.php b/settings/users.php index 686c4b6a9b..e5dcc04948 100644 --- a/settings/users.php +++ b/settings/users.php @@ -18,7 +18,7 @@ $users = array(); $groups = array(); foreach( OC_User::getUsers() as $i ){ - $users[] = array( "name" => $i, "groups" => join( ", ", OC_Group::getUserGroups( $i ) ),'quota'=>OC_Helper::humanFileSize(OC_Preferences::getValue($i,'files','quota',0))); + $users[] = array( "name" => $i, "groups" => join( ", ", OC_Group::getUserGroups( $i ) ),'quota'=>OC_Preferences::getValue($i,'files','quota',0)); } foreach( OC_Group::getGroups() as $i ){ From 3844fb0e4ce093bb3c2e67d20f85f61b7723efdc Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 14 Dec 2011 01:19:23 +0100 Subject: [PATCH 25/59] also use fscache when getting used space for webdav --- lib/connector/sabre/directory.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/connector/sabre/directory.php b/lib/connector/sabre/directory.php index 139c6b784b..bb03851e39 100644 --- a/lib/connector/sabre/directory.php +++ b/lib/connector/sabre/directory.php @@ -116,11 +116,11 @@ class OC_Connector_Sabre_Directory extends OC_Connector_Sabre_Node implements Sa * @return array */ public function getQuotaInfo() { - + $rootInfo=OC_FileCache::get(''); return array( - OC_Filesystem::filesize('/'), + $rootInfo['size'], OC_Filesystem::free_space() - ); + ); } From 7250dc4e98ecccb1688f3d16f04b55de7122c3a7 Mon Sep 17 00:00:00 2001 From: Michael Gapczynski Date: Sun, 1 Jan 2012 16:58:51 -0500 Subject: [PATCH 26/59] Fix updateApp() and add extra check to updateApps() --- lib/app.php | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/app.php b/lib/app.php index 2e03db6c8d..cc1b8041c9 100644 --- a/lib/app.php +++ b/lib/app.php @@ -372,9 +372,11 @@ class OC_App{ foreach( $apps as $app ){ $installedVersion=OC_Appconfig::getValue($app,'installed_version'); $appInfo=OC_App::getAppInfo($app); - $currentVersion=$appInfo['version']; - if (version_compare($currentVersion, $installedVersion, '>')) { - OC_App::updateApp($app); + if (isset($appInfo['version'])) { + $currentVersion=$appInfo['version']; + if (version_compare($currentVersion, $installedVersion, '>')) { + OC_App::updateApp($app); + } } } } @@ -384,11 +386,11 @@ class OC_App{ * @param string appid */ public static function updateApp($appid){ - if(file_exists(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/database.xml')){ - OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/database.xml'); + if(file_exists(OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/database.xml')){ + OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/database.xml'); } - if(file_exists(OC::$SERVERROOT.'/apps/'.$file.'/appinfo/update.php')){ - include OC::$SERVERROOT.'/apps/'.$file.'/appinfo/update.php'; + if(file_exists(OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/update.php')){ + include OC::$SERVERROOT.'/apps/'.$appid.'/appinfo/update.php'; } } } From a22b5feda6cf0dc4a4349f266371f95e91b62757 Mon Sep 17 00:00:00 2001 From: Michael Gapczynski Date: Sun, 1 Jan 2012 17:05:22 -0500 Subject: [PATCH 27/59] Initial commit of common filestorage --- lib/filestoragecommon.php | 83 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 lib/filestoragecommon.php diff --git a/lib/filestoragecommon.php b/lib/filestoragecommon.php new file mode 100644 index 0000000000..35a926ecb0 --- /dev/null +++ b/lib/filestoragecommon.php @@ -0,0 +1,83 @@ +. +*/ + +class OC_Filestorage_Common extends OC_Filestorage { + + public function __construct($parameters){} + public function mkdir($path){} + public function rmdir($path){} + public function opendir($path){} + public function is_dir($path){} + public function is_file($path){} + public function stat($path){} + public function filetype($path){} + public function filesize($path) { + $stat = $this->stat($path); + return $stat['size']; + } + public function is_readable($path){} + public function is_writeable($path){} + public function file_exists($path){} + public function readfile($path) { + $handle = $this->fopen($path, "r"); + $chunk = 1024; + while (!feof($handle)) { + echo fread($handle, $chunk); + } + return $this->filesize($path); + } + public function filectime($path) { + $stat = $this->stat($path); + return $stat['ctime']; + } + public function filemtime($path) { + $stat = $this->stat($path); + return $stat['mtime']; + } + public function fileatime($path) { + $stat = $this->stat($path); + return $stat['atime']; + } + public function file_get_contents($path) { + $handle = $this->fopen($path, "r"); + return fread($handle, $this->filesize($path)); + } + public function file_put_contents($path,$data) { + $handle = $this->fopen($path, "w"); + return fwrite($handle, $data); + } + public function unlink($path){} + public function rename($path1,$path2){} + public function copy($path1,$path2) { + $data = $this->file_get_contents($path1); + return $this->file_put_contents($path2, $data); + } + public function fopen($path,$mode){} + public function toTmpFile($path){} + public function fromTmpFile($tmpPath,$path){} + public function fromUploadedFile($tmpPath,$path){} + public function getMimeType($path){} + public function hash($type,$path,$raw){} + public function free_space($path){} + public function search($query){} + public function getLocalFile($path){} +} From d7ed456f965a8fbc3cf44ebf026f6f828cca2242 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 16 Jan 2012 14:36:11 +0100 Subject: [PATCH 28/59] forgot to merge something --- lib/filesystem.php | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/lib/filesystem.php b/lib/filesystem.php index 6568a07a59..eeca27d3a9 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -446,29 +446,7 @@ class OC_Filesystem{ } } } -<<<<<<< HEAD -======= - static public function fromUploadedFile($tmpFile,$path){ - if(OC_FileProxy::runPreProxies('fromUploadedFile',$tmpFile,$path) and self::isValidPath($path) and $storage=self::getStorage($path)){ - $run=true; - $exists=self::file_exists($path); - if(!$exists){ - OC_Hook::emit( self::CLASSNAME, self::signal_create, array( self::signal_param_path => $path, self::signal_param_run => &$run)); - } - if($run){ - OC_Hook::emit( self::CLASSNAME, self::signal_write, array( self::signal_param_path => $path, self::signal_param_run => &$run)); - } - if($run){ - $result=$storage->fromUploadedFile($tmpFile,self::getInternalPath($path)); - if(!$exists){ - OC_Hook::emit( self::CLASSNAME, self::signal_post_create, array( self::signal_param_path => $path)); - } - OC_Hook::emit( self::CLASSNAME, self::signal_post_write, array( self::signal_param_path => $path)); - return $result; - } - } - } ->>>>>>> master + static public function getMimeType($path){ return self::basicOperation('getMimeType',$path); } From a1dfe16d0a130c4d27bad8418a3801fdd5774735 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 16 Jan 2012 14:36:47 +0100 Subject: [PATCH 29/59] postgresql needs contraint names to be unque across the database, not only the table --- db_structure.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db_structure.xml b/db_structure.xml index 39dea564b0..36ee35b544 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -143,7 +143,7 @@ - path_index + fscache_path_index true path From 11c848b2215ba00ea5db33690942e1d6df27ae1b Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Fri, 20 Jan 2012 00:40:52 +0100 Subject: [PATCH 30/59] initial work on filesystemview --- lib/filesystem.php | 345 ++++++++++++----------------------------- lib/filesystemview.php | 335 +++++++++++++++++++++++++++++++++++++++ lib/util.php | 2 +- 3 files changed, 434 insertions(+), 248 deletions(-) create mode 100644 lib/filesystemview.php diff --git a/lib/filesystem.php b/lib/filesystem.php index eeca27d3a9..f17213cd38 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -46,8 +46,10 @@ class OC_Filesystem{ static private $storages=array(); static private $mounts=array(); - static private $fakeRoot=''; static private $storageTypes=array(); + private $fakeRoot=''; + static private $defaultInstance; + /** * classname which used for hooks handling @@ -134,6 +136,71 @@ class OC_Filesystem{ * run - changing this flag to false in hook handler will cancel event */ const signal_param_run = 'run'; + + /** + * get the mountpoint of the storage object for a path + ( note: because a storage is not always mounted inside the fakeroot, the returned mountpoint is relative to the absolute root of the filesystem and doesn't take the chroot into account + * + * @param string path + * @return string + */ + static public function getMountPoint($path){ + if(!$path){ + $path='/'; + } + if(substr($path,0,1)!=='/'){ + $path='/'.$path; + } + if(substr($path,-1)!=='/'){ + $path=$path.'/'; + } + $foundMountPoint=''; + foreach(OC_Filesystem::$mounts as $mountpoint=>$storage){ + if(substr($mountpoint,-1)!=='/'){ + $mountpoint=$mountpoint.'/'; + } + if($mountpoint==$path){ + return $mountpoint; + } + if(strpos($path,$mountpoint)===0 and strlen($mountpoint)>strlen($foundMountPoint)){ + $foundMountPoint=$mountpoint; + } + } + return $foundMountPoint; + } + + /** + * get the part of the path relative to the mountpoint of the storage it's stored in + * @param string path + * @return bool + */ + static public function getInternalPath($path){ + $mountPoint=self::getMountPoint($path); + $internalPath=substr($path,strlen($mountPoint)); + return $internalPath; + } + /** + * get the storage object for a path + * @param string path + * @return OC_Filestorage + */ + static public function getStorage($path){ + $mountpoint=self::getMountPoint($path); + if($mountpoint){ + if(!isset(OC_Filesystem::$storages[$mountpoint])){ + $mount=OC_Filesystem::$mounts[$mountpoint]; + OC_Filesystem::$storages[$mountpoint]=OC_Filesystem::createStorage($mount['class'],$mount['arguments']); + } + return OC_Filesystem::$storages[$mountpoint]; + } + } + + static public function init($root){ + if(self::$defaultInstance){ + return false; + } + self::$defaultInstance=new OC_FilesystemView($root); + } /** * tear down the filesystem, removing all storage providers @@ -165,12 +232,7 @@ class OC_Filesystem{ * @return bool */ static public function chroot($fakeRoot){ - if(!$fakeRoot==''){ - if($fakeRoot[0]!=='/'){ - $fakeRoot='/'.$fakeRoot; - } - } - self::$fakeRoot=$fakeRoot; + return self::$defaultInstance->chroot($path); } /** @@ -178,21 +240,9 @@ class OC_Filesystem{ * @return string */ static public function getRoot(){ - return self::$fakeRoot; + return self::$defaultInstance->getRoot(); } - - /** - * get the part of the path relative to the mountpoint of the storage it's stored in - * @param string path - * @return bool - */ - static public function getInternalPath($path){ - $mountPoint=self::getMountPoint($path); - $path=self::$fakeRoot.$path; - $internalPath=substr($path,strlen($mountPoint)); - return $internalPath; - } - + /** * mount an OC_Filestorage in our virtual filesystem * @param OC_Filestorage storage @@ -205,55 +255,6 @@ class OC_Filesystem{ self::$mounts[$mountpoint]=array('class'=>$class,'arguments'=>$arguments); } - /** - * get the storage object for a path - * @param string path - * @return OC_Filestorage - */ - static public function getStorage($path){ - $mountpoint=self::getMountPoint($path); - if($mountpoint){ - if(!isset(self::$storages[$mountpoint])){ - $mount=self::$mounts[$mountpoint]; - self::$storages[$mountpoint]=self::createStorage($mount['class'],$mount['arguments']); - } - return self::$storages[$mountpoint]; - } - } - - /** - * get the mountpoint of the storage object for a path - ( note: because a storage is not always mounted inside the fakeroot, the returned mountpoint is relative to the absolute root of the filesystem and doesn't take the chroot into account - * - * @param string path - * @return string - */ - static public function getMountPoint($path){ - if(!$path){ - $path='/'; - } - if(substr($path,0,1)!=='/'){ - $path='/'.$path; - } - if(substr($path,-1)!=='/'){ - $path=$path.'/'; - } - $path=self::$fakeRoot.$path; - $foundMountPoint=''; - foreach(self::$mounts as $mountpoint=>$storage){ - if(substr($mountpoint,-1)!=='/'){ - $mountpoint=$mountpoint.'/'; - } - if($mountpoint==$path){ - return $mountpoint; - } - if(strpos($path,$mountpoint)===0 and strlen($mountpoint)>strlen($foundMountPoint)){ - $foundMountPoint=$mountpoint; - } - } - return $foundMountPoint; - } - /** * return the path to a local version of the file * we need this because we can't know if a file is stored local or not from outside the filestorage and for some purposes a local file is needed @@ -261,10 +262,7 @@ class OC_Filesystem{ * @return string */ static public function getLocalFile($path){ - $parent=substr($path,0,strrpos($path,'/')); - if(self::isValidPath($parent) and $storage=self::getStorage($path)){ - return $storage->getLocalFile(self::getInternalPath($path)); - } + return self::$defaultInstance->getLocalFile($path); } /** @@ -285,232 +283,85 @@ class OC_Filesystem{ * following functions are equivilent to their php buildin equivilents for arguments/return values. */ static public function mkdir($path){ - return self::basicOperation('mkdir',$path,array('create','write')); + return self::$defaultInstance->mkdir($path); } static public function rmdir($path){ - return self::basicOperation('rmdir',$path,array('delete')); + return self::$defaultInstance->rmdir($path); } static public function opendir($path){ - return self::basicOperation('opendir',$path,array('read')); + return self::$defaultInstance->opendir($path); } static public function is_dir($path){ - if($path=='/'){ - return true; - } - return self::basicOperation('is_dir',$path); + return self::$defaultInstance->is_dir($path); } static public function is_file($path){ - if($path=='/'){ - return false; - } - return self::basicOperation('is_file',$path); + return self::$defaultInstance->is_file($path); } static public function stat($path){ - return self::basicOperation('stat',$path); + return self::$defaultInstance->stat($path); } static public function filetype($path){ - return self::basicOperation('filetype',$path); + return self::$defaultInstance->filetype($path); } static public function filesize($path){ - return self::basicOperation('filesize',$path); + return self::$defaultInstance->filesize($path); } static public function readfile($path){ - return self::basicOperation('readfile',$path,array('read')); + return self::$defaultInstance->readfile($path); } static public function is_readable($path){ - return self::basicOperation('is_readable',$path); + return self::$defaultInstance->is_readable($path); } static public function is_writeable($path){ - return self::basicOperation('is_writeable',$path); + return self::$defaultInstance->is_writeable($path); } static public function file_exists($path){ - if($path=='/'){ - return true; - } - return self::basicOperation('file_exists',$path); + return self::$defaultInstance->file_exists($path); } static public function filectime($path){ - return self::basicOperation('filectime',$path); + return self::$defaultInstance->filectime($path); } static public function filemtime($path){ - return self::basicOperation('filemtime',$path); + return self::$defaultInstance->filemtime($path); } static public function file_get_contents($path){ - return self::basicOperation('file_get_contents',$path,array('read')); + return self::$defaultInstance->file_get_contents($path); } static public function file_put_contents($path,$data){ - return self::basicOperation('file_put_contents',$path,array('create','write'),$data); + return self::$defaultInstance->file_put_contents($path,$data); } static public function unlink($path){ - return self::basicOperation('unlink',$path,array('delete')); + return self::$defaultInstance->unlink($path); } static public function rename($path1,$path2){ - if(OC_FileProxy::runPreProxies('rename',$path1,$path2) and self::is_writeable($path1) and self::isValidPath($path2)){ - $run=true; - OC_Hook::emit( self::CLASSNAME, self::signal_rename, array( self::signal_param_oldpath => $path1 , self::signal_param_newpath=>$path2, self::signal_param_run => &$run)); - if($run){ - $mp1=self::getMountPoint($path1); - $mp2=self::getMountPoint($path2); - if($mp1==$mp2){ - if($storage=self::getStorage($path1)){ - $result=$storage->rename(self::getInternalPath($path1),self::getInternalPath($path2)); - } - }elseif($storage1=self::getStorage($path1) and $storage2=self::getStorage($path2)){ - $tmpFile=$storage1->toTmpFile(self::getInternalPath($path1)); - $result=$storage2->fromTmpFile($tmpFile,self::getInternalPath($path2)); - $storage1->unlink(self::getInternalPath($path1)); - } - OC_Hook::emit( self::CLASSNAME, self::signal_post_rename, array( self::signal_param_oldpath => $path1, self::signal_param_newpath=>$path2)); - return $result; - } - } + return self::$defaultInstance->rename($path1,$path2); } static public function copy($path1,$path2){ - if(OC_FileProxy::runPreProxies('copy',$path1,$path2) and self::is_readable($path1) and self::isValidPath($path2)){ - $run=true; - OC_Hook::emit( self::CLASSNAME, self::signal_copy, array( self::signal_param_oldpath => $path1 , self::signal_param_newpath=>$path2, self::signal_param_run => &$run)); - $exists=self::file_exists($path2); - if($run and !$exists){ - OC_Hook::emit( self::CLASSNAME, self::signal_create, array( self::signal_param_path => $path2, self::signal_param_run => &$run)); - } - if($run){ - OC_Hook::emit( self::CLASSNAME, self::signal_write, array( self::signal_param_path => $path2, self::signal_param_run => &$run)); - } - if($run){ - $mp1=self::getMountPoint($path1); - $mp2=self::getMountPoint($path2); - if($mp1==$mp2){ - if($storage=self::getStorage($path1)){ - $result=$storage->copy(self::getInternalPath($path1),self::getInternalPath($path2)); - } - }elseif($storage1=self::getStorage($path1) and $storage2=self::getStorage($path2)){ - $tmpFile=$storage1->toTmpFile(self::getInternalPath($path1)); - $result=$storage2->fromTmpFile($tmpFile,self::getInternalPath($path2)); - } - OC_Hook::emit( self::CLASSNAME, self::signal_post_copy, array( self::signal_param_oldpath => $path1 , self::signal_param_newpath=>$path2)); - if(!$exists){ - OC_Hook::emit( self::CLASSNAME, self::signal_post_create, array( self::signal_param_path => $path2)); - } - OC_Hook::emit( self::CLASSNAME, self::signal_post_write, array( self::signal_param_path => $path2)); - return $result; - } - } + return self::$defaultInstance->copy($path1,$path2); } static public function fopen($path,$mode){ - $hooks=array(); - switch($mode){ - case 'r': - $hooks[]='read'; - break; - case 'r+': - case 'w+': - case 'x+': - case 'a+': - $hooks[]='read'; - $hooks[]='write'; - break; - case 'w': - case 'x': - case 'a': - $hooks[]='write'; - break; - default: - OC_Log::write('core','invalid mode ('.$mode.') for '.$path,OC_Log::ERROR); - } - - return self::basicOperation('fopen',$path,$hooks,$mode); + return self::$defaultInstance->fopen($path,$mode); } static public function toTmpFile($path){ - if(OC_FileProxy::runPreProxies('toTmpFile',$path) and self::isValidPath($path) and $storage=self::getStorage($path)){ - OC_Hook::emit( self::CLASSNAME, self::signal_read, array( self::signal_param_path => $path)); - return $storage->toTmpFile(self::getInternalPath($path)); - } + return self::$defaultInstance->toTmpFile($path); } static public function fromTmpFile($tmpFile,$path){ - if(OC_FileProxy::runPreProxies('copy',$tmpFile,$path) and self::isValidPath($path) and $storage=self::getStorage($path)){ - $run=true; - $exists=self::file_exists($path); - if(!$exists){ - OC_Hook::emit( self::CLASSNAME, self::signal_create, array( self::signal_param_path => $path, self::signal_param_run => &$run)); - } - if($run){ - OC_Hook::emit( self::CLASSNAME, self::signal_write, array( self::signal_param_path => $path, self::signal_param_run => &$run)); - } - if($run){ - $result=$storage->fromTmpFile($tmpFile,self::getInternalPath($path)); - if(!$exists){ - OC_Hook::emit( self::CLASSNAME, self::signal_post_create, array( self::signal_param_path => $path)); - } - OC_Hook::emit( self::CLASSNAME, self::signal_post_write, array( self::signal_param_path => $path)); - return $result; - } - } + return self::$defaultInstance->fromTmpFile($tmpFile,$path); } static public function getMimeType($path){ - return self::basicOperation('getMimeType',$path); + return self::$defaultInstance->getMimeType($path); } static public function hash($type,$path){ - return self::basicOperation('hash',$path,array('read')); + return self::$defaultInstance->hash($type,$path); } static public function free_space($path='/'){ - return self::basicOperation('free_space',$path); + return self::$defaultInstance->free_space($path); } static public function search($query){ - $files=array(); - $fakeRoot=self::$fakeRoot; - $fakeRootLength=strlen($fakeRoot); - $results=OC_FileCache::search($query); - if(is_array($results)){ - foreach($results as $result){ - $file=str_replace('//','/',$mountpoint.$result); - if(substr($file,0,$fakeRootLength)==$fakeRoot){ - $file=substr($file,$fakeRootLength); - $files[]=$file; - } - } - } - return $files; - - } - - /** - * abstraction for running most basic operations - * @param string $operation - * @param string #path - * @param array (optional) hooks - * @param mixed (optional) $extraParam - * @return mixed - */ - private static function basicOperation($operation,$path,$hooks=array(),$extraParam=null){ - if(OC_FileProxy::runPreProxies($operation,$path, $extraParam) and self::isValidPath($path) and $storage=self::getStorage($path)){ - $interalPath=self::getInternalPath($path); - $run=true; - foreach($hooks as $hook){ - if($hook!='read'){ - OC_Hook::emit( self::CLASSNAME, $hook, array( self::signal_param_path => $path, self::signal_param_run => &$run)); - }else{ - OC_Hook::emit( self::CLASSNAME, $hook, array( self::signal_param_path => $path)); - } - } - if($run){ - if($extraParam){ - $result=$storage->$operation($interalPath,$extraParam); - }else{ - $result=$storage->$operation($interalPath); - } - $result=OC_FileProxy::runPostProxies($operation,$path,$result); - foreach($hooks as $hook){ - if($hook!='read'){ - OC_Hook::emit( self::CLASSNAME, 'post_'.$hook, array( self::signal_param_path => $path)); - } - } - return $result; - } - } - return null; + return self::$defaultInstance->search($query); } } diff --git a/lib/filesystemview.php b/lib/filesystemview.php new file mode 100644 index 0000000000..9687a8bceb --- /dev/null +++ b/lib/filesystemview.php @@ -0,0 +1,335 @@ +. +* +*/ + +class OC_FilesystemView { + private $fakeRoot=''; + + public function __construct($root){ + $this->fakeRoot=$root; + } + + public function getAbsolutePath($path){ + if(!$path){ + $path='/'; + } + if(substr($path,0,1)!=='/'){ + $path='/'.$path; + } + return $this->fakeRoot.$path; + } + + + /** + * change the root to a fake toor + * @param string fakeRoot + * @return bool + */ + public function chroot($fakeRoot){ + if(!$fakeRoot==''){ + if($fakeRoot[0]!=='/'){ + $fakeRoot='/'.$fakeRoot; + } + } + $this->fakeRoot=$fakeRoot; + } + + /** + * get the fake root + * @return string + */ + public function getRoot(){ + return $this->fakeRoot; + } + + /** + * get the part of the path relative to the mountpoint of the storage it's stored in + * @param string path + * @return bool + */ + public function getInternalPath($path){ + return OC_Filesystem::getInternalPath($this->getAbsolutePath($path)); + } + /** + * get the storage object for a path + * @param string path + * @return OC_Filestorage + */ + public function getStorage($path){ + return OC_Filesystem::getStorage($this->getAbsolutePath($path)); + } + + /** + * get the mountpoint of the storage object for a path + ( note: because a storage is not always mounted inside the fakeroot, the returned mountpoint is relative to the absolute root of the filesystem and doesn't take the chroot into account + * + * @param string path + * @return string + */ + public function getMountPoint($path){ + return OC_Filesystem::getMountPoint($this->getAbsolutePath($path)); + } + + /** + * return the path to a local version of the file + * we need this because we can't know if a file is stored local or not from outside the filestorage and for some purposes a local file is needed + * @param string path + * @return string + */ + public function getLocalFile($path){ + $parent=substr($path,0,strrpos($path,'/')); + if(OC_Filesystem::isValidPath($parent) and $storage=$this->getStorage($path)){ + return $storage->getLocalFile($this->getInternalPath($path)); + } + } + + /** + * following functions are equivilent to their php buildin equivilents for arguments/return values. + */ + public function mkdir($path){ + return $this->basicOperation('mkdir',$path,array('create','write')); + } + public function rmdir($path){ + return $this->basicOperation('rmdir',$path,array('delete')); + } + public function opendir($path){ + return $this->basicOperation('opendir',$path,array('read')); + } + public function is_dir($path){ + if($path=='/'){ + return true; + } + return $this->basicOperation('is_dir',$path); + } + public function is_file($path){ + if($path=='/'){ + return false; + } + return $this->basicOperation('is_file',$path); + } + public function stat($path){ + return $this->basicOperation('stat',$path); + } + public function filetype($path){ + return $this->basicOperation('filetype',$path); + } + public function filesize($path){ + return $this->basicOperation('filesize',$path); + } + public function readfile($path){ + return $this->basicOperation('readfile',$path,array('read')); + } + public function is_readable($path){ + return $this->basicOperation('is_readable',$path); + } + public function is_writeable($path){ + return $this->basicOperation('is_writeable',$path); + } + public function file_exists($path){ + if($path=='/'){ + return true; + } + return $this->basicOperation('file_exists',$path); + } + public function filectime($path){ + return $this->basicOperation('filectime',$path); + } + public function filemtime($path){ + return $this->basicOperation('filemtime',$path); + } + public function file_get_contents($path){ + return $this->basicOperation('file_get_contents',$path,array('read')); + } + public function file_put_contents($path,$data){ + return $this->basicOperation('file_put_contents',$path,array('create','write'),$data); + } + public function unlink($path){ + return $this->basicOperation('unlink',$path,array('delete')); + } + public function rename($path1,$path2){ + if(OC_FileProxy::runPreProxies('rename',$path1,$path2) and $this->is_writeable($path1) and OC_Filesystem::isValidPath($path2)){ + $run=true; + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_rename, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2, OC_Filesystem::signal_param_run => &$run)); + if($run){ + $mp1=$this->getMountPoint($path1); + $mp2=$this->getMountPoint($path2); + if($mp1==$mp2){ + if($storage=$this->getStorage($path1)){ + $result=$storage->rename($this->getInternalPath($path1),$this->getInternalPath($path2)); + } + }elseif($storage1=$this->getStorage($path1) and $storage2=$this->getStorage($path2)){ + $tmpFile=$storage1->toTmpFile($this->getInternalPath($path1)); + $result=$storage2->fromTmpFile($tmpFile,$this->getInternalPath($path2)); + $storage1->unlink($this->getInternalPath($path1)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_rename, array( OC_Filesystem::signal_param_oldpath => $path1, OC_Filesystem::signal_param_newpath=>$path2)); + return $result; + } + } + } + public function copy($path1,$path2){ + if(OC_FileProxy::runPreProxies('copy',$path1,$path2) and $this->is_readable($path1) and OC_Filesystem::isValidPath($path2)){ + $run=true; + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_copy, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2, OC_Filesystem::signal_param_run => &$run)); + $exists=$this->file_exists($path2); + if($run and !$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_create, array( OC_Filesystem::signal_param_path => $path2, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_write, array( OC_Filesystem::signal_param_path => $path2, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + $mp1=$this->getMountPoint($path1); + $mp2=$this->getMountPoint($path2); + if($mp1==$mp2){ + if($storage=$this->getStorage($path1)){ + $result=$storage->copy($this->getInternalPath($path1),$this->getInternalPath($path2)); + } + }elseif($storage1=$this->getStorage($path1) and $storage2=$this->getStorage($path2)){ + $tmpFile=$storage1->toTmpFile($this->getInternalPath($path1)); + $result=$storage2->fromTmpFile($tmpFile,$this->getInternalPath($path2)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_copy, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2)); + if(!$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_create, array( OC_Filesystem::signal_param_path => $path2)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_write, array( OC_Filesystem::signal_param_path => $path2)); + return $result; + } + } + } + public function fopen($path,$mode){ + $hooks=array(); + switch($mode){ + case 'r': + $hooks[]='read'; + break; + case 'r+': + case 'w+': + case 'x+': + case 'a+': + $hooks[]='read'; + $hooks[]='write'; + break; + case 'w': + case 'x': + case 'a': + $hooks[]='write'; + break; + default: + OC_Log::write('core','invalid mode ('.$mode.') for '.$path,OC_Log::ERROR); + } + + return $this->basicOperation('fopen',$path,$hooks,$mode); + } + public function toTmpFile($path){ + if(OC_FileProxy::runPreProxies('toTmpFile',$path) and OC_Filesystem::isValidPath($path) and $storage=$this->getStorage($path)){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_read, array( OC_Filesystem::signal_param_path => $path)); + return $storage->toTmpFile($this->getInternalPath($path)); + } + } + public function fromTmpFile($tmpFile,$path){ + if(OC_FileProxy::runPreProxies('copy',$tmpFile,$path) and OC_Filesystem::isValidPath($path) and $storage=$this->getStorage($path)){ + $run=true; + $exists=$this->file_exists($path); + if(!$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_create, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_write, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run)); + } + if($run){ + $result=$storage->fromTmpFile($tmpFile,$this->getInternalPath($path)); + if(!$exists){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_create, array( OC_Filesystem::signal_param_path => $path)); + } + OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_post_write, array( OC_Filesystem::signal_param_path => $path)); + return $result; + } + } + } + + public function getMimeType($path){ + return $this->basicOperation('getMimeType',$path); + } + public function hash($type,$path){ + return $this->basicOperation('hash',$path,array('read')); + } + + public function free_space($path='/'){ + return $this->basicOperation('free_space',$path); + } + + public function search($query){ + $files=array(); + $fakeRoot=$this->$fakeRoot; + $fakeRootLength=strlen($fakeRoot); + $results=OC_FileCache::search($query); + if(is_array($results)){ + foreach($results as $result){ + $file=str_replace('//','/',$mountpoint.$result); + if(substr($file,0,$fakeRootLength)==$fakeRoot){ + $file=substr($file,$fakeRootLength); + $files[]=$file; + } + } + } + return $files; + } + + /** + * abstraction for running most basic operations + * @param string $operation + * @param string #path + * @param array (optional) hooks + * @param mixed (optional) $extraParam + * @return mixed + */ + private function basicOperation($operation,$path,$hooks=array(),$extraParam=null){ + if(OC_FileProxy::runPreProxies($operation,$path, $extraParam) and OC_Filesystem::isValidPath($path) and $storage=$this->getStorage($path)){ + $interalPath=$this->getInternalPath($path); + $run=true; + foreach($hooks as $hook){ + if($hook!='read'){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, $hook, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run)); + }else{ + OC_Hook::emit( OC_Filesystem::CLASSNAME, $hook, array( OC_Filesystem::signal_param_path => $path)); + } + } + if($run){ + if($extraParam){ + $result=$storage->$operation($interalPath,$extraParam); + }else{ + $result=$storage->$operation($interalPath); + } + $result=OC_FileProxy::runPostProxies($operation,$path,$result); + foreach($hooks as $hook){ + if($hook!='read'){ + OC_Hook::emit( OC_Filesystem::CLASSNAME, 'post_'.$hook, array( OC_Filesystem::signal_param_path => $path)); + } + } + return $result; + } + } + return null; + } +} diff --git a/lib/util.php b/lib/util.php index 2fb581aea2..29f2cdd06d 100644 --- a/lib/util.php +++ b/lib/util.php @@ -45,7 +45,7 @@ class OC_Util { } //jail the user into his "home" directory - OC_Filesystem::chroot("/$user/$root"); + OC_Filesystem::init('/'.$user.'/'.$root); $quotaProxy=new OC_FileProxy_Quota(); OC_FileProxy::register($quotaProxy); self::$fsSetup=true; From 8543e797132a0b99127d7813e24dbb9c024a4fe8 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 30 Jan 2012 23:26:01 +0100 Subject: [PATCH 31/59] add option to send get data along with an eventsource request --- core/js/eventsource.js | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/core/js/eventsource.js b/core/js/eventsource.js index 30b942f59e..dece1a69d0 100644 --- a/core/js/eventsource.js +++ b/core/js/eventsource.js @@ -26,9 +26,18 @@ * use server side events with causion, to many open requests can hang the server */ -OC.EventSource=function(src){ +/** + * create a new event source + * @param string src + * @param object data to be send as GET + */ +OC.EventSource=function(src,data){ + var dataStr=''; + for(name in data){ + dataStr+=name+'='+encodeURIComponent(data[name])+'&'; + } if(!this.useFallBack && typeof EventSource !='undefined'){ - this.source=new EventSource(src); + this.source=new EventSource(src+'?'+dataStr); this.source.onmessage=function(e){ for(var i=0;i'); this.iframe.attr('id',iframeId); this.iframe.hide(); - this.iframe.attr('src',src+'?fallback=true&fallback_id='+OC.EventSource.iframeCount); + this.iframe.attr('src',src+'?fallback=true&fallback_id='+OC.EventSource.iframeCount+'&'+dataStr); $('body').append(this.iframe); this.useFallBack=true; OC.EventSource.iframeCount++ From ffecc3e4341102714a89ab6b5643c666c1feb0ee Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Mon, 30 Jan 2012 23:32:55 +0100 Subject: [PATCH 32/59] start of proper feedback during filessytem scan --- files/ajax/scan.php | 11 +++++++---- files/js/files.js | 12 ++++++++---- lib/filecache.php | 6 ++++-- 3 files changed, 19 insertions(+), 10 deletions(-) diff --git a/files/ajax/scan.php b/files/ajax/scan.php index dec949a819..01236c83da 100644 --- a/files/ajax/scan.php +++ b/files/ajax/scan.php @@ -2,15 +2,18 @@ require_once '../../lib/base.php'; +$eventSource=new OC_EventSource(); + $force=isset($_GET['force']) and $_GET['force']=='true'; $checkOnly=isset($_GET['checkonly']) and $_GET['checkonly']=='true'; //create the file cache if necesary if($force or !OC_FileCache::inCache('')){ if(!$checkOnly){ - OC_FileCache::scan(''); + OC_FileCache::scan('',false,$eventSource); } - OC_JSON::success(array("data" => array( "done" => true))); + $eventSource->send('success',true); }else{ - OC_JSON::success(array("data" => array( "done" => false))); -} \ No newline at end of file + $eventSource->send('success',false); +} +$eventSource->close(); \ No newline at end of file diff --git a/files/js/files.js b/files/js/files.js index 649f193aa2..28259606ce 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -348,13 +348,17 @@ $(document).ready(function() { function scanFiles(force){ force=!!force; //cast to bool $('#scanning-message').show(); - $.get(OC.filePath('files','ajax','scan.php'),{force:force}, function(response) { - if(response && response.data && response.data.done){ + var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force}); + scannerEventSource.listen('scanned',function(file){ + console.log(file);//TODO: make this into proper feedback + }); + scannerEventSource.listen('success',function(success){ + if(success){ window.location.reload(); }else{ - alert('error') + alert('error while scanning'); } - }, "json"); + }); } function boolOperationFinished(data, callback) { diff --git a/lib/filecache.php b/lib/filecache.php index 928fc02e66..4e458ad929 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -288,8 +288,9 @@ class OC_FileCache{ * recursively scan the filesystem and fill the cache * @param string $path * @param bool $onlyChilds + * @param OC_EventSource $enventSource */ - public static function scan($path,$onlyChilds=false){//PROBLEM due to the order things are added, all parents are -1 + public static function scan($path,$onlyChilds,$eventSource){//PROBLEM due to the order things are added, all parents are -1 $dh=OC_Filesystem::opendir($path); $stat=OC_Filesystem::stat($path); $mimetype=OC_Filesystem::getMimeType($path); @@ -305,12 +306,13 @@ class OC_FileCache{ if($filename != '.' and $filename != '..'){ $file=$path.'/'.$filename; if(OC_Filesystem::is_dir($file)){ - self::scan($file,true); + self::scan($file,true,$eventSource); }else{ $stat=OC_Filesystem::stat($file); $mimetype=OC_Filesystem::getMimeType($file); $stat['mimetype']=$mimetype; self::put($file,$stat); + $eventSource->send('scanned',$file); $totalSize+=$stat['size']; } } From 803f86e0fcd77e3888daa387142fd197083d5fd3 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Jan 2012 12:44:01 +0100 Subject: [PATCH 33/59] dont try to use the filesystem when it isnt setup yet --- apps/files_sharing/sharedstorage.php | 2 +- lib/filesystem.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index 529a82b830..fa6fe7913f 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -22,7 +22,7 @@ require_once( 'lib_share.php' ); -if (!OC_Filesystem::is_dir('/Shared')) { +if (OC_Filesystem::$loaded and !OC_Filesystem::is_dir('/Shared')) { OC_Filesystem::mkdir('/Shared'); } OC_Filesystem::mount('OC_Filestorage_Shared',array('datadir'=>'/'.OC_User::getUser().'/files/Shared'),'/'.OC_User::getUser().'/files/Shared/'); diff --git a/lib/filesystem.php b/lib/filesystem.php index 60d3f56a24..8502cfc08b 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -47,6 +47,7 @@ class OC_Filesystem{ static private $storages=array(); static private $mounts=array(); static private $storageTypes=array(); + public static $loaded=false; private $fakeRoot=''; static private $defaultInstance; @@ -200,6 +201,7 @@ class OC_Filesystem{ return false; } self::$defaultInstance=new OC_FilesystemView($root); + self::$loaded=true; } /** From 7ff86cfebe27c6cf3fc1926faeea541b84b5eff9 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Jan 2012 13:56:58 +0100 Subject: [PATCH 34/59] provide live feedback while scanning files --- files/js/files.js | 7 ++++++- files/templates/index.php | 5 ++++- lib/filecache.php | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/files/js/files.js b/files/js/files.js index 28259606ce..a896314faf 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -347,10 +347,15 @@ $(document).ready(function() { function scanFiles(force){ force=!!force; //cast to bool + var fileCount=0; $('#scanning-message').show(); + $('#fileList').remove(); var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force}); + scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource); scannerEventSource.listen('scanned',function(file){ - console.log(file);//TODO: make this into proper feedback + fileCount++; + $('#scan-count').text(fileCount+' files scanned'); + $('#scan-current').text(file); }); scannerEventSource.listen('success',function(success){ if(success){ diff --git a/files/templates/index.php b/files/templates/index.php index 92c579c244..fa4643de75 100644 --- a/files/templates/index.php +++ b/files/templates/index.php @@ -61,7 +61,10 @@

+

+ t('Files are being scanned, please wait.');?> +

- t('Files are being scanned, please wait.');?> + t('Current scanning');?>

diff --git a/lib/filecache.php b/lib/filecache.php index 4e458ad929..6dbaef4bbf 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -290,7 +290,7 @@ class OC_FileCache{ * @param bool $onlyChilds * @param OC_EventSource $enventSource */ - public static function scan($path,$onlyChilds,$eventSource){//PROBLEM due to the order things are added, all parents are -1 + public static function scan($path,$onlyChilds,$eventSource){ $dh=OC_Filesystem::opendir($path); $stat=OC_Filesystem::stat($path); $mimetype=OC_Filesystem::getMimeType($path); From df67c35017d8794a4b1c83fd4e41658b2e6d0e75 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Jan 2012 16:12:38 +0100 Subject: [PATCH 35/59] some fixes to scanning --- db_structure.xml | 9 +++++++++ files/ajax/scan.php | 12 ++++++++++-- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/db_structure.xml b/db_structure.xml index 13d5732a8d..5ef22b595c 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -81,6 +81,15 @@ true 512 + + + user + text + + + true + 64 + size diff --git a/files/ajax/scan.php b/files/ajax/scan.php index 01236c83da..37ce7ab71f 100644 --- a/files/ajax/scan.php +++ b/files/ajax/scan.php @@ -2,17 +2,25 @@ require_once '../../lib/base.php'; -$eventSource=new OC_EventSource(); +set_time_limit(0);//scanning can take ages $force=isset($_GET['force']) and $_GET['force']=='true'; $checkOnly=isset($_GET['checkonly']) and $_GET['checkonly']=='true'; +if(!$checkOnly){ + $eventSource=new OC_EventSource(); +} + + //create the file cache if necesary if($force or !OC_FileCache::inCache('')){ if(!$checkOnly){ OC_FileCache::scan('',false,$eventSource); + $eventSource->send('success',true); + }else{ + OC_JSON::success(array('data'=>array('done'=>true))); + exit; } - $eventSource->send('success',true); }else{ $eventSource->send('success',false); } From c46f701771db9285e70a5b1d5a4b641046bf703c Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Jan 2012 16:12:49 +0100 Subject: [PATCH 36/59] use filesystem cache for searching --- lib/filecache.php | 25 +++++++++++++++++++------ lib/filesystem.php | 2 +- lib/filesystemview.php | 17 ----------------- lib/search/provider/file.php | 11 ++++++----- 4 files changed, 26 insertions(+), 29 deletions(-) diff --git a/lib/filecache.php b/lib/filecache.php index 6dbaef4bbf..689680624a 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -79,8 +79,9 @@ class OC_FileCache{ $data['versioned']=false; } $mimePart=dirname($data['mimetype']); - $query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart) VALUES(?,?,?,?,?,?,?,?)'); - $query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart)); + $user=OC_User::getUser(); + $query=OC_DB::prepare('INSERT INTO *PREFIX*fscache(parent, name, path, size, mtime, ctime, mimetype, mimepart,user) VALUES(?,?,?,?,?,?,?,?,?)'); + $query->execute(array($parent,basename($path),$path,$data['size'],$data['mtime'],$data['ctime'],$data['mimetype'],$mimePart,$user)); } @@ -133,14 +134,26 @@ class OC_FileCache{ /** * return array of filenames matching the querty * @param string $query + * @param boolean $returnData * @return array of filepaths */ - public static function search($search){ - $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ?'); - $result=$query->execute(array("%$search%")); + public static function search($search,$returnData=false){ + $root=OC_Filesystem::getRoot(); + $rootLen=strlen($root); + if(!$returnData){ + $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ? AND user=?'); + }else{ + $query=OC_DB::prepare('SELECT * FROM *PREFIX*fscache WHERE name LIKE ? AND user=?'); + } + $result=$query->execute(array("%$search%",OC_User::getUser())); $names=array(); while($row=$result->fetchRow()){ - $names[]=$row['path']; + if(!$returnData){ + $names[]=substr($row['path'],$rootLen); + }else{ + $row['path']=substr($row['path'],$rootLen); + $names[]=$row; + } } return $names; } diff --git a/lib/filesystem.php b/lib/filesystem.php index 8502cfc08b..5062ecf5c1 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -374,7 +374,7 @@ class OC_Filesystem{ } static public function search($query){ - return self::$defaultInstance->search($query); + return OC_FileCache::search($query); } } diff --git a/lib/filesystemview.php b/lib/filesystemview.php index 9687a8bceb..6c2ca91631 100644 --- a/lib/filesystemview.php +++ b/lib/filesystemview.php @@ -279,23 +279,6 @@ class OC_FilesystemView { return $this->basicOperation('free_space',$path); } - public function search($query){ - $files=array(); - $fakeRoot=$this->$fakeRoot; - $fakeRootLength=strlen($fakeRoot); - $results=OC_FileCache::search($query); - if(is_array($results)){ - foreach($results as $result){ - $file=str_replace('//','/',$mountpoint.$result); - if(substr($file,0,$fakeRootLength)==$fakeRoot){ - $file=substr($file,$fakeRootLength); - $files[]=$file; - } - } - } - return $files; - } - /** * abstraction for running most basic operations * @param string $operation diff --git a/lib/search/provider/file.php b/lib/search/provider/file.php index 5fd35fa3e5..c3dc2942ae 100644 --- a/lib/search/provider/file.php +++ b/lib/search/provider/file.php @@ -2,14 +2,15 @@ class OC_Search_Provider_File extends OC_Search_Provider{ function search($query){ - $files=OC_Filesystem::search($query); + $files=OC_FileCache::search($query,true); $results=array(); - foreach($files as $file){ - if(OC_Filesystem::is_dir($file)){ + foreach($files as $fileData){ + $file=$fileData['path']; + if($fileData['mime']=='httpd/unix-directory'){ $results[]=new OC_Search_Result(basename($file),'',OC_Helper::linkTo( 'files', 'index.php?dir='.$file ),'Files'); }else{ - $mime=OC_Filesystem::getMimeType($file); - $mimeBase=substr($mime,0,strpos($mime,'/')); + $mime=$fileData['mime']; + $mimeBase=$fileData['mimepart']; switch($mimeBase){ case 'audio': break; From f1c5dce75c5f1bc2c9d7022a8b43577a3dec9629 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Jan 2012 16:33:16 +0100 Subject: [PATCH 37/59] dont try to use something that isn't there --- files/ajax/scan.php | 6 +++++- lib/filecache.php | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/files/ajax/scan.php b/files/ajax/scan.php index 37ce7ab71f..f7e75d5f8b 100644 --- a/files/ajax/scan.php +++ b/files/ajax/scan.php @@ -22,6 +22,10 @@ if($force or !OC_FileCache::inCache('')){ exit; } }else{ - $eventSource->send('success',false); + if(isset($eventSource)){ + $eventSource->send('success',false); + }else{ + exit; + } } $eventSource->close(); \ No newline at end of file diff --git a/lib/filecache.php b/lib/filecache.php index 689680624a..b4cafe8b31 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -325,7 +325,9 @@ class OC_FileCache{ $mimetype=OC_Filesystem::getMimeType($file); $stat['mimetype']=$mimetype; self::put($file,$stat); - $eventSource->send('scanned',$file); + if($eventSource){ + $eventSource->send('scanned',$file); + } $totalSize+=$stat['size']; } } From 371b4642bb21697a06424f1440f4b90ad4e59b9d Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Tue, 31 Jan 2012 16:33:47 +0100 Subject: [PATCH 38/59] proper file sorting --- lib/files.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/files.php b/lib/files.php index 5686287ecc..457c8ea38f 100644 --- a/lib/files.php +++ b/lib/files.php @@ -41,7 +41,7 @@ class OC_Files { $file['directory']=$directory; $file['type']=($file['mimetype']=='httpd/unix-directory')?'dir':'file'; } - uksort($files, "strnatcasecmp"); + usort($files, "fileCmp");//TODO: remove this once ajax is merged return $files; } @@ -290,3 +290,13 @@ class OC_Files { return $path; } } + +function fileCmp($a,$b){ + if($a['type']=='dir' and $b['type']!='dir'){ + return -1; + }elseif($a['type']!='dir' and $b['type']=='dir'){ + return 1; + }else{ + return strnatcasecmp($a['name'],$b['name']); + } +} From a69d3c3346b7b254e3e0ab6766f40842a4ad3878 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 1 Feb 2012 15:25:00 +0100 Subject: [PATCH 39/59] only show what folder we are scanning to save bandwith --- files/js/files.js | 8 +++----- lib/filecache.php | 11 ++++++----- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/files/js/files.js b/files/js/files.js index a896314faf..0eca0959de 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -347,15 +347,13 @@ $(document).ready(function() { function scanFiles(force){ force=!!force; //cast to bool - var fileCount=0; $('#scanning-message').show(); $('#fileList').remove(); var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force}); scanFiles.cancel=scannerEventSource.close.bind(scannerEventSource); - scannerEventSource.listen('scanned',function(file){ - fileCount++; - $('#scan-count').text(fileCount+' files scanned'); - $('#scan-current').text(file); + scannerEventSource.listen('scanning',function(data){ + $('#scan-count').text(data.count+' files scanned'); + $('#scan-current').text(data.file+'/'); }); scannerEventSource.listen('success',function(success){ if(success){ diff --git a/lib/filecache.php b/lib/filecache.php index b4cafe8b31..a67ac669a7 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -303,7 +303,7 @@ class OC_FileCache{ * @param bool $onlyChilds * @param OC_EventSource $enventSource */ - public static function scan($path,$onlyChilds,$eventSource){ + public static function scan($path,$onlyChilds=false,$eventSource=false,&$count=0){ $dh=OC_Filesystem::opendir($path); $stat=OC_Filesystem::stat($path); $mimetype=OC_Filesystem::getMimeType($path); @@ -319,15 +319,16 @@ class OC_FileCache{ if($filename != '.' and $filename != '..'){ $file=$path.'/'.$filename; if(OC_Filesystem::is_dir($file)){ - self::scan($file,true,$eventSource); + if($eventSource){ + $eventSource->send('scanning',array('file'=>$file,'count'=>$count)); + } + self::scan($file,true,$eventSource,$count); }else{ $stat=OC_Filesystem::stat($file); $mimetype=OC_Filesystem::getMimeType($file); $stat['mimetype']=$mimetype; self::put($file,$stat); - if($eventSource){ - $eventSource->send('scanned',$file); - } + $count++; $totalSize+=$stat['size']; } } From 0124809a42dd72d9c6d9b550687fa0013a88b6da Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 1 Feb 2012 15:33:12 +0100 Subject: [PATCH 40/59] prevent sharing from making aditional http requests while scanning additional requests to the server can block feedback of scannning depending on server configuration --- apps/files_sharing/js/share.js | 1 + files/js/files.js | 3 +++ 2 files changed, 4 insertions(+) diff --git a/apps/files_sharing/js/share.js b/apps/files_sharing/js/share.js index 4457dddbe1..d01a07447a 100644 --- a/apps/files_sharing/js/share.js +++ b/apps/files_sharing/js/share.js @@ -2,6 +2,7 @@ $(document).ready(function() { var shared_status = {}; if (typeof FileActions !== 'undefined') { FileActions.register('all', 'Share', function(filename) { + if (scanFiles.scanning){return;}//workaround to prevent aditional http request block scanning feedback var icon; var file = $('#dir').val()+'/'+filename; if(shared_status[file]) diff --git a/files/js/files.js b/files/js/files.js index 0eca0959de..bebcf4e97a 100644 --- a/files/js/files.js +++ b/files/js/files.js @@ -347,6 +347,7 @@ $(document).ready(function() { function scanFiles(force){ force=!!force; //cast to bool + scanFiles.scanning=true; $('#scanning-message').show(); $('#fileList').remove(); var scannerEventSource=new OC.EventSource(OC.filePath('files','ajax','scan.php'),{force:force}); @@ -356,6 +357,7 @@ function scanFiles(force){ $('#scan-current').text(data.file+'/'); }); scannerEventSource.listen('success',function(success){ + scanFiles.scanning=false; if(success){ window.location.reload(); }else{ @@ -363,6 +365,7 @@ function scanFiles(force){ } }); } +scanFiles.scanning=false; function boolOperationFinished(data, callback) { result = jQuery.parseJSON(data.responseText); From 05d76dcd6768dc0b1417916cd24aa10d84c6eeb0 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Thu, 2 Feb 2012 19:04:13 +0100 Subject: [PATCH 41/59] allow the usage of the filecache outside of the users home folder --- lib/filecache.php | 68 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 50 insertions(+), 18 deletions(-) diff --git a/lib/filecache.php b/lib/filecache.php index a67ac669a7..b9f708951d 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -31,6 +31,7 @@ class OC_FileCache{ /** * get the filesystem info from the cache * @param string path + * @param string root (optional) * @return array * * returns an assiciative array with the following keys: @@ -41,8 +42,11 @@ class OC_FileCache{ * - encrypted * - versioned */ - public static function get($path){ - $path=OC_Filesystem::getRoot().$path; + public static function get($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + $path=$root.$path; $query=OC_DB::prepare('SELECT ctime,mtime,mimetype,size,encrypted,versioned FROM *PREFIX*fscache WHERE path=?'); $result=$query->execute(array($path))->fetchRow(); if(is_array($result)){ @@ -57,11 +61,15 @@ class OC_FileCache{ * put filesystem info in the cache * @param string $path * @param array data + * @param string root (optional) * * $data is an assiciative array in the same format as returned by get */ - public static function put($path,$data){ - $path=OC_Filesystem::getRoot().$path; + public static function put($path,$data,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + $path=$root.$path; if($path=='/'){ $parent=-1; }else{ @@ -112,10 +120,14 @@ class OC_FileCache{ * register a file move in the cache * @param string oldPath * @param string newPath + * @param string root (optional) */ - public static function move($oldPath,$newPath){ - $oldPath=OC_Filesystem::getRoot().$oldPath; - $newPath=OC_Filesystem::getRoot().$newPath; + public static function move($oldPath,$newPath,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + $oldPath=$root.$oldPath; + $newPath=$root.$newPath; $newParent=self::getParentId($newPath); $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET parent=? ,name=?, path=? WHERE path=?'); $query->execute(array($newParent,basename($newPath),$newPath,$oldPath)); @@ -124,9 +136,13 @@ class OC_FileCache{ /** * delete info from the cache * @param string $path + * @param string root (optional) */ - public static function delete($path){ - $path=OC_Filesystem::getRoot().$path; + public static function delete($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + $path=$root.$path; $query=OC_DB::prepare('DELETE FROM *PREFIX*fscache WHERE path=?'); $query->execute(array($path)); } @@ -135,10 +151,13 @@ class OC_FileCache{ * return array of filenames matching the querty * @param string $query * @param boolean $returnData + * @param string root (optional) * @return array of filepaths */ - public static function search($search,$returnData=false){ - $root=OC_Filesystem::getRoot(); + public static function search($search,$returnData=false,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } $rootLen=strlen($root); if(!$returnData){ $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ? AND user=?'); @@ -161,6 +180,7 @@ class OC_FileCache{ /** * get all files and folders in a folder * @param string path + * @param string root (optional) * @return array * * returns an array of assiciative arrays with the following keys: @@ -172,8 +192,11 @@ class OC_FileCache{ * - encrypted * - versioned */ - public static function getFolderContent($path){ - $path=OC_Filesystem::getRoot().$path; + public static function getFolderContent($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + $path=$root.$path; $parent=self::getFileId($path); $query=OC_DB::prepare('SELECT name,ctime,mtime,mimetype,size,encrypted,versioned FROM *PREFIX*fscache WHERE parent=?'); $result=$query->execute(array($parent))->fetchAll(); @@ -188,10 +211,14 @@ class OC_FileCache{ /** * check if a file or folder is in the cache * @param string $path + * @param string root (optional) * @return bool */ - public static function inCache($path){ - $path=OC_Filesystem::getRoot().$path; + public static function inCache($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + $path=$root.$path; $inCache=self::getFileId($path)!=-1; return $inCache; } @@ -301,9 +328,14 @@ class OC_FileCache{ * recursively scan the filesystem and fill the cache * @param string $path * @param bool $onlyChilds - * @param OC_EventSource $enventSource + * @param OC_EventSource $enventSource (optional) + * @param int count (optional) + * @param string root (optional) */ - public static function scan($path,$onlyChilds=false,$eventSource=false,&$count=0){ + public static function scan($path,$onlyChilds=false,$eventSource=false,&$count=0,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } $dh=OC_Filesystem::opendir($path); $stat=OC_Filesystem::stat($path); $mimetype=OC_Filesystem::getMimeType($path); @@ -312,7 +344,7 @@ class OC_FileCache{ $path=''; } self::put($path,$stat); - $fullPath=OC_Filesystem::getRoot().$path; + $fullPath=$root.$path; $totalSize=0; if($dh){ while (($filename = readdir($dh)) !== false) { From 7c00aedc37cf039ec23c54429d5188ab7d219b7e Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 5 Feb 2012 01:23:04 +0100 Subject: [PATCH 42/59] some improvements in file scanning --- files/ajax/scan.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/files/ajax/scan.php b/files/ajax/scan.php index f7e75d5f8b..565275911b 100644 --- a/files/ajax/scan.php +++ b/files/ajax/scan.php @@ -15,13 +15,19 @@ if(!$checkOnly){ //create the file cache if necesary if($force or !OC_FileCache::inCache('')){ if(!$checkOnly){ - OC_FileCache::scan('',false,$eventSource); + OC_DB::beginTransaction(); + OC_FileCache::scan('',$eventSource); + OC_DB::commit(); $eventSource->send('success',true); }else{ OC_JSON::success(array('data'=>array('done'=>true))); exit; } }else{ + if($checkOnly){ + OC_JSON::success(array('data'=>array('done'=>false))); + exit; + } if(isset($eventSource)){ $eventSource->send('success',false); }else{ From 0bb48d814bff0cfba0606818b36599c000b16a51 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 5 Feb 2012 01:23:41 +0100 Subject: [PATCH 43/59] fix bug in transactions with PDO --- lib/db.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/db.php b/lib/db.php index 4860651b32..82d9b67dca 100644 --- a/lib/db.php +++ b/lib/db.php @@ -486,7 +486,7 @@ class OC_DB { */ public static function beginTransaction(){ self::connect(); - if (self::$backend=self::BACKEND_MDB2 && !self::$connection->supports('transactions')) { + if (self::$backend==self::BACKEND_MDB2 && !self::$connection->supports('transactions')) { return false; } self::$connection->beginTransaction(); From 25e777ef5e9c68ac45d32b71a0174febf74d47ef Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 5 Feb 2012 01:25:36 +0100 Subject: [PATCH 44/59] watch for changes outside owncloud to the files --- lib/filecache.php | 267 ++++++++++++++++++++++++++++++++++++--------- lib/filesystem.php | 8 ++ 2 files changed, 225 insertions(+), 50 deletions(-) diff --git a/lib/filecache.php b/lib/filecache.php index b9f708951d..c51fee60bf 100644 --- a/lib/filecache.php +++ b/lib/filecache.php @@ -43,9 +43,19 @@ class OC_FileCache{ * - versioned */ public static function get($path,$root=''){ + if(self::isUpdated($path,$root)){ + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$path)); + }else{ + self::fileSystemWatcherWrite(array('path'=>$path),$root); + } + } if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $path=$root.$path; $query=OC_DB::prepare('SELECT ctime,mtime,mimetype,size,encrypted,versioned FROM *PREFIX*fscache WHERE path=?'); $result=$query->execute(array($path))->fetchRow(); @@ -69,6 +79,9 @@ class OC_FileCache{ if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $path=$root.$path; if($path=='/'){ $parent=-1; @@ -126,6 +139,9 @@ class OC_FileCache{ if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $oldPath=$root.$oldPath; $newPath=$root.$newPath; $newParent=self::getParentId($newPath); @@ -142,6 +158,9 @@ class OC_FileCache{ if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $path=$root.$path; $query=OC_DB::prepare('DELETE FROM *PREFIX*fscache WHERE path=?'); $query->execute(array($path)); @@ -158,6 +177,9 @@ class OC_FileCache{ if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $rootLen=strlen($root); if(!$returnData){ $query=OC_DB::prepare('SELECT path FROM *PREFIX*fscache WHERE name LIKE ? AND user=?'); @@ -193,9 +215,15 @@ class OC_FileCache{ * - versioned */ public static function getFolderContent($path,$root=''){ + if(self::isUpdated($path,$root)){ + self::updateFolder($path,$root); + } if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $path=$root.$path; $parent=self::getFileId($path); $query=OC_DB::prepare('SELECT name,ctime,mtime,mimetype,size,encrypted,versioned FROM *PREFIX*fscache WHERE parent=?'); @@ -218,9 +246,11 @@ class OC_FileCache{ if(!$root){ $root=OC_Filesystem::getRoot(); } + if($root=='/'){ + $root=''; + } $path=$root.$path; - $inCache=self::getFileId($path)!=-1; - return $inCache; + return self::getFileId($path)!=-1; } /** @@ -254,51 +284,96 @@ class OC_FileCache{ /** * called when changes are made to files + * @param array $params + * @param string root (optional) */ - public static function fileSystemWatcherWrite($params){ - $path=$params['path']; - $fullPath=OC_Filesystem::getRoot().$path; - $mimetype=OC_Filesystem::getMimeType($path); - if($mimetype=='httpd/unix-directory'){ - $size=0; + public static function fileSystemWatcherWrite($params,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); }else{ - $id=self::getFileId($fullPath); - if($id!=-1){ - $oldInfo=self::get($path); - $oldSize=$oldInfo['size']; - }else{ - $oldSize=0; - } - $size=OC_Filesystem::filesize($path); - self::increaseSize(dirname($fullPath),$size-$oldSize); + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + $path=$params['path']; + $fullPath=$view->getRoot().$path; + $mimetype=$view->getMimeType($path); + //dont use self::get here, we don't want inifinte loops when a file has changed + $cachedSize=self::getCachedSize($path,$root); + if($mimetype=='httpd/unix-directory'){ + if(self::inCache($path,$root)){ + $size=0; + $parent=self::getFileId($fullPath); + $query=OC_DB::prepare('SELECT size FROM *PREFIX*fscache WHERE parent=?'); + $query->execute(array($parent)); + while($row=$query->fetch()){ + $size+=$row['size']; + } + $mtime=$view->filemtime($path); + $ctime=$view->filectime($path); + self::put($path,array('size'=>$size,'mtime'=>$mtime,'ctime'=>$ctime,'mimetype'=>$mimetype)); + }else{ + self::scan($path,null,0,$root); + } + }else{ + $size=self::scanFile($path,$root); + } + self::increaseSize(dirname($fullPath),$size-$cachedSize); + } + + private static function getCachedSize($path,$root){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + }else{ + if($root=='/'){ + $root=''; + } + } + $query=OC_DB::prepare('SELECT size FROM *PREFIX*fscache WHERE path=?'); + $query->execute(array($path)); + if($row=$query->fetch()){ + return $row['size']; + }else{//file not in cache + return 0; } - $mtime=OC_Filesystem::filemtime($path); - $ctime=OC_Filesystem::filectime($path); - self::put($path,array('size'=>$size,'mtime'=>$mtime,'ctime'=>$ctime,'mimetype'=>$mimetype)); } /** * called when files are deleted + * @param array $params + * @param string root (optional) */ - public static function fileSystemWatcherDelete($params){ + public static function fileSystemWatcherDelete($params,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } $path=$params['path']; - $fullPath=OC_Filesystem::getRoot().$path; + $fullPath=$root.$path; if(self::getFileId($fullPath)==-1){ return; } - $size=OC_Filesystem::filesize($path); + $size=self::getCachedSize($path,$root); self::increaseSize(dirname($fullPath),-$size); self::delete($path); } /** * called when files are deleted + * @param array $params + * @param string root (optional) */ - public static function fileSystemWatcherRename($params){ + public static function fileSystemWatcherRename($params,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + } + if($root=='/'){ + $root=''; + } $oldPath=$params['oldpath']; $newPath=$params['newpath']; - $fullOldPath=OC_Filesystem::getRoot().$oldPath; - $fullNewPath=OC_Filesystem::getRoot().$newPath; + $fullOldPath=$root.$oldPath; + $fullNewPath=$root.$newPath; if(($id=self::getFileId($fullOldPath))!=-1){ $oldInfo=self::get($fullOldPath); $oldSize=$oldInfo['size']; @@ -317,7 +392,8 @@ class OC_FileCache{ * @param int $sizeDiff */ private static function increaseSize($path,$sizeDiff){ - while(($id=self::getFileId($path))!=-1){ + if($sizeDiff==0) return; + while(($id=self::getFileId($path))!=-1){//walk up the filetree increasing the size of all parent folders $query=OC_DB::prepare('UPDATE *PREFIX*fscache SET size=size+? WHERE id=?'); $query->execute(array($sizeDiff,$id)); $path=dirname($path); @@ -327,46 +403,59 @@ class OC_FileCache{ /** * recursively scan the filesystem and fill the cache * @param string $path - * @param bool $onlyChilds * @param OC_EventSource $enventSource (optional) * @param int count (optional) - * @param string root (optional) + * @param string root (optionak) */ - public static function scan($path,$onlyChilds=false,$eventSource=false,&$count=0,$root=''){ + public static function scan($path,$eventSource=false,&$count=0,$root=''){ if(!$root){ - $root=OC_Filesystem::getRoot(); + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); } - $dh=OC_Filesystem::opendir($path); - $stat=OC_Filesystem::stat($path); - $mimetype=OC_Filesystem::getMimeType($path); - $stat['mimetype']=$mimetype; - if($path=='/'){ - $path=''; - } - self::put($path,$stat); - $fullPath=$root.$path; + self::scanFile($path,$root); + $dh=$view->opendir($path); $totalSize=0; if($dh){ while (($filename = readdir($dh)) !== false) { if($filename != '.' and $filename != '..'){ $file=$path.'/'.$filename; - if(OC_Filesystem::is_dir($file)){ + if($view->is_dir($file)){ if($eventSource){ $eventSource->send('scanning',array('file'=>$file,'count'=>$count)); } - self::scan($file,true,$eventSource,$count); + self::scan($file,$eventSource,$count,$root); }else{ - $stat=OC_Filesystem::stat($file); - $mimetype=OC_Filesystem::getMimeType($file); - $stat['mimetype']=$mimetype; - self::put($file,$stat); + $totalSize+=self::scanFile($file,$root); $count++; - $totalSize+=$stat['size']; } } } } - self::increaseSize($fullPath,$totalSize); + self::increaseSize($view->getRoot().$path,$totalSize); + } + + /** + * scan a single file + * @param string path + * @param string root (optional) + * @return int size of the scanned file + */ + public static function scanFile($path,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + if(!$view->is_readable($path)) return; //cant read, nothing we can do + $stat=$view->stat($path); + $mimetype=$view->getMimeType($path); + $stat['mimetype']=$mimetype; + if($path=='/'){ + $path=''; + } + self::put($path,$stat,$root); + return $stat['size']; } /** @@ -395,9 +484,87 @@ class OC_FileCache{ } return $names; } + + /** + * check if a file or folder is updated outside owncloud + * @param string path + * @param string root (optional) + * @return bool + */ + public static function isUpdated($path,$root=''){ + if(!$root){ + $root=OC_Filesystem::getRoot(); + $view=OC_Filesystem::getView(); + }else{ + if($root=='/'){ + $root=''; + } + $view=new OC_FilesystemView($root); + } + $mtime=$view->filemtime($path); + $isDir=$view->is_dir($path); + $path=$root.$path; + $query=OC_DB::prepare('SELECT mtime FROM *PREFIX*fscache WHERE path=?'); + $query->execute(array($path)); + if($row=$query->fetch()){ + $cachedMTime=$row['mtime']; + return ($mtime>$cachedMTime); + }else{//file not in cache, so it has to be updated + return !($isDir);//new folders are handeled sperate + } + } + + /** + * update the cache according to changes in the folder + * @param string path + * @param string root (optional) + */ + private static function updateFolder($path,$root=''){ + if(!$root){ + $view=OC_Filesystem::getView(); + }else{ + $view=new OC_FilesystemView(($root=='/')?'':$root); + } + $dh=$view->opendir($path); + if($dh){//check for changed/new files + while (($filename = readdir($dh)) !== false) { + if($filename != '.' and $filename != '..'){ + $file=$path.'/'.$filename; + if(self::isUpdated($file,$root)){ + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$file)); + }else{ + self::fileSystemWatcherWrite(array('path'=>$file),$root); + } + } + } + } + } + + //check for removed files, not using getFolderContent to prevent loops + $parent=self::getFileId($view->getRoot().$path); + $query=OC_DB::prepare('SELECT name FROM *PREFIX*fscache WHERE parent=?'); + $result=$query->execute(array($parent)); + while($row=$result->fetch()){ + $file=$path.'/'.$row['name']; + if(!$view->file_exists($file)){ + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_delete',array('path'=>$file)); + }else{ + self::fileSystemWatcherDelete(array('path'=>$file),$root); + } + } + } + //update the folder last, so we can calculate the size correctly + if(!$root){//filesystem hooks are only valid for the default root + OC_Hook::emit('OC_Filesystem','post_write',array('path'=>$path)); + }else{ + self::fileSystemWatcherWrite(array('path'=>$path),$root); + } + } } //watch for changes and try to keep the cache up to date OC_Hook::connect('OC_Filesystem','post_write','OC_FileCache','fileSystemWatcherWrite'); -OC_Hook::connect('OC_Filesystem','delete','OC_FileCache','fileSystemWatcherDelete'); -OC_Hook::connect('OC_Filesystem','rename','OC_FileCache','fileSystemWatcherRename'); +OC_Hook::connect('OC_Filesystem','post_delete','OC_FileCache','fileSystemWatcherDelete'); +OC_Hook::connect('OC_Filesystem','post_rename','OC_FileCache','fileSystemWatcherRename'); diff --git a/lib/filesystem.php b/lib/filesystem.php index 5062ecf5c1..8e55575e66 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -203,6 +203,14 @@ class OC_Filesystem{ self::$defaultInstance=new OC_FilesystemView($root); self::$loaded=true; } + + /** + * get the default filesystem view + * @return OC_FilesystemView + */ + static public function getView(){ + return self::$defaultInstance; + } /** * tear down the filesystem, removing all storage providers From 30673e478672af316c057f562a8a02babdbd3160 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 5 Feb 2012 14:00:49 +0100 Subject: [PATCH 45/59] writable not writeable --- apps/files_sharing/sharedstorage.php | 10 +++++----- apps/files_texteditor/ajax/loadfile.php | 2 +- apps/files_texteditor/ajax/savefile.php | 2 +- files/index.php | 2 +- files/templates/part.list.php | 2 +- lib/filestorage.php | 2 +- lib/filestorage/local.php | 2 +- lib/filestoragecommon.php | 2 +- lib/filesystem.php | 4 ++-- lib/filesystemview.php | 6 +++--- lib/util.php | 2 +- 11 files changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/files_sharing/sharedstorage.php b/apps/files_sharing/sharedstorage.php index fa6fe7913f..4840cce4c9 100644 --- a/apps/files_sharing/sharedstorage.php +++ b/apps/files_sharing/sharedstorage.php @@ -259,7 +259,7 @@ class OC_Filestorage_Shared extends OC_Filestorage { return true; } - public function is_writeable($path) { + public function is_writable($path) { if($path == "" || $path == "/"){ return false; }elseif (OC_Share::getPermissions($this->datadir.$path) & OC_Share::WRITE) { @@ -340,7 +340,7 @@ class OC_Filestorage_Shared extends OC_Filestorage { } public function file_put_contents($path, $data) { - if ($this->is_writeable($path)) { + if ($this->is_writable($path)) { $source = $this->getSource($path); if ($source) { $storage = OC_Filesystem::getStorage($source); @@ -384,7 +384,7 @@ class OC_Filestorage_Shared extends OC_Filestorage { if ($root1 !== $root2) { return false; // Check if both paths have write permission - } else if ($this->is_writeable($path1) && $this->is_writeable($path2)) { + } else if ($this->is_writable($path1) && $this->is_writable($path2)) { $oldSource = $this->getSource($path1); $newSource = $folders['source'].substr($newTarget, strlen($folders['target'])); if ($oldSource) { @@ -414,7 +414,7 @@ class OC_Filestorage_Shared extends OC_Filestorage { if ($path2 == "" || $path2 == "/") { // TODO Construct new shared item or should this not be allowed? } else { - if ($this->is_writeable($path2)) { + if ($this->is_writable($path2)) { $tmpFile = $this->toTmpFile($path1); $result = $this->fromTmpFile($tmpFile, $path2); if ($result) { @@ -444,7 +444,7 @@ class OC_Filestorage_Shared extends OC_Filestorage { } public function fromTmpFile($tmpFile, $path) { - if ($this->is_writeable($path)) { + if ($this->is_writable($path)) { $source = $this->getSource($path); if ($source) { $storage = OC_Filesystem::getStorage($source); diff --git a/apps/files_texteditor/ajax/loadfile.php b/apps/files_texteditor/ajax/loadfile.php index 64e016be8c..8ece844aa2 100644 --- a/apps/files_texteditor/ajax/loadfile.php +++ b/apps/files_texteditor/ajax/loadfile.php @@ -33,7 +33,7 @@ $filename = isset($_GET['file']) ? $_GET['file'] : ''; if(!empty($filename)) { $path = $dir.'/'.$filename; - if(OC_Filesystem::is_writeable($path)) + if(OC_Filesystem::is_writable($path)) { $mtime = OC_Filesystem::filemtime($path); $filecontents = OC_Filesystem::file_get_contents($path); diff --git a/apps/files_texteditor/ajax/savefile.php b/apps/files_texteditor/ajax/savefile.php index 846159c13b..589428d186 100644 --- a/apps/files_texteditor/ajax/savefile.php +++ b/apps/files_texteditor/ajax/savefile.php @@ -46,7 +46,7 @@ if($path != '' && $mtime != '') { // File same as when opened // Save file - if(OC_Filesystem::is_writeable($path)) + if(OC_Filesystem::is_writable($path)) { OC_Filesystem::file_put_contents($path, $filecontents); // Clear statcache diff --git a/files/index.php b/files/index.php index fbf7a4901a..f166790ba9 100644 --- a/files/index.php +++ b/files/index.php @@ -94,7 +94,7 @@ $tmpl = new OC_Template( "files", "index", "user" ); $tmpl->assign( "fileList", $list->fetchPage() ); $tmpl->assign( "breadcrumb", $breadcrumbNav->fetchPage() ); $tmpl->assign( 'dir', $dir); -$tmpl->assign( 'readonly', !OC_Filesystem::is_writeable($dir)); +$tmpl->assign( 'readonly', !OC_Filesystem::is_writable($dir)); $tmpl->assign( "files", $files ); $tmpl->assign( 'uploadMaxFilesize', $maxUploadFilesize); $tmpl->assign( 'uploadMaxHumanFilesize', OC_Helper::humanFileSize($maxUploadFilesize)); diff --git a/files/templates/part.list.php b/files/templates/part.list.php index 92b6f37d8e..b117d81a1a 100644 --- a/files/templates/part.list.php +++ b/files/templates/part.list.php @@ -1,5 +1,5 @@ datadir.$path); } - public function is_writeable($path){ + public function is_writable($path){ return is_writable($this->datadir.$path); } public function file_exists($path){ diff --git a/lib/filestoragecommon.php b/lib/filestoragecommon.php index 35a926ecb0..f522d15c4e 100644 --- a/lib/filestoragecommon.php +++ b/lib/filestoragecommon.php @@ -35,7 +35,7 @@ class OC_Filestorage_Common extends OC_Filestorage { return $stat['size']; } public function is_readable($path){} - public function is_writeable($path){} + public function is_writable($path){} public function file_exists($path){} public function readfile($path) { $handle = $this->fopen($path, "r"); diff --git a/lib/filesystem.php b/lib/filesystem.php index 8e55575e66..a18072ecbc 100644 --- a/lib/filesystem.php +++ b/lib/filesystem.php @@ -333,8 +333,8 @@ class OC_Filesystem{ static public function is_readable($path){ return self::$defaultInstance->is_readable($path); } - static public function is_writeable($path){ - return self::$defaultInstance->is_writeable($path); + static public function is_writable($path){ + return self::$defaultInstance->is_writable($path); } static public function file_exists($path){ return self::$defaultInstance->file_exists($path); diff --git a/lib/filesystemview.php b/lib/filesystemview.php index 6c2ca91631..4586507a81 100644 --- a/lib/filesystemview.php +++ b/lib/filesystemview.php @@ -141,8 +141,8 @@ class OC_FilesystemView { public function is_readable($path){ return $this->basicOperation('is_readable',$path); } - public function is_writeable($path){ - return $this->basicOperation('is_writeable',$path); + public function is_writable($path){ + return $this->basicOperation('is_writable',$path); } public function file_exists($path){ if($path=='/'){ @@ -166,7 +166,7 @@ class OC_FilesystemView { return $this->basicOperation('unlink',$path,array('delete')); } public function rename($path1,$path2){ - if(OC_FileProxy::runPreProxies('rename',$path1,$path2) and $this->is_writeable($path1) and OC_Filesystem::isValidPath($path2)){ + if(OC_FileProxy::runPreProxies('rename',$path1,$path2) and $this->is_writable($path1) and OC_Filesystem::isValidPath($path2)){ $run=true; OC_Hook::emit( OC_Filesystem::CLASSNAME, OC_Filesystem::signal_rename, array( OC_Filesystem::signal_param_oldpath => $path1 , OC_Filesystem::signal_param_newpath=>$path2, OC_Filesystem::signal_param_run => &$run)); if($run){ diff --git a/lib/util.php b/lib/util.php index 6c19c5416a..abd918044b 100644 --- a/lib/util.php +++ b/lib/util.php @@ -226,7 +226,7 @@ class OC_Util { $errors[]=array('error'=>'PHP module ctype is not installed.
','hint'=>'Please ask your server administrator to install the module.'); } - if(file_exists(OC::$SERVERROOT."/config/config.php") and !is_writeable(OC::$SERVERROOT."/config/config.php")){ + if(file_exists(OC::$SERVERROOT."/config/config.php") and !is_writable(OC::$SERVERROOT."/config/config.php")){ $errors[]=array('error'=>"Can't write into config directory 'config'",'hint'=>"You can usually fix this by giving the webserver use write access to the config directory in owncloud"); } From 9f3388ecbc7f7269a1df36d22242089f3be731ad Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Sun, 5 Feb 2012 14:04:10 +0100 Subject: [PATCH 46/59] store writable flag for files --- db_structure.xml | 12 ++++++++++-- lib/filecache.php | 15 +++++++++------ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/db_structure.xml b/db_structure.xml index 5ef22b595c..8e59a59c6e 100644 --- a/db_structure.xml +++ b/db_structure.xml @@ -151,8 +151,16 @@ 1
-

g3%x6s!X;(4e%Y+U(b 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 z%0D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