Add footable
This commit is contained in:
		
							parent
							
								
									51230f780f
								
							
						
					
					
						commit
						892f2197cb
					
				| @ -1 +1 @@ | ||||
| server_name logs.servercow.de autodiscover.* autoconfig.*; | ||||
| server_name mail.develcow.de autodiscover.* autoconfig.*; | ||||
|  | ||||
| @ -4422,7 +4422,7 @@ function mailbox_get_resource_details($resource) { | ||||
|     $resourcedata['name'] = $row['username']; | ||||
|     $resourcedata['kind'] = $row['kind']; | ||||
|     $resourcedata['multiple_bookings'] = $row['multiple_bookings']; | ||||
|     $resourcedata['multiple_bookings_int'] = $row['multiple_bookings']; | ||||
|     $resourcedata['multiple_bookings_int'] = $row['multiple_bookings_int']; | ||||
|     $resourcedata['description'] = $row['name']; | ||||
|     $resourcedata['active'] = $row['active']; | ||||
|     $resourcedata['active_int'] = $row['active_int']; | ||||
|  | ||||
| @ -15,6 +15,7 @@ | ||||
| <link rel="stylesheet" href="/css/bootstrap-select.min.css"> | ||||
| <link rel="stylesheet" href="/css/bootstrap-slider.min.css"> | ||||
| <link rel="stylesheet" href="/css/bootstrap-switch.min.css"> | ||||
| <link rel="stylesheet" href="/css/footable.bootstrap.min.css"> | ||||
| <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700&subset=latin,latin-ext"> | ||||
| <link rel="stylesheet" href="/inc/languages.min.css"> | ||||
| <link rel="stylesheet" href="/css/mailcow.css"> | ||||
|  | ||||
| @ -28,22 +28,23 @@ $(document).ready(function() { | ||||
|         item.quota = humanFileSize(item.quota_used_in_domain) + " / " + humanFileSize(item.max_quota_for_domain); | ||||
|         item.max_quota_for_mbox = humanFileSize(item.max_quota_for_mbox); | ||||
|         item.action = '<div class="btn-group">' + | ||||
|           '<a href="/edit.php?domain=' + item.domain_name + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> Edit</a>' + | ||||
|           '<a href="/delete.php?domain=' + item.domain_name + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> Remove</a>' + | ||||
|           '<a href="/edit.php?domain=' + item.domain_name + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' + | ||||
|           '<a href="/delete.php?domain=' + item.domain_name + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' + | ||||
| 					'</div>'; | ||||
|       }); | ||||
|       $('#domain_table').footable({ | ||||
|         "columns": [ | ||||
|           {"sorted": true,"name":"domain_name","title":lang_domain}, | ||||
|           {"name":"aliases","title":lang_aliases,"breakpoints":"xs sm"}, | ||||
|           {"name":"mailboxes","title":lang_mailboxes}, | ||||
|           {"name":"quota","title":lang_domain_quota}, | ||||
|           {"name":"max_quota_for_mbox","title":lang_mailbox_quota}, | ||||
|           {"name":"backupmx","title":lang_backup_mx,"breakpoints":"xs sm"}, | ||||
|           {"name":"active","title":lang_active,"breakpoints":"xs sm"}, | ||||
|           {"name":"action","type":"html","title":lang_action,"breakpoints":"xs sm"} | ||||
|           {"sorted": true,"name":"domain_name","title":lang.domain,"style":{"width":"250px"}}, | ||||
|           {"name":"aliases","title":lang.aliases,"breakpoints":"xs sm"}, | ||||
|           {"name":"mailboxes","title":lang.mailboxes}, | ||||
|           {"name":"quota","title":lang.domain_quota}, | ||||
|           {"name":"max_quota_for_mbox","title":lang.mailbox_quota}, | ||||
|           {"name":"backupmx","title":lang.backup_mx,"breakpoints":"xs sm"}, | ||||
|           {"name":"active","style":{"maxWidth":"50px","width":"70px"},"title":lang.active}, | ||||
|           {"name":"action","sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"} | ||||
|         ], | ||||
|         "rows": data, | ||||
|         "empty": lang.empty, | ||||
|         "paging": { | ||||
|           "enabled": true, | ||||
|           "limit": 5, | ||||
| @ -51,7 +52,8 @@ $(document).ready(function() { | ||||
|         }, | ||||
|         "filtering": { | ||||
|           "enabled": true, | ||||
|           "position": "left" | ||||
|           "position": "left", | ||||
|           "placeholder": lang.search | ||||
|         }, | ||||
|         "sorting": { | ||||
|           "enabled": true | ||||
| @ -72,8 +74,8 @@ $(document).ready(function() { | ||||
|         item.quota = humanFileSize(item.quota_used) + " / " + humanFileSize(item.quota); | ||||
|         item.max_quota_for_mbox = humanFileSize(item.max_quota_for_mbox); | ||||
|         item.action = '<div class="btn-group">' + | ||||
|           '<a href="/edit.php?mailbox=' + item.username + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> Edit</a>' + | ||||
|           '<a href="/delete.php?mailbox=' + item.username + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> Remove</a>' + | ||||
|           '<a href="/edit.php?mailbox=' + item.username + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' + | ||||
|           '<a href="/delete.php?mailbox=' + item.username + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' + | ||||
| 					'</div>'; | ||||
|         item.in_use = '<div class="progress">' + | ||||
| 				  '<div class="progress-bar progress-bar-' + item.percent_class + ' role="progressbar" aria-valuenow="' + item.percent_in_use + '" aria-valuemin="0" aria-valuemax="100" ' + | ||||
| @ -82,16 +84,17 @@ $(document).ready(function() { | ||||
|       }); | ||||
|       $('#mailbox_table').footable({ | ||||
|         "columns": [ | ||||
|           {"sorted": true,"name":"username","title":lang_username}, | ||||
|           {"name":"name","title":lang_fname,"breakpoints":"xs sm"}, | ||||
|           {"name":"domain","title":lang_domain}, | ||||
|           {"name":"quota","title":lang_domain_quota}, | ||||
|           {"name":"spam_aliases","title":lang_spam_aliases}, | ||||
|           {"name":"in_use","type":"html","title":lang_in_use}, | ||||
|           {"name":"messages","title":lang_msg_num,"breakpoints":"xs sm"}, | ||||
|           {"name":"active","title":lang_active,"breakpoints":"xs sm"}, | ||||
|           {"name":"action","type":"html","title":lang_action,"breakpoints":"xs sm"} | ||||
|           {"sorted": true,"name":"username","title":lang.username,"style":{"width":"250px"}}, | ||||
|           {"name":"name","title":lang.fname,"breakpoints":"xs sm"}, | ||||
|           {"name":"domain","title":lang.domain}, | ||||
|           {"name":"quota","title":lang.domain_quota}, | ||||
|           {"name":"spam_aliases","title":lang.spam_aliases}, | ||||
|           {"name":"in_use","type":"html","title":lang.in_use}, | ||||
|           {"name":"messages","title":lang.msg_num,"breakpoints":"xs sm"}, | ||||
|           {"name":"active","style":{"maxWidth":"50px","width":"70px"},"title":lang.active}, | ||||
|           {"name":"action","sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"} | ||||
|         ], | ||||
|         "empty": lang.empty, | ||||
|         "rows": data, | ||||
|         "paging": { | ||||
|           "enabled": true, | ||||
| @ -100,7 +103,8 @@ $(document).ready(function() { | ||||
|         }, | ||||
|         "filtering": { | ||||
|           "enabled": true, | ||||
|           "position": "left" | ||||
|           "position": "left", | ||||
|           "placeholder": lang.search | ||||
|         }, | ||||
|         "sorting": { | ||||
|           "enabled": true | ||||
| @ -109,4 +113,130 @@ $(document).ready(function() { | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   $.ajax({ | ||||
|     dataType: 'json', | ||||
|     url: '/json_api.php?action=resource_table_data', | ||||
|     jsonp: false, | ||||
|     error: function () { | ||||
|       alert('Cannot receive history'); | ||||
|     }, | ||||
|     success: function (data) { | ||||
|       $.each(data, function (i, item) { | ||||
|         item.action = '<div class="btn-group">' + | ||||
|           '<a href="/edit.php?resource=' + item.name + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' + | ||||
|           '<a href="/delete.php?resource=' + item.name + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' + | ||||
| 					'</div>'; | ||||
|       }); | ||||
|       $('#resources_table').footable({ | ||||
|         "columns": [ | ||||
|           {"sorted": true,"name":"description","title":lang.description,"style":{"width":"250px"}}, | ||||
|           {"name":"kind","title":lang.kind,"breakpoints":"xs sm"}, | ||||
|           {"name":"domain","title":lang.domain}, | ||||
|           {"name":"multiple_bookings","title":lang.multiple_bookings}, | ||||
|           {"name":"domain","title":lang.domain}, | ||||
|           {"name":"active","style":{"maxWidth":"50px","width":"70px"},"title":lang.active}, | ||||
|           {"name":"action","sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"} | ||||
|         ], | ||||
|         "empty": lang.empty, | ||||
|         "rows": data, | ||||
|         "paging": { | ||||
|           "enabled": true, | ||||
|           "limit": 5, | ||||
|           "size": 25 | ||||
|         }, | ||||
|         "filtering": { | ||||
|           "enabled": true, | ||||
|           "position": "left", | ||||
|           "placeholder": lang.search | ||||
|         }, | ||||
|         "sorting": { | ||||
|           "enabled": true | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   $.ajax({ | ||||
|     dataType: 'json', | ||||
|     url: '/json_api.php?action=domain_alias_table_data', | ||||
|     jsonp: false, | ||||
|     error: function () { | ||||
|       alert('Cannot receive history'); | ||||
|     }, | ||||
|     success: function (data) { | ||||
|       $.each(data, function (i, item) { | ||||
|         item.action = '<div class="btn-group">' + | ||||
|           '<a href="/edit.php?aliasdomain=' + item.alias_domain + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' + | ||||
|           '<a href="/delete.php?aliasdomain=' + item.alias_domain + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' + | ||||
| 					'</div>'; | ||||
|       }); | ||||
|       $('#aliasdomain_table').footable({ | ||||
|         "columns": [ | ||||
|           {"sorted": true,"name":"alias_domain","title":lang.alias,"style":{"width":"250px"}}, | ||||
|           {"name":"target_domain","title":lang.target_domain,"breakpoints":"xs sm"}, | ||||
|           {"name":"active","style":{"maxWidth":"50px","width":"70px"},"title":lang.active}, | ||||
|           {"name":"action","sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"} | ||||
|         ], | ||||
|         "empty": lang.empty, | ||||
|         "rows": data, | ||||
|         "paging": { | ||||
|           "enabled": true, | ||||
|           "limit": 5, | ||||
|           "size": 25 | ||||
|         }, | ||||
|         "filtering": { | ||||
|           "enabled": true, | ||||
|           "position": "left", | ||||
|           "placeholder": lang.search | ||||
|         }, | ||||
|         "sorting": { | ||||
|           "enabled": true | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| 
 | ||||
|   $.ajax({ | ||||
|     dataType: 'json', | ||||
|     url: '/json_api.php?action=alias_table_data', | ||||
|     jsonp: false, | ||||
|     error: function () { | ||||
|       alert('Cannot receive history'); | ||||
|     }, | ||||
|     success: function (data) { | ||||
|       $.each(data, function (i, item) { | ||||
|         if (item.is_catch_all == 1) { | ||||
|           item.address = '<div class="label label-default">Catch-All</div> ' + item.address; | ||||
|         } | ||||
|         item.action = '<div class="btn-group">' + | ||||
|           '<a href="/edit.php?alias=' + item.address + '" class="btn btn-xs btn-default"><span class="glyphicon glyphicon-pencil"></span> ' + lang.edit + '</a>' + | ||||
|           '<a href="/delete.php?alias=' + item.address + '" class="btn btn-xs btn-danger"><span class="glyphicon glyphicon-trash"></span> ' + lang.remove + '</a>' + | ||||
| 					'</div>'; | ||||
|       }); | ||||
|       $('#alias_table').footable({ | ||||
|         "columns": [ | ||||
|           {"sorted": true,"name":"address","title":lang.alias,"style":{"width":"250px"}}, | ||||
|           {"name":"goto","title":lang.target_address}, | ||||
|           {"name":"domain","title":lang.domain}, | ||||
|           {"name":"active","style":{"maxWidth":"50px","width":"70px"},"title":lang.active}, | ||||
|           {"name":"action","sortable": false,"style":{"text-align":"right","maxWidth":"180px","width":"180px"},"type":"html","title":lang.action,"breakpoints":"xs sm"} | ||||
|         ], | ||||
|         "empty": lang.empty, | ||||
|         "rows": data, | ||||
|         "paging": { | ||||
|           "enabled": true, | ||||
|           "limit": 5, | ||||
|           "size": 5 | ||||
|         }, | ||||
|         "filtering": { | ||||
|           "enabled": true, | ||||
|           "position": "left", | ||||
|           "placeholder": lang.search | ||||
|         }, | ||||
|         "sorting": { | ||||
|           "enabled": true | ||||
|         } | ||||
|       }); | ||||
|     } | ||||
|   }); | ||||
| }); | ||||
|  | ||||
| @ -2,13 +2,104 @@ | ||||
| require_once 'inc/prerequisites.inc.php'; | ||||
| error_reporting(E_ALL); | ||||
| if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_username'])) { | ||||
|   if ($_GET['action'] && $_GET['object']) { | ||||
|   if (isset($_GET['action'])) { | ||||
|     $action = $_GET['action']; | ||||
|     $object = $_GET['object']; | ||||
|     switch ($action) { | ||||
|       case "domain_table_data": | ||||
|         $domains = mailbox_get_domains(); | ||||
|         if (!empty($domains)) { | ||||
|           foreach ($domains as $domain) { | ||||
|             $data[] = mailbox_get_domain_details($domain); | ||||
|           } | ||||
|           if (!isset($data) || empty($data)) { | ||||
|             echo '{}'; | ||||
|           } | ||||
|           else { | ||||
|             echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); | ||||
|           } | ||||
|         } | ||||
|         break; | ||||
|       case "mailbox_table_data": | ||||
|         $domains = mailbox_get_domains(); | ||||
|         if (!empty($domains)) { | ||||
|           foreach ($domains as $domain) { | ||||
|             $mailboxes = mailbox_get_mailboxes($domain); | ||||
|             if (!empty($mailboxes)) { | ||||
|               foreach ($mailboxes as $mailbox) { | ||||
|                 $data[] = mailbox_get_mailbox_details($mailbox); | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|           if (!isset($data) || empty($data)) { | ||||
|             echo '{}'; | ||||
|           } | ||||
|           else { | ||||
|             echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); | ||||
|           } | ||||
|         } | ||||
|         break; | ||||
|       case "resource_table_data": | ||||
|         $domains = mailbox_get_domains(); | ||||
|         if (!empty($domains)) { | ||||
|           foreach ($domains as $domain) { | ||||
|             $resources = mailbox_get_resources($domain); | ||||
|             if (!empty($resources)) { | ||||
|               foreach ($resources as $resource) { | ||||
|                 $data[] = mailbox_get_resource_details($resource); | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|           if (!isset($data) || empty($data)) { | ||||
|             echo '{}'; | ||||
|           } | ||||
|           else { | ||||
|             echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); | ||||
|           } | ||||
|         } | ||||
|         break; | ||||
|       case "domain_alias_table_data": | ||||
|         $domains = mailbox_get_domains(); | ||||
|         if (!empty($domains)) { | ||||
|           foreach ($domains as $domain) { | ||||
|             $alias_domains = mailbox_get_alias_domains($domain); | ||||
|             if (!empty($alias_domains)) { | ||||
|               foreach ($alias_domains as $alias_domain) { | ||||
|                 $data[] = mailbox_get_alias_domain_details($alias_domain); | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|           if (!isset($data) || empty($data)) { | ||||
|             echo '{}'; | ||||
|           } | ||||
|           else { | ||||
|             echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); | ||||
|           } | ||||
|         } | ||||
|         break; | ||||
|       case "alias_table_data": | ||||
|         $domains = array_merge(mailbox_get_domains(), mailbox_get_alias_domains()); | ||||
|         if (!empty($domains)) { | ||||
|           foreach ($domains as $domain) { | ||||
|             $aliases = mailbox_get_aliases($domain); | ||||
|             if (!empty($aliases)) { | ||||
|               foreach ($aliases as $alias) { | ||||
|                 $data[] = mailbox_get_alias_details($alias); | ||||
|               } | ||||
|             } | ||||
|           } | ||||
|           if (!isset($data) || empty($data)) { | ||||
|             echo '{}'; | ||||
|           } | ||||
|           else { | ||||
|             echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); | ||||
|           } | ||||
|         } | ||||
|         break; | ||||
|       case "get_mailbox_details": | ||||
|         if (!isset($_GET['object'])) { return false; } | ||||
|         $object = $_GET['object']; | ||||
|         $data = mailbox_get_mailbox_details($object); | ||||
|         if (!$data || empty($data)) { | ||||
|         if (!isset($data) || empty($data)) { | ||||
|           echo '{}'; | ||||
|         } | ||||
|         else { | ||||
| @ -16,8 +107,10 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u | ||||
|         } | ||||
|         break; | ||||
|       case "get_domain_details": | ||||
|         if (!isset($_GET['object'])) { return false; } | ||||
|         $object = $_GET['object']; | ||||
|         $data = mailbox_get_domain_details($object); | ||||
|         if (!$data || empty($data)) { | ||||
|         if (!isset($data) || empty($data)) { | ||||
|           echo '{}'; | ||||
|         } | ||||
|         else { | ||||
| @ -25,6 +118,8 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u | ||||
|         } | ||||
|         break; | ||||
|       case "get_u2f_reg_challenge": | ||||
|         if (!isset($_GET['object'])) { return false; } | ||||
|         $object = $_GET['object']; | ||||
|         if ( | ||||
|           ($_SESSION["mailcow_cc_role"] == "admin" || $_SESSION["mailcow_cc_role"] == "domainadmin") | ||||
|           && | ||||
| @ -40,6 +135,8 @@ if (isset($_SESSION['mailcow_cc_role']) || isset($_SESSION['pending_mailcow_cc_u | ||||
|         } | ||||
|         break; | ||||
|       case "get_u2f_auth_challenge": | ||||
|         if (!isset($_GET['object'])) { return false; } | ||||
|         $object = $_GET['object']; | ||||
|         if (isset($_SESSION['pending_mailcow_cc_username']) && $_SESSION['pending_mailcow_cc_username'] == $object) { | ||||
|           $reqs = json_encode($u2f->getAuthenticateData(get_u2f_registrations($object))); | ||||
|           $_SESSION['authReq']  = $reqs; | ||||
|  | ||||
| @ -5,6 +5,15 @@ if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "adm | ||||
| require_once "inc/header.inc.php"; | ||||
| $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; | ||||
| ?>
 | ||||
| <style> | ||||
| table.footable>tbody>tr.footable-empty>td { | ||||
|   font-size:15px !important; | ||||
|   font-style:italic; | ||||
| } | ||||
| .pagination a { | ||||
|   text-decoration: none !important; | ||||
| } | ||||
| </style> | ||||
| <div class="container"> | ||||
| 	<div class="row"> | ||||
| 		<div class="col-md-12"> | ||||
| @ -36,9 +45,9 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; | ||||
| 						<a href="/add.php?mailbox"><span class="glyphicon glyphicon-plus"></span></a> | ||||
| 					</div> | ||||
| 				</div> | ||||
|           <div class="table-responsive"> | ||||
|             <table id="mailbox_table" class="table table-striped"></table> | ||||
|           </div> | ||||
|         <div class="table-responsive"> | ||||
|           <table id="mailbox_table" class="table table-striped"></table> | ||||
|         </div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| @ -51,11 +60,9 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; | ||||
| 						<a href="/add.php?resource"><span class="glyphicon glyphicon-plus"></span></a> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="panel-body"> | ||||
|           <div class="table-responsive"> | ||||
|             <table id="resources_table" class="table table-striped"></table> | ||||
|           </div> | ||||
| 				</div> | ||||
|         <div class="table-responsive"> | ||||
|           <table id="resources_table" class="table table-striped"></table> | ||||
|         </div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| @ -68,11 +75,9 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; | ||||
| 						<a href="/add.php?aliasdomain"><span class="glyphicon glyphicon-plus"></span></a> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="panel-body"> | ||||
|           <div class="table-responsive"> | ||||
|             <table id="aliasdomain_table" class="table table-striped"></table> | ||||
|           </div> | ||||
| 				</div> | ||||
|         <div class="table-responsive"> | ||||
|           <table id="aliasdomain_table" class="table table-striped"></table> | ||||
|         </div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| @ -86,28 +91,18 @@ $_SESSION['return_to'] = $_SERVER['REQUEST_URI']; | ||||
| 						<a href="/add.php?alias"><span class="glyphicon glyphicon-plus"></span></a> | ||||
| 					</div> | ||||
| 				</div> | ||||
| 				<div class="panel-body"> | ||||
|           <div class="table-responsive"> | ||||
|             <table id="alias_table" class="table table-striped"></table> | ||||
|           </div> | ||||
| 				</div> | ||||
|         <div class="table-responsive"> | ||||
|           <table id="alias_table" class="table table-striped"></table> | ||||
|         </div> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 	</div> | ||||
| </div> <!-- /container --> | ||||
| <script> | ||||
| var lang_domain = '<?=$lang['mailbox']['domain'];?>'; | ||||
| var lang_aliases = '<?=$lang['mailbox']['aliases'];?>'; | ||||
| var lang_mailboxes = '<?=$lang['mailbox']['mailboxes'];?>'; | ||||
| var lang_mailbox_quota = '<?=$lang['mailbox']['mailbox_quota'];?>'; | ||||
| var lang_domain_quota = '<?=$lang['mailbox']['domain_quota'];?>'; | ||||
| var lang_backup_mx = '<?=$lang['mailbox']['backup_mx'];?>'; | ||||
| var lang_active = '<?=$lang['mailbox']['active'];?>'; | ||||
| var lang_username = '<?=$lang['mailbox']['username'];?>'; | ||||
| var lang_fname = '<?=$lang['mailbox']['fname'];?>'; | ||||
| var lang_spam_aliases = '<?=$lang['mailbox']['spam_aliases'];?>'; | ||||
| var lang_in_use = '<?=$lang['mailbox']['in_use'];?>'; | ||||
| var lang_msg_num = '<?=$lang['mailbox']['msg_num'];?>'; | ||||
| <script type='text/javascript'> | ||||
| <?php | ||||
| $lang_mailbox = json_encode($lang['mailbox']); | ||||
| echo "var lang = ". $lang_mailbox . ";\n"; | ||||
| ?>
 | ||||
| </script> | ||||
| <script src="js/footable.min.js"></script> | ||||
| <script src="js/mailbox.js"></script> | ||||
|  | ||||
| @ -261,6 +261,9 @@ networks: | ||||
| 
 | ||||
| volumes: | ||||
|   vmail-vol-1: | ||||
|     driver: nfs | ||||
|     driver_opts: | ||||
|       share: io.servercow.de:/nfs_test | ||||
|   mysql-vol-1: | ||||
|   dkim-vol-1: | ||||
|   redis-vol-1: | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 root
						root