Commit of UI changes:

- Enhanced delete function for users and domains (soon for all)
- Fixed NavBar/Search bar quirks for smaller screens
- Fixed Functions Row display for smaller screens, generally cleaner look

Tested on IE8-10 (with IE Tester), latest versions of Firefox, Chrome.  Will soon test on Android and Apple devices.
This commit is contained in:
Remi S 2013-08-06 10:35:00 -04:00
parent 33871b21b7
commit 30388bd1c3
17 changed files with 269 additions and 132 deletions

View File

@ -64,18 +64,17 @@ class ControllerDomainDomain extends Controller {
if($this->model_domain_domain->addDomain($this->request->post['domain'], $this->request->post['mapped'], $ldap_id) == 1) {
$this->data['x'] = $this->data['text_successfully_added'];
} else {
$this->template = "common/error.tpl";
$this->data['errorstring'] = $this->data['text_failed_to_add'];
}
}
else {
$this->template = "common/error.tpl";
$this->data['errorstring'] = array_pop($this->error);
$this->data['errorstring'] = $this->data['text_error_message'];
$this->data['errors'] = $this->error;
$this->data['post'] = $this->request->post;
}
}
/* get list of current policies */
/* get list of domains */
$this->data['domains'] = $this->model_domain_domain->getDomains();
}
@ -98,20 +97,24 @@ class ControllerDomainDomain extends Controller {
private function validate() {
if(!isset($this->request->post['domain']) || strlen($this->request->post['domain']) < 3) {
$this->error['email'] = $this->data['text_invalid_data'];
$this->data['text_field_length'] = str_replace("?",3,$this->data['text_field_length']);
$this->error['domain'] = $this->data['text_field_length'];
}
else {
$domains = explode("\n", $this->request->post['domain']);
foreach ($domains as $domain) {
$domain = rtrim($domain);
if(!preg_match('/^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$/', $domain) ) {
$this->error['email'] = $this->data['text_invalid_data'] . ": $domain";
$this->error['domain'] = $this->data['text_field_domain'];
}
}
}
if(!isset($this->request->post['mapped']) || strlen($this->request->post['mapped']) < 3 || !preg_match('/^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$/', $this->request->post['mapped']) ) {
$this->error['domain'] = $this->data['text_invalid_data'] . ": " . $this->request->post['mapped'];
if(!isset($this->request->post['mapped']) || strlen($this->request->post['mapped']) < 3) {
$this->data['text_field_length'] = str_replace("?",3,$this->data['text_field_length']);
$this->error['mapped'] = $this->data['text_field_length'];
} elseif( !preg_match('/^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$/', $this->request->post['mapped']) ) {
$this->error['mapped'] = $this->data['text_field_domain'];
}
if (!$this->error) {

View File

@ -23,7 +23,7 @@ class ControllerDomainRemove extends Controller {
$this->data['username'] = Registry::get('username');
$this->data['domain'] = @$this->request->get['domain'];
$this->data['domain'] = @$this->request->get['name'];
$this->data['confirmed'] = (int)@$this->request->get['confirmed'];
@ -56,7 +56,7 @@ class ControllerDomainRemove extends Controller {
$this->error['admin'] = $this->data['text_you_are_not_admin'];
}
if(!isset($this->request->get['domain']) || strlen($this->request->get['domain']) < 3 || ($this->request->get['domain'] != "local" && !preg_match('/^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$/', $this->request->get['domain'])) ) {
if(!isset($this->request->get['name']) || strlen($this->request->get['name']) < 3 || ($this->request->get['domain'] != "local" && !preg_match('/^[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,5})$/', $this->request->get['name'])) ) {
$this->error['domain'] = $this->data['text_invalid_data'];
}

View File

@ -50,7 +50,8 @@ class ControllerUserAdd extends Controller {
}
}
else {
$this->data['errorstring'] = array_pop($this->error);
$this->data['errorstring'] = $this->data['text_error_message'];
$this->data['errors'] = $this->error;
}
if($ret == 0) {
@ -62,6 +63,7 @@ class ControllerUserAdd extends Controller {
}
else {
$this->data['next_user_id'] = $this->model_user_user->get_next_uid();
// not sure these are needed
$this->data['groups'] = $this->model_group_group->get_groups();
$this->data['folders'] = $this->model_folder_folder->get_folders();
}
@ -71,31 +73,32 @@ class ControllerUserAdd extends Controller {
$this->data['errorstring'] = $this->data['text_you_are_not_admin'];
}
$this->render();
}
private function validate() {
if(!isset($this->request->post['password']) || !isset($this->request->post['password2']) ) {
private function validate() {
//password is required and must be greater than the MIN_PASSWORD_LENGTH
if(!isset($this->request->post['password'])) {
$this->error['password'] = $this->data['text_missing_password'];
}
if(strlen(@$this->request->post['password']) < MIN_PASSWORD_LENGTH || strlen(@$this->request->post['password2']) < MIN_PASSWORD_LENGTH) {
} elseif (strlen(@$this->request->post['password']) < MIN_PASSWORD_LENGTH) {
$this->error['password'] = $this->data['text_too_short_password'];
}
if($this->request->post['password'] != $this->request->post['password2']) {
$this->error['password'] = $this->data['text_password_mismatch'];
//password2 is required and must be greater than the MIN_PASSWORD_LENGTH
if(!isset($this->request->post['password2'])) {
$this->error['password2'] = $this->data['text_missing_password'];
} elseif (strlen(@$this->request->post['password2']) < MIN_PASSWORD_LENGTH) {
$this->error['password2'] = $this->data['text_too_short_password'];
}
//passwords must match (put here to override the password2 missing message, if also present)
if($this->request->post['password'] != $this->request->post['password2']) {
$this->error['password2'] = $this->data['text_password_mismatch'];
}
//uid is required and must be numeric & 0 or greater
if(!isset($this->request->post['uid']) || !is_numeric($this->request->post['uid']) || $this->request->post['uid'] < 0) {
$this->error['uid'] = $this->data['text_invalid_uid'];
}
//email address is required and must be in the proper format
if(!isset($this->request->post['email']) || strlen($this->request->post['email']) < 3) {
$this->error['email'] = $this->data['text_invalid_email'];
}
@ -114,15 +117,15 @@ class ControllerUserAdd extends Controller {
}
}
}
//username is required and must be greater than 2 chars
if(!isset($this->request->post['username']) || strlen($this->request->post['username']) < 2) {
$this->error['username'] = $this->data['text_invalid_username'];
}
//username is required and must be unique
if(isset($this->request->post['username']) && $this->model_user_user->get_uid_by_name($this->request->post['username']) > 0) {
$this->error['username'] = $this->data['text_existing_user'];
}
//primary domain is required
if(!isset($this->request->post['domain'])) {
$this->error['domain'] = $this->data['text_missing_data'];
}

View File

@ -66,11 +66,11 @@ class ControllerUserEdit extends Controller {
$__username = $this->request->post['username'];
}
else {
$this->template = "common/error.tpl";
$this->data['errorstring'] = array_pop($this->error);
$this->data['errorstring'] = $this->data['text_error_message'];
$this->data['errors'] = $this->error;
}
}
else {
//else {
$this->data['user'] = $this->model_user_user->get_user_by_uid($this->data['uid']);
$this->data['user']['domains'] = $this->model_user_user->get_domains_by_uid($this->data['uid']);
@ -80,22 +80,28 @@ class ControllerUserEdit extends Controller {
$this->data['emails'] = $this->model_user_user->get_emails($this->data['user']['username']);
}
//}
}
else {
$this->template = "common/error.tpl";
$this->data['errorstring'] = $this->data['text_you_are_not_admin'];
}
$this->render();
}
private function validate() {
//if provided, the password must be greater than the MIN_PASSWORD_LENGTH
if(isset($this->request->post['password']) && strlen(@$this->request->post['password']) < MIN_PASSWORD_LENGTH) {
$this->error['password'] = $this->data['text_too_short_password'];
}
//if provided, the password2 must be greater than the MIN_PASSWORD_LENGTH
if(isset($this->request->post['password2']) && strlen(@$this->request->post['password2']) < MIN_PASSWORD_LENGTH) {
$this->error['password2'] = $this->data['text_too_short_password'];
}
if(isset($this->request->post['password']) && strlen(@$this->request->post['password']) > 1) {
if(strlen(@$this->request->post['password']) < MIN_PASSWORD_LENGTH || strlen(@$this->request->post['password2']) < MIN_PASSWORD_LENGTH) {

View File

@ -91,6 +91,9 @@ class ControllerUserList extends Controller {
$this->data['total_pages'] = floor($this->data['total_users'] / $this->data['page_len']);
$this->data['querystring'] = '';
if ($this->data['page'] != 1) { $this->data['querystring'] .= "&amp;page=".$this->data['page']; }
if (strlen($this->data['search']) > 0) { $this->data['querystring'] .= "&amp;search=".$this->data['search']; }
$this->render();
}

View File

@ -23,7 +23,7 @@ class ControllerUserRemove extends Controller {
$this->data['username'] = Registry::get('username');
$this->data['uid'] = (int)@$this->request->get['uid'];
$this->data['uid'] = (int)@$this->request->get['id'];
$this->data['user'] = @$this->request->get['user'];
$this->data['confirmed'] = (int)@$this->request->get['confirmed'];
@ -57,7 +57,7 @@ class ControllerUserRemove extends Controller {
$this->error['admin'] = $this->data['text_you_are_not_admin'];
}
if(!isset($this->request->get['uid']) || !is_numeric($this->request->get['uid']) || $this->request->get['uid'] < 1 ) {
if(!isset($this->request->get['id']) || !is_numeric($this->request->get['id']) || $this->request->get['id'] < 1 ) {
$this->error['username'] = $this->data['text_invalid_uid'];
}

View File

@ -432,4 +432,14 @@ $_['text_newest_record'] = 'Newest Record';
$_['text_items'] = 'Items';
$_['text_average_size'] = 'Avg size';
$_['text_return_to'] = 'Return to';
$_['text_error_message'] = 'Please correct the below errors and re-submit.';
$_['text_field_required'] = 'This field is required.';
$_['text_field_length'] = 'This field is required to be longer than ? characters.';
$_['text_field_domain'] = 'This field must be a valid domain (ie - domain.com).';
$_['text_delete'] = 'Delete';
$_['text_confirm'] = 'Confirm';
$_['text_user_delete_confirm_message'] = 'Do you wish to delete the user';
$_['text_domain_delete_confirm_message'] = 'Do you wish to delete the domain';
$_['text_with_selected'] = 'With Selected';
?>

View File

@ -1072,5 +1072,52 @@ $.datepicker.setDefaults($.datepicker.regional[Piler.piler_ui_lang]);
});
// modal additions
$(document).on("click", ".confirm-delete", function (e) {
e.preventDefault();
var id = $(this).data('id'),
name = $(this).data('name'),
url = $(".modal-footer #id").attr("href");
//set id
url = UpdateQueryString('id',id,url);
//set name
url = UpdateQueryString('name',name,url);
//set confirmation
url = UpdateQueryString('confirmed',1,url);
//set href
$(".modal-footer #id").attr("href",url);
//set display text
$(".modal-body #name").html( name );
//finally, display the confirm modal box
$('#deleteconfirm-modal').modal('show');
});
function UpdateQueryString(key, value, url) { // from http://stackoverflow.com/questions/5999118/add-or-update-query-string-parameter/11654596#11654596
if (!url) url = window.location.href;
var re = new RegExp("([?|&])" + key + "=.*?(&|#|$)(.*)", "gi");
if (re.test(url)) {
if (typeof value !== 'undefined' && value !== null)
return url.replace(re, '$1' + key + "=" + value + '$2$3');
else {
return url.replace(re, '$1$3').replace(/(&|\?)$/, '');
}
}
else {
if (typeof value !== 'undefined' && value !== null) {
var separator = url.indexOf('?') !== -1 ? '&' : '?',
hash = url.split('#');
url = hash[0] + separator + key + '=' + value;
if (hash[1]) url += '#' + hash[1];
return url;
}
else
return url;
}
}

View File

@ -35,14 +35,14 @@
<body onload="Piler.add_shortcuts();">
<div id="menu">
<?php print $menu; ?>
</div>
<div id="messagebox1" class="audit audit-info"></div>
<div id="piler1" class="container">
<div id="menu"><?php print $menu; ?></div>
<div id="searchcontainer">
<input type="hidden" name="searchtype" id="searchtype" value="expert" />
@ -50,18 +50,17 @@
<input type="hidden" name="order" id="order" value="0" />
<div class="control-group">
<div class="controls">
<label for="_search">Search</label>
<div class="input-append">
<input type="text" id="_search" name="_search" placeholder="<?php print $text_enter_search_terms; ?>" />
<button id="button_search" class="btn btn-large btn-danger" onclick="Piler.auditexpert(this);"><i class="icon-search icon-large"></i>&nbsp;<?php print $text_search; ?></button>
<div class="controls row-fluid">
<div id="input-span" class="span8">
<label for="_search">Search</label>
<input type="text" id="_search" name="_search" placeholder="<?php print $text_enter_search_terms; ?>" />
</div>
<div class="span4 input-append">
<button id="button_search" class="btn btn-large btn-danger" onclick="Piler.auditexpert(this);"><i class="icon-search icon-large"></i>&nbsp;<?php print $text_search; ?></button>
</div>
</div>
</div>
</div>
</div>
</div>
<div id="mainscreen">
<div id="mailleftcontainer">

View File

@ -36,14 +36,13 @@
<body onload="Piler.add_shortcuts();">
<div id="menu">
<?php print $menu; ?>
</div>
<div id="messagebox1" class="alert alert-info lead"></div>
<div id="piler1" class="container-fluid">
<div id="menu">
<?php print $menu; ?>
</div>
<div id="searchcontainer">
<input type="hidden" name="searchtype" id="searchtype" value="expert" />
<input type="hidden" name="sort" id="sort" value="date" />
@ -52,14 +51,15 @@
<input type="hidden" name="prefix" id="prefix" value="" />
<div class="control-group">
<div class="controls">
<label for="_search">Search</label>
<div class="input-append">
<div class="controls row-fluid">
<div id="input-span" class="span6">
<label for="_search">Search</label>
<input type="text" id="_search" name="_search" placeholder="<?php print $text_enter_search_terms; ?>" />
<div class="btn-group">
</div>
<div class="span6 input-append btn-group">
<button id="button_search" class="btn btn-large btn-danger" onclick="Piler.expert(this);"><i class="icon-search icon-large"></i>&nbsp;<?php print $text_search; ?></button>
<button id="button_expert" class="btn btn-large btn-inverse" onclick="$('#searchpopup1').show();"><?php print $text_advanced_search; ?> &nbsp;<span class="caret"></span></button>
<button class="btn btn-large btn-inverse dropdown-toggle" data-toggle="dropdown"><?php print $text_options; ?> &nbsp;<span class="caret"></span></button>
<button id="button_options" class="btn btn-large btn-inverse dropdown-toggle" data-toggle="dropdown"><?php print $text_options; ?> &nbsp;<span class="caret"></span></button>
<ul class="dropdown-menu">
<li><a href="#" onclick="Piler.saved_search_terms('<?php print $text_saved; ?>');"><?php print $text_save; ?></a></li>
<li><a href="#" onclick="Piler.load_saved_search_terms();"><?php print $text_load; ?></a></li>

View File

@ -41,9 +41,12 @@ if(isset($this->request->get['route'])) {
} ?>>
<div id="menu">
<?php print $menu; ?>
</div>
<div id="piler1" class="container">
<div id="menu"><?php print $menu; ?></div>
<div id="main">

View File

@ -1,21 +1,38 @@
<div id="deleteconfirm-modal" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" role="dialog" aria-hidden="true"><i class="icon-remove"></i></button>
<h3><?php print $text_confirm; ?> <?php print $text_delete; ?></h3>
</div>
<div class="modal-body">
<p><?php print $text_domain_delete_confirm_message; ?> <span id="name">ERROR</span>?</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal" aria-hidden="true"><?php print $text_close; ?></a>
<a href="index.php?route=domain/remove&amp;id=-1&amp;name=Error&amp;confirmed=0" class="btn btn-primary" id="id"><?php print $text_delete; ?></a>
</div>
</div>
<h4><?php print $text_add_new_domain; ?></h4>
<?php if(isset($errorstring)){ ?><div class="alert alert-danger"><?php print $text_error; ?>: <?php print $errorstring; ?></div><?php } ?>
<?php if(isset($x)){ ?>
<div class="alert alert-info"><?php print $x; ?></div>
<div class="alert alert-success"><?php print $x; ?></div>
<?php } ?>
<form method="post" name="add1" action="index.php?route=domain/domain" class="form-horizontal">
<div class="control-group">
<div class="control-group<?php if(isset($errors['domain'])){ print " error"; } ?>">
<label class="control-label" for="domain"><?php print $text_domain; ?>:</label>
<div class="controls">
<input type="text" class="text" name="domain" placeholder="Domain" />
<input type="text" class="text" name="domain" placeholder="Domain"<?php if(isset($post['domain'])){ echo " value='".$post['domain']."'"; } ?> />
<?php if ( isset($errors['domain']) ) { ?><span class="help-inline"><?php print $errors['domain']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['mapped'])){ print " error"; } ?>">
<label class="control-label" for="mapped"><?php print $text_mapped_domain; ?>:</label>
<div class="controls">
<input type="text" class="text" name="mapped" placeholder="Mapped Domain" />
<input type="text" class="text" name="mapped" placeholder="Mapped Domain"<?php if(isset($post['mapped'])){ echo " value='".$post['mapped']."'"; } ?> />
<?php if ( isset($errors['mapped']) ) { ?><span class="help-inline"><?php print $errors['mapped']; ?></span><?php } ?>
</div>
</div>
@ -43,26 +60,27 @@
<div class="listarea">
<?php if(isset($domains)){ ?>
<?php if(isset($domains) && count($domains) > 0){ ?>
<table id="ss1" class="table table-striped table-condensed">
<tr>
<th class="domaincell"><?php print $text_domain; ?></th>
<th class="domaincell"><?php print $text_mapped_domain; ?></th>
<th><?php print $text_domain; ?></th>
<th><?php print $text_mapped_domain; ?></th>
<th>&nbsp;</th>
<?php if(ENABLE_SAAS == 1) { ?>
<th class="domaincell"><?php print $text_ldap; ?></th>
<th><?php print $text_ldap; ?></th>
<?php } ?>
<th class="domaincell">&nbsp;</th>
<th>&nbsp;</th>
</tr>
<?php foreach($domains as $domain) { ?>
<tr>
<td class="domaincell"><a href="index.php?route=user/list&search=@<?php print $domain['domain']; ?>"><?php print $domain['domain']; ?></a></td>
<td class="domaincell"><?php print $domain['mapped']; ?></td>
<td><a href="index.php?route=user/list&search=@<?php print $domain['domain']; ?>"><?php print $domain['domain']; ?></a></td>
<td><?php print $domain['mapped']; ?></td>
<?php if(ENABLE_SAAS == 1) { ?>
<td class="domaincell"><?php print $domain['ldap']; ?></td>
<td><?php print $domain['ldap']; ?></td>
<?php } ?>
<td class="domaincell"><a href="index.php?route=domain/remove&amp;domain=<?php print urlencode($domain['domain']); ?>" onclick="javascript:confirm('Delete Domain','Delete','Cancel','<?php print urlencode($domain['domain']); ?>')"><?php print $text_remove; ?></a></td>
<td><a href="index.php?route=domain/remove&amp;id=1&amp;name=<?php print urlencode($domain['domain']); ?>" class="confirm-delete" data-id="1" data-name="<?php print urlencode($domain['domain']); ?>"><?php print $text_remove; ?></a></td>
</tr>
<?php } ?>

View File

@ -1,13 +1,14 @@
<p>
<div>
<?php if($confirmed){ ?>
<?php print $x; ?>. <a href="index.php?route=domain/domain"><?php print $text_back; ?></a>
<div class="alert alert-success"><?php print $x; ?>.</div>
<p><a href="index.php?route=domain/domain"><i class="icon-circle-arrow-left"></i>&nbsp;<?php print $text_back; ?></a></p>
<?php } else { ?>
<a href="index.php?route=domain/remove&amp;domain=<?php print $domain; ?>&amp;confirmed=1"><?php print $text_remove_domain; ?>: <?php print $domain; ?></a>
<p><a href="index.php?route=domain/domain"><i class="icon-circle-arrow-left"></i>&nbsp;<?php print $text_back; ?></a> | <a href="index.php?route=domain/remove&amp;domain=<?php print $domain; ?>&amp;confirmed=1"><i class="icon-remove-sign"></i>&nbsp;<?php print $text_remove_this_user; ?>: <?php print $user; ?></a></p>
<?php } ?>
</p>
</div>

View File

@ -113,7 +113,8 @@
</div>
<div id="messagelistfooter" class="boxfooter">
<div id="pagingrow" class="pull-left">
<div class="row-fluid">
<div id="pagingrow" class="span2">
<?php if($n > 0){ ?>
&nbsp;
<?php if($page > 0) { ?><a href="#" class="navlink" onclick="Piler.navigation(0);"><i class="icon-double-angle-left icon-large"></i></a><?php } else { ?><span class="navlink"><i class="icon-double-angle-left icon-large muted"></i></span><?php } ?>
@ -128,17 +129,16 @@
&nbsp;
<?php } else { print $text_none_found; } ?>
</div>
<div id="functionrow" class="pull-right">
<div id="functionrow" class="span10">
<input type="hidden" id="tag_keys" name="tag_keys" value="<?php print $all_ids; ?>" />
<input type="hidden" id="_ref" name="_ref" value="<?php if(isset($_ref)) { print $_ref; } ?>" />
<span id="tagbox" class="input-prepend input-append">
<span class="add-on"><i class="icon-tags icon-large" title="Tag"></i>&nbsp;<?php print $text_tag_selected_messages; ?>:</span>
<div id="tagbox" class="input-prepend input-append pull-right">
<span class="add-on">With Selected:&nbsp;</span>
<a href="#" class="btn btn-custom btn-inverse" onclick="Piler.bulk_restore_messages('<?php print $text_restored; ?>'); " title="<?php print $text_bulk_restore_selected_emails; ?>"><i class="icon-share-alt"></i></a>
<a href="#" class="btn btn-custom btn-inverse" onclick="Piler.download_messages();" title="<?php print $text_bulk_download; ?>"><i class="icon-download-alt"></i></a>
<input type="text" id="tag_value" name="tag_value" class="tagtext" />
<input type="button" class="btn btn-info" onclick="Piler.tag_search_results('<?php print $text_tagged; ?>');" value="Tag" />
</span>
<input type="button" class="btn btn-custom btn-inverse" value="<?php print $text_bulk_restore_selected_emails; ?>" onclick="Piler.bulk_restore_messages('<?php print $text_restored; ?>'); " />&nbsp;
<?php if(Registry::get('auditor_user') == 1 || BULK_DOWNLOAD_FOR_USERS == 1) { ?>
<input type="button" class="btn btn-custom btn-inverse" value="<?php print $text_bulk_download; ?>" onclick="Piler.download_messages();" />
<?php } ?>
</div>
<a href="#" class="btn btn-custom btn-inverse" onclick="Piler.tag_search_results('Tagged');" title="<?php print $text_tag_selected_messages; ?>"><i class="icon-tags" title="Tag"></i></a>
</div>
</div>
</div>
</div>

View File

@ -12,50 +12,55 @@
<form action="index.php?route=user/add" name="adduser" method="post" autocomplete="off" class="form-horizontal">
<div class="control-group">
<div class="control-group<?php if(isset($errors['email'])){ print " error"; } ?>">
<input type="hidden" name="uid" value="<?php print $next_user_id; ?>" />
<label class="control-label" for="email"><?php print $text_email_addresses; ?>:</label>
<div class="controls">
<textarea name="email"><?php if(isset($post['email'])){ print $post['email']; } ?></textarea>
<textarea name="email" id="email"><?php if(isset($post['email'])){ print $post['email']; } ?></textarea>
<?php if ( isset($errors['email']) ) { ?><span class="help-inline"><?php print $errors['email']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['username'])){ print " error"; } ?>">
<label class="control-label" for="username"><?php print $text_username; ?>:</label>
<div class="controls">
<input type="text" name="username" value="<?php if(isset($post['username'])){ print $post['username']; } ?>" class="text" />
<input type="text" name="username" id="username" <?php if(isset($post['username'])){ print 'value="'.$post['username'].'" '; } ?>class="text" />
<?php if ( isset($errors['username']) ) { ?><span class="help-inline"><?php print $errors['username']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['realname'])){ print " error"; } ?>">
<label class="control-label" for="realname"><?php print $text_realname; ?>:</label>
<div class="controls">
<input type="text" name="realname" value="<?php if(isset($post['realname'])){ print $post['realname']; } ?>" class="text" />
<input type="text" name="realname" id="realname" <?php if(isset($post['realname'])){ print 'value="'.$post['realname'].'" '; } ?>class="text" />
<?php if ( isset($errors['realname']) ) { ?><span class="help-inline"><?php print $errors['realname']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['domain'])){ print " error"; } ?>">
<label class="control-label" for="domain"><?php print $text_domain; ?>:</label>
<div class="controls">
<select name="domain">
<select name="domain" id="domain">
<?php asort($domains); foreach ($domains as $domain) { ?>
<option value="<?php if(is_array($domain)){ print $domain['mapped']; } else { print $domain; } ?>"<?php if( (isset($post) && $domain == $post['domain']) || (!isset($post) && isset($_SESSION['last_domain']) && $domain == $_SESSION['last_domain']) ){ ?> selected="selected"<?php } ?>><?php if(is_array($domain)){ print $domain['mapped']; } else { print $domain; } ?></option>
<?php } ?>
</select>
<?php if ( isset($errors['domain']) ) { ?><span class="help-inline"><?php print $errors['domain']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<label class="control-label" for="s_piler_domains"><?php print $text_search_domains; ?>*:</label>
<div class="controls">
<input type="text" id="s_piler_domain" name="s_piler_domain" placeholder="<?php print $text_search_domain_to_add; ?>" class="autocompletetext" />
<input type="text" id="s_piler_domains" name="s_piler_domains" placeholder="<?php print $text_search_domain_to_add; ?>" class="autocompletetext" />
</div>
</div>
<div class="control-group">
<label class="control-label" for="group"><?php print $text_domains; ?>**:</label>
<div class="control-group<?php if(isset($errors['domains'])){ print " error"; } ?>">
<label class="control-label" for="domains"><?php print $text_domains; ?>**:</label>
<div class="controls">
<textarea style="height:80px;" name="domains" id="domains"><?php if(isset($post['domains'])){ print $post['domains']; } ?></textarea>
<?php if ( isset($errors['domains']) ) { ?><span class="help-inline"><?php print $errors['domains']; ?></span><?php } ?>
</div>
</div>
@ -66,10 +71,11 @@
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['group'])){ print " error"; } ?>">
<label class="control-label" for="group"><?php print $text_groups; ?>**:</label>
<div class="controls">
<textarea style="height:80px;" name="group" id="group"><?php if(isset($post['group'])){ print $post['group']; } ?></textarea>
<?php if ( isset($errors['group']) ) { ?><span class="help-inline"><?php print $errors['group']; ?></span><?php } ?>
</div>
</div>
@ -80,40 +86,45 @@
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['folder'])){ print " error"; } ?>">
<label class="control-label" for="folder"><?php print $text_folders; ?>**:</label>
<div class="controls">
<textarea style="height:80px;" name="folder" id="folder"><?php if(isset($post['folder'])){ print $post['folder']; } ?></textarea>
<?php if ( isset($errors['folder']) ) { ?><span class="help-inline"><?php print $errors['folder']; ?></span><?php } ?>
</div>
</div>
<?php if(ENABLE_LDAP_IMPORT_FEATURE == 1) { ?>
<div class="control-group">
<div class="control-group<?php if(isset($errors['dn'])){ print " error"; } ?>">
<label class="control-label" for="dn">LDAP DN:</label>
<div class="controls">
<input type="text" name="dn" value="<?php if(isset($post['dn'])){ print $post['dn']; } ?>" class="text" /><br /> (<?php print $text_dn_asterisk_means_skip_sync; ?>)
<input type="text" name="dn" id="dn" <?php if(isset($post['dn'])){ print 'value="'.$post['dn'].'" '; } ?>class="text" />
<?php if ( isset($errors['dn']) ) { ?><span class="help-inline"><?php print $errors['dn']; ?></span><?php } ?>
<br /> (<?php print $text_dn_asterisk_means_skip_sync; ?>)
</div>
</div>
<?php } ?>
<div class="control-group">
<div class="control-group<?php if(isset($errors['password'])){ print " error"; } ?>">
<label class="control-label" for="password"><?php print $text_password; ?>:</label>
<div class="controls">
<input type="password" name="password" value="" class="text" />
<input type="password" name="password" id="password" value="" class="text" />
<?php if ( isset($errors['password']) ) { ?><span class="help-inline"><?php print $errors['password']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['password2'])){ print " error"; } ?>">
<label class="control-label" for="password2"><?php print $text_password_again; ?>:</label>
<div class="controls">
<input type="password" name="password2" value="" class="text" />
<input type="password" name="password2" id="password2" value="" class="text" />
<?php if ( isset($errors['password2']) ) { ?><span class="help-inline"><?php print $errors['password2']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<label class="control-label" for="isadmin"><?php print $text_admin_user; ?>:</label>
<div class="controls">
<select name="isadmin">
<select name="isadmin" id="isadmin">
<option value="0"<?php if(isset($post['isadmin']) && $post['isadmin'] == 0){ ?> selected="selected"<?php } ?>><?php print $text_user_regular; ?></option>
<?php if(Registry::get('admin_user') == 1) { ?><option value="1"<?php if(isset($post['isadmin']) && $post['isadmin'] == 1){ ?> selected="selected"<?php } ?>><?php print $text_user_masteradmin; ?></option><?php } ?>
<option value="2"<?php if(isset($post['isadmin']) && $post['isadmin'] == 2){ ?> selected="selected"<?php } ?>><?php print $text_user_auditor; ?></option>

View File

@ -1,3 +1,16 @@
<div id="deleteconfirm-modal" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" role="dialog" aria-hidden="true"><i class="icon-remove"></i></button>
<h3><?php print $text_confirm; ?> <?php print $text_delete; ?></h3>
</div>
<div class="modal-body">
<p><?php print $text_user_delete_confirm_message; ?> <span id="name">ERROR</span>?</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal" aria-hidden="true"><?php print $text_close; ?></a>
<a href="index.php?route=user/remove&amp;id=-1&amp;name=Error&amp;confirmed=0" class="btn btn-primary" id="id"><?php print $text_delete; ?></a>
</div>
</div>
<?php if(isset($errorstring)){ ?><div class="alert alert-danger"><?php print $text_error; ?>: <?php print $errorstring; ?></div><?php } ?>
@ -8,32 +21,35 @@
<?php } elseif(isset($user)) { ?>
<p><a href="index.php?route=user/list"><i class="icon-circle-arrow-left"></i>&nbsp;<?php print $text_back; ?></a> | <a href="index.php?route=user/remove&amp;uid=<?php print $user['uid']; ?>&amp;user=<?php print $user['username']; ?>"><i class="icon-remove-sign"></i>&nbsp;<?php print $text_remove_this_user; ?>: <?php print $user['username']; ?></a></p>
<p><a href="index.php?route=user/list"><i class="icon-circle-arrow-left"></i>&nbsp;<?php print $text_back; ?></a> | <a href="index.php?route=user/remove&amp;id=<?php print $user['uid']; ?>&amp;user=<?php print $user['username']; ?>" class="confirm-delete" data-id="<?php print $user['uid']; ?>" data-name="<?php print $user['realname']; ?>"><i class="icon-remove-sign"></i>&nbsp;<?php print $text_remove_this_user; ?>: <?php print $user['username']; ?></a></p>
<form action="index.php?route=user/edit" name="edituser" method="post" autocomplete="off" class="form-horizontal">
<div class="control-group">
<div class="control-group<?php if(isset($errors['email'])){ print " error"; } ?>">
<input type="hidden" name="uid" value="<?php print $uid; ?>" />
<label class="control-label" for="email"><?php print $text_email_addresses; ?>:</label>
<div class="controls">
<textarea name="email"><?php print $emails; ?></textarea>
<?php if ( isset($errors['email']) ) { ?><span class="help-inline"><?php print $errors['email']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['username'])){ print " error"; } ?>">
<label class="control-label" for="username"><?php print $text_username; ?>:</label>
<div class="controls">
<input type="text" name="username" value="<?php print $user['username']; ?>" class="text" />
<?php if ( isset($errors['username']) ) { ?><span class="help-inline"><?php print $errors['username']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['realname'])){ print " error"; } ?>">
<label class="control-label" for="realname"><?php print $text_realname; ?>:</label>
<div class="controls">
<input type="text" name="realname" value="<?php print $user['realname']; ?>" class="text" />
<?php if ( isset($errors['realname']) ) { ?><span class="help-inline"><?php print $errors['realname']; ?></span><?php } ?>
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['domain'])){ print " error"; } ?>">
<label class="control-label" for="domain"><?php print $text_domain; ?>:</label>
<div class="controls">
<select name="domain">
@ -51,7 +67,7 @@
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['domains'])){ print " error"; } ?>">
<label class="control-label" for="group"><?php print $text_domains; ?>**:</label>
<div class="controls">
<textarea style="height:80px;" name="domains" id="domains"><?php if(isset($user['domains'])){ print $user['domains']; } ?></textarea>
@ -65,7 +81,7 @@
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['group'])){ print " error"; } ?>">
<label class="control-label" for="group"><?php print $text_groups; ?>**:</label>
<div class="controls">
<textarea style="height:80px;" name="group" id="group"><?php if(isset($user['group'])){ print $user['group']; } ?></textarea>
@ -79,7 +95,7 @@
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['folder'])){ print " error"; } ?>">
<label class="control-label" for="folder"><?php print $text_folders; ?>**:</label>
<div class="controls">
<textarea style="height:80px;" name="folder" id="folder"><?php if(isset($user['folder'])){ print $user['folder']; } ?></textarea>
@ -87,7 +103,7 @@
</div>
<?php if(ENABLE_LDAP_IMPORT_FEATURE == 1) { ?>
<div class="control-group">
<div class="control-group<?php if(isset($errors['dn'])){ print " error"; } ?>">
<label class="control-label" for="dn">LDAP DN:</label>
<div class="controls">
<input type="text" name="dn" value="<?php print $user['dn']; ?>" class="text" /><br /> (<?php print $text_dn_asterisk_means_skip_sync; ?>)
@ -95,14 +111,14 @@
</div>
<?php } ?>
<div class="control-group">
<div class="control-group<?php if(isset($errors['password'])){ print " error"; } ?>">
<label class="control-label" for="password"><?php print $text_password; ?>:</label>
<div class="controls">
<input type="password" name="password" value="" class="text" />
</div>
</div>
<div class="control-group">
<div class="control-group<?php if(isset($errors['password2'])){ print " error"; } ?>">
<label class="control-label" for="password2"><?php print $text_password_again; ?>:</label>
<div class="controls">
<input type="password" name="password2" value="" class="text" />

