private function _setConnectTTL() { TwigmoSettings::set(array('connect_till' => TIME + self::CONNECT_REQUEST_TTL)); }
if ($mode == 'tw_svc_auth_cp') { $connector = new TwigmoConnector(); $action = 'cp'; $connector->authPage($action); exit; } if ($mode == 'tw_svc_auth_te') { $connector = new TwigmoConnector(); $action = 'te'; $connector->authPage($action); exit; } if ($mode == 'update' && $_REQUEST['addon'] == 'twigmo') { if (!empty($_REQUEST['tw_settings'])) { $company_id = fn_twg_get_current_company_id(); TwigmoSettings::set(array('customer_connections' => array($company_id => $_REQUEST['tw_settings']))); } return array(CONTROLLER_STATUS_REDIRECT, 'addons.update?addon=twigmo'); } } elseif ($mode == 'update') { if ($_REQUEST['addon'] == 'twigmo') { if (!empty($_REQUEST['selected_section']) and $_REQUEST['selected_section'] == 'twigmo_addon') { fn_delete_notification('twigmo_upgrade'); } if (!fn_twg_is_updated()) { fn_set_notification('W', __('notice'), __('twgadmin_reinstall')); } $company_id = fn_twg_get_current_company_id(); $view = Registry::get('view'); $view->assign('default_logo', TwigmoImage::getDefaultLogoUrl($company_id)); $urls = TwigmoConnector::getMobileScriptsUrls();
public static function restoreSettingsAndCSS($upgrade_dirs) { // Restore langvars - for all languages except EN and RU $languages = Lang::getLanguages(); $except_langs = array('en', 'ru'); foreach ($languages as $language) { $backup_file = $upgrade_dirs['backup_settings'] . 'lang_' . $language['lang_code'] . '.bak'; if (!in_array($language['lang_code'], $except_langs) and file_exists($backup_file)) { LanguageValues::updateLangVar(unserialize(fn_get_contents($backup_file)), $language['lang_code']); } } // Restore blocks $old_company_id = Registry::get('runtime.company_id'); foreach ($upgrade_dirs['backup_company_settings'] as $company_id => $dir) { Registry::set('runtime.company_id', $company_id); $backup_file = $dir . 'blocks.xml'; if (file_exists($backup_file)) { if (version_compare(PRODUCT_VERSION, '4.1.1', '>=')) { Registry::set('runtime.layout', Layout::instance()->getDefault()); } Exim::instance($company_id, fn_twg_get_default_layout_id())->importFromFile($backup_file); } } Registry::set('runtime.company_id', $old_company_id); // Restore settings if addon was connected $restored_settings = array('my_private_key', 'my_public_key', 'his_public_key', 'email', 'customer_connections', 'admin_connection'); $settings = array(); foreach ($_SESSION['twigmo_backup_settings'] as $setting => $value) { if (in_array($setting, $restored_settings)) { $settings[$setting] = $value; } } $settings['version'] = TWIGMO_VERSION; unset($_SESSION['twigmo_backup_settings']); TwigmoSettings::set($settings); $connector = new TwigmoConnector(); if (!$connector->updateConnections(true)) { $connector->disconnect(array(), true); } // Restore images self::copyFiles($upgrade_dirs['backup_files']['media_frontend'], $upgrade_dirs['installed']['media_frontend']); return true; }
} $request = $connector->parseResponse($_REQUEST['data']); if (empty($request['data']) or empty($request['data']['url'])) { $connector->onError(); } // Request is ok - check url if ($action == 'check.admin') { if ($request['data']['url'] != $connector->getAdminUrl()) { $connector->onError('Wrong admin url'); } } else { $stores = fn_twg_get_stores(); $store = reset($stores); $my_url = $connector->getCustomerUrl($store); if ($request['data']['url'] != $my_url) { $connector->onError('Wrong customer url'); } } $connector->respond(array('result' => 'ok')); } elseif ($action == 'repo.updated') { $connector = new TwigmoConnector(); $stores = fn_twg_get_stores(); $store = reset($stores); $all_stores = TwigmoSettings::get('customer_connections'); if (empty($store) || empty($all_stores) || !isset($all_stores[$store['company_id']])) { $connector->onError('store_not_found'); } $all_stores[$store['company_id']]['repo_revision'] = TIME; TwigmoSettings::set(array('customer_connections' => $all_stores)); $connector->respond(array('result' => 'ok')); }