diff --git a/lib/base.php b/lib/base.php index 7c2e7cf88c..0c0921ca8b 100644 --- a/lib/base.php +++ b/lib/base.php @@ -44,8 +44,8 @@ $DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']); $SERVERROOT=str_replace("\\",'/',$SERVERROOT); $SUBURI=substr(realpath($_SERVER["SCRIPT_FILENAME"]),strlen($SERVERROOT)); $scriptName=$_SERVER["SCRIPT_NAME"]; -if(substr($scriptName,-1)=='/'){//if the script isn't a file assume index.php - $scriptName.='index.php'; +if(substr($scriptName,-1)=='/'){ + $scriptName.='index.php'; } $WEBROOT=substr($scriptName,0,strlen($scriptName)-strlen($SUBURI)); @@ -83,9 +83,17 @@ if( OC_CONFIG::getValue( "forcessl", false )){ $error=(count(OC_UTIL::checkServer())>0); +// User and Groups +if( !OC_CONFIG::getValue( "installed", false )){ + $_SESSION['user_id'] = ''; +} + 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 if(!$error and !$RUNTIME_NOSETUPFS ){ OC_UTIL::setupFS(); diff --git a/lib/connect.php b/lib/connect.php index 6fc8f2165c..57017cf9bb 100644 --- a/lib/connect.php +++ b/lib/connect.php @@ -39,212 +39,6 @@ class OC_CONNECT{ } } - -/** - * Class for connection to a remote owncloud installation - * - */ -class OC_REMOTE_CLOUD{ - private $path; - private $connected=false; - private $cookiefile=false; - - /** - * make an api call to the remote cloud - * @param string $action - * @param array parameters - * @param bool assoc when set to true, the result will be parsed as associative array - * - */ - private function apiCall($action,$parameters=false,$assoc=false){ - if(!$this->cookiefile){ - $this->cookiefile=sys_get_temp_dir().'/remoteCloudCookie'.uniqid(); - } - $url=$this->path.='/files/api.php'; - $fields_string="action=$action&"; - if(is_array($parameters)){ - foreach($parameters as $key=>$value){ - $fields_string.=$key.'='.$value.'&'; - } - rtrim($fields_string,'&'); - } - $ch=curl_init(); - curl_setopt($ch,CURLOPT_URL,$url); - curl_setopt($ch,CURLOPT_POST,count($parameters)); - curl_setopt($ch,CURLOPT_POSTFIELDS,$fields_string); - curl_setopt($ch, CURLOPT_COOKIEFILE,$this->cookiefile); - curl_setopt($ch, CURLOPT_COOKIEJAR,$this->cookiefile); - curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); - $result=curl_exec($ch); - $result=trim($result); - $info=curl_getinfo($ch); - $httpCode=$info['http_code']; - curl_close($ch); - if($httpCode==200 or $httpCode==0){ - return json_decode($result,$assoc); - }else{ - return false; - } - } - - public function __construct($path,$user,$password){ - $this->path=$path; - $this->connected=$this->apiCall('login',array('username'=>$user,'password'=>$password)); - } - - /** - * check if we are stull logged in on the remote cloud - * - */ - public function isLoggedIn(){ - if(!$this->connected){ - return false; - } - return $this->apiCall('checklogin'); - } - - public function __get($name){ - switch($name){ - case 'connected': - return $this->connected; - } - } - - /** - * disconnect from the remote cloud - * - */ - public function disconnect(){ - $this->connected=false; - if(is_file($this->cookiefile)){ - unlink($this->cookiefile); - } - $this->cookiefile=false; - } - - /** - * create a new file or directory - * @param string $dir - * @param string $name - * @param string $type - */ - public function newFile($dir,$name,$type){ - if(!$this->connected){ - return false; - } - return $this->apiCall('new',array('dir'=>$dir,'name'=>$name,'type'=>$type),true); - } - - /** - * deletes a file or directory - * @param string $dir - * @param string $file - */ - public function delete($dir,$name){ - if(!$this->connected){ - return false; - } - return $this->apiCall('delete',array('dir'=>$dir,'file'=>$name),true); - } - - /** - * moves a file or directory - * @param string $sorceDir - * @param string $sorceFile - * @param string $targetDir - * @param string $targetFile - */ - public function move($sourceDir,$sourceFile,$targetDir,$targetFile){ - if(!$this->connected){ - return false; - } - return $this->apiCall('move',array('sourcedir'=>$sourceDir,'source'=>$sourceFile,'targetdir'=>$targetDir,'target'=>$targetFile),true); - } - - /** - * copies a file or directory - * @param string $sorceDir - * @param string $sorceFile - * @param string $targetDir - * @param string $targetFile - */ - public function copy($sourceDir,$sourceFile,$targetDir,$targetFile){ - if(!$this->connected){ - return false; - } - return $this->apiCall('copy',array('sourcedir'=>$sourceDir,'source'=>$sourceFile,'targetdir'=>$targetDir,'target'=>$targetFile),true); - } - - /** - * get a file tree - * @param string $dir - */ - public function getTree($dir){ - if(!$this->connected){ - return false; - } - return $this->apiCall('gettree',array('dir'=>$dir),true); - } - - /** - * get the files inside a directory of the remote cloud - * @param string $dir - */ - public function getFiles($dir){ - if(!$this->connected){ - return false; - } - return $this->apiCall('getfiles',array('dir'=>$dir),true); - } - - /** - * get a remove file and save it in a temporary file and return the path of the temporary file - * @param string $dir - * @param string $file - * @return string - */ - public function getFile($dir, $file){ - if(!$this->connected){ - return false; - } - $ch=curl_init(); - if(!$this->cookiefile){ - $this->cookiefile=sys_get_temp_dir().'/remoteCloudCookie'.uniqid(); - } - $tmpfile=tempnam(sys_get_temp_dir(),'remoteCloudFile'); - $fp=fopen($tmpfile,'w+'); - $url=$this->path.="/files/api.php?action=get&dir=$dir&file=$file"; - curl_setopt($ch,CURLOPT_URL,$url); - curl_setopt($ch, CURLOPT_COOKIEFILE,$this->cookiefile); - curl_setopt($ch, CURLOPT_COOKIEJAR,$this->cookiefile); - curl_setopt($ch, CURLOPT_FILE, $fp); - curl_exec($ch); - fclose($fp); - curl_close($ch); - return $tmpfile; - } - - public function sendFile($sourceDir,$sourceFile,$targetDir,$targetFile){ - global $WEBROOT; - $source=$sourceDir.'/'.$sourceFile; - $tmp=OC_FILESYSTEM::toTmpFile($source); - return $this->sendTmpFile($tmp,$targetDir,$targetFile); - } - - public function sendTmpFile($tmp,$targetDir,$targetFile){ - $token=sha1(uniqid().$tmp); - global $WEBROOT; - $file=sys_get_temp_dir().'/'.'remoteCloudFile'.$token; - rename($tmp,$file); - if( OC_CONFIG::getValue( "forcessl", false ) or isset($_SERVER['HTTPS']) and $_SERVER['HTTPS'] == 'on') { - $url = "https://". $_SERVER['SERVER_NAME'] . $WEBROOT; - }else{ - $url = "http://". $_SERVER['SERVER_NAME'] . $WEBROOT; - } - return $this->apiCall('pull',array('dir'=>$targetDir,'file'=>$targetFile,'token'=>$token,'source'=>$url),true); - } -} - function OC_CONNECT_TEST($path,$user,$password){ echo 'connecting...'; $remote=OC_CONNECT::connect($path,$user,$password); diff --git a/lib/filestorage.php b/lib/filestorage.php index 46612687a9..ada85f1a50 100644 --- a/lib/filestorage.php +++ b/lib/filestorage.php @@ -59,6 +59,4 @@ class OC_FILESTORAGE{ public function getLocalFile($path){}// get a path to a local version of the file, whether the original file is local or remote } - -OC_FILESYSTEM::registerStorageType('local','OC_FILESTORAGE_LOCAL',array('datadir'=>'string')); ?> \ No newline at end of file diff --git a/lib/user.php b/lib/user.php index b93e213335..f6fbc33f64 100644 --- a/lib/user.php +++ b/lib/user.php @@ -20,10 +20,6 @@ * */ -if( !OC_CONFIG::getValue( "installed", false )){ - $_SESSION['user_id'] = ''; -} - /** * This class provides all methods for user management. *