An example of the error notice we get is when going to admin/settings:
notice: Undefined index: #attributes in includes/form.inc on line 54. notice: Undefined index: class in includes/form.inc on line 54.
the line is part of: function drupal_get_form ($form_id, &$form, $callback = NULL) which is called in this case from system.module from function system_view_general()
Now I can solve this problem in by declaring the array this way: $form['#attributes']['class'] = array (); I can add this line 1- either within the function drupal_get_form in includes/form.inc 2- or within the function system_view_general in modules/system.module.
Which way would be better/correct?
Better is to check for the existance of the form item before using it, not creating the item in every possible place. Since contributed code can result in similar errors.
Another similar example: notice: Undefined index: #built in includes/form.inc on line 180. should I change in the said line: if ($form['#built'] == TRUE) { to if (isset($form['#built']) AND $form['#built'] == TRUE) { or should I go back to where the function was called from, and declare the array there?
I don't know who have written "if ($form['#built'] == TRUE)", but AFAIK, this is the very same as "if ($form['#built'])" (since it is casted to a boolean either way. So shorter is to use "if (isset($form['#built']) && $form['#built'])" Goba