Marius Cramer
2013-11-14 b1a6a5a3991cec5cd08873b01376e45d0b247f18
interface/web/client/client_template_edit.php
@@ -1,6 +1,6 @@
<?php
/*
Copyright (c) 2007-2008, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com
Copyright (c) 2007-2010, Till Brehm, projektfarm Gmbh and Oliver Vogel www.muv.com
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -38,12 +38,11 @@
* End Form configuration
******************************************/
require_once('../../lib/config.inc.php');
require_once('../../lib/app.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.');
// Loading classes
@@ -52,6 +51,46 @@
class page_action extends tform_actions {
   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);
         if($rec['template_type'] != $this->dataRecord['template_type']) {
            //* Add a error message and switch back to old server
            $app->tform->errorMessage .= $app->lng('The template type can not be changed.');
            $this->dataRecord['template_type'] = $rec['template_type'];
         }
         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 . "/%' 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){
            $app->client_templates->apply_client_templates($client['client_id']);
         }
      }
   }
}
$page = new page_action;