Выполнение произвольного PHP кода

Установка и настройка биллинговой системы.
Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: Выполнение произвольного PHP кода

Сообщение Alex Keda » 2010-06-29 15:18:37

если система сама не может чего-то сделать - появляется уведомление об этом.
весьма назойливая, заметим надпись =))
Убей их всех! Бог потом рассортирует...

B0nuse
Сообщения: 79
Зарегистрирован: 2010-04-16 23:10:59

Re: Выполнение произвольного PHP кода

Сообщение B0nuse » 2010-06-29 20:21:33

lissyara писал(а):появляется уведомление об этом.

в системе - да. Но хотелось бы, чтобы приходило письмо администратору, что человек заказал и оплатил услугу и администратору необходимо ее выполнить. Таким образом увеличится скорость обслуживания в ручном режиме.
Это же касается окончания срока действия оплаченного периода за услугу (когда нужно заблокировать или удалить услугу) и прочее...
возможно все...

Аватара пользователя
Alex Keda
Сообщения: 2907
Зарегистрирован: 2009-10-07 14:30:54
Откуда: USSR
Поблагодарили: 20 раз

Re: Выполнение произвольного PHP кода

Сообщение Alex Keda » 2010-06-30 10:24:43

писем по этому поводу, да, нет.
но, при нормальном фунциклирвоании - когда объём ручной работы минимален - оно и не нужно.
в вашем случае - пишите, например, ватчдог на шелле чтоб он вас уведомлял...
Убей их всех! Бог потом рассортирует...

B0nuse
Сообщения: 79
Зарегистрирован: 2010-04-16 23:10:59

Re: Выполнение произвольного PHP кода

Сообщение B0nuse » 2010-06-30 11:44:48

lissyara писал(а):при нормальном фунциклирвоании - когда объём ручной работы минимален - оно и не нужно.

Позволю себе не согласиться.
Поясню:
1. Работает все на автомате, не паришься и в биллинг практически не заходишь.
2. Много ручной работы, заходишь каждый день, но постоянно сидеть нет смысла.

В 1 и 2 случаях при заказе кем-то ручной услуги - нужно ее оперативно выполнить. Для этого и нужно уведомление администратору.

Насколько я смог разобраться, в данном случае все сводится к изменению двух файлов ServiceOrderPay.comp (момент оплаты услуги) и StatusSet.comp (момент изменения статуса услуги) в папке

Код: Выделить всё

/path/to/script/hosts/billing/comp/www/API/


Помогите додумать условие и правильное оформление изменения даты окончания услуги при изменении статуса с "На создании" на "Активен" в файле StatusSet.comp, строки 120-122:

Код: Выделить всё

      $StatusDate = Time();
      #-------------------------------------------------------------------------
      $IsUpdate = DB_Update($ModeID,Array('StatusID'=>$StatusID,'StatusDate'=>$StatusDate),Array('ID'=>$Row['ID']));

заменить на что-то вроде

Код: Выделить всё

      $StatusDate = Time();
      $Order = DB_Select('Orders',Array('ID','OrderDate','ExpirationDate','StatusID'),Array('UNIQ',$Row['ID'])); #делаем запрос статуса, даты создания и окончания услуги, статус которой меняется
      $OrderDate = $Order['OrderDate']; #дата создания
      $ExpirationDate = $Order['ExpirationDate']; #дата окончания
      $Status = $Order['StatusID']; #статус
      #-------------------------------------------------------------------------
      #если статус услуги "на создании" и меняется на статус "активен", то компенсируем время простоя между сменой статусов -> дата окончания = пред. дате окончания + (текущее время - дата создания)
      if($StatusID=='Active' AND $Status=='OnCreate') {$IsUpdate = DB_Update($ModeID,Array('ExpirationDate'=>$ExpirationDate + ($StatusDate - $OrderDate),'StatusID'=>$StatusID,'StatusDate'=>$StatusDate),Array('ID'=>$Row['ID']));
      }else{
#иначе дата окончания остается без изменения (по-умолчанию)
      $IsUpdate = DB_Update($ModeID,Array('StatusID'=>$StatusID,'StatusDate'=>$StatusDate),Array('ID'=>$Row['ID']));}

А вообще, по-хорошему, сделать бы возможность изменения даты окончания услуги Администратором в том же виде, как изменение даты счета и возможность компенсации времени всем клиентам, как в хостинге.

В файле ServiceOrderPay.comp перед 230 строкой (подтверждение оплаты)

Код: Выделить всё

return Array('Status'=>'Ok');

нужно вставить что-то отправляющее письмо Администратору с данными заказа и позволяющее выполнить пхп код.
возможно все...

Виталий
Site Admin
Сообщения: 344
Зарегистрирован: 2009-10-10 0:41:16
Контактная информация:

Re: Выполнение произвольного PHP кода

Сообщение Виталий » 2010-09-18 19:58:22

B0nuse писал(а):В том то и дело, что я хочу самостоятельно автоматизировать работу данного биллинга, но знаний программного языка, на котором написан биллинг у меня нет.
Есть знания пхп. И т.к. событий мало - успешная оплата услуги, окончание, блокирование и удаление - я хочу чтобы следующие события происходили именно после этих средствами биллинга, а не сторонних скриптов.
Если бы весь биллинг был написан на пхп - я бы не задавал подобных вопросов...


B0nuse, биллинг написан на чистом PHP + JavaScript ;) Стукните ко мне в jabber, объясню куда двигать.

B0nuse
Сообщения: 79
Зарегистрирован: 2010-04-16 23:10:59

Re: Выполнение произвольного PHP кода

Сообщение B0nuse » 2010-09-19 13:39:41

Виталий писал(а):B0nuse, биллинг написан на чистом PHP + JavaScript ;) Стукните ко мне в jabber, объясню куда двигать.

Я уже это понял... только он немного своеобразно написан :)
По компенсации времени между сменами определенных статусов тут viewtopic.php?p=1564#p1564

Осталось сделать выполнение определенного ПХП кода после оплаты услуги и маркирование задачи, как выполненную.
А то если делать все в ручную - после оплаты услуги пользователем, у Админа будет висеть предупреждение, что есть Ошибочные задачи...

Вообще, думаю, логику "Другие услуги" нужно было делать на основе "Хостинг"/"Домены"...

Что-то не нашел адрес жабы.... Можно, например, ограничиться ЛС/ICQ ;)
возможно все...


Вернуться в «Установка и настройка»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей