system paths now based on config, moved dbd folder, removed systemconnection, fixed api/pageapi

This commit is contained in:
Ulf Gebhardt 2013-04-23 15:04:16 +02:00
parent a4a51b6868
commit bbf7ad042e
13 changed files with 68 additions and 77 deletions

View File

@ -42,8 +42,8 @@ class Api {
private $m_verifyclass = null;
private $m_apiclass = null;
public function __construct($DBInfo,\SYSTEM\verifyclass $VerifyClass, \SYSTEM\API\apiclass $ApiClass){
$this->m_dbinfo = $DBInfo;
public function __construct(\SYSTEM\verifyclass $VerifyClass, \SYSTEM\API\apiclass $ApiClass,$DBInfo = null){
$this->m_dbinfo = $DBInfo == null ? \SYSTEM\system::getSystemDBInfo() : $DBInfo;
$this->m_verifyclass = $VerifyClass;
$this->m_apiclass = $ApiClass;
}
@ -72,17 +72,17 @@ class Api {
$parentid = -1;
foreach($tree as $item){
if( intval($item[\DBD\SYSTEM\APITable::FIELD_FLAG]) == \DBD\SYSTEM\APITable::VALUE_FLAG_COMMAND &&
intval($item[\DBD\SYSTEM\APITable::FIELD_PARENTID]) == $parentid &&
isset($call[$item[\DBD\SYSTEM\APITable::FIELD_NAME]])){
if( intval($item[\SYSTEM\DBD\APITable::FIELD_FLAG]) == \SYSTEM\DBD\APITable::VALUE_FLAG_COMMAND &&
intval($item[\SYSTEM\DBD\APITable::FIELD_PARENTID]) == $parentid &&
isset($call[$item[\SYSTEM\DBD\APITable::FIELD_NAME]])){
if( isset($item[\DBD\SYSTEM\APITable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\DBD\SYSTEM\APITable::FIELD_PARENTVALUE]){
if( isset($item[\SYSTEM\DBD\APITable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\SYSTEM\DBD\APITable::FIELD_PARENTVALUE]){
continue;
}
$commands[] = array($item,$call[$item[\DBD\SYSTEM\APITable::FIELD_NAME]]);
$parentid = intval($item[\DBD\SYSTEM\APITable::FIELD_ID]);
$commands[] = array($item,$call[$item[\SYSTEM\DBD\APITable::FIELD_NAME]]);
$parentid = intval($item[\SYSTEM\DBD\APITable::FIELD_ID]);
}
}
@ -90,22 +90,22 @@ class Api {
$parameters = array();
$lastCommand = $commands[count($commands)-1][0];
foreach($tree as $item){
if( intval($item[\DBD\SYSTEM\APITable::FIELD_FLAG]) == \DBD\SYSTEM\APITable::VALUE_FLAG_PARAM &&
intval($item[\DBD\SYSTEM\APITable::FIELD_PARENTID]) == $lastCommand[\DBD\SYSTEM\APITable::FIELD_ID]){
if( intval($item[\SYSTEM\DBD\APITable::FIELD_FLAG]) == \SYSTEM\DBD\APITable::VALUE_FLAG_PARAM &&
intval($item[\SYSTEM\DBD\APITable::FIELD_PARENTID]) == $lastCommand[\SYSTEM\DBD\APITable::FIELD_ID]){
if( isset($item[\DBD\SYSTEM\APITable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\DBD\SYSTEM\APITable::FIELD_PARENTVALUE]){
if( isset($item[\SYSTEM\DBD\APITable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\SYSTEM\DBD\APITable::FIELD_PARENTVALUE]){
continue;}
if(!isset($call[$item[\DBD\SYSTEM\APITable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter missing: '.$item[\DBD\SYSTEM\APITable::FIELD_NAME]);}
if(!isset($call[$item[\SYSTEM\DBD\APITable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter missing: '.$item[\SYSTEM\DBD\APITable::FIELD_NAME]);}
if( !method_exists($this->m_verifyclass, $item[\DBD\SYSTEM\APITable::FIELD_ALLOWEDVALUES]) ||
!$this->m_verifyclass->$item[\DBD\SYSTEM\APITable::FIELD_ALLOWEDVALUES]($call[$item[\DBD\SYSTEM\APITable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter type missmacht or Missing Verifier. Param: '.$item[\DBD\SYSTEM\APITable::FIELD_NAME].' Verifier: '.$item[\DBD\SYSTEM\APITable::FIELD_ALLOWEDVALUES]);}
if( !method_exists($this->m_verifyclass, $item[\SYSTEM\DBD\APITable::FIELD_ALLOWEDVALUES]) ||
!$this->m_verifyclass->$item[\SYSTEM\DBD\APITable::FIELD_ALLOWEDVALUES]($call[$item[\SYSTEM\DBD\APITable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter type missmacht or Missing Verifier. Param: '.$item[\SYSTEM\DBD\APITable::FIELD_NAME].' Verifier: '.$item[\SYSTEM\DBD\APITable::FIELD_ALLOWEDVALUES]);}
$parameters[] = array($item, $call[$item[\DBD\SYSTEM\APITable::FIELD_NAME]]);
$parameters[] = array($item, $call[$item[\SYSTEM\DBD\APITable::FIELD_NAME]]);
}
}
if(count($call) != (count($parameters) + count($commands)) ){
@ -117,10 +117,10 @@ class Api {
if(!\preg_match('^[0-9A-Za-z_]+$^', $com[1])){
throw new \SYSTEM\LOG\ERROR('Call Command can only have letters!');}
if($com[0][\DBD\SYSTEM\APITable::FIELD_ALLOWEDVALUES] == 'FLAG'){
$command_call .= '_flag_'.$com[0][\DBD\SYSTEM\APITable::FIELD_NAME];
if($com[0][\SYSTEM\DBD\APITable::FIELD_ALLOWEDVALUES] == 'FLAG'){
$command_call .= '_flag_'.$com[0][\SYSTEM\DBD\APITable::FIELD_NAME];
} else {
$command_call .= '_'.$com[0][\DBD\SYSTEM\APITable::FIELD_NAME].'_'.\strtolower($com[1]);}
$command_call .= '_'.$com[0][\SYSTEM\DBD\APITable::FIELD_NAME].'_'.\strtolower($com[1]);}
}
$command_call = substr($command_call, 1);
@ -139,7 +139,7 @@ class Api {
private function getApiTree(){
$con = new \SYSTEM\DB\Connection($this->m_dbinfo);
$res = $con->query('SELECT * FROM '.\DBD\SYSTEM\APITable::NAME.' ORDER BY "'.\DBD\SYSTEM\APITable::FIELD_ID.'"');
$res = $con->query('SELECT * FROM '.\SYSTEM\DBD\APITable::NAME.' ORDER BY "'.\SYSTEM\DBD\APITable::FIELD_ID.'"');
unset($con);
if(!$res){

View File

@ -13,4 +13,5 @@ function __autoload_system($class_name) {
spl_autoload_register('__autoload_system');
//Register system classes
require_once dirname(__FILE__).'/system/register_system_autoload_classes.php';
require_once dirname(__FILE__).'/system/register_system_autoload_classes.php';
require_once dirname(__FILE__).'/dbd/autoload.inc.php';

View File

@ -2,8 +2,4 @@
$autoload = SYSTEM\autoload::getInstance();
$autoload->registerFolder(dirname(__FILE__).'/db/','DBD');
$autoload->registerFolder(dirname(__FILE__).'/tbl/system/','DBD\SYSTEM');
//$autoload->registerFolder(dirname(__FILE__).'/tbl/definitions/','DBD\DEFINITIONS');
//$autoload->registerFolder(dirname(__FILE__).'/tbl/data/','DBD\DATA');
//$autoload->registerFolder(dirname(__FILE__).'/tbl/data_processed/','DBD\DATA_PROCESSED');
$autoload->registerFolder(dirname(__FILE__).'/tbl/','SYSTEM\DBD');

View File

@ -1,7 +0,0 @@
<?php
namespace DBD\SYSTEM;
class systemPostgres extends \SYSTEM\DB\DBInfoPG {
public function __construct() {
parent::__construct('', '', '', '', '');}
}

View File

@ -1,10 +1,10 @@
<?php
namespace DBD\SYSTEM;
namespace SYSTEM\DBD;
class APITable {
const NAME = 'system.api_calls';
const NAME = 'system_api_calls';
const FIELD_ID = 'ID';
const FIELD_FLAG = 'flag';

View File

@ -1,10 +1,10 @@
<?php
namespace DBD\SYSTEM;
namespace SYSTEM\DBD;
class PAGETable {
const NAME = 'system.page_calls';
const NAME = 'system_page_calls';
const FIELD_ID = 'ID';
const FIELD_FLAG = 'flag';

View File

@ -1,6 +1,6 @@
<?php
namespace DBD\SYSTEM;
namespace SYSTEM\DBD;
class UserLoginsTable {

View File

@ -1,10 +1,10 @@
<?php
namespace DBD\SYSTEM;
namespace SYSTEM\DBD;
class UserRightsTable {
const NAME = 'system.user_to_rights';
const NAME = 'system_user_to_rights';
const FIELD_USERID = 'userID';
const FIELD_RIGHTID = 'rightID';

View File

@ -1,10 +1,10 @@
<?php
namespace DBD\SYSTEM;
namespace SYSTEM\DBD;
class UserTable {
const NAME = 'system.user';
const NAME = 'system_user';
const FIELD_ID = 'id';
const FIELD_USERNAME = 'username';

View File

@ -1,9 +1,9 @@
<?php
namespace DBD\SYSTEM;
namespace SYSTEM\DBD;
class locale_string {
const NAME = 'system.locale_string';
const NAME = 'system_locale_string';
const FIELD_ID = 'id';
const FIELD_CATEGORY = 'category';

View File

@ -27,8 +27,8 @@ class PageApi {
private $m_verifyclass = null;
private $m_pageclass = null;
public function __construct($DBInfo,\SYSTEM\verifyclass $VerifyClass, \SYSTEM\PAGE\PageClass $PageClass){
$this->m_dbinfo = $DBInfo;
public function __construct(\SYSTEM\verifyclass $VerifyClass, \SYSTEM\PAGE\PageClass $PageClass,$DBInfo = null){
$this->m_dbinfo = $DBInfo == null ? \SYSTEM\system::getSystemDBInfo() : $DBInfo;
$this->m_verifyclass = $VerifyClass;
$this->m_pageclass = $PageClass;
}
@ -50,15 +50,15 @@ class PageApi {
$commands = array();
$parentid = -1;
foreach($tree as $item){
if( $item[\DBD\SYSTEM\PAGETable::FIELD_FLAG] == \DBD\SYSTEM\PAGETable::VALUE_FLAG_COMMAND &&
$item[\DBD\SYSTEM\PAGETable::FIELD_PARENTID] == $parentid &&
isset($call[$item[\DBD\SYSTEM\PAGETable::FIELD_NAME]])){
if( $item[\SYSTEM\DBD\PAGETable::FIELD_FLAG] == \SYSTEM\DBD\PAGETable::VALUE_FLAG_COMMAND &&
$item[\SYSTEM\DBD\PAGETable::FIELD_PARENTID] == $parentid &&
isset($call[$item[\SYSTEM\DBD\PAGETable::FIELD_NAME]])){
if( isset($item[\DBD\SYSTEM\PAGETable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\DBD\SYSTEM\PAGETable::FIELD_PARENTVALUE]){
if( isset($item[\SYSTEM\DBD\PAGETable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\SYSTEM\DBD\PAGETable::FIELD_PARENTVALUE]){
continue;}
$commands[] = array($item,$call[$item[\DBD\SYSTEM\PAGETable::FIELD_NAME]]);
$parentid = $item[\DBD\SYSTEM\PAGETable::FIELD_ID];
$commands[] = array($item,$call[$item[\SYSTEM\DBD\PAGETable::FIELD_NAME]]);
$parentid = $item[\SYSTEM\DBD\PAGETable::FIELD_ID];
}
}
@ -68,22 +68,22 @@ class PageApi {
if(count($commands) > 0){
$lastCommand = $commands[count($commands) -1 ][0];
foreach($tree as $item){
if( $item[\DBD\SYSTEM\PAGETable::FIELD_FLAG] == \DBD\SYSTEM\PAGETable::VALUE_FLAG_PARAM &&
$item[\DBD\SYSTEM\PAGETable::FIELD_PARENTID] == $lastCommand[\DBD\SYSTEM\PAGETable::FIELD_ID]){
if( $item[\SYSTEM\DBD\PAGETable::FIELD_FLAG] == \SYSTEM\DBD\PAGETable::VALUE_FLAG_PARAM &&
$item[\SYSTEM\DBD\PAGETable::FIELD_PARENTID] == $lastCommand[\SYSTEM\DBD\PAGETable::FIELD_ID]){
if( isset($item[\DBD\SYSTEM\PAGETable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\DBD\SYSTEM\PAGETable::FIELD_PARENTVALUE]){
if( isset($item[\SYSTEM\DBD\PAGETable::FIELD_PARENTVALUE]) &&
$commands[count($commands)-1][1] != $item[\SYSTEM\DBD\PAGETable::FIELD_PARENTVALUE]){
continue;}
if(!isset($call[$item[\DBD\SYSTEM\PAGETable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter missing: '.$item[\DBD\SYSTEM\PAGETable::FIELD_NAME]);}
if(!isset($call[$item[\SYSTEM\DBD\PAGETable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter missing: '.$item[\SYSTEM\DBD\PAGETable::FIELD_NAME]);}
if( !method_exists($this->m_verifyclass, $item[\DBD\SYSTEM\PAGETable::FIELD_ALLOWEDVALUES]) ||
!$this->m_verifyclass->$item[\DBD\SYSTEM\PAGETable::FIELD_ALLOWEDVALUES]($call[$item[\DBD\SYSTEM\PAGETable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter type missmacht or Missing Verifier. Param: '.$item[\DBD\SYSTEM\PAGETable::FIELD_NAME].' Verifier: '.$item[\DBD\SYSTEM\PAGETable::FIELD_ALLOWEDVALUES]);}
if( !method_exists($this->m_verifyclass, $item[\SYSTEM\DBD\PAGETable::FIELD_ALLOWEDVALUES]) ||
!$this->m_verifyclass->$item[\SYSTEM\DBD\PAGETable::FIELD_ALLOWEDVALUES]($call[$item[\SYSTEM\DBD\PAGETable::FIELD_NAME]])){
throw new \SYSTEM\LOG\ERROR('Parameter type missmacht or Missing Verifier. Param: '.$item[\SYSTEM\DBD\PAGETable::FIELD_NAME].' Verifier: '.$item[\DBD\SYSTEM\PAGETable::FIELD_ALLOWEDVALUES]);}
$parameters[] = array($item, $call[$item[\DBD\SYSTEM\PAGETable::FIELD_NAME]]);
$parameters[] = array($item, $call[$item[\SYSTEM\DBD\PAGETable::FIELD_NAME]]);
}
}
@ -92,10 +92,10 @@ class PageApi {
if(!\preg_match('^[0-9A-Za-z_]+$^', $com[1])){
throw new \SYSTEM\LOG\ERROR("Call Command can only have letters!");}
if($com[0][\DBD\SYSTEM\PAGETable::FIELD_ALLOWEDVALUES] == 'FLAG'){
$command_call .= '_flag_'.$com[0][\DBD\SYSTEM\PAGETable::FIELD_NAME];
if($com[0][\SYSTEM\DBD\PAGETable::FIELD_ALLOWEDVALUES] == 'FLAG'){
$command_call .= '_flag_'.$com[0][\SYSTEM\DBD\PAGETable::FIELD_NAME];
} else {
$command_call .= '_'.$com[0][\DBD\SYSTEM\PAGETable::FIELD_NAME].'_'.\strtolower($com[1]);}
$command_call .= '_'.$com[0][\SYSTEM\DBD\PAGETable::FIELD_NAME].'_'.\strtolower($com[1]);}
}
$command_call = substr($command_call, 1);
}
@ -119,7 +119,7 @@ class PageApi {
private function getPageTree(){
$con = new \SYSTEM\DB\Connection($this->m_dbinfo);
$res = $con->query('SELECT * FROM '.\DBD\SYSTEM\PAGETable::NAME.' ORDER BY "'.\DBD\SYSTEM\PAGETable::FIELD_ID.'"');
$res = $con->query('SELECT * FROM '.\SYSTEM\DBD\PAGETable::NAME.' ORDER BY "'.\SYSTEM\DBD\PAGETable::FIELD_ID.'"');
if(!$res){
throw new \SYSTEM\LOG\ERROR("Database Error ". pg_last_error());}

View File

@ -6,9 +6,9 @@ const C_ROOT = '<root>';
const C_SUBPATH = '<subpath>';
//move that 2 extern so we can modify without modifying system files
const C_SERVER_ROOT = '/home/dasense/test/'; // root on the server
const C_WEB_ROOT = '/test/'; // http://www.da-sense.de/
const C_WEB_ADDRESS = 'http://www.da-sense.de';
//const C_SERVER_ROOT = '/home/dasense/test/'; // root on the server
//const C_WEB_ROOT = '/test/'; // http://www.da-sense.de/
//const C_WEB_ADDRESS = 'http://www.da-sense.de';
abstract class PATH {
abstract static public function getPath();
@ -31,11 +31,11 @@ class PSAI extends PATH {
function SERVERPATH(\SYSTEM\PATH $basepath, $subpath = ''){
return str_replace( array(C_ROOT,C_SUBPATH),
array(C_SERVER_ROOT,$subpath),
array(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEPATH),$subpath),
$basepath->getPath());
}
function WEBPATH(\SYSTEM\PATH $basepath, $subpath = '', $http = false){
function WEBPATH(\SYSTEM\PATH $basepath, $subpath = ''){
return str_replace( array(C_ROOT,C_SUBPATH),
array($http ? C_WEB_ADDRESS.C_WEB_ROOT : C_WEB_ROOT,$subpath),
array(\SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_PATH_BASEURL) ,$subpath),
$basepath->getPath());
}

View File

@ -9,7 +9,6 @@ $autoload->registerFolder(dirname(__FILE__).'/../log/exceptions','SYSTEM\LOG');
$autoload->registerFolder(dirname(__FILE__).'/../log/error_handler','SYSTEM\LOG');
$autoload->registerFolder(dirname(__FILE__).'/../api','SYSTEM\API');
$autoload->registerFolder(dirname(__FILE__).'/../page','SYSTEM\PAGE');
$autoload->registerFolder(dirname(__FILE__).'/../db','SYSTEM\DB');
@ -19,6 +18,8 @@ $autoload->registerFolder(dirname(__FILE__).'/../db/result','SYSTEM\DB');
$autoload->registerFolder(dirname(__FILE__).'/../security','SYSTEM\SECURITY');
$autoload->registerFolder(dirname(__FILE__).'/../config','SYSTEM\CONFIG');
$autoload->registerFolder(dirname(__FILE__).'/../cache','SYSTEM\CACHE');
$autoload->registerFolder(dirname(__FILE__).'/../sai','SYSTEM\SAI');