mb_extension = FALSE; }else{ $this->value = $value; $this->enc_before_edit = mb_detect_encoding($value); if($this->enc_before_edit != "ASCII"){ $this->write_protect = TRUE; } } } function execute() { /* Call parent execute */ plugin::execute(); /* We now split cn/FAItemplatePath to make things more clear... */ $smarty = get_smarty(); $smarty->assign("templateValue",htmlspecialchars(($this->value))); $smarty->assign("write_protect",$this->write_protect); $smarty->assign("mb_extension",$this->mb_extension); return($smarty->fetch(get_template_path('faiTemplateEdit.tpl', TRUE))); } /* Save data to object */ function save_object() { if(!$this->mb_extension) return; if(isset($_POST['templateValue']) && !$this->write_protect){ $this->value = get_post('templateValue'); $this->enc_after_edit = mb_detect_encoding($this->value); } if(isset($_POST['editAnyway'])) $this->write_protect = FALSE; } /* Check supplied data */ function check() { $message = array(); if($this->mb_extension && !$this->write_protect && $this->enc_after_edit !== $this->enc_before_edit ){ $msg = sprintf(_("The file encodig has changed from '%s' to '%s'. Do you really want to save?"), "".$this->enc_before_edit."","".$this->enc_after_edit.""); $message[] = $msg; $this->enc_before_edit = $this->enc_after_edit; } return($message); } function save() { return($this->value); } } // vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: ?>