require_once("include/core.inc.php");
+function i18n($_index) { global $philter; echo $philter->i18n($_index); }
+function _i18n($_index) { global $philter; return $philter->i18n($_index); }
+function bd() { global $philter; return ($philter->is_advanced() ? 'tmp_' : ''); }
+
/** Philter base configuration class
* This is the base class of Philter.
*/
function Philter() {
$this->config = array(
'db' => array('host', 'name', 'user', 'pwd', 'link'),
- 'path' => array('procmail', 'spool'),
+ 'path' => array('spool'),
'match_plugins' => array(),
'action_plugins' => array(),
- 'global_plugin' => array()
+ 'global_plugins' => array(),
+ 'i18n' => array()
);
$this->err = "";
}
+ function is_advanced() { return isset($_SESSION['philter_adv']); }
+ function set_advanced() { $_SESSION['philter_adv'] = true; }
+ function del_advanced() { unset($_SESSION['philter_adv']); }
+
+ /** returns the i18n string
+ * @param $_index the index of the string
+ * @returns the string or false
+ */
+ function i18n($_index) {
+ if(isset($this->config['i18n'][$_index]))
+ return $this->config['i18n'][$_index];
+ return false;
+ }
+
/** returns the error.
* @return the error string
*/
}
/** function that writes the procmailrc.
+ * @param &$procmail the string containing the procmail filter
+ * @param $filename the base filename of the procmailrc filter
* @return true if all is ok
*/
- function write_procmailrc() {
- // TODO
+ function write_procmailrc(&$procmail, $filename) {
+ $file = $this->config['path']['spool']."/".$filename;
+ $f = fopen($file.".tmp", "w");
+ fwrite($f, $procmail, strlen($procmail));
+ fclose($f);
+ rename($file.".tmp", $file);
return true;
}
return false;
}
- if(isset($this->config['global_plugin'][$rtti])) {
+ if(isset($this->config['global_plugins'][$rtti])) {
$this->err = "Philter::register_global_plugin : a plugin is already registerd";
return false;
}
- $this->config['global_plugin'][$rtti] = $_plugin;
+ $this->config['global_plugins'][$rtti] = $_plugin;
return true;
}