]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-17048
authorthepurpleblob <thepurpleblob>
Wed, 7 Jan 2009 13:58:41 +0000 (13:58 +0000)
committerthepurpleblob <thepurpleblob>
Wed, 7 Jan 2009 13:58:41 +0000 (13:58 +0000)
Suppress display of empty custom profile field categories

Merged from STABLE19

user/profile/lib.php

index fc4819d7dbb9f292e1f61f80ae794c873cbe3d87..3a1761aee4cbef27e4354390ae263445fdd7c88e 100644 (file)
@@ -72,7 +72,9 @@ class profile_field_base {
             $this->edit_field_set_default($mform);
             $this->edit_field_set_required($mform);
             $this->edit_field_set_locked($mform);
+            return true;
         }
+        return false;
     }
 
     /**
@@ -321,13 +323,17 @@ function profile_definition(&$mform) {
     if ($categories = $DB->get_records('user_info_category', null, 'sortorder ASC')) {
         foreach ($categories as $category) {
             if ($fields = $DB->get_records('user_info_field', array('categoryid'=>$category->id), 'sortorder ASC')) {
-                $mform->addElement('header', 'category_'.$category->id, format_string($category->name));
+                $displayed = false;
                 foreach ($fields as $field) {
                     require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
                     $newfield = 'profile_field_'.$field->datatype;
                     $formfield = new $newfield($field->id);
-                    $formfield->edit_field($mform);
-
+                    if ($formfield->edit_field($mform)) {
+                        $displayed = true;
+                    }
+                }
+                if ($displayed) {
+                    $mform->addElement('header', 'category_'.$category->id, format_string($category->name));
                 }
             }
         }