Eprints3: can't call method on an undefined value

И всё прочее, что касается HTML
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
matasar
проходил мимо
Сообщения: 3
Зарегистрирован: 2013-04-05 12:11:44

Eprints3: can't call method on an undefined value

Непрочитанное сообщение matasar » 2013-04-05 12:23:01

Добрый день!
Помогите решить проблему. Возможно кто то знаком с системой Eprints3, для создания депозитариев. Система бесплатна, ее можно скачать по указанной ссылке. С недавних пор при регистрации новых пользователей начала вылетать страница 500 internal server error, в логах пишет can't call method "update_triggers" on an undefined value at .../eprints3/perl_lib/Eprints/DataObj/User.pm line 303.\n

Все что можно проверял, уже не знаю что может провоцировать эту ошибку, подскажите куда копать. Спасибо!

Код: Выделить всё

sub create_from_data
{
	my( $class, $session, $data, $dataset ) = @_;

	my $new_user = $class->SUPER::create_from_data( $session, $data, $dataset );

	$new_user->update_triggers(); #строка 303
	
	if( scalar( keys %{$new_user->{changed}} ) > 0 )
	{
		# Remove empty slots in multiple fields
		$new_user->tidy;

		# Write the data to the database
		$session->get_database->update(
			$new_user->{dataset},
			$new_user->{data},
			$new_user->{changed} );
	}

	$session->get_database->counter_minimum( "userid", $new_user->get_id );

	return $new_user;
}

Код: Выделить всё

sub update_triggers
{
	my( $self ) = @_;

	$self->SUPER::update_triggers();

	if( $self->{non_volatile_change} )
	{
		$self->set_value( "lastmod", EPrints::Time::get_iso_timestamp() );

		my $action = "clear_triples";
		if( $self->value( "eprint_status" ) eq "archive" )
		{
			$action = "update_triples";
		}

		my $user = $self->{session}->current_user;
		my $userid;
		$userid = $user->id if defined $user;

		EPrints::DataObj::EventQueue->create_unique( $self->{session}, {
			pluginid => "Event::RDF",
			action => $action,
			params => [$self->internal_uri],
			userid => $userid,
		});
	}
}

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

matasar
проходил мимо
Сообщения: 3
Зарегистрирован: 2013-04-05 12:11:44

Re: Eprints3: can't call method on an undefined value

Непрочитанное сообщение matasar » 2013-04-05 12:36:41

Поигрались с правами, вроде бы заработало. Не понимаю как так вышло.

matasar
проходил мимо
Сообщения: 3
Зарегистрирован: 2013-04-05 12:11:44

Re: Eprints3: can't call method on an undefined value

Непрочитанное сообщение matasar » 2013-04-05 18:09:15

matasar писал(а):Депозитариев
Извините, неудачный автокоррект. Репозиториев.