14 header(
'Content-Type: application/json');
17 $serviceShowInfo =
false;
18 $serviceLoadMenu =
false;
19 $serviceShowMenu =
false;
20 $serviceAllowReadonly =
true;
24 require_once(dirname(__FILE__) .
'/../library/hcuService.i');
25 require_once(dirname(__FILE__) .
'/../library/msgECO.i');
27 $string= array(
"filter" => FILTER_DEFAULT);
30 $dms_ok=array(
"action"=>$string,
"show"=>$string,
"what"=>$string,
"order"=>$string,
"parentid"=>$string,
"subject"=>$string,
"message"=>$string);
32 HCU_ImportVars($HB_ENV,
"HCUPOST", $dms_ok);
36 $Uid = $HB_ENV[
"Uid"];
41 $parseRefer = parse_url($_SERVER[
'HTTP_REFERER']);
42 $referScript = basename($parseRefer[
'path']);
43 if (!in_array($referScript, array(
'hcuSecureMail.prg'))) {
45 $aryErrors[] = $MC->msg(
'Feature Unavailable', HCU_DISPLAY_AS_RAW);
46 throw new Exception (HCU_JsonEncode($aryErrors));
53 if (!PermCheckFeatureScreen($dbh, $HB_ENV, $MC, FEATURE_SECURE_MSG,
'',
false)) {
54 throw new Exception (HCU_JsonEncode(Array($MC->msg(
'Rights not set', HCU_DISPLAY_AS_HTML))));
70 switch ( $HB_ENV[
"HCUPOST"][
"action"] ) {
72 $aryReply = msgReadMessages($HB_ENV[
"dbh"], $HB_ENV);
73 santitizeSubject($aryReply);
76 $aryReply = msgReadMessageThread($HB_ENV[
"dbh"], $HB_ENV);
77 santitizeBody($aryReply);
80 $aryReply = msgSendMessage($HB_ENV[
"dbh"], $HB_ENV, $HB_ENV[
"MC"]);
81 santitizeSubject($aryReply);
83 case "delete_message":
84 $aryReply = msgDeleteMessageThread($HB_ENV[
"dbh"], $HB_ENV);
85 santitizeSubject($aryReply);
88 $aryErrors[] = array(
"message" =>
"Unexpected action: {$HB_ENV["HCUPOST
"]["action
"]}" );
89 throw new Exception (HCU_JsonEncode($aryErrors));
95 $aryReply[
"homecuErrors"] = HCU_JsonDecode( $ex->getMessage() );
98 print HCU_JsonEncode($aryReply);
100 function santitizeSubject(&$aryReply)
103 for($i= 0, $count= count($aryReply[
"homecuData"]); $i != $count; $i++)
105 $subject= $aryReply[
"homecuData"][$i][
"subject"];
106 $aryReply[
"homecuData"][$i][
"subject"]= nl2br(htmlentities($subject, ENT_QUOTES,
"UTF-8",
false));
110 function santitizeBody(&$aryReply)
113 for($i= 0, $count= count($aryReply[
"homecuData"]); $i != $count; $i++)
115 $message= $aryReply[
"homecuData"][$i][
"message"];
116 $aryReply[
"homecuData"][$i][
"message"]= nl2br(htmlentities($message, ENT_QUOTES,
"UTF-8",
false));