首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要JomSocial用户点数

需要JomSocial用户点数
EN

Stack Overflow用户
提问于 2013-04-16 20:57:17
回答 2查看 324关注 0票数 0

我正在尝试让JomSocial 2.8中的UserPoints系统像credits一样工作。我希望需要一定数量的分数才能使用规则。现在他们有给予和扣分,但没有选择要求一定的金额。

有没有人能帮我找到一个解决方案。我正在寻找一个插件/扩展或一个关于如何开发它的逻辑的想法。我是一个前端开发人员与PHP的知识,所以任何帮助是感激的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-17 03:31:11

在没有什么帮助的情况下,我找到了joomla的一个插件,它集成了jomsocial和kunena。它被称为AlphaUserPoints - www.alphaplug.com everything,而且比我需要的更多,有很多扩展。希望这对某些人有帮助!

编辑:这没有与jomsocial完全集成,这意味着大多数没有足够点数的操作都不起作用。它们由ajax调用,aup组件不能及时看到它们来停止操作。

票数 0
EN

Stack Overflow用户

发布于 2016-05-11 01:42:14

我知道这是一个老生常谈的问题,但我最近也有同样的需求。在四处看了几天后,我决定自己弄清楚。其中大部分来自AUP文档,所以这是您要做的: Jomsocial 4.2 -最新发布的Open components/com_community/controllers/photos.php,大约在2924行之后

代码语言:javascript
复制
$preMessage = '';

        if (CLimitsLibrary::exceedDaily('photos', $my->id)) {

            $preMessage = JText::_('COM_COMMUNITY_PHOTOS_LIMIT_PERDAY_REACHED');

            $disableUpload = true;

        } else {

            $preMessage = JText::_('COM_COMMUNITY_PHOTOS_DEFAULT_UPLOAD_NOTICE');

            $disableUpload = false;

        }

添加:

代码语言:javascript
复制
//AlphaUserPoints start
$api_AUP =  JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
if ( file_exists($api_AUP))
{
require_once ($api_AUP);            
}
//Alphauserpoints Get user points
    $user = & JFactory::getUser(); 
    $userid = $user->id ; 
    $totalPoints = AlphaUserPointsHelper::getCurrentTotalPoints( '', $userid  ); 
// Function to check if enough points
if ($totalPoints < 5) { // enter your Points Cost per Upload

            $preMessage = JText::_('COM_COMMUNITY_PHOTOS_LIMIT_POINTS_REACHED');

            $disableUpload = true;

        } else {

            $preMessage = JText::_('COM_COMMUNITY_PHOTOS_POINTS_UPLOAD_NOTICE');

            $disableUpload = false;

        }

现在转到第61601行-查找:

代码语言:javascript
复制
if ($my->id == 0) {

            $tokenId = $jinput->request->get('token', '', 'NONE');

            $userId = $jinput->request->get('uploaderid', '', 'NONE');

            $my = CFactory::getUserFromTokenId($tokenId, $userId);

            $session = JFactory::getSession();

            $session->set('user', $my);

        }

添加到以下位置:

代码语言:javascript
复制
//AlphaUserPoints start
$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
if ( file_exists($api_AUP))
{
require_once ($api_AUP);            
}
//Alphauserpoints Get user points
$user = & JFactory::getUser(); 
$userid = $user->id ; 
$totalPoints = AlphaUserPointsHelper::getCurrentTotalPoints( '', $userid  ); 
  if (CLimitsLibrary::exceedDaily('photos', $my->id)) {
  $this->_showUploadError(true, JText::_('COM_COMMUNITY_PHOTOS_LIMIT_PERDAY_REACHED'));
            return;
        }
// Function to check if enough points
    if ($totalPoints < 5) {
    $this->_showUploadError(true, JText::_('COM_COMMUNITY_PHOTOS_LIMIT_POINTS_REACHED'));
    return;
        }

现在转到您的langauge/en-GB/en-GB.com_community.ini文件,添加到任何位置:

代码语言:javascript
复制
COM_COMMUNITY_PHOTOS_LIMIT_POINTS_REACHED="You do not have enough points to upload images. Images are 5 points each."

将您的消息更改为您收取的任何积分。还要确保调整代码中的点数。您还可以将此代码改编并用于视频上传或文件上传。

如果有人能把它做成AUP或JomSocial的可安装插件,那就太棒了。

我希望这对其他人有帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16037695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档