BaseLoader

Allgemein

Das sogenannte Baseloader Script muss für die Installation der IPSLibrary einmalig ausgeführt werden.

Danach steht der IPSModuleManager zur Verfügung und kann zum Download weiterer Module verwendet werden.

Installation

Nachfolgenden Code in ein neues Script in IP-Symcon einfügen und danach ausführen.

ACHTUNG: Die Ausführung kann einige Minuten in Anspruch nehmen.

ACHTUNG: Die IPSLibrary erfordert die Aktivierung der Kompatibilitätsfunktionen in IP-Symcon (zu finden bei den Spezialschaltern von IP-Symcon)

<?
    // Repository
    $repository = 'https://raw.githubusercontent.com/brownson/IPSLibrary/Development/';

    // Download BaseLoader Script 
    $remoteFile = $repository.'IPSLibrary/install/BaseLoader/IPSLibrary_BaseLoader.ips.php';
    $localFile  = IPS_GetKernelDir().'scripts/IPSLibrary_BaseLoader.ips.php';

    $curl_handle=curl_init();
    curl_setopt($curl_handle, CURLOPT_URL,$remoteFile);
    curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,5);
    curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,true);
    curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl_handle, CURLOPT_FAILONERROR, true);
    $fileContent = curl_exec($curl_handle);
    curl_close($curl_handle);
    if ($fileContent===false) {
        throw new Exception('Download of File '.$remoteFile.' failed !!!');
    }

    if (!file_put_contents($localFile, $fileContent)) {
        throw new Exception('Create File '.$localFile.' failed!');
    }

    // Execute Baseloader Script
    include $localFile;

    // Load and Install IPSLogger
    IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
    $moduleManager = new IPSModuleManager('IPSLogger', $repository);
    $moduleManager->LoadModule();
    $moduleManager->InstallModule(true);

    // Load and Install IPSModuleManagerGUI
    IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
    $moduleManager = new IPSModuleManager('IPSModuleManagerGUI', $repository);
    $moduleManager->LoadModule();
    $moduleManager->InstallModule(true);

    // Load and Install IPSComponent
    IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
    $moduleManager = new IPSModuleManager('IPSComponent', $repository);
    $moduleManager->LoadModule();
    $moduleManager->InstallModule(true);

    // Load and Install IPSMessageHandler
    IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
    $moduleManager = new IPSModuleManager('IPSMessageHandler', $repository);
    $moduleManager->LoadModule();
    $moduleManager->InstallModule(true);
?>