Виктор Долгий

Виктор Долгий

С нами с 18 февраля 2013; Место в рейтинге пользователей: #107
Павел
08 февраля 2016, 21:07
1
0
Немножко не так… Он так будет неопубликованные комментарии тоже считать.
Лучше так:
<?php
$q = $modx->newQuery('modResource', $id);
$q->leftJoin('TicketThread','TicketThread', "`TicketThread`.`name` = 'resource-{$id}'");
$q->leftJoin('TicketComment','TicketComment', "`TicketThread`.`id` = `TicketComment`.`thread`");
$q->where(array(
    'TicketComment.published' => 1
));

$q->select('COUNT(`TicketComment`.`id`) as `comments`');

$count = 0;
if ($q->prepare() && $q->stmt->execute()) {
	$count = (integer) $q->stmt->fetch(PDO::FETCH_COLUMN);
}
return $count;
Алексей Карташов
23 января 2015, 19:14
2
0
switch ($modx->event->name) {
  case 'OnWebPageInit':
    if ($modx->context->key == 'mgr') {
      return;
    }

    /** авторизовывает админа в админке (если он не авторизован на фронте, и является администратором) */
    if (!$modx->user->hasSessionContext('mgr') && $modx->user->hasSessionContext($modx->context->key) && ($modx->user->get('sudo') || $modx->user->isMember('Administrator'))) {
      $modx->user->addSessionContext('mgr');
    }

    /** авторизовывает на фронте любого юзера, который авторизован в админке */
    if ($modx->user->hasSessionContext('mgr') && !$modx->user->hasSessionContext($modx->context->key)) {
      $modx->user->addSessionContext($modx->context->key);
    }

    break;
}