Marius Cramer
2013-10-14 d9bcf68e395d6156645a7974b1a992aa6e6c00aa
interface/web/client/client_message.php
@@ -59,8 +59,8 @@
   
   //* Send message
   if($error == '') {
      if(intval($_POST['recipient']) > 0){
         $circle = $app->db->queryOneRecord("SELECT client_ids FROM client_circle WHERE active = 'y' AND circle_id = ".intval($_POST['recipient'])." AND ".$app->tform->getAuthSQL('r'));
      if($app->functions->intval($_POST['recipient']) > 0){
         $circle = $app->db->queryOneRecord("SELECT client_ids FROM client_circle WHERE active = 'y' AND circle_id = ".$app->functions->intval($_POST['recipient'])." AND ".$app->tform->getAuthSQL('r'));
         if(isset($circle['client_ids']) && $circle['client_ids'] != ''){
            $tmp_client_ids = explode(',',$circle['client_ids']);
            $where = array();
@@ -77,7 +77,7 @@
         if($_SESSION["s"]["user"]["typ"] == 'admin'){
            $sql = "SELECT * FROM client WHERE email != ''";
         } else {
            $client_id = intval($_SESSION['s']['user']['client_id']);
            $client_id = $app->functions->intval($_SESSION['s']['user']['client_id']);
            if($client_id == 0) die('Invalid Client ID.');
            $sql = "SELECT * FROM client WHERE email != '' AND parent_client_id = '$client_id'";
         }
@@ -88,10 +88,19 @@
      if(is_array($clients)) {
         $msg = $wb['email_sent_to_txt'].' ';
         foreach($clients as $client) {
            //* Parse cleint details into message
            //* Parse client details into message
            $message = $_POST['message'];
            foreach($client as $key => $val) {
               $message = str_replace('{'.$key.'}', $val, $message);
               switch ($key) {
                  case 'password':
                     $message = str_replace('{'.$key.'}', '---', $message);
                     break;
                  case 'gender':
                     $message = str_replace('{salutation}', $wb['gender_'.$val.'_txt'], $message);
                     break;
                  default:
                     $message = str_replace('{'.$key.'}', $val, $message);
               }
            }
            
            //* Send the email
@@ -109,7 +118,7 @@
} else {
   // pre-fill Sender field with reseller's email address
   if($_SESSION["s"]["user"]["typ"] != 'admin'){
      $client_id = intval($_SESSION['s']['user']['client_id']);
      $client_id = $app->functions->intval($_SESSION['s']['user']['client_id']);
      if($client_id > 0){
         $sql = "SELECT email FROM client WHERE client_id = ".$client_id;
         $client = $app->db->queryOneRecord($sql);
@@ -119,12 +128,12 @@
}
// Recipient Drop-Down
$recipient = '<option value="0"'.(intval($_POST['recipient']) == 0 ? ' selected="selected"' : '').'>'.($_SESSION["s"]["user"]["typ"] == 'admin'? $wb['all_clients_resellers_txt'] : $wb['all_clients_txt']).'</option>';
$recipient = '<option value="0"'.($app->functions->intval($_POST['recipient']) == 0 ? ' selected="selected"' : '').'>'.($_SESSION["s"]["user"]["typ"] == 'admin'? $wb['all_clients_resellers_txt'] : $wb['all_clients_txt']).'</option>';
$sql = "SELECT * FROM client_circle WHERE active = 'y' AND ".$app->tform->getAuthSQL('r');
$circles = $app->db->queryAllRecords($sql);
if(is_array($circles) && !empty($circles)){
   foreach($circles as $circle){
      $recipient .= '<option value="'.$circle['circle_id'].'"'.(intval($_POST['recipient']) == $circle['circle_id'] ? ' selected="selected"' : '').'>'.$circle['circle_name'].'</option>';
      $recipient .= '<option value="'.$circle['circle_id'].'"'.($app->functions->intval($_POST['recipient']) == $circle['circle_id'] ? ' selected="selected"' : '').'>'.$circle['circle_name'].'</option>';
   }
}
$app->tpl->setVar('recipient',$recipient);
@@ -135,6 +144,23 @@
   $app->tpl->setVar('form_legend_txt',$wb['form_legend_client_txt']);
}
//message variables
$message_variables = '';
$sql = "SHOW COLUMNS FROM client WHERE Field NOT IN ('client_id', 'sys_userid', 'sys_groupid', 'sys_perm_user', 'sys_perm_group', 'sys_perm_other', 'password', 'parent_client_id', 'id_rsa', 'ssh_rsa', 'created_at', 'default_mailserver', 'default_webserver', 'web_php_options', 'ssh_chroot', 'default_dnsserver', 'default_dbserver', 'template_master', 'template_additional') AND Field NOT LIKE 'limit_%'";
$field_names = $app->db->queryAllRecords($sql);
if(!empty($field_names) && is_array($field_names)){
   foreach($field_names as $field_name){
      if($field_name['Field'] != ''){
         if($field_name['Field'] == 'gender'){
            $message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{salutation}</a> ';
         } else {
            $message_variables .= '<a href="javascript:void(0);" class="addPlaceholder">{'.$field_name['Field'].'}</a> ';
         }
      }
   }
}
$app->tpl->setVar('message_variables',trim($message_variables));
$app->tpl->setVar('okmsg',$msg);
$app->tpl->setVar('error',$error);