我在Jomsocial中创建了一条规则,为邀请非用户的会员奖励积分..但现在的问题是......这些积分甚至被授予
我该如何限制?
我只有在将电子邮件发送给“非用户”或非用户点击电子邮件正文中的链接时才需要奖励积分。
目前在函数内部使用components/com_community/libraries/mailq.php
:
public function send( $total = 100 )
{
$mailqModel = CFactory::getModel( 'mailq' );
$userModel = CFactory::getModel( 'user' );
$mails = $mailqModel->get( $total, true );
$jconfig = JFactory::getConfig();
$mailer = JFactory::getMailer();
$config = CFactory::getConfig();
$senderEmail = $jconfig->getValue('mailfrom');
$senderName = $jconfig->getValue('fromname');
以下代码用于奖励积分。我认为需要添加一些更多条件才能验证:
if($senderName)
{
$JomSocialCheck = JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'userpoints.php';
if ( file_exists($JomSocialCheck)) {
include_once( JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'userpoints.php');
CuserPoints::assignPoint('com_user.add.friend');
}
}
答案 0 :(得分:0)
我的爷爷常常说:“当你大喊大叫时 - 我听到你,当你说话的时候 - 我正在听......”;)
这两个问题中的一个,我相信您可以通过修改代码来解决,如下所示:
if($senderName)
{
$JomSocialCheck = JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'userpoints.php';
if ( file_exists($JomSocialCheck)) {
include_once( JPATH_BASE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'userpoints.php');
$user =& JFactory::getUser();
if($user->id) {
// he's already a user - do nothing
}
else {
CuserPoints::assignPoint('com_user.add.friend');
}
}
}