Platform  3.1
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
Class.MailAlias.php
Go to the documentation of this file.
1 <?php
2 /*
3  * @author Anakeen
4  * @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
5  * @package FDL
6 */
7 /**
8  * Mail Alias
9  *
10  * @author Anakeen 2000
11  * @version $Id: Class.MailAlias.php,v 1.6 2005/10/05 16:28:42 eric Exp $
12  * @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
13  * @package FDL
14  * @subpackage CORE
15  */
16 /**
17  */
18 // ---------------------------------------------------------------------------
19 include_once ('Class.DbObj.php');
20 include_once ('Class.Domain.php');
21 
22 class MailAlias extends DbObj
23 {
24  var $Class = '$Id: Class.MailAlias.php,v 1.6 2005/10/05 16:28:42 eric Exp $';
25 
26  var $fields = array(
27  "idalias",
28  "iddomain",
29  "iduser",
30  "alias",
31  "type",
32  "uptime",
33  "remove"
34  );
35 
36  var $id_fields = array(
37  "idalias"
38  );
39 
40  var $dbtable = "mailalias";
41 
42  var $sqlcreate = "
43 create table mailalias(
44  idalias int not null,
45  iddomain int not null,
46  iduser int not null,
47  primary key (idalias),
48  alias varchar(100),
49  type int,
50  uptime int,
51  remove int );
52 create index mailalias_idx on mailalias(idalias);
53 create sequence seqidalias;
54 ";
55 
56  function PreInsert()
57  {
58  if ($this->Exists($this->alias, $this->iddomain)) return ("alias already exists");
59  $res = $this->exec_query("select nextval ('seqidalias')");
60  $arr = $this->fetch_array(0);
61  $this->idalias = $arr["nextval"];
62  $this->uptime = time();
63  $this->remove = '0';
64  }
65 
66  function PreUpdate()
67  {
68  $this->uptime = time();
69  }
70 
71  function Remove()
72  {
73  $this->uptime = time();
74  $this->remove = '1';
75  $this->Modify();
76  }
77 
78  function PostInsert()
79  {
80  //$adm = new MailAdmin($this->db, $this->iddomain);
81  //$adm->Gen();
82 
83  }
84 
85  function PostUpdate()
86  {
87  $this->PostInsert();
88  }
89 
90  function Set($d, $u)
91  {
92  $q = new QueryDb($this->dbaccess, "MailAlias");
93  $q->basic_elem->sup_where = array(
94  "iddomain={$this->iddomain}",
95  "iduser={$this->iduser}"
96  );
97  $l = $q->Query(0, 0, "TABLE");
98  if ($q->nb > 0) $this->Affect($l[0]);
99  }
100 
101  function CheckUptime($domain, $time)
102  {
103  $q = new QueryDb($this->dbaccess, "MailAlias");
104  $q->basic_elem->sup_where = array(
105  "iddomain={$domain->iddomain}",
106  "uptime>$time"
107  );
108  $l = $q->Query();
109  return ($q->nb > 0);
110  }
111 
112  function Exists($alias, $iddomain)
113  {
114  $q = new QueryDb($this->dbaccess, "MailAlias");
115  $q->basic_elem->sup_where = array(
116  "iddomain=$iddomain",
117  "alias='$alias'"
118  );
119  $l = $q->Query();
120  return ($q->nb > 0);
121  }
122 } // End Class
123 
124 ?>
← centre documentaire © anakeen - published under CC License - Dynacase