mirror of
https://github.com/moparisthebest/user_sql
synced 2024-11-24 18:12:20 -05:00
Update Settings for ownCloud 7 and fix a long-pending "checkbox" bug
This commit is contained in:
parent
ddc166e662
commit
d3397146a3
39
ajax/settings.php
Normal file
39
ajax/settings.php
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
// Init owncloud
|
||||
|
||||
// Check if we are a user
|
||||
OCP\User::checkAdminUser();
|
||||
OCP\JSON::checkAppEnabled('user_sql');
|
||||
|
||||
// CSRF checks
|
||||
OCP\JSON::callCheck();
|
||||
|
||||
$l = new OC_L10N('use_sql');
|
||||
|
||||
$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');
|
||||
|
||||
if (isset($_POST['appname']) && $_POST['appname'] == "user_sql") {
|
||||
foreach ($params as $param) {
|
||||
if (isset($_POST[$param])) {
|
||||
if ($param === 'strip_domain') {
|
||||
OCP\Config::setAppValue('user_sql', 'strip_domain', true);
|
||||
} else {
|
||||
OCP\Config::setAppValue('user_sql', $param, $_POST[$param]);
|
||||
}
|
||||
} else {
|
||||
if ($param === 'strip_domain') {
|
||||
OCP\Config::setAppValue('user_sql', 'strip_domain', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
OC_JSON::error(array("data" => 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;
|
14
css/settings.css
Normal file
14
css/settings.css
Normal file
@ -0,0 +1,14 @@
|
||||
.statusmessage {
|
||||
background-color: #DDDDFF;
|
||||
}
|
||||
.errormessage {
|
||||
background-color: #FFDDDD;
|
||||
}
|
||||
.successmessage {
|
||||
background-color: #DDFFDD;
|
||||
}
|
||||
.statusmessage,.errormessage,.successmessage{
|
||||
display:none;
|
||||
padding: 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();
|
||||
}
|
||||
});
|
||||
|
||||
|
15
settings.php
15
settings.php
@ -20,11 +20,16 @@
|
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
$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');
|
||||
$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){
|
||||
@ -38,6 +43,7 @@ if ($_POST) {
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// fill template
|
||||
$tmpl = new OCP\Template( 'user_sql', 'settings');
|
||||
@ -61,4 +67,9 @@ $tmpl->assign( 'default_domain', OCP\Config::getAppValue( 'user_sql', 'default_d
|
||||
$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();
|
||||
|
@ -1,9 +1,24 @@
|
||||
<form id="sql" action="#" method="post">
|
||||
<fieldset class="personalblock">
|
||||
<legend><?php echo $l->t('SQL'); ?></legend>
|
||||
<p><label for="sql_type"><?php echo $l->t('SQL Driver');?></label>
|
||||
<?php
|
||||
$ocVersion = $_['ocVersion'];
|
||||
$cfgClass = $ocVersion >= 7 ? 'section' : 'personalblock';
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<form id="sqlForm" action="#" method="post" class="<?php echo $cfgClass; ?>">
|
||||
|
||||
<div id="sql" class="<?php echo $cfgClass; ?>">
|
||||
<legend><strong><?php echo $l->t('SQL'); ?></strong></legend>
|
||||
<ul>
|
||||
<li><a id="sqlBasicSettings" href="#sql-1"><?php echo $l -> t('Database Settings'); ?></a></li>
|
||||
<li><a id="sqlAdvSettings" href="#sql-2"><?php echo $l->t('Advanced Settings'); ?></a></li>
|
||||
</ul>
|
||||
|
||||
<fieldset id="sql-1">
|
||||
<table>
|
||||
<tr><td><label for="sql_type"><?php echo $l->t('SQL Driver');?></label></td>
|
||||
<?php $db_driver = array('mysql' => 'MySQL', 'pgsql' => 'PostgreSQL');?>
|
||||
<select id="sql_type" name="sql_type">
|
||||
<td><select id="sql_type" name="sql_type">
|
||||
<?php
|
||||
foreach ($db_driver as $driver => $name):
|
||||
echo $_['sql_type'];
|
||||
@ -13,20 +28,24 @@
|
||||
<option value="<?php echo $driver; ?>"><?php echo $name; ?></option>
|
||||
<?php endif;
|
||||
endforeach; ?>
|
||||
</select>
|
||||
</p>
|
||||
</select></td>
|
||||
</tr>
|
||||
|
||||
<p><label for="sql_host"><?php echo $l->t('Host');?></label><input type="text" id="sql_host" name="sql_host" value="<?php echo $_['sql_host']; ?>"></p>
|
||||
<p><label for="sql_user"><?php echo $l->t('Username');?></label><input type="text" id="sql_user" name="sql_user" value="<?php echo $_['sql_user']; ?>" /></p>
|
||||
<p><label for="sql_database"><?php echo $l->t('Database');?></label><input type="text" id="sql_database" name="sql_database" value="<?php echo $_['sql_database']; ?>" /></p>
|
||||
<p><label for="sql_password"><?php echo $l->t('Password');?></label><input type="password" id="sql_password" name="sql_password" value="<?php echo $_['sql_password']; ?>" /></p>
|
||||
<p><label for="sql_table"><?php echo $l->t('Table');?></label><input type="text" id="sql_table" name="sql_table" value="<?php echo $_['sql_table']; ?>" /></p>
|
||||
<p><label for="sql_column_username"><?php echo $l->t('Username Column');?></label><input type="text" id="sql_column_username" name="sql_column_username" value="<?php echo $_['sql_column_username']; ?>" /></p>
|
||||
<p><label for="sql_column_password"><?php echo $l->t('Password Column');?></label><input type="text" id="sql_column_password" name="sql_column_password" value="<?php echo $_['sql_column_password']; ?>" /></p>
|
||||
<p><label for="sql_column_displayname"><?php echo $l->t('Real Name Column');?></label><input type="text" id="sql_column_displayname" name="sql_column_displayname" value="<?php echo $_['sql_column_displayname']; ?>" /></p>
|
||||
<p><label for="crypt_type"><?php echo $l->t('Encryption Type');?></label>
|
||||
<tr><td><label for="sql_host"><?php echo $l->t('Host');?></label></td><td><input type="text" id="sql_host" name="sql_host" value="<?php echo $_['sql_host']; ?>"></td></tr>
|
||||
<tr><td><label for="sql_user"><?php echo $l->t('Username');?></label></td><td><input type="text" id="sql_user" name="sql_user" value="<?php echo $_['sql_user']; ?>" /></td></tr>
|
||||
<tr><td><label for="sql_database"><?php echo $l->t('Database');?></label></td><td><input type="text" id="sql_database" name="sql_database" value="<?php echo $_['sql_database']; ?>" /></td></tr>
|
||||
<tr><td><label for="sql_password"><?php echo $l->t('Password');?></label></td><td><input type="password" id="sql_password" name="sql_password" value="<?php echo $_['sql_password']; ?>" /></td></tr>
|
||||
<tr><td><label for="sql_table"><?php echo $l->t('Table');?></label></td><td><input type="text" id="sql_table" name="sql_table" value="<?php echo $_['sql_table']; ?>" /></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<fieldset id="sql-2">
|
||||
<table>
|
||||
<tr><td><label for="sql_column_username"><?php echo $l->t('Username Column');?></label></td><td><input type="text" id="sql_column_username" name="sql_column_username" value="<?php echo $_['sql_column_username']; ?>" /></td></tr>
|
||||
<tr><td><label for="sql_column_password"><?php echo $l->t('Password Column');?></label></td><td><input type="text" id="sql_column_password" name="sql_column_password" value="<?php echo $_['sql_column_password']; ?>" /></td></tr>
|
||||
<tr><td><label for="sql_column_displayname"><?php echo $l->t('Real Name Column');?></label></td><td><input type="text" id="sql_column_displayname" name="sql_column_displayname" value="<?php echo $_['sql_column_displayname']; ?>" /></td></tr>
|
||||
<tr><td><label for="crypt_type"><?php echo $l->t('Encryption Type');?></label></td>
|
||||
<?php $crypt_types = array('md5' => 'MD5', 'md5crypt' => 'MD5 Crypt', 'cleartext' => 'Cleartext', 'mysql_encrypt' => 'mySQL ENCRYPT()', 'system' => 'System (crypt)', 'mysql_password' => 'mySQL PASSWORD()', 'joomla' => 'Joomla MD5 Encryption');?>
|
||||
<select id="crypt_type" name="crypt_type">
|
||||
<td><select id="crypt_type" name="crypt_type">
|
||||
<?php
|
||||
foreach ($crypt_types as $driver => $name):
|
||||
echo $_['crypt_type'];
|
||||
@ -36,12 +55,18 @@
|
||||
<option value="<?php echo $driver; ?>"><?php echo $name; ?></option>
|
||||
<?php endif;
|
||||
endforeach; ?>
|
||||
</select>
|
||||
</p>
|
||||
<p><label for="sql_column_active"><?php echo $l->t('User Active Column');?></label><input type="text" id="sql_column_active" name="sql_column_active" value="<?php echo $_['sql_column_active']; ?>" /></p>
|
||||
<p><label for="strip_domain"><?php echo $l->t('Strip Domain Part from Username');?></label><input type="checkbox" id="strip_domain" name="strip_domain" value="1"<?php if($_['strip_domain']) echo ' checked'; ?> title="Strip Domain Part from Username when logging in and retrieving username lists"></p>
|
||||
<p><label for="default_domain"><?php echo $l->t('Add default domain to Usernames');?></label><input type="text" id="default_domain" name="default_domain" value="<?php echo $_['default_domain']; ?>" /></p>
|
||||
<input type="hidden" name="requesttoken" value="<?php echo $_['requesttoken'] ?>" id="requesttoken" />
|
||||
<input type="submit" value="<?php echo $l->t('Save'); ?>" />
|
||||
</select></td>
|
||||
</tr>
|
||||
<tr><td><label for="sql_column_active"><?php echo $l->t('User Active Column');?></label></td><td><input type="text" id="sql_column_active" name="sql_column_active" value="<?php echo $_['sql_column_active']; ?>" /></td></tr>
|
||||
<tr><td><label for="strip_domain"><?php echo $l->t('Strip Domain Part from Username');?></label></td><td><input type="checkbox" id="strip_domain" name="strip_domain" value="1"<?php if($_['strip_domain']) echo ' checked'; ?> title="Strip Domain Part from Username when logging in and retrieving username lists"></td></tr>
|
||||
<tr><td><label for="default_domain"><?php echo $l->t('Add default domain to Usernames');?></label></td><td><input type="text" id="default_domain" name="default_domain" value="<?php echo $_['default_domain']; ?>" /></td></tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<input type="hidden" name="requesttoken" value="<?php echo $_['requesttoken'] ?>" id="requesttoken" />
|
||||
<input type="hidden" name="appname" value="user_sql" />
|
||||
<input id="sqlSubmit" type="submit" value="<?php echo $l->t('Save'); ?>" />
|
||||
<div id="sql_update_message" class="statusmessage"><?php echo $l->t('Saving...'); ?></div>
|
||||
<div id="sql_error_message" class="errormessage"></div>
|
||||
<div id="sql_success_message" class="successmessage"></div>
|
||||
</div>
|
||||
</form>
|
||||
|
Loading…
Reference in New Issue
Block a user