}
}
+function delNationality(i)
+{
+ $('#nationalite' + i).hide().find('select').val('');
+}
+
+function addNationality()
+{
+ var i = 0;
+ if ($('#nationalite2').find('select').val() == "") {
+ i = 2;
+ } else if ($('#nationalite3').find('select').val() == "") {
+ i = 3;
+ }
+ if ((i == 2) || (i == 3)) {
+ $('#nationalite' + i).show();
+ }
+}
+
function addNetworking()
{
var i = 0;
'freetext' => 'Le texte libre',
'mobile' => 'Son numéro de téléphone portable',
'nationalite' => 'Sa nationalité',
+ 'nationalite2' => 'Sa seconde nationalité',
+ 'nationalite3' => 'Sa troisième nationalité',
'nick' => 'Son surnom',
'networking' => 'La liste de ses adresses de networking',
'appli1' => 'Son école d\'application',
$tables_to_clear['contact'] = array('contacts');
XDB::execute("UPDATE auth_user_md5
SET date_ins = 0, promo_sortie = 0, nom_usage = '', password = '', perms = 'pending',
- nationalite = '', cv = '', section = 0, date = 0, smtppass = '', mail_storage = ''
+ nationalite = '', nationalite2 = '', nationalite3 = '', cv = '', section = 0,
+ date = 0, smtppass = '', mail_storage = ''
WHERE user_id = {?}", $uid);
XDB::execute("DELETE virtual.* FROM virtual INNER JOIN virtual_redirect AS r USING(vid) WHERE redirect = {?}",
$alias.'@'.$globals->mail->domain);
q.profile_nick AS nickname, q.profile_from_ax, q.profile_freetext AS freetext,
q.profile_freetext_pub AS freetext_pub,
q.profile_medals_pub AS medals_pub,
- IF(gp.nat='',gp.pays,gp.nat) AS nationalite, gp.a2 AS iso3166,
+ IF(gp1.nat='',gp1.pays,gp1.nat) AS nationalite, gp1.a2 AS iso3166_1,
+ IF(gp2.nat='',gp2.pays,gp2.nat) AS nationalite2, gp2.a2 AS iso3166_2,
+ IF(gp3.nat='',gp3.pays,gp3.nat) AS nationalite3, gp3.a2 AS iso3166_3,
a.alias AS forlife, a2.alias AS bestalias,
c.uid IS NOT NULL AS is_contact,
s.text AS section, p.x, p.y, p.pub AS photo_pub,
(COUNT(e.email) > 0 OR FIND_IN_SET('googleapps', u.mail_storage) > 0) AS actif,
nd.display AS name_display, nd.tooltip AS name_tooltip
FROM auth_user_md5 AS u
- INNER JOIN auth_user_quick AS q USING(user_id)
- INNER JOIN aliases AS a ON (u.user_id=a.id AND a.type='a_vie')
- INNER JOIN aliases AS a2 ON (u.user_id=a2.id AND FIND_IN_SET('bestalias',a2.flags))
- LEFT JOIN contacts AS c ON (c.uid = {?} and c.contact = u.user_id)
- LEFT JOIN geoloc_pays AS gp ON (gp.a2 = u.nationalite)
- INNER JOIN sections AS s ON (s.id = u.section)
- LEFT JOIN photo AS p ON (p.uid = u.user_id)
- LEFT JOIN mentor AS m ON (m.uid = u.user_id)
- LEFT JOIN emails AS e ON (e.uid = u.user_id AND e.flags='active')
+ INNER JOIN auth_user_quick AS q USING(user_id)
+ INNER JOIN aliases AS a ON (u.user_id=a.id AND a.type='a_vie')
+ INNER JOIN aliases AS a2 ON (u.user_id=a2.id AND FIND_IN_SET('bestalias',a2.flags))
+ LEFT JOIN contacts AS c ON (c.uid = {?} and c.contact = u.user_id)
+ LEFT JOIN geoloc_pays AS gp1 ON (gp1.a2 = u.nationalite)
+ LEFT JOIN geoloc_pays AS gp2 ON (gp2.a2 = u.nationalite2)
+ LEFT JOIN geoloc_pays AS gp3 ON (gp3.a2 = u.nationalite3)
+ INNER JOIN sections AS s ON (s.id = u.section)
+ LEFT JOIN photo AS p ON (p.uid = u.user_id)
+ LEFT JOIN mentor AS m ON (m.uid = u.user_id)
+ LEFT JOIN emails AS e ON (e.uid = u.user_id AND e.flags='active')
INNER JOIN profile_names_display AS nd ON (nd.user_id = u.user_id)
WHERE a.alias = {?}
GROUP BY u.user_id";
LEFT JOIN entreprises AS e ON (e.entrid = 0 AND e.uid = u.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 (u.nationalite = n.a2)
+ LEFT JOIN geoloc_pays AS n1 ON (u.nationalite = n1.a2)
+ LEFT JOIN geoloc_pays AS n2 ON (u.nationalite2 = n2.a2)
+ LEFT JOIN geoloc_pays AS n3 ON (u.nationalite2 = n3.a2)
LEFT JOIN adresses AS adr ON (u.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)
u.deces != 0 AS dcd, u.deces, u.matricule_ax,
FIND_IN_SET('femme', u.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,
+ IF(n1.nat='',n1.pays,n1.nat) AS nat1, n1.a2 AS iso3166_1,
+ IF(n2.nat='',n2.pays,n2.nat) AS nat2, n2.a2 AS iso3166_2,
+ IF(n3.nat='',n3.pays,n3.nat) AS nat3, n3.a2 AS iso3166_3,
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,
return "LEFT JOIN entreprises AS e ON (e.entrid = 0 AND e.uid = u.user_id".(S::logged() ? "" : " AND e.pub = 'public'").")
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 (u.nationalite = n.a2)
+ LEFT JOIN geoloc_pays AS n1 ON (u.nationalite = n1.a2)
+ LEFT JOIN geoloc_pays AS n2 ON (u.nationalite2 = n2.a2)
+ LEFT JOIN geoloc_pays AS n3 ON (u.nationalite3 = n3.a2)
LEFT JOIN applis_ins AS ai0 ON (u.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 (u.user_id = ai1.uid AND ai1.ordre = 1)
print_r(Env::v('emails_rewrite'));
if (Env::v('emailop') == "ajouter" && Env::has('email')) {
$new_email = Env::v('email');
- if ($new_email == "new@new.new") {
+ if ($new_email == "new@example.org") {
$new_email = Env::v('email_new');
}
$retour = $redirect->add_email($new_email);
$success = true;
if (!is_null($value)) {
$email_stripped = strtolower(trim($value));
- if ((!isvalid_email($email_stripped)) && ($email_stripped) && ($p->values['email_directory'] == "new@new.new")) {
+ if ((!isvalid_email($email_stripped)) && ($email_stripped) && ($p->values['email_directory'] == "new@example.org")) {
$page->assign('email_error', '1');
$page->assign('email_directory_error', $email_stripped);
$page->trigError('Adresse Email invalide');
= new ProfilePub();
$this->settings['freetext']
= $this->settings['nationalite']
+ = $this->settings['nationalite2']
+ = $this->settings['nationalite3']
= $this->settings['nick']
= $this->settings['yourself']
= $this->settings['display_name']
= new ProfileAppli();
$this->watched= array('nom' => true, 'freetext' => true, 'tels' => true,
'networking' => true, 'appli1' => true, 'appli2' => true,
- 'nationalite' => true, 'nick' => true);
+ 'nationalite' => true, 'nationalite2' => true,
+ 'nationalite3' => true, 'nick' => true);
}
protected function _fetchData()
{
// Checkout all data...
- $res = XDB::query("SELECT u.promo, u.promo_sortie, u.nom_usage, u.nationalite, u.naissance,
+ $res = XDB::query("SELECT u.promo, u.promo_sortie, u.nom_usage, u.nationalite,
+ u.nationalite2, u.nationalite3, u.naissance,
t.display_tel as mobile, t.pub as mobile_pub,
d.email_directory as email_directory,
q.profile_freetext as freetext, q.profile_freetext_pub as freetext_pub,
protected function _saveData()
{
- if ($this->changed['nationalite'] || $this->changed['nom'] || $this->changed['prenom']
- || $this->changed['naissance']) {
+ if ($this->changed['nationalite'] || $this->changed['nationalite2'] || $this->changed['nationalite3']
+ || $this->changed['nom'] || $this->changed['prenom'] || $this->changed['naissance']) {
+ if ($this->values['nationalite3'] == "") {
+ $this->values['nationalite3'] = NULL;
+ }
+ if ($this->values['nationalite2'] == "") {
+ $this->values['nationalite2'] = $this->values['nationalite3'];
+ $this->values['nationalite3'] = NULL;
+ }
+ if ($this->values['nationalite'] == "") {
+ $this->values['nationalite'] = $this->values['nationalite2'];
+ $this->values['nationalite2'] = $this->values['nationalite3'];
+ $this->values['nationalite3'] = NULL;
+ }
+
XDB::execute("UPDATE auth_user_md5
- SET nationalite = {?}, nom={?}, prenom={?}, naissance={?}
+ SET nationalite = {?}, nationalite2 = {?}, nationalite3 = {?}, nom={?}, prenom={?}, naissance={?}
WHERE user_id = {?}",
- $this->values['nationalite'], $this->values['nom'], $this->values['prenom'],
+ $this->values['nationalite'], $this->values['nationalite2'], $this->values['nationalite3'],
+ $this->values['nom'], $this->values['prenom'],
preg_replace('@(\d{2})/(\d{2})/(\d{4})@', '\3-\2-\1', $this->values['naissance']),
S::v('uid'));
}
$this->values['synchro_ax'], S::v('uid'));
}
if ($this->changed['email_directory']) {
- $new_email = ($this->values['email_directory'] == "new@new.new") ?
+ $new_email = ($this->values['email_directory'] == "new@example.org") ?
$this->values['email_directory_new'] : $this->values['email_directory'];
+ if ($new_email == "") {
+ $new_email = NULL;
+ }
XDB::execute("REPLACE INTO profile_directory (uid, email_directory)
VALUES ({?}, {?})",
S::v('uid'), $new_email);
$chk =& $this->$obj;
foreach ($fields as $field) {
if ($field == "email_new") {
- if ($job['email'] == "new@new.new") {
+ if ($job['email'] == "new@example.org") {
$job['email'] = $job[$field];
}
continue;
S::i('uid'));
$i = 0;
foreach ($value as $jobid=>&$job) {
- if ($job['email'] == "new@new.new") {
+ if ($job['email'] == "new@example.org") {
$job['email'] = $job['email_new'];
}
XDB::execute("INSERT INTO entreprises (uid, entrid, entreprise, secteur, ss_secteur,
***************************************************************************/
-function select_nat($valeur,$pad=false) {
+function select_nat($valeur, $pad=false) {
$sql = "SELECT a2 AS id,IF(nat='',pays,nat) AS text FROM geoloc_pays ORDER BY text";
$res = XDB::iterRow($sql);
$sel = ' selected="selected"';
// on ajoute une entree vide si $pad est vrai
$html = "";
if ($pad) {
- $html.= '<option value="0"'.($valeur==0?$sel:"")."></option>\n";
+ $html .= sprintf("<option value=\"\"%s></option>\n", ($valeur ? $sel : ""));
}
- while (list($my_id,$my_text) = $res->next()) {
- $html .= sprintf("<option value=\"%s\" %s>%s</option>\n",$my_id,($valeur==$my_id?$sel:""),$my_text);
+ while (list($my_id, $my_text) = $res->next()) {
+ $html .= sprintf("<option value=\"%s\"%s>%s</option>\n", $my_id, ($valeur==$my_id ? $sel : ""), $my_text);
}
+
return $html;
}
function smarty_function_select_nat($params, &$smarty) {
- if(empty($params['pad']) || !($params['pad']))
- $pad = false;
- else
- $pad = true;
+ if (empty($params['pad']) || !($params['pad'])) {
+ $pad = false;
+ } else {
+ $pad = true;
+ }
+
return select_nat($params['valeur'], $pad);
}
{if !$c.dcd && $c.inscrit}</a>{/if}
</div>
<div class="autre">
- {if $c.iso3166}
- <img src='images/flags/{$c.iso3166}.gif' alt='{$c.nat}' height='11' title='{$c.nat}' />
+ {if $c.iso3166_1}
+ <img src='images/flags/{$c.iso3166_1}.gif' alt='{$c.nat1}' height='11' title='{$c.nat1}' />
+ {/if}
+ {if $c.iso3166_2}
+ <img src='images/flags/{$c.iso3166_2}.gif' alt='{$c.nat2}' height='11' title='{$c.nat2}' />
+ {/if}
+ {if $c.iso3166_3}
+ <img src='images/flags/{$c.iso3166_3}.gif' alt='{$c.nat3}' height='11' title='{$c.nat3}' />
{/if}
(X {$c.promo})
{if $c.dcd}décédé{if $c.sexe}e{/if} le {$c.deces|date_format}{/if}
</optgroup>
{/if}
<optgroup label="Autres choix">
- <option value="new@new.new" {if $error}selected="selected"{/if}>Utiliser une autre adresse email</option>
+ <option value="new@example.org" {if $error}selected="selected"{/if}>Utiliser une autre adresse email</option>
<option value="" {if (($val eq '') && (!$error))}selected="selected"{/if}>{if
$name neq "email"}Ne pas mettre d'adresse email{else} {/if}</option>
</optgroup>
$(function() {
$("select#combobox").change(function() {
$(".new").hide();
- if ($("select#combobox").val() == "new@new.new") {
+ if ($("select#combobox").val() == "new@example.org") {
$(".new").show();
}
}).change();
</div>
<div class="appli">
- {if $c.iso3166}
- <img src='images/flags/{$c.iso3166}.gif' alt='{$c.nat}' height='11' title='{$c.nat}' />
+ {if $c.iso3166_1}
+ <img src='images/flags/{$c.iso3166_1}.gif' alt='{$c.nat1}' height='11' title='{$c.nat1}' />
+ {/if}
+ {if $c.iso3166_2}
+ <img src='images/flags/{$c.iso3166_2}.gif' alt='{$c.nat2}' height='11' title='{$c.nat2}' />
+ {/if}
+ {if $c.iso3166_3}
+ <img src='images/flags/{$c.iso3166_3}.gif' alt='{$c.nat3}' height='11' title='{$c.nat3}' />
{/if}
X {$c.promo}{if $c.app0text}, {applis_fmt type=$c.app0type text=$c.app0text url=$c.app0url}{*
*}{/if}{if $c.app1text}, {applis_fmt type=$c.app1type text=$c.app1text url=$c.app1url}{/if}{*
</td>
</tr>
<tr>
- <td class="titre">Date de naissance</td>
+ <td>
+ <span class="titre">Date de naissance</span>
+ </td>
<td><input type="text" {if $errors.naissance}class="error"{/if} name="naissance" value="{$naissance}" /></td>
</tr>
<tr>
</td>
<td>
<select name="nationalite">
- {select_nat valeur=$nationalite}
+ {select_nat valeur=$nationalite pad=1}
+ </select>
+ <a href="javascript:addNationality();">{icon name=add title="Ajouter une nationalité"}</a>
+ </td>
+ </tr>
+ <tr id="nationalite2" {if !$nationalite2}style="display: none"{/if}>
+ <td></td>
+ <td>
+ <select name="nationalite2">
+ {select_nat valeur=$nationalite2 pad=1}
+ </select>
+ <a href="javascript:delNationality('2');">{icon name=cross title="Supprimer cette nationalité"}</a>
+ </td>
+ </tr>
+ <tr id="nationalite3" {if !$nationalite3}style="display: none"{/if}>
+ <td></td>
+ <td>
+ <select name="nationalite3">
+ {select_nat valeur=$nationalite3 pad=1}
</select>
+ <a href="javascript:delNationality('3');">{icon name=cross title="Supprimer cette nationalité"}</a>
</td>
</tr>
<tr class="pair">
</div>
{/if}
<div class='formation'>
- {if $x.iso3166}
- <img src='images/flags/{$x.iso3166}.gif' alt='{$x.nationalite}' height='11' title='{$x.nationalite}' />
+ {if $x.iso3166_1}
+ <img src='images/flags/{$x.iso3166_1}.gif' alt='{$x.nationalite}' height='11' title='{$x.nationalite}' />
+ {/if}
+ {if $x.iso3166_2}
+ <img src='images/flags/{$x.iso3166_2}.gif' alt='{$x.nationalite2}' height='11' title='{$x.nationalite2}' />
+ {/if}
+ {if $x.iso3166_3}
+ <img src='images/flags/{$x.iso3166_3}.gif' alt='{$x.nationalite3}' height='11' title='{$x.nationalite3}' />
{/if}
X {$x.promo}
{if ($x.promo_sortie-3 > $x.promo)}
--- /dev/null
+ALTER TABLE auth_user_md5 ADD COLUMN nationalite2 CHAR(2) DEFAULT NULL,
+ ADD COLUMN nationalite3 CHAR(2) DEFAULT NULL,
+ ADD KEY nationalite2 (nationalite2),
+ ADD KEY nationalite3 (nationalite3),
+ MODIFY nationalite CHAR(2) DEFAULT NULL;
+
+UPDATE auth_user_md5 SET nationalite=NULL WHERE nationalite="00" OR nationalite='';
+
+DELETE FROM geoloc_pays WHERE a2="00";
+
+# vim:set syntax=mysql: