CONCAT(af.alias, \'@' . $globals->mail->domain2 . '\') AS forlife_alternate,
IF (ab.alias IS NULL, a.email, CONCAT(ab.alias, \'@' . $globals->mail->domain . '\')) AS bestalias,
CONCAT(ab.alias, \'@' . $globals->mail->domain2 . '\') AS bestalias_alternate,
- a.full_name, a.display_name, a.sex = \'female\' AS gender,
+ a.full_name, a.directory_name, a.display_name, a.sex = \'female\' AS gender,
IF(a.state = \'active\', at.perms, \'\') AS perms,
a.email_format, a.is_admin, a.state, a.type, a.skin,
FIND_IN_SET(\'watch\', a.flags) AS watch, a.comment,
public function directoryName()
{
if (!$this->hasProfile()) {
- return $this->full_name;
+ return $this->directory_name;
}
return $this->profile()->directory_name;
}
// XXX: Update profile if a profile is associated
$to_update['display_name'] = Post::s('display_name');
}
+ if (Post::s('directory_name') != $user->directoryName()) {
+ // XXX: Update profile if a profile is associated
+ $to_update['directory_name'] = Post::s('directory_name');
+ }
if (Post::s('sex') != ($user->isFemale() ? 'female' : 'male')) {
$to_update['sex'] = Post::s('sex');
}
$from_email = $user->forlifeEmail();
if (!$user->profile()) {
XDB::query('UPDATE accounts
- SET full_name = {?}, display_name = {?}, sex = {?}, email = {?}, type = {?}
+ SET full_name = {?}, directory_name = {?}, display_name = {?}, sex = {?}, email = {?}, type = {?}
WHERE uid = {?}',
- Post::v('full_name'), Post::v('display_name'), (Post::v('sex') == 'male')?'male':'female', Post::v('email'), (Post::v('type') == 'xnet')?'xnet':'virtual',
+ Post::t('full_name'), Post::t('directory_name'), Post::t('display_name'), (Post::v('sex') == 'male')?'male':'female', Post::v('email'), (Post::v('type') == 'xnet')?'xnet':'virtual',
$user->id());
if (XDB::affectedRows()) {
$page->trigSuccess('Données de l\'utilisateur mise à jour.');
<td><input type="text" name="full_name" maxlength="255" value="{$user->fullName()}" /></td>
</tr>
<tr>
+ <td class="titre">Nom annuaire</td>
+ <td><input type="text" name="directory_name" maxlength="255" value="{$user->directoryName()}" /></td>
+ </tr>
+ <tr>
<td class="titre">Nom affiché</td>
<td><input type="text" name="display_name" maxlength="255" value="{$user->displayName()}" /></td>
</tr>
<input type="text" value="{$user->fullName()}" name="full_name" size="40"{if $user->profile()} disabled="disabled"{/if} />
</td>
</tr>
+ <tr class="impair">
+ <td class="titre">
+ Nom annuaire :
+ </td>
+ <td>
+ <input type="text" value="{$user->directoryName()}" name="directory_name" size="40"{if $user->profile()} disabled="disabled"{/if} />
+ </td>
+ </tr>
<tr id="sexe" class="impair" {if $user->type eq "virtual"}style="display: none"{/if}>
<td class="titre">
Sexe :
--- /dev/null
+ALTER TABLE accounts ADD COLUMN directory_name VARCHAR(255) DEFAULT NULL;
+UPDATE accounts AS a
+ SET a.directory_name = (SELECT pd.directory_name
+ FROM profile_display AS pd
+ INNER JOIN account_profiles AS ap ON (ap.uid = pd.pid AND FIND_IN_SET('owner', perms))
+ WHERE a.uid = ap.uid);
+
+-- vim:set syntax=mysql: