[РЕШЕНО] Отображение flag-ссылки только для автора материала

Главные вкладки

Аватар пользователя molp molp 14 мая 2011 в 11:09

Подскажите пожалуйста как можно сделать чтобы определенный flag был виден только для автора материала?
Данная примочка нужна для того чтобы автор мог в нужное время пометить свой материал что в свою очередь должно использоваться модулем Rules.

Комментарии

Аватар пользователя Advin Advin 14 мая 2011 в 13:03

Я делал через отдельный views с аргументом – Пользователь (uid). В связи надо указать, что автор флага – данный пользователь (Current user).

Аватар пользователя molp molp 14 мая 2011 в 13:32

Вывод через Views к сожалению не убережет от ситуации в которой посторонний пользователь может вручную сформировать URL ноды и вывести ее стандартный вид со ссылкой Flag. Посему требуется именно наделять правами как на отображение так и на использование.

Аватар пользователя Advin Advin 14 мая 2011 в 16:30

molp wrote:
Вывод через Views к сожалению не убережет от ситуации в которой посторонний пользователь может вручную сформировать URL ноды и вывести ее стандартный вид со ссылкой Flag. Посему требуется именно наделять правами как на отображение так и на использование.

При чем тут url? В качестве аргумента берется uid авторизованного пользователя (User ID from logged in user).
Буду признателен если укажете на ошибку в рассуждениях.

Аватар пользователя molp molp 14 мая 2011 в 14:58

Вывел flag в шаблоне (*.tpl.php) следующим образом:

<?php 
    
foreach ($_GET as $k => $v) {
        if (
$v == 'node/'.$node->nid) {
            global 
$user;
            if (
$node->name == $user->name) {
                print 
flag_create_link('flag_name'$node->nid);
            }; 
        }
    }
?>

Вроде условиям удовлетворяет:

  1. вначале осуществляется проверка на то где мы находимся для того чтобы выводить ссылку только на страницах материала
  2. затем проверяем на авторство и если true то генерируем flag-ссылку

Проверьте пожалуйста можно ли так делать?

Аватар пользователя molp molp 14 мая 2011 в 14:35

Если бы получше знать php можно было бы добавить в настройки модуля чекбокс "Отображать только для автора" как то так.

Аватар пользователя molp molp 14 мая 2011 в 16:37

Будет ли видна flag-ссылка если показать ноду не через Views а так как она отображается через node.tpl.php? Я имею ввиду что адрес вот этой вот страницы (не всегда и не везде) можно написать ручками по принципу node/# и тогда враг увидит ссылку и сможет ею воспользоваться.