Adds job address to the job interface, makes more uniform address related names.
authorStéphane Jacob <jacou@melix.net>
Sun, 8 Mar 2009 15:58:54 +0000 (16:58 +0100)
committerStéphane Jacob <jacou@melix.net>
Sun, 8 Mar 2009 15:59:55 +0000 (16:59 +0100)
18 files changed:
bin/cron/clean.php
htdocs/javascript/profile.js
include/userset.inc.php
modules/profile.php
modules/profile/addresses.inc.php
modules/profile/jobs.inc.php
modules/profile/mentor.inc.php
templates/admin/index.tpl
templates/geoloc/form.address.tpl
templates/include/emails.combobox.tpl
templates/include/emploi.tpl
templates/include/minifiche.tpl
templates/profile/fiche_referent.tpl
templates/profile/jobs.job.tpl
templates/profile/jobs.sector.tpl [moved from templates/profile/jobs.secteur.tpl with 85% similarity]
templates/profile/jobs.sub_sector.tpl [moved from templates/profile/jobs.soussecteur.tpl with 89% similarity]
templates/profile/mentor.tpl
templates/profile/referent.tpl

index 88feaab..6325f63 100755 (executable)
@@ -40,7 +40,9 @@ query("DELETE FROM register_pending WHERE hash = 'INSCRIT'");
 query("ALTER TABLE profile_education_enum ORDER BY name");
 query("ALTER TABLE binets_def ORDER BY text");
 query("ALTER TABLE groupesx_def ORDER BY text");
-query("ALTER TABLE secteur ORDER BY text");
+query("ALTER TABLE profile_job_sector_enum ORDER BY name");
+query("ALTER TABLE profile_job_subsector_enum ORDER BY name");
+query("ALTER TABLE profile_job_subsubsector_enum ORDER BY name");
 query("ALTER TABLE sections ORDER BY text");
 
 // Prunes older autocomplete queries.
index 971b5b5..fbf4063 100644 (file)
@@ -46,8 +46,8 @@ function wizPage_onLoad(id)
         break;
       case 'emploi':
         for (var i = 0 ; $('#job_' + i).length != 0; ++i) {
-            updateJobSector(i, $('#job_' + i).find("[name*='[ss_secteur]']").val());
-            updateJobSubSector(i, $('#job_' + i).find("[name*='[sss_secteur]']").val());
+            updateJobSector(i, $('#job_' + i).find("[name='jobs[" + i + "][subSector]']").val());
+            updateJobSubSector(i, $('#job_' + i).find("[name='jobs[" + i + "][subSubsector]']").val());
         }
         break;
     }
@@ -295,23 +295,23 @@ function addAddress()
     Ajax.update_html('addresses_' + i + '_cont', 'profile/ajax/address/' + i, checkCurrentAddress());
 }
 
-function addressChanged(id)
+function addressChanged(prefid)
 {
-    $('#addresses_' + id + '_cont').find('[name*=changed]').val("1");
+    $('#' + prefid + '_cont').find('[name*=changed]').val("1");
 }
 
-function validGeoloc(id, geoloc)
+function validGeoloc(prefid, id, geoloc)
 {
     if (geoloc == 1) {
-        $('#addresses_' + id + '_cont').find('[name*=text]').val($('#addresses_' + id + '_cont').find('[name*=geoloc]').val());
-        $('#addresses_' + id + '_cont').find('[name*=postalText]').val($('#addresses_' + id + '_cont').find('[name*=geocodedPostalText]').val());
+        $('#' + prefid + '_cont').find('[name*=text]').val($('#' + prefid + '_cont').find('[name*=geoloc]').val());
+        $('#' + prefid + '_cont').find('[name*=postalText]').val($('#' + prefid + '_cont').find('[name*=geocodedPostalText]').val());
     }
     if (geoloc > 0) {
-        $('#addresses_' + id + '_cont').find("[name='addresses[" + id + "][geoloc]']").remove();
+        $('#' + prefid + '_cont').find("[name*='[geoloc]']").remove();
     }
-    $('#addresses_' + id + '_cont').find('[name*=text]').removeClass('error');
-    $('#addresses_' + id + '_cont').find('[name*=geoloc_choice]').val(geoloc);
-    $('.addresses_' + id + '_geoloc').remove();
+    $('#' + prefid + '_cont').find('[name*=text]').removeClass('error');
+    $('#' + prefid + '_cont').find('[name*=geoloc_choice]').val(geoloc);
+    $('.' + prefid + '_geoloc').remove();
 }
 
 // {{{1 Phones
@@ -458,20 +458,20 @@ function restoreJob(id, pref)
 
 function updateJobSector(id, sel)
 {
-    var sector = $('#job_' + id).find("[name*='[secteur]']").val();
+    var sector = $('#job_' + id).find("[name='jobs[" + id + "][sector]']").val();
     if (sector == '') {
         sector = '-1';
     }
-    Ajax.update_html('job_' + id + '_ss_secteur', 'profile/ajax/secteur/' + id + '/job_' + id + '/jobs[' + id + ']/' + sector + '/' + sel);
+    Ajax.update_html('job_' + id + '_subSector', 'profile/ajax/sector/' + id + '/job_' + id + '/jobs[' + id + ']/' + sector + '/' + sel);
 }
 
 function updateJobSubSector(id, sel)
 {
-    var subSector = $('#job_' + id).find("[name*='[ss_secteur]']").val();
+    var subSector = $('#job_' + id).find("[name='jobs[" + id + "][subSector]']").val();
     if (subSector == '') {
         subSector = '-1';
     }
-    Ajax.update_html('job_' + id + '_sss_secteur', 'profile/ajax/ssecteur/' + id + '/' + subSector + '/' + sel);
+    Ajax.update_html('job_' + id + '_subSubSector', 'profile/ajax/sub_sector/' + id + '/' + subSector + '/' + sel);
 }
 
 function displayAllSector(id)
@@ -537,53 +537,53 @@ function addCountry()
 
 function updateSubSector()
 {
-    var s  = $('#secteur_sel').find('[name=secteur_sel]').val();
-    var ss = $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]']").val();
-    if ((s == '' || ss == '') || $('#secteurs_' + s + '_' + ss).length != 0) {
-        $('#secteurs_add').hide();
+    var s  = $('#sectorSelection').find('[name=sectorSelection]').val();
+    var ss = $('#selectedSubSector').find("[name='jobs[-1][subSector]']").val();
+    if ((s == '' || ss == '') || $('#sectors_' + s + '_' + ss).length != 0) {
+        $('#addSector').hide();
     } else {
-        $('#secteurs_add').show();
+        $('#addSector').show();
     }
 }
 
 function removeSector(s, ss)
 {
-    $('#secteurs_' + s + '_' + ss).remove();
+    $('#sectors_' + s + '_' + ss).remove();
     updateSubSector();
 }
 
 function updateSector()
 {
-    var secteur = $('#secteur_sel').find('[name=secteur_sel]').val();
-    if (secteur == '') {
-        secteur = '-1';
-        $('#ss_secteur_sel').html('');
+    var sector = $('#sectorSelection').find('[name=sectorSelection]').val();
+    if (sector == '') {
+        sector = '-1';
+        $('#selectedSubSector').html('');
         return;
     }
-    $.get(platal_baseurl + 'profile/ajax/secteur/-1/0/0/' + secteur,
+    $.get(platal_baseurl + 'profile/ajax/sector/-1/0/0/' + sector,
           function(data) {
-              data = '<a href="javascript:addSector()" style="display: none; float: right" id="secteurs_add">'
+              data = '<a href="javascript:addSector()" style="display: none; float: right" id="addSector">'
                    + '  <img src="images/icons/add.gif" alt="" title="Ajouter ce secteur" />'
                    + '</a>' + data;
-              $('#ss_secteur_sel').html(data);
-              $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]']").change(updateSubSector);
+              $('#selectedSubSector').html(data);
+              $('#selectedSubSector').find("[name='jobs[-1][subSector]']").change(updateSubSector);
           });
 }
 
 function addSector()
 {
-    var s   = $('#secteur_sel').find('[name=secteur_sel]').val();
-    var ss  = $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]']").val();
-    var sst = $('#ss_secteur_sel').find("[name='jobs[-1][ss_secteur]'] :selected").text();
+    var s   = $('#sectorSelection').find('[name=sectorSelection]').val();
+    var ss  = $('#selectedSubSector').find("[name='jobs[-1][subSector]']").val();
+    var sst = $('#selectedSubSector').find("[name='jobs[-1][subSector]'] :selected").text();
 
-    var html = '<div id="secteurs_' + s + '_' + ss + '" style="clear: both; margin-top: 0.5em" class="titre">'
+    var html = '<div id="sectors_' + s + '_' + ss + '" style="clear: both; margin-top: 0.5em" class="titre">'
              + '  <a href="javascript:removeSector(\'' + s + '\', \'' + ss + '\')" style="display: block; float: right">'
              + '    <img src="images/icons/cross.gif" alt="" title="Supprimer ce secteur" />'
              + '  </a>'
-             + '  <input type="hidden" name="secteurs[' + s + '][' + ss + ']" value="' + sst + '" />'
+             + '  <input type="hidden" name="sectors[' + s + '][' + ss + ']" value="' + sst + '" />'
              + '  ' + sst
              + '</div>';
-    $('#secteurs').append(html);
+    $('#sectors').append(html);
     updateSubSector();
 }
 
