[gosa.git] / branches / old / gosa-plugins / mail / personal / mail / sieve / class_sieveElement_Comment.inc
diff --git a/branches/old/gosa-plugins/mail/personal/mail/sieve/class_sieveElement_Comment.inc b/branches/old/gosa-plugins/mail/personal/mail/sieve/class_sieveElement_Comment.inc
--- /dev/null
@@ -0,0 +1,84 @@
+<?php
+
+/* Sieve comment tag */
+class sieve_comment
+{
+ var $data = "";
+ var $object_id= -1;
+ var $small = TRUE;
+
+ function get_sieve_script_part()
+ {
+ $str = "\n/*".$this->data."*/";
+ return($str);
+ }
+
+ function sieve_comment($data,$object_id)
+ {
+ $this->object_id = $object_id;
+
+ if($data === NULL){
+ $data = array('ELEMENTS' => array(array('class' => "quoted-string" ,"text" => "/*"._("Your comment here")."*/")));
+ }
+
+ foreach($data['ELEMENTS'] as $node){
+
+ $text = $node['text'];
+
+ /* Convert \t to spaces */
+ $text = preg_replace("#\t#"," ",$text);
+
+ /* Remove comment indicator '#' but keep spaces */
+ $text = preg_replace("/^([ ]*)\#/","\\1",$text);
+
+ /* Remove comment indicator '/ *' */
+ $text = preg_replace("#\/\*#","",$text);
+
+ /* Remove comment indicator '* /' */
+ $text = preg_replace("#\*\/#","",$text);
+
+ $this->data .= $text."\n";
+ }
+ $this->data = rtrim($this->data)."\n";
+ }
+
+ function check()
+ {
+ return(array()) ;
+ }
+
+ function save_object()
+ {
+ if(isset($_POST['comment_'.$this->object_id])){
+ $cm = stripslashes( $_POST['comment_'.$this->object_id]);
+ $cm = preg_replace("/\*\//","* /",$cm);
+ $this->data = $cm;
+ }
+
+ if(isset($_POST['toggle_small_'.$this->object_id])){
+ $this->small = !$this->small;
+ }
+ }
+
+ function execute()
+ {
+ $smarty = get_smarty();
+ $smarty->assign("ID", $this->object_id);
+ $smarty->assign("Small", $this->small);
+ $object_container = $smarty->fetch(get_template_path("templates/object_container.tpl",TRUE,dirname(__FILE__)));
+ $Comment = $this->data;
+
+ if($this->small){
+ $Comment = nl2br(preg_replace("/ /"," ",$Comment));
+ }
+
+ /* Create html object */
+ $smarty->assign("Comment",$Comment);
+ $smarty->assign("ID",$this->object_id);
+ $object = $smarty->fetch(get_template_path("templates/element_comment.tpl",TRUE,dirname(__FILE__)));
+ $str = preg_replace("/%%OBJECT_CONTENT%%/",addcslashes($object,"\\"),$object_container);
+ return($str);
+ }
+}
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>