# Генерируем запрос на загрузку и установку модуля $apps_settings = DB::getSettings(PREFIX, "systems"); $postdata = http_build_query(array('host' => HOME, 'version' => $apps_settings["version"], 'ip' => $_SERVER["REMOTE_ADDR"], 'id_module' => $_GET["id_module"], 'hash' => $_GET["hash"])); $opts = array('http' => array('method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata)); $context = stream_context_create($opts); $server_response = file_get_contents('http://info.apps-system.ru/?install=module', false, $context); ####################################################### //FunctionSystems::Pre($server_response); //exit; # директория загрузки инсталятора $install_zip = ROOT . "install_module.zip"; if (!copy($server_response, $install_zip)) { // если архив не загрузился Systems::answer("{$server_response}", false); Systems::log('<span class="error_log">Не удалось загрузить модуль</span>'); FunctionSystems::Error('Не удалось загрузить модуль'); } else { $zip = new ZipArchive(); if ($zip->open($install_zip) === true) { //извлекаем новую конфигурацию $module = $zip->getFromName('info.xml'); $info_module = new SimpleXMLElement($module); $info = array(); $info["name"] = $info_module->info->name; // имя модуля для modules.store $info["dir"] = $info_module->info->dir; // имя модуля для modules.store $info["version"] = $info_module->info->version; // имя модуля для modules.store $power_module = Systems::local_store_modules("add", $info["dir"], "1"); // заносим модуль в modules.local
function AddScript($where, $link_script) { try { if ($where == "system") { echo '<script src="' . HOME . 'admin/systems/template/js/' . $link_script . '"></script>'; } else { if ($where == "applications") { echo '<script src="' . HOME . 'admin/applications/' . $link_script . '"></script>'; } else { if ($where == "modules") { echo '<script src="' . HOME . 'admin/modules/' . $link_script . '"></script>'; } else { if ($where == "plagins") { echo '<script src="' . HOME . 'admin/plagins/' . $link_script . '"></script>'; } else { throw new Exception("Параметр where: ({$where}) в методе " . __METHOD__ . " отсутствует или имеет неверное значение"); } } } } } catch (Exception $e) { FunctionSystems::Error($e->getMessage()); } }
<button type="button" class="btn btn-xs btn-primary dropdown-toggle" data-toggle="dropdown"> <span class="caret"></span> <span class="sr-only">Меню с переключением</span> </button> <ul class="dropdown-menu" role="menu"> <li><a href="#">Действие</a></li> <li><a href="#">Другое действие</a></li> <li><a href="#">Что-то иное</a></li> <li class="divider"></li> <li><a href="#">Отдельная ссылка</a></li> </ul> </div> <input type="checkbox" class="form-control f_r">--> </div> <hr> </div>'; } else { throw new Exception('Не могу найти конфигурацию приложения <b>' . $dir . '</b> по адресу: ' . ADMIN_MODULES . $dir . '/config.ini'); } } catch (Exception $e) { FunctionSystems::Error($e->getMessage()); } } } # Воборка каталога с приложениями и их настроек END ################################################### ?> </div> </div>
exit("Stop! Forbidden"); } // UPDATE SYSTEMS if (!isset($_COOKIE["Auth"])) { exit; } require_once "systems/api_start.php"; if (!empty($_POST["update"]) && isset($_COOKIE["new_version_system"])) { $relize = file_get_contents("http://info.apps-system.ru/?update=" . $_COOKIE["new_version_system"] . "&referer=" . HOME); # директория загрузки инсталятора $install_zip = ROOT . "update.zip"; if (!copy($relize, $install_zip)) { // если архив не загрузился Systems::answer("Не удалось загрузить обновление", false); Systems::log('<span class="error_log">Не удалось загрузить обновление системы</span>'); FunctionSystems::Error('Не удалось загрузить обновление системы'); } else { $zip = new ZipArchive(); if ($zip->open($install_zip) === true) { //извлекаем новую конфигурацию $update = $zip->getFromName('update.xml'); $system = new SimpleXMLElement($update); $version = $system->info->version; // версия новой системы settype($version, "string"); // делаем строкой $update_db = array("version" => $version, "time" => time()); //$db = New DB(); DB::updateSettings(PREFIX, $update_db, "systems"); // обновляем настройки в базе $zip->extractTo(ROOT);