Till Brehm
2016-04-22 ebd0e986ed11f2a34fb58cdd33efbfab192083ad
interface/web/client/client_template_edit.php
@@ -38,13 +38,12 @@
* End Form configuration
******************************************/
require_once('../../lib/config.inc.php');
require_once('../../lib/app.inc.php');
require_once('tools.inc.php');
require_once '../../lib/config.inc.php';
require_once '../../lib/app.inc.php';
//* Check permissions for module
$app->auth->check_module_permissions('client');
if(!$_SESSION["s"]["user"]["typ"] == 'admin') die('Client-Templates are only for Admins.');
if($_SESSION["s"]["user"]["typ"] != 'admin' && !$app->auth->has_clients($_SESSION['s']['user']['userid'])) die('Client-Templates are for Admins and Resellers only.');
// Loading classes
$app->uses('tpl,tform,tform_actions');
@@ -52,9 +51,22 @@
class page_action extends tform_actions {
   function onBeforeUpdate() {
   function onSubmit() {
      global $app;
      
      //* Resellers shall not be able to create another reseller or set reseller specific settings
      if($_SESSION["s"]["user"]["typ"] == 'user') {
         $this->dataRecord['limit_client'] = 0;
         $this->dataRecord['limit_domainmodule'] = 0;
      }
      parent::onSubmit();
   }
   function onBeforeUpdate() {
      global $app;
      if(isset($this->dataRecord['template_type'])) {
         //* Check if the template_type has been changed
         $rec = $app->db->queryOneRecord("SELECT template_type from client_template WHERE template_id = ".$this->id);
@@ -66,30 +78,32 @@
         unset($rec);
      }
   }
   /*
    This function is called automatically right after
    the data was successful updated in the database.
   */
   function onAfterUpdate() {
      global $app;
      $app->uses('client_templates');
      /*
       * the template has changed. apply the new data to all clients
       */
      if ($this->dataRecord["template_type"] == 'm'){
         $sql = "SELECT client_id FROM client WHERE template_master = " . $this->id;
      } else {
         $sql = "SELECT client_id FROM client WHERE template_additional LIKE '%/" . $this->id . '/%"';
         $sql = "SELECT client_id FROM client WHERE template_additional LIKE '%/" . $this->id . "/%' OR template_additional LIKE '" . $this->id . "/%' OR template_additional LIKE '%/" . $this->id . "' UNION SELECT client_id FROM client_template_assigned WHERE client_template_id = " . $this->id;
      }
      $clients = $app->db->queryAllRecords($sql);
      if (is_array($clients)){
         foreach ($clients as $client){
            applyClientTemplates($client['client_id']);
            $app->client_templates->apply_client_templates($client['client_id']);
         }
      }
   }
}
$page = new page_action;