X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fprofile%2Fgeneral.inc.php;h=bfd280d2c3ae9c7ab8664400fce90bbb96e1e49b;hb=66c4bdaf7813c6dd607a275ab9a2ef163d8b0a51;hp=817b9a9c54123cffe2bd672524ac42b0de2188fc;hpb=4abb0fe4bcefc73a18891e9768640d8811a09acc;p=platal.git diff --git a/modules/profile/general.inc.php b/modules/profile/general.inc.php index 817b9a9..bfd280d 100644 --- a/modules/profile/general.inc.php +++ b/modules/profile/general.inc.php @@ -275,6 +275,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 +302,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']); } } } @@ -512,7 +517,7 @@ class ProfileSettingPromo implements ProfileSetting } -class ProfileSettingGeneral extends ProfilePage +class ProfilePageGeneral extends ProfilePage { protected $pg_template = 'profile/general.tpl'; @@ -537,7 +542,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,12 +555,10 @@ 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();