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

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
Если вы используете CommunityBuilder 1.2.3 и хотите поощрять своих участников сообщества за установление дружбы - вот 2 правила:

- Устанавливаем их через админку AUP и назначаем стоимость... например

1. За подтверждение дружбы: newconnection_cb.xml (см. аттач) + 50 баллов
2. За прекращение дружбы: remconnection_cb.xml (см. аттач) - 50 баллов



- меняем файл: ...home.../docs/components/com_comprofiler/comprofiler.php (см. аттач)
  (или анализируем код и редактируем свой)

NB: Не забудьте сделать бэкап!  ;D

Дружим...

P.S. - Баллы начисляются не инициатору дружбы, а тому кто ее подтверждает...
       - Списываются баллы у пользователя, прекратившего дружбу...

- удачи  ;)





[вложение удалено Администратором]
« Последнее редактирование: 16.09.2010, 18:05:34 от migus »
"The Lord Of A SandBox"
*

damirg

  • Новичок
  • 8
  • 0 / 0
Уважаемый Migus, подскажите пожалуйста, сделал все согласно примера, но списание баллов идет не только за разрыв дружбы, но и за отказ на запрос о дружбе. Это неправильно. Что нужно подправить? Спасибо.
*

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
На какой версии CB? Покажите код.
"The Lord Of A SandBox"
*

damirg

  • Новичок
  • 8
  • 0 / 0
версия 1.4

Вот два фрагмента где были сделаны вставки в коде (файл: comprofiler.php)


Цитировать
//Connections

function addConnection($userid,$connectionid,$umsg=null) {
   global $_CB_framework, $ueConfig;

   $andItemid = getCBprofileItemid(true);

   if(!$ueConfig['allowConnections']) {
      echo _UE_FUNCTIONALITY_DISABLED;
      return;
   }
   if (! ($_CB_framework->myId() > 0 ) ) {
      cbNotAuth();
      return;
   }
   $cbCon=new cbConnection($userid);
   $cbCon->addConnection($connectionid,stripcslashes($umsg));
   $url=cbSef( "index.php?option=com_comprofiler&task=userProfile&user=" . $connectionid . $andItemid );
   echo "<script type=\"text/javascript\"> alert('".addslashes(htmlspecialchars($cbCon->getUserMSG()))."'); document.location.href='".cbUnHtmlspecialchars($url)."'; </script>\n";
}

function removeConnection( $userid, $connectionid ) {
   global $_CB_framework, $ueConfig;

   $andItemid   =   getCBprofileItemid(true);

   if ( ! $ueConfig['allowConnections'] ) {
      echo _UE_FUNCTIONALITY_DISABLED;
      return;
   }
   if ( ! ( $_CB_framework->myId() > 0 ) ) {
      cbNotAuth();
      return;
   }
   $cbCon      =   new cbConnection( $userid );
   if ( ! $cbCon->removeConnection( $userid, $connectionid ) ) {
      $msg   =   $cbCon->getErrorMSG();
   } else {
      $msg   =   $cbCon->getUserMSG();
   
            //alpha remove connection
            $api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
            if ( file_exists($api_AUP))
            {
            require_once ($api_AUP);
            AlphaUserPointsHelper::newpoints( 'plgaup_remconnection_cb' );
            }
            //alpha remove connection 
            
   }


Цитировать
   // simple spoof check security
   cbSpoofCheck( 'manageConnections' );

   if(!$ueConfig['allowConnections']) {
      echo _UE_FUNCTIONALITY_DISABLED;
      return;
   }
   if ( ! ( $_CB_framework->myId() > 0 ) ) {
      cbNotAuth();
      return;
   }
   $cbCon   =   new cbConnection( $_CB_framework->myId() );

   if (is_array($connectionids)) {
      foreach($connectionids AS $cid) {
         $action      =   cbGetParam( $_POST, $cid . 'action' );
         if ( $action== 'd' ) {
            $cbCon->denyConnection( $_CB_framework->myId(), $cid );
         } elseif ( $action == 'a' ) {
            $cbCon->acceptConnection( $_CB_framework->myId(), $cid );
//alpha new connection
$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
if ( file_exists($api_AUP))
{
  require_once ($api_AUP);
  AlphaUserPointsHelper::newpoints( 'plgaup_newconnection_cb' );
 }
//alpha new connection     
*

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
Странно. По-идее там функция denyConnection существует отдельно. Для CB 1.4 еще не смотрел, но скоро на одном из сайтов придется делать самому, т.ч. проверю - отпишусь.
"The Lord Of A SandBox"
*

damirg

  • Новичок
  • 8
  • 0 / 0
Спасибо!
*

damirg

  • Новичок
  • 8
  • 0 / 0
Уважаемый migus, как у Вас с этим правилом на для CB 1.4, проблем не было?
*

migus

  • Moderator
  • 1000
  • 144 / 0
  • OPEN THE BOX
Не довелось использовать на CB 1.4, но на одном из сайтов с версией CB 1.7 все работает нормально...
"The Lord Of A SandBox"
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как делать собственные правила? Перевод документации для разработчиков AUP?

Автор migus

Ответов: 8
Просмотров: 7488
Последний ответ 23.07.2016, 15:11:01
от Lake
Правила AUP для кармы Kunena 1.6

Автор migus

Ответов: 11
Просмотров: 6083
Последний ответ 01.12.2012, 11:50:46
от Horned_HedgeHog
Правила AUP для опросов Kunena 1.6

Автор migus

Ответов: 0
Просмотров: 3461
Последний ответ 02.02.2011, 04:43:25
от migus