我试图让JomSocial 2.8中的UserPoints系统像点数一样工作。我想要一定数量的积分才能使用规则。现在他们有Give和Deduct积分,但没有选择要求一定金额。
有人可以指导我找到解决方法。我正在寻找一个插件/扩展或关于如何开发它的逻辑的想法。我是一名具有PHP知识的前端开发人员,所以感谢任何帮助!
答案 0 :(得分:0)
在没什么帮助的情况下,我找到了一个joomla的插件,它与jomsocial和kunena集成。它被称为AlphaUserPoints - www.alphaplug.com所有内容,然后我需要更多扩展。希望这有助于某人!
编辑:这不完全与jomsocial集成,这意味着没有足够点的大多数操作都不起作用。它们由ajax调用,并且aup组件没有及时看到它来停止操作。
答案 1 :(得分:0)
我知道这是一个老问题,但我最近有同样的确切需要。环顾四天后,我决定自己解决这个问题。其中大部分来自AUP文档,所以这是你做的: Jomsocial 4.2 - 最新版本 打开组件/ com_community / controllers / photos.php
之后的2924行$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;
}
添加:
//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行 - 寻找:
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);
}
之后添加:
//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文件 随处添加:
COM_COMMUNITY_PHOTOS_LIMIT_POINTS_REACHED="You do not have enough points to upload images. Images are 5 points each."
将您的信息更改为您为积分收费的任何内容。另外,请确保调整代码中的点数。您还可以调整并使用此代码进行视频上传或文件上传 如果有人可以将它变成AUP或JomSocial的可安装PLUGIN,那就会摇滚 我希望这有助于其他人!