2012-03-06 79 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