]> source.dussan.org Git - nextcloud-server.git/commitdiff
Cleanup lib/base.php
authorBart Visscher <bart@thisnet.nl>
Sun, 18 Sep 2011 18:57:05 +0000 (20:57 +0200)
committerBart Visscher <bart@thisnet.nl>
Sun, 18 Sep 2011 18:57:05 +0000 (20:57 +0200)
index.php
lib/base.php
lib/files.php
lib/setup.php
lib/util.php

index 249ce41d51e5e601b1558473e525571649db420f..46105a106fbb0207c224c2c25b4c914280cb7a51 100644 (file)
--- a/index.php
+++ b/index.php
@@ -25,23 +25,17 @@ $RUNTIME_NOAPPS = TRUE; //no apps, yet
 
 require_once('lib/base.php');
 
-OC_Util::addScript('setup');
-
+// Setup required :
 $not_installed = !OC_Config::getValue('installed', false);
 $install_called = (isset($_POST['install']) AND $_POST['install']=='true');
-// First step : check if the server is correctly configured for ownCloud :
-$errors = OC_Util::checkServer();
-if(count($errors) > 0) {
-       OC_Template::printGuestPage("", "error", array("errors" => $errors));
-}
-
-// Setup required :
-elseif($not_installed OR $install_called) {
+if($not_installed OR $install_called) {
+       OC_Util::addScript('setup');
        require_once('setup.php');
        exit();
 }
 
-if($_SERVER['REQUEST_METHOD']=='PROPFIND'){//handle webdav
+// Handle WebDAV
+if($_SERVER['REQUEST_METHOD']=='PROPFIND'){
        header('location: '.OC_Helper::linkTo('files','webdav.php'));
        exit();
 }
@@ -141,4 +135,4 @@ else {
        }
 }
 
-?>
\ No newline at end of file
+?>
index 7344601ba45dc15d88ff6644e1c0b6c671272baa..9542170df54f570c0f9aebd2b299c0f6199535c3 100644 (file)
@@ -65,190 +65,115 @@ class OC{
                elseif(strpos($className,'OC_')===0){
                        require_once strtolower(str_replace('_','/',substr($className,3)) . '.php');
                }
+               elseif(strpos($className,'Sabre_')===0) {
+                       require_once str_replace('_','/',$className) . '.php';
+               }
        }
-}
-
-// this requires all our OC_* classes
-spl_autoload_register(array('OC','autoload'));
-
-// set some stuff
-//ob_start();
-error_reporting(E_ALL | E_STRICT);
-
-date_default_timezone_set('Europe/Berlin');
-ini_set('arg_separator.output','&amp;');
-ini_set('session.cookie_httponly','1;');
-session_start();
-
-// calculate the documentroot
-OC::$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
-OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));
-OC::$SUBURI=substr(realpath($_SERVER["SCRIPT_FILENAME"]),strlen(OC::$SERVERROOT));
-$scriptName=$_SERVER["SCRIPT_NAME"];
-if(substr($scriptName,-1)=='/'){
-       $scriptName.='index.php';
-}
-OC::$WEBROOT=substr($scriptName,0,strlen($scriptName)-strlen(OC::$SUBURI));
 
