Alex Keda писал(а):Источник цитаты предлагаю пока засунуть к остальным.
ну так пока и буду делать
Alex Keda писал(а):Источник цитаты предлагаю пока засунуть к остальным.
Код: Выделить всё
#-------------------------------------------------------------------------------
# Функция блокировки клиента в панели ISPConfig
#-------------------------------------------------------------------------------
function ISPConfig_Suspend($Settings,$Login,$IsReseller = FALSE){
/****************************************************************************/
$__args_types = Array('array','string','boolean');
#-----------------------------------------------------------------------------
$__args__ = Func_Get_Args(); Eval(FUNCTION_INIT);
/****************************************************************************/
$Request = Array(
'contact_name' => $Login,
'country' => 'RU',
'web_php_options' => 'no',
'ssh_chroot' => 'no',
'limit_client' => 0, // If this value is > 0, then the client is a reseller
'username' => $Login,
'language' => 'ru',
'usertheme' => 'default',
'locked' => 'y',
'canceled' => 'y'
);
$reseller_id = 0; // this id has to be 0 if the client shall not be assigned to admin or if the client is a reseller
#-----------------------------------------------------------------------------
# Содаем подключение к панели ISPConfig
$SoapLocation = SPrintF('%s://%s:%u/remote/index.php',($Settings['Protocol'] == 'ssl')?'https':'http',$Settings['Address'],$Settings['Port']);
$SoapUri = SPrintF('%s://%s:%u/remote/',($Settings['Protocol'] == 'ssl')?'https':'http',$Settings['Address'],$Settings['Port']);
$client = new SoapClient(null, array('location' => $SoapLocation,
'uri' => $SoapUri,
'trace' => 1,
'exceptions' => 1));
# Открываем сессию на сервере ISPConfig
$session_id = $client->login($Settings['Login'], $Settings['Password']);
#-----------------------------------------------------------------------------
# Запрашиваем ID клиента по его Имени пользователя
try {
$client->client_get_by_username($session_id, $Login);
$Body = $client->__getLastResponse();
$Response = Trim($Body);
#-----------------------------------------------------------------------------
$XML = String_XML_Parse($Response);
$XML = $XML->ToArray('item');
$Array = $XML['SOAP-ENV:Envelope']['SOAP-ENV:Body']['ns1:client_get_by_usernameResponse']['return'];
foreach(Array_Keys($Array) as $Key)
if ($Array[$Key]['key']=='client_id') break;
$client_id = $Array[$Key]['value'];
// Debug(SPrintF('%s => %s',$Array[$Key]['key'],$Array[$Key]['value'],true));
} catch (SoapFault $Result) {
$Response = $client->__getLastResponse();
$Response = Strip_Tags($Response);
}
#-----------------------------------------------------------------------------
# Проверяем ответ панели на ошибку запроса
if(Preg_Match('/data_processing_error/',$Response)) {
return new gException('WRONG_ANSWER',$Response);
}
#-----------------------------------------------------------------------------
# Выполняем запрос блокировки клиента на панели ISPConfig
try {
$client->client_update($session_id, $client_id, $reseller_id, $Request);
$Response = $client->__getLastResponse();
} catch (SoapFault $Result) {
$Response = $client->__getLastResponse();
$Response = Strip_Tags($Response);
}
//Debug(print_r($Response,true));
#-----------------------------------------------------------------------------
# Закрываем сессию на сервере ISPConfig
$client->logout($session_id);
#-----------------------------------------------------------------------------
# Проверяем на ошибку запроса ответ панели
if(Preg_Match('/data_processing_error/',$Response)) {
return new gException('WRONG_ANSWER',$Response);
}else{
return TRUE;
}
}
alezhen писал(а):Источник цитаты при активации клиента нужно передать параметры тарифного плана (например $HostingScheme['PackageID']), но в функции ISPConfig_Active($Settings,$Login,$IsReseller = FALSE) такого параметра нет. как быть в таком случае?
alezhen писал(а):Источник цитаты задание упорно отказывается выполнятся в автоматическом режиме
Alex Keda писал(а):Источник цитаты непонял - все параметры тарифа чтоле?
Alex Keda писал(а):Источник цитаты при этом оно что-то в отладочный лог пишет
Код: Выделить всё
[18:07:21.83][console] Load file: '/var/www/clients/client3/web4/user/hosts/hosting/comp/Tasks/HostingActive.comp.php'
[18:07:21.83][console] [MySQL->Query]: SELECT `ID`,`UserID`,`Login`,`Domain`,(SELECT `ServerID` FROM `OrdersOwners`
WHERE `OrdersOwners`.`ID` = `HostingOrdersOwners`.`OrderID`) AS `ServerID`,(SELECT `IsReselling` FROM `HostingSchemes`
WHERE `HostingSchemes`.`ID` = `HostingOrdersOwners`.`SchemeID`) as `IsReselling`,(SELECT `Name` FROM `HostingSchemes`
WHERE `HostingSchemes`.`ID` = `HostingOrdersOwners`.`SchemeID`) as `SchemeName` FROM `HostingOrdersOwners` WHERE `ID` =
9
[18:07:21.83][console] Load file: '/var/www/clients/client3/web4/user/hosts/root/comp/Formats/Explode/Logic.comp.php'
[18:07:21.83][console] [MySQL->Query]: SELECT * FROM `Servers` WHERE `ID` = 2
[18:07:21.83][console] Load file: '/var/www/clients/client3/web4/user/hosts/root/comp/Formats/Explode/Logic.comp.php'
[18:07:21.83][console] Load file: '/var/www/clients/client3/web4/user/hosts/root/comp/Formats/Explode/Logic.comp.php'
[18:07:21.83][console] Load file: '/var/www/clients/client3/web4/user/hosts/root/comp/Formats/Explode/JSON.comp.php'
[18:07:21.83][console] Load file: '/var/www/clients/client3/web4/user/hosts/root/comp/Formats/Explode/Crypt.comp.php'
[18:07:21.83][console] [Exception]: [FUNCTION_NOT_SUPPORTED]=(Функция не поддерживается API
модулем)
alezhen писал(а):Источник цитаты активацию клиента можно делать только через client_update. При этом, если не указывать параметры, то клиент активируется с 0 лимитами. Есть 2 варианта: 1) передать только ИД тарифа, 2) передавать все лимиты. Предпочтителен 2 вариант. Небходим при создании доп. к тарифам. Например доп. дисковое простраство.
alezhen писал(а):Источник цитаты это при активации задания.
тут-же запускаю задание вручную и вуаля - оно выполнено
Alex Keda писал(а):Источник цитаты послать вас чтоле ... читать то что я вам писал раньше...
про необходимость перезапуска крона и очитски кэша...
Alex Keda писал(а):Источник цитаты а что, заблокирован он - с нулевыми лимитами на всё чтоле?
Alex Keda писал(а):Источник цитаты чё бы не выдернуть те лимиты которые у него есть и не послать взад?
alezhen писал(а):Источник цитаты не, мне вот делать нечего, как флудить. раз написал, то наверное и кеш почистил, и крон перезапустил, и апач тоже. и даже apc удалил и заново поставил!!!
Код: Выделить всё
public function Active
alezhen писал(а):Источник цитаты можно конечно и так покарячится ))) запросить все лимиты и во время блокировки их послать обратно. но... все это не по человечески как-то... всего для того что-бы заблокировать пользователя нужно делать три запроса к панели...
alezhen писал(а):Источник цитаты если-бы билл был не халявный, уже давно забил-бы на эти кракозаблы
Вернуться в «Запрос улучшений»
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей