<?php
class LimitSignature_ControllerPublic_LimitSignature extends XFCP_LimitSignature_ControllerPublic_LimitSignature
{
public function actionSignature()
{
if (!XenForo_Visitor::getInstance()->canEditSignature())
{
return $this->responseNoPermission();
}
else
{
$visitor = XenForo_Visitor::getInstance();
$options = XenForo_Application::get('options');
if ($visitor['message_count'] < $options->sigmessageCount AND
(!$visitor['is_moderator'] AND !$visitor['is_admin']))
{
$applytogroups = $options->siglimitGroups;
if (empty($applytogroups))
{
$applytogroups = array(2); // default it to Registered group
}
$belongstogroups = $visitor['user_group_id'];
if (!empty($visitor['secondary_group_ids']))
{
$belongstogroups .= ','.$visitor['secondary_group_ids'];
}
$groupcheck = explode(',',$belongstogroups);
unset($belongstogroups);
$sigcheck = true;
foreach ($groupcheck AS $groupId)
{
if (in_array($groupId, $applytogroups))
{
$sigcheck = false;
break;
}
}
if (!$sigcheck)
{
return $this->responseNoPermission();
}
}
}
$sigPerms = array();
$visitor = XenForo_Visitor::getInstance();
$sigPerms['basic'] = $visitor->hasPermission('signature', 'basicText');
$sigPerms['extended'] = $visitor->hasPermission('signature', 'extendedText');
$sigPerms['align'] = $visitor->hasPermission('signature', 'align');
$sigPerms['indent'] = $visitor->hasPermission('signature', 'align');
$sigPerms['smilies'] = $visitor->hasPermission('signature', 'maxSmilies') != 0;
$sigPerms['link'] = $visitor->hasPermission('signature', 'link') && $visitor->hasPermission('signature', 'maxLinks');
$sigPerms['image'] = $visitor->hasPermission('signature', 'image') && $visitor->hasPermission('signature', 'maxImages');
$sigPerms['media'] = $visitor->hasPermission('signature', 'media');
$sigPerms['block'] = $visitor->hasPermission('signature', 'block');
$sigPerms['list'] = $visitor->hasPermission('signature', 'list');
return $this->_getWrapper(
'account', 'signature',
$this->responseView(
'XenForo_ViewPublic_Account_Signature',
'account_signature',
array('sigPerms' => $sigPerms)
)
);
}
}