public static function removeCustomer($instance)
 {
     $cfg = erConfigClassLhConfig::getInstance();
     $secretHash = $cfg->getSetting('site', 'seller_secret_hash');
     $hash = sha1($instance->id . date('Ym') . $secretHash);
     $url = erConfigClassLhConfig::getInstance()->getSetting('site', 'http_mode') . $instance->address . '.' . $cfg->getSetting('site', 'seller_domain') . '/index.php/instance/remove/' . $instance->id . '/' . date('Ym') . '/' . $hash;
     $response = erLhcoreClassModelChatOnlineUser::executeRequest($url);
     $responseData = json_decode($response);
     if (isset($responseData->error) && $responseData->error == false) {
         self::deleteDatabase($instance->id);
         return true;
     } else {
         throw new Exception('Instance removement failed');
     }
 }
<?php

/**
 * Iterates through all instances and executes callback timeout
 * At the moment it's a simple foreach. In the future we may need to enahance this part
 * with some queues etc.
 * 
 * php cron.php -s site_admin -e instance -c cron/extensions_update
 * */
$cfg = erConfigClassLhConfig::getInstance();
$db = ezcDbInstance::get();
foreach (erLhcoreClassModelInstance::getList(array('limit' => 1000000, 'filter' => array('status' => erLhcoreClassModelInstance::WORKING))) as $instance) {
    echo "Executing request to update instance internal structure for extensions - ", $instance->id, "\n";
    $secretHash = $cfg->getSetting('site', 'seller_secret_hash');
    $hash = sha1($instance->id . 'extensions' . date('Ym') . $secretHash);
    if ($instance->full_domain == 1) {
        $url = erConfigClassLhConfig::getInstance()->getSetting('site', 'http_mode') . $instance->address . '/index.php/instance/extensionsstructure/' . $instance->id . '/' . date('Ym') . '/' . $hash;
    } else {
        $url = erConfigClassLhConfig::getInstance()->getSetting('site', 'http_mode') . $instance->address . '.' . $cfg->getSetting('site', 'seller_domain') . '/index.php/instance/extensionsstructure/' . $instance->id . '/' . date('Ym') . '/' . $hash;
    }
    $response = erLhcoreClassModelChatOnlineUser::executeRequest($url);
    echo "Response:\n";
    print_r($response);
    echo PHP_EOL;
}
Ejemplo n.º 3
0
<?php

if ((string) $Params['user_parameters_unordered']['action'] == 'statusdb' || (string) $Params['user_parameters_unordered']['action'] == 'statusdbdoupdate') {
    if (!isset($_SERVER['HTTP_X_CSRFTOKEN']) || !$currentUser->validateCSFRToken($_SERVER['HTTP_X_CSRFTOKEN'])) {
        echo json_encode(array('error' => 'true', 'result' => 'Invalid CSRF Token'));
        exit;
    }
    $tpl = erLhcoreClassTemplate::getInstance('lhsystem/update/statusdb.tpl.php');
    $contentData = erLhcoreClassModelChatOnlineUser::executeRequest('https://raw.githubusercontent.com/LiveHelperChat/livehelperchat/master/lhc_web/doc/update_db/structure.json');
    if ((string) $Params['user_parameters_unordered']['action'] == 'statusdbdoupdate') {
        erLhcoreClassUpdate::doTablesUpdate(json_decode($contentData, true));
    }
    $tables = erLhcoreClassUpdate::getTablesStatus(json_decode($contentData, true));
    $tpl->set('tables', $tables);
    echo json_encode(array('result' => $tpl->fetch()));
    exit;
}
$tpl = erLhcoreClassTemplate::getInstance('lhsystem/update.tpl.php');
$Result['content'] = $tpl->fetch();
$Result['path'] = array(array('url' => erLhcoreClassDesign::baseurl('system/configuration'), 'title' => erTranslationClassLhTranslation::getInstance()->getTranslation('system/htmlcode', 'System configuration')), array('title' => erTranslationClassLhTranslation::getInstance()->getTranslation('system/update', 'Live Helper Chat update information')));