0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 3097 Просмотров
*

worty

  • Новичок
  • 11
  • 1 / 0
Здравствуйте! Вот решил добавить баллы авторам за просмотр их статьей в К2.
В Документация для разработчиков AUP Версия:1.5.6  есть такой код
Присвоение баллов другому пользователю
Код
$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php'; 
if ( file_exists($api_AUP))
{
require_once ($api_AUP);
$aupid = AlphaUserPointsHelper::getAnyUserReferreID( $userID );
if ( $aupid ) AlphaUserPointsHelper::newpoints( 'function_MY', $aupid );
}

Вставляю этот код в нужное место в components/com_k2/controllers/item.php
Создаю правило(в 1,8,1 можно в окне "правила" "добавить", а можно и через .xml и установку плагинов)
Запускаю, работает(почти), т.е начисление балов идет в Панель управления и в Общее количество заработанных сообществом баллов: видно как счетчик накручивает балы. Но вот если посмотреть в "Участники" то все по нулям. Видимо плагин не знает кому прикручивать заработанные балы.


Подскажите как можно решить эту проблему

Прошу прощения написал не в ту тему. перенесите в  AlphaUserPoints, а лучше удалите
« Последнее редактирование: 12.11.2012, 18:23:34 от worty »
*

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
Re: Joomla 2.5.8 + AlphaUserPoints 1.8.1 + K2 2.5.7
« Ответ #1 : 12.11.2012, 18:59:24 »
Все дело в $userID. Вместо этого должна быть переменная, содержащая ID автора текущего материала (за просмотр которого вы начисляете баллы).
- удачи ;)
"The Lord Of A SandBox"
*

worty

  • Новичок
  • 11
  • 1 / 0
Re: Joomla 2.5.8 + AlphaUserPoints 1.8.1 + K2 2.5.7
« Ответ #2 : 06.12.2012, 10:59:39 »
А вот и решение, проблемой был сам поиск переменной содержащей ID автора
Код
<?php $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php'; 
if ( file_exists($api_AUP))
{
require_once ($api_AUP);
$aupid = AlphaUserPointsHelper::getAnyUserReferreID( $this->item->created_by );
$keyreference = AlphaUserPointsHelper::buildKeyreference('sysplgaup_readerK2', $this->item->id);
if ( $aupid ) AlphaUserPointsHelper::newpoints( 'sysplgaup_readerK2', $aupid, $keyreference);
}
?>
Версия K2 - 2.6.2
*

worty

  • Новичок
  • 11
  • 1 / 0
Re: Joomla 2.5.8 + AlphaUserPoints 1.8.1 + K2 2.5.7
« Ответ #3 : 11.12.2012, 11:29:08 »
В том, что написано выше остается возможность автору статьи/материала самому откликать свои статьи, что бы накрутить балы.

Чтобы зарегистрированный пользователь не мог накручивать баллы используем следующий код

Код
<?php $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php'; 
if ( file_exists($api_AUP))
{
require_once ($api_AUP);
$aupid = AlphaUserPointsHelper::getAnyUserReferreID( $this->item->created_by );
$keyreference = AlphaUserPointsHelper::buildKeyreference('sysplgaup_readerK2', $this->item->id);
$r_u = &JFactory::getUser();
if ( $aupid && $r_u->guest ) AlphaUserPointsHelper::newpoints( 'sysplgaup_readerK2', $aupid, $keyreference);
}
?>

Но в этом случае у пользователя остается возможность, отключится и откликать свои статьи гостем. Вот тут по идее если в правиле поставить - метод начисление баллов - Раз в неделю, должно отбить охоту накручивать себе баллы, но это не известно, пока тестирую...
*

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
Re: Joomla 2.5.8 + AlphaUserPoints 1.8.1 + K2 2.5.7
« Ответ #4 : 11.12.2012, 13:55:30 »
В приведенном вами коде введено взаимоисключающее условие
Код: php-brief
if ( $aupid && $r_u->guest )
У гостя не может быть $aupid.
Да и проверка на гостя делается не так.
« Последнее редактирование: 11.12.2012, 14:00:34 от migus »
"The Lord Of A SandBox"
*

worty

  • Новичок
  • 11
  • 1 / 0
Re: Joomla 2.5.8 + AlphaUserPoints 1.8.1 + K2 2.5.7
« Ответ #5 : 11.12.2012, 14:51:35 »
Код
$r_u = &JFactory::getUser();
echo sprintf('user: === %s', $r_u->name );
if ( $r_u->guest)
echo sprintf('onerty guest');
*

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
Re: Joomla 2.5.8 + AlphaUserPoints 1.8.1 + K2 2.5.7
« Ответ #6 : 11.12.2012, 18:22:25 »
Код: php-brief
//current user
$user = JFactory::getUser();
if ( $user->get('guest') ) {
echo 'Welcome Guest';
} else {
echo 'Welcome '. $user->name;
}
"The Lord Of A SandBox"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

AlphaUserPoints проблемы настройки

Автор Lada

Ответов: 0
Просмотров: 267
Последний ответ 04.06.2018, 13:13:19
от Lada
Конец эры AlphaUserPoints?

Автор b2z

Ответов: 43
Просмотров: 4956
Последний ответ 24.03.2018, 01:42:04
от ovclub
Интеграция AlphaUserPoints и CommunityBuilder

Автор DamianTrash

Ответов: 2
Просмотров: 2160
Последний ответ 08.02.2017, 20:28:29
от boriska
JoomShopping + AlphaUserPoints

Автор TyT

Ответов: 8
Просмотров: 4036
Последний ответ 04.01.2017, 01:21:01
от axel030392
Правило для AlphaUsersPoints "Поделиться балами за статью" в Joomla 3.6

Автор axel030392

Ответов: 0
Просмотров: 838
Последний ответ 03.01.2017, 23:50:38
от axel030392