-if(OC::$WEBROOT!='' and OC::$WEBROOT[0]!=='/'){
-       OC::$WEBROOT='/'.OC::$WEBROOT;
-}
-
-// set the right include path
-set_include_path(OC::$SERVERROOT.'/lib'.PATH_SEPARATOR.OC::$SERVERROOT.'/config'.PATH_SEPARATOR.OC::$SERVERROOT.'/3rdparty'.PATH_SEPARATOR.get_include_path().PATH_SEPARATOR.OC::$SERVERROOT);
-
-//Some libs we really depend on
-require_once('Sabre/autoload.php');
+       public static function init(){
+               // register autoloader
+               spl_autoload_register(array('OC','autoload'));
+
+               // set some stuff
+               //ob_start();
+               error_reporting(E_ALL | E_STRICT);
+
+               date_default_timezone_set('Europe/Berlin');
+               ini_set('arg_separator.output','&amp;');
+               ini_set('session.cookie_httponly','1;');
+               session_start();
+
+               // calculate the documentroot
+               OC::$DOCUMENTROOT=realpath($_SERVER['DOCUMENT_ROOT']);
+               OC::$SERVERROOT=str_replace("\\",'/',substr(__FILE__,0,-13));
+               OC::$SUBURI=substr(realpath($_SERVER["SCRIPT_FILENAME"]),strlen(OC::$SERVERROOT));
+               $scriptName=$_SERVER["SCRIPT_NAME"];
+               if(substr($scriptName,-1)=='/'){
+                       $scriptName.='index.php';
+               }
+               OC::$WEBROOT=substr($scriptName,0,strlen($scriptName)-strlen(OC::$SUBURI));
 
-// define runtime variables - unless this already has been done
-if( !isset( $RUNTIME_NOSETUPFS )){
-       $RUNTIME_NOSETUPFS = false;
-}
-if( !isset( $RUNTIME_NOAPPS )){
-       $RUNTIME_NOAPPS = false;
-}
+               if(OC::$WEBROOT!='' and OC::$WEBROOT[0]!=='/'){
+                       OC::$WEBROOT='/'.OC::$WEBROOT;
+               }
 
-// TODO: we should get rid of this one, too
-// WARNING: to make everything even more confusing, DATADIRECTORY is a var that
-//   changes and DATADIRECTORY_ROOT stays the same, but is set by
-//   "datadirectory". Any questions?
-OC::$CONFIG_DATADIRECTORY = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
+               // set the right include path
+               set_include_path(OC::$SERVERROOT.'/lib'.PATH_SEPARATOR.OC::$SERVERROOT.'/config'.PATH_SEPARATOR.OC::$SERVERROOT.'/3rdparty'.PATH_SEPARATOR.get_include_path().PATH_SEPARATOR.OC::$SERVERROOT);
 
-// redirect to https site if configured
-if( OC_Config::getValue( "forcessl", false )){
-       if(!isset($_SERVER['HTTPS']) or $_SERVER['HTTPS'] != 'on') {
-               $url = "https://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
-               header("Location: $url");
-               exit();
-       }
-}
+               // redirect to https site if configured
+               if( OC_Config::getValue( "forcessl", false )){
+                       if(!isset($_SERVER['HTTPS']) or $_SERVER['HTTPS'] != 'on') {
+                               $url = "https://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
+                               header("Location: $url");
+                               exit();
+                       }
+               }
 
-$errors=OC_Util::checkServer();
-$error=(count($errors)>0);
+               // Add the stuff we need always
+               OC_Util::addScript( "jquery-1.6.2.min" );
+               OC_Util::addScript( "jquery-ui-1.8.14.custom.min" );
+               OC_Util::addScript( "jquery-showpassword" );
+               OC_Util::addScript( "jquery-tipsy" );
+               OC_Util::addScript( "js" );
+               OC_Util::addScript( "multiselect" );
+               OC_Util::addScript('search','result');
+               OC_Util::addStyle( "styles" );
+               OC_Util::addStyle( "multiselect" );
+               OC_Util::addStyle( "jquery-ui-1.8.14.custom" );
+               OC_Util::addStyle( "jquery-tipsy" );
+
+               $errors=OC_Util::checkServer();
+               if(count($errors)>0) {
+                       OC_Template::printGuestPage('', 'error', array('errors' => $errors));
+                       exit;
+               }
 
+               // TODO: we should get rid of this one, too
+               // WARNING: to make everything even more confusing,
+               //   DATADIRECTORY is a var that changes and DATADIRECTORY_ROOT
+               //   stays the same, but is set by "datadirectory".
+               //   Any questions?
+               OC::$CONFIG_DATADIRECTORY = OC_Config::getValue( "datadirectory", OC::$SERVERROOT."/data" );
 
-// User and Groups
-if( !OC_Config::getValue( "installed", false )){
-       $_SESSION['user_id'] = '';
-}
-
+               // 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" ));
+               OC_User::useBackend( OC_Config::getValue( "userbackend", "database" ));
+               OC_Group::setBackend( OC_Config::getValue( "groupbackend", "database" ));
 
-// Add the stuff we need always
-OC_Util::addScript( "jquery-1.6.2.min" );
-OC_Util::addScript( "jquery-ui-1.8.14.custom.min" );
-OC_Util::addScript( "jquery-showpassword" );
-OC_Util::addScript( "jquery-tipsy" );
-OC_Util::addScript( "js" );
-OC_Util::addScript( "multiselect" );
-OC_Util::addScript('search','result');
-OC_Util::addStyle( "styles" );
-OC_Util::addStyle( "multiselect" );
-OC_Util::addStyle( "jquery-ui-1.8.14.custom" );
-OC_Util::addStyle( "jquery-tipsy" );
+               // Load Apps
+               // This includes plugins for users and filesystems as well
+               global $RUNTIME_NOAPPS;
+               if(!$RUNTIME_NOAPPS ){
+                       OC_App::loadApps();
+               }
 
-// Load Apps
-// This includes plugins for users and filesystems as well
-if(!$error and !$RUNTIME_NOAPPS ){
-       OC_App::loadApps();
-}
+               // Was in required file ... put it here
+               OC_Filesystem::registerStorageType('local','OC_Filestorage_Local',array('datadir'=>'string'));
 
-// 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 ){
+                       OC_Util::setupFS();
+               }
 
