Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Платный доступ на сайт
« : 20.08.2013, 13:37:11 »
Добрый день!

Организовываю на сайте платный доступ к ресурсам, а именно при регистрации нужно выбрать покупатель или продавец ли пользователь (организовал это с помощью CB, чтобы аватарки были у поьзователей), а после регистрации, в зависимости от вышевыбранного нужно выбрать определенный тариф один из трех для каждого, там свои скидочные сирстемы... Перерыл всевозможные компоненты, и никакие из них не дают такой функционал, т.к. нужно именно так:
1) Выбор тарифного плана
2) Оплата через платежные системы
3) После оплаты переопределение группы пользователей

После долгих рассуждений, как именно сделать так, чтобы при оплате менялась группа пользователей (у registered создал подгруппы 2, а у тех еще по три подгруппы, у каждой группы будет разная инфа выводиться)
Мои надумки вывели следующее: Чтобы не париться с платежными системами, решил использовать VirtueMart, для него готовые модули у робокассы и онпея есть.. Теперь вот нужна помощь, как перехватывать заказы оплаченные, чтобы смотреть какой именно продукт был куплен и какому пользователю поменять группу? Подскажите конкретные файлы и функции, пожалуйста!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Платный доступ на сайт
« Ответ #1 : 20.08.2013, 13:51:14 »
Цитировать
как перехватывать заказы оплаченные
читайте Api платежной системы, там все должно быть
Цитировать
какому пользователю поменять группу
разберитесь с примером кода
http://joomlaforum.ru/index.php/topic,265260.msg1361650.html#msg1361650
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #2 : 20.08.2013, 13:54:28 »
читайте Api платежной системы, там все должно быть
мне не нужно, чтобы зависело от платежной системы, мне нужно перехватывать именно статус "оплачено" в самой системе, при любой смене ее, при ручной или автоматически от платежной системы...
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #3 : 20.08.2013, 14:03:34 »
разберитесь с примером кода
http://joomlaforum.ru/index.php/topic,265260.msg1361650.html#msg1361650
Не подскажите, куда примерно такой кусок кода вставлять-то?
Код: php-brief
public function onUserAfterSave($user, $isnew, $success, $msg)
{
        $app = JFactory::getApplication();
if ($isnew && $app->isSite()){
//получаем данные из формы группу для разрешенных
            $user_group = $app->input->getSting('user_group', 0);
//получаем разрешенные группы из настроек, предохраняемся
            $yes_groups = $this->params->get('groups_users', '');
            $yes_groups = explode(',', $yes_groups);
            $yes_groups = $yes_groups ? $yes_groups : array();
//если полученная группа из формы разрешена добавляем группу
//и записываем ее пользователю
            if ($user_group && in_array($user_group, $yes_groups)){
                $groups = $user['groups'];
                $groups[] = $user_group;
                $instance = JUser::getInstance($user['id']);
                $instance->set('groups', $groups);
                $instance->save();
            }

        }

}

еще есть вопросы по данному куску кода, т.к. я программер на уровне паскаля, не могли чуточку пояснить?
1) что хранится в isSite?
2) $user_group = $app->input->getSting('user_group', 0); - эта строчка, на сколько я понимаю, получение данных из формы регистрации с полем под именем 'user_group'?
3) params->get('groups_users', ''); - это получение всех групп, которые существуют в Joomla?
4) $instance->save(); - записывает чела в новую группу, если такая существует?

А как система может определить, в какую группу записать надо? Сне надо смене заказа на "оплачено" переписать принадлежность пользователя к группе... а именно получить группу пользователя, допустим у нее gid=10 и в зависимости от оплаченного товара (тарифа), переписать gid на 11, 12 или 13...
« Последнее редактирование: 20.08.2013, 14:14:08 от FeaMor »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Платный доступ на сайт
« Ответ #4 : 20.08.2013, 14:08:40 »
вот этими тремя строчками вы добавляете пользователя с ид = 50 в группу 10 к примеру
Код: php-brief
$instance = JUser::getInstance(50);
$instance->set('groups', 10);
$instance->save();
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #5 : 20.08.2013, 14:16:15 »
вот этими тремя строчками вы добавляете пользователя с ид = 50 в группу 10 к примеру
Код: php-brief
$instance = JUser::getInstance(50);
$instance->set('groups', 10);
$instance->save();

Спасибочки! То что нужно!
А еще можно уточнить, а как узнать id и gid пользователя из заказа и название заказа? Чтобы я мог в зависимости от названия заказа уже присваивать ту или иную группу ;)
И в какой функции это прописать нужно? Где идет смена статуса?
« Последнее редактирование: 20.08.2013, 15:37:54 от FeaMor »
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #6 : 24.08.2013, 02:14:41 »
Я так и не нашел функцию, где надо добавить свои строки, чтобы при смене статуса заказа мои операции проводились ((
Может кто-нить подскажет где копать?
*

konoden

  • Захожу иногда
  • 326
  • 40 / 0
  • Поиск смысла жизни. Выполнено 15%...
Re: Платный доступ на сайт
« Ответ #7 : 24.08.2013, 09:08:55 »
А может Вам подойдет Akeeba subscriptions? Выбор тарифов - разные планы подписки сделаете, платежные системы - Робокасса есть, группы юзеров - автоматом переключает по оплате.
https://www.akeebabackup.com/products/akeeba-subscriptions.html
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #8 : 25.08.2013, 06:33:36 »
А может Вам подойдет Akeeba subscriptions? Выбор тарифов - разные планы подписки сделаете, платежные системы - Робокасса есть, группы юзеров - автоматом переключает по оплате.
https://www.akeebabackup.com/products/akeeba-subscriptions.html
я смотрел его, не подходит (


вот этими тремя строчками вы добавляете пользователя с ид = 50 в группу 10 к примеру
Код: php-brief
$instance = JUser::getInstance(50);
$instance->set('groups', 10);
$instance->save();

а я напрямую писал поиск по username и замену на новую группу так:
Код
$db = JFactory::getDBO();
$query = '
UPDATE `#__user_usergroup_map` SET `group_id` = "10"
WHERE `user_id` = (SELECT `id` FROM `#__users` WHERE `username` LIKE "'.$_POST[username].'");';
$db->setQuery($query);
$db->Query();

Функцию смены статуса оплаты так и не нашел (
Может подскажите, куда можно впендюрить функцию смены групп пользователя при смене статуса на "оплачено"?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Платный доступ на сайт
« Ответ #9 : 25.08.2013, 09:45:28 »
а я напрямую писал поиск по username и замену на новую группу так:
данное "творение" подвержено sql инъекции
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #10 : 26.08.2013, 01:18:26 »
данное "творение" подвержено sql инъекции
да тут просто проверку username поставить и все ок будет
Ну все равно этот вопрос не относится к теме (

Главный вопрос: какая функция меняет статус заказа? Мне надо сразу после смены статуса заказа добавить смену группы пользователю, в зависимости от оплаченного товара...
*

FeaMor

  • Захожу иногда
  • 76
  • 0 / 0
Re: Платный доступ на сайт
« Ответ #11 : 26.08.2013, 01:35:03 »
мне тут подсказали
Наверное, эти
Код: php-brief
$model = VmModel::getModel('orders');
$model->updateSingleItem;
$model->updateStatusForOneOrder;
что меняет статус заказа

поиск по VM дал множество файлов
Код
\plugins\vmpayment\onpay\onpay_notify.php
\plugins\vmpayment\authorizenet\authorizenet.php
\plugins\vmpayment\heidelpay\heidelpay.php
\plugins\vmpayment\klarna\klarna.php
\plugins\vmpayment\moneybookers\moneybookers.php
\plugins\vmpayment\paypal\paypal.php
\plugins\vmpayment\payzen\payzen.php
\plugins\vmpayment\standard\standard.php
\administrator\components\com_virtuemart\models\orders.php
\administrator\components\com_virtuemart\plugins\vmpsplugin.php
это мне в каждом надо добавить свою функцию? В каком из них находится сама функция смены, чтобы там же в ней написать, что если статус=оплачен, тогда менять группу могу, и как мне узнать id пользователя и выбранный товар из оплаченного заказа?

походу все находится в файле \administrator\components\com_virtuemart\models\orders.php
но куда вписать функцию так и не определился, ведь там их куча )) а мне надо чтобы проверка моя была и при смене статуса при автоматической оплате и при ручной смене статуса через админку...
« Последнее редактирование: 26.08.2013, 01:38:31 от FeaMor »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Установка виджета Яндекс Дистрибуции на сайт

Автор Anik

Ответов: 14
Просмотров: 4077
Последний ответ 22.12.2022, 16:56:10
от Anik
Проблема с логином на сайт через Iphone

Автор AdmiralSFF

Ответов: 4
Просмотров: 2615
Последний ответ 13.08.2022, 13:19:41
от AdmiralSFF
При включении плагина "Система - фильтр языка" сайт не открывается

Автор Aurika

Ответов: 4
Просмотров: 4248
Последний ответ 25.06.2022, 14:14:40
от ecolora
Не встраивается видео с YouTube на сайт

Автор 62411

Ответов: 6
Просмотров: 1812
Последний ответ 02.08.2020, 09:07:22
от wishlight
"Ошибка 404 - Материал нее найден" как заходишь на сайт

Автор Lepby

Ответов: 17
Просмотров: 41703
Последний ответ 11.06.2020, 08:48:10
от sound