egroupware/felamimail/inc/class.bosieve.inc.php

120 lines
3.4 KiB
PHP
Raw Normal View History

2007-04-15 18:29:22 +02:00
<?php
/***************************************************************************\
* eGroupWare - FeLaMiMail *
* http://www.linux-at-work.de *
* http://www.phpgw.de *
* http://www.egroupware.org *
* Written by : Lars Kneschke [lkneschke@linux-at-work.de] *
* ------------------------------------------------- *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; version 2 of the License. *
\***************************************************************************/
/* $Id: class.uisieve.inc.php,v 1.24 2005/11/30 08:29:45 ralfbecker Exp $ */
#include_once(EGW_SERVER_ROOT. '/felamimail/inc/Sieve.php');
include_once('Net/Sieve.php');
class bosieve extends Net_Sieve {
/**
* @var object $icServer object containing the information about the imapserver
*/
var $icServer;
/**
* @var object $icServer object containing the information about the imapserver
*/
var $scriptName;
/**
* @var object $error the last PEAR error object
*/
var $error;
function bosieve($_icServer)
{
parent::Net_Sieve();
$this->scriptName = (!empty($GLOBALS['egw_info']['user']['preferences']['felamimail']['sieveScriptName']) ? $GLOBALS['egw_info']['user']['preferences']['felamimail']['sieveScriptName'] : 'felamimail');
$this->displayCharset = $GLOBALS['egw']->translation->charset();
if(is_a($_icServer,'defaultimap') && $_icServer->enableSieve) {
$sieveHost = $_icServer->host;
$sievePort = $_icServer->sievePort;
$username = $_icServer->loginName;
$password = $_icServer->password;
$this->icServer = $_icServer;
} else {
die('Sieve not activated');
}
if(PEAR::isError($this->error = $this->connect($sieveHost , $sievePort) ) ){
return false;
}
if(PEAR::isError($this->error = $this->login($username, $password) ) ){
return false;
}
}
function getRules($_scriptName) {
return $this->rules;
}
function getVacation($_scriptName) {
return $this->vacation;
}
function setRules($_scriptName, $_rules)
{
$script =& CreateObject('felamimail.Script',$_scriptName);
if($script->retrieveRules($this)) {
$script->rules = $_rules;
$script->updateScript($this);
return true;
}
return false;
}
function setVacation($_scriptName, $_vacation)
{
$script =& CreateObject('felamimail.Script',$_scriptName);
if($script->retrieveRules($this)) {
$script->vacation = $_vacation;
$script->updateScript($this);
return true;
}
return false;
}
function retrieveRules($_scriptName) {
$script =& CreateObject('felamimail.Script',$_scriptName);
if($script->retrieveRules($this)) {
$this->rules = $script->rules;
$this->vacation = $script->vacation;
return true;
}
return false;
}
function updateScript($_scriptName, $_rules) {
$script =& CreateObject('felamimail.Script',$_scriptName);
$script->rules = $_rules;
$result = $script->updateScript($this);
return $result;
}
}
?>