Drupal 7: Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‚node_form’ not found or invalid function name in drupal_retrieve_form()

Podczas ładowania pliku graficznego za pomocą uploadera AJAX w Drupalu 7 pojawia się błąd:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'node_form' not found or invalid function name in drupal_retrieve_form() (line 772 of /includes/form.inc).
Notice: Undefined index: #node in comment_form_node_form_alter() (line 1190 of /modules/comment/comment.module).
Notice: Trying to get property of non-object in comment_form_node_form_alter() (line 1207 of /modules/comment/comment.module).
Notice: Undefined index: #node in menu_form_node_form_alter() (line 605 of /modules/menu/menu.module).
Notice: Trying to get property of non-object in menu_form_node_form_alter() (line 605 of /modules/menu/menu.module).
Notice: Undefined index: #node in menu_form_node_form_alter() (line 611 of /modules/menu/menu.module).
Notice: Trying to get property of non-object in menu_form_node_form_alter() (line 611 of /modules/menu/menu.module).
Notice: Undefined index: field_image in file_ajax_upload() (line 265 of /modules/file/file.module).
Notice: Undefined index: #suffix in file_ajax_upload() (line 274 of /modules/file/file.module).

Problem wynika z faktu, że nie został załadowany plik /modules/node/node.pages.inc.

Aby obejść powyższy błąd, możęmy napisać bardzo prosty moduł (nazwijmy go iommi). W tym celu musimy utworzyć 2 pliki:

iommi.info:

name = Drupal bug fixes
description = Fixes image upload bug (iommi)
core = 7.x
files[] = iommi.module

iommi.module:

<?php
require_once(DRUPAL_ROOT . "/modules/node/node.pages.inc");

Wrzucamy oba pliki do sites/all/modules/iommi, a następnie przechodzimy do zarządzania modułami i włączamy tam nasz nowo utworzony moduł. Nie trzeba czyścić cache – od teraz upload już będzie działał.