/**
  *
  */
 function find($path, $enabled, $installed)
 {
     $db =& xDB::getDB();
     $where[0]["clause"] = "path = '%s'";
     $where[0]["connector"] = "AND";
     $where[0]["value"] = $path;
     $where[1]["clause"] = "enabled = %d";
     $where[1]["connector"] = "AND";
     $where[1]["value"] = $enabled;
     $where[2]["clause"] = "installed = %d";
     $where[2]["connector"] = "AND";
     $where[2]["value"] = $installed;
     $result = $db->autoQuerySelect(array('*'), array('active_modules'), $where);
     $objs = array();
     while ($row = $db->fetchObject($result)) {
         $objs[] = xModuleDAO::_dtoFromRow($row);
     }
     return $objs;
 }
function on_session_gc($max_lifetime)
{
    $db =& xDB::getDB();
    $db->query("DELETE FROM sessions WHERE session_timestamp < '%s'", $db->encodeTimestamp(time() - $max_lifetime));
    return true;
}
Exemplo n.º 3
0
 /**
  * Generate a unique id in relation to a table name. For a correct use put this inside a transaction.
  *
  * @param string $tablename
  * @return int
  */
 function generate($tablename)
 {
     $db =& xDB::getDB();
     $ret = 0;
     $result = $db->query("SELECT currentid FROM uniqueid WHERE tablename = '%s'", $tablename);
     if ($row = $db->fetchObject($result)) {
         $ret = $row->currentid + 1;
         $db->query("UPDATE uniqueid SET currentid = %d WHERE tablename = '%s'", $ret, $tablename);
     }
     return $ret;
 }
 /**
  * {@inheritdoc}
  */
 function xm_install()
 {
     $db =& xDB::getDB();
     //log
     $db->query("\r\n\t\t\tCREATE TABLE xanth_log (\r\n\t\t\tid INT UNSIGNED AUTO_INCREMENT NOT NULL,\r\n\t\t\tcathegory VARCHAR(32) NOT NULL,\r\n\t\t\tlevel MEDIUMINT NOT NULL,\r\n\t\t\tmessage TEXT NOT NULL,\r\n\t\t\tfilename  VARCHAR(255) NOT NULL,\r\n\t\t\tline MEDIUMINT NOT NULL,\r\n\t\t\treferer TEXT NOT NULL,\r\n\t\t\turl TEXT NOT NULL,\r\n\t\t\tip VARCHAR(16) NOT NULL,\r\n\t\t\ttime DATETIME NOT NULL,\r\n\t\t\tstacktrace BLOB,\r\n\t\t\tPRIMARY KEY(id)\r\n\t\t\t)TYPE=InnoDB DEFAULT CHARACTER SET utf8");
     //sessions
     $db->query("\r\n\t\t\tCREATE TABLE sessions (\r\n\t\t\tsession_id VARCHAR(32) NOT NULL,\r\n\t\t\tsession_data TEXT NOT NULL,\r\n\t\t\tsession_timestamp DATETIME NOT NULL,\r\n\t\t\tPRIMARY KEY  (session_id)\r\n\t\t\t)TYPE=InnoDB DEFAULT CHARACTER SET utf8");
     //uniqueid
     $db->query("\r\n\t\t\tCREATE TABLE uniqueid (\r\n\t\t\ttablename VARCHAR(32) NOT NULL,\r\n\t\t\tcurrentid INT UNSIGNED NOT NULL,\r\n\t\t\tPRIMARY KEY  (tablename)\r\n\t\t\t)TYPE=InnoDB DEFAULT CHARACTER SET utf8");
     //active_modules
     $db->query("\r\n\t\t\tCREATE TABLE active_modules (\r\n\t\t\tpath VARCHAR(255) NOT NULL,\r\n\t\t\tenabled TINYINT NOT NULL,\r\n\t\t\tinstalled TINYINT NOT NULL,\r\n\t\t\tPRIMARY KEY (path)\r\n\t\t\t)TYPE=InnoDB DEFAULT CHARACTER SET utf8");
     //language
     $db->query("\r\n\t\t\tCREATE TABLE language (\r\n\t\t\tname VARCHAR(2) NOT NULL,\r\n\t\t\tfull_name VARCHAR(32) NOT NULL,\r\n\t\t\tPRIMARY KEY (name)\r\n\t\t\t)TYPE=InnoDB DEFAULT CHARACTER SET utf8");
 }
 /**
  * Constructor
  */
 function __construct()
 {
     parent::__construct();
 }
Exemplo n.º 6
0
 /**
  * Retrieves all logs.
  */
 function dbFindAll()
 {
     $db =& xDB::getDB();
     $entries = array();
     $result = $db->query("SELECT * FROM xanth_log");
     while ($row = $db->fetchObject($result)) {
         $entries[] = new xLogEntry($row->id, $row->cathegory, $row->level, $row->message, $row->filename, $row->line, unserialize($db->decodeBlob($row->stacktrace)));
     }
     return $entries;
 }
 /**
  *
  */
 function install()
 {
     ob_start();
     //select DB
     if (xConf::get('db_type', 'mysql') == 'mysql') {
         $db = new xDBMysql();
         $db->connect(xConf::get('db_host', ''), xConf::get('db_user', ''), xConf::get('db_pass', ''), xConf::get('db_port', ''));
         xDB::setDB($db);
         $name = xConf::get('db_name', '');
         $db->query("DROP DATABASE {$name}");
         $db->query("CREATE DATABASE {$name}");
         $db->selectDB($name);
     } else {
         exit('Unknown database type');
     }
     //error handler
     set_error_handler('xanth_php_error_handler');
     $comp = new xModuleManager();
     $comp->initModules('engine', 'comp', false, false, array(new xFrameworkComponent()));
     $comp->invokeAll('xm_install', array($name = xConf::get('db_name', '')));
     $comp = new xModuleManager();
     $comp->initModules('extensions', 'ext', true, true);
     $comp->invokeAll('xm_install', array($name = xConf::get('db_name', '')));
     //print log
     echo xLogEntry::renderFromScreen();
     echo "Xanthin Successfully installed";
     ob_end_flush();
 }