2012-03-06 83 views
0

我创建了一个规则Jomsocial奖励点成员谁邀请非用户。但现在的问题是,...这些点连获点的成员谁邀请

    非用户在网络中
  1. 当成员进入“邀请好友”页面
  2. 分获当成员发送电子邮件给用户(从来没有检查用户是否在网络或不是成员)

我怎么能限制呢?

我只有在电子邮件发送给“非用户”或非用户单击电子邮件正文中的链接时才需要奖励积分。

目前这样做是为了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

我爷爷常说:“当你大喊 - 我听到你,当你在谈论 - 我听.. ”;)

一两个问题,我相信你可以通过修改代码如下解决:

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'); 
    } 
    } 
} 
+0

现在好了,它不是任何授予点...... – 2012-03-06 10:23:40

+0

所以也许你错了,这是不是添加验证的地方;) – alfasin 2012-03-06 10:30:44

+0

嗯我感觉如此:( – 2012-03-06 10:32:38