Jump to content
Дизайн и модификация IPS Community IPBSkinsBETA
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
ayd-in

Действие не выполнено

Recommended Posts

Здравствуйте!

В колонке "Изменения статуса" при ответе на статус пользователя, выходит js alert "Действие не выполнено". Если обновить страницу, то можно увидеть свой ответ. Т.е. в базу записывается ответ. Если самому написать статус, то все нормально. :(

Кто-нибудь сталкивался?

Share this post


Link to post
Share on other sites

Файлы форума правили, внесли лишние пробелы/перевод каретки/BOM, как результат, ajax-ответ форума начинается с пробела, а, как известно, " ok" != "ok". Ищите лишние символы и пустые строки в файлах, что правили.

Share this post


Link to post
Share on other sites

Файлы форума правили, внесли лишние пробелы/перевод каретки/BOM, как результат, ajax-ответ форума начинается с пробела, а, как известно, " ok" != "ok". Ищите лишние символы и пустые строки в файлах, что правили.

Спасибо буду искать!

Share this post


Link to post
Share on other sites

проблема повторяется. Если открыть в браузере файл /ipb/public/js/ipb.js и обновить его, то все приходит в порядок до определенного времени. потом все повторяется.

Share this post


Link to post
Share on other sites

Попробуйте этот файл от версии 3.4.5. От версии к версии сторонние js не сильно меняются в этом продукте. Если у вас нулл, советую перейти на официальную версию.

ipb.zip

Edited by Zero108

Share this post


Link to post
Share on other sites

Попробуйте этот файл от версии 3.4.5. От версии к версии сторонние js не сильно меняются в этом продукте. Если у вас нулл, советую перейти на официальную версию.

Спасибо, вроде помогло.Буду наблюдать. Нет у меня лицензия.

  • Upvote 1

Share this post


Link to post
Share on other sites

После вставки того файла, не работает редактор, а именно вставка медиа-файлов и т.д.

Share this post


Link to post
Share on other sites

Значит, только платить за продление лицензии и вперед обновляться. Могу выслать еще 2-3 файла.

  • Upvote 1

Share this post


Link to post
Share on other sites

Значит, только платить за продление лицензии и вперед обновляться. Могу выслать еще 2-3 файла.

давайте еще файлы. может подберем.

Share this post


Link to post
Share on other sites

Странный вы человек. Мне-то не жалко. А какие?

 

Кстати, у вас версия от IBR или от IPS?

Share this post


Link to post
Share on other sites

new Ajax.Request( ipb.vars['base_url'] + "app=members&section=status&module=ajax&do=reply&status_id=" + status_id + "&md5check=" + ipb.vars['secure_hash'],
{
method: 'post',
evalJSON: 'force',
parameters: {
	content: $('statusText-' + status_id ).value.encodeParam()
},
onSuccess: function(t)
{
if( Object.isUndefined( t.responseJSON ) )
{
   alert( ipb.lang['action_failed'] );
   return;
}

в файле public/js/ips.status.js срабатывает условие if( Object.isUndefined( t.responseJSON ) ).

Share this post


Link to post
Share on other sites

в приложении members при post-запросе срабатывает этот метод класса

protected function _reply()
{
	/* INIT */
	$status_id = intval( $this->request['status_id'] );
	$comment   = $this->convertAndMakeSafe( $_POST['content'] );
	$id        = intval( $this->request['id'] );

	/* Quick check? */
	if ( ! $status_id OR ! $comment )
		{
		$this->returnJsonError( $this->lang->words['status_no_reply'] );
	}

	/* Set Author */
	$this->registry->getClass('memberStatus')->setAuthor( $this->memberData );

	/* Set Content */
	$this->registry->getClass('memberStatus')->setContent( $comment );

	/* Set Data */
	$this->registry->getClass('memberStatus')->setStatusData( $status_id );

	/* Can we reply? */
	if ( ! $this->registry->getClass('memberStatus')->canReply() )
		{
		$this->returnJsonError( $this->lang->words['status_no_reply'] );
	}

	/* Update */
	$this->registry->getClass('memberStatus')->reply();

	/* Now grab the reply and return it */
	$reply = $this->registry->getClass('output')->getTemplate('profile')->statusReplies( $this->registry->getClass('memberStatus')->fetchAllReplies( $status_id, array( 'sort_dir' => 'desc', 'limit' => 1 ) ) );

	/* And the number of replies */
	$statusData = $this->registry->getClass('memberStatus')->getStatusData();

	$this->returnJsonArray( array( 'status' => 'success', 'html' => $this->cleanOutput( $reply ), 'status_replies' => $statusData['status_replies'] + 1 ) );
}

Share this post


Link to post
Share on other sites

Если никто не отвечал на статус который отвечаешь, то все проходит хорошо.

А в случае если уже кто-то ответил, то выдает сообщение "действие не выполнено".

 

Ошибка выдается после строки в файле /ipb/admin/applications/members/modules_public/ajax/status.php

$this->registry->getClass('memberStatus')->reply();

 

 

в файле /ipb/admin/sources/classes/member/status.php

класс memberStatus

метод public function reply

если за комментировать строчку

$this->_sendNotification( $author, $status, $data );

то все работает. Думаю что это класс по отсылке личных сообщений, о том что кто-то ответил на статус.

Edited by ayd-in

Share this post


Link to post
Share on other sites

if( $_owner['member_id'] == $member['member_id'] ){
    ...
}
else{
      return TRUE;
IPSText::getTextClass('email')->subject	= sprintf( 
																			$this->lang->words['subject__other_status_reply'], 
																			$this->registry->output->buildSEOUrl( 'showuser=' . $_replier['member_id'], 'public', $_replier['members_seo_name'], 'showuser' ), 
																			$_replier['members_display_name'],
																			$this->registry->output->buildSEOUrl( 'showuser=' . $_owner['member_id'], 'public', $_owner['members_seo_name'], 'showuser' ), 
																			$_owner['members_display_name'],
																			$this->settings['base_url'] . 'app=members&module=profile&section=status&do=list&status_id=' . $status['status_id']
																		);
}

Если добавить return TRUE; то работает. Получается что не работает отправка notification :(

Edited by ayd-in

Share this post


Link to post
Share on other sites

Аааааааааааааааааааааа :blink: :blink: :blink: :blink

сделал так, работает. $this->lang->words['subject__other_status_reply'], Вместо $this->lang->words['subject_other_status_reply']

 

но в языках с двумя черточками

 

 

проблема решилась тем что

 

в языках не правильно было слово subject__other_status_reply

<a href='%s'>%s</a> has replied to <a href='%s'>%s</a>'s <a href='%s'>status</a>

Edited by ayd-in

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...