Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Forums / National / Russian / Тех. поддержка / Подскажите по кастомным правам

Kopusha
#1 2021-02-21 13:52

Привет друзья.
У меня есть конструкция которое выдает для юзеров с правами модерации кол-во folio которое в item_state=2

/* ====================
[BEGIN_COT_EXT]
Hooks=header.main
[END_COT_EXT]
==================== */

if (cot_auth('folio', 'any', 'A'))
{	
	$folio_moderated = $db->query("SELECT COUNT(*) FROM {$db_folio} WHERE item_state=2")->fetchColumn();
}

И в итоге в header попадает кол-во этих фолио

	if (!empty($folio_moderated))
	{
		$out['notices_array'][] = $folio_moderated;
	}

Но у меня есть юзеры с камномными правами - они могут модерировать item_cat=nature но не могут item_cat=urban

Как бы верно показывать им именно их кол-во, не пойму как $db->query переписать.
 

jCube Group
#2 2021-02-22 11:24

Проверка прав будет не нужно если правильно написать запрос.
Нужно взять список категорий к которым есть доступ модерировать в какой-то массив,  и $string = implode(',' $arr);
 

 $db->query("SELECT COUNT(*) FROM {$db_folio} WHERE item_state=2 and item_cat IN ({$string})")->fetchColumn();

а ну и нужно смотреть если массив ($arr) имеет хоть 1 категорию,  иначе будет ошибка.