Remove ValidateIterator, replaced by Validate::iterate().
[platal.git] / modules / profile / general.inc.php
index f89b8ac..981d985 100644 (file)
@@ -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';