Здравствуйте уважаемые форумчане.
Я решил продавать своим социалистам (jomsociаl) баллы или поинты. Порылся в паутине решений готовых не нашел.
Компонент AlphaUserPoints не устраивает т.к. не интегрируется постоянно дописки с API везде делать, свои рулзы для поинтов у него и прочий шутняк.
Купоны решил продавать в VirtueMart как скачиваемый товар, который исчезает после скачки... ну естественно в скачиваемом товаре будет лежать картинка с купоном который нужно ввести. Благо VirtueMart RE много платежных систем поддерживает, теперь уже и СМС, т.е. купить купон у меня смогут.
Теперь самый животрепещущий вопрос... нужен модуль, который читал бы купон, сверял со сгенерированными в админке купонами, и добавлял социалисту очков.
Может быть я уже хожу по кругу, но решение я вижу такое.
Ставим злополучный AlphaUserPoints в котором есть генератор купонов (ради него и ставим, остальное в бэк-энде можно удалить чтоб глаза не мозолило своей нефункциональностью)
http://www.alphaplug.com/index.php/downloads.html?func=download&id=10&chk=8b7735f0a588a6a9d8e8d21957b041c0&no_html=1К нему модуль во фронтэнд
http://www.alphaplug.com/index.php/downloads.html?func=startdown&id=24 Генерируем пару купонов в админке AlphaUserPoints... -купоны сгенерились.
Казалось пользователь может вводить купон и получать поинты себе в JomSocial, а нет!
Поинты начисляются в этот гадкий AlphaUserPoints, который к черту не нужен.
Теперь вопрос! !==================================================
Нужно доработать вышеизложенный модуль, чтоб он добавлял поинты не своему компоненту AlphaUserPoint, а добавлял поинты нашей Jomsocial
==
Посмотрел код модуля, у тут меня хватило, что знаний не хватает... ==
Модуль состоит из mod_alphauserpoints_couponcode.php и helper.php
вот текста каждого соответственно:
defined('_JEXEC') or die('Restricted access');
// Include the syndicate functions only once
require_once (dirname(__FILE__).DS.'helper.php');
if ( JRequest::getVar('modAUP_CPsCouponValue', '', 'post', 'string') ) {
$coupon = trim(JRequest::getVar('modAUP_CPsCouponValue', '', 'post', 'string'));
if ( $coupon ) modAlphaUserPointsCouponCodeHelper::checkcoupon($params, $coupon);
}
require(JModuleHelper::getLayoutPath('mod_alphauserpoints_couponcode'));
?>
И
defined('_JEXEC') or die('Restricted access');
class modAlphaUserPointsCouponCodeHelper {
function checkcoupon(&$params, $coupon) {
global $mainframe;
// check if user is logged in
$user = & JFactory::getUser();
if ( !$user->id )
{
echo "<script> alert('".JText::_( 'MODAUP_CP_YOU_MUST_BE_LOGGED' )."'); </script>";
return;
}
// insert API AlphaUserPoint
$api_AUP = JPATH_SITE.DS.'components'.DS.'com_alphauserpoints'.DS.'helper.php';
if ( file_exists($api_AUP))
{
require_once ($api_AUP);
$db =& JFactory::getDBO();
$nullDate = $db->getNullDate();
$date =& JFactory::getDate();
$now = $date->toMySQL();
$query = "SELECT * FROM #__alpha_userpoints_coupons WHERE `couponcode`='$coupon' AND (`expires`>='$now' OR `expires`='0000-00-00 00:00:00')";
$db->setQuery( $query );
$result = $db->loadObjectList();
if ( $result )
{
$resultCouponExist = 0;
// active user
$referrerid = @$_SESSION['referrerid'];
// check if public or private coupon
if ( !$result[0]->public )
{
// private -> usable once per one user
$query = "SELECT count(*) FROM #__alpha_userpoints_details WHERE `keyreference`='$coupon'";
$db->setQuery( $query );
$resultCouponExist = $db->loadResult();
if ( !$resultCouponExist )
{
// insert points
AlphaUserPointsHelper::newpoints( 'sysplgaup_couponpointscodes', $referrerid, $result[0]->couponcode, $result[0]->description, $result[0]->points );
}
else
{
$mainframe->enqueueMessage(JText::_('MODAUP_CP_THIS_COUPON_WAS_ALREADY_USED'));
}
}
elseif ( $result[0]->public )
{
// public -> usable once per all users
$keyreference = $coupon . "##" . $user->id;
$query = "SELECT count(*) FROM #__alpha_userpoints_details WHERE `keyreference`='$keyreference'";
$db->setQuery( $query );
$resultCouponExist = $db->loadResult();
if ( !$resultCouponExist )
{
// insert points
AlphaUserPointsHelper::newpoints( 'sysplgaup_couponpointscodes', $referrerid, $keyreference, $result[0]->description, $result[0]->points );
}
else
{
$mainframe->enqueueMessage(JText::_('MODAUP_CP_THIS_COUPON_WAS_ALREADY_USED'));
}
}
}
else
{
$mainframe->enqueueMessage(JText::_('MODAUP_CP_PLEASE_CHECK_YOUR_COUPON'));
return;
}
}
}
}
?>
Чувствую тут нужно строчку поменять или дописать, чтоб модуль проверял купоны у своего компонента, но поинты записывал в базу JomSocial, стало быть нужно
найти как это делаеться для JomSocial т.е. добавляются юзеру поинты и вбить в этот модуль... помогите братцы! проект горит!
!