ээээ... да, не обратил внимания, что вам нужно не просто для любого зарегистрированного, а только для конкретного одного.
В таком случае я бы написал кастомный макрос.
Тогда писать кастомный макрос/ Как-то так:
public function myAuth($template = "default",$userId = 477) {
if(!$template) $template = "default";
if(!$userId) $userId = 477;//для случая обращения по http
$mUser = cmsController::getInstance()->getModule('users');
$permissions = permissionsCollection::getInstance();
$currentUserId = $permissions->getUserId();
if($currentUserId == $userId) {
list($template_logged) = def_module::loadTemplates("tpls/users/{$template}.tpl", "logged");
$block_arr = Array();
$block_arr['xlink:href'] = "uobject://" . $mUser->user_id;
$block_arr['user_id'] = $mUser->user_id;
$block_arr['user_name'] = $mUser->user_fullname;
$block_arr['user_login'] = $mUser->user_login;
return def_module::parseTemplate($template_logged, $block_arr, false, $mUser->user_id);
} else {
$res = $mUser->login($template);//либо любое иное действие для пользователя не 477 или гостя
}
return $res;
}
Спасибо, не много под шаманил и скрпт заработал:
на страничку %custom myAuth()%
в файле custom.php (находится здесь: ~/classes/modules/ ) после строки "//TODO: Write your own macroses here" новый метод -
***
public function myAuth($template = "default",$userId = 477) {
if(!$template) $template = "default";
if(!$userId) $userId = 477;//для случая обращения по http
$mUser = cmsController::getInstance()->getModule('users');
$permissions = permissionsCollection::getInstance();
$currentUserId = $permissions->getUserId();
if($currentUserId == $userId) {
return 'myText';
} else {
$res = '';
}
return '';
}
***
Текст - myText виден только одному пользователю.
Я думаю здесь можно кое что подсократить.
Спасибо за помощь. ;D