From 94c9617ebd5497ae8801a0c6e4b30999fcf23872 Mon Sep 17 00:00:00 2001 From: Till Brehm Date: Fri, 10 Jan 2014 15:17:39 +0100 Subject: [PATCH] - Added support for reseller templates. - Resellers can use templates for their clients. --- .../lib/classes/client_templates.inc.php | 4 +- .../lib/classes/custom_datasource.inc.php | 2 +- interface/web/client/client_edit.php | 5 ++ interface/web/client/client_template_edit.php | 12 +++ .../web/client/form/client_template.tform.php | 14 ++++ interface/web/client/lib/lang/ar.lng | 3 +- interface/web/client/lib/lang/bg.lng | 3 +- interface/web/client/lib/lang/br.lng | 3 +- interface/web/client/lib/lang/cz.lng | 3 +- interface/web/client/lib/lang/de.lng | 3 +- interface/web/client/lib/lang/el.lng | 3 +- interface/web/client/lib/lang/en.lng | 3 +- interface/web/client/lib/lang/es.lng | 3 +- interface/web/client/lib/lang/fi.lng | 3 +- interface/web/client/lib/lang/fr.lng | 3 +- interface/web/client/lib/lang/hr.lng | 3 +- interface/web/client/lib/lang/hu.lng | 3 +- interface/web/client/lib/lang/id.lng | 3 +- interface/web/client/lib/lang/ja.lng | 3 +- interface/web/client/lib/lang/nl.lng | 3 +- interface/web/client/lib/lang/pl.lng | 3 +- interface/web/client/lib/lang/pt.lng | 3 +- interface/web/client/lib/lang/ro.lng | 3 +- interface/web/client/lib/lang/ru.lng | 3 +- interface/web/client/lib/lang/se.lng | 3 +- interface/web/client/lib/lang/sk.lng | 3 +- interface/web/client/lib/lang/tr.lng | 3 +- interface/web/client/lib/module.conf.php | 15 ++++ interface/web/client/reseller_edit.php | 47 ++++++++++- .../client/templates/client_edit_limits.htm | 9 +-- .../templates/client_template_edit_limits.htm | 8 +- .../client/templates/reseller_edit_limits.htm | 79 +++++++++++++++---- 32 files changed, 211 insertions(+), 50 deletions(-) diff --git a/interface/lib/classes/client_templates.inc.php b/interface/lib/classes/client_templates.inc.php index bdf9b167f8..64beb9eb53 100644 --- a/interface/lib/classes/client_templates.inc.php +++ b/interface/lib/classes/client_templates.inc.php @@ -106,9 +106,10 @@ class client_templates { /* * Get the master-template for the client */ - $sql = "SELECT template_master, template_additional FROM client WHERE client_id = " . $app->functions->intval($clientId); + $sql = "SELECT template_master, template_additional,limit_client FROM client WHERE client_id = " . $app->functions->intval($clientId); $record = $app->db->queryOneRecord($sql); $masterTemplateId = $record['template_master']; + $is_reseller = ($record['limit_client'] > 0)?true:false; if($record['template_additional'] != '') { // we have to call the update_client_templates function @@ -222,6 +223,7 @@ class client_templates { * Write all back to the database */ $update = ''; + if(!$is_reseller) unset($limits['limit_client']); // Only Resellers may have limit_client set in template to ensure that we do not convert a client to reseller accidently. foreach($limits as $k => $v){ if ((strpos($k, 'limit') !== false or $k == 'ssh_chroot' or $k == 'web_php_options' or $k == 'force_suexec') && !is_array($v)){ if ($update != '') $update .= ', '; diff --git a/interface/lib/classes/custom_datasource.inc.php b/interface/lib/classes/custom_datasource.inc.php index 5fa0e9ecb0..f8b11bd86c 100644 --- a/interface/lib/classes/custom_datasource.inc.php +++ b/interface/lib/classes/custom_datasource.inc.php @@ -32,7 +32,7 @@ class custom_datasource { function master_templates($field, $record) { global $app, $conf; - $records = $app->db->queryAllRecords("SELECT template_id,template_name FROM client_template WHERE template_type ='m'"); + $records = $app->db->queryAllRecords("SELECT template_id,template_name FROM client_template WHERE template_type ='m' and ".$app->tform->getAuthSQL('r')); $records_new[0] = $app->lng('Custom'); foreach($records as $rec) { $key = $rec['template_id']; diff --git a/interface/web/client/client_edit.php b/interface/web/client/client_edit.php index 402b0db4c1..2e4f94355f 100644 --- a/interface/web/client/client_edit.php +++ b/interface/web/client/client_edit.php @@ -92,6 +92,11 @@ class page_action extends tform_actions { } } } + + //* Resellers shall not be able to create another reseller + if($_SESSION["s"]["user"]["typ"] == 'user') { + $this->dataRecord['limit_client'] = 0; + } if($this->id != 0) { $this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $this->id); diff --git a/interface/web/client/client_template_edit.php b/interface/web/client/client_template_edit.php index d956faf98c..5a379ee657 100644 --- a/interface/web/client/client_template_edit.php +++ b/interface/web/client/client_template_edit.php @@ -51,6 +51,18 @@ $app->load('tform_actions'); class page_action extends tform_actions { + + function onSubmit() { + global $app; + + //* Resellers shall not be able to create another reseller + if($_SESSION["s"]["user"]["typ"] == 'user') { + $this->dataRecord['limit_client'] = 0; + } + + parent::onSubmit(); + } + function onBeforeUpdate() { global $app; diff --git a/interface/web/client/form/client_template.tform.php b/interface/web/client/form/client_template.tform.php index ecf61f7af0..f9d9f6b2c0 100644 --- a/interface/web/client/form/client_template.tform.php +++ b/interface/web/client/form/client_template.tform.php @@ -101,6 +101,20 @@ $form["tabs"]['limits'] = array ( //################################# // Begin Datatable fields //################################# + 'limit_client' => array ( + 'datatype' => 'INTEGER', + 'formtype' => 'TEXT', + 'validators' => array ( 0 => array ( 'type' => 'ISINT', + 'errmsg'=> 'limit_client_error_notint'), + ), + 'default' => '1', + 'value' => '', + 'separator' => '', + 'width' => '10', + 'maxlength' => '10', + 'rows' => '', + 'cols' => '' + ), 'limit_maildomain' => array ( 'datatype' => 'INTEGER', 'formtype' => 'TEXT', diff --git a/interface/web/client/lib/lang/ar.lng b/interface/web/client/lib/lang/ar.lng index 88e0f8fa70..bb03af82b7 100644 --- a/interface/web/client/lib/lang/ar.lng +++ b/interface/web/client/lib/lang/ar.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limits'; $wb['Add Client'] = 'Add Client'; $wb['Edit Client'] = 'Edit Client'; $wb['Clients'] = 'Clients'; -$wb['Edit Client-Templates'] = 'Edit Client-Templates'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Add Reseller'; $wb['Edit Reseller'] = 'Edit Reseller'; $wb['Resellers'] = 'Resellers'; diff --git a/interface/web/client/lib/lang/bg.lng b/interface/web/client/lib/lang/bg.lng index e4417305c0..836fc56d96 100644 --- a/interface/web/client/lib/lang/bg.lng +++ b/interface/web/client/lib/lang/bg.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Ограничения'; $wb['Add Client'] = 'Добавяне на клиент'; $wb['Edit Client'] = 'Редактиране на клиент'; $wb['Clients'] = 'Клиенти'; -$wb['Edit Client-Templates'] = 'Редактирай Клиентски-Шаблон'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Добави дистрибутор'; $wb['Edit Reseller'] = 'Редактирай дистрибутор'; $wb['Resellers'] = 'Дистрибутори'; diff --git a/interface/web/client/lib/lang/br.lng b/interface/web/client/lib/lang/br.lng index bb73de1f33..26049404da 100644 --- a/interface/web/client/lib/lang/br.lng +++ b/interface/web/client/lib/lang/br.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limites'; $wb['Add Client'] = 'Adcionar Cliente'; $wb['Edit Client'] = 'Editar Cliente'; $wb['Clients'] = 'Clientes'; -$wb['Edit Client-Templates'] = 'Editar Gabaritos de Clientes'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Adcionar Revendedor'; $wb['Edit Reseller'] = 'Editar Revendedor'; $wb['Resellers'] = 'Revendedores'; diff --git a/interface/web/client/lib/lang/cz.lng b/interface/web/client/lib/lang/cz.lng index fa1c78df75..38d1ac835b 100644 --- a/interface/web/client/lib/lang/cz.lng +++ b/interface/web/client/lib/lang/cz.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limity'; $wb['Add Client'] = 'Přidat klienta'; $wb['Edit Client'] = 'Upravit klienta'; $wb['Clients'] = 'Klienti'; -$wb['Edit Client-Templates'] = 'Upravit klientské šablony'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Přidat distributora'; $wb['Edit Reseller'] = 'Upravit distributora'; $wb['Resellers'] = 'Distributoři (prodejci)'; diff --git a/interface/web/client/lib/lang/de.lng b/interface/web/client/lib/lang/de.lng index 742acf4ef7..6a41e0f612 100644 --- a/interface/web/client/lib/lang/de.lng +++ b/interface/web/client/lib/lang/de.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limits'; $wb['Add Client'] = 'Kunde hinzufügen'; $wb['Edit Client'] = 'Kunde bearbeiten'; $wb['Clients'] = 'Kunden'; -$wb['Edit Client-Templates'] = 'Kundenvorlagen'; +$wb['Templates'] = 'Vorlagen'; +$wb['Limit-Templates'] = 'Kundenvorlagen'; $wb['Add Reseller'] = 'Reseller hinzufügen'; $wb['Edit Reseller'] = 'Reseller bearbeiten'; $wb['Resellers'] = 'Reseller'; diff --git a/interface/web/client/lib/lang/el.lng b/interface/web/client/lib/lang/el.lng index 7d4f4fa535..fe70d3fde9 100644 --- a/interface/web/client/lib/lang/el.lng +++ b/interface/web/client/lib/lang/el.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Όρια'; $wb['Add Client'] = 'Νέος Πελάτης'; $wb['Edit Client'] = 'Επεξεργασία Πελάτη'; $wb['Clients'] = 'Πελάτες'; -$wb['Edit Client-Templates'] = 'Επεξεργασία προτύπων πελατών'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Νέος Μεταπωλητής'; $wb['Edit Reseller'] = 'Επεξεργασία Μεταπωλητή'; $wb['Resellers'] = 'Μεταπωλητές'; diff --git a/interface/web/client/lib/lang/en.lng b/interface/web/client/lib/lang/en.lng index 46cdb4aaf2..d901b7a2e0 100644 --- a/interface/web/client/lib/lang/en.lng +++ b/interface/web/client/lib/lang/en.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limits'; $wb['Add Client'] = 'Add Client'; $wb['Edit Client'] = 'Edit Client'; $wb['Clients'] = 'Clients'; -$wb['Edit Client-Templates'] = 'Edit Client-Templates'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Add Reseller'; $wb['Edit Reseller'] = 'Edit Reseller'; $wb['Resellers'] = 'Resellers'; diff --git a/interface/web/client/lib/lang/es.lng b/interface/web/client/lib/lang/es.lng index fb636c358b..da72048182 100644 --- a/interface/web/client/lib/lang/es.lng +++ b/interface/web/client/lib/lang/es.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Límites'; $wb['Add Client'] = 'Añadir cliente'; $wb['Edit Client'] = 'Editar cliente'; $wb['Clients'] = 'Clientes'; -$wb['Edit Client-Templates'] = 'Editar plantillas de clientes'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Añadir revendedor'; $wb['Edit Reseller'] = 'Editar revendedor'; $wb['Resellers'] = 'Revendedores'; diff --git a/interface/web/client/lib/lang/fi.lng b/interface/web/client/lib/lang/fi.lng index 6f3dd5a6d1..d440dfe3b0 100755 --- a/interface/web/client/lib/lang/fi.lng +++ b/interface/web/client/lib/lang/fi.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Rajoitukset'; $wb['Add Client'] = 'Lisää asiakas'; $wb['Edit Client'] = 'Muokkaa asiakkaan tietoja'; $wb['Clients'] = 'Asiakkaat'; -$wb['Edit Client-Templates'] = 'Muokkaa asiakasmalleja'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Lisää uusi jälleenmyyjä'; $wb['Edit Reseller'] = 'Muokkaa jälleenmyyjää'; $wb['Resellers'] = 'Jälleenmyyjät'; diff --git a/interface/web/client/lib/lang/fr.lng b/interface/web/client/lib/lang/fr.lng index 8676a29e12..02d06dfd2e 100644 --- a/interface/web/client/lib/lang/fr.lng +++ b/interface/web/client/lib/lang/fr.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limites'; $wb['Add Client'] = 'Ajouter un Client'; $wb['Edit Client'] = 'Editer un Client'; $wb['Clients'] = 'Clients'; -$wb['Edit Client-Templates'] = 'Editer les modèles de Clients'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Ajouter un Revendeur'; $wb['Edit Reseller'] = 'Editer un Revendeur'; $wb['Resellers'] = 'Revendeurs'; diff --git a/interface/web/client/lib/lang/hr.lng b/interface/web/client/lib/lang/hr.lng index 74e37dd6eb..137f9bb1f1 100644 --- a/interface/web/client/lib/lang/hr.lng +++ b/interface/web/client/lib/lang/hr.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limiti'; $wb['Add Client'] = 'Dodaj klijenta'; $wb['Edit Client'] = 'Editiraj klijenta'; $wb['Clients'] = 'Klijenti'; -$wb['Edit Client-Templates'] = 'Editiraj predložak za klijente'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Dodaj preprodavača'; $wb['Edit Reseller'] = 'Editiraj preprodavača'; $wb['Resellers'] = 'Preprodavači'; diff --git a/interface/web/client/lib/lang/hu.lng b/interface/web/client/lib/lang/hu.lng index 84311fe94e..84beaf578a 100644 --- a/interface/web/client/lib/lang/hu.lng +++ b/interface/web/client/lib/lang/hu.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Korlátok'; $wb['Add Client'] = 'Ügyfél hozzáadása'; $wb['Edit Client'] = 'Ügyfél adatok szerkesztése'; $wb['Clients'] = 'Ügyfelek'; -$wb['Edit Client-Templates'] = 'Ügyfél-Sablonok szerkesztése'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Új Viszonteladó'; $wb['Edit Reseller'] = 'Viszonteladók szerkesztése'; $wb['Resellers'] = 'Viszonteladók'; diff --git a/interface/web/client/lib/lang/id.lng b/interface/web/client/lib/lang/id.lng index 280dd4220a..8459d16848 100644 --- a/interface/web/client/lib/lang/id.lng +++ b/interface/web/client/lib/lang/id.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Batasan'; $wb['Add Client'] = 'Tambah Klien'; $wb['Edit Client'] = 'Sunting Klien'; $wb['Clients'] = 'Klien'; -$wb['Edit Client-Templates'] = 'Sunting Template Klien'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Tambah Reseller'; $wb['Edit Reseller'] = 'Sunting Reseller'; $wb['Resellers'] = 'Reseller'; diff --git a/interface/web/client/lib/lang/ja.lng b/interface/web/client/lib/lang/ja.lng index 716fc07790..c0c097156f 100644 --- a/interface/web/client/lib/lang/ja.lng +++ b/interface/web/client/lib/lang/ja.lng @@ -5,7 +5,8 @@ $wb['Limits'] = '制限'; $wb['Add Client'] = 'クライアントを追加する'; $wb['Edit Client'] = 'クライアントを編集する'; $wb['Clients'] = 'クライアント'; -$wb['Edit Client-Templates'] = 'クライアントテンプレートを編集する'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'リセラーを追加する'; $wb['Edit Reseller'] = 'リセラーを編集する'; $wb['Resellers'] = 'リセラー'; diff --git a/interface/web/client/lib/lang/nl.lng b/interface/web/client/lib/lang/nl.lng index 75add75c08..2ebe3895be 100644 --- a/interface/web/client/lib/lang/nl.lng +++ b/interface/web/client/lib/lang/nl.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limieten'; $wb['Add Client'] = 'Toevoegen klant'; $wb['Edit Client'] = 'Wijzigen klant'; $wb['Clients'] = 'klanten'; -$wb['Edit Client-Templates'] = 'Wijzig klant-template'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Toevoegen Reseller'; $wb['Edit Reseller'] = 'Wijzigen Reseller'; $wb['Resellers'] = 'Resellers'; diff --git a/interface/web/client/lib/lang/pl.lng b/interface/web/client/lib/lang/pl.lng index 2727435154..12dc65ce96 100644 --- a/interface/web/client/lib/lang/pl.lng +++ b/interface/web/client/lib/lang/pl.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limity'; $wb['Add Client'] = 'Dodaj klienta'; $wb['Edit Client'] = 'Edytuj klienta'; $wb['Clients'] = 'Klienci'; -$wb['Edit Client-Templates'] = 'Edytuj szablony klientów'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Dodaj Resellera'; $wb['Edit Reseller'] = 'Edytuj Resellera'; $wb['Resellers'] = 'Resellerzy'; diff --git a/interface/web/client/lib/lang/pt.lng b/interface/web/client/lib/lang/pt.lng index 181ab88b3e..cd565699bc 100644 --- a/interface/web/client/lib/lang/pt.lng +++ b/interface/web/client/lib/lang/pt.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limites'; $wb['Add Client'] = 'Adicionar Cliente'; $wb['Edit Client'] = 'Editar Cliente'; $wb['Clients'] = 'Clientes'; -$wb['Edit Client-Templates'] = 'Editar Templates de Clientes'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Adicionar Revendedor'; $wb['Edit Reseller'] = 'Editar Revendedor'; $wb['Resellers'] = 'Revendedores'; diff --git a/interface/web/client/lib/lang/ro.lng b/interface/web/client/lib/lang/ro.lng index 88e0f8fa70..bb03af82b7 100644 --- a/interface/web/client/lib/lang/ro.lng +++ b/interface/web/client/lib/lang/ro.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limits'; $wb['Add Client'] = 'Add Client'; $wb['Edit Client'] = 'Edit Client'; $wb['Clients'] = 'Clients'; -$wb['Edit Client-Templates'] = 'Edit Client-Templates'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Add Reseller'; $wb['Edit Reseller'] = 'Edit Reseller'; $wb['Resellers'] = 'Resellers'; diff --git a/interface/web/client/lib/lang/ru.lng b/interface/web/client/lib/lang/ru.lng index 5d37029047..087e68b345 100644 --- a/interface/web/client/lib/lang/ru.lng +++ b/interface/web/client/lib/lang/ru.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Лимиты'; $wb['Add Client'] = 'Добавить клиента'; $wb['Edit Client'] = 'Изменить клиента'; $wb['Clients'] = 'Клиенты'; -$wb['Edit Client-Templates'] = 'Изменить шаблон клиента'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Добавить реселлера'; $wb['Edit Reseller'] = 'Изменить реселлера'; $wb['Resellers'] = 'Реселлеры'; diff --git a/interface/web/client/lib/lang/se.lng b/interface/web/client/lib/lang/se.lng index 88e0f8fa70..bb03af82b7 100644 --- a/interface/web/client/lib/lang/se.lng +++ b/interface/web/client/lib/lang/se.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limits'; $wb['Add Client'] = 'Add Client'; $wb['Edit Client'] = 'Edit Client'; $wb['Clients'] = 'Clients'; -$wb['Edit Client-Templates'] = 'Edit Client-Templates'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Add Reseller'; $wb['Edit Reseller'] = 'Edit Reseller'; $wb['Resellers'] = 'Resellers'; diff --git a/interface/web/client/lib/lang/sk.lng b/interface/web/client/lib/lang/sk.lng index e9d300ceb0..6351f3d905 100644 --- a/interface/web/client/lib/lang/sk.lng +++ b/interface/web/client/lib/lang/sk.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limity'; $wb['Add Client'] = 'Pridať klienta'; $wb['Edit Client'] = 'Upraviť klienta'; $wb['Clients'] = 'Klienti'; -$wb['Edit Client-Templates'] = 'Upraviť klient-Šablónu'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Pridať nového predajcu'; $wb['Edit Reseller'] = 'Upraviť predajcu'; $wb['Resellers'] = 'Predajcovia'; diff --git a/interface/web/client/lib/lang/tr.lng b/interface/web/client/lib/lang/tr.lng index 96dd7a0ac0..8a98a13a96 100644 --- a/interface/web/client/lib/lang/tr.lng +++ b/interface/web/client/lib/lang/tr.lng @@ -5,7 +5,8 @@ $wb['Limits'] = 'Limitler'; $wb['Add Client'] = 'Müşteri Ekle'; $wb['Edit Client'] = 'Müşteri Düzenle'; $wb['Clients'] = 'Müşteriler'; -$wb['Edit Client-Templates'] = 'Müşteri-Şablon Düzenle'; +$wb['Templates'] = 'Templates'; +$wb['Limit-Templates'] = 'Limit-Templates'; $wb['Add Reseller'] = 'Reseller Ekle'; $wb['Edit Reseller'] = 'Reseller Düzenle'; $wb['Resellers'] = 'Resellerlar'; diff --git a/interface/web/client/lib/module.conf.php b/interface/web/client/lib/module.conf.php index bfb6ac80dd..92775ea139 100644 --- a/interface/web/client/lib/module.conf.php +++ b/interface/web/client/lib/module.conf.php @@ -66,6 +66,21 @@ $module["nav"][] = array( 'title' => 'Messaging', unset($items); +//if($_SESSION["s"]["user"]["typ"] == 'admin'){ + $items[] = array( 'title' => "Limit-Templates", + 'target' => 'content', + 'link' => 'client/client_template_list.php', + 'html_id' => 'client_template_list'); + + +$module["nav"][] = array( 'title' => 'Templates', + 'open' => 1, + 'items' => $items); + +unset($items); +//} + + $app->uses('ini_parser,getconf'); $settings = $app->getconf->get_global_config('domains'); diff --git a/interface/web/client/reseller_edit.php b/interface/web/client/reseller_edit.php index 4f0a1db5b2..c8868da5ac 100644 --- a/interface/web/client/reseller_edit.php +++ b/interface/web/client/reseller_edit.php @@ -94,6 +94,26 @@ class page_action extends tform_actions { } } } + + if($this->id != 0) { + $this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $this->id); + if(!is_array($this->oldTemplatesAssigned) || count($this->oldTemplatesAssigned) < 1) { + // check previous type of storing templates + $tpls = explode('/', $this->oldDataRecord['template_additional']); + $this->oldTemplatesAssigned = array(); + foreach($tpls as $item) { + $item = trim($item); + if(!$item) continue; + $this->oldTemplatesAssigned[] = array('assigned_template_id' => 0, 'client_template_id' => $item, 'client_id' => $this->id); + } + unset($tpls); + } + } else { + $this->oldTemplatesAssigned = array(); + } + + $this->_template_additional = explode('/', $this->dataRecord['template_additional']); + $this->dataRecord['template_additional'] = ''; parent::onSubmit(); } @@ -117,13 +137,27 @@ class page_action extends tform_actions { $result = $app->db->queryAllRecords('SELECT assigned_template_id, client_template_id FROM client_template_assigned WHERE client_id = ' . $this->id); if($result && count($result) > 0) { // new style + $items = array(); $text = ''; foreach($result as $item){ if (trim($item['client_template_id']) != ''){ if ($text != '') $text .= ''; - $text .= '
  • ' . $tpl[$item['client_template_id']]. '
  • '; + $text .= '
  • ' . $tpl[$item['client_template_id']]; + $text .= ''; + $tmp = new stdClass(); + $tmp->id = $item['assigned_template_id']; + $tmp->data = ''; + $app->plugin->raiseEvent('get_client_template_details', $tmp); + if($tmp->data != '') $text .= '
    ' . $tmp->data . ''; + + $text .= '
  • '; + $items[] = $item['assigned_template_id'] . ':' . $item['client_template_id']; } } + + $tmprec = $app->tform->getHTML(array('template_additional' => implode('/', $items)), $this->active_tab, 'EDIT'); + $app->tpl->setVar('template_additional', $tmprec['template_additional']); + unset($tmprec); } else { // old style $sql = "SELECT template_additional FROM client WHERE client_id = " . $this->id; @@ -139,6 +173,7 @@ class page_action extends tform_actions { } $app->tpl->setVar('template_additional_list', $text); + $app->tpl->setVar('app_module', 'client'); //* Set the 'customer no' default value if($this->id == 0) { @@ -213,6 +248,11 @@ class page_action extends tform_actions { $sql = "UPDATE client SET default_mailserver = $default_mailserver, default_webserver = $default_webserver, default_dnsserver = $default_dnsserver, default_slave_dnsserver = $default_dnsserver, default_dbserver = $default_dbserver WHERE client_id = ".$this->id; $app->db->query($sql); + if(isset($this->dataRecord['template_master'])) { + $app->uses('client_templates'); + $app->client_templates->update_client_templates($this->id, $this->_template_additional); + } + if($this->dataRecord['customer_no'] == $this->dataRecord['customer_no_org']) { //* get the system config $app->uses('getconf'); @@ -288,6 +328,11 @@ class page_action extends tform_actions { $sql = "UPDATE sys_user SET modules = '$modules' WHERE client_id = $client_id"; $app->db->query($sql); } + + if(isset($this->dataRecord['template_master'])) { + $app->uses('client_templates'); + $app->client_templates->update_client_templates($this->id, $this->_template_additional); + } parent::onAfterUpdate(); } diff --git a/interface/web/client/templates/client_edit_limits.htm b/interface/web/client/templates/client_edit_limits.htm index ba349b6bb6..49be46bd00 100644 --- a/interface/web/client/templates/client_edit_limits.htm +++ b/interface/web/client/templates/client_edit_limits.htm @@ -3,7 +3,6 @@
    -
    {tmpl_var name="toolsarea_head_txt"}
    @@ -11,11 +10,9 @@
    -
    Limits -
    +
    +
    +
    {tmpl_var name='web_limits_txt'}
    diff --git a/interface/web/client/templates/reseller_edit_limits.htm b/interface/web/client/templates/reseller_edit_limits.htm index a115dc836a..0d3cb19e42 100644 --- a/interface/web/client/templates/reseller_edit_limits.htm +++ b/interface/web/client/templates/reseller_edit_limits.htm @@ -3,29 +3,44 @@
    + +
    +
    {tmpl_var name="toolsarea_head_txt"} +
    + +
    +
    +
    +
    +
    Limits -
    @@ -301,4 +316,34 @@
    -
    \ No newline at end of file +
    + + + \ No newline at end of file -- GitLab