summaryrefslogtreecommitdiff
path: root/db_config/db_config.php
diff options
context:
space:
mode:
Diffstat (limited to 'db_config/db_config.php')
-rw-r--r--db_config/db_config.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/db_config/db_config.php b/db_config/db_config.php
new file mode 100644
index 0000000..a2275be
--- /dev/null
+++ b/db_config/db_config.php
@@ -0,0 +1,15 @@
+<?php
+#
+# This file is part of Roundcube "db_config" plugin.
+#
+# Your are not allowed to distribute this file or parts of it.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Copyright (c) 2012 - 2015 Roland 'Rosali' Liebl - all rights reserved.
+# dev-team [at] myroundcube [dot] net
+# http://myroundcube.com
+#
+class db_config extends rcube_plugin{var$skip=array('companyaddressbook','dblog','demologin','newuser','load_splitter','register');static private$plugin='db_config';static private$author='myroundcube@mail4us.net';static private$authors_comments='<a href="http://myroundcube.com/myroundcube-plugins/db_config-plugin" target="_blank">Documentation</a>';static private$version='1.1.19';static private$date='30-12-2014';static private$licence='All Rights reserved';static private$requirements=array('Roundcube'=>'1.0','PHP'=>'5.3','required_plugins'=>array('plugin_manager'=>'require_plugin','db_version'=>'require_plugin',),);static private$sqladmin=array('db_dsnw','db_config');static private$prefs=null;static private$tables=array('db_config',);static private$db_version=array('initial','20131110','20141115',);function init(){$rcmail=rcmail::get_instance();if(!in_array('global_config',$rcmail->config->get('plugins'))){$this->load_config();}if(is_dir(INSTALL_PATH.'plugins/db_version')){$this->require_plugin('db_version');if(!$load=db_version::exec(self::$plugin,self::$tables,self::$db_version)){return;}}if(!empty($rcmail->user->ID)){$sql='SELECT * FROM '.get_table_name('users').' WHERE user_id=?';$res=$rcmail->db->limitquery($sql,0,1,$rcmail->user->ID);$user=$rcmail->db->fetch_assoc($res);$user=(array)unserialize($user['preferences']);}else{$user=array();}foreach($this->skip as$key=>$plugin){$this->skip[$key]=$rcmail->db->quote($plugin);}$append=implode(' AND env <> ',$this->skip);$sql='SELECT * FROM '.get_table_name('db_config').' WHERE env <> '.$append;$res=$rcmail->db->query($sql);while($conf=$rcmail->db->fetch_assoc($res)){$config=array();$rcmail_config=array();if(eval($conf['conf'])===null){$config=array_merge($rcmail_config,$config);foreach($config as$key=>$val){if(!isset($user[$key])||in_array($key,$rcmail->config->get('dont_override',array()))){$rcmail->config->set($key,$val);}}}else{write_log('db_config',$conf);}}}static function about($keys=false){$requirements=self::$requirements;foreach(array('required_','recommended_')as$prefix){if(is_array($requirements[$prefix.'plugins'])){foreach($requirements[$prefix.'plugins']as$plugin=>$method){if(class_exists($plugin)&&method_exists($plugin,'about')){$class=new$plugin(false);$requirements[$prefix.'plugins'][$plugin]=array('method'=>$method,'plugin'=>$class->about($keys),);}else{$requirements[$prefix.'plugins'][$plugin]=array('method'=>$method,'plugin'=>$plugin,);}}}}return array('plugin'=>self::$plugin,'version'=>self::$version,'db_version'=>self::$db_version,'date'=>self::$date,'author'=>self::$author,'comments'=>self::$authors_comments,'licence'=>self::$licence,'sqladmin'=>self::$sqladmin,'requirements'=>$requirements);}} \ No newline at end of file