ошибки при загрузке файлов [решено]

Главные вкладки

Аватар пользователя gooamoko gooamoko 13 апреля 2010 в 5:28

Здравствуйте.
С недавнего времени при загрузке файлов наблюдаю такие ошибки:
* warning: Parameter 2 to content_copy_form_alter() expected to be a reference, value given in /var/www/htdocs/includes/common.inc on line 2839.
* warning: Parameter 2 to fivestar_comment_form_alter() expected to be a reference, value given in /var/www/htdocs/includes/common.inc on line 2839.
* warning: Parameter 2 to fivestar_form_alter() expected to be a reference, value given in /var/www/htdocs/includes/common.inc on line 2839.
* warning: Parameter 2 to moderation_form_alter() expected to be a reference, value given in /var/www/htdocs/includes/common.inc on line 2839.
Я так понял, проблема кроется либо в файле /var/www/htdocs/includes/common.inc, либо в чем-то еще.
В файле указанная строка - последняя в теле цикла:
foreach (module_implements($type .'_alter') as $module) {
$function = $module .'_'. $type .'_alter';
call_user_func_array($function, $args);
}

Никто с подобным не сталкивался? Что я сделал не так?
Спасибо за внимание.

Комментарии

Аватар пользователя gooamoko gooamoko 13 апреля 2010 в 10:00

xxandeadxx wrote:

"gooamoko" wrote:
Что я сделал не так?

php 5.3?

Да, он самый...
итак, после прочтения материала по ссылке, я нашел ответ на свой вопрос. Хорошо, что я немного знаю английский.
Для тех, кто его не знает - проблема была в амперсандах в функциях, которые находятся в свою очередь в дополнительных модулях.
Итак, мне пришлось поработать с модулем CCK, с модулем FiveStar и с модулем moderation.
Ищем там функцию, заканчивающуюся на _alter_form() и в передаваемых ей параметрах (их там везде три) у первых двух убираем амперсанд. Все.
Теперь эти предупреждения не выводятся.
Осталось только понять:
1. Что плохого в PHP 5.3?
2. Почему в firefox файлы добавляются, а в Opera выскакивает диалоговое окно с ошибкой и грузится текст на Javascript при нажатии кнопки ОК.
К стати, заметил, что на Drupal.ru при добавлении файлов в Opera тоже самое происходит. Это в Opera косяк или что-то где-то в JavaScript недоделали?

Аватар пользователя lkg0dzre lkg0dzre 2 ноября 2010 в 12:14

Моя проблема:

Добавил CCK поле для загрузки картинок без ограничения в их количестве.
При создании материала после нажатия кнопки “Добавить” выводились следующие варнинги:

<?php
warning
Parameter 2 to date_form_alter() expected to be a referencevalue given in 
Z
:\home\soc.lcl\www\includes\common.inc on line 2883.
warning
Parameter 2 to date_timezone_form_alter() expected to be a referencevalue given in 
Z
:\home\soc.lcl\www\includes\common.inc on line 2883.
?>

Моё решение:

В файле
sites\all\modules\date\date\date.module
в строке

function date_form_alter(&$form, &$form_state, $form_id) {

убрал амперсанд у второго аргумента.
получил

function date_form_alter(&$form, $form_state, $form_id) {

Аналогично в файле
sites\all\modules\date\date_timezone\date_timezone.module
строку

function date_timezone_form_alter(&$form, &$form_state, $form_id) {

исправляем на

function date_timezone_form_alter(&$form, $form_state, $form_id) {

У первого аргумента ни в коем случае не убирать амперсанд!

Аватар пользователя Hi4iz Hi4iz 24 ноября 2010 в 15:34

Спасибо народ, помогли решить проблему с ошибками!

update. После понижения версии php до 5.2.x ошибки исчезают.

Как это можно сделать? Написать хостеру, или переставить самому, если VDS.

P.S. К примеру мастерхост без проблем перенес по запросу на сервер с php 5.2.x версии.