[РЕШЕНО] Возникла проблема: Fatal error: Cannot redeclare views_bulk_operations_user_roles_action_info() in /home

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

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 14:33

Коллеги, приветствую!
Есть сайтик на Д6, которым я давным-давно не занимался. Решил вдруг его пообновлять через drush, а именно обновить только модули. Не получилось с ходу. Ну думаю и фиг сним - позже сделаю, а сейчас верну все как было... Заливаю обратно бэкап БД и /sites/all/modules (папку "модули" тупо целиком с заменой файлов) и выдает такую фигню: «Fatal error: Cannot redeclare views_bulk_operations_user_roles_action_info() in /home/uXXXXX/XXXXXX.ru/www/sites/all/modules/views_bulk_operations/user_roles.action.inc on line 4»
При этом на главную страницу сайта заходит, а далее вот эта ошибка
Думал по-новой скачать VBO с друпал.орг, а там версия для Д6 не раздается.
Коллеги, что делать? Я в панике!!! Про ССЗБ - это все знаю. Нужно решение проблемы!!!

Заранее благодарен за ваши советы/ответы!

Лучший ответ

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 16:07

в общем залил все из старой версии
надо было видимо обратно заливать НЕ с заменой файлов, а тупо удалить папку /modules и на ее место залить старую папку
так что все заработало (вроде бы) - спасибо!!!

Комментарии

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 15:32

коллеги, очень прошу - ткните носом, что именно мне необходимо сделать
ну написано на д.орг, что мол "мув фанкшен", а чего и куда мув до меня неопытного не доходит Sad

чего и откуда и куда здесь удалить/переименовать?
Очень прошу помощи!

<?php
// $Id: user_roles.action.inc,v 1.1.2.1 2009/04/16 03:08:52 kratib Exp $

function views_bulk_operations_user_roles_action_info() {
return array('views_bulk_operations_user_roles_action' => array(
'type' => 'user',
'description' => t('Modify user roles'),
'configurable' => TRUE,
));
}

function views_bulk_operations_user_roles_action_form($context) {
$roles = user_roles(TRUE);
unset($roles[DRUPAL_AUTHENTICATED_RID]); // Can't edit authenticated role.

$form['add_roles'] = array(
'#type' => 'select',
'#multiple' => TRUE,
'#title' => t('Add roles'),
'#description' => t('Choose one or more roles you would like to assign to the selected users.'),
'#options' => $roles,
'#size' => 5
);
$form['remove_roles'] = array(
'#type' => 'select',
'#multiple' => TRUE,
'#title' => t('Remove roles'),
'#description' => t('Choose one or more roles you would like to remove from the selected users.'),
'#options' => $roles,
'#size' => 5
);
return $form;
}

function views_bulk_operations_user_roles_action_validate($form, $form_state) {
if (!$form_state['values']['add_roles'] && !$form_state['values']['remove_roles']) {
form_set_error('add_roles', t('You have not chosen any role to add or remove. Please select something to do.'));
}
}

function views_bulk_operations_user_roles_action_submit($form, $form_state) {
return array(
'add_roles' => array_filter($form_state['values']['add_roles']),
'remove_roles' => array_filter($form_state['values']['remove_roles']),
);
}

function views_bulk_operations_user_roles_action(&$user, $context) {
$roles = $user->roles;
$selected = (is_array($context['add_roles']) ? $context['add_roles'] : array()) +
(is_array($context['remove_roles']) ? $context['remove_roles'] : array());
$result = db_query("SELECT rid, name FROM {role} WHERE rid IN (%s)", implode(',', array_keys($selected)));
while ($role = db_fetch_object($result)) {
if (isset($context['add_roles'][$role->rid])) {
$add_roles[$role->rid] = $role->name;
}
if (isset($context['remove_roles'][$role->rid])) {
$remove_roles[$role->rid] = $role->name;
}
}
if (!empty($add_roles)) {
$roles += $add_roles;
}
if (!empty($remove_roles)) {
$roles = array_diff($roles, $remove_roles);
}
user_save($user, array('roles' => $roles));
}

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 15:44

сорри... надо было сразу из консольки drush скопировать
вот она

Fatal error: Cannot redeclare views_bulk_operations_user_roles_action_info() (previously declared in /home/uXXXX/XXXX.ru/www/sites/all/modules/views_bulk_operations/actions/user_roles.action.inc:5) in /home/u1XXXX/XXXX.ru/www/sites/all/modules/views_bulk_operations/user_roles.action.inc on line 10

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 15:52

