// When we have a valid target, prepare emails.
if ($target) {
- require_once 'emails.inc.php';
// Examine what operation needs to be performed.
switch ($op) {
case 'mail':
S::assert_xsrf_token();
- send_warning_homonyme($user, $loginbis);
- fix_bestalias($user);
+ send_warning_homonym($user, $loginbis);
$op = 'list';
$page->trigSuccess('Email envoyé à ' . $user->forlifeEmail() . '.');
break;
case 'correct':
S::assert_xsrf_token();
- XDB::execute('DELETE FROM email_source_account
- WHERE email = {?} AND type = \'alias\'',
- $loginbis);
- XDB::execute('INSERT INTO email_source_other (hrmid, email, domain, type, expire)
- SELECT {?}, {?}, id, \'homonym\', NOW()
- FROM email_virtual_domains
- WHERE name = {?}',
- User::makeHomonymHrmid($loginbis), $loginbis, $user->mainEmailDomain());
- fix_bestalias($user);
- send_robot_homonyme($user, $loginbis);
+ fix_homonym($user, $loginbis);
+ send_robot_homonym($user, $loginbis);
$op = 'list';
$page->trigSuccess('Email envoyé à ' . $user->forlifeEmail() . ', alias supprimé.');
break;
}
$page->assign_by_ref('homonyms_to_fix', $homonyms_to_fix);
}
+
+ if ($op == 'correct-conf') {
+ $page->assign('robot_mail_text', get_robot_mail_text($user, $loginbis));
+ }
+
+ if ($op == 'mail-conf') {
+ $page->assign('warning_mail_text', get_warning_mail_text($user, $loginbis));
+ }
}
function handler_deaths($page, $promo = 0, $validate = false)
$table_editor = new PLTableEditor('admin/validate/answers','requests_answers','id');
$table_editor->describe('category','catégorie',true);
$table_editor->describe('title','titre',true);
- $table_editor->describe('answer','texte',false);
+ $table_editor->describe('answer','texte',false, true);
$table_editor->apply($page, $action, $id);
}
$table_editor = new PLTableEditor('admin/skins','skins','id');
$table_editor->describe('name','nom',true);
$table_editor->describe('skin_tpl','nom du template',true);
- $table_editor->describe('auteur','auteur',false);
+ $table_editor->describe('auteur','auteur',false, true);
$table_editor->describe('comment','commentaire',true);
- $table_editor->describe('date','date',false);
- $table_editor->describe('ext','extension du screenshot',false);
+ $table_editor->describe('date','date',false, true);
+ $table_editor->describe('ext','extension du screenshot',false, true);
$table_editor->apply($page, $action, $id);
}
$table_editor = new PLTableEditor('admin/mx/broken', 'mx_watch', 'host', true);
$table_editor->describe('host', 'Masque', true);
$table_editor->describe('state', 'Niveau', true);
- $table_editor->describe('text', 'Description du problème', false);
+ $table_editor->describe('text', 'Description du problème', false, true);
$table_editor->apply($page, $action, $id);
}
$page->assign('title', 'Gestion des coupures');
$table_editor = new PLTableEditor('admin/downtime','downtimes','id');
$table_editor->describe('debut','date',true);
- $table_editor->describe('duree','durée',false);
+ $table_editor->describe('duree','durée',false, true);
$table_editor->describe('resume','résumé',true);
$table_editor->describe('services','services affectés',true);
- $table_editor->describe('description','description',false);
+ $table_editor->describe('description','description',false, true);
$table_editor->apply($page, $action, $id);
}
$pids = array_unique($new_pids);
// Updates years.
- XDB::execute('UPDATE profile_education
- SET entry_year = {?}, grad_year = {?}, promo_year = {?}
- WHERE pid IN {?} AND eduid = {?} AND degreeid = {?}',
- $entry_year, $promotion, $promotion, $old_pids, $edu_id, $degree_id);
+ if (count($old_pids)) {
+ XDB::execute('UPDATE profile_education
+ SET entry_year = {?}, grad_year = {?}, promo_year = {?}
+ WHERE pid IN {?} AND eduid = {?} AND degreeid = {?}',
+ $entry_year, $promotion, $promotion, $old_pids, $edu_id, $degree_id);
+ }
}
// Precomputes values common to all users.
XDB::execute('INSERT INTO profile_education (id, pid, eduid, degreeid, entry_year, grad_year, promo_year, flags)
SELECT ' . $select . '
FROM profile_education
- WHERE pid = {?}',
+ WHERE pid = {?}
+ GROUP BY pid',
$pid);
}
XDB::commit();