Я знаю, что это старый вопрос, но недавно у меня была точно такая же потребность. Посмотрев вокруг несколько дней, я решил разобраться в этом сам. Большинство из них взято из документов AUP, так что вот что вы делаете: Jomsocial 4.2 — последний релиз.
$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, это будет здорово.
Надеюсь, это поможет другим!
person
Charlie Trig
schedule
10.05.2016