From b48a07581017be103129c0da02c09836b15e00cb Mon Sep 17 00:00:00 2001 From: x2000habouzit Date: Tue, 11 Jul 2006 17:33:48 +0000 Subject: [PATCH] migrate carnet git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@434 839d8a87-29fc-0310-9880-83ba4fa771e5 --- bin/cron/notifs.send.php | 4 +- hooks/tmp.inc.php | 2 +- htdocs/carnet/index.php | 36 ----- htdocs/carnet/mescontacts.php | 155 ---------------------- htdocs/carnet/mescontacts_pdf.php | 49 ------- htdocs/carnet/notifs.php | 73 ---------- include/contacts.pdf.inc.php | 24 ++-- modules/carnet.php | 273 +++++++++++++++++++++++++++++++++++++- templates/carnet/index.tpl | 8 +- templates/carnet/mescontacts.tpl | 16 +-- templates/carnet/notifs.tpl | 18 +-- templates/carnet/panel.tpl | 4 +- templates/carnet/rss.tpl | 2 +- templates/fiche.tpl | 4 +- templates/include/minifiche.tpl | 6 +- 15 files changed, 314 insertions(+), 360 deletions(-) delete mode 100644 htdocs/carnet/index.php delete mode 100644 htdocs/carnet/mescontacts.php delete mode 100644 htdocs/carnet/mescontacts_pdf.php delete mode 100644 htdocs/carnet/notifs.php diff --git a/bin/cron/notifs.send.php b/bin/cron/notifs.send.php index db8ec8b..feaa0c1 100755 --- a/bin/cron/notifs.send.php +++ b/bin/cron/notifs.send.php @@ -67,7 +67,7 @@ EOF; . "Tu recois ce mail car tu as activé la notification automatique \n" . "par mail des évènements que tu surveilles.\n\n" . "Tu peux changer cette option sur :\n" - . " {$globals->baseurl}/carnet/notifs.php"; + . " {$globals->baseurl}/carnet/notifs"; $html .= <<

L'équipe de Polytechnique.org

@@ -75,7 +75,7 @@ EOF;

Tu recois ce mail car tu as activé la notification automatique par mail des évènements que tu surveilles.

-

Tu peux changer cette option sur la page +

Tu peux changer cette option sur la page de configuration des notifications

diff --git a/hooks/tmp.inc.php b/hooks/tmp.inc.php index dd8f471..dcc6681 100644 --- a/hooks/tmp.inc.php +++ b/hooks/tmp.inc.php @@ -24,7 +24,7 @@ function tmp_menu() global $globals; $globals->menu->addPrivateEntry(XOM_CUSTOM, 10, 'Mon profil', 'profil.php'); - $globals->menu->addPrivateEntry(XOM_CUSTOM, 20, 'Mes contacts', 'carnet/mescontacts.php'); + $globals->menu->addPrivateEntry(XOM_CUSTOM, 20, 'Mes contacts', 'carnet/contacts'); $globals->menu->addPrivateEntry(XOM_CUSTOM, 30, 'Mon carnet', 'carnet/'); $globals->menu->addPrivateEntry(XOM_CUSTOM, 40, 'Mon mot de passe', 'password'); $globals->menu->addPrivateEntry(XOM_CUSTOM, 50, 'Mes préférences', 'prefs'); diff --git a/htdocs/carnet/index.php b/htdocs/carnet/index.php deleted file mode 100644 index f780e67..0000000 --- a/htdocs/carnet/index.php +++ /dev/null @@ -1,36 +0,0 @@ -assign('xorg_title','Polytechnique.org - Mon carnet'); - -if (Session::has('core_rss_hash')) { - $page->assign('xorg_rss', - array("title" => "Polytechnique.org :: Carnet", - "href" => "/carnet/rss/".Session::get('forlife')."/".Session::get('core_rss_hash')."/rss..xml")); -} - -$page->assign('refe',$_SERVER['PHP_SELF']); - -$page->run(); - -?> diff --git a/htdocs/carnet/mescontacts.php b/htdocs/carnet/mescontacts.php deleted file mode 100644 index cffb138..0000000 --- a/htdocs/carnet/mescontacts.php +++ /dev/null @@ -1,155 +0,0 @@ -assign('xorg_title','Polytechnique.org - Mes contacts'); - -$uid = Session::getInt('uid'); -$user = Env::get('user'); - -switch (Env::get('action')) { - case 'retirer': - if (preg_match('/^\d+$/', $user)) { - if ($globals->xdb->execute('DELETE FROM contacts WHERE uid = {?} AND contact = {?}', $uid, $user)) - { - $page->trig("Contact retiré !"); - } - } else { - if ($globals->xdb->execute( - 'DELETE FROM contacts - USING contacts AS c - INNER JOIN aliases AS a ON (c.contact=a.id and a.type!="homonyme") - WHERE c.uid = {?} AND a.alias={?}', $uid, $user)) - { - $page->trig("Contact retiré !"); - } - } - break; - - case 'ajouter': - require_once('user.func.inc.php'); - if (($login = get_user_login($user)) !== false) { - if ($globals->xdb->execute( - 'INSERT INTO contacts (uid, contact) - SELECT {?}, id - FROM aliases - WHERE alias = {?}', $uid, $login)) - { - $page->trig('Contact ajouté !'); - } else { - $page->trig('Contact déjà dans la liste !'); - } - } -} - -if(Get::get('trombi')) { - require_once('trombi.inc.php'); - function getList($offset,$limit) { - global $globals; - $uid = Session::getInt('uid'); - $res = $globals->xdb->query("SELECT COUNT(*) FROM contacts WHERE uid = {?}", $uid); - $total = $res->fetchOneCell(); - - $order = Get::get('order'); - $orders = Array( - 'nom' => 'nom DESC, u.prenom, u.promo', - 'promo' => 'promo DESC, nom, u.prenom', - 'last' => 'u.date DESC, nom, u.prenom, promo'); - if ($order != 'promo' && $order != 'last') - $order = 'nom'; - $order = $orders[$order]; - if (Get::get('inv') == '') - $order = str_replace(" DESC,", ",", $order); - - $res = $globals->xdb->query(" - SELECT u.prenom, IF(u.nom_usage='',u.nom,u.nom_usage) AS nom, a.alias AS forlife, u.promo - FROM contacts AS c - INNER JOIN auth_user_md5 AS u ON (u.user_id = c.contact) - INNER JOIN aliases AS a ON (u.user_id = a.id AND a.type='a_vie') - WHERE c.uid = {?} - ORDER BY $order - LIMIT {?}, {?}", $uid, $offset*$limit, $limit); - $list = $res->fetchAllAssoc(); - - return Array($total, $list); - } - - $trombi = new Trombi('getList'); - $trombi->setNbRows(4); - $page->assign_by_ref('trombi',$trombi); - - $order = Get::get('order'); - if ($order != 'promo' && $order != 'last') - $order = 'nom'; - $page->assign('order', $order); - $page->assign('inv', Get::get('inv')); -} else { - - $order = Get::get('order'); - $orders = Array( - 'nom' => 'sortkey DESC, a.prenom, a.promo', - 'promo' => 'promo DESC, sortkey, a.prenom', - 'last' => 'a.date DESC, sortkey, a.prenom, promo'); - if ($order != 'promo' && $order != 'last') - $order = 'nom'; - $page->assign('order', $order); - $page->assign('inv', Get::get('inv')); - $order = $orders[$order]; - if (Get::get('inv') == '') - $order = str_replace(" DESC,", ",", $order); - - $sql = "SELECT contact AS id, - a.*, l.alias AS forlife, - 1 AS inscrit, - a.perms != 'pending' AS wasinscrit, - a.deces != 0 AS dcd, a.deces, a.matricule_ax, FIND_IN_SET('femme', a.flags) AS sexe, - e.entreprise, es.label AS secteur, ef.fonction_fr AS fonction, - IF(n.nat='',n.pays,n.nat) AS nat, n.a2 AS iso3166, - ad0.text AS app0text, ad0.url AS app0url, ai0.type AS app0type, - ad1.text AS app1text, ad1.url AS app1url, ai1.type AS app1type, - adr.city, gp.a2, gp.pays AS countrytxt, gr.name AS region, - IF(a.nom_usage<>'',a.nom_usage,a.nom) AS sortkey - FROM contacts AS c - INNER JOIN auth_user_md5 AS a ON (a.user_id = c.contact) - INNER JOIN aliases AS l ON (a.user_id = l.id AND l.type='a_vie') - LEFT JOIN entreprises AS e ON (e.entrid = 0 AND e.uid = a.user_id) - LEFT JOIN emploi_secteur AS es ON (e.secteur = es.id) - LEFT JOIN fonctions_def AS ef ON (e.fonction = ef.id) - LEFT JOIN geoloc_pays AS n ON (a.nationalite = n.a2) - LEFT JOIN applis_ins AS ai0 ON (a.user_id = ai0.uid AND ai0.ordre = 0) - LEFT JOIN applis_def AS ad0 ON (ad0.id = ai0.aid) - LEFT JOIN applis_ins AS ai1 ON (a.user_id = ai1.uid AND ai1.ordre = 1) - LEFT JOIN applis_def AS ad1 ON (ad1.id = ai1.aid) - LEFT JOIN adresses AS adr ON (a.user_id = adr.uid AND FIND_IN_SET('active', adr.statut)) - LEFT JOIN geoloc_pays AS gp ON (adr.country = gp.a2) - LEFT JOIN geoloc_region AS gr ON (adr.country = gr.a2 AND adr.region = gr.region) - WHERE c.uid = $uid - ORDER BY ".$order; - - $page->assign_by_ref('citer', $globals->xdb->iterator($sql)); -} - -$page->run(); - -// vim:set et sw=4 sts=4 sws=4: -?> diff --git a/htdocs/carnet/mescontacts_pdf.php b/htdocs/carnet/mescontacts_pdf.php deleted file mode 100644 index 26c5b2c..0000000 --- a/htdocs/carnet/mescontacts_pdf.php +++ /dev/null @@ -1,49 +0,0 @@ -xdb->iterRow($sql, Session::getInt('uid')); -$pdf = new ContactsPDF(); - -while (list($alias) = $citer->next()) { - $user = get_user_details($alias); - $pdf->addContact($user, Env::has('photo')); -} -$pdf->Output(); - -?> diff --git a/htdocs/carnet/notifs.php b/htdocs/carnet/notifs.php deleted file mode 100644 index 85c811e..0000000 --- a/htdocs/carnet/notifs.php +++ /dev/null @@ -1,73 +0,0 @@ -xdb->query("SELECT promo_sortie FROM auth_user_md5 WHERE user_id = {?}", Session::getInt('uid', -1)); -$promo_sortie = $res->fetchOneCell(); -$page->assign('promo_sortie', $promo_sortie); - -if(Env::has('promo')) { - if(preg_match('!^ *(\d{4}) *$!', Env::get('promo'), $matches)) { - $p = intval($matches[1]); - if($p<1900 || $p>2100) { - $page->trig("la promo entrée est invalide"); - } else { - if (Env::has('add_promo')) $watch->_promos->add($p); - if (Env::has('del_promo')) $watch->_promos->del($p); - } - } elseif (preg_match('!^ *(\d{4}) *- *(\d{4}) *$!', Env::get('promo'), $matches)) { - $p1 = intval($matches[1]); - $p2 = intval($matches[2]); - if($p1<1900 || $p1>2100) { - $page->trig('la première promo de la plage entrée est invalide'); - } elseif($p2<1900 || $p2>2100) { - $page->trig('la seconde promo de la plage entrée est invalide'); - } else { - if (Env::has('add_promo')) $watch->_promos->addRange($p1,$p2); - if (Env::has('del_promo')) $watch->_promos->delRange($p1,$p2); - } - } else { - $page->trig("La promo (ou la plage de promo) entrée est dans un format incorrect."); - } -} - -if (Env::has('del_nonins')) $watch->_nonins->del(Env::get('del_nonins')); -if (Env::has('add_nonins')) $watch->_nonins->add(Env::get('add_nonins')); -if (Env::has('subs')) $watch->_subs->update('sub'); -if (Env::has('flags_contacts')) { - $watch->watch_contacts = Env::getBool('contacts'); - $watch->saveFlags(); -} -if (Env::has('flags_mail')) { - $watch->watch_mail = Env::getBool('mail'); - $watch->saveFlags(); -} - -$page->assign_by_ref('watch', $watch); -$page->run(); - -// vim:set et sws=4 sw=4 sts=4: -?> diff --git a/include/contacts.pdf.inc.php b/include/contacts.pdf.inc.php index f61732c..88b2658 100644 --- a/include/contacts.pdf.inc.php +++ b/include/contacts.pdf.inc.php @@ -38,9 +38,9 @@ class ContactsPDF extends FPDF $this->AddFont('Vera Sans', '', 'Vera.php'); $this->AddFont('Vera Sans', 'I', 'VeraIt.php'); $this->AddFont('Vera Sans', 'B', 'VeraBd.php'); - + $this->AddFont('Vera Mono', '', 'VeraMono.php'); - + $this->SetTitle($this->title); $this->SetCreator('Site Polytechnique.org'); $this->AddPage(); @@ -74,7 +74,7 @@ class ContactsPDF extends FPDF $this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy)); } } - + function Header() { @@ -84,7 +84,7 @@ class ContactsPDF extends FPDF $this->Text(55,190,"informations limitées à un usage"); $this->Text(40,210,"strictement personnel et non commercial"); $this->Rotate(0); - + $this->setLeftMargin(5); $this->setRightMargin(5); $this->SetFont('Vera Sans', 'B', 16); @@ -95,7 +95,7 @@ class ContactsPDF extends FPDF $this->SetFillColor(245, 248, 252); $this->Cell(200, 10, $this->title, 1, 1, 'C', 1); $this->Image(dirname(dirname(__FILE__)).'/htdocs/images/logo.png', 5, 5, 10, 10, 'png', 'https://www.polytechnique.org/'); - + $this->Ln(10); $this->y0 = $this->GetY(); $this->ColSetup(false); @@ -155,10 +155,10 @@ class ContactsPDF extends FPDF $this->SetFont('Vera '.$font, '', 8); $this->setY($y); $first = 1; - + $this->setX($x+25); $this->MultiCell(65, 4, $r, '', 1); - + $this->setY(max($y1, $this->getY())+0.5); $this->setX($x); } @@ -193,7 +193,7 @@ class ContactsPDF extends FPDF if ($a['entreprise']) { $this->TableRow('Entreprise', $a['entreprise']); } - + if ($a['adr1'] || $a['adr2'] || $a['adr3'] || $a['postcode'] || $a['city']) { $r = ''; $r = trim("$r\n".$a['adr1']); @@ -272,12 +272,12 @@ class ContactsPDF extends FPDF $photo = $res->fetchOneAssoc(); $width = $photo['x'] * 20/$photo['y']; $GLOBALS["p{$x['user_id']}"] = $photo['attach']; - + $_x = $this->getX(); $_y = $this->getY(); $this->Cell(0, 20, '', '', 0, '', 1); $this->Image("var://p{$x['user_id']}", $_x, $_y, $width, 20, $photo['attachmime']); - + if ($this->error) { $this = $old2; } else { @@ -292,7 +292,7 @@ class ContactsPDF extends FPDF if (!$ok) { $this->MultiCell(0, 6, $nom, "T", 'C', 1); } - + if ($x['mobile']) { $this->Space(); $this->TableRow('mobile', $x['mobile'], 'Mono'); @@ -302,7 +302,7 @@ class ContactsPDF extends FPDF $this->Space(); $this->Address($a); } - + foreach ($x['adr_pro'] as $a) { if ( ! ($a['entreprise'] || $a['tel'] || $a['fax'] || $a['adr1'] || $a['adr2'] || $a['adr3'] || $a['postcode'] || $a['city']) ) diff --git a/modules/carnet.php b/modules/carnet.php index d0039ee..4710ae4 100644 --- a/modules/carnet.php +++ b/modules/carnet.php @@ -24,10 +24,15 @@ class CarnetModule extends PLModule function handlers() { return array( - 'carnet/panel' => $this->make_hook('panel', AUTH_COOKIE), + 'carnet' => $this->make_hook('index', AUTH_COOKIE), + 'carnet/panel' => $this->make_hook('panel', AUTH_COOKIE), + 'carnet/notifs' => $this->make_hook('notifs', AUTH_COOKIE), - 'carnet/rss' => $this->make_hook('rss', AUTH_PUBLIC), - 'carnet/ical' => $this->make_hook('ical', AUTH_PUBLIC), + 'carnet/contacts' => $this->make_hook('contacts', AUTH_COOKIE), + 'carnet/contacts/pdf' => $this->make_hook('pdf', AUTH_COOKIE), + + 'carnet/rss' => $this->make_hook('rss', AUTH_PUBLIC), + 'carnet/ical' => $this->make_hook('ical', AUTH_PUBLIC), ); } @@ -42,6 +47,15 @@ class CarnetModule extends PLModule ); } + function handler_index(&$page) + { + $page->changeTpl('carnet/index.tpl'); + $page->assign('xorg_title','Polytechnique.org - Mon carnet'); + $this->_add_rss_link($page); + + return PL_OK; + } + function handler_panel(&$page) { $page->changeTpl('carnet/panel.tpl'); @@ -65,6 +79,259 @@ class CarnetModule extends PLModule return PL_OK; } + function _handler_notifs_promos(&$page, &$watch, $action, $arg) + { + if(preg_match('!^ *(\d{4}) *$!', $arg, $matches)) { + $p = intval($matches[1]); + if($p<1900 || $p>2100) { + $page->trig("la promo entrée est invalide"); + } else { + if ($action == 'add_promo') { + $watch->_promos->add($p); + } else { + $watch->_promos->del($p); + } + } + } elseif (preg_match('!^ *(\d{4}) *- *(\d{4}) *$!', $arg, $matches)) { + $p1 = intval($matches[1]); + $p2 = intval($matches[2]); + if($p1<1900 || $p1>2100) { + $page->trig('la première promo de la plage entrée est invalide'); + } elseif($p2<1900 || $p2>2100) { + $page->trig('la seconde promo de la plage entrée est invalide'); + } else { + if ($action == 'add_promo') { + $watch->_promos->addRange($p1, $p2); + } else { + $watch->_promos->delRange($p1, $p2); + } + } + } else { + $page->trig("La promo (ou la plage de promo) entrée est dans un format incorrect."); + } + } + + function handler_notifs(&$page, $action = null, $arg = null) + { + global $globals; + + $page->changeTpl('carnet/notifs.tpl'); + + require_once 'notifs.inc.php'; + + $watch = new Watch(Session::getInt('uid')); + + $res = $globals->xdb->query("SELECT promo_sortie + FROM auth_user_md5 + WHERE user_id = {?}", + Session::getInt('uid', -1)); + $promo_sortie = $res->fetchOneCell(); + $page->assign('promo_sortie', $promo_sortie); + + switch ($action) { + case 'add_promo': + case 'del_promo': + $this->_handler_notifs_promos($page, $watch, $action, $arg); + break; + + case 'del_nonins': + $watch->_nonins->del($arg); + break; + + case 'add_nonins': + $watch->_nonins->add($arg); + break; + } + + if (Env::has('subs')) $watch->_subs->update('sub'); + if (Env::has('flags_contacts')) { + $watch->watch_contacts = Env::getBool('contacts'); + $watch->saveFlags(); + } + if (Env::has('flags_mail')) { + $watch->watch_mail = Env::getBool('mail'); + $watch->saveFlags(); + } + + $page->assign_by_ref('watch', $watch); + + return PL_OK; + } + + function _get_list($offset, $limit) { + global $globals; + $uid = Session::getInt('uid'); + $res = $globals->xdb->query("SELECT COUNT(*) FROM contacts WHERE uid = {?}", $uid); + $total = $res->fetchOneCell(); + + $order = Get::get('order'); + $orders = Array( + 'nom' => 'nom DESC, u.prenom, u.promo', + 'promo' => 'promo DESC, nom, u.prenom', + 'last' => 'u.date DESC, nom, u.prenom, promo'); + if ($order != 'promo' && $order != 'last') + $order = 'nom'; + $order = $orders[$order]; + if (Get::get('inv') == '') + $order = str_replace(" DESC,", ",", $order); + + $res = $globals->xdb->query(" + SELECT u.prenom, IF(u.nom_usage='',u.nom,u.nom_usage) AS nom, a.alias AS forlife, u.promo + FROM contacts AS c + INNER JOIN auth_user_md5 AS u ON (u.user_id = c.contact) + INNER JOIN aliases AS a ON (u.user_id = a.id AND a.type='a_vie') + WHERE c.uid = {?} + ORDER BY $order + LIMIT {?}, {?}", $uid, $offset*$limit, $limit); + $list = $res->fetchAllAssoc(); + + return Array($total, $list); + } + + function handler_contacts(&$page, $action = null) + { + global $globals; + + $page->changeTpl('carnet/mescontacts.tpl'); + require_once("applis.func.inc.php"); + $page->assign('xorg_title','Polytechnique.org - Mes contacts'); + + $uid = Session::getInt('uid'); + $user = Env::get('user'); + + switch (Env::get('action')) { + case 'retirer': + if (is_numeric($user)) { + if ($globals->xdb->execute('DELETE FROM contacts + WHERE uid = {?} AND contact = {?}', + $uid, $user)) + { + $page->trig("Contact retiré !"); + } + } else { + if ($globals->xdb->execute( + 'DELETE FROM contacts + USING contacts AS c + INNER JOIN aliases AS a ON (c.contact=a.id and a.type!="homonyme") + WHERE c.uid = {?} AND a.alias={?}', $uid, $user)) + { + $page->trig("Contact retiré !"); + } + } + break; + + case 'ajouter': + require_once('user.func.inc.php'); + if (($login = get_user_login($user)) !== false) { + if ($globals->xdb->execute( + 'INSERT INTO contacts (uid, contact) + SELECT {?}, id + FROM aliases + WHERE alias = {?}', $uid, $login)) + { + $page->trig('Contact ajouté !'); + } else { + $page->trig('Contact déjà dans la liste !'); + } + } + } + + if ($action == 'trombi') { + require_once 'trombi.inc.php'; + + $trombi = new Trombi(array($this, '_get_list')); + $trombi->setNbRows(4); + $page->assign_by_ref('trombi',$trombi); + + $order = Get::get('order'); + if ($order != 'promo' && $order != 'last') + $order = 'nom'; + $page->assign('order', $order); + $page->assign('inv', Get::get('inv')); + + } else { + + $order = Get::get('order'); + $orders = Array( + 'nom' => 'sortkey DESC, a.prenom, a.promo', + 'promo' => 'promo DESC, sortkey, a.prenom', + 'last' => 'a.date DESC, sortkey, a.prenom, promo'); + if ($order != 'promo' && $order != 'last') + $order = 'nom'; + $page->assign('order', $order); + $page->assign('inv', Get::get('inv')); + $order = $orders[$order]; + if (Get::get('inv') == '') + $order = str_replace(" DESC,", ",", $order); + + $sql = "SELECT contact AS id, + a.*, l.alias AS forlife, + 1 AS inscrit, + a.perms != 'pending' AS wasinscrit, + a.deces != 0 AS dcd, a.deces, a.matricule_ax, + FIND_IN_SET('femme', a.flags) AS sexe, + e.entreprise, es.label AS secteur, ef.fonction_fr AS fonction, + IF(n.nat='',n.pays,n.nat) AS nat, n.a2 AS iso3166, + ad0.text AS app0text, ad0.url AS app0url, ai0.type AS app0type, + ad1.text AS app1text, ad1.url AS app1url, ai1.type AS app1type, + adr.city, gp.a2, gp.pays AS countrytxt, gr.name AS region, + IF(a.nom_usage<>'',a.nom_usage,a.nom) AS sortkey + FROM contacts AS c + INNER JOIN auth_user_md5 AS a ON (a.user_id = c.contact) + INNER JOIN aliases AS l ON (a.user_id = l.id AND l.type='a_vie') + LEFT JOIN entreprises AS e ON (e.entrid = 0 AND e.uid = a.user_id) + LEFT JOIN emploi_secteur AS es ON (e.secteur = es.id) + LEFT JOIN fonctions_def AS ef ON (e.fonction = ef.id) + LEFT JOIN geoloc_pays AS n ON (a.nationalite = n.a2) + LEFT JOIN applis_ins AS ai0 ON (a.user_id = ai0.uid AND ai0.ordre = 0) + LEFT JOIN applis_def AS ad0 ON (ad0.id = ai0.aid) + LEFT JOIN applis_ins AS ai1 ON (a.user_id = ai1.uid AND ai1.ordre = 1) + LEFT JOIN applis_def AS ad1 ON (ad1.id = ai1.aid) + LEFT JOIN adresses AS adr ON (a.user_id = adr.uid + AND FIND_IN_SET('active', adr.statut)) + LEFT JOIN geoloc_pays AS gp ON (adr.country = gp.a2) + LEFT JOIN geoloc_region AS gr ON (adr.country = gr.a2 AND adr.region = gr.region) + WHERE c.uid = $uid + ORDER BY ".$order; + + $page->assign_by_ref('citer', $globals->xdb->iterator($sql)); + } + + return PL_OK; + } + + function handler_pdf(&$page, $arg0 = null, $arg1 = null) + { + global $globals; + + require_once 'contacts.pdf.inc.php'; + require_once 'user.func.inc.php'; + + session_write_close(); + + $sql = "SELECT a.alias + FROM aliases AS a + INNER JOIN auth_user_md5 AS u ON ( a.id = u.user_id ) + INNER JOIN contacts AS c ON ( a.id = c.contact ) + WHERE c.uid = {?} AND a.type='a_vie'"; + if ($arg0 == 'promo') { + $sql .= ' ORDER BY u.promo, u.nom, u.prenom'; + } else { + $sql .= ' ORDER BY u.nom, u.prenom, u.promo'; + } + + $citer = $globals->xdb->iterRow($sql, Session::getInt('uid')); + $pdf = new ContactsPDF(); + + while (list($alias) = $citer->next()) { + $user = get_user_details($alias); + $pdf->addContact($user, $arg0 == 'photos' || $arg1 == 'photos'); + } + $pdf->Output(); + + exit; + } + function handler_rss(&$page, $user = null, $hash = null) { require_once 'rss.inc.php'; diff --git a/templates/carnet/index.tpl b/templates/carnet/index.tpl index 9905583..d696949 100644 --- a/templates/carnet/index.tpl +++ b/templates/carnet/index.tpl @@ -31,7 +31,7 @@

- Page de tes contacts + Page de tes contacts

Tu peux ici lister tes contacts, en ajouter et en retirer. @@ -39,7 +39,7 @@

- Le trombi de tes contacts + Le trombi de tes contacts

La même chose que la page de tes contacts... en images ! @@ -69,14 +69,14 @@
{else}
- fil rss + fil rss
{/if}

- Configurer tes notifications + Configurer tes notifications

Être notifié des inscriptions, décès, changement de fiche, ... diff --git a/templates/carnet/mescontacts.tpl b/templates/carnet/mescontacts.tpl index 47986d6..debf8d0 100644 --- a/templates/carnet/mescontacts.tpl +++ b/templates/carnet/mescontacts.tpl @@ -46,12 +46,12 @@ Pour r

{if $smarty.session.core_rss_hash} @@ -70,12 +70,10 @@ Pour r {if $trombi} -

- Mon trombino de contacts -

+

Mon trombino de contacts

-Pour afficher la liste détaillée de tes contacts: [vue classique] +Pour afficher la liste détaillée de tes contacts: [vue classique]

{include file=carnet/tricontacts.tpl order=$order} @@ -89,7 +87,7 @@ Pour afficher la liste d

-[Afficher le trombi de tes contacts] +[Afficher le trombi de tes contacts]

{include file=carnet/tricontacts.tpl order=$order} diff --git a/templates/carnet/notifs.tpl b/templates/carnet/notifs.tpl index 878e199..46c962d 100644 --- a/templates/carnet/notifs.tpl +++ b/templates/carnet/notifs.tpl @@ -21,12 +21,12 @@ {**************************************************************************} -

Notifications automatiques

+

Notifications automatiques

Les mails sont hebdomadaires (pour éviter une trop grosse charge du serveur de mails et de ta boite mail). S'il n'y a rien à te signaler le mail ne t'est pas envoyé.

-
+
Mail watch_mail}checked="checked"{/if} /> @@ -35,7 +35,7 @@ S'il n'y a rien
-
+
Événements à surveiller {foreach from=$watch->cats() item=s key=i} @@ -54,7 +54,7 @@ S'il n'y a rien

Surveiller ses contacts

- +
Contacts watch_contacts}checked="checked"{/if} /> Surveiller mes contacts
@@ -70,14 +70,16 @@ S'il n'y a rien Attention : pour les promos, tu n'es pas notifié des évènements trop fréquents (par exemple les changements de fiche).

- +
Ajouter une promo Tu peux surveiller des promos (mettre la promo sur 4 chiffres), ou des plages de promos (par ex. 1990-1992) :
- - + +
{if $watch->promos()|@count eq 0}

Tu ne surveilles actuellement aucune promo.

@@ -113,7 +115,7 @@ et cliquer sur les icones Ajouter
    {foreach from=$watch->nonins() item=p}
  • - {$p.prenom} {$p.nom} ({$p.promo}) retirer + {$p.prenom} {$p.nom} ({$p.promo}) retirer
  • {/foreach}
diff --git a/templates/carnet/panel.tpl b/templates/carnet/panel.tpl index 516d697..2c584d4 100644 --- a/templates/carnet/panel.tpl +++ b/templates/carnet/panel.tpl @@ -34,7 +34,7 @@ Tu peux les marquer comme vus sans te d

Tu peux choisir plus finement les données affichées sur cette page. -Il faut pour celà se rendre sur la page de configuration des notifications. +Il faut pour celà se rendre sur la page de configuration des notifications.

@@ -69,7 +69,7 @@ Il faut pour cel {$promo[row].prenom} {$promo[row].nom} {if !$promo[row].contact} - {* + {* *}ajouter à mes contacts{* *} {/if} diff --git a/templates/carnet/rss.tpl b/templates/carnet/rss.tpl index b159212..e202ed8 100644 --- a/templates/carnet/rss.tpl +++ b/templates/carnet/rss.tpl @@ -61,7 +61,7 @@ {#globals.baseurl#}/fiche.php?user={$x.bestalias}&force_login=1 + ajouter à mes contacts {/if} diff --git a/templates/fiche.tpl b/templates/fiche.tpl index 2352450..4679c95 100644 --- a/templates/fiche.tpl +++ b/templates/fiche.tpl @@ -48,11 +48,11 @@ function chgMainWinLoc( strPage ) { Afficher la carte de visite {if !$x.is_contact} - + Ajouter à mes contacts {else} - + Retirer de mes contacts {/if} diff --git a/templates/include/minifiche.tpl b/templates/include/minifiche.tpl index f48d9e0..61c18c3 100644 --- a/templates/include/minifiche.tpl +++ b/templates/include/minifiche.tpl @@ -49,10 +49,10 @@ {min_auth level="cookie"} {if !$c.wasinscrit && !$c.dcd} {if $show_action eq ajouter} - {* + {* *}Ajouter à la liste de mes surveillances {else} - {* + {* *}Retirer de la liste de mes surveillances {/if} {elseif $c.wasinscrit} @@ -61,7 +61,7 @@ {if !$c.dcd} {* *}Afficher la carte de visite - {* + {* *}{if $show_action eq {/if} -- 2.1.4