X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Femails.inc.php;h=0a7cf14d10b71e0cab13b9885e7083cdea6478db;hb=9f94a7d4fefc0ccc2dff7df27721727cc84ae96f;hp=b853b0375b3c3e5ebd1f974a47f941819fd43063;hpb=08cce2ff528b38bde27cdec6d6bc28d6af4a42d4;p=platal.git diff --git a/include/emails.inc.php b/include/emails.inc.php index b853b03..0a7cf14 100644 --- a/include/emails.inc.php +++ b/include/emails.inc.php @@ -33,7 +33,6 @@ define("ERROR_LOOP_EMAIL", 4); function fix_bestalias($uid) { - global $globals; $res = XDB::query("SELECT COUNT(*) FROM aliases WHERE id={?} AND FIND_IN_SET('bestalias',flags) AND type!='homonyme'", $uid); if ($n = $res->fetchOneCell()) { return; @@ -50,15 +49,17 @@ function fix_bestalias($uid) function valide_email($str) { - $em = trim(rtrim($str)); - $em = str_replace('<', '', $em); - $em = str_replace('>', '', $em); - list($ident, $dom) = explode('@', $em); - if ($dom == $globals->mail->domain or $dom == $globals->mail->domain2) { - list($ident1) = explode('_', $ident); - list($ident) = explode('+', $ident1); - } - return $ident . '@' . $dom; + global $globals; + + $em = trim(rtrim($str)); + $em = str_replace('<', '', $em); + $em = str_replace('>', '', $em); + list($ident, $dom) = explode('@', $em); + if ($dom == $globals->mail->domain or $dom == $globals->mail->domain2) { + list($ident1) = explode('_', $ident); + list($ident) = explode('+', $ident1); + } + return $ident . '@' . $dom; } // }}} @@ -67,16 +68,15 @@ function valide_email($str) class Bogo { // {{{ properties - + var $state; var $_states = Array('let_spams', 'tag_spams', 'tag_and_drop_spams', 'drop_spams'); // }}} // {{{ constructor - + function Bogo($uid) { - global $globals; $res = XDB::query('SELECT email FROM emails WHERE uid={?} AND flags="filter"', $uid); if ($res->numRows()) { $this->state = $res->fetchOneCell(); @@ -92,9 +92,9 @@ class Bogo function change($uid, $state) { - global $globals; $this->state = is_int($state) ? $this->_states[$state] : $state; - XDB::execute('UPDATE emails SET email={?} WHERE uid={?} AND flags = "filter"', $this->state, $uid); + XDB::execute('UPDATE emails SET email={?} WHERE uid={?} AND flags = "filter"', + $this->state, $uid); } // }}} @@ -131,11 +131,10 @@ class Email function activate($uid) { - global $globals; if (!$this->active) { XDB::execute("UPDATE emails SET flags = 'active' WHERE uid={?} AND email={?}", $uid, $this->email); - $_SESSION['log']->log("email_on", $this->email.($uid!=Session::getInt('uid') ? "(admin on $uid)" : "")); + $_SESSION['log']->log("email_on", $this->email.($uid!=S::v('uid') ? "(admin on $uid)" : "")); $this->active = true; } } @@ -145,11 +144,10 @@ class Email function deactivate($uid) { - global $globals; if ($this->active) { XDB::execute("UPDATE emails SET flags ='' WHERE uid={?} AND email={?}", $uid, $this->email); - $_SESSION['log']->log("email_off",$this->email.($uid!=Session::getInt('uid') ? "(admin on $uid)" : "") ); + $_SESSION['log']->log("email_off",$this->email.($uid!=S::v('uid') ? "(admin on $uid)" : "") ); $this->active = false; } } @@ -159,7 +157,6 @@ class Email function rewrite($rew, $uid) { - global $globals; if ($this->rewrite == $rew) { return; } @@ -188,7 +185,6 @@ class Redirect function Redirect($_uid) { - global $globals; $this->uid=$_uid; $res = XDB::iterRow(" SELECT email, flags='active', rewrite, panne @@ -218,12 +214,11 @@ class Redirect function delete_email($email) { - global $globals; if (!$this->other_active($email)) { return ERROR_INACTIVE_REDIRECTION; } XDB::execute('DELETE FROM emails WHERE uid={?} AND email={?}', $this->uid, $email); - $_SESSION['log']->log('email_del',$email.($this->uid!=Session::getInt('uid') ? " (admin on {$this->uid})" : "")); + $_SESSION['log']->log('email_del',$email.($this->uid!=S::v('uid') ? " (admin on {$this->uid})" : "")); foreach ($this->emails as $i=>$mail) { if ($email==$mail->email) { unset($this->emails[$i]); @@ -237,7 +232,6 @@ class Redirect function add_email($email) { - global $globals; $email_stripped = strtolower(trim($email)); if (!isvalid_email($email_stripped)) { return ERROR_INVALID_EMAIL; @@ -246,8 +240,8 @@ class Redirect return ERROR_LOOP_EMAIL; } XDB::execute('REPLACE INTO emails (uid,email,flags) VALUES({?},{?},"active")', $this->uid, $email); - if ($logger = Session::getMixed('log', null)) { // may be absent --> step4.php - $logger->log('email_add',$email.($this->uid!=Session::getInt('uid') ? " (admin on {$this->uid})" : "")); + if ($logger = S::v('log', null)) { // may be absent --> step4.php + $logger->log('email_add',$email.($this->uid!=S::v('uid') ? " (admin on {$this->uid})" : "")); } foreach ($this->emails as $mail) { if ($mail->email == $email_stripped) { @@ -263,7 +257,6 @@ class Redirect function modify_email($emails_actifs,$emails_rewrite) { - global $globals; foreach ($this->emails as $i=>$mail) { if (in_array($mail->email,$emails_actifs)) { $this->emails[$i]->activate($this->uid);