<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
			<channel>
			<title>Ограничение голосования - только модераторы / Вопросы, проблемы и их решения / Alto CMS</title>
			<link>http://79.174.14.219/comments/781/</link>
			<description><![CDATA[Здравствуйте. Как можно ограничить голосование за пользователя, топик, блог и комментарий для пользователей, но оставить возможность оценивать модераторам, даже модераторам]]></description>
			<language>ru</language>
			<managingEditor>noreply@altocms.ru</managingEditor>
			<webMaster>noreply@altocms.ru</webMaster>
			<generator>Alto CMS v.1.5.0b1</generator>
							<item>
					<title>Ограничение голосования - только модераторы (comment #14677)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/781/#comment14677</guid>
					<link>http://79.174.14.219/781.html#comment14677</link>
					<author>andreyv@gladcode.ru</author>
					<description><![CDATA[Проверка на право голосовать реализована в модуле <em>common/classes/modules/acl/ACL.class.php</em>, дорабатывать нужно его, а не экшен <em>ActionAjax.class.php</em>.<br/>
<br/>
Вот пример, в котором реализована проверка на то, является ли пользователь модератором или администратором в каком-либо блоге, которая происходит при голосовании за топик. Добавлено первое условие. Для блога и комментария делается аналогично в этом же модуле.<br/>
<br/>
<pre class="prettyprint"><code>/**
 * Проверяет может ли пользователь голосовать за конкретный топик
 *
 * @param ModuleUser_EntityUser   $oUser     Пользователь
 * @param ModuleTopic_EntityTopic $oTopic    Топик
 *
 * @return bool
 */
public function CanVoteTopic(ModuleUser_EntityUser $oUser, ModuleTopic_EntityTopic $oTopic) {
    // Если пользователь авторизован, тогда будем проверять
    // Не авторизованные и так не могут голосовать
    if (E::IsUser()) {
        // Получим массив идентификаторов блогов, в которых текущий
        // пользователь - модератор или администратор
        $aUserRelation = $this-&gt;Blog_GetBlogUsersByUserId(
            E::UserId(),
            array(ModuleBlog::BLOG_USER_ROLE_MODERATOR, ModuleBlog::BLOG_USER_ROLE_ADMINISTRATOR),
            TRUE);
        if (!$aUserRelation) {
            // Пользователь ни в одном блоге не состоит в качестве
            // модератора или администратора, значит голосовать
            // за этот топик не может
            return false;
        }
    }

    // Дальше типовая проверка
    if ($oUser-&gt;getRating() &gt;= Config::Get('acl.vote.topic.rating')) {
        return true;
    }
    return false;
}</code></pre>]]></description>
					<pubDate>Mon, 22 Sep 2014 09:50:43 +0400</pubDate>
									</item>
							<item>
					<title>Ограничение голосования - только модераторы (comment #14681)</title>
					<guid isPermaLink="true">http://79.174.14.219/t/781/#comment14681</guid>
					<link>http://79.174.14.219/781.html#comment14681</link>
					<author>jo-inc@rambler.ru</author>
					<description><![CDATA[Огромное спасибо. Внес изменения, тестирую.]]></description>
					<pubDate>Mon, 22 Sep 2014 09:59:46 +0400</pubDate>
									</item>
					</channel>
	</rss>