View File

@ -1,3 +1,17 @@
<div id="deleteconfirm-modal" class="modal hide fade">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" role="dialog" aria-hidden="true"><i class="icon-remove"></i></button>
<h3><?php print $text_confirm; ?> <?php print $text_delete; ?></h3>
</div>
<div class="modal-body">
<p><?php print $text_user_delete_confirm_message; ?> <span id="name">ERROR</span>?</p>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal" aria-hidden="true"><?php print $text_close; ?></a>
<a href="index.php?route=user/remove&amp;id=-1&amp;name=Error&amp;confirmed=0" class="btn btn-primary" id="id"><?php print $text_delete; ?></a>
</div>
</div>
<form method="post" name="search1" action="index.php?route=user/list" class="form-inline pull-right">
<div class="input-append">
<input type="text" name="search" class="input-medium" value="<?php print $search; ?>" />
@ -9,7 +23,7 @@
<h4><?php print $text_existing_users; ?></h4>
<?php if(isset($users)){ ?>
<?php if(isset($users) && is_array($users)){ ?>
<div id="pagenav">
<?php if($page > 0){ ?><a href="index.php?route=user/list&amp;page=0&amp;search=<?php print $search; ?>&amp;sort=<?php print $sort; ?>&amp;order=<?php print $order; ?>" class="navlink"><?php } ?><i class="icon-double-angle-left"></i><?php if($page > 0){ ?></a><?php } ?>
@ -25,17 +39,20 @@
<table class="table table-striped table-condensed" id="ss1">
<tr class="domainrow">
<th><?php print $text_realname; ?> <a href="index.php?route=user/list&amp;sort=realname&amp;order=0"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=realname&amp;order=1"><i class="icon-chevron-down"></i></a></th>
<th><?php print $text_email; ?> <a href="index.php?route=user/list&amp;sort=email&amp;order=0"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=email&amp;order=1"><i class="icon-chevron-down"></i></a></th>
<th><?php print $text_role; ?> <a href="index.php?route=user/list&amp;sort=role&amp;order=0"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=role&amp;order=1"><i class="icon-chevron-down"></i></a></th>
<th><?php print $text_realname; ?> <a href="index.php?route=user/list&amp;sort=realname&amp;order=0<?php print $querystring; ?>"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=realname&amp;order=1<?php print $querystring; ?>"><i class="icon-chevron-down"></i></a></th>
<th><?php print $text_username; ?> <a href="index.php?route=user/list&amp;sort=username&amp;order=0<?php print $querystring; ?>"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=username&amp;order=1<?php print $querystring; ?>"<?php print $querystring; ?>><i class="icon-chevron-down"></i></a></th>
<th><?php print $text_email; ?> <a href="index.php?route=user/list&amp;sort=email&amp;order=0"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=email&amp;order=1<?php print $querystring; ?>"><i class="icon-chevron-down"></i></a></th>
<th><?php print $text_role; ?> <a href="index.php?route=user/list&amp;sort=role&amp;order=0"><i class="icon-chevron-up"></i> <a href="index.php?route=user/list&amp;sort=role&amp;order=1<?php print $querystring; ?>"><i class="icon-chevron-down"></i></a></th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
<?php foreach($users as $user) { ?>
<tr class="domainrow">
<td class="domaincell"><?php print $user['realname']; ?></td>
<td class="domaincell"><?php if($user['email'] != $user['shortemail']){ ?><span><?php print $user['shortemail']; ?></span><?php } else { print $user['email']; } ?></td>
<td class="domaincell">
<td><?php print $user['realname']; ?></td>
<td><?php print $user['username']; ?></td>
<td><?php if($user['email'] != $user['shortemail']){ ?><span><?php print $user['shortemail']; ?></span><?php } else { print $user['email']; } ?></td>
<td>
<?php
if($user['isadmin'] == 0){ print $text_user_regular; }
if($user['isadmin'] == 1){ print $text_user_masteradmin; }
@ -43,13 +60,13 @@
if($user['isadmin'] == 3){ print $text_user_read_only_admin; }
?>
</td>
<td class="domaincell"><a href="index.php?route=user/edit&amp;uid=<?php print $user['uid']; ?>"><?php print $text_edit_or_view; ?></a></td>
<td><a href="index.php?route=user/edit&amp;uid=<?php print $user['uid']; ?>"><i class="icon-edit"></i>&nbsp;<?php print $text_edit_or_view; ?></a></td>
<td><a href="index.php?route=user/remove&amp;id=<?php print $user['uid']; ?>&amp;user=<?php print $user['username']; ?>" class="confirm-delete" data-id="<?php print $user['uid']; ?>" data-name="<?php print $user['realname']; ?>"><i class="icon-remove-sign"></i>&nbsp;Delete</a></td>
</tr>
<?php } ?>
</table>
<div id="pagenav">
<?php if($page > 0){ ?><a href="index.php?route=user/list&amp;page=0&amp;search=<?php print $search; ?>&amp;sort=<?php print $sort; ?>&amp;order=<?php print $order; ?>" class="navlink"><?php } ?><i class="icon-double-angle-left"></i><?php if($page > 0){ ?></a><?php } ?>
&nbsp;