From 404c729302f2536edb1cc9aebf63d9e89753438e Mon Sep 17 00:00:00 2001
From: Till Brehm <tbrehm@ispconfig.org>
Date: Fri, 22 Apr 2016 03:41:06 -0400
Subject: [PATCH] Fixed 404 problem in HHVM PHP mode.
---
interface/web/mail/form/xmpp_domain.tform.php | 334 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 241 insertions(+), 93 deletions(-)
diff --git a/interface/web/mail/form/xmpp_domain.tform.php b/interface/web/mail/form/xmpp_domain.tform.php
index cc1765f..095c72f 100644
--- a/interface/web/mail/form/xmpp_domain.tform.php
+++ b/interface/web/mail/form/xmpp_domain.tform.php
@@ -55,6 +55,20 @@
$form["auth_preset"]["perm_group"] = 'riud'; //r = read, i = insert, u = update, d = delete
$form["auth_preset"]["perm_other"] = ''; //r = read, i = insert, u = update, d = delete
+$muc_available = $muc_pastebin_available = $muc_httparchive_available = $anon_available = $vjud_available = $proxy_available = $status_available = true;
+if(!$app->auth->is_admin()) {
+ $client_group_id = $_SESSION["s"]["user"]["default_group"];
+ $client = $app->db->queryOneRecord("SELECT limit_xmpp_muc, limit_xmpp_anon, limit_xmpp_vjud, limit_xmpp_proxy, limit_xmpp_status, limit_xmpp_pastebin, limit_xmpp_httparchive FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
+
+ if($client['limit_xmpp_muc'] != 'y') $muc_available = false;
+ if($client['limit_xmpp_pastebin'] != 'y' || $client['limit_xmpp_muc'] != 'y') $muc_pastebin_available = false;
+ if($client['limit_xmpp_httparchive'] != 'y' || $client['limit_xmpp_muc'] != 'y') $muc_httparchive_available = false;
+ if($client['limit_xmpp_anon'] != 'y') $anon_available = false;
+ if($client['limit_xmpp_vjud'] != 'y') $vjud_available = false;
+ if($client['limit_xmpp_proxy'] != 'y') $proxy_available= false;
+ if($client['limit_xmpp_status'] != 'y') $status_available = false;
+}
+
$form["tabs"]['domain'] = array (
'title' => "Domain",
'width' => 100,
@@ -98,11 +112,11 @@
'maxlength' => '255',
'searchable' => 1
),
- 'auth_method' => array (
+ 'management_method' => array (
'datatype' => 'VARCHAR',
'formtype' => 'SELECT',
- 'default' => '1',
- 'value' => array(0 => 'Plain', 1 => 'Hashed', 2 => 'By Email Mailbox')
+ 'default' => '0',
+ 'value' => array(0 => 'Normal', 1 => 'By Mail Domain')
),
'public_registration' => array (
'datatype' => 'VARCHAR',
@@ -125,13 +139,13 @@
'registration_message' => array(
'datatype' => 'TEXT',
'formtype' => 'TEXT',
- 'default' => "Please visit our website for information on registration.",
+ 'default' => "",
'value' => ''
),
'domain_admins' => array(
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'default' => 'admin@service.com, superuser@service.com',
+ 'default' => '',
'value' => '',
'width' => '15',
'maxlength' => '3'
@@ -149,7 +163,6 @@
)
);
-
$form["tabs"]['features'] = array (
'title' => "Modules",
'width' => 100,
@@ -158,121 +171,256 @@
//#################################
// Begin Datatable fields
//#################################
- 'use_anon_host' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
'use_pubsub' => array (
'datatype' => 'VARCHAR',
'formtype' => 'CHECKBOX',
'default' => 'y',
'value' => array(0 => 'n', 1 => 'y')
- ),
- 'use_vjud' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'vjud_opt_mode' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '0',
- 'value' => array(0 => 'Opt-In', 1 => 'Opt-Out')
- ),
- 'use_proxy' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'use_status_host' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
+ )
//#################################
// ENDE Datatable fields
//#################################
)
);
+if($anon_available)
+ $form['tabs']['features']['fields']['use_anon_host'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+if($vjud_available){
+ $form['tabs']['features']['fields']['use_vjud'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+ $form['tabs']['features']['fields']['vjud_opt_mode'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'SELECT',
+ 'default' => '0',
+ 'value' => array(0 => 'Opt-In', 1 => 'Opt-Out')
+ );
+}
-$form["tabs"]['muc'] = array (
- 'title' => "MUC",
+if($proxy_available)
+ $form['tabs']['features']['fields']['use_proxy'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+if($status_available)
+ $form['tabs']['features']['fields']['use_status_host'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+
+
+if($muc_available)
+ $form["tabs"]['muc'] = array (
+ 'title' => "MUC",
+ 'width' => 100,
+ 'template' => "templates/xmpp_domain_edit_muc.htm",
+ 'fields' => array (
+ //#################################
+ // Begin Datatable fields
+ //#################################
+ 'use_muc_host' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ ),
+ 'muc_name' => array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => ''
+ ),
+ 'muc_restrict_room_creation' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'SELECT',
+ 'default' => '1',
+ 'value' => array(0 => 'Everyone', 1 => 'Members', 2 => 'Admins')
+ ),
+ 'muc_admins' => array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => 'admin@service.com, superuser@service.com',
+ 'value' => '',
+ 'width' => '15',
+ 'maxlength' => '3'
+ ),
+ //#################################
+ // ENDE Datatable fields
+ //#################################
+ )
+ );
+if($muc_available && $muc_pastebin_available){
+ $form['tabs']['muc']['fields']['use_pastebin'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+ $form['tabs']['muc']['fields']['pastebin_expire_after'] = array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => '48',
+ 'validators' => array(0 => array('type' => 'ISINT'),
+ array('type'=>'RANGE', 'range'=>'1:168')
+ ),
+ 'value' => '',
+ 'width' => '15'
+ );
+ $form['tabs']['muc']['fields']['pastebin_trigger'] = array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => '!paste',
+ 'value' => '',
+ 'width' => '15'
+ );
+}
+if($muc_available && $muc_httparchive_available){
+ $form['tabs']['muc']['fields']['use_http_archive'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+ $form['tabs']['muc']['fields']['http_archive_show_join'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+ $form['tabs']['muc']['fields']['http_archive_show_status'] = array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'CHECKBOX',
+ 'default' => 'y',
+ 'value' => array(0 => 'n', 1 => 'y')
+ );
+}
+
+$form["tabs"]['ssl'] = array (
+ 'title' => "SSL",
'width' => 100,
- 'template' => "templates/xmpp_domain_edit_muc.htm",
+ 'template' => "templates/xmpp_domain_edit_ssl.htm",
+ 'readonly' => false,
'fields' => array (
//#################################
// Begin Datatable fields
//#################################
- 'use_muc_host' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'muc_name' => array(
+ 'ssl_state' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'default' => ''
- ),
- 'muc_restrict_room_creation' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'SELECT',
- 'default' => '1',
- 'value' => array(0 => 'Everyone', 1 => 'Members', 2 => 'Admins')
- ),
- 'muc_admins' => array(
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'default' => 'admin@service.com, superuser@service.com',
- 'value' => '',
- 'width' => '15',
- 'maxlength' => '3'
- ),
- 'use_pastebin' => array (
- 'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
- ),
- 'pastebin_expire_after' => array(
- 'datatype' => 'VARCHAR',
- 'formtype' => 'TEXT',
- 'default' => '48',
- 'validators' => array(0 => array('type' => 'ISINT'),
- array('type'=>'RANGE', 'range'=>'1:168')
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/',
+ 'errmsg'=> 'ssl_state_error_regex'),
),
- 'value' => '',
- 'width' => '15'
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
),
- 'pastebin_trigger' => array(
+ 'ssl_locality' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'default' => '!paste',
- 'value' => '',
- 'width' => '15'
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/',
+ 'errmsg'=> 'ssl_locality_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
),
- 'use_http_archive' => array (
+ 'ssl_organisation' => array (
'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/',
+ 'errmsg'=> 'ssl_organisation_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
),
- 'http_archive_show_join' => array (
+ 'ssl_organisation_unit' => array (
'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
+ 'formtype' => 'TEXT',
+ 'validators' => array ( 0 => array ( 'type' => 'REGEX',
+ 'regex' => '/^(([\.]{0})|([-a-zA-Z0-9._,&äöüÄÖÜ ]{1,255}))$/',
+ 'errmsg'=> 'ssl_organistaion_unit_error_regex'),
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255'
),
- 'http_archive_show_status' => array (
+ 'ssl_country' => array (
'datatype' => 'VARCHAR',
- 'formtype' => 'CHECKBOX',
- 'default' => 'y',
- 'value' => array(0 => 'n', 1 => 'y')
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'datasource' => array ( 'type' => 'SQL',
+ 'querystring' => 'SELECT iso,printable_name FROM country ORDER BY printable_name',
+ 'keyfield'=> 'iso',
+ 'valuefield'=> 'printable_name'
+ ),
+ 'value' => ''
+ ),
+ 'ssl_email' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'default' => '',
+ 'value' => '',
+ 'width' => '30',
+ 'maxlength' => '255',
+ 'validators' => array ( 0 => array ( 'type' => 'ISEMAIL',
+ 'errmsg'=> 'ssl_error_isemail')
+ ),
+ ),
+ 'ssl_key' => array (
+ 'datatype' => 'TEXT',
+ 'formtype' => 'TEXTAREA',
+ 'default' => '',
+ 'value' => '',
+ 'cols' => '30',
+ 'rows' => '10'
+ ),
+ 'ssl_request' => array (
+ 'datatype' => 'TEXT',
+ 'formtype' => 'TEXTAREA',
+ 'default' => '',
+ 'value' => '',
+ 'cols' => '30',
+ 'rows' => '10'
+ ),
+ 'ssl_cert' => array (
+ 'datatype' => 'TEXT',
+ 'formtype' => 'TEXTAREA',
+ 'default' => '',
+ 'value' => '',
+ 'cols' => '30',
+ 'rows' => '10'
+ ),
+ 'ssl_bundle' => array (
+ 'datatype' => 'TEXT',
+ 'formtype' => 'TEXTAREA',
+ 'default' => '',
+ 'value' => '',
+ 'cols' => '30',
+ 'rows' => '10'
+ ),
+ 'ssl_action' => array (
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'SELECT',
+ 'default' => '',
+ 'value' => array('' => 'none_txt', 'save' => 'save_certificate_txt', 'create' => 'create_certificate_txt', 'del' => 'delete_certificate_txt')
),
//#################################
// ENDE Datatable fields
--
Gitblit v1.9.1