/** * Helper function for db_query(). * * @access private * @static */ function xanth_mysql_query_callback($match, $init = FALSE) { static $args = NULL; if ($init) { $args = $match; return; } switch ($match[1]) { case '%d': return (int) array_shift($args); case '%s': return xDBMysql::escapeString(array_shift($args)); case '%%': return '%'; case '%f': return (double) array_shift($args); case '%b': // binary data return xDBMysql::encodeBlob(array_shift($args)); } }
/** * */ 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(); }