diff --git a/ajax/settings.php b/ajax/settings.php
new file mode 100644
--- /dev/null
+++ b/ajax/settings.php
@@ -0,0 +1,39 @@
+ array( "message" => $l->t("Not submitted for us.") )));
+ return false;
+}
+
+OCP\JSON::success(array('data' => array( 'message' => $l->t('Application settings successfully stored.') )));
+return true;
diff --git a/appinfo/info.xml b/appinfo/info.xml
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -1,14 +1,14 @@
user_sql
SQL user backend
Authenticate Users by SQL
AGPL
Andreas Boehler <andreas (at) aboehler
(dot) at >
- 4.9
+ 5.0
false
diff --git a/appinfo/version b/appinfo/version
--- a/appinfo/version
+++ b/appinfo/version
@@ -1,1 +1,1 @@
-0.8.0
+0.9.1
diff --git a/css/settings.css b/css/settings.css
new file mode 100644
--- /dev/null
+++ b/css/settings.css
@@ -0,0 +1,14 @@
+.statusmessage {
+ background-color: #DDDDFF;
+}
+.errormessage {
+ background-color: #FFDDDD;
+}
+.successmessage {
+ background-color: #DDFFDD;
+}
+.statusmessage,.errormessage,.successmessage{
+ display:none;
+ padding: 1;
+}
+
diff --git a/js/settings.js b/js/settings.js
--- a/js/settings.js
+++ b/js/settings.js
@@ -1,1 +1,45 @@
-//
+// declare namespace
+var user_sql = user_sql || {};
+
+/**
+ * init admin settings view
+ */
+user_sql.adminSettingsUI = function() {
+
+ if ($('#sql').length > 0) {
+ // enable tabs on settings page
+ $('#sql').tabs();
+
+ $('#sqlSubmit').click(function(event) {
+ event.preventDefault();
+
+ var self = $(this);
+ var post = $('#sqlForm').serialize();
+ $('#sql_update_message').show();
+ $('#sql_success_message').hide();
+ $('#sql_error_message').hide();
+ // Ajax foobar
+ $.post(OC.filePath('user_sql', 'ajax', 'settings.php'), post, function(data) {
+ $('#sql_update_message').hide();
+ if (data.status == 'success') {
+ $('#sql_success_message').html(data.data.message);
+ $('#sql_success_message').show();
+ window.setTimeout(function() {
+ $('#sql_success_message').hide();
+ }, 10000);
+ } else {
+ $('#sql_error_message').html(data.data.message);
+ $('#sql_error_message').show();
+ }
+ }, 'json');
+ return false;
+ });
+ }
+}
+
+$(document).ready(function() {
+ if ($('#sql')) {
+ user_sql.adminSettingsUI();
+ }
+});
+
diff --git a/settings.php b/settings.php
--- a/settings.php
+++ b/settings.php
@@ -1,63 +1,75 @@
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
* License as published by the Free Software Foundation; either
* version 3 of the License, or any later version.
*
* This library 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. See the
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Affero General Public
* License along with this library. If not, see .
*
*/
-$params = array('sql_host', 'sql_user', 'sql_database', 'sql_password', 'sql_table', 'sql_column_username', 'sql_column_password', 'sql_type', 'sql_column_active', 'strip_domain', 'default_domain', 'crypt_type');
+$params = array('sql_host', 'sql_user', 'sql_database', 'sql_password',
+ 'sql_table', 'sql_column_username', 'sql_column_password',
+ 'sql_type', 'sql_column_active', 'strip_domain', 'default_domain',
+ 'crypt_type', 'sql_column_displayname');
-OCP\Util::addscript('user_sql', 'settings');
+OCP\Util::addStyle('user_sql', 'settings');
+OCP\Util::addScript('user_sql', 'settings');
OCP\User::checkAdminUser();
+/*
if ($_POST) {
OCP\JSON::callCheck();
foreach($params as $param){
if(isset($_POST[$param]))
{
OCP\Config::setAppValue('user_sql', $param, $_POST[$param]);
}
elseif($param == 'strip_domain')
{
OCP\Config::setAppValue('user_sql', $param, 0);
}
}
}
+*/
// fill template
$tmpl = new OCP\Template( 'user_sql', 'settings');
foreach($params as $param){
$value = htmlentities(OCP\Config::getAppValue('user_sql', $param,''));
$tmpl->assign($param, $value);
}
// settings with default values
$tmpl->assign( 'sql_host', OCP\Config::getAppValue('user_sql', 'sql_host', OC_USER_BACKEND_SQL_DEFAULT_HOST));
$tmpl->assign( 'sql_user', OCP\Config::getAppValue('user_sql', 'sql_user', OC_USER_BACKEND_SQL_DEFAULT_USER));
$tmpl->assign( 'sql_database', OCP\Config::getAppValue( 'user_sql', 'sql_database', OC_USER_BACKEND_SQL_DEFAULT_DB));
$tmpl->assign( 'sql_password', OCP\Config::getAppValue( 'user_sql', 'sql_password', OC_USER_BACKEND_SQL_DEFAULT_PASSWORD));
$tmpl->assign( 'sql_table', OCP\Config::getAppValue( 'user_sql', 'sql_table', OC_USER_BACKEND_SQL_DEFAULT_TABLE));
$tmpl->assign( 'sql_column_password', OCP\Config::getAppValue( 'user_sql', 'sql_column_password', OC_USER_BACKEND_SQL_DEFAULT_PW_COLUMN));
$tmpl->assign( 'sql_column_username', OCP\Config::getAppValue( 'user_sql', 'sql_column_username', OC_USER_BACKEND_SQL_DEFAULT_USER_COLUMN));
$tmpl->assign( 'sql_type', OCP\Config::getAppValue( 'user_sql', 'sql_type', OC_USER_BACKEND_SQL_DEFAULT_DRIVER));
$tmpl->assign( 'sql_column_active', OCP\Config::getAppValue( 'user_sql', 'sql_column_active', ''));
$tmpl->assign( 'strip_domain', OCP\Config::getAppValue( 'user_sql', 'strip_domain', 0));
$tmpl->assign( 'default_domain', OCP\Config::getAppValue( 'user_sql', 'default_domain', ''));
$tmpl->assign( 'crypt_type', OCP\Config::getAppValue( 'user_sql', 'crypt_type', 'mysql_encrypt'));
+$tmpl->assign( 'sql_column_displayname', OCP\Config::getAppValue( 'user_sql', 'sql_column_displayname', ''));
+
+// workaround to detect OC version
+$ocVersion = @reset(OCP\Util::getVersion());
+$tmpl->assign('ocVersion', $ocVersion);
+
return $tmpl->fetchPage();
diff --git a/templates/settings.php b/templates/settings.php
--- a/templates/settings.php
+++ b/templates/settings.php
@@ -1,46 +1,72 @@
-