Баллы за участников в сети, которые приглашают не пользователей - PullRequest
0 голосов
/ 06 марта 2012

Я создал правило в 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');
    }
}

1 Ответ

0 голосов
/ 06 марта 2012

Мой дедушка обычно говорил: «когда ты кричишь - я слышу тебя, когда ты говоришь - я слушаю ...»;)

Одна из двух проблем, я думаю, вы можете решить, изменив код следующим образом:

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