@@ -604,8 +604,8 @@ function registerEnterpriseAutocomplete(id)
 
     $(".sector_name").each(
       function() {
-        if (id == -1 || this.name == "jobs[" + id + "][sss_secteur_name]") {
-            $(this).autocomplete(platal_baseurl + "search/autocomplete/sss_secteur",
+        if (id == -1 || this.name == "jobs[" + id + "][subSubSector]") {
+            $(this).autocomplete(platal_baseurl + "search/autocomplete/subSubSector",
                                  {
                                      selectOnly:1,
                                      field:this.name,
index 32dd544..b824fc7 100644 (file)
@@ -180,7 +180,7 @@ class MinificheView extends MultipageView
                 u.perms != 'pending' AS wasinscrit,
                 u.deces != 0 AS dcd, u.deces, u.matricule_ax,
                 FIND_IN_SET('femme', u.flags) AS sexe,
-                je.name AS entreprise, je.url AS job_web, es.name AS secteur, ef.fonction_fr AS fonction,
+                je.name AS entreprise, je.url AS job_web, es.name AS sector, ef.fonction_fr AS fonction,
                 IF(n1.nat = '', n1.countryFR, n1.nat) AS nat1, n1.iso_3166_1_a2 AS iso3166_1,
                 IF(n2.nat = '', n2.countryFR, n2.nat) AS nat2, n2.iso_3166_1_a2 AS iso3166_2,
                 IF(n3.nat = '', n3.countryFR, n3.nat) AS nat3, n3.iso_3166_1_a2 AS iso3166_3,
index 60747e5..31677e4 100644 (file)
@@ -38,8 +38,8 @@ class ProfileModule extends PLModule
             'profile/ajax/medal'         => $this->make_hook('ajax_medal',                 AUTH_COOKIE, 'user', NO_AUTH),
             'profile/networking'         => $this->make_hook('networking',                 AUTH_PUBLIC),
             'profile/ajax/job'           => $this->make_hook('ajax_job',                   AUTH_COOKIE, 'user', NO_AUTH),
-            'profile/ajax/secteur'       => $this->make_hook('ajax_secteur',               AUTH_COOKIE, 'user', NO_AUTH),
-            'profile/ajax/ssecteur'      => $this->make_hook('ajax_ssecteur',              AUTH_COOKIE, 'user', NO_AUTH),
+            'profile/ajax/sector'        => $this->make_hook('ajax_sector',                AUTH_COOKIE, 'user', NO_AUTH),
+            'profile/ajax/sub_sector'    => $this->make_hook('ajax_sub_sector',            AUTH_COOKIE, 'user', NO_AUTH),
             'profile/ajax/skill'         => $this->make_hook('ajax_skill',                 AUTH_COOKIE, 'user', NO_AUTH),
             'profile/ajax/searchname'    => $this->make_hook('ajax_searchname',            AUTH_COOKIE, 'user', NO_AUTH),
             'profile/ajax/buildnames'    => $this->make_hook('ajax_buildnames',            AUTH_COOKIE, 'user', NO_AUTH),
@@ -65,10 +65,8 @@ class ProfileModule extends PLModule
             'admin/education_degree'     => $this->make_hook('admin_education_degree',     AUTH_MDP, 'admin'),
             'admin/education_degree_set' => $this->make_hook('admin_education_degree_set', AUTH_MDP, 'admin'),
             'admin/sections'             => $this->make_hook('admin_sections',             AUTH_MDP, 'admin'),
-            'admin/secteurs'             => $this->make_hook('admin_secteurs',             AUTH_MDP, 'admin'),
             'admin/networking'           => $this->make_hook('admin_networking',           AUTH_MDP, 'admin'),
             'admin/trombino'             => $this->make_hook('admin_trombino',             AUTH_MDP, 'admin'),
-            'admin/ss_secteurs'          => $this->make_hook('admin_ss_secteurs',          AUTH_MDP, 'admin'),
             'admin/fonctions'            => $this->make_hook('admin_fonctions',            AUTH_MDP, 'admin'),
             'admin/corps_enum'           => $this->make_hook('admin_corps_enum',           AUTH_MDP, 'admin'),
             'admin/corps_rank'           => $this->make_hook('admin_corps_rank',           AUTH_MDP, 'admin'),
@@ -479,9 +477,9 @@ class ProfileModule extends PLModule
         $page->assign('i', $id);
         $page->assign('job', array());
         $page->assign('new', true);
-        $res = XDB::query("SELECT  id, name AS label
+        $res = XDB::query("SELECT  id, name
                              FROM  profile_job_sector_enum");
-        $page->assign('secteurs', $res->fetchAllAssoc());
+        $page->assign('sectors', $res->fetchAllAssoc());
         $res = XDB::query("SELECT  id, fonction_fr, FIND_IN_SET('titre', flags) AS title
                              FROM  fonctions_def
                          ORDER BY  id");
@@ -490,15 +488,15 @@ class ProfileModule extends PLModule
         fill_email_combobox($page);
     }
 
-    function handler_ajax_secteur(&$page, $id, $jobid, $jobpref, $sect, $ssect = -1)
+    function handler_ajax_sector(&$page, $id, $jobid, $jobpref, $sect, $ssect = -1)
     {
         header('Content-Type: text/html; charset=utf-8');
-        $res = XDB::iterator("SELECT  id, name AS label, FIND_IN_SET('optgroup', flags) AS optgroup
+        $res = XDB::iterator("SELECT  id, name, FIND_IN_SET('optgroup', flags) AS optgroup
                                 FROM  profile_job_subsector_enum
                                WHERE  sectorid = {?}", $sect);
-        $page->changeTpl('profile/jobs.secteur.tpl', NO_SKIN);
+        $page->changeTpl('profile/jobs.sector.tpl', NO_SKIN);
         $page->assign('id', $id);
-        $page->assign('ssecteurs', $res);
+        $page->assign('subSectors', $res);
         $page->assign('sel', $ssect);
         if ($id != -1) {
             $page->assign('change', 1);
@@ -507,15 +505,15 @@ class ProfileModule extends PLModule
         }
     }
 
-    function handler_ajax_ssecteur(&$page, $id, $ssect, $sssect = -1)
+    function handler_ajax_sub_sector(&$page, $id, $ssect, $sssect = -1)
     {
         header('Content-Type: text/html; charset=utf-8');
-        $res = XDB::iterator("SELECT  id, name AS label
+        $res = XDB::iterator("SELECT  id, name
                                 FROM  profile_job_subsubsector_enum
                                WHERE  subsectorid = {?}", $ssect);
-        $page->changeTpl('profile/jobs.soussecteur.tpl', NO_SKIN);
+        $page->changeTpl('profile/jobs.sub_sector.tpl', NO_SKIN);
         $page->assign('id', $id);
-        $page->assign('sssecteurs', $res);
+        $page->assign('subSubSectors', $res);
         $page->assign('sel', $sssect);
     }
 
@@ -635,20 +633,20 @@ class ProfileModule extends PLModule
         $res = XDB::query("SELECT expertise FROM profile_mentor WHERE uid = {?}", $user->id());
         $page->assign('expertise', $res->fetchOneCell());
 
-        //secteurs
-        $secteurs = $ss_secteurs = Array();
+        // Sectors
+        $sectors = $subSectors = Array();
         $res = XDB::iterRow(
                 "SELECT  s.name AS label, ss.name AS label
                    FROM  profile_mentor_sector      AS m
               LEFT JOIN  profile_job_sector_enum    AS s  ON(m.sectorid = s.id)
               LEFT JOIN  profile_job_subsector_enum AS ss ON(m.sectorid = ss.sectorid AND m.subsectorid = ss.id)
                   WHERE  uid = {?}", $user->id());
-        while (list($sec, $ssec) = $res->next()) {
-            $secteurs[]    = $sec;
-            $ss_secteurs[] = $ssec;
+        while (list($sector, $subSector) = $res->next()) {
+            $sectors[]    = $sector;
+            $subSectors[] = $subSector;
         }
-        $page->assign_by_ref('secteurs', $secteurs);
-        $page->assign_by_ref('ss_secteurs', $ss_secteurs);
+        $page->assign_by_ref('sectors', $sectors);
+        $page->assign_by_ref('subSectors', $subSectors);
 
         // Countries.
         $res = XDB::query(
@@ -668,32 +666,33 @@ class ProfileModule extends PLModule
 
         $page->setTitle('Conseil Pro');
 
-        //recuperation des noms de secteurs
-        $res = XDB::iterRow("SELECT id, name AS label FROM profile_job_sector_enum");
-        $secteurs[''] = '';
+        // Retrieval of sector names
+        $res = XDB::iterRow("SELECT  id, name AS label
+                               FROM  profile_job_sector_enum");
+        $sectors[''] = '';
         while (list($tmp_id, $tmp_label) = $res->next()) {
-            $secteurs[$tmp_id] = $tmp_label;
+            $sectors[$tmp_id] = $tmp_label;
         }
-        $page->assign_by_ref('secteurs', $secteurs);
+        $page->assign_by_ref('sectors', $sectors);
 
         // nb de mentors
         $res = XDB::query("SELECT count(*) FROM profile_mentor");
         $page->assign('mentors_number', $res->fetchOneCell());
 
         // On vient d'un formulaire
-        $where           = array();
-        $pays_sel        = XDB::escape(Env::v('pays_sel'));
-        $secteur_sel     = XDB::escape(Env::v('secteur'));
-        $ss_secteur_sel  = XDB::escape(Env::v('ss_secteur'));
-        $expertise_champ = XDB::escape(Env::v('expertise'));
+        $where              = array();
+        $pays_sel           = XDB::escape(Env::v('pays_sel'));
+        $sectorSelection    = XDB::escape(Env::v('sector'));
+        $subSectorSelection = XDB::escape(Env::v('subSector'));
+        $expertise_champ    = XDB::escape(Env::v('expertise'));
 
         if ($pays_sel != "''") {
             $where[] = "mp.country = $pays_sel";
         }
-        if ($secteur_sel != "''") {
-            $where[] = "ms.sectorid = $secteur_sel";
-            if ($ss_secteur_sel != "''") {
-                $where[] = "ms.subsectorid = $ss_secteur_sel";
+        if ($sectorSelection != "''") {
+            $where[] = "ms.sectorid = " . $sectorSelection;
+            if ($selectedSubSector != "''") {
+                $where[] = "ms.subsectorid = " . $subSectorSelection;
             }
         }
         if ($expertise_champ != "''") {
@@ -720,9 +719,9 @@ class ProfileModule extends PLModule
     {
         header('Content-Type: text/html; charset=utf-8');
         $page->changeTpl('include/field.select.tpl', NO_SKIN);
-        $page->assign('onchange', 'setSSecteurs()');
+        $page->assign('onchange', 'setSSectors()');
         $page->assign('id', 'ssect_field');
-        $page->assign('name', 'ss_secteur');
+        $page->assign('name', 'subSector');
         $it = XDB::iterator("SELECT  id, name AS field
                                FROM  profile_job_subsector_enum
                               WHERE  sectorid = {?}", $sect);
@@ -874,13 +873,6 @@ class ProfileModule extends PLModule
         $table_editor->describe('text','intitulé',true);
         $table_editor->apply($page, $action, $id);
     }
-    function handler_admin_ss_secteurs(&$page, $action = 'list', $id = null) {
-        $page->setTitle('Administration - Sous-secteurs');
-        $page->assign('title', 'Gestion des sous-secteurs');
-        $table_editor = new PLTableEditor('admin/ss_secteurs', 'emploi_ss_secteur', 'id', true);
-        $table_editor->describe('label', 'intitulé', true);
-        $table_editor->apply($page, $action, $id);
-    }
     function handler_admin_fonctions(&$page, $action = 'list', $id = null) {
         $page->setTitle('Administration - Fonctions');
         $page->assign('title', 'Gestion des fonctions');
@@ -890,13 +882,6 @@ class ProfileModule extends PLModule
         $table_editor->describe('flags', 'titre', true);
         $table_editor->apply($page, $action, $id);
     }
-    function handler_admin_secteurs(&$page, $action = 'list', $id = null) {
-        $page->setTitle('Administration - Secteurs');
-        $page->assign('title', 'Gestion des secteurs');
-        $table_editor = new PLTableEditor('admin/secteurs', 'emploi_secteur', 'id', true);
-        $table_editor->describe('label', 'intitulé', true);
-        $table_editor->apply($page, $action, $id);
-    }
     function handler_admin_networking(&$page, $action = 'list', $id = null) {
         $page->assign('xorg_title', 'Polytechnique.org - Administration - Networking');
         $page->assign('title', 'Gestion des types de networking');
index d073956..49b7f95 100644 (file)
@@ -93,7 +93,7 @@ class ProfileAddress extends ProfileGeocoding
                      format_phone_number($tel['tel']), $tel['tel'], $tel['pub']);
     }
 
-    private function saveAddress($addrid, array &$address)
+    public function saveAddress($addrid, array &$address, $type)
     {
         require_once "geocoding.inc.php";
 
@@ -123,9 +123,9 @@ class ProfileAddress extends ProfileGeocoding
                                                       subAdministrativeAreaId, administrativeAreaId,
                                                       countryId, latitude, longitude, updateTime, pub, comment,
                                                       north, south, east, west)
-                           VALUES  ({?}, 'home', {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?},
+                           VALUES  ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?},
                                     {?}, {?}, FROM_UNIXTIME({?}), {?}, {?}, {?}, {?}, {?}, {?})",
-                     S::i('uid'), $addrid, $flags, $address['accuracy'],
+                     S::i('uid'), $type, $addrid, $flags, $address['accuracy'],
                      $address['text'], $address['postalText'], $address['postalCode'], $address['localityId'],
                      $address['subAdministrativeAreaId'], $address['administrativeAreaId'],
                      $address['countryId'], $address['latitude'], $address['longitude'],
@@ -142,7 +142,7 @@ class ProfileAddress extends ProfileGeocoding
                             WHERE  uid = {?} AND link_type = 'address'",
                      S::i('uid'));
         foreach ($value as $addrid => &$address) {
-            $this->saveAddress($addrid, $address);
+            $this->saveAddress($addrid, $address, 'home');
             $profiletel = new ProfilePhones('address', $addrid);
             $profiletel->saveTels('tel', $address['tel']);
         }
@@ -162,7 +162,7 @@ class ProfileAddresses extends ProfilePage
 
     protected function _fetchData()
     {
-        $res = XDB::query("SELECT  type, id, accuracy, text, postalText,
+        $res = XDB::query("SELECT  id, accuracy, text, postalText,
                                    postalCode, localityId, subAdministrativeAreaId, administrativeAreaId,
                                    countryId, latitude, longitude, pub, comment, updateTime,
                                    north, south, east, west,
index 18dffd8..2d03924 100644 (file)
 class ProfileJob extends ProfileGeocoding
 {
     private $pub;
-    private $mail_new;
-    private $mail;
-    private $web;
+    private $email_new;
+    private $email;
+    private $url;
     private $bool;
     private $checks;
 
     public function __construct()
     {
         $this->pub    = new ProfilePub();
-        $this->mail
-                      = $this->mail_new
+        $this->email
+                      = $this->email_new
                       = new ProfileEmail();
-        $this->web    = new ProfileWeb();
+        $this->url    = new ProfileWeb();
         $this->bool   = new ProfileBool();
-        $this->checks = array('web'      => array('w_web'),
-                              'mail_new' => array('w_email_new'),
-                              'mail'     => array('w_email'),
-                              'pub'      => array('pub', 'w_email_pub'));
+        $this->checks = array('url'      => array('w_url'),
+                              'email'    => array('w_email'),
+                              'pub'      => array('pub', 'w_email_pub'),
+                             );
     }
 
     private function cleanJob(ProfilePage &$page, $jobid, array &$job, &$success)
     {
         $success = true;
+        if ($job['w_email'] == "new@example.org") {
+            $job['w_email'] = $job['w_email_new'];
+        }
         foreach ($this->checks as $obj=>&$fields) {
             $chk =& $this->$obj;
             foreach ($fields as $field) {
-                if ($field == "w_email_new") {
-                    if ($job['w_email'] == "new@example.org") {
-                        $job['w_email'] = $job[$field];
-                    }
-                    continue;
-                }
                 $job[$field] = $chk->value($page, $field, $job[$field], $s);
                 if (!$s) {
                     $success = false;
@@ -61,22 +58,22 @@ class ProfileJob extends ProfileGeocoding
                 }
             }
         }
-        if (!$job['sss_secteur_name']) {
+        if (!$job['subSubSectorName']) {
             $res = XDB::query("SELECT  name
                                  FROM  profile_job_subsubsector_enum
                                 WHERE  id = {?}",
-                              $job['sss_secteur']);
-            $job['sss_secteur_name'] = $res->fetchOneCell();
+                              $job['subSubSector']);
+            $job['subSubSectorName'] = $res->fetchOneCell();
         } else {
             $res = XDB::query("SELECT  sectorid, subsectorid, id
                                  FROM  profile_job_subsubsector_enum
                                 WHERE  name = {?}",
-                              $job['sss_secteur_name']);
+                              $job['subSubSectorName']);
             if ($res->numRows() != 1) {
                 $success = false;
                 $job['sector_error'] = true;
             } else {
-                list($job['secteur'], $job['ss_secteur'], $job['sss_secteur']) = $res->fetchOneRow();
+                list($job['sector'], $job['subSector'], $job['subSubSector']) = $res->fetchOneRow();
             }
         }
         if ($job['name']) {
@@ -86,25 +83,21 @@ class ProfileJob extends ProfileGeocoding
                               $job['name']);
             if ($res->numRows() != 1) {
                 $user = S::user();
-                $req = new EntrReq($user, $jobid, $job['name'], $job['acronym'], $job['hq_web'], $job['hq_email'], $job['hq_tel'], $job['hq_fax']);
+                $req = new EntrReq($user, $jobid, $job['name'], $job['hq_²acronym'], $job['hq_url'], $job['hq_email'], $job['hq_fixed'], $job['hq_fax']);
                 $req->submit();
                 $job['jobid'] = null;
             } else {
                 $job['jobid'] = $res->fetchOneCell();
             }
         }
-        $job['w_adr']['pub'] = $this->pub->value($page, 'adr_pub', @$job['w_adr']['pub'], $s);
-        $job['w_adr']['checked'] = $this->bool->value($page, 'adr_checked', @$job['w_adr']['checked'], $s);
-        if (!isset($job['w_tel'])) {
-            $job['w_tel'] = array();
+        $job['w_address']['pub'] = $this->pub->value($page, 'address_pub', $job['w_address']['pub'], $s);
+        if (!isset($job['w_phone'])) {
+            $job['w_phone'] = array();
         }
         $profiletel = new ProfilePhones('pro', $jobid);
-        $job['w_tel'] = $profiletel->value($page, 'tel', $job['w_tel'], $s);
+        $job['w_phone'] = $profiletel->value($page, 'tel', $job['w_phone'], $s);
         unset($job['removed']);
         unset($job['new']);
-        unset($job['w_adr']['changed']);
-        unset($job['w_adr']['parsevalid']);
-        unset($job['w_adr']['display']);
     }
 
     public function value(ProfilePage &$page, $field, $value, &$success)
@@ -125,13 +118,13 @@ class ProfileJob extends ProfileGeocoding
                 $job['tmp_name'] = $entreprise[$entr_val]->name;
                 $entr_val ++;
             }
-            if (@$job['removed']) {
+            if (isset($job['removed']) && $job['removed']) {
                 unset($value[$key]);
             }
         }
         foreach ($value as $key=>&$job) {
             $ls = true;
-            $this->geocodeAddress($job['w_adr'], $s);
+            $this->geocodeAddress($job['w_address'], $s);
             $ls = ($ls && $s);
             $this->cleanJob($page, $key, $job, $s);
             $ls = ($ls && $s);
@@ -150,28 +143,30 @@ class ProfileJob extends ProfileGeocoding
         XDB::execute("DELETE FROM  profile_job
                             WHERE  uid = {?}",
                      S::i('uid'));
+        XDB::execute("DELETE FROM  profile_addresses
+                            WHERE  pid = {?} AND type = 'job'",
+                     S::i('uid'));
         XDB::execute("DELETE FROM  profile_phones
                             WHERE  uid = {?} AND link_type = 'pro'",
                      S::i('uid'));
         foreach ($value as $id=>&$job) {
-            if ($job['w_email'] == "new@example.org") {
-                $job['w_email'] = $job['w_email_new'];
-            }
             if ($job['jobid']) {
                 XDB::execute("INSERT INTO  profile_job (uid, id, functionid, description, sectorid, subsectorid,
                                                         subsubsectorid, email, url, pub, email_pub, jobid)
                                    VALUES  ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})",
-                             S::i('uid'), $id, $job['fonction'], $job['description'], $job['secteur'], $job['ss_secteur'],
-                             $job['sss_secteur'], $job['w_email'], $job['w_web'], $job['pub'], $job['w_email_pub'], $job['jobid']);
+                             S::i('uid'), $id, $job['fonction'], $job['description'], $job['sector'], $job['subSector'],
+                             $job['subSubSector'], $job['w_email'], $job['w_url'], $job['pub'], $job['w_email_pub'], $job['jobid']);
             } else {
                 XDB::execute("INSERT INTO  profile_job (uid, id, functionid, description, sectorid, subsectorid,
                                                         subsubsectorid, email, url, pub, email_pub)
                                    VALUES  ({?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?}, {?})",
-                             S::i('uid'), $id, $job['fonction'], $job['description'], $job['secteur'], $job['ss_secteur'],
-                             $job['sss_secteur'], $job['w_email'], $job['w_web'], $job['pub'], $job['w_email_pub']);
+                             S::i('uid'), $id, $job['fonction'], $job['description'], $job['sector'], $job['subSector'],
+                             $job['subSubSector'], $job['w_email'], $job['w_url'], $job['pub'], $job['w_email_pub']);
             }
+            $address = new ProfileAddress();
+            $address->saveAddress($id, $job['w_address'], 'job');
             $profiletel = new ProfilePhones('pro', $id);
-            $profiletel->saveTels('tel', $job['w_tel']);
+            $profiletel->saveTels('tel', $job['w_phone']);
         }
     }
 }
@@ -207,53 +202,89 @@ class ProfileJobs extends ProfilePage
         $this->values['corps'] = $res->fetchOneAssoc();
 
         // Build the jobs tree
-        $res = XDB::iterRow("SELECT  j.id, je.name, j.functionid, j.sectorid, j.subsectorid,
-                                     j.subsubsectorid, j.description, e.adr1, e.adr2, e.adr3,
-                                     e.postcode, e.city, e.cityid, e.region, e.regiontxt,
-                                     e.country, gc.countryFR,
-                                     j.email, j.url, j.pub,
-                                     e.adr_pub, j.email_pub,
-                                     e.glat, e.glng, s.name
+        $res = XDB::iterRow("SELECT  j.id, j.jobid, je.name, j.functionid, j.sectorid, j.subsectorid, j.subsubsectorid,
+                                     s.name, j.description, j.email, j.email_pub, j.url, j.pub,
+                                     je.acronym, je.url, je.email,
+                                     aw.accuracy, aw.text, aw.postalText, aw.postalCode, aw.localityId,
+                                     aw.subAdministrativeAreaId, aw.administrativeAreaId, aw.countryId,
+                                     aw.latitude, aw.longitude, aw.pub, aw.updateTime,
+                                     aw.north, aw.south, aw.east, aw.west,
+                                     ah.accuracy, ah.text, ah.postalText, ah.postalCode, ah.localityId,
+                                     ah.subAdministrativeAreaId, ah.administrativeAreaId, ah.countryId,
+                                     ah.latitude, ah.longitude, ah.pub, ah.updateTime,
+                                     ah.north, ah.south, ah.east, ah.west
                                FROM  profile_job                   AS j
                           LEFT JOIN  profile_job_enum              AS je ON (j.jobid = je.id)
-                          LEFT JOIN  entreprises                   AS e  ON (j.uid = e.uid AND j.id = e.entrid)
-                          LEFT JOIN  geoloc_countries              AS gc ON (gc.iso_3166_1_a2 = e.country)
                           LEFT JOIN  profile_job_subsubsector_enum AS s  ON (s.id = j.subsubsectorid)
+                          LEFT JOIN  profile_addresses             AS aw ON (aw.pid = j.uid AND aw.type = 'job')
+                          LEFT JOIN  profile_addresses             AS ah ON (ah.jobid = j.jobid AND ah.type = 'hq')
                               WHERE  j.uid = {?}
-                           ORDER BY  entrid", S::i('uid'));
+                           ORDER BY  j.id",
+                            S::i('uid'));
         $this->values['jobs'] = array();
-        while (list($id, $name, $function, $secteur, $ss_secteur, $sss_secteur, $description,
-                    $w_adr1, $w_adr2, $w_adr3, $w_postcode, $w_city, $w_cityid,
-                    $w_region, $w_regiontxt, $w_country, $w_countrytxt,
-                    $w_email, $w_web,
-                    $pub, $w_adr_pub, $w_email_pub, $w_glat, $w_glng, $sss_secteur_name
+        while (list($id, $jobid, $name, $function, $sector, $subSector, $subSubSector,
+                    $subSubSectorName, $description, $w_email, $w_emailPub, $w_url, $pub,
+                    $hq_acronym, $hq_url, $hq_email,
+                    $w_accuracy, $w_text, $w_postalText, $w_postalCode, $w_localityId,
+                    $w_subAdministrativeAreaId, $w_administrativeAreaId, $w_countryId,
+                    $w_latitude, $w_longitude, $w_pub, $w_updateTime,
+                    $w_north, $w_south, $w_east, $w_west,
+                    $hq_accuracy, $hq_text, $hq_postalText, $hq_postalCode, $hq_localityId,
+                    $hq_subAdministrativeAreaId, $hq_administrativeAreaId, $hq_countryId,
+                    $hq_latitude, $hq_longitude, $hq_pub, $hq_updateTime,
+                    $hq_north, $hq_south, $hq_east, $hq_west,
                    ) = $res->next()) {
             $this->values['jobs'][] = array('id'               => $id,
+                                            'jobid'            => $jobid,
                                             'name'             => $name,
-                                            'fonction'         => $function,
-                                            'secteur'          => $secteur,
-                                            'ss_secteur'       => $ss_secteur,
-                                            'sss_secteur'      => $sss_secteur,
-                                            'sss_secteur_name' => $sss_secteur_name,
+                                            'function'         => $function,
+                                            'sector'           => $sector,
+                                            'subSector'        => $subSector,
+                                            'subSubSector'     => $subSubSector,
+                                            'subSubSectorName' => $subSubSectorName,
                                             'description'      => $description,
-                                            'w_adr'            => array('adr1'        => $w_adr1,
-                                                                        'adr2'        => $w_adr2,
-                                                                        'adr3'        => $w_adr3,
-                                                                        'postcode'    => $w_postcode,
-                                                                        'city'        => $w_city,
-                                                                        'cityid'      => $w_cityid,
-                                                                        'region'      => $w_region,
-                                                                        'regiontxt'   => $w_regiontxt,
-                                                                        'country'     => $w_country,
-                                                                        'countrytxt'  => $w_countrytxt,
-                                                                        'pub'         => $w_adr_pub,
-                                                                        'checked'     => (($w_checked == 0)? true : false),
-                                                                        'precise_lat' => $w_glat,
-                                                                        'precise_lon' => $w_glng),
-                                            'w_email'          => $w_email,
-                                            'w_web'            => $w_web,
                                             'pub'              => $pub,
-                                            'w_email_pub'      => $w_email_pub);
+                                            'w_email'          => $w_email,
+                                            'w_email_pub'      => $w_email_pub,
+                                            'w_url'            => $w_url,
+                                            'hq_acronym'       => $hq_acronym,
+                                            'hq_url'           => $hq_url,
+                                            'hq_email'         => $hq_email,
+                                            'w_address'        => array('accuracy'                => $w_accuracy,
+                                                                        'text'                    => $w_text,
+                                                                        'postalText'              => $w_postalText,
+                                                                        'postalCode'              => $w_postalCode,
+                                                                        'localityId'              => $w_localityId,
+                                                                        'subAdministrativeAreaId' => $w_subAdministrativeAreaId,
+                                                                        'administrativeAreaId'    => $w_administrativeAreaId,
+                                                                        'countryId'               => $w_countryId,
+                                                                        'latitude'                => $w_latitude,
+                                                                        'longitude'               => $w_longitude,
+                                                                        'pub'                     => $w_pub,
+                                                                        'updateTime'              => $w_update,
+                                                                        'north'                   => $w_north,
+                                                                        'south'                   => $w_south,
+                                                                        'east'                    => $w_east,
+                                                                        'west'                    => $w_west,
+                                                                       ),
+                                            'hq_address'       => array('accuracy'                => $hq_accuracy,
+                                                                        'text'                    => $hq_text,
+                                                                        'postalText'              => $hq_postalText,
+                                                                        'postalCode'              => $hq_postalCode,
+                                                                        'localityId'              => $hq_localityId,
+                                                                        'subAdministrativeAreaId' => $hq_subAdministrativeAreaId,
+                                                                        'administrativeAreaId'    => $hq_administrativeAreaId,
+                                                                        'countryId'               => $hq_countryId,
+                                                                        'latitude'                => $hq_latitude,
+                                                                        'longitude'               => $hq_longitude,
+                                                                        'pub'                     => $hq_pub,
+                                                                        'updateTime'              => $hq_update,
+                                                                        'north'                   => $hq_north,
+                                                                        'south'                   => $hq_south,
+                                                                        'east'                    => $hq_east,
+                                                                        'west'                    => $hq_west,
+                                                                       ),
+                                           );
         }
 
         $res = XDB::iterator("SELECT  link_id AS jobid, tel_type AS type, pub, display_tel AS tel, comment
@@ -263,9 +294,8 @@ class ProfileJobs extends ProfilePage
                              S::i('uid'));
         $i = 0;
         $jobNb = count($this->values['jobs']);
-        while ($tel = $res->next()) {
-            $jobid = $tel['jobid'];
-            unset($tel['jobid']);
+        while ($phone = $res->next()) {
+            $jobid = $phone['jobid'];
             while ($i < $jobNb && $this->values['jobs'][$i]['id'] < $jobid) {
                 $i++;
             }
@@ -273,18 +303,17 @@ class ProfileJobs extends ProfilePage
                 break;
             }
             $job =& $this->values['jobs'][$i];
-            if (!isset($job['w_tel'])) {
-                $job['w_tel'] = array();
+            if (!isset($job['w_phone'])) {
+                $job['w_phone'] = array();
             }
             if ($job['id'] == $jobid) {
-                $job['w_tel'][] = $tel;
+                $job['w_phone'][] = $phone;
             }
         }
-        foreach ($this->values['jobs'] as $id=>&$job) {
-            if (!isset($job['w_tel'])) {
-                $job['w_tel'] = array();
+        foreach ($this->values['jobs'] as $id => &$job) {
+            if (!isset($job['w_phone'])) {
+                $job['w_phone'] = array();
             }
-            unset($job['id']);
         }
     }
 
@@ -314,11 +343,11 @@ class ProfileJobs extends ProfilePage
 
         $res = XDB::query("SELECT  id, name AS label
                              FROM  profile_job_sector_enum");
-        $page->assign('secteurs', $res->fetchAllAssoc());
+        $page->assign('sectors', $res->fetchAllAssoc());
         $res = XDB::query("SELECT  id, fonction_fr, FIND_IN_SET('titre', flags) AS title
                              FROM  fonctions_def
                          ORDER BY  id");
-        $page->assign('fonctions', $res->fetchAllAssoc());
+        $page->assign('functions', $res->fetchAllAssoc());
 
         $res = XDB::iterator("SELECT  id, name
                                 FROM  profile_corps_enum
index 54858b9..4fc7b94 100644 (file)
@@ -19,7 +19,7 @@
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-class ProfileSecteurs implements ProfileSetting
+class ProfileSectors implements ProfileSetting
 {
     public function value(ProfilePage &$page, $field, $value, &$success)
     {
@@ -118,7 +118,7 @@ class ProfileMentor extends ProfilePage
     {
         parent::__construct($wiz);
         $this->settings['expertise'] = null;
-        $this->settings['secteurs'] = new ProfileSecteurs();
+        $this->settings['sectors'] = new ProfileSectors();
         $this->settings['countries'] = new ProfileCountry();
     }
 
@@ -151,8 +151,8 @@ class ProfileMentor extends ProfilePage
 
     public function _prepare(PlPage &$page, $id)
     {
-        $page->assign('secteurs_sel', XDB::iterator("SELECT  id, name AS label
-                                                       FROM  profile_job_sector_enum"));
+        $page->assign('sectors', XDB::iterator("SELECT  id, name
+                                                  FROM  profile_job_sector_enum"));
 
         $page->assign('countryList', XDB::iterator("SELECT  iso_3166_1_a2, countryFR
                                                       FROM  geoloc_countries
index 35aab21..f36bd70 100644 (file)
   <tr class="impair">
     <td class="titre">Emploi</td>
     <td>
-      <a href="admin/secteurs">Secteurs</a>
-      &nbsp;&nbsp;|&nbsp;&nbsp;
-      <a href="admin/ss_secteurs">Sous-secteurs</a>
-      &nbsp;&nbsp;|&nbsp;&nbsp;
       <a href="admin/fonctions">Fonctions</a>
       &nbsp;&nbsp;|&nbsp;&nbsp;
       <a href="admin/networking">Networking</a>
index ea8b01a..50ecdf3 100644 (file)
@@ -26,9 +26,9 @@
 </div>
 <div class="{$prefid}_geoloc">
   <ul>
-    <li><a href="javascript:validGeoloc('{$id}', 0)" style="color: red">ton adresse (à gauche)</a>&nbsp;;</li>
-    <li><a href="javascript:validGeoloc('{$id}', 1)" style="color: green">notre suggestion (à droite)</a>&nbsp;;</li>
-    <li><a href="javascript:validGeoloc('{$id}', 2)"
+    <li><a href="javascript:validGeoloc('{$prefid}', '{$id}', 0)" style="color: red">ton adresse (à gauche)</a>&nbsp;;</li>
+    <li><a href="javascript:validGeoloc('{$prefid}', '{$id}', 1)" style="color: green">notre suggestion (à droite)</a>&nbsp;;</li>
+    <li><a href="javascript:validGeoloc('{$prefid}', '{$id}', 2)"
            title="Garder le texte de l'adresse que tu as renseignée tout en utilisant les informations trouvées par le géocodage pour te localiser sur le planisphère et dans lors d'une recherche dans l'annuaire.">
       le texte de ton adresse localisé à l'endroit que nous te suggérons</a>.</li>
   </ul>
@@ -36,7 +36,7 @@
 {/if}
 
 <div>
-  <textarea name="{$prefname}[text]" cols="30" rows="4" onkeyup="addressChanged({$id})"
+  <textarea name="{$prefname}[text]" cols="30" rows="4" onkeyup="addressChanged('{$prefid}')"
             {if $address.geoloc}class="error"{/if}>{$address.text}</textarea>
 {if $address.geoloc}
   <textarea cols="30" rows="4" class="valid {$prefid}_geoloc"
index db4a630..4fbf255 100644 (file)
 
 {assign var=new value="new"|cat:$i}
 {assign var=combobox value="combobox"|cat:$i}
-{if !$isjob}
 <tr {if $class}class="{$class}"{/if}>
-  <td>
-{/if}
-    <span class="titre">{if $name eq "email_directory"}Email annuaire AX
-    {elseif $name eq "email"}Ajouter une adresse email{else}
-    Email professionnel{/if}</span>
-{if !$isjob}
+  <td class="titre">
+  {if $name eq "email_directory"}
+      Email&nbsp;annuaire&nbsp;AX
+  {elseif $name eq "email"}
+    Ajouter&nbsp;une&nbsp;adresse&nbsp;email
+  {else}
+    Email&nbsp;professionnel
+  {/if}
   </td>
   {if $name eq "email"}<td></td>{/if}
   <td>
-{else}
-  <br />
-  <span class="flags">
-    {include file="include/flags.radio.tpl" name="`$jobpref`[`$prefix`email_pub]" val=$pub}
-  </span>
-  <br />
-{/if}
+    {if $name neq "email"}<div style="float: left">{/if}
     <select name="{$name}" id="{$combobox}">
       {if $email_type eq "directory"}
-        <optgroup label="Email annuaire AX">
-          <option value="{$email_directory}" {if
-          $val eq $email_directory}selected="selected"{/if}>{$email_directory}</option>
-        </optgroup>
+      <optgroup label="Email annuaire AX">
+        <option value="{$email_directory}" {if
+        $val eq $email_directory}selected="selected"{/if}>{$email_directory}</option>
+      </optgroup>
       {/if}
       {if $name eq "email_directory"}
-        <optgroup label="Emails polytechniciens">
-          {if $melix}
-            <option value="{$melix}@{#globals.mail.alias_dom#}" {if
-            $val eq $melix|cat:'@'|cat:#globals.mail.alias_dom#}selected="selected"{/if}>
-            {$melix}@{#globals.mail.alias_dom#}</option>
-            <option value="{$melix}@{#globals.mail.alias_dom2#}" {if
-            $val eq $melix|cat:'@'|cat:#globals.mail.alias_dom2#}selected="selected"{/if}>
-            {$melix}@{#globals.mail.alias_dom2#}</option>
-          {/if}
-          {foreach from=$list_email_X item=email}
-            <option value="{$email.alias}@{#globals.mail.domain#}" {if
-            $val eq $email.alias|cat:'@'|cat:#globals.mail.domain#}selected="selected"{/if}>
-            {$email.alias}@{#globals.mail.domain#}</option>
-            <option value="{$email.alias}@{#globals.mail.domain2#}" {if
-            $val eq $email.alias|cat:'@'|cat:#globals.mail.domain2#}selected="selected"{/if}>
-            {$email.alias}@{#globals.mail.domain2#}</option>
-          {/foreach}
-        </optgroup>
+      <optgroup label="Emails polytechniciens">
+        {if $melix}
+        <option value="{$melix}@{#globals.mail.alias_dom#}" {if
+                $val eq $melix|cat:'@'|cat:#globals.mail.alias_dom#}selected="selected"{/if}>
+          {$melix}@{#globals.mail.alias_dom#}</option>
+        <option value="{$melix}@{#globals.mail.alias_dom2#}" {if
+                $val eq $melix|cat:'@'|cat:#globals.mail.alias_dom2#}selected="selected"{/if}>
+          {$melix}@{#globals.mail.alias_dom2#}</option>
+        {/if}
+        {foreach from=$list_email_X item=email}
+        <option value="{$email.alias}@{#globals.mail.domain#}" {if
+                $val eq $email.alias|cat:'@'|cat:#globals.mail.domain#}selected="selected"{/if}>
+          {$email.alias}@{#globals.mail.domain#}</option>
+        <option value="{$email.alias}@{#globals.mail.domain2#}" {if
+                $val eq $email.alias|cat:'@'|cat:#globals.mail.domain2#}selected="selected"{/if}>
+          {$email.alias}@{#globals.mail.domain2#}</option>
+        {/foreach}
+      </optgroup>
       {/if}
       {if (($name neq "email") && ($list_email_redir|@count neq 0))}
-        <optgroup label="Redirections">
-          {foreach from=$list_email_redir item=email}
-            <option value="{$email}" {if $val eq $email}selected="selected"{/if}>{$email}</option>
-          {/foreach}
-        </optgroup>
+      <optgroup label="Redirections">
+        {foreach from=$list_email_redir item=email}
+        <option value="{$email}" {if $val eq $email}selected="selected"{/if}>{$email}</option>
+        {/foreach}
+      </optgroup>
       {/if}
       {if $list_email_pro|@count neq 0}
-        <optgroup label="Emails professionels">
-          {foreach from=$list_email_pro item=email}
-            <option value="{$email}" {if
-            $val eq $email}selected="selected"{/if}>{$email}</option>
-          {/foreach}
-        </optgroup>
+      <optgroup label="Emails professionels">
+        {foreach from=$list_email_pro item=email}
+        <option value="{$email}" {if
+                $val eq $email}selected="selected"{/if}>{$email}</option>
+        {/foreach}
+      </optgroup>
       {/if}
       <optgroup label="Autres choix">
         <option value="new@example.org" {if $error}selected="selected"{/if}>Utiliser une autre adresse email</option>
         $name neq "email"}Ne pas mettre d'adresse email{else}&nbsp;{/if}</option>
       </optgroup>
     </select>
+    {if $name neq "email"}
+    </div>
+    <div style="float: right" class="flags">
     {if $name eq "email_directory"}
       <input type="checkbox" disabled="disabled" checked="checked"/>
       {icon name="flag_orange" title="Visible sur l'annuaire"}
-    {elseif ($name neq "email") && (!$isjob)}
-      <span class="flags">
-        {include file="include/flags.radio.tpl" name="`$jobpref`[`$prefix`email_pub]" val=$pub}
-      </span>
+    {elseif $name neq "email"}
+    {include file="include/flags.radio.tpl" name="`$jobpref`[`$prefix`email_pub]" val=$pub}
+    {/if}
+    </div>
     {/if}
-    <br />
+  </td>
+  {if $name eq "email"}<td></td>{/if}
+</tr>
+<tr {if $class}class="{$class} {$new}"{else}class="{$new}"{/if} style="display: none">
+  <td></td>
+  {if $name eq "email"}<td></td>{/if}
+  <td>
     <span class="{$new}" style="display: none">
       <input type="text" maxlength="60" {if $error}class="error" value="{$val}"{/if} name="{if (($name neq "email_directory")
       && ($name neq "email"))}jobs[{$i}][{$prefix}email_new]{else}{$name}_new{/if}"/>
       });
       {/literal}
     // ]]></script>
-{if !$isjob}
   </td>
   {if $name eq "email"}<td></td>{/if}
 </tr>
-{else}
-<br />
-{/if}
 {if $name neq "email"}
-{if !$isjob}
-  <tr {if $class}class="{$class} {$new}"{else}class="{$new}"{/if} style="display: none">
-    <td colspan="2">
-{else}
-  <div class="{$new}" style="display: none">
-{/if}
-      <p><small><strong><em>Attention :</em></strong> cette adresse email figurera dans
-      {if $name eq "email_directory"}l'annuaire papier{else}tes informations professionnelles
-      {/if} mais n'est pas ajoutée à la liste de tes redirections. Nous te conseillons fortement de
-      <strong><a href="emails/redirect">l'ajouter là</a></strong>, surtout
-      si tu n'en as plus de valide.</small></p>
-{if !$isjob}
-    </td>
-  </tr>
-{else}
-  </div>
-{/if}
+<tr {if $class}class="{$class} {$new}"{else}class="{$new}"{/if} style="display: none">
+  <td colspan="2">
+    <small><strong><em>Attention :</em></strong> cette adresse email figurera dans
+    {if $name eq "email_directory"}l'annuaire papier{else}tes informations professionnelles
+    {/if} mais n'est pas ajoutée à la liste de tes redirections. Nous te conseillons fortement de
+    <strong><a href="emails/redirect">l'ajouter là</a></strong>, surtout
+    si tu n'en as plus de valide.</small>
+  </td>
+</tr>
 {/if}
 
 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}
index 29c416a..293cf3d 100644 (file)
@@ -19,7 +19,7 @@
 {*  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA               *}
 {*                                                                        *}
 {**************************************************************************}
-{if $address.entreprise || $address.secteur || $address.fonction ||
+{if $address.entreprise || $address.sector || $address.fonction ||
   $address.poste || $address.fonction || $address.email || $address.web}
       <div class="adresse" style="float: left">
        <table>
           {if $address.w_web} [<a href='{$address.w_web}'>Page perso</a>]{/if}</strong></td>
         </tr>
         {/if}
-        {if $address.secteur}
+        {if $address.sector}
         <tr>
           <td><em>Secteur&nbsp;: </em></td>
-          <td><strong>{$address.secteur}{if $address.ss_secteur} ({$address.ss_secteur}){/if}</strong></td>
+          <td><strong>{$address.sector}{if $address.subSector} ({$address.subSector}){/if}</strong></td>
         </tr>
         {/if}
 
index 3d7942c..eca68ec 100644 (file)
         <td class="lt">Profession&nbsp;:</td>
         <td class="rt">
           {if $c.job_web}<a href="{$c.job_web}">{$c.entreprise}</a>{else}{$c.entreprise}{/if}
-          {if $c.secteur} ({$c.secteur}){/if}{if $c.fonction}<br />{$c.fonction}{/if}
+          {if $c.sector} ({$c.sector}){/if}{if $c.fonction}<br />{$c.fonction}{/if}
         </td>
       </tr>
       {/if}
index 5759f9b..6178c73 100644 (file)
@@ -31,7 +31,7 @@
   </div>
   <div class="spacer"></div>
 
-  {if $expertise != '' || $secteurs|count || $pays|count }
+  {if $expertise != '' || $sectors|count || $pays|count }
   <div id="part">
     <h2>Informations de référent&nbsp;:</h2>
     {if $expertise}
       <span>{$expertise|nl2br}</span>
     </div>
     {/if}
-    {if $secteurs|count}
+    {if $sectors|count}
     <div class="rubrique_referent">
       <em>Secteurs&nbsp;:</em><br />
       <ul>
-        {foreach from=$secteurs item="secteur" key="i"}
-        <li>{$secteur}{if $ss_secteurs.$i != ''} ({$ss_secteurs.$i}){/if}</li>
+        {foreach from=$sectors item="sector" key="i"}
+        <li>{$sector}{if $subSector.$i != ''} ({$subSector.$i}){/if}</li>
         {/foreach}
       </ul>
     </div>
index ad699f3..f3ca438 100644 (file)
@@ -20,7 +20,7 @@
 {*                                                                        *}
 {**************************************************************************}
 
-{assign var=jobid value="job_`$i`"}
+{assign var=jobid value="job_"|cat:$i}
 {assign var=jobpref value="jobs[`$i`]"}
 {assign var=sector_text value="sector_text_"|cat:$i}
 {assign var=sector value="sector_"|cat:$i}
       <td class="titre">Acronyme</td>
       <td>
         <input type="text" size="35" maxlength="255" {if $job.acronym_error}class="error"{/if}
-               name="{$jobpref}[acronym]" value="{$job.acronym}" />
+               name="{$jobpref}[hq_acronym]" value="{$job.hq_acronym}" />
       </td>
     </tr>
     <tr class="{$entreprise}" style="display: none">
       <td class="titre">Page web</td>
       <td>
-        <input type="text" size="35" maxlength="255" {if $job.hq_web_error}class="error"{/if}
-               name="{$jobpref}[hq_web]" value="{$job.hq_web}" />
+        <input type="text" size="35" maxlength="255" {if $job.hq_url}class="error"{/if}
+               name="{$jobpref}[hq_url]" value="{$job.hq_url}" />
       </td>
     </tr>
     <tr class="{$entreprise}" style="display: none">
@@ -88,7 +88,8 @@
         <div style="float: left">
           <div class="titre">Adresse du siège</div>
           <div style="margin-top: 20px; clear: both">
-            {include file="geoloc/form.address.tpl" name="`$jobpref`[hq_adr]" id="`$jobid`_adr" adr=$job.hq_adr}
+            {include file="geoloc/form.address.tpl" prefname="`$jobpref`[hq_address]"
+                     prefid="`$jobid`_address" address=$job.hq_address}
           </div>
         </div>
       </td>
@@ -97,7 +98,7 @@
       <td class="titre">Téléphone</td>
       <td>
         <input type="text" maxlength="28" {if $job.hq_tel_error}class="error"{/if}
-               name="{$jobpref}[hq_tel]" value="{$job.hq_tel}" />
+               name="{$jobpref}[hq_phone]" value="{$job.hq_phone}" />
       </td>
     </tr>
     <tr class="{$entreprise}" style="display: none">
       <td class="titre">Secteur d'activité</td>
       <td>
         <input type="text" class="sector_name {if $job.sector_error}error{/if}" size="35" maxlength="100"
-               name="{$jobpref}[sss_secteur_name]" value="{$job.sss_secteur_name}" />
+               name="{$jobpref}[subSubSectorName]" value="{$job.subSubSectorName}" />
         <a href="javascript:displayAllSector({$i})">{icon name="table" title="Tous les secteurs"}</a>
       </td>
     </tr>
     <tr class="pair {$sector}" style="display: none">
       <td class="titre" rowspan="3">Secteur&nbsp;d'activité</td>
       <td>
-        <select name="{$jobpref}[secteur]" onchange="updateJobSector({$i}, '')">
+        <select name="{$jobpref}[sector]" onchange="updateJobSector({$i}, '')">
           <option value="">&nbsp;</option>
-          {foreach from=$secteurs item=secteur}
-          <option value="{$secteur.id}" {if $secteur.id eq $job.secteur}selected="selected"{/if}>
-            {$secteur.label}
+          {foreach from=$sectors item=item}
+          <option value="{$item.id}" {if $item.id eq $job.sector}selected="selected"{/if}>
+            {$item.label}
           </option>
           {/foreach}
         </select>
       </td>
     </tr>
     <tr class="pair {$sector}" style="display: none">
-      <td id="{$jobid}_ss_secteur">
-        <input type="hidden" name="{$jobpref}[ss_secteur]" value="{$job.ss_secteur|default:'-1'}" />
+      <td id="{$jobid}_subSector">
+        <input type="hidden" name="{$jobpref}[subSector]" value="{$job.subSector|default:'-1'}" />
       </td>
     </tr>
     <tr class="pair {$sector}" style="display: none">
-      <td id="{$jobid}_sss_secteur">
-        <input type="hidden" name="{$jobpref}[sss_secteur]" value="{$job.sss_secteur|default:'-1'}" />
+      <td id="{$jobid}_subSubSector">
+        <input type="hidden" name="{$jobpref}[subSubSector]" value="{$job.subSubSector|default:'-1'}" />
       </td>
     </tr>
     <tr class="pair">
       <td class="titre">Description</td>
       <td>
         <input type="text" size="35" maxlength="120" {if $job.description_error}class="error"{/if}
-           name="{$jobpref}[description]" value="{$job.description}" /><br /><br />
+           name="{$jobpref}[description]" value="{$job.description}" />
       </td>
     </tr>
     <tr class="pair">
       <td class="titre">Page&nbsp;perso</td>
       <td>
-          <input type="text" size="35" maxlength="255" {if $job.w_web_error}class="error"{/if}
-                 name="{$jobpref}[w_web]" value="{$job.w_web}" />
+          <input type="text" size="35" maxlength="255" {if $job.w_rul}class="error"{/if}
+                 name="{$jobpref}[w_url]" value="{$job.w_url}" />
       </td>
     </tr>
     <tr class="pair">
         <div style="float: left">
           <div class="titre">Adresse</div>
           <div class="flags">
-            {include file="include/flags.radio.tpl" name="`$jobpref`[w_adr][pub]" val=$job.w_adr.pub}
+            {include file="include/flags.radio.tpl" name="`$jobpref`[w_address][pub]" val=$job.w_address.pub}
           </div>
           <div style="margin-top: 20px; clear: both">
-            {include file="geoloc/form.address.tpl" name="`$jobpref`[hq_adr]" id="`$jobid`_adr" adr=$job.hq_adr}
+            {include file="geoloc/form.address.tpl" prefname="`$jobpref`[w_address]"
+                     prefid=$jobid address=$job.w_address}
           </div>
         </div>
       </td>
              class="pair" i=$i error=$job.w_email_error prefix="w_" pub=$job.w_email_pub id=$i}
     <tr class="pair">
       <td colspan="2">
-        {foreach from=$job.w_tel key=t item=tel}
-          <div id="{"`$jobid`_w_tel_`$t`"}" style="clear: both">
-            {include file="profile/phone.tpl" prefname="`$jobpref`[w_tel]" prefid="`$jobid`_w_tel" telid=$t tel=$tel}
+        {foreach from=$job.w_phone key=t item=phone}
+          <div id="{"`$jobid`_w_phone_`$t`"}" style="clear: both">
+            {include file="profile/phone.tpl" prefname="`$jobpref`[w_phone]" prefid="`$jobid`_w_phone" telid=$t tel=$phone}
           </div>
         {/foreach}
-        {if $job.w_tel|@count eq 0}
-          <div id="{"`$jobid`_w_tel_0"}" style="clear: both">
-            {include file="profile/phone.tpl" prefname="`$jobpref`[w_tel]" prefid="`$jobid`_w_tel" telid=0 tel=0}
+        {if $job.w_phone|@count eq 0}
+          <div id="{"`$jobid`_w_phone_0"}" style="clear: both">
+            {include file="profile/phone.tpl" prefname="`$jobpref`[w_phone]" prefid="`$jobid`_w_phone" telid=0 tel=0}
           </div>
         {/if}
-        <div id="{$jobid}_w_tel_add" class="center" style="clear: both; padding-top: 4px;">
-          <a href="javascript:addTel('{$jobid}_w_tel', '{$jobpref}[w_tel]')">
+        <div id="{$jobid}_w_phone_add" class="center" style="clear: both; padding-top: 4px;">
+          <a href="javascript:addTel('{$jobid}_w_phone', '{$jobpref}[w_phone]')">
             {icon name=add title="Ajouter un numéro de téléphone"} Ajouter un numéro de téléphone
           </a>
         </div>
similarity index 85%
rename from templates/profile/jobs.secteur.tpl
rename to templates/profile/jobs.sector.tpl
index 1bf028d..4dcf488 100644 (file)
 {**************************************************************************}
 
 <?xml version="1.0" encoding="utf-8"?>
-<select name="jobs[{$id}][ss_secteur]" {if ($change)}onchange="updateJobSubSector({$id}, '')"{/if}>
+<select name="jobs[{$id}][subSector]" {if ($change)}onchange="updateJobSubSector({$id}, '')"{/if}>
   <option value=""></option>
-  {iterate from=$ssecteurs item=ssecteur}
-  {if $ssecteur.optgroup}
+  {iterate from=$subSectors item=subSector}
+  {if $subSector.optgroup}
   {if $gp}
   </optgroup>
   {/if}
-  <optgroup label="{$ssecteur.label}">
+  <optgroup label="{$subSector.name}">
   {assign var=1 name=gp}
   {else}
-  <option value="{$ssecteur.id}" {if $ssecteur.id eq $sel}selected="selected"{/if}>{$ssecteur.label}</option>
+  <option value="{$subSector.id}" {if $subSector.id eq $sel}selected="selected"{/if}>{$subSector.name}</option>
   {/if}
   {if $gp}
   </optgroup>
similarity index 89%
rename from templates/profile/jobs.soussecteur.tpl
rename to templates/profile/jobs.sub_sector.tpl
index 63fd1de..b3b2106 100644 (file)
 {**************************************************************************}
 
 <?xml version="1.0" encoding="utf-8"?>
-<select name="jobs[{$id}][sss_secteur]">
+<select name="jobs[{$id}][subSubSector]">
   <option value=""></option>
-  {iterate from=$sssecteurs item=sssecteur}
-  <option value="{$sssecteur.id}" {if $sssecteur.id eq $sel}selected="selected"{/if}>{$sssecteur.label}</option>
+  {iterate from=$subSubSectors item=subSubSector}
+  <option value="{$subSubSector.id}" {if $subSubSector.id eq $sel}selected="selected"{/if}>{$subSubSector.name}</option>
   {/iterate}
 </select>
 
index 804844a..093cfd2 100644 (file)
@@ -22,7 +22,7 @@
 
 <p>{icon name=information title="Afficher ma fiche référent"}Tu peux consulter ta <a class="popup2" href="referent/{$smarty.session.hruid}">fiche référent</a> qui n'est accessible que par les X.
 </p>
-{if (!$expertise)||(!($secteurs|@count))}
+{if (!$expertise)||(!($sectors|@count))}
   <p>
     <strong>Attention : pour figurer dans la base de données des mentors, il faut remplir la
     dernière case en bas de cette page et avoir au moins un secteur d'activité de prédilection.</strong><br />
     </th>
   </tr>
   <tr>
-    <td id="secteur_sel">
+    <td id="sectorSelection">
       <div style="float: left; width: 30%" class="titre">Secteur</div>
-      <select name="secteur_sel" onchange="updateSector()">
+      <select name="sectorSelection" onchange="updateSector()">
         <option value="">&nbsp;</option>
-        {iterate from=$secteurs_sel item=secteur}
-        <option value="{$secteur.id}">{$secteur.label}</option>
+        {iterate from=$sectors item=sector}
+        <option value="{$sector.id}">{$sector.name}</option>
         {/iterate}
       </select>
     </td>
   <tr>
     <td>
       <div style="float: left; width: 30%" class="titre">Sous-secteur</div>
-      <span id="ss_secteur_sel"></span>
+      <span id="subSectorSelection"></span>
     </td>
   </tr>
   <tr class="pair">
-    <td id="secteurs">
-      {if $secteurs|@count}
-      {foreach from=$secteurs item=secteur key=s}
-      {foreach from=$secteur item=ss_sect key=ss}
-      <div id="secteurs_{$s}_{$ss}" style="clear: both; margin-top: 0.5em" class="titre">
+    <td id="sectors">
+      {if $sectors|@count}
+      {foreach from=$sectors item=sector key=s}
+      {foreach from=$sector item=subSector key=ss}
+      <div id="sectors_{$s}_{$ss}" style="clear: both; margin-top: 0.5em" class="titre">
         <a href="javascript:removeSector('{$s}', '{$ss}')" style="display: block; float: right">
           {icon name=cross title="Supprimer ce secteur"}
         </a>
-        <input type="hidden" name="secteurs[{$s}][{$ss}]" value="{$ss_sect}" />
-        {$ss_sect}
+        <input type="hidden" name="sectors[{$s}][{$ss}]" value="{$subSector}" />
+        {$subSector}
       </div>
       {/foreach}
       {/foreach}
index d0f4474..5e02b2c 100644 (file)
@@ -40,22 +40,22 @@ var baseurl = platal_baseurl + "referent/";
 {literal}
 var Ajax2 = new AjaxEngine();
 
-function setSecteur(secteur)
+function setSector(sector)
 {
-    if (secteur == '') {
+    if (sector == '') {
         document.getElementById('scat').style.display = 'none';
         document.getElementById('country').style.display = 'none';
         document.getElementById('keywords').style.display = 'none';
     } else {
-        Ajax.update_html('ssect_chg', baseurl + 'ssect/' + secteur);
-        Ajax2.update_html('country_chg', baseurl + 'country/' + secteur);
+        Ajax.update_html('ssect_chg', baseurl + 'ssect/' + sector);
+        Ajax2.update_html('country_chg', baseurl + 'country/' + sector);
         document.getElementById('scat').style.display = ''; 
         document.getElementById('country').style.display = ''; 
         document.getElementById('keywords').style.display = ''; 
     }
 }
 
-function setSSecteurs()
+function setSubSectors()
 {
     var sect  = document.getElementById('sect_field').value;
     var ssect = document.getElementById('ssect_field').value;
@@ -72,8 +72,8 @@ function setSSecteurs()
         Secteur de compétence <br /> du référent
       </td>
       <td>
-        <select name="secteur" id="sect_field" onchange="setSecteur(this.value)">
-          {html_options options=$secteurs selected=$secteur_sel}
+        <select name="sector" id="sect_field" onchange="setSector(this.value)">
+          {html_options options=$sectors selected=$sectorSelection}
         </select>
       </td>
     </tr>