я понял: у меня 2 файла user_roles.action.inc
один в /all/modules/views_bulk_operations/
а другой в /all/modules/views_bulk_operations/actions/

что с ними сделать? они различаются по коду
который в /all/modules/views_bulk_operations/actions/
вот его код:

<?php

function views_bulk_operations_user_roles_action_info() {
  return array(
'views_bulk_operations_user_roles_action' => array(
    
'type' => 'user',
    
'description' => t('Modify user roles'),
    
'configurable' => TRUE,
  ));
}

function 

views_bulk_operations_user_roles_action_form($context) {
  
$roles user_roles(TRUE);
  unset(
$roles[DRUPAL_AUTHENTICATED_RID]);  // Can't edit authenticated role.
  
if (module_exists('role_delegation')) {
    foreach (
$roles as $rid => $role) {
      if (!
user_access('assign all roles') && !user_access(_role_delegation_make_perm($role))) {
        unset(
$roles[$rid]);
      }
    }
  }

  

$form['add_roles'] = array(
    
'#type' => 'select',
    
'#multiple' => TRUE,
    
'#title' => t('Add roles'),
    
'#description' => t('Choose one or more roles you would like to assign to the selected users.'),
    
'#options' => $roles,
    
'#size' => 5,
    
'#default_value' => $context['add_roles'],
  );
  
$form['remove_roles'] = array(
    
'#type' => 'select',
    
'#multiple' => TRUE,
    
'#title' => t('Remove roles'),
    
'#description' => t('Choose one or more roles you would like to remove from the selected users.'),
    
'#options' => $roles,
    
'#size' => 5,
    
'#default_value' => $context['remove_roles'],
  );
  return 
$form;
}

function 

views_bulk_operations_user_roles_action_validate($form$form_state) {
  if (!
$form_state['values']['add_roles'] && !$form_state['values']['remove_roles']) {
    
form_set_error('add_roles't('You have not chosen any role to add or remove. Please select something to do.'));
  }
}

function 

views_bulk_operations_user_roles_action_submit($form$form_state) {
  return array(
    
'add_roles' => array_filter($form_state['values']['add_roles']),
    
'remove_roles' => array_filter($form_state['values']['remove_roles']),
  );
}

function 

views_bulk_operations_user_roles_action(&$user$context) {
  
$roles $user->roles;
  
$selected = (is_array($context['add_roles']) ? $context['add_roles'] : array()) +
              (
is_array($context['remove_roles']) ? $context['remove_roles'] : array());
  
$placeholders db_placeholders($selected);
  
$result db_query("SELECT rid, name FROM {role} WHERE rid IN ($placeholders)"array_keys($selected));
  while (
$role db_fetch_object($result)) {
    if (isset(
$context['add_roles'][$role->rid])) {
      
$add_roles[$role->rid] = $role->name;
    }
    if (isset(
$context['remove_roles'][$role->rid])) {
      
$remove_roles[$role->rid] = $role->name;
    }
  }
  if (!empty(
$add_roles)) {
    
$roles += $add_roles;
  }
  if (!empty(
$remove_roles)) {
    
$roles array_diff($roles$remove_roles);
  }
  
user_save($user, array('roles' => $roles));
}
?>
Аватар пользователя boatsman boatsman 23 июля 2015 в 15:54

ясно. судя по всему с той версии, которая у вас стояла модуль views_bulk_operations претерпел структурные изменения. Появилась, например, папка actions куда переместился файл user_roles.action.inc. Когда вы перезаписывали модули обратно, папка actions не перезаписалась, ибо в старой версии ее просто нет. Вобщем удалите сейчас модуль views_bulk_operations (полностью всю папку) и скопируйте его из backup'а.

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 16:02

блин, гребаный клиент фтп!!!!! понял, спасибо... как раз его в бэкапе и не оказалось... кто же думал, что он криво скопипастит, кАзел!!!

Аватар пользователя DennisVV DennisVV 23 июля 2015 в 16:07

в общем залил все из старой версии
надо было видимо обратно заливать НЕ с заменой файлов, а тупо удалить папку /modules и на ее место залить старую папку
так что все заработало (вроде бы) - спасибо!!!