1
0
mirror of https://github.com/monstra-cms/monstra.git synced 2025-08-10 15:14:30 +02:00

Core Improvements: Next Round #79 #80

This commit is contained in:
Awilum
2013-01-08 21:07:01 +02:00
parent b7dcc5be49
commit 0c984788c0
23 changed files with 1534 additions and 1521 deletions

71
engine/Xmldb/DB.php Normal file
View File

@@ -0,0 +1,71 @@
<?php
/**
* DB Class
*/
class DB
{
/**
* XMLDB directory
*
* @var string
*/
public static $db_dir = STORAGE;
/**
* Protected constructor since this is a static class.
*
* @access protected
*/
protected function __construct()
{
// Nothing here
}
/**
* Configure the settings of XMLDB
*
* @param mixed $setting Setting name
* @param mixed $value Setting value
*/
public static function configure($setting, $value)
{
if (property_exists("db", $setting)) DB::$$setting = $value;
}
/**
* Create new database
*
* @param string $db_name Database name
* @param integer $mode Mode
* @return boolean
*/
public static function create($db_name, $chmod = 0775)
{
// Redefine vars
$db_name = (string) $db_name;
// Create
if (is_dir(DB::$db_dir . '/' . $db_name)) return false;
return mkdir(DB::$db_dir . '/' . $db_name, $chmod);
}
/**
* Drop database
*
* @param string $db_name Database name
* @return boolean
*/
public static function drop($db_name)
{
// Redefine vars
$db_name = (string) $db_name;
// Drop
if (is_dir(DB::$db_dir . '/' . $db_name)){$ob=scandir(DB::$db_dir . '/' . $db_name); foreach ($ob as $o) {if ($o!='.'&&$o!='..') {if(filetype(DB::$db_dir . '/' . $db_name.'/'.$o)=='dir')DB::drop(DB::$db_dir . '/' . $db_name.'/'.$o); else unlink(DB::$db_dir . '/' . $db_name.'/'.$o);}}}
reset($ob); rmdir(DB::$db_dir . '/' . $db_name);
}
}