Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Trotor

Условие от количества сообщений за неделю

Рекомендованные сообщения

1 час назад, Haktar сказал:

Скажите, а этот код не очень тяжёлый для форума?

Как мешок картошки.)))

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
47 минут назад, Атаман сказал:

Как мешок картошки.)))

Визуально и по времени выполнения скрипта я не заметил увеличения. Только 1 запрос лишний прибавился.

Поделиться сообщением


Ссылка на сообщение
03/08/21 16:26 (изменено)

Ставлю этот код для приложения IP.Shoutbox, что то не идёт (

<php>$justSayNo   = array();
foreach( $this->registry->getClass('class_forums')->forum_by_id as $id => $data )
{
	if ( ! $data['inc_postcount'] )
	{
		$justSayNo[] = $id;
	}
}	
$fiddyCent	= $this->registry->getClass('class_forums')->fetchSearchableForumIds( $this->memberData['member_id'], $justSayNo );$result = $this->DB->buildAndFetch( array( 
						'select'	=> 'COUNT(*) as post_week',
						'from'		=> array( 'posts' => 'p' ),
						'where'		=> "p.author_id={$this->memberData['member_id']} AND p.post_date > " . (time() - 604800) . " AND t.forum_id IN(" . implode( ',', $fiddyCent ) . ')',
						'group'		=> "p.author_id",
						'add_join' => array(  array( 'from'	 => array( 'topics' => 't' ),
													 'where' => 't.tid=p.topic_id',
													 'type'	 => 'inner' ) )									
				)		);</php>

А этот идёт

<php>$result = $this->DB->buildAndFetch( array( 'select' => 'COUNT(*) as post_week', 'from' => 'posts', 'where' => "author_id={$this->memberData['member_id']} AND post_date > " . (time() - 604800) ) );</php>

Однако этот код включает в себя все сообщения.

Изменено пользователем Trotor

Поделиться сообщением


Ссылка на сообщение

На первый взгляд должен работать. 

Второй вариант все сообщения включать не может, так там стоит условие на даты создания.

Поделиться сообщением


Ссылка на сообщение
09.03.2021 в 12:22, siv1987 сказал:

На первый взгляд должен работать. 

При вставке этого кода в шаблон, вёрстка рушится. 

Возможно потому что в шаблоне shoutbox есть такие переменные как {$data['shouts']} и {$data['editor']}?

К примеру в шаблоне profileModern переменных $data нет, поэтому код срабатывает корректно.

Поделиться сообщением


Ссылка на сообщение

В самом коде переименовал $data на $data1 - и заработало...

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

Все верно, в коде переменная data перезаписывается в цикле foreach, нужно задать другое имя если в шаблоне эта переменная занята.

Поделиться сообщением


Ссылка на сообщение
24 минуты назад, siv1987 сказал:

нужно задать другое имя если в шаблоне эта переменная занята.

Думал что что имя data это обязательно и нельзя изменять. Оказывается всё намного проще 🙂

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×
×
  • Создать...