git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-66
<?php
-ini_set("include_path", "../../:./simpletest/");
+ini_set("include_path", "../../:./simpletest/:".ini_get('include_path'));
define('PATH', dirname(__FILE__));
require_once('unit_tester.php');
+require_once('mock_objects.php');
require_once('reporter.php');
?>
$this->assertIdentical($errors->failure, false);
}
- function testTrigger() {
+ function testTrig() {
$errors = new XOrgErrors();
- $errors->trigger("Foo error");
+ $errors->trig("Foo error");
$this->assertIdentical($errors->errs, Array("Foo error"));
$this->assertIdentical($errors->failure, false);
}
if (list($redir) = mysql_fetch_row($res)) {
list($login) = split('@', $redir);
} else {
- $page->trigger("il n'y a pas d'utilisateur avec cet alias melix");
+ $page->trig("il n'y a pas d'utilisateur avec cet alias melix");
}
mysql_free_result($res);
} else {
if ($i) {
$aliases = Array();
while (list($a) = mysql_fetch_row($res)) $aliases[] = $a;
- $page->trigger("Il y a $i utilisateurs avec cette adresse mail : ".join(', ', $aliases));
+ $page->trig("Il y a $i utilisateurs avec cette adresse mail : ".join(', ', $aliases));
} else {
- $page->trigger("il n'y a pas d'utilisateur avec cette adresse mail");
+ $page->trig("il n'y a pas d'utilisateur avec cette adresse mail");
}
} else {
list($login) = mysql_fetch_row($res);
if ($tmp = mysql_fetch_assoc($r)) {
$mr =& $tmp;
} else {
- $page->trigger("il n'y a pas d'utilisateur avec ce login (ou alors il a des homonymes)");
+ $page->trig("il n'y a pas d'utilisateur avec ce login (ou alors il a des homonymes)");
}
mysql_free_result($r);
}
case "add_fwd":
$email = $_REQUEST['email'];
if (!isvalid_email_redirection($email)) {
- $page->trigger("invalid email $email");
+ $page->trig("invalid email $email");
break;
}
$redirect->add_email(trim($email));
- $page->trigger("Ajout de $email effectué");
+ $page->trig("Ajout de $email effectué");
break;
case "del_fwd":
$globals->db->query("DELETE FROM aliases WHERE id='{$_REQUEST['user_id']}' AND alias='$val'
AND type!='a_vie' AND type!='homonyme'");
fix_bestalias($_REQUEST['user_id']);
- $page->trigger($val." a été supprimé");
+ $page->trig($val." a été supprimé");
break;
case "add_alias":
fputs($f,"1");
fclose($f);
- $page->trigger("updaté correctement.");
+ $page->trig("updaté correctement.");
// envoi du mail au webmaster
require_once("diogenes.hermes.inc.php");
$mailer = new HermesMailer();
case "u_kill":
require_once("user.func.inc.php");
user_clear_all_subs($_REQUEST['user_id']);
- $page->trigger("'{$_REQUEST['user_id']}' a été désinscrit !");
+ $page->trig("'{$_REQUEST['user_id']}' a été désinscrit !");
require_once("diogenes.hermes.inc.php");
$mailer = new HermesMailer();
$mailer->setFrom("webmaster@polytechnique.org");
//Quelques vérifications sur l'alias (caractères spéciaux)
if (!preg_match( "/^[a-zA-Z0-9\-.]{3,20}$/", $alias)) {
- $page->trigger("L'adresse demandée n'est pas valide.
- Vérifie qu'elle comporte entre 3 et 20 caractères
- et qu'elle ne contient que des lettres non accentuées,
- des chiffres ou les caractères - et .");
+ $page->trig("L'adresse demandée n'est pas valide.
+ Vérifie qu'elle comporte entre 3 et 20 caractères
+ et qu'elle ne contient que des lettres non accentuées,
+ des chiffres ou les caractères - et .");
$page->run('error');
} else {
//vérifier que l'alias n'est pas déja pris
$result = $globals->db->query("SELECT 1 FROM virtual WHERE alias='$alias@{$globals->mail->alias_dom}'");
if (mysql_num_rows($result)>0) {
- $page->trigger("L'alias $alias@{$globals->mail->alias_dom} a déja été attribué.
- Tu ne peux donc pas l'obtenir.");
+ $page->trig("L'alias $alias@{$globals->mail->alias_dom} a déja été attribué.
+ Tu ne peux donc pas l'obtenir.");
$page->run('error');
}
$it = new ValidateIterator ();
while($req = $it->next()) {
if ($req->type == "alias" and $req->alias == $alias) {
- $page->trigger("L'alias $alias@{$globals->mail->alias_dom} a déja été demandé.
- Tu ne peux donc pas l'obtenir pour l'instant.");
+ $page->trig("L'alias $alias@{$globals->mail->alias_dom} a déja été demandé.
+ Tu ne peux donc pas l'obtenir pour l'instant.");
$page->run('error');
}
}
$user = $_REQUEST['user'];
if (preg_match('/^\d+$/', $user)) {
if ($globals->db->query("DELETE FROM contacts WHERE uid = '{$_SESSION['uid']}' AND contact='{$user}'")) {
- $page->trigger("Contact retiré !");
+ $page->trig("Contact retiré !");
}
} else {
if ($globals->db->query(
INNER JOIN aliases AS a ON (c.contact=a.id and a.type!='homonyme')
WHERE c.uid = '{$_SESSION['uid']}' AND a.alias='$user'"
)) {
- $page->trigger("Contact retiré !");
+ $page->trig("Contact retiré !");
}
}
if (($res = $globals->db->query("SELECT id FROM aliases WHERE alias='{$_REQUEST['user']}' AND type!='homonyme'")) && mysql_num_rows($res)==1) {
list($cont_user_id) = mysql_fetch_row($res);
if ($globals->db->query("INSERT INTO contacts set uid = '{$_SESSION['uid']}', contact = '$cont_user_id'")) {
- $page->trigger('Contact ajouté !');
+ $page->trig('Contact ajouté !');
} else
- $page->trigger('Contact déjà dans la liste !');
+ $page->trig('Contact déjà dans la liste !');
} else {
- $page->trigger('Utilisateur inexistant ou non inscrit !');
+ $page->trig('Utilisateur inexistant ou non inscrit !');
}
}
}
if(preg_match('!^ *(\d{4}) *$!', $_REQUEST['promo'], $matches)) {
$p = intval($matches[1]);
if($p<1900 || $p>2100) {
- $page->trigger("la promo entrée est invalide");
+ $page->trig("la promo entrée est invalide");
} else {
if(isset($_REQUEST['add_promo'])) $watch->_promos->add($p);
if(isset($_REQUEST['del_promo'])) $watch->_promos->del($p);
$p1 = intval($matches[1]);
$p2 = intval($matches[2]);
if($p1<1900 || $p1>2100) {
- $page->trigger('la première promo de la plage entrée est invalide');
+ $page->trig('la première promo de la plage entrée est invalide');
} elseif($p2<1900 || $p2>2100) {
- $page->trigger('la seconde promo de la plage entrée est invalide');
+ $page->trig('la seconde promo de la plage entrée est invalide');
} else {
if(isset($_REQUEST['add_promo'])) $watch->_promos->addRange($p1,$p2);
if(isset($_REQUEST['del_promo'])) $watch->_promos->delRange($p1,$p2);
}
} else {
- $page->trigger("La promo (ou la plage de promo) entrée est dans un format incorrect.");
+ $page->trig("La promo (ou la plage de promo) entrée est dans un format incorrect.");
}
}
$mail->setSubject("Une de tes adresse de redirection Polytechnique.org ne marche plus !!");
$mail->setTxtBody($message);
$mail->send();
- $page->trigger("Mail envoyé ! :o)");
+ $page->trig("Mail envoyé ! :o)");
}
} elseif (array_key_exists('email', $_POST)) {
$email = valide_email($_POST['email']);
}
if ($_REQUEST['to'] == '' and $_REQUEST['cc'] == '' and $autre_to == '') {
- $page->trigger("Indique au moins un destinataire.");
+ $page->trig("Indique au moins un destinataire.");
} else {
require_once("diogenes.hermes.inc.php");
//$_REQUEST['contenu'] = chunk_split($_REQUEST['contenu'], 76, "\n"); // pas bon, ne tient pas compte des mots
if (!empty($_REQUEST['bcc'])) $mymail->addBcc($_REQUEST['bcc']);
$mymail->setTxtBody(wordwrap($_REQUEST['contenu'],72,"\n"));
if ($mymail->send()) {
- $page->trigger("Ton mail a bien été envoyé.");
+ $page->trig("Ton mail a bien été envoyé.");
$_REQUEST = array();
} else {
- $page->trigger("Erreur lors de l'envoi du courriel, réessaye.");
+ $page->trig("Erreur lors de l'envoi du courriel, réessaye.");
}
} // ! if ($_REQUEST['to'] == '' and $_REQUEST['cc'] == '')
}
$page->assign('forlife', $forlife);
if(!isvalid_email($_REQUEST["email"])) {
- $page->trigger("Le champ 'E-mail' n'est pas valide.");
+ $page->trig("Le champ 'E-mail' n'est pas valide.");
}
if (!isvalid_email_redirection($_REQUEST["email"])) {
- $page->trigger("\"$forlife@polytechnique.org\" doit renvoyer vers un email existant valide.
+ $page->trig("\"$forlife@polytechnique.org\" doit renvoyer vers un email existant valide.
En particulier, il ne peut pas être renvoyé vers lui-même.");
}
if (!ereg("[0-3][0-9][0-1][0-9][1][9]([0-9]{2})", $_REQUEST["naissance"])) {
- $page->trigger("La 'Date de naissance' n'est pas correcte.
+ $page->trig("La 'Date de naissance' n'est pas correcte.
Elle est obligatoire pour continuer mais ne sera jamais visible sur le site par la suite.");
}
$arr = $client->mass_subscribe($liste, Array($_REQUEST['add_member']));
if(is_array($arr)) {
foreach($arr as $addr) {
- $page->trigger("{$addr[0]} inscrit.");
+ $page->trig("{$addr[0]} inscrit.");
}
}
if(isset($_REQUEST['add_owner'])) {
if($client->add_owner($liste, $_REQUEST['add_owner'])) {
- $page->trigger($_REQUEST['add_owner']." ajouté aux modérateurs.");
+ $page->trig($_REQUEST['add_owner']." ajouté aux modérateurs.");
}
}
if(isset($_POST['submit'])) {
if(empty($_POST['liste'])) {
- $page->trigger('champs «addresse souhaitée» vide');
+ $page->trig('champs «addresse souhaitée» vide');
}
if(!preg_match("/^[a-zA-Z0-9\-]*$/", $_POST['liste'])) {
- $page->trigger('le nom de la liste ne doit contenir que des lettres, chiffres et tirets');
+ $page->trig('le nom de la liste ne doit contenir que des lettres, chiffres et tirets');
}
$res = $globals->db->query("SELECT COUNT(*) FROM aliases WHERE alias='{$_POST['liste']}'");
mysql_free_result($res);
if($n) {
- $page->trigger('cet alias est déjà pris');
+ $page->trig('cet alias est déjà pris');
}
if(empty($_POST['desc'])) {
- $page->trigger('le sujet est vide');
+ $page->trig('le sujet est vide');
}
if(!count($owners)) {
- $page->trigger('pas de gestionnaire');
+ $page->trig('pas de gestionnaire');
}
if(count($members)<4) {
- $page->trigger('pas assez de membres');
+ $page->trig('pas assez de membres');
}
if (!$page->nb_errs()) {
// traitement des paramètres éventuels
if (!empty($_GET["del"])) {
$globals->db->query("DELETE FROM marketing WHERE id ='{$_GET['del']}'");
- $page->trigger("Entrée effacée");
+ $page->trig("Entrée effacée");
}
if (!empty($_GET["done"])) {
$globals->db->query("UPDATE marketing SET flags = CONCAT(flags,',envoye') WHERE id ='{$_GET['done']}'");
- $page->trigger("Entrée mise à jour");
+ $page->trig("Entrée mise à jour");
}
$sql = "SELECT m.id, m.expe, m.dest, m.email,
$pay = new Payment(isset($_REQUEST['ref']) ? $_REQUEST['ref'] : -1);
if($pay->flags->hasflag('old')){
- $page->trigger("La transaction selectionnée est périmée.");
+ $page->trig("La transaction selectionnée est périmée.");
$pay = new Payment();
}
$val = (($op=="submit") && isset($_REQUEST['montant'])) ? $_REQUEST['montant'] : $pay->montant_def;
if (($e = $pay->check($val)) !== true) {
- $page->trigger($e);
+ $page->trig($e);
}
if ($op=='submit') {
if (isset($_REQUEST['birth'])) {
//en cas d'erreur :
if (!ereg("[0-3][0-9][0-1][0-9][1][9]([0-9]{2})", $_REQUEST['birth'])) {
- $page->trigger("Date de naissance incorrecte ou incohérente.");
$page->assign('etat_naissance','query');
- $page->run();//on reaffiche le formulaire
+ $page->trig_run("Date de naissance incorrecte ou incohérente.");
}
//sinon
if (isset($_REQUEST['login']) and isset($_REQUEST['birth'])) {
if (!ereg("[0-3][0-9][0-1][0-9][1][9]([0-9]{2})", $_REQUEST['birth'])) {
- $page->trigger("Date de naissance incorrecte ou incohérente");
- $page->run();
+ $page->trig_run("Date de naissance incorrecte ou incohérente");
}
$birth = sprintf("%s-%s-%s", substr($_REQUEST["birth"],4,4), substr($_REQUEST["birth"],2,2), substr($_REQUEST["birth"],0,2));
$logger = $_SESSION['log'] = (isset($logger) ? $logger : new DiogenesCoreLogger($uid));
$logger->log("recovery",$emails);
} else {
- $page->trigger("Pas de résultat correspondant aux champs entrés dans notre base de données.");
+ $page->trig("Pas de résultat correspondant aux champs entrés dans notre base de données.");
}
}
// net
$fp = fopen($_REQUEST["photo"], 'r');
if (!$fp) {
- $page->trigger("Fichier inexistant");
+ $page->trig("Fichier inexistant");
} else {
$attach = fread($fp, 35000);
fclose($fp);
$xpromo = intval($_REQUEST['xpromo']);
if ( $xpromo<1900 || $xpromo>date('Y') || ($xpromo == -1 && $_SESSION['perms']!="admin") ) {
- $page->trigger("Promotion incorrecte (saisir au format YYYY). Recommence.");
+ $page->trig("Promotion incorrecte (saisir au format YYYY). Recommence.");
$page->assign('error', true);
} else {
$trombi = new Trombi('getList');
$globals->db->query("update auth_user_quick set redirecturl = '{$_REQUEST['url']}' where user_id = '{$_SESSION['uid']}'");
if (mysql_errno() == 0) {
$_SESSION['log']->log("carva_add","http://".$_REQUEST['url']);
- $page->trigger("Redirection activée vers <a href='http://{$_REQUEST['url']}'>{$_REQUEST['url']}</a>");
+ $page->trig("Redirection activée vers <a href='http://{$_REQUEST['url']}'>{$_REQUEST['url']}</a>");
} else {
- $page->trigger('Erreur de mise à jour');
+ $page->trig('Erreur de mise à jour');
}
} elseif (isset($_REQUEST['submit']) and $_REQUEST['submit'] == "Supprimer") {
// on supprime la redirection
if (mysql_errno() == 0) {
$_SESSION['log']->log("carva_del",$_REQUEST['url']);
$_POST['url'] = '';
- $page->trigger('Redirection supprimée');
+ $page->trig('Redirection supprimée');
} else {
- $page->trigger('Erreur de suppression');
+ $page->trig('Erreur de suppression');
}
}
function sortie_id($err) {
global $page;
new_skinned_page('inscription/step1.tpl', AUTH_PUBLIC);
- $page->trigger($err);
- $page->run();
+ $page->trig_run($err);
}
$promo = intval($_REQUEST["promo"]);
// validité du mobile
if (strlen(strtok($mobile,"<>{}@&#~\/:;?,!§*_`[]|%$^=")) < strlen($mobile)) {
- $page->trigger("Le champ 'Téléphone mobile' contient un caractère interdit.");
+ $page->trig("Le champ 'Téléphone mobile' contient un caractère interdit.");
}
// correction du champ web si vide
$web='';
} elseif (!preg_match("{^(https?|ftp)://[a-zA-Z0-9._%#+/?=&~-]+$}i", $web)) {
// validité de l'url donnée dans web
- $page->trigger("URL incorrecte dans le champ 'Page web perso', une url doit commencer par
+ $page->trig("URL incorrecte dans le champ 'Page web perso', une url doit commencer par
http:// ou https:// ou ftp:// et ne pas contenir de caractères interdits");
} else {
$web = str_replace('&', '&', $web);
//validité du champ libre
if (strlen(strtok($libre,"<>")) < strlen($libre))
{
- $page->trigger("Le champ 'Complément libre' contient un caractère interdit.");
+ $page->trig("Le champ 'Complément libre' contient un caractère interdit.");
}
?>
$mentor_expertise = stripslashes($_POST['mentor_expertise']);
if(!empty($mentor_expertise)){
if (strlen(strtok($mentor_expertise,"<>{}~§`|%$^")) < strlen($mentor_expertise)){//TODO: affiner la liste
- $page->trigger("L'expertise contient un caractère interdit.");
+ $page->trig("L'expertise contient un caractère interdit.");
}
}
}
function ThrowError($explain)
{
global $page;
- $page->trigger('Erreur : '.$explain);
- $page->run();
+ $page->trig_run('Erreur : '.$explain);
}
}
{
global $globals;
- $this->setLang('fr_FR');
+ setlocale(LC_MESSAGES, 'fr_FR');
+ setlocale(LC_TIME, 'fr_FR');
$this->template_dir = $globals->spoolroot."/templates/";
$this->compile_dir = $globals->spoolroot."/templates_c/";
$this->register_block('dynamic', 'block_dynamic', false);
$this->register_function('dyn', 'function_dyn', false);
$this->register_function('implode', 'function_implode');
- $this->register_prefilter('triple_quote_to_gettext');
$this->register_prefilter('at_to_globals');
// if necessary, construct new session
}
// }}}
- // {{{ function setLang()
-
- function setLang($lang=null)
- {
- global $globals;
- $locale = empty($lang) ? 'fr_FR' : $lang;
- setlocale(LC_MESSAGES, $locale);
- setlocale(LC_TIME, $locale);
- $this->compile_id = $locale;
- bindtextdomain('xorg', $globals->spoolroot.'/locale/');
- textdomain('xorg');
- }
-
- // }}}
// {{{ function run()
function run($append_to_id="")
}
// }}}
- // {{{ function trigger()
+ // {{{ function nb_errs()
- function trigger($msg)
+ function nb_errs()
{
- $this->_errors->trigger($msg);
+ return count($this->_errors->errs);
}
// }}}
- // {{{ function nb_errs()
+ // {{{ function trig()
- function nb_errs()
+ function trig($msg)
{
- return count($this->_errors->errs);
+ $this->_errors->trig($msg);
+ }
+
+ // {{{ function trig()
+
+ function trig_run($msg)
+ {
+ $this->_errors->trig($msg);
+ $this->run();
}
// }}}
}
// }}}
- // {{{ function xorg_clear_cache()
-
- function xorg_clear_cache($tpl)
- {
- if ($this->_page_type == NO_SKIN) {
- return parent::clear_cache($tpl);
- } else {
- return parent::clear_cache(null, $tpl);
- }
- }
-
- // }}}
// {{{ function make_id()
function make_id($append_to_id="")
{ }
// }}}
- // {{{ function trigger
+ // {{{ function trig
- function trigger($text) {
+ function trig($text) {
$this->errs[] = $text;
}
// {{{
function fail($text) {
- $this->trigger($text);
+ $this->trig($text);
$this->failure = true;
}
}
// }}}
-// {{{ function triple_quote_to_gettext()
-
-/**
- * compilation plugin used for i18n purposes.
- *
- * Not used.
- */
-function triple_quote_to_gettext($tpl_source, &$smarty)
-{
- return preg_replace('/"""(.*?)"""/se', 'gettext(stripslashes(\'\\1\'))',$tpl_source);
-}
-
-// }}}
// {{{ function at_to_globals()
/**