Skip to content
Snippets Groups Projects
Commit 721311c9 authored by Robin Appelman's avatar Robin Appelman
Browse files

some minor optimizations

parent 926b2b78
No related branches found
No related tags found
No related merge requests found
......@@ -36,7 +36,25 @@ class OC_DB {
static private $affected=0;
static private $result=false;
static private $inTransaction=false;
static private $prefix=null;
static private $type=null;
/**
* check which backend we should use
* @return BACKEND_MDB2 or BACKEND_PDO
*/
private static function getDBBackend(){
$backend=self::BACKEND_MDB2;
if(class_exists('PDO') && OC_Config::getValue('installed', false)){//check if we can use PDO, else use MDB2 (instalation always needs to be done my mdb2)
$type = OC_Config::getValue( "dbtype", "sqlite" );
if($type=='sqlite3') $type='sqlite';
$drivers=PDO::getAvailableDrivers();
if(array_search($type,$drivers)!==false){
$backend=self::BACKEND_PDO;
}
}
}
/**
* @brief connects to the database
* @returns true if connection can be established or nothing (die())
......@@ -48,15 +66,7 @@ class OC_DB {
return;
}
if(is_null($backend)){
$backend=self::BACKEND_MDB2;
if(class_exists('PDO') && OC_Config::getValue('installed', false)){//check if we can use PDO, else use MDB2 (instalation always needs to be done my mdb2)
$type = OC_Config::getValue( "dbtype", "sqlite" );
if($type=='sqlite3') $type='sqlite';
$drivers=PDO::getAvailableDrivers();
if(array_search($type,$drivers)!==false){
$backend=self::BACKEND_PDO;
}
}
$backend=self::getDBBackend();
}
if($backend==self::BACKEND_PDO){
self::connectPDO();
......@@ -423,8 +433,14 @@ class OC_DB {
private static function processQuery( $query ){
self::connect();
// We need Database type and table prefix
$type = OC_Config::getValue( "dbtype", "sqlite" );
$prefix = OC_Config::getValue( "dbtableprefix", "oc_" );
if(is_null(self::$type)){
self::$type=OC_Config::getValue( "dbtype", "oc_" );
}
$type = self::$type;
if(is_null(self::$prefix)){
self::$prefix=OC_Config::getValue( "dbtableprefix", "oc_" );
}
$prefix = self::$prefix;
// differences in escaping of table names ('`' for mysql) and getting the current timestamp
if( $type == 'sqlite' || $type == 'sqlite3' ){
......
......@@ -261,17 +261,14 @@ class OC_L10N{
public static function findAvailableLanguages($app=null){
$available=array('en');//english is always available
$dir = self::findI18nDir($app);
if(file_exists($dir)){
$dh = opendir($dir);
while(($file = readdir($dh)) !== false){
if(substr($file, -4, 4) == '.php' and (strlen($file) == 6 || strlen($file) == 9)){
if(is_dir($dir)){
$files=scandir($dir);
foreach($files as $file){
if(substr($file, -4, 4) == '.php'){
$i = substr($file, 0, -4);
if($i != ''){
$available[] = $i;
}
$available[] = $i;
}
}
closedir($dh);
}
return $available;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment