From a3a6c9dafabd2ddd7439c54e7c78114605f8f0bc Mon Sep 17 00:00:00 2001 From: x2000coic Date: Sat, 1 May 2004 05:23:26 +0000 Subject: [PATCH] =?utf8?q?Migration=20de=20referent.php=20:=20le=20passage?= =?utf8?q?=20en=20template=20est=20fini=20=20=20il=20manque=20un=20bout=20?= =?utf8?q?de=20la=20css=20de=20recherche.php=20pour=20afficher=20les=20r?= =?utf8?q?=E9sultats=20=20=20fiche=5Freferent.php=20n'est=20pas=20encore?= =?utf8?q?=20migr=E9=20=20=20la=20template=20est=20inclus=20dans=20un=20gr?= =?utf8?q?os=20bloc=20{dynamic}=20-=20=E0=20changer=20peut-=EAtre=20pour?= =?utf8?q?=20mieux=20g=E9rer=20le=20cache?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- etat_migration | 4 +- htdocs/referent.php | 157 +++++++++++++++++++++++++++++++++++++++++++++++ templates/referent.tpl | 163 +++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 323 insertions(+), 1 deletion(-) create mode 100644 htdocs/referent.php create mode 100644 templates/referent.tpl diff --git a/etat_migration b/etat_migration index 2847ae0..ece5682 100644 --- a/etat_migration +++ b/etat_migration @@ -60,11 +60,11 @@ Etat | Ancien nom | Nouveau nom ; | emploi.php | ; | emploi_public.php | ; | evenements.php | +; | fiche_referent.php | ; | index.coupure.php | ; | mescontacts_pdf.php | ; | pg.confirm.php | ; | pg.php | -; | profil.php | ; | recherche.php | ; | trombino.php | ; | trombipromo.php | @@ -177,8 +177,10 @@ xx | newsletter.php | - xx | newsletter_req.php | - xx | pattecassee.php | - xx | preferences.php | - +xx | profil.php | TODO : reste 2-3 trucs comme popWin() a changer xx! | redirect/error.php | - xx! | redirect/redirect.php | - +xx | referent.php | TODO : utilise la css de recherche qui n'est pas encore migré xx | rss.php | - xx | secu.php | docs/secu.php xx | sendmail.php | - diff --git a/htdocs/referent.php b/htdocs/referent.php new file mode 100644 index 0000000..f577728 --- /dev/null +++ b/htdocs/referent.php @@ -0,0 +1,157 @@ +assign_by_ref('show_formulaire', $show_formulaire); +$page->assign('show_resultat', false); + + +$secteur_selectionne = ''; +if(isset($_POST['secteur'])){ + $secteur_selectionne = "{$_POST['secteur']}"; +} + +$ss_secteur_selectionne = ''; +if(isset($_POST['ss_secteur'])){ + $ss_secteur_selectionne = $_POST['ss_secteur']; +} + +$pays_selectionne = '00'; +if(isset($_POST['pays'])){ + $pays_selectionne = $_POST['pays']; +} + +$expertise_champ = ''; +if(isset($_POST['expertise'])){ + $expertise_champ = stripslashes($_POST['expertise']); +} + +$page->assign('pays_selectionne',$pays_selectionne); +$page->assign('expertise_champ',htmlentities($expertise_champ)); +$page->assign('secteur_selectionne',$secteur_selectionne); +$page->assign('ss_secteur_selectionne',$ss_secteur_selectionne); + +//recuperation des noms de secteurs +$res = mysql_query("SELECT id, label FROM emploi_secteur"); +$secteurs[''] = ''; +while(list($tmp_id, $tmp_label) = mysql_fetch_row($res)) + $secteurs[$tmp_id] = $tmp_label; +mysql_free_result($res); +$page->assign_by_ref('secteurs', $secteurs); + +//on recupere les sous-secteurs si necessaire +if(!empty($secteur_selectionne)) +{ + $res = mysql_query("SELECT id, label FROM emploi_ss_secteur + WHERE secteur = '$secteur_selectionne'"); + $ss_secteurs[''] = ''; + while(list($tmp_id, $tmp_label) = mysql_fetch_row($res)) + $ss_secteurs[$tmp_id] = $tmp_label; + mysql_free_result($res); + $page->assign_by_ref('ss_secteurs', $ss_secteurs); +} + +//recuperation des noms de pays +$res = mysql_query("SELECT a2, pays FROM geoloc_pays WHERE pays <> '' ORDER BY pays"); +$pays['00'] = ''; +while(list($tmp_id, $tmp_label) = mysql_fetch_row($res)) + $pays[$tmp_id] = $tmp_label; +mysql_free_result($res); +$page->assign_by_ref('pays', $pays); + +//On vient d'un formulaire +if(isset($_REQUEST['Chercher'])){ + + $champ_select = 'm.uid, a.prenom, a.nom, a.promo, a.username, m.expertise'; + $champ_select = $champ_select.', mp.pid'; + $champ_select = $champ_select.', ms.secteur, ms.ss_secteur'; + + $clause_from = 'FROM mentor as m LEFT JOIN auth_user_md5 AS a ON(m.uid = a.user_id)'; + $clause_from = $clause_from.' LEFT JOIN mentor_pays AS mp ON(m.uid = mp.uid)'; + $clause_from = $clause_from.' LEFT JOIN mentor_secteurs AS ms ON(m.uid = ms.uid)'; + + $clause_where = 'WHERE'; + + if($pays_selectionne != '00'){ + $clause_where = $clause_where." mp.pid = '$pays_selectionne' AND"; + } + if($secteur_selectionne != '') + { + $clause_where = $clause_where." ms.secteur = '$secteur_selectionne' AND"; + if($ss_secteur_selectionne) + $clause_where = $clause_where." ms.ss_secteur = '$ss_secteur_selectionne' AND"; + } + + if($expertise_champ != '') + { + $clause_where = $clause_where." MATCH(m.expertise) AGAINST('".addslashes($expertise_champ)."') AND"; + } + + if($clause_where != 'WHERE'){ + + $show_formulaire = false; + $clause_where = substr($clause_where, 0, -3); //on vire le dernier AND + + $sql = "SELECT $champ_select $clause_from $clause_where + GROUP BY uid ORDER BY RAND({$_SESSION['uid']})"; + echo "requete : ".htmlentities($sql)."
"; + $res = mysql_query($sql); + // echo mysql_error()."
"; + if(mysql_num_rows($res) == 0){ + $page->assign('recherche_trop_large',true); + mysql_free_result($res); + } + else{ + if(isset($_REQUEST['page_courante'])){ + $page_courante = (int) $_REQUEST['page_courante']; + } + else{ + $page_courante = 1; + } + //echo "nombre de pages : $nb_pages
"; + $current_uid = 0; + $nb_resultats = 0; + $page->assign('resultats',true); + $personnes = Array(); + $page->assign_by_ref('personnes',$personnes); + while((list($uid, $prenom, $nom, $promo, $username, $expertise_bd, $pays_id, $secteur_id, $ss_secteur_id) = mysql_fetch_row($res)) + || ($nb_resultats >= $nb_max_resultats_total)){ + if($current_uid != $uid){ + $current_uid = $uid; + $page_correspondante = (int)($nb_resultats / $nb_max_resultats_par_page) +1; + $nb_resultats++; + if( $page_correspondante == $page_courante){ + $pers_trouve['nom'] = $nom; + $pers_trouve['prenom'] = $prenom; + $pers_trouve['promo'] = $promo; + $pers_trouve['username'] = $username; + $pers_trouve['expertise'] = nl2br(htmlentities($expertise_bd)); + $personnes[] = $pers_trouve; + } + } + } + $nb_pages = (int) ($nb_resultats/$nb_max_resultats_par_page) + 1; + $page->assign('nb_pages_total', $nb_pages); + $page->assign('page_courante', $page_courante); + mysql_free_result($res); + }//fin else + }//fin if clause_where non vide +}//fin if Chercher +//sinon on affiche le formulaire +if($show_formulaire){ + + $res = mysql_query("SELECT count(*) FROM mentor"); + list($nb) = mysql_fetch_row($res); + mysql_free_result($res); + + $page->assign('mentors_number',$nb); + +} + +$page->run(); + +?> diff --git a/templates/referent.tpl b/templates/referent.tpl new file mode 100644 index 0000000..fb919e4 --- /dev/null +++ b/templates/referent.tpl @@ -0,0 +1,163 @@ +{literal} + +{/literal} +
+ Rechercher un camarade pouvant m'aider à orienter mon parcours professionnel +
+{dynamic} +{if $recherche_trop_large} +

+ Les critères de recherche que tu as rentrés n'ont pas produit de résultats, + sans doute car ta requête était trop générale. Nous t'invitons à + procéder à une nouvelle recherche, en essayant + d'être plus précis. +

+{elseif $resultats} +
+ + + + + + + +{section name="resultat" loop=$personnes} + + + + + + + + + + + + + +{/section} +
{$personnes[resultat].nom} {$personnes[resultat].prenom}X{$personnes[resultat].promo}voir sa fichevoir sa fiche référent
Expertise :{$personnes[resultat].expertise}
+  +
+
+Pages :  +{section name="page_number" start=1 loop=$nb_pages_total+1} +{if $smarty.section.page_number.index == $page_courante} +{$page_courante} {else} +{$smarty.section.page_number.index} +{/if} +{/section} + +
+{/if} +{if $show_formulaire} + + Si tu utilises ce service pour la première fois, lis attentivement le texte + qui suit. + +

+ En renseignant sa fiche dans l'annuaire, chacun + d'entre nous a la possibilité de renseigner, dans la section "Mentoring", + s'il accepte de recevoir des messages de la part de camarades qui pourraient + souhaiter lui poser quelques questions et recevoir quelques conseils.
+ Ces informations sont rentrées par chacun sur la base du volontariat et sont + totalement déclaratives. Chaque X qui complète cette rubrique accepte alors + de recevoir un courrier électronique des jeunes camarades qui sont en train + de bâtir leur projet professionnel, mais aussi des moins jeunes qui cherchent + à réorienter leur carrière. Bien entendu, chacun se réserve le droit de ne + pas donner suite à une sollicitation !
+ Pour que ce système soit profitable, il est nécessaire que dans ta recherche + de conseils professionnels, tu agisses sagement, en évitant de contacter + un trop grand nombre de camarades. De même, pense bien que les quelques + personnes que tu vas éventuellement contacter suite à ta recherche + accepteront éventuellement de t'aider et de te guider sur la base du + volontariat. Il va de soi que plus ton comportement lors de votre + contact sera éthique et reconnaissant, plus cette pratique de conseil + inter-générations sera encouragée et bien perçue par ceux qui la pratiquent. +
+ Nous avons peiné à trouver un nom pour désigner ceux qui sont volontaires + pour guider les camarades qui en ressentent le besoin : nous avons finalement + retenu le terme de mentors pour désigner ceux qui sont prêts à aider de + manière suivie un camarade plus jeune, à plusieurs moments de sa carrière, + et avons appelé référents ceux qui s'impliquent plutôt en tant que + "relai d'informations", dans le sens où ils ont vécu des expériences + professionnelles susceptibles d'intéresser certains d'entre nous (expérience + de stage ou d'emploi à l'étranger), sans forcément souhaiter consacrer + autant de temps à quelqu'un que le ferait un mentor attentionné. + La recherche proposée ici permet de trouver les deux types d'aide. +

+ +

+ Dans le formulaire ci-dessous, tu peux rechercher des avis en fonction des + domaines de compétence recherchés, des cultures professionnelles des pays + connues par le référent, et enfin une dernière case te permettra de faire + une recherche par mots-clefs.
+ Nous t'incitons à prendre plutôt 2 ou 3 contacts qu'un seul, cela te + permettant certainement d'avoir une vision des choses plus complète. +

+ +

+ Actuellement, {$mentors_number} mentors et référents se sont déclarés sur Polytechnique.org. +

+ +
+ + + + + + + + + + + + + + + + + + + + +
+ Secteur de compétence
du référent +
+ +
+ Sous-Secteur + + +
+ Pays bien connu du référent + + +
+   +
+ Expertise (rentre un ou plusieurs mots clés) + + +
+
+ +
+
+ +{/if} +{/dynamic} -- 2.1.4