diff --git a/app/controllers/AdminloginController.php b/app/controllers/AdminloginController.php
index c73fb74fc..86ca34fa0 100644
--- a/app/controllers/AdminloginController.php
+++ b/app/controllers/AdminloginController.php
@@ -1,20 +1,24 @@
session_only = false;
}
- function dispatch() {
+ function dispatch()
+ {
$this->page->setTitle(__('title.administration', APP_TITLE));
$this->page->menuAddLink(__('page.home'), 'main');
$this->page->menuAddLink(__('page.administration'), 'admin', true);
- $conf = Conf::getServerConf();
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
- if($conf['user'] == $_POST['username']
- && $conf['pass'] == sha1($_POST['password'])) {
+ if($config->user == $_POST['username']
+ && $config->pass == sha1($_POST['password'])) {
$_SESSION['admin'] = true;
$this->name = 'admin';
}
diff --git a/app/models/postn/Postn.php b/app/models/postn/Postn.php
index f5e5fb9a1..95f5652a9 100644
--- a/app/models/postn/Postn.php
+++ b/app/models/postn/Postn.php
@@ -1,6 +1,6 @@
- widget('Admin');?>
+ widget('AdminMain');?>
+ widget('AdminDB');?>
+ widget('AdminTest');?>
widget('Statistics');?>
widget('Api');?>
diff --git a/app/views/page.tpl b/app/views/page.tpl
index 3ded3ade6..70b35ba0a 100644
--- a/app/views/page.tpl
+++ b/app/views/page.tpl
@@ -1,11 +1,13 @@
get();
?>
title();?>
-
+
diff --git a/app/widgets/Admin/Admin.php b/app/widgets/Admin/Admin.php
deleted file mode 100644
index a9c4fd0ef..000000000
--- a/app/widgets/Admin/Admin.php
+++ /dev/null
@@ -1,432 +0,0 @@
-
- *
- * @version 1.0
- * @date 25 November 2011
- *
- * Copyright (C)2010 MOVIM project
- *
- * See COPYING for licensing information.
- */
-
-class Admin extends WidgetBase {
- private $_conf;
- private $_validatebutton;
-
- function load()
- {
- $this->addjs('admin.js');
- $this->_conf = Conf::getServerConf();
-
- if(isset($_POST)) {
- $this->saveConfig($_POST);
- $_POST = null;
- }
- }
-
- private function saveConfig($form) {
- if($form['pass'] != '' && $form['repass'] != ''
- && $form['pass'] == $form['repass']) {
- unset($form['repass']);
- $form['pass'] = sha1($form['pass']);
- } else {
- $form['pass'] = $this->_conf['pass'];
- }
-
- foreach($form as $key => $value) {
- $this->_conf[$key] = $value;
- }
-
- Conf::saveConfFile($this->_conf);
- }
-
- private function isValid($what)
- {
- if($what)
- return "message success";
- else
- return "message error";
- }
-
- private function testDir($dir){
- return (file_exists($dir) && is_dir($dir) && is_writable($dir));
- }
-
- private function testFile($file) {
- return (file_exists($file) && is_writable($file));
- }
-
- private function listThemes()
- {
- $dir = opendir(DOCUMENT_ROOT.'/themes');
- $themes = array();
-
- while($theme = readdir($dir)) {
- if(preg_match('/^\.+$/', $theme)
- || !is_dir(DOCUMENT_ROOT.'/themes/'.$theme)) {
- continue;
- }
-
- $themes[$theme] = $theme;
- }
-
- return $themes;
- }
-
- private function listLangs()
- {
- return loadLangArray();
- }
-
- function testBosh($url)
- {
- return requestURL($url, 2);
- }
-
- public function ajaxUpdateDatabase()
- {
- $md = \modl\Modl::getInstance();
- $md->check(true);
- RPC::call('movim_reload_this');
- }
-
- function prepareAdminComp()
- {
- $this->_validatebutton = '
-
- ';
-
- $html = '
-
-
- ';
-
- return $html;
- }
-
- function prepareAdminGen() {
- $html .= '
- ';
-
- $html .= '
- ';
-
- $html .= '
- ';
-
- $html .= '
- ';
-
- $html .= '
-
';
-
- return $html;
- }
-
- function prepareAdminDB() {
- $dbview = $this->tpl();
-
- $md = \modl\Modl::getInstance();
- $infos = $md->check();
-
- $errors = '';
-
- $dbview->assign('infos', $infos);
- $dbview->assign('db_update', $this->genCallAjax('ajaxUpdateDatabase')
- ."this.className='button color orange icon loading'; setTimeout(function() {location.reload(false)}, 1000);");
- try {
- $md->connect();
- } catch(Exception $e) {
- $errors = $e->getMessage();
- }
-
- $dbview->assign('connected', $md->_connected);
- $dbview->assign('validatebutton', $this->_validatebutton);
- $dbview->assign('conf', $this->_conf);
- $dbview->assign('supported_db', $md->getSupportedDatabases());
- $dbview->assign('errors', $errors);
-
- $html = $dbview->draw('_admin_db', true);
-
- return $html;
- }
-}
diff --git a/app/widgets/Admin/_admin_db.tpl b/app/widgets/Admin/_admin_db.tpl
deleted file mode 100644
index 593218b57..000000000
--- a/app/widgets/Admin/_admin_db.tpl
+++ /dev/null
@@ -1,75 +0,0 @@
-
diff --git a/app/widgets/Admin/admin.tpl b/app/widgets/Admin/admin.tpl
deleted file mode 100644
index d54501ad2..000000000
--- a/app/widgets/Admin/admin.tpl
+++ /dev/null
@@ -1,11 +0,0 @@
-
diff --git a/app/widgets/AdminDB/AdminDB.php b/app/widgets/AdminDB/AdminDB.php
new file mode 100644
index 000000000..f54ed3096
--- /dev/null
+++ b/app/widgets/AdminDB/AdminDB.php
@@ -0,0 +1,52 @@
+
+
+ * Copyright (C)2014 Movim project
+ *
+ * See COPYING for licensing information.
+ */
+
+class AdminDB extends WidgetBase
+{
+ function load() {
+
+ }
+
+ function display()
+ {
+ $md = \modl\Modl::getInstance();
+ $infos = $md->check();
+
+ $errors = '';
+
+ $this->view->assign('infos', $infos);
+ $this->view->assign('db_update', $this->genCallAjax('ajaxUpdateDatabase')
+ ."this.className='button color orange icon loading'; setTimeout(function() {location.reload(false)}, 1000);");
+ try {
+ $md->connect();
+ } catch(Exception $e) {
+ $errors = $e->getMessage();
+ }
+
+ if(file_exists(DOCUMENT_ROOT.'/config/db.ini')) {
+ $conf = parse_ini_file(DOCUMENT_ROOT.'/config/db.ini');
+ }
+
+ $supported = $md->getSupportedDatabases();
+
+ $this->view->assign('connected', $md->_connected);
+ $this->view->assign('validatebutton', $this->_validatebutton);
+ $this->view->assign('conf', $conf);
+ $this->view->assign('dbtype', $supported[$conf['type']]);
+ $this->view->assign('errors', $errors);
+ }
+}
diff --git a/app/widgets/AdminDB/admindb.tpl b/app/widgets/AdminDB/admindb.tpl
new file mode 100644
index 000000000..38a0bfc1e
--- /dev/null
+++ b/app/widgets/AdminDB/admindb.tpl
@@ -0,0 +1,62 @@
+
+
+
diff --git a/app/widgets/AdminDB/locales.ini b/app/widgets/AdminDB/locales.ini
new file mode 100644
index 000000000..ac0740cb3
--- /dev/null
+++ b/app/widgets/AdminDB/locales.ini
@@ -0,0 +1,12 @@
+[db]
+db.legend = 'Database Settings'
+db.connect_error = "Modl wasn't able to connect to the database"
+db.connect_success = 'Movim is connected to the database'
+db.update = 'The database need to be updated'
+db.up_to_date = 'Movim database is up to date'
+db.type = 'Database Type'
+db.username = 'Username'
+db.password = 'Password'
+db.host = 'Host'
+db.port = 'Port'
+db.name = 'Database Name'
diff --git a/app/widgets/AdminMain/AdminMain.php b/app/widgets/AdminMain/AdminMain.php
new file mode 100644
index 000000000..00f0e7120
--- /dev/null
+++ b/app/widgets/AdminMain/AdminMain.php
@@ -0,0 +1,75 @@
+
+
+ * Copyright (C)2014 Movim project
+ *
+ * See COPYING for licensing information.
+ */
+
+class AdminMain extends WidgetBase
+{
+ function load() {
+ $this->addjs('admin.js');
+
+ $form = $_POST;
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
+
+ if(isset($form)) {
+ if($form['pass'] != '' && $form['repass'] != ''
+ && $form['pass'] == $form['repass']) {
+ unset($form['repass']);
+ $form['pass'] = sha1($form['pass']);
+ } else {
+ $form['pass'] = $config->pass;
+ }
+
+ foreach($form as $key => $value) {
+ $config->$key = $value;
+ }
+
+ $cd->set($config);
+ }
+ }
+
+ public function testBosh($url)
+ {
+ return requestURL($url, 2);
+ }
+
+ public function date()
+ {
+ return date('l jS \of F Y h:i:s A');
+ }
+
+ function display()
+ {
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
+
+ $this->view->assign('conf', $cd->get());
+ $this->view->assign('logs',
+ array(
+ 0 => t('Empty'),
+ 1 => t('Syslog'),
+ 2 => t('Syslog and Files'))
+ );
+ $this->view->assign('envs',
+ array(
+ 'development' => 'Development',
+ 'production' => 'Production')
+ );
+
+ $this->view->assign('timezones', getTimezoneList());
+ $this->view->assign('langs', loadLangArray());
+ }
+}
diff --git a/app/widgets/Admin/admin.js b/app/widgets/AdminMain/admin.js
similarity index 100%
rename from app/widgets/Admin/admin.js
rename to app/widgets/AdminMain/admin.js
diff --git a/app/widgets/AdminMain/adminmain.tpl b/app/widgets/AdminMain/adminmain.tpl
new file mode 100644
index 000000000..f6404d1ba
--- /dev/null
+++ b/app/widgets/AdminMain/adminmain.tpl
@@ -0,0 +1,172 @@
+
diff --git a/app/widgets/Admin/locales.ini b/app/widgets/AdminMain/locales.ini
similarity index 64%
rename from app/widgets/Admin/locales.ini
rename to app/widgets/AdminMain/locales.ini
index 149bb3eea..cd4c6e000 100644
--- a/app/widgets/Admin/locales.ini
+++ b/app/widgets/AdminMain/locales.ini
@@ -1,4 +1,3 @@
-admin.compatibility = 'Compatibility Check'
admin.general = 'General Settings'
[general]
@@ -38,25 +37,3 @@ information.info1 = 'This message will be displayed on the login page'
information.info2 = "Leave this field blank if you don't want to show any message."
information.label = 'Information Message'
-[compatibility]
-compatibility.info = 'Movim requires certain external components. Please install them before you can succeed:'
-compatibility.php = 'Your PHP-Version: %s
Required: 5.3.0'
-compatibility.curl = 'CURL-Library'
-compatibility.gd = 'GD'
-compatibility.simplexml = 'SimpleXML'
-compatibility.rights = "Read and write rights for the webserver in Movim's root directory"
-compatibility.openssl = 'OpenSSL'
-compatibility.rewrite = 'URL Rewriting support'
-
-[db]
-db.legend = 'Database Settings'
-db.connect_error = "Modl wasn't able to connect to the database"
-db.connect_success = 'Movim is connected to the database'
-db.update = 'The database need to be updated'
-db.up_to_date = 'Movim database is up to date'
-db.type = 'Database Type'
-db.username = 'Username'
-db.password = 'Password'
-db.host = 'Host'
-db.port = 'Port'
-db.name = 'Database Name'
diff --git a/app/widgets/AdminTest/AdminTest.php b/app/widgets/AdminTest/AdminTest.php
new file mode 100644
index 000000000..9f09b5e64
--- /dev/null
+++ b/app/widgets/AdminTest/AdminTest.php
@@ -0,0 +1,51 @@
+
+
+ * Copyright (C)2014 Movim project
+ *
+ * See COPYING for licensing information.
+ */
+
+class AdminTest extends WidgetBase
+{
+ function load() {
+
+ }
+
+ public function valid($what)
+ {
+ if($what)
+ return "message success";
+ else
+ return "message error";
+ }
+
+ public function version()
+ {
+ return (version_compare(PHP_VERSION, '5.3.0') >= 0);
+ }
+
+ public function testDir($dir)
+ {
+ return (file_exists($dir) && is_dir($dir) && is_writable($dir));
+ }
+
+ public function testFile($file)
+ {
+ return (file_exists($file) && is_writable($file));
+ }
+
+ function display()
+ {
+
+ }
+}
diff --git a/app/widgets/AdminTest/admintest.tpl b/app/widgets/AdminTest/admintest.tpl
new file mode 100644
index 000000000..aad68c820
--- /dev/null
+++ b/app/widgets/AdminTest/admintest.tpl
@@ -0,0 +1,36 @@
+
+
+
+
+
diff --git a/app/widgets/AdminTest/locales.ini b/app/widgets/AdminTest/locales.ini
new file mode 100644
index 000000000..bbdfd4e65
--- /dev/null
+++ b/app/widgets/AdminTest/locales.ini
@@ -0,0 +1,11 @@
+admin.compatibility = 'Compatibility Check'
+
+[compatibility]
+compatibility.info = 'Movim requires certain external components. Please install them before you can succeed:'
+compatibility.php = 'Your PHP-Version: %s
Required: 5.3.0'
+compatibility.curl = 'CURL-Library'
+compatibility.gd = 'GD'
+compatibility.simplexml = 'SimpleXML'
+compatibility.rights = "Read and write rights for the webserver in Movim's root directory"
+compatibility.openssl = 'OpenSSL'
+compatibility.rewrite = 'URL Rewriting support'
diff --git a/app/widgets/Api/Api.php b/app/widgets/Api/Api.php
index 464ae57ef..bf81bf84e 100644
--- a/app/widgets/Api/Api.php
+++ b/app/widgets/Api/Api.php
@@ -34,16 +34,17 @@ class Api extends WidgetBase {
$json = requestURL(MOVIM_API.'status', 1, array('uri' => BASE_URI));
$json = json_decode($json);
- $conf = Conf::getServerConf();
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
if(isset($json)) {
$this->view->assign('json', $json);
if($json->status == 200) {
$this->view->assign('unregister', $this->genCallAjax('ajaxUnregister'));
- $this->view->assign('unregister_status', $conf['unregister']);
+ $this->view->assign('unregister_status', $config->unregister);
} else {
- $conf['unregister'] = false;
- Conf::saveConfFile($conf);
+ $config->unregister = false;
+ $cd->set($config);
$this->view->assign('register', $this->genCallAjax('ajaxRegister'));
}
} else {
@@ -74,12 +75,12 @@ class Api extends WidgetBase {
function ajaxUnregister()
{
- $conf = Conf::getServerConf();
- $conf['unregister'] = !$conf['unregister'];
- Conf::saveConfFile($conf);
-
- sleep(2);
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
+ $config->unregister = !$config->unregister;
+ $cd->set($config);
+
RPC::call('movim_reload_this');
RPC::commit();
}
diff --git a/app/widgets/Infos/Infos.php b/app/widgets/Infos/Infos.php
index 36fbdc33c..63e18902f 100644
--- a/app/widgets/Infos/Infos.php
+++ b/app/widgets/Infos/Infos.php
@@ -31,7 +31,8 @@ class Infos extends WidgetBase
$pop = $pop-2;
// We get the global configuration
- $conf = Conf::getServerConf();
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
$sd = new \Modl\SessionxDAO();
@@ -43,11 +44,11 @@ class Infos extends WidgetBase
$infos = array(
'url' => BASE_URI,
- 'language' => $conf['defLang'],
- 'whitelist' => $conf['xmppWhiteList'],
- 'timezone' => $conf['timezone'],
- 'description' => $conf['description'],
- 'unregister' => $conf['unregister'],
+ 'language' => $config->locale,
+ 'whitelist' => $config->xmppwhitelist,
+ 'timezone' => $config->timezone,
+ 'description' => $config->description,
+ 'unregister' => $config->unregister,
'php_version' => phpversion(),
'rewrite' => $rewrite,
'version' => APP_VERSION,
diff --git a/app/widgets/Login/Login.php b/app/widgets/Login/Login.php
index 45de2f827..21b6b9504 100644
--- a/app/widgets/Login/Login.php
+++ b/app/widgets/Login/Login.php
@@ -17,8 +17,8 @@
* See COPYING for licensing information.
*/
-class Login extends WidgetBase {
-
+class Login extends WidgetBase
+{
function load()
{
$this->addcss('login.css');
@@ -30,8 +30,12 @@ class Login extends WidgetBase {
function display()
{
$submit = $this->genCallAjax('ajaxLogin', "movim_parse_form('login')");
+
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
+
$this->view->assign('submit', $submit);
- $this->view->assign('conf', Conf::getServerConf($submit));
+ $this->view->assign('info', $config->info);
$this->view->assign('submit_event',
'document.getElementById(\'submitb\').click();
'.$submit.'
@@ -68,9 +72,10 @@ class Login extends WidgetBase {
$this->view->assign('facebook',
$this->__('account.facebook',
'', ''));
-
- $conf = Conf::getServerConf();
- $whitelist = $conf['xmppWhiteList'];
+
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
+ $whitelist = $config->xmppwhitelist;
if(isset($whitelist) && $whitelist!=''){
$this->view->assign('whitelist', $whitelist);
@@ -206,7 +211,8 @@ class Login extends WidgetBase {
function ajaxLogin($element)
{
// We get the Server Configuration
- $serverconfig = Conf::getServerConf();
+ $cd = new \Modl\ConfigDAO();
+ $config = $cd->get();
$warning = false;
@@ -227,12 +233,12 @@ class Login extends WidgetBase {
// Check whitelisted server
if(
- $serverconfig['xmppWhiteList'] != '' &&!
+ $config->xmppwhitelist != '' &&!
in_array(
end(
explode('@', $element['login'])
),
- explode(',',$serverconfig['xmppWhiteList'])
+ explode(',',$config->xmppwhitelist)
)
)
$warning = 'serverunauthorized';
diff --git a/app/widgets/Login/login.tpl b/app/widgets/Login/login.tpl
index 34ded524b..5281b43fe 100644
--- a/app/widgets/Login/login.tpl
+++ b/app/widgets/Login/login.tpl
@@ -4,9 +4,9 @@
{$c->__('error.too_old')}
{else}
- {if="isset($conf.info) && $conf.info != ''"}
+ {if="isset($info) && $info != ''"}
- {$conf.info}
+ {$info}
{/if}