-// Set up file system unless forbidden
-if(!$error and !$RUNTIME_NOSETUPFS ){
-       OC_Util::setupFS();
+               // Last part: connect some hooks
+               OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Connector_Sabre_Principal', 'addPrincipal');
+               OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Connector_Sabre_Principal', 'deletePrincipal');
+       }
 }
 
-// Last part: connect some hooks
-OC_HOOK::connect('OC_User', 'post_createUser', 'OC_Connector_Sabre_Principal', 'addPrincipal');
-OC_HOOK::connect('OC_User', 'post_deleteUser', 'OC_Connector_Sabre_Principal', 'deletePrincipal');
-
-
-
-if($error) {
-       $tmpl = new OC_Template( '', 'error', 'guest' );
-       $tmpl->assign('errors',$errors);
-       $tmpl->printPage();
-       exit;
+// define runtime variables - unless this already has been done
+if( !isset( $RUNTIME_NOSETUPFS )){
+       $RUNTIME_NOSETUPFS = false;
 }
-
-
-
-
-// FROM Connect.php
-function OC_CONNECT_TEST($path,$user,$password){
-       echo 'connecting...';
-       $remote=OC_Connect::connect($path,$user,$password);
-       if($remote->connected){
-               echo 'done<br/>';
-               if($remote->isLoggedIn()){
-                       echo 'logged in, session working<br/>';
-                       echo 'trying to get remote files...';
-                       $files=$remote->getFiles('');
-                       if($files){
-                               echo count($files).' files found:<br/>';
-                               foreach($files as $file){
-                                       echo "{$file['type']} {$file['name']}: {$file['size']} bytes<br/>";
-                               }
-                               echo 'getting file "'.$file['name'].'"...';
-                               $size=$file['size'];
-                               $file=$remote->getFile('',$file['name']);
-                               if(file_exists($file)){
-                                       $newSize=filesize($file);
-                                       if($size!=$newSize){
-                                               echo "fail<br/>Error: $newSize bytes received, $size expected.";
-                                               echo '<br/><br/>Recieved file:<br/>';
-                                               readfile($file);
-                                               unlink($file);
-                                               return;
-                                       }
-                                       OC_Filesystem::fromTmpFile($file,'/remoteFile');
-                                       echo 'done<br/>';
-                                       echo 'sending file "burning_avatar.png"...';
-                                       $res=$remote->sendFile('','burning_avatar.png','','burning_avatar.png');
-                                       if($res){
-                                               echo 'done<br/>';
-                                       }else{
-                                               echo 'fail<br/>';
-                                       }
-                               }else{
-                                       echo 'fail<br/>';
-                               }
-                       }else{
-                               echo 'fail<br/>';
-                       }
-               }else{
-                       echo 'no longer logged in, session fail<br/>';
-               }
-       }else{
-               echo 'fail<br/>';
-       }
-       $remote->disconnect();
-       die();
+if( !isset( $RUNTIME_NOAPPS )){
+       $RUNTIME_NOAPPS = false;
 }
 
-// From files.php
-function zipAddDir($dir,$zip,$internalDir=''){
-    $dirname=basename($dir);
-    $zip->addEmptyDir($internalDir.$dirname);
-    $internalDir.=$dirname.='/';
-    $files=OC_Files::getdirectorycontent($dir);
-    foreach($files as $file){
-        $filename=$file['name'];
-        $file=$dir.'/'.$filename;
-        if(OC_Filesystem::is_file($file)){
-                       $tmpFile=OC_Filesystem::toTmpFile($file);
-                       OC_Files::$tmpFiles[]=$tmpFile;
-            $zip->addFile($tmpFile,$internalDir.$filename);
-        }elseif(OC_Filesystem::is_dir($file)){
-            zipAddDir($file,$zip,$internalDir);
-        }
-    }
-}
+OC::init();
 
 if(!function_exists('sys_get_temp_dir')) {
     function sys_get_temp_dir() {
index 84dc9fd1c5308680fc4506d3041cf52a350590f7..631726bf9b53917d41629b8b2050affc722d15db 100644 (file)
@@ -102,7 +102,7 @@ class OC_Files {
                                        self::$tmpFiles[]=$tmpFile;
                                        $zip->addFile($tmpFile,basename($file));
                                }elseif(OC_Filesystem::is_dir($file)){
-                                       zipAddDir($file,$zip);
+                                       self::zipAddDir($file,$zip);
                                }
                        }
                        $zip->close();
@@ -113,7 +113,7 @@ class OC_Files {
                                exit("cannot open <$filename>\n");
                        }
                        $file=$dir.'/'.$files;
-                       zipAddDir($file,$zip);
+                       self::zipAddDir($file,$zip);
                        $zip->close();
                }else{
                        $zip=false;
@@ -156,6 +156,23 @@ class OC_Files {
                }
        }
 
+       public static function zipAddDir($dir,$zip,$internalDir=''){
+               $dirname=basename($dir);
+               $zip->addEmptyDir($internalDir.$dirname);
+               $internalDir.=$dirname.='/';
+               $files=OC_Files::getdirectorycontent($dir);
+               foreach($files as $file){
+                       $filename=$file['name'];
+                       $file=$dir.'/'.$filename;
+                       if(OC_Filesystem::is_file($file)){
+                               $tmpFile=OC_Filesystem::toTmpFile($file);
+                               OC_Files::$tmpFiles[]=$tmpFile;
+                               $zip->addFile($tmpFile,$internalDir.$filename);
+                       }elseif(OC_Filesystem::is_dir($file)){
+                               self::zipAddDir($file,$zip,$internalDir);
+                       }
+               }
+       }
        /**
        * move a file or folder
        *
index 7183eb624a8dce9da1bdbad30538b373f74104b2..7b205acd705821ee4b1537a27f6e1edb961047fa 100644 (file)
@@ -235,7 +235,7 @@ class OC_Setup {
        }
 
        private static function createDBUser($name,$password,$connection) {
-               // we need to create 2 accounts, one for global use and one for local user. if we don't speccify the local one,
+               // we need to create 2 accounts, one for global use and one for local user. if we don't specify the local one,
                // the anonymous user would take precedence when there is one.
                $query = "CREATE USER '$name'@'localhost' IDENTIFIED BY '$password'";
                $result = mysql_query($query, $connection);
index e6c4eb83b331243d82bed76b633966f73535c2a5..2f74bfe5841bce17c6589ba4d896f7e4b0f21bc3 100644 (file)
@@ -236,7 +236,7 @@ class OC_Util {
                                }
                        }
                }else{
-                       //TODO: premisions checks for windows hosts
+                       //TODO: permissions checks for windows hosts
                }
                if(is_dir($CONFIG_DATADIRECTORY_ROOT) and !is_writable($CONFIG_DATADIRECTORY_ROOT)){
                        $errors[]=array('error'=>'Data directory ('.$CONFIG_DATADIRECTORY_ROOT.') not writable by ownCloud<br/>','hint'=>$permissionsHint);