install script for system

This commit is contained in:
Ulf Gebhardt 2015-09-10 03:00:49 +02:00
parent 9a90e72366
commit 9b8e0fb095
61 changed files with 188 additions and 16 deletions

View File

@ -8,11 +8,11 @@ require_once dirname(__FILE__).'/system/autoload.php';
//Autoload submodules
require_once dirname(__FILE__).'/system/autoload.inc';
require_once dirname(__FILE__).'/db/autoload.inc';
require_once dirname(__FILE__).'/log/autoload.inc';
require_once dirname(__FILE__).'/api/autoload.inc';
require_once dirname(__FILE__).'/page/autoload.inc';
require_once dirname(__FILE__).'/sql/autoload.inc';
require_once dirname(__FILE__).'/db/autoload.inc';
require_once dirname(__FILE__).'/security/autoload.inc';
require_once dirname(__FILE__).'/config/autoload.inc';
require_once dirname(__FILE__).'/cache/autoload.inc';

View File

@ -24,7 +24,8 @@ class QI {
' --execute="SOURCE ';
$result = array();
foreach($files as $file){
$result[] = shell_exec($command .$file. '"');}
return \SYSTEM\LOG\JsonResult::toString($result);
$output = shell_exec($command .$file. '"');
$result[] = array($file,$output);}
return $result;
}
}

View File

@ -1,4 +1,23 @@
<?php
\SYSTEM\autoload::registerFolder(dirname(__FILE__),'SYSTEM\SQL');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/tbl','SYSTEM\SQL');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qq','SYSTEM\SQL');
\SYSTEM\autoload::registerFolder(dirname(__FILE__).'/qt','SYSTEM\SQL');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_API');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_CACHE');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_CRON');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_LOG');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_PAGE');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_RIGHTS');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_TEXT');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_TEXT_TAG');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_TODO');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_TODO_ASSIGN');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_USER');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\SCHEMA_SYSTEM_USER_TO_RIGHTS');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\DATA_SYSTEM_API');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\DATA_SYSTEM_CRON');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\DATA_SYSTEM_PAGE');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\DATA_SYSTEM_RIGHTS');
\SYSTEM\SQL\setup::register('\SYSTEM\\SQL\\DATA_SYSTEM_TEXT');

View File

@ -0,0 +1,10 @@
<?php
namespace SYSTEM\SQL;
class DATA_SYSTEM_API extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_api.sql'),
\SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_api_default.sql'),
\SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_sai_api.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class DATA_SYSTEM_CRON extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_cron.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class DATA_SYSTEM_PAGE extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_page.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class DATA_SYSTEM_RIGHTS extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_rights.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class DATA_SYSTEM_TEXT extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/data/system_text.sql'));
}
}

View File

@ -1,10 +0,0 @@
<?php
namespace SYSTEM\SQL;
class INSTALL_SAI extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array(
\SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'sql/mysql/data/system_sai_api.sql')
);
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_API extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_api.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_CACHE extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_cache.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_CRON extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_cron.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_LOG extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_log.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_PAGE extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_page.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_RIGHTS extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_rights.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_TEXT extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_text.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_TEXT_TAG extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_text_tag.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_TODO extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_todo.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_TODO_ASSIGN extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_todo_assign.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_USER extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_user.sql'));
}
}

View File

@ -0,0 +1,8 @@
<?php
namespace SYSTEM\SQL;
class SCHEMA_SYSTEM_USER_TO_RIGHTS extends \SYSTEM\DB\QI {
public static function get_class(){return \get_class();}
public static function files_mysql(){
return array( \SYSTEM\SERVERPATH(new \SYSTEM\PSQL(),'/qt/mysql/schema/system_user_to_rights.sql'));
}
}

24
sql/setup.php Normal file
View File

@ -0,0 +1,24 @@
<?php
namespace SYSTEM\SQL;
class setup {
private static $qis = array(); //only strings!
private static function check_qi($qi){
if( !\class_exists($qi) ||
!\is_array($parents = \class_parents($qi)) ||
!\array_search('SYSTEM\DB\QI', $parents)){
return false;}
return true;}
public static function register($qi){
if(!self::check_qi($qi)){
throw new \SYSTEM\LOG\ERROR('Problem with your QI class: '.$qi.'; it might not be available or inherits from the wrong class!');}
array_push(self::$qis,$qi);}
public static function check(){}
public static function delete(){}
public static function backup(){}
public static function install(){
$result = array();
foreach(self::$qis as $qi){
$result[] = array($qi,\call_user_func(array($qi, 'QI')));}
return \SYSTEM\LOG\JsonResult::toString($result);
}
}

View File

@ -31,7 +31,7 @@ class PLIB extends PATH {
class PSQL extends PATH {
static public function getPath(){
return C_ROOT.\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_SYSTEMPATHREL).'dbd/'.C_SUBPATH;}
return C_ROOT.\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_SYSTEMPATHREL).'sql/'.C_SUBPATH;}
}
function SERVERPATH(\SYSTEM\PATH $basepath, $subpath = ''){