X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fprofile%2Fgeneral.inc.php;h=981d9859a56e447843e64ed938c7e44b86b0cec1;hb=7b094a73666cee7650946254c82800e25965db41;hp=c89c11c5a19323a9e3acf09b09376de541ac5710;hpb=f4b047042ba94654e9098ad9039b92fc106fff09;p=platal.git diff --git a/modules/profile/general.inc.php b/modules/profile/general.inc.php index c89c11c..981d985 100644 --- a/modules/profile/general.inc.php +++ b/modules/profile/general.inc.php @@ -126,7 +126,6 @@ class ProfileSettingSearchNames implements ProfileSetting $value[] = $sn; } while ($sn = $sn_all->next()); } - require_once 'validations.inc.php'; $namesRequest = ProfileValidate::get_typed_requests($page->pid(), 'usage'); if (count($namesRequest) > 0) { Platal::page()->assign('validation', true); @@ -211,7 +210,6 @@ class ProfileSettingSearchNames implements ProfileSetting public function save(ProfilePage &$page, $field, $value) { require_once 'name.func.inc.php'; - require_once 'validations.inc.php'; $sn_old = build_sn_pub($page->pid()); XDB::execute("DELETE FROM s @@ -275,6 +273,10 @@ class ProfileSettingEdu implements ProfileSetting } else { $i = 0; foreach ($value as $key=>&$edu) { + if ($edu['eduid'] < 1 || !isset($edu['degreeid']) || $edu['degreeid'] < 1) { + Platal::page()->trigError('L\'université ou le diplôme d\'une formation manque.'); + $success = false; + } if (($edu['grad_year'] < 1921) || ($edu['grad_year'] > (date('Y') + 4))) { Platal::page()->trigWarning('L\'année d\'obtention du diplôme est mal ou non renseignée, elle doit être du type : 2004.'); $edu['grad_year'] = null; @@ -298,11 +300,12 @@ class ProfileSettingEdu implements ProfileSetting $page->pid()); foreach ($value as $eduid=>&$edu) { if ($edu['eduid'] != '') { + $fieldId = ($edu['fieldid'] == 0) ? null : $edu['fieldid']; XDB::execute("INSERT INTO profile_education SET id = {?}, pid = {?}, eduid = {?}, degreeid = {?}, fieldid = {?}, grad_year = {?}, program = {?}", $eduid, $page->pid(), $edu['eduid'], $edu['degreeid'], - $edu['fieldid'], $edu['grad_year'], $edu['program']); + $fieldId, $edu['grad_year'], $edu['program']); } } } @@ -457,8 +460,6 @@ class ProfileSettingPromo implements ProfileSetting $gradYearNew, $page->profile->id()); Platal::page()->trigSuccess('Ton statut « orange » a été supprimé.'); } else { - require_once 'validations.inc.php'; - $myorange = new OrangeReq(S::user(), $page->profile, $gradYearNew); $myorange->submit(); Platal::page()->trigSuccess('Tu pourras changer l\'affichage de ta promotion dès que ta nouvelle promotion aura été validée.'); @@ -512,7 +513,7 @@ class ProfileSettingPromo implements ProfileSetting } -class ProfileSettingGeneral extends ProfilePage +class ProfilePageGeneral extends ProfilePage { protected $pg_template = 'profile/general.tpl'; @@ -537,7 +538,7 @@ class ProfileSettingGeneral extends ProfilePage $this->settings['email_directory_new'] = new ProfileSettingEmailDirectory(); $this->settings['networking'] = new ProfileSettingNetworking(); - $this->settings['tels'] = new ProfileSettingPhones('user', 0); + $this->settings['tels'] = new ProfileSettingPhones(); $this->settings['edus'] = new ProfileSettingEdu(); $this->settings['promo'] = new ProfileSettingPromo(); $this->watched= array('freetext' => true, 'tels' => true, @@ -550,17 +551,12 @@ class ProfileSettingGeneral extends ProfilePage { // Checkout all data... $res = XDB::query("SELECT p.nationality1, p.nationality2, p.nationality3, p.birthdate, - pp.display_tel as mobile, pp.pub as mobile_pub, p.email_directory as email_directory, pd.promo AS promo_display, p.freetext, p.freetext_pub, p.ax_id AS matricule_ax, pd.yourself FROM profiles AS p INNER JOIN profile_display AS pd ON (pd.pid = p.pid) - LEFT JOIN profile_phones AS pp ON (pp.pid = p.pid AND link_type = 'user') WHERE p.pid = {?}", $this->pid()); $this->values = $res->fetchOneAssoc(); - if ($this->owner) { - $this->values['yourself'] = $this->owner->displayName(); - } // Retreive photo informations $res = XDB::query("SELECT pub @@ -665,7 +661,7 @@ class ProfileSettingGeneral extends ProfilePage $page->assign('edu_fields', $res->fetchAllAssoc()); require_once "emails.combobox.inc.php"; - fill_email_combobox($page, $this->owner, $this->profile); + fill_email_combobox($page, $this->owner); $res = XDB::query("SELECT nw.nwid AS type, nw.name FROM profile_networking_enum AS nw