示例#1
0
#   Генерируем запрос на загрузку и установку модуля
$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());
     }
 }
示例#3
0
							<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>
示例#4
0
    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);