@@ -145,19 +145,19 @@ discard block |
||
145 | 145 | var $categories; |
146 | 146 | |
147 | 147 | /** |
148 | - * Tracking changes |
|
149 | - * |
|
150 | - * @var Contacts\Tracking |
|
151 | - */ |
|
148 | + * Tracking changes |
|
149 | + * |
|
150 | + * @var Contacts\Tracking |
|
151 | + */ |
|
152 | 152 | protected $tracking; |
153 | 153 | |
154 | 154 | /** |
155 | - * Keep deleted addresses, or really delete them |
|
156 | - * Set in Admin -> Addressbook -> Site Configuration |
|
157 | - * ''=really delete, 'history'=keep, only admins delete, 'userpurge'=keep, users delete |
|
158 | - * |
|
159 | - * @var string |
|
160 | - */ |
|
155 | + * Keep deleted addresses, or really delete them |
|
156 | + * Set in Admin -> Addressbook -> Site Configuration |
|
157 | + * ''=really delete, 'history'=keep, only admins delete, 'userpurge'=keep, users delete |
|
158 | + * |
|
159 | + * @var string |
|
160 | + */ |
|
161 | 161 | protected $delete_history = ''; |
162 | 162 | |
163 | 163 | /** |
@@ -786,13 +786,13 @@ discard block |
||
786 | 786 | } |
787 | 787 | |
788 | 788 | /** |
789 | - * deletes contact in db |
|
790 | - * |
|
791 | - * @param mixed &$contact contact array with key id or (array of) id(s) |
|
792 | - * @param boolean $deny_account_delete =true if true never allow to delete accounts |
|
793 | - * @param int $check_etag =null |
|
794 | - * @return boolean|int true on success or false on failiure, 0 if etag does not match |
|
795 | - */ |
|
789 | + * deletes contact in db |
|
790 | + * |
|
791 | + * @param mixed &$contact contact array with key id or (array of) id(s) |
|
792 | + * @param boolean $deny_account_delete =true if true never allow to delete accounts |
|
793 | + * @param int $check_etag =null |
|
794 | + * @return boolean|int true on success or false on failiure, 0 if etag does not match |
|
795 | + */ |
|
796 | 796 | function delete($contact,$deny_account_delete=true,$check_etag=null) |
797 | 797 | { |
798 | 798 | if (is_array($contact) && isset($contact['id'])) |
@@ -844,13 +844,13 @@ discard block |
||
844 | 844 | } |
845 | 845 | |
846 | 846 | /** |
847 | - * saves contact to db |
|
848 | - * |
|
849 | - * @param array &$contact contact array from etemplate::exec |
|
850 | - * @param boolean $ignore_acl =false should the acl be checked or not |
|
851 | - * @param boolean $touch_modified =true should modified/r be updated |
|
852 | - * @return int/string/boolean id on success, false on failure, the error-message is in $this->error |
|
853 | - */ |
|
847 | + * saves contact to db |
|
848 | + * |
|
849 | + * @param array &$contact contact array from etemplate::exec |
|
850 | + * @param boolean $ignore_acl =false should the acl be checked or not |
|
851 | + * @param boolean $touch_modified =true should modified/r be updated |
|
852 | + * @return int/string/boolean id on success, false on failure, the error-message is in $this->error |
|
853 | + */ |
|
854 | 854 | function save(&$contact, $ignore_acl=false, $touch_modified=true) |
855 | 855 | { |
856 | 856 | // remember if we add or update a entry |
@@ -1073,12 +1073,12 @@ discard block |
||
1073 | 1073 | } |
1074 | 1074 | |
1075 | 1075 | /** |
1076 | - * reads contacts matched by key and puts all cols in the data array |
|
1077 | - * |
|
1078 | - * @param int|string $contact_id |
|
1079 | - * @param boolean $ignore_acl =false true: no acl check |
|
1080 | - * @return array|boolean array with contact data, null if not found or false on no view perms |
|
1081 | - */ |
|
1076 | + * reads contacts matched by key and puts all cols in the data array |
|
1077 | + * |
|
1078 | + * @param int|string $contact_id |
|
1079 | + * @param boolean $ignore_acl =false true: no acl check |
|
1080 | + * @return array|boolean array with contact data, null if not found or false on no view perms |
|
1081 | + */ |
|
1082 | 1082 | function read($contact_id, $ignore_acl=false) |
1083 | 1083 | { |
1084 | 1084 | // get so_sql_cf to read private customfields too, if we ignore acl |
@@ -132,13 +132,13 @@ discard block |
||
132 | 132 | break; case 'match': if(!preg_match($v, $tv)){$o = 0;} |
133 | 133 | break; case 'nomatch': if(preg_match($v, $tv)){$o = 0;} |
134 | 134 | break; case 'oneof': |
135 | - $m = 0; |
|
136 | - foreach(explode('|', $v) as $n){if($tv == $n){$m = 1; break;}} |
|
137 | - $o = $m; |
|
135 | + $m = 0; |
|
136 | + foreach(explode('|', $v) as $n){if($tv == $n){$m = 1; break;}} |
|
137 | + $o = $m; |
|
138 | 138 | break; case 'noneof': |
139 | - $m = 1; |
|
140 | - foreach(explode('|', $v) as $n){if($tv == $n){$m = 0; break;}} |
|
141 | - $o = $m; |
|
139 | + $m = 1; |
|
140 | + foreach(explode('|', $v) as $n){if($tv == $n){$m = 0; break;}} |
|
141 | + $o = $m; |
|
142 | 142 | break; default: |
143 | 143 | break; |
144 | 144 | } |
@@ -212,7 +212,7 @@ discard block |
||
212 | 212 | elseif($do < 3 or isset($ok['#pcdata'])){echo $x;} |
213 | 213 | elseif(strpos($x, "\x02\x04")){ |
214 | 214 | foreach(preg_split('`(\x01\x02[^\x01\x02]+\x02\x01)`', $x, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY) as $v){ |
215 | - echo (substr($v, 0, 2) == "\x01\x02" ? $v : ($do > 4 ? preg_replace('`\S`', '', $v) : '')); |
|
215 | + echo (substr($v, 0, 2) == "\x01\x02" ? $v : ($do > 4 ? preg_replace('`\S`', '', $v) : '')); |
|
216 | 216 | } |
217 | 217 | }elseif($do > 4){echo preg_replace('`\S`', '', $x);} |
218 | 218 | } |
@@ -365,7 +365,7 @@ discard block |
||
365 | 365 | preg_match('`^([a-zA-Z\d\-+.]+://[^/]+)(.*)`', $C['base_url'], $m); |
366 | 366 | $p = preg_replace('`(?<=/)\./`', '', $m[2]. $p); |
367 | 367 | while(preg_match('`(?<=/)([^/]{3,}|[^/.]+?|\.[^/.]|[^/.]\.)/\.\./`', $p)){ |
368 | - $p = preg_replace('`(?<=/)([^/]{3,}|[^/.]+?|\.[^/.]|[^/.]\.)/\.\./`', '', $p); |
|
368 | + $p = preg_replace('`(?<=/)([^/]{3,}|[^/.]+?|\.[^/.]|[^/.]\.)/\.\./`', '', $p); |
|
369 | 369 | } |
370 | 370 | $p = $m[1]. $p; |
371 | 371 | } |
@@ -478,20 +478,20 @@ discard block |
||
478 | 478 | switch($mode){ |
479 | 479 | case 0: // Name |
480 | 480 | if(preg_match('`^[a-zA-Z][\-a-zA-Z:]+`', $a, $m)){ |
481 | - $nm = strtolower($m[0]); |
|
482 | - $w = $mode = 1; $a = ltrim(substr_replace($a, '', 0, strlen($m[0]))); |
|
481 | + $nm = strtolower($m[0]); |
|
482 | + $w = $mode = 1; $a = ltrim(substr_replace($a, '', 0, strlen($m[0]))); |
|
483 | 483 | } |
484 | 484 | break; case 1: |
485 | 485 | if($a[0] == '='){ // = |
486 | - $w = 1; $mode = 2; $a = ltrim($a, '= '); |
|
486 | + $w = 1; $mode = 2; $a = ltrim($a, '= '); |
|
487 | 487 | }else{ // No val |
488 | - $w = 1; $mode = 0; $a = ltrim($a); |
|
489 | - $aA[$nm] = ''; |
|
488 | + $w = 1; $mode = 0; $a = ltrim($a); |
|
489 | + $aA[$nm] = ''; |
|
490 | 490 | } |
491 | 491 | break; case 2: // Val |
492 | 492 | if(preg_match('`^((?:"[^"]*")|(?:\'[^\']*\')|(?:\s*[^\s"\']+))(.*)`', $a, $m)){ |
493 | - $a = ltrim($m[2]); $m = $m[1]; $w = 1; $mode = 0; |
|
494 | - $aA[$nm] = trim(str_replace('<', '<', ($m[0] == '"' or $m[0] == '\'') ? substr($m, 1, -1) : $m)); |
|
493 | + $a = ltrim($m[2]); $m = $m[1]; $w = 1; $mode = 0; |
|
494 | + $aA[$nm] = trim(str_replace('<', '<', ($m[0] == '"' or $m[0] == '\'') ? substr($m, 1, -1) : $m)); |
|
495 | 495 | } |
496 | 496 | break; |
497 | 497 | } |
@@ -514,8 +514,8 @@ discard block |
||
514 | 514 | } |
515 | 515 | if($k == 'style' && !$C['style_pass']){ |
516 | 516 | if(false !== strpos($v, '&#')){ |
517 | - static $sC = array(' '=>' ', ' '=>' ', 'E'=>'e', 'E'=>'e', 'e'=>'e', 'e'=>'e', 'X'=>'x', 'X'=>'x', 'x'=>'x', 'x'=>'x', 'P'=>'p', 'P'=>'p', 'p'=>'p', 'p'=>'p', 'S'=>'s', 'S'=>'s', 's'=>'s', 's'=>'s', 'I'=>'i', 'I'=>'i', 'i'=>'i', 'i'=>'i', 'O'=>'o', 'O'=>'o', 'o'=>'o', 'o'=>'o', 'N'=>'n', 'N'=>'n', 'n'=>'n', 'n'=>'n', 'U'=>'u', 'U'=>'u', 'u'=>'u', 'u'=>'u', 'R'=>'r', 'R'=>'r', 'r'=>'r', 'r'=>'r', 'L'=>'l', 'L'=>'l', 'l'=>'l', 'l'=>'l', '('=>'(', '('=>'(', ')'=>')', ')'=>')', ' '=>':', ' '=>':', '"'=>'"', '"'=>'"', '''=>"'", '''=>"'", '/'=>'/', '/'=>'/', '*'=>'*', '*'=>'*', '\'=>'\\', '\'=>'\\'); |
|
518 | - $v = strtr($v, $sC); |
|
517 | + static $sC = array(' '=>' ', ' '=>' ', 'E'=>'e', 'E'=>'e', 'e'=>'e', 'e'=>'e', 'X'=>'x', 'X'=>'x', 'x'=>'x', 'x'=>'x', 'P'=>'p', 'P'=>'p', 'p'=>'p', 'p'=>'p', 'S'=>'s', 'S'=>'s', 's'=>'s', 's'=>'s', 'I'=>'i', 'I'=>'i', 'i'=>'i', 'i'=>'i', 'O'=>'o', 'O'=>'o', 'o'=>'o', 'o'=>'o', 'N'=>'n', 'N'=>'n', 'n'=>'n', 'n'=>'n', 'U'=>'u', 'U'=>'u', 'u'=>'u', 'u'=>'u', 'R'=>'r', 'R'=>'r', 'r'=>'r', 'r'=>'r', 'L'=>'l', 'L'=>'l', 'l'=>'l', 'l'=>'l', '('=>'(', '('=>'(', ')'=>')', ')'=>')', ' '=>':', ' '=>':', '"'=>'"', '"'=>'"', '''=>"'", '''=>"'", '/'=>'/', '/'=>'/', '*'=>'*', '*'=>'*', '\'=>'\\', '\'=>'\\'); |
|
518 | + $v = strtr($v, $sC); |
|
519 | 519 | } |
520 | 520 | $v = preg_replace_callback('`(url(?:\()(?: )*(?:\'|"|&(?:quot|apos);)?)(.+?)((?:\'|"|&(?:quot|apos);)?(?: )*(?:\)))`iS', 'hl_prot', $v); |
521 | 521 | $v = !$C['css_expression'] ? preg_replace('`expression`i', ' ', preg_replace('`\\\\\S|(/|(%2f))(\*|(%2a))`i', ' ', $v)) : $v; |
@@ -523,20 +523,20 @@ discard block |
||
523 | 523 | $v = str_replace("", ' ', (strpos($v, '&') !== false ? str_replace(array('­', '­', '­'), ' ', $v) : $v)); # double-quoted char is soft-hyphen; appears here as "" or hyphen or something else depending on viewing software |
524 | 524 | $v = hl_prot($v, $k); |
525 | 525 | if($k == 'href'){ // X-spam |
526 | - if($C['anti_mail_spam'] && strpos($v, 'mailto:') === 0){ |
|
527 | - $v = str_replace('@', htmlspecialchars($C['anti_mail_spam']), $v); |
|
528 | - }elseif($C['anti_link_spam']){ |
|
529 | - $r1 = $C['anti_link_spam'][1]; |
|
530 | - if(!empty($r1) && preg_match($r1, $v)){continue;} |
|
531 | - $r0 = $C['anti_link_spam'][0]; |
|
532 | - if(!empty($r0) && preg_match($r0, $v)){ |
|
533 | - if(isset($a['rel'])){ |
|
534 | - if(!preg_match('`\bnofollow\b`i', $a['rel'])){$a['rel'] .= ' nofollow';} |
|
535 | - }elseif(isset($aA['rel'])){ |
|
536 | - if(!preg_match('`\bnofollow\b`i', $aA['rel'])){$nfr = 1;} |
|
537 | - }else{$a['rel'] = 'nofollow';} |
|
538 | - } |
|
539 | - } |
|
526 | + if($C['anti_mail_spam'] && strpos($v, 'mailto:') === 0){ |
|
527 | + $v = str_replace('@', htmlspecialchars($C['anti_mail_spam']), $v); |
|
528 | + }elseif($C['anti_link_spam']){ |
|
529 | + $r1 = $C['anti_link_spam'][1]; |
|
530 | + if(!empty($r1) && preg_match($r1, $v)){continue;} |
|
531 | + $r0 = $C['anti_link_spam'][0]; |
|
532 | + if(!empty($r0) && preg_match($r0, $v)){ |
|
533 | + if(isset($a['rel'])){ |
|
534 | + if(!preg_match('`\bnofollow\b`i', $a['rel'])){$a['rel'] .= ' nofollow';} |
|
535 | + }elseif(isset($aA['rel'])){ |
|
536 | + if(!preg_match('`\bnofollow\b`i', $aA['rel'])){$nfr = 1;} |
|
537 | + }else{$a['rel'] = 'nofollow';} |
|
538 | + } |
|
539 | + } |
|
540 | 540 | } |
541 | 541 | } |
542 | 542 | if(isset($rl[$k]) && is_array($rl[$k]) && ($v = hl_attrval($k, $v, $rl[$k])) === 0){continue;} |
@@ -685,8 +685,8 @@ discard block |
||
685 | 685 | $e = "<$e>"; |
686 | 686 | if(isset($d[$y])){ |
687 | 687 | if(!$x){ |
688 | - if($n){echo "\n", str_repeat($s, --$n), "$e\n", str_repeat($s, $n);} |
|
689 | - else{++$N; ob_end_clean(); continue 2;} |
|
688 | + if($n){echo "\n", str_repeat($s, --$n), "$e\n", str_repeat($s, $n);} |
|
689 | + else{++$N; ob_end_clean(); continue 2;} |
|
690 | 690 | } |
691 | 691 | else{echo "\n", str_repeat($s, $n), "$e\n", str_repeat($s, ($x != 1 ? ++$n : $n));} |
692 | 692 | echo $r; continue; |
@@ -119,7 +119,7 @@ discard block |
||
119 | 119 | $j = 0; |
120 | 120 | // Add newline |
121 | 121 | if ($i !== $len-1){ |
122 | - echo "\n"; |
|
122 | + echo "\n"; |
|
123 | 123 | } |
124 | 124 | } |
125 | 125 | } |
@@ -544,12 +544,12 @@ discard block |
||
544 | 544 | if(!empty($v[4])){ // + input text box |
545 | 545 | echo '<input type="radio" name="h', $k, '" value="', $j, '"', (((isset($_POST['h'. $k]) && $_POST['h'. $k] == $j) or (!isset($_POST['h'. $k]) && $j == $v[1])) ? ' checked="checked"' : ''), (isset($v['d']) ? ' disabled="disabled"' : ''), ' />'; |
546 | 546 | if(!is_array($v[4])){ |
547 | - echo $v[6], ': <input type="text" size="', $v[4], '" name="h', $k. $j, '" value="', htmlspecialchars(isset($_POST['h'. $k. $j][0]) ? $_POST['h'. $k. $j] : $v[5]), '"', (isset($v['d']) ? ' disabled="disabled"' : ''), ' />'; |
|
547 | + echo $v[6], ': <input type="text" size="', $v[4], '" name="h', $k. $j, '" value="', htmlspecialchars(isset($_POST['h'. $k. $j][0]) ? $_POST['h'. $k. $j] : $v[5]), '"', (isset($v['d']) ? ' disabled="disabled"' : ''), ' />'; |
|
548 | 548 | } |
549 | 549 | else{ |
550 | - foreach($v[4] as $z){ |
|
551 | - echo ' ', $z[3], ': <input type="text" size="', $z[0], '" name="h', $k. $j. $z[1], '" value="', htmlspecialchars(isset($_POST['h'. $k. $j. $z[1]][0]) ? $_POST['h'. $k. $j. $z[1]] : $z[2]), '"', (isset($v['d']) ? ' disabled="disabled"' : ''), ' />'; |
|
552 | - } |
|
550 | + foreach($v[4] as $z){ |
|
551 | + echo ' ', $z[3], ': <input type="text" size="', $z[0], '" name="h', $k. $j. $z[1], '" value="', htmlspecialchars(isset($_POST['h'. $k. $j. $z[1]][0]) ? $_POST['h'. $k. $j. $z[1]] : $z[2]), '"', (isset($v['d']) ? ' disabled="disabled"' : ''), ' />'; |
|
552 | + } |
|
553 | 553 | } |
554 | 554 | } |
555 | 555 | } |
@@ -324,44 +324,44 @@ discard block |
||
324 | 324 | return $folderlist; |
325 | 325 | } |
326 | 326 | |
327 | - /** |
|
328 | - * Sends a message which is passed as rfc822. You basically can do two things |
|
329 | - * 1) Send the message to an SMTP server as-is |
|
330 | - * 2) Parse the message yourself, and send it some other way |
|
331 | - * It is up to you whether you want to put the message in the sent items folder. If you |
|
332 | - * want it in 'sent items', then the next sync on the 'sent items' folder should return |
|
333 | - * the new message as any other new message in a folder. |
|
334 | - * |
|
335 | - * @param array $smartdata = IMAP-SendMail: SyncSendMail ( |
|
336 | - * (S) clientid => SendMail-30722448149304 |
|
337 | - * (S) saveinsent => empty |
|
338 | - * (S) replacemime => null |
|
339 | - * (S) accountid => null |
|
340 | - * (S) source => SyncSendMailSource ( |
|
341 | - * (S) folderid => 101000000000 |
|
342 | - * (S) itemid => 33776 |
|
343 | - * (S) longid => null |
|
344 | - * (S) instanceid => null |
|
345 | - * unsetVars(Array) size: 0 |
|
346 | - * flags => false |
|
347 | - * content => null |
|
348 | - * ) |
|
349 | - * (S) mime => Date: Tue, 23 Jun 2015 14:13:23 +0200 |
|
350 | - *Subject: AW: Blauer himmel |
|
351 | - *.... |
|
352 | - * (S) replyflag => true |
|
353 | - * (S) forwardflag => null |
|
354 | - * unsetVars(Array) size: 0 |
|
355 | - * flags => false |
|
356 | - * content => null |
|
357 | - *) |
|
327 | + /** |
|
328 | + * Sends a message which is passed as rfc822. You basically can do two things |
|
329 | + * 1) Send the message to an SMTP server as-is |
|
330 | + * 2) Parse the message yourself, and send it some other way |
|
331 | + * It is up to you whether you want to put the message in the sent items folder. If you |
|
332 | + * want it in 'sent items', then the next sync on the 'sent items' folder should return |
|
333 | + * the new message as any other new message in a folder. |
|
334 | + * |
|
335 | + * @param array $smartdata = IMAP-SendMail: SyncSendMail ( |
|
336 | + * (S) clientid => SendMail-30722448149304 |
|
337 | + * (S) saveinsent => empty |
|
338 | + * (S) replacemime => null |
|
339 | + * (S) accountid => null |
|
340 | + * (S) source => SyncSendMailSource ( |
|
341 | + * (S) folderid => 101000000000 |
|
342 | + * (S) itemid => 33776 |
|
343 | + * (S) longid => null |
|
344 | + * (S) instanceid => null |
|
345 | + * unsetVars(Array) size: 0 |
|
346 | + * flags => false |
|
347 | + * content => null |
|
348 | + * ) |
|
349 | + * (S) mime => Date: Tue, 23 Jun 2015 14:13:23 +0200 |
|
350 | + *Subject: AW: Blauer himmel |
|
351 | + *.... |
|
352 | + * (S) replyflag => true |
|
353 | + * (S) forwardflag => null |
|
354 | + * unsetVars(Array) size: 0 |
|
355 | + * flags => false |
|
356 | + * content => null |
|
357 | + *) |
|
358 | + * |
|
359 | + * @return boolean true on success, false on error |
|
358 | 360 | * |
359 | - * @return boolean true on success, false on error |
|
360 | - * |
|
361 | - * @see eg. BackendIMAP::SendMail() |
|
362 | - * @todo implement either here or in mail backend |
|
363 | - * (maybe sending here and storing to sent folder in plugin, as sending is supposed to always work in EGroupware) |
|
364 | - */ |
|
361 | + * @see eg. BackendIMAP::SendMail() |
|
362 | + * @todo implement either here or in mail backend |
|
363 | + * (maybe sending here and storing to sent folder in plugin, as sending is supposed to always work in EGroupware) |
|
364 | + */ |
|
365 | 365 | public function SendMail($smartdata) |
366 | 366 | { |
367 | 367 | //$this->debugLevel=2; |
@@ -508,8 +508,8 @@ discard block |
||
508 | 508 | //error_log(__METHOD__.__LINE__.array2string($mailObject)); |
509 | 509 | // if this is a multipart message with a boundary, we must use the original body |
510 | 510 | //if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' mailObject after Inital Parse:'.array2string($mailObject)); |
511 | - if ($use_orgbody) { |
|
512 | - ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") use_orgbody = true ContentType:".$ContentType); |
|
511 | + if ($use_orgbody) { |
|
512 | + ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") use_orgbody = true ContentType:".$ContentType); |
|
513 | 513 | // if it is a ClientSideMeetingRequest, we report it as send at all times |
514 | 514 | if (($cal_body = $mailObject->findBody('calendar')) && |
515 | 515 | ($cSMRMethod = $cal_body->getContentTypeParameter('method'))) |
@@ -521,7 +521,7 @@ discard block |
||
521 | 521 | if ($this->debugLevel) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") we have a Client Side Meeting Request from organizer=$organizer"); |
522 | 522 | $ClientSideMeetingRequest = true; |
523 | 523 | } |
524 | - } |
|
524 | + } |
|
525 | 525 | // now handle the addressee list |
526 | 526 | $toCount = 0; |
527 | 527 | //error_log(__METHOD__.__LINE__.array2string($toMailAddr)); |
@@ -586,7 +586,7 @@ discard block |
||
586 | 586 | $bodyStruct = $this->mail->getMessageBody($uid, 'html_only'); |
587 | 587 | $bodyBUFFHtml = $this->mail->getdisplayableBody($this->mail,$bodyStruct,true,false); |
588 | 588 | if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.' html_only:'.$bodyBUFFHtml); |
589 | - if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) { |
|
589 | + if ($bodyBUFFHtml != "" && (is_array($bodyStruct) && $bodyStruct[0]['mimeType']=='text/html')) { |
|
590 | 590 | // may be html |
591 | 591 | if ($this->debugLevel>0) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__.") MIME Body".' Type:html (fetched with html_only):'.$bodyBUFFHtml); |
592 | 592 | $AltBody = $AltBody."</br>".$bodyBUFFHtml.$sigTextHtml; |
@@ -633,7 +633,7 @@ discard block |
||
633 | 633 | $this->splitID($smartdata->source->folderid, $account, $folder); |
634 | 634 | |
635 | 635 | $this->mail->reopen($folder); |
636 | - // receive entire mail (header + body) |
|
636 | + // receive entire mail (header + body) |
|
637 | 637 | // get message headers for specified message |
638 | 638 | $headers = $this->mail->getMessageEnvelope($uid, $_partID, true, $folder); |
639 | 639 | // build a new mime message, forward entire old mail as file |
@@ -720,7 +720,7 @@ discard block |
||
720 | 720 | } |
721 | 721 | //advanced debugging |
722 | 722 | // Horde SMTP Class uses utf-8 by default. |
723 | - //ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SendMail: parsed message: ". print_r($message,1)); |
|
723 | + //ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SendMail: parsed message: ". print_r($message,1)); |
|
724 | 724 | if ($this->debugLevel>2) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): MailObject:".array2string($mailObject)); |
725 | 725 | |
726 | 726 | // set a higher timeout for big messages |
@@ -814,7 +814,7 @@ discard block |
||
814 | 814 | //$asf = false; |
815 | 815 | ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.'->'.lang("Import of message %1 failed. Destination Folder %2 does not exist.",$mailObject->getHeader('Subject'),$folderName)); |
816 | 816 | } |
817 | - ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): Outgoing mail saved in configured 'Sent' folder '".$folderName."': ". (($asf)?"success":"failed")); |
|
817 | + ZLog::Write(LOGLEVEL_DEBUG,__METHOD__."(".__LINE__."): Outgoing mail saved in configured 'Sent' folder '".$folderName."': ". (($asf)?"success":"failed")); |
|
818 | 818 | } |
819 | 819 | //$this->mail->closeConnection(); |
820 | 820 | } |
@@ -1157,8 +1157,8 @@ discard block |
||
1157 | 1157 | // end handle Attachments |
1158 | 1158 | unset($attachments); |
1159 | 1159 | |
1160 | - // Language Code Page ID: http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx |
|
1161 | - $output->internetcpid = INTERNET_CPID_UTF8; |
|
1160 | + // Language Code Page ID: http://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx |
|
1161 | + $output->internetcpid = INTERNET_CPID_UTF8; |
|
1162 | 1162 | |
1163 | 1163 | if ($this->debugLevel>3) ZLog::Write(LOGLEVEL_DEBUG,__METHOD__.__LINE__.array2string($output)); |
1164 | 1164 | //$this->debugLevel=0; |
@@ -1216,8 +1216,8 @@ discard block |
||
1216 | 1216 | * the exact string that is returned in the 'AttName' property of an SyncAttachment. So, you should |
1217 | 1217 | * encode any information you need to find the attachment in that 'attname' property. |
1218 | 1218 | * |
1219 | - * @param string $fid - id |
|
1220 | - * @param string $attname - should contain (folder)id |
|
1219 | + * @param string $fid - id |
|
1220 | + * @param string $attname - should contain (folder)id |
|
1221 | 1221 | * @return SyncItemOperationsAttachment-object |
1222 | 1222 | */ |
1223 | 1223 | function GetAttachmentData($fid,$attname) { |
@@ -1231,8 +1231,8 @@ discard block |
||
1231 | 1231 | * the exact string that is returned in the 'AttName' property of an SyncAttachment. So, you should |
1232 | 1232 | * encode any information you need to find the attachment in that 'attname' property. |
1233 | 1233 | * |
1234 | - * @param string $fid - id |
|
1235 | - * @param string $attname - should contain (folder)id |
|
1234 | + * @param string $fid - id |
|
1235 | + * @param string $attname - should contain (folder)id |
|
1236 | 1236 | * @return SyncItemOperationsAttachment-object |
1237 | 1237 | */ |
1238 | 1238 | function ItemOperationsGetAttachmentData($fid,$attname) { |
@@ -1245,8 +1245,8 @@ discard block |
||
1245 | 1245 | * -ItemOperationsGetAttachmentData |
1246 | 1246 | * -GetAttachmentData |
1247 | 1247 | * |
1248 | - * @param string $fid - id |
|
1249 | - * @param string $attname - should contain (folder)id |
|
1248 | + * @param string $fid - id |
|
1249 | + * @param string $attname - should contain (folder)id |
|
1250 | 1250 | * @return SyncItemOperationsAttachment-object |
1251 | 1251 | */ |
1252 | 1252 | private function _GetAttachmentData($fid,$attname) |
@@ -1800,22 +1800,22 @@ discard block |
||
1800 | 1800 | return $id; |
1801 | 1801 | } |
1802 | 1802 | |
1803 | - /** |
|
1804 | - * Called when the user has requested to delete (really delete) a message. Usually |
|
1805 | - * this means just unlinking the file its in or somesuch. After this call has succeeded, a call to |
|
1806 | - * GetMessageList() should no longer list the message. If it does, the message will be re-sent to the mobile |
|
1807 | - * as it will be seen as a 'new' item. This means that if this method is not implemented, it's possible to |
|
1808 | - * delete messages on the PDA, but as soon as a sync is done, the item will be resynched to the mobile |
|
1809 | - * |
|
1810 | - * @param string $folderid id of the folder |
|
1811 | - * @param string $id id of the message |
|
1812 | - * @param ContentParameters $contentParameters |
|
1813 | - * |
|
1814 | - * @access public |
|
1815 | - * @return boolean status of the operation |
|
1816 | - * @throws StatusException could throw specific SYNC_STATUS_* exceptions |
|
1817 | - */ |
|
1818 | - public function DeleteMessage($folderid, $id, $contentParameters) |
|
1803 | + /** |
|
1804 | + * Called when the user has requested to delete (really delete) a message. Usually |
|
1805 | + * this means just unlinking the file its in or somesuch. After this call has succeeded, a call to |
|
1806 | + * GetMessageList() should no longer list the message. If it does, the message will be re-sent to the mobile |
|
1807 | + * as it will be seen as a 'new' item. This means that if this method is not implemented, it's possible to |
|
1808 | + * delete messages on the PDA, but as soon as a sync is done, the item will be resynched to the mobile |
|
1809 | + * |
|
1810 | + * @param string $folderid id of the folder |
|
1811 | + * @param string $id id of the message |
|
1812 | + * @param ContentParameters $contentParameters |
|
1813 | + * |
|
1814 | + * @access public |
|
1815 | + * @return boolean status of the operation |
|
1816 | + * @throws StatusException could throw specific SYNC_STATUS_* exceptions |
|
1817 | + */ |
|
1818 | + public function DeleteMessage($folderid, $id, $contentParameters) |
|
1819 | 1819 | { |
1820 | 1820 | unset($contentParameters); // not used, but required by function signature |
1821 | 1821 | ZLog::Write(LOGLEVEL_DEBUG, "IMAP-DeleteMessage: (fid: '$folderid' id: '$id' )"); |
@@ -1857,24 +1857,24 @@ discard block |
||
1857 | 1857 | return $rv; |
1858 | 1858 | } |
1859 | 1859 | |
1860 | - /** |
|
1861 | - * Changes the 'read' flag of a message on disk. The $flags |
|
1862 | - * parameter can only be '1' (read) or '0' (unread). After a call to |
|
1863 | - * SetReadFlag(), GetMessageList() should return the message with the |
|
1864 | - * new 'flags' but should not modify the 'mod' parameter. If you do |
|
1865 | - * change 'mod', simply setting the message to 'read' on the mobile will trigger |
|
1866 | - * a full resync of the item from the server. |
|
1867 | - * |
|
1868 | - * @param string $folderid id of the folder |
|
1869 | - * @param string $id id of the message |
|
1870 | - * @param int $flags read flag of the message |
|
1871 | - * @param ContentParameters $contentParameters |
|
1872 | - * |
|
1873 | - * @access public |
|
1874 | - * @return boolean status of the operation |
|
1875 | - * @throws StatusException could throw specific SYNC_STATUS_* exceptions |
|
1876 | - */ |
|
1877 | - public function SetReadFlag($folderid, $id, $flags, $contentParameters) |
|
1860 | + /** |
|
1861 | + * Changes the 'read' flag of a message on disk. The $flags |
|
1862 | + * parameter can only be '1' (read) or '0' (unread). After a call to |
|
1863 | + * SetReadFlag(), GetMessageList() should return the message with the |
|
1864 | + * new 'flags' but should not modify the 'mod' parameter. If you do |
|
1865 | + * change 'mod', simply setting the message to 'read' on the mobile will trigger |
|
1866 | + * a full resync of the item from the server. |
|
1867 | + * |
|
1868 | + * @param string $folderid id of the folder |
|
1869 | + * @param string $id id of the message |
|
1870 | + * @param int $flags read flag of the message |
|
1871 | + * @param ContentParameters $contentParameters |
|
1872 | + * |
|
1873 | + * @access public |
|
1874 | + * @return boolean status of the operation |
|
1875 | + * @throws StatusException could throw specific SYNC_STATUS_* exceptions |
|
1876 | + */ |
|
1877 | + public function SetReadFlag($folderid, $id, $flags, $contentParameters) |
|
1878 | 1878 | { |
1879 | 1879 | unset($contentParameters); // not used, but required by function signature |
1880 | 1880 | // ZLog::Write(LOGLEVEL_DEBUG, "IMAP-SetReadFlag: (fid: '$folderid' id: '$id' flags: '$flags' )"); |
@@ -489,10 +489,10 @@ discard block |
||
489 | 489 | * Log mails to log file specified in $GLOBALS['egw_info']['server']['log_mail'] |
490 | 490 | * or regular error_log for true (can be set either in DB or header.inc.php). |
491 | 491 | * |
492 | - * @param Horde_Mail_Transport $transport =null using transport from mail-account |
|
492 | + * @param Horde_Mail_Transport $transport =null using transport from mail-account |
|
493 | 493 | * specified in construct, or default one, if not specified |
494 | - * @param boolean $resend =true allways true in EGroupware! |
|
495 | - * @param boolean $flowed =null send message in flowed text format, |
|
494 | + * @param boolean $resend =true allways true in EGroupware! |
|
495 | + * @param boolean $flowed =null send message in flowed text format, |
|
496 | 496 | * default null used flowed by default for everything but multipart/encrypted, |
497 | 497 | * unless disabled in site configuration ("disable_rfc3676_flowed") |
498 | 498 | * |
@@ -650,15 +650,15 @@ discard block |
||
650 | 650 | } |
651 | 651 | |
652 | 652 | /** |
653 | - * Get the raw email data sent by this object. |
|
654 | - * |
|
653 | + * Get the raw email data sent by this object. |
|
654 | + * |
|
655 | 655 | * Reimplement to be able to call it for saveAsDraft by calling |
656 | 656 | * $this->send(new Horde_Mail_Transport_Null()), |
657 | 657 | * if no base-part is set, because send is not called before. |
658 | 658 | * |
659 | - * @param boolean $stream If true, return a stream resource, otherwise |
|
660 | - * @return stream|string The raw email data. |
|
661 | - */ |
|
659 | + * @param boolean $stream If true, return a stream resource, otherwise |
|
660 | + * @return stream|string The raw email data. |
|
661 | + */ |
|
662 | 662 | function getRaw($stream=true) |
663 | 663 | { |
664 | 664 | try { |
@@ -671,20 +671,20 @@ discard block |
||
671 | 671 | } |
672 | 672 | // code copied from Horde_Mime_Mail::getRaw(), as there is no way to inject charset in |
673 | 673 | // _headers->toString(), which is required to encode headers containing non-ascii chars correct |
674 | - if ($stream) { |
|
675 | - $hdr = new Horde_Stream(); |
|
676 | - $hdr->add($this->_headers->toString(array('charset' => 'utf-8', 'canonical' => true)), true); |
|
677 | - return Horde_Stream_Wrapper_Combine::getStream( |
|
678 | - array($hdr->stream, |
|
679 | - $this->getBasePart()->toString( |
|
680 | - array('stream' => true, 'canonical' => true, 'encode' => Horde_Mime_Part::ENCODE_7BIT | Horde_Mime_Part::ENCODE_8BIT | Horde_Mime_Part::ENCODE_BINARY)) |
|
681 | - ) |
|
682 | - ); |
|
683 | - } |
|
684 | - |
|
685 | - return $this->_headers->toString(array('charset' => 'utf-8', 'canonical' => true)) . |
|
674 | + if ($stream) { |
|
675 | + $hdr = new Horde_Stream(); |
|
676 | + $hdr->add($this->_headers->toString(array('charset' => 'utf-8', 'canonical' => true)), true); |
|
677 | + return Horde_Stream_Wrapper_Combine::getStream( |
|
678 | + array($hdr->stream, |
|
679 | + $this->getBasePart()->toString( |
|
680 | + array('stream' => true, 'canonical' => true, 'encode' => Horde_Mime_Part::ENCODE_7BIT | Horde_Mime_Part::ENCODE_8BIT | Horde_Mime_Part::ENCODE_BINARY)) |
|
681 | + ) |
|
682 | + ); |
|
683 | + } |
|
684 | + |
|
685 | + return $this->_headers->toString(array('charset' => 'utf-8', 'canonical' => true)) . |
|
686 | 686 | $this->getBasePart()->toString(array('canonical' => true)); |
687 | - } |
|
687 | + } |
|
688 | 688 | |
689 | 689 | /** |
690 | 690 | * Convert charset of text-parts of message to utf-8. non static AND include Bcc |
@@ -696,7 +696,7 @@ discard block |
||
696 | 696 | * @return string|stream |
697 | 697 | */ |
698 | 698 | function convertMessageTextParts($message, $stream=false, $charset='utf-8', &$converted=false) |
699 | - { |
|
699 | + { |
|
700 | 700 | $headers = Horde_Mime_Headers::parseHeaders($message); |
701 | 701 | $this->addHeaders($headers); |
702 | 702 | $base = Horde_Mime_Part::parseMessage($message); |
@@ -815,7 +815,7 @@ |
||
815 | 815 | $list[$id] = ' ('.lang('conflict').') '.$resource['name']. ($resource['short_description'] ? ', ['.$resource['short_description'].']':''); |
816 | 816 | } |
817 | 817 | } else { |
818 | - $list[$id] = $resource['name']. ($resource['short_description'] ? ', ['.$resource['short_description'].']':''); |
|
818 | + $list[$id] = $resource['name']. ($resource['short_description'] ? ', ['.$resource['short_description'].']':''); |
|
819 | 819 | } |
820 | 820 | } |
821 | 821 | } else { |
@@ -81,8 +81,8 @@ |
||
81 | 81 | } |
82 | 82 | |
83 | 83 | public static function get_mimetype() { |
84 | - return 'text/csv'; |
|
85 | - } |
|
84 | + return 'text/csv'; |
|
85 | + } |
|
86 | 86 | |
87 | 87 | /** |
88 | 88 | * return html for options. |
@@ -288,10 +288,10 @@ |
||
288 | 288 | } |
289 | 289 | |
290 | 290 | /** |
291 | - * Convert some internal data to something with more meaning |
|
292 | - * |
|
293 | - * This is for something specific to Infolog, in addition to the normal conversions. |
|
294 | - */ |
|
291 | + * Convert some internal data to something with more meaning |
|
292 | + * |
|
293 | + * This is for something specific to Infolog, in addition to the normal conversions. |
|
294 | + */ |
|
295 | 295 | public static function convert(infolog_egw_record &$record) |
296 | 296 | { |
297 | 297 | // Stub, for now |
@@ -81,8 +81,8 @@ |
||
81 | 81 | } |
82 | 82 | |
83 | 83 | public static function get_mimetype() { |
84 | - return 'text/csv'; |
|
85 | - } |
|
84 | + return 'text/csv'; |
|
85 | + } |
|
86 | 86 | |
87 | 87 | /** |
88 | 88 | * return html for options. |