New database system that uses PDO if present/Test script for doing database upgrades.
This commit is contained in:
parent
2846dfeb05
commit
405dd794fe
13 changed files with 3256 additions and 0 deletions
83
library/dddbl2/config.inc.php
Normal file
83
library/dddbl2/config.inc.php
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
<?php
|
||||
|
||||
namespace DDDBL;
|
||||
|
||||
require_once __DIR__ . '/inc/DataObjectPool.class.php';
|
||||
require_once __DIR__ . '/inc/DataObject.class.php';
|
||||
require_once __DIR__ . '/inc/Singleton.class.php';
|
||||
require_once __DIR__ . '/inc/Queue.class.php';
|
||||
|
||||
require_once __DIR__ . '/inc/exceptions/UnexpectedParameterTypeException.class.php';
|
||||
require_once __DIR__ . '/inc/exceptions/QueryException.class.php';
|
||||
|
||||
require_once __DIR__ . '/inc/database.func.php';
|
||||
|
||||
# position of handler, which gets the active database-connection into the queue
|
||||
define('QUEUE_GET_DB_CONNECTION_POSITION', 10);
|
||||
define('QUEUE_GET_QUERY_POSITION', 20);
|
||||
define('QUEUE_BIND_DATA_TYPE_POSITION', 30);
|
||||
define('QUEUE_PREPARE_QUERY_POSITION', 40);
|
||||
define('QUEUE_EXECUTE_QUERY_POSITION', 50);
|
||||
define('QUEUE_FORMAT_RESULT_POSITION', 60);
|
||||
define('QUEUE_CLOSE_CURSOR_POSITION', 70);
|
||||
|
||||
###############################################
|
||||
### set validator for "Database-Definition" ###
|
||||
###############################################
|
||||
|
||||
$objDBDefinitionValidator = function ($arrValues) {
|
||||
|
||||
foreach(array('CONNECTION', 'USER', 'PASS') AS $strDefinitionField)
|
||||
if(!isset($arrValues[$strDefinitionField]) || !is_string($arrValues[$strDefinitionField]))
|
||||
return false;
|
||||
|
||||
if(isset($arrValues['PDO']) && !is_a($arrValues['PDO'], '\PDO'))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
||||
};
|
||||
|
||||
$objDataObjectPool = new DataObjectPool('Database-Definition');
|
||||
$objDataObjectPool->setValidator($objDBDefinitionValidator);
|
||||
|
||||
############################################
|
||||
### set validator for "Query-Definition" ###
|
||||
############################################
|
||||
|
||||
$objQueryDefinitionValidator = function ($arrValues) {
|
||||
|
||||
if(!isset($arrValues['QUERY']) || !is_string($arrValues['QUERY']))
|
||||
return false;
|
||||
|
||||
if(isset($arrValues['HANDLER']) && !is_string($arrValues['HANDLER']))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
||||
};
|
||||
|
||||
$objDataObjectPool = new DataObjectPool('Query-Definition');
|
||||
$objDataObjectPool->setValidator($objQueryDefinitionValidator);
|
||||
|
||||
##########################################
|
||||
### set validator for "Result-Handler" ###
|
||||
##########################################
|
||||
|
||||
$objResultHandlerValidator = function ($arrValues) {
|
||||
|
||||
if(!isset($arrValues['HANDLER']) || !is_callable($arrValues['HANDLER']))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
$objDataObjectPool = new DataObjectPool('Result-Handler');
|
||||
$objDataObjectPool->setValidator($objResultHandlerValidator);
|
||||
|
||||
#########################################
|
||||
### register queue and result handler ###
|
||||
#########################################
|
||||
|
||||
require_once __DIR__ . '/handler/register_queue_handler.inc.php';
|
||||
require_once __DIR__ . '/handler/register_result_handler.inc.php';
|
||||
Loading…
Add table
Add a link
Reference in a new issue