New classes for owncloud: OC_APP for applications, OC_PREFERENCES for user preferences

This commit is contained in:
Jakob Sack 2011-03-03 21:55:32 +01:00
Родитель 94b405b64f
Коммит ae5dc3efdf
10 изменённых файлов: 91 добавлений и 45 удалений

Просмотреть файл

@ -1,6 +1,6 @@
<?php
OC_UTIL::addApplication( array( "id" => "admin", "name" => "Administration" ));
OC_APP::register( array( "id" => "admin", "name" => "Administration" ));
if( OC_USER::ingroup( $_SESSION['username'], 'admin' ))
{
OC_UTIL::addNavigationEntry( array( "app" => "admin", "file" => "index.php", "name" => "Administration" ));

Просмотреть файл

@ -30,7 +30,7 @@ if( !OC_USER::isLoggedIn() || !OC_USER::ingroup( $_SESSION['username'], 'admin'
$adminpages = array();
foreach( OC_UTIL::$adminpages as $i ){
foreach( OC_APP::list() as $i ){
// Do some more work here soon
$adminpages[] = $i;
}

Просмотреть файл

@ -1,6 +0,0 @@
<?php
OC_UTIL::addApplication( array( "id" => "files", "name" => "Files" ));
OC_UTIL::addNavigationEntry( array( "app" => "files", "file" => "index.php", "name" => "Files" ));
?>

7
files/appinfo/app.php Normal file
Просмотреть файл

@ -0,0 +1,7 @@
<?php
OC_APP::register( array( "id" => "files", "name" => "Files" ));
OC_UTIL::addNavigationEntry( array( "app" => "files", "file" => "index.php", "name" => "Files" ));
OC_UTIL::addAdminPage( array( "app" => "files", "file" => "admin.php", "name" => "Files" ));
?>

40
lib/app.php Normal file
Просмотреть файл

@ -0,0 +1,40 @@
<?php
class OC_APP{
static private $init = false;
static private $apps = array();
/**
*
*/
public static function init(){
// Get all appinfo
$dir = opendir( $SERVERROOT );
while( false !== ( $filename = readdir( $dir ))){
if( substr( $filename, 0, 1 ) != '.' ){
if( file_exists( "$SERVERROOT/$filename/appinfo.php" )){
oc_require( "$filename/appinfo.php" );
}
}
}
closedir( $dir );
// return
return true;
}
/**
*
*/
public static function register( $data = array()){
OC_APP::$apps[] = $data;
}
/**
*
*/
public static function list(){
return OC_APP::$apps[];
}
}
?>

Просмотреть файл

@ -1,16 +1,5 @@
<?php
class OC_APPCONFIG{
static public $forms=array();
/**
* add a form to the settings page
* @param string name
* @param string url
*/
public static function addForm($name,$url){
self::$forms[$name]=$url;
}
/**
* Get the available keys for an application
* @param string application

Просмотреть файл

@ -77,6 +77,7 @@ if(isset($CONFIG_HTTPFORCESSL) and $CONFIG_HTTPFORCESSL){
}
// load core libs
oc_require_once('app.php');
oc_require_once('files.php');
oc_require_once('filesystem.php');
oc_require_once('filestorage.php');
@ -90,7 +91,7 @@ oc_require_once('remotestorage.php');
oc_require_once('plugin.php');
oc_require_once('helper.php');
OC_PLUGIN::loadPlugins();
OC_PLUGIN::loadPlugins( "" );
if(!isset($CONFIG_BACKEND)){
$CONFIG_BACKEND='database';
@ -111,17 +112,7 @@ OC_UTIL::addStyle( "jquery-ui-1.8.10.custom" );
OC_UTIL::addStyle( "styles" );
// Require all appinfo.php
$dir = opendir( $SERVERROOT );
while( false !== ( $filename = readdir( $dir ))){
if( substr( $filename, 0, 1 ) != '.' ){
if( file_exists( "$SERVERROOT/$filename/appinfo.php" )){
oc_require( "$filename/appinfo.php" );
}
}
}
closedir( $dir );
OC_APP::init();
// check if the server is correctly configured for ownCloud
OC_UTIL::checkserver();
@ -134,7 +125,6 @@ class OC_UTIL {
public static $scripts=array();
public static $styles=array();
public static $adminpages = array();
public static $applications = array();
public static $navigation = array();
public static $personalmenu = array();
private static $fsSetup=false;
@ -169,7 +159,7 @@ class OC_UTIL {
if($CONFIG_ENABLEBACKUP){
// This creates the Directorys recursively
if(!is_dir( "$CONFIG_BACKUPDIRECTORY/$user/$root" )){
mkdir( "$CONFIG_BACKUPDIRECTORY/$user/$root", 0x777, true );
mkdir( "$CONFIG_BACKUPDIRECTORY/$user/$root", 0x755, true );
}
$backupStorage=OC_FILESYSTEM::createStorage('local',array('datadir'=>$CONFIG_BACKUPDIRECTORY));
$backup=new OC_FILEOBSERVER_BACKUP(array('storage'=>$backupStorage));
@ -179,7 +169,7 @@ class OC_UTIL {
$CONFIG_DATADIRECTORY = "$CONFIG_DATADIRECTORY_ROOT/$user/$root";
if( !is_dir( $CONFIG_DATADIRECTORY )){
mkdir( $CONFIG_DATADIRECTORY, 0x777, true );
mkdir( $CONFIG_DATADIRECTORY, 0x755, true );
}
//set up the other storages according to the system settings
@ -253,15 +243,6 @@ class OC_UTIL {
OC_UTIL::$adminpages[] = $entry;
}
/**
* add application
*
* @param array $entry
*/
public static function addApplication( $entry){
OC_UTIL::$applications[] = $entry;
}
/**
* add an entry to the personal menu
*

35
lib/preferences.php Normal file
Просмотреть файл

@ -0,0 +1,35 @@
<?php
class OC_PREFERENCES{
static public $forms=array();
/**
* Get the available keys for an application
* @param string application
*/
public static function getKeys( $user, $application ){
// OC_DB::query( $query);
return array();
}
/**
* Get the config value
* @param string application
* @param string key
* @param string default
*/
public static function getValue( $user, $application, $key, $default ){
// OC_DB::query( $query);
return $default;
}
/**
* Set the config value
* @param string application
* @param string key
* @param string value
*/
public static function setValue( $user, $application, $name, $url ){
// OC_DB::query( $query);
return true;
}
}
?>

Просмотреть файл

@ -1,6 +1,6 @@
<?php
OC_UTIL::addApplication( array( "id" => "log", "name" => "Log" ));
OC_APP::register( array( "id" => "log", "name" => "Log" ));
OC_UTIL::addNavigationEntry( array( "app" => "log", "file" => "index.php", "name" => "Log" ));
?>

Просмотреть файл

@ -1,6 +1,6 @@
<?php
OC_UTIL::addApplication( array( "id" => "settings", "name" => "Settings" ));
OC_APP::register( array( "id" => "settings", "name" => "Settings" ));
OC_UTIL::addNavigationEntry( array( "app" => "settings", "file" => "index.php", "name" => "Settings" ));
?>