function Migrate_Structure($module, $oldPath, $newPath, $filePath) {
		$oldCategoryId = @get_ObjectIDByPath($oldPath, true);
		if ($oldCategoryId==null) {
			echo "$oldPath not found ...\n";
			return;
		}
		// Download new Module Scripts
		$moduleManager = new IPSModuleManager($module);
		//$moduleManager->DeployModule();
		$moduleManager->LoadModule();

		// Migrate existing Structure
		CreateCategoryPath($newPath);
		$newCategoryPath = str_replace('.app.', '.data.', $newPath);
		$newCategoryId   = CreateCategoryPath($newCategoryPath);
		foreach (IPS_GetChildrenIDs($oldCategoryId) as $idx=>$childId) {
			$object = IPS_GetObject($childId);
			switch($object['ObjectType']) {
				case 0: // Category
				case 1: // Instance
					echo "Migrate Category=$childId, Name=".IPS_GetName($childId)."\n";
					Migrate_Category($childId, $filePath);
					IPS_SetParent($childId, $newCategoryId);
					break;
				case 2: // Variable
					echo "Migrate Variable=$childId, Name=".IPS_GetName($childId)."\n";
					IPS_SetParent($childId, $newCategoryId);
					break;
				case 3: // Script
					Delete_Script($childId, $filePath);
					break;
				default:
					echo "Unknown Object=$childId, Name=".IPS_GetName($childId)."\n";
			}
			echo "Move $childId from $oldCategoryId to $newCategoryId ($newCategoryPath)\n";
		}
		if (!IPS_DeleteCategory($oldCategoryId)) {
			echo "Error deleting old Category ".IPS_GetName($oldCategoryId)."\n";
			exit;
		}
		echo '-------------------------------------------------------------------------------------------------------------'.PHP_EOL;
		echo '---- Bestehende Variablen von Modul '.$module.' wurden in die neue Strukture migriert'.PHP_EOL;
		echo '----'.PHP_EOL;
		echo '---- Anpassung der Konfiguration und erneute Installation muss manuell gemacht werden !!!'.PHP_EOL;
		echo '---- ACHTUNG: Pfad für WebFront und Mobile Installation haben sich geändert (liegt jetzt unter "Visualization.WebFront"'.PHP_EOL;
		echo '----          bzw. "Visualization.Mobile". Pfad im Init File (/IPSLibrary/install/InitializationFiles/<<Module>>.ini'.PHP_EOL;
		echo '----          anpassen oder Links manuell verschieben.'.PHP_EOL;
		echo '----          Im Zweifel einfach die bestehenden Strukture des jeweiligen Modules löschen, und eine erneute Installation'.PHP_EOL;
		echo '----          Installation ausführen.'.PHP_EOL;
		echo '-------------------------------------------------------------------------------------------------------------'.PHP_EOL;
	}
 *
 * Anzeige aller verfügbaren IPSLibrary Module Updates
 *
 */
/** @}*/
?>

<table border=1>
  <tr><th>Modul</th><th>Aktuelle<BR>Version</th><th>Neue<BR>Version</th><th>Update</th><th>&Auml;nderungen</th></tr>
<?php 
IPSUtils_Include("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager();
$modules = $moduleManager->VersionHandler()->GetKnownUpdates();
$html = '';
foreach ($modules as $idx => $module) {
    $moduleManager = new IPSModuleManager($module);
    $infos = $moduleManager->GetModuleInfos();
    $changes = $moduleManager->VersionHandler()->GetChangeList($module);
    $text = '<table><tr><td><div style="text-align:left; color:grey; padding-left:10px; padding-right:10px;">Aktuelles Repository</div></td>' . '<td><div style="text-align:left; color:grey; padding-left:10px; padding-right:10px;">' . $infos['LastRepository'] . '</div></td></tr>';
    $text .= '<tr><td><div style="text-align:left; color:grey; padding-left:10px; padding-right:10px;">Neues Repository</div></td>' . '<td><div style="text-align:left; color:grey; padding-left:10px; padding-right:10px;">' . $infos['Repository'] . '</div></td></tr>';
    foreach ($changes as $version => $change) {
        $text .= '<tr><td><div style="text-align:left; color:white; padding-left:10px; padding-right:10px;">Version ' . $version . '</div></td>' . '<td><div style="text-align:left; color:white; padding-left:10px; padding-right:10px;">' . htmlentities($change, ENT_COMPAT, 'ISO-8859-1') . '</div></td></tr>';
    }
    $text .= '</table>';
    $html .= '  <tr>';
    $html .= GetTableData($module, '', 'Module', $module);
    $html .= GetTableData($infos['CurrentVersion']);
    $html .= GetTableData($infos['Version']);
    if (!$processing) {
        $html .= '<td><input type="button" name="Text" value="Update" onclick="trigger_button(\'Update\', \'' . $module . '\', \'\')"></td>';
    } else {
	 * Folgende Schritte sind zur Installation von IPSTwilight nötig
	 * - Laden des Modules (siehe IPSModuleManager)
	 * - Installation (siehe IPSModuleManager)
	 *
	 * @file          IPSTwilight_Installation.ips.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 13.02.2012<br/>
	 *
	 */

	if (!isset($moduleManager)) {
		IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');

		echo 'ModuleManager Variable not set --> Create "default" ModuleManager'.PHP_EOL;
		$moduleManager = new IPSModuleManager('IPSTwilight');
	}

	$moduleManager->VersionHandler()->CheckModuleVersion('IPS','2.50');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSModuleManager','2.50.2');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSLogger','2.50.1');

	IPSUtils_Include ("IPSInstaller.inc.php",              "IPSLibrary::install::IPSInstaller");
	IPSUtils_Include ("IPSTwilight_Configuration.inc.php", "IPSLibrary::config::modules::Weather::IPSTwilight");

	$WFC10_Enabled        = $moduleManager->GetConfigValue('Enabled', 'WFC10');
	$WFC10_ConfigId       = $moduleManager->GetConfigValueIntDef('ID', 'WFC10', GetWFCIdDefault());
	$WFC10_Path           = $moduleManager->GetConfigValue('Path', 'WFC10');
	$WFC10_TabPaneItem    = $moduleManager->GetConfigValue('TabPaneItem', 'WFC10');
	$WFC10_TabPaneParent  = $moduleManager->GetConfigValue('TabPaneParent', 'WFC10');
	$WFC10_TabPaneName    = $moduleManager->GetConfigValue('TabPaneName', 'WFC10');
	 * - IPSModuleManager >= 2.5.1
	 * - IPSLogger >= 2.5.1
	 *
	 * @page install_netplayer Installations Schritte
	 * Folgende Schritte sind zur Installation des NetPlayers nötig:
	 * - Laden des Modules (siehe IPSModuleManager)
	 * - Konfiguration (Details siehe Konfiguration)
	 * - Installation (siehe IPSModuleManager)
	 *
	 */

	if (!isset($moduleManager)) {
		IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');

		echo 'ModuleManager Variable not set --> Create "default" ModuleManager'.PHP_EOL;
		$moduleManager = new IPSModuleManager('NetPlayer');
	}

	$moduleManager->VersionHandler()->CheckModuleVersion('IPS','2.50');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSLogger','2.50.1');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSModuleManager','2.50.1');

	IPSUtils_Include ("IPSInstaller.inc.php",            "IPSLibrary::install::IPSInstaller");
	IPSUtils_Include ("IPSMessageHandler.class.php",     "IPSLibrary::app::core::IPSMessageHandler");
	IPSUtils_Include ("NetPlayer_Constants.inc.php",     "IPSLibrary::app::modules::NetPlayer");
	IPSUtils_Include ("NetPlayer_Configuration.inc.php", "IPSLibrary::config::modules::NetPlayer");


	// ----------------------------------------------------------------------------------------------------------------------------
	// Program Installation
	// ----------------------------------------------------------------------------------------------------------------------------
	 *
	 * @file          IPSComponent_Installation.ips.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 31.01.2012<br/>
	 *
	 * @section requirements_component Installations Voraussetzungen IPSComponent
	 * - IPS Kernel >= 2.50
	 * - IPSModuleManager >= 2.50.1
	 *
	 * @page install_component Installations Schritte
	 * Folgende Schritte sind zur Installation von IPSComponent nötig:
	 * - Laden des Modules (siehe IPSModuleManager)
	 * - Installation (siehe IPSModuleManager)
	 */

	return; 

	if (!isset($moduleManager)) {
		IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');

		echo 'ModuleManager Variable not set --> Create "default" ModuleManager';
		$moduleManager = new IPSModuleManager('IPSComponent');
	}

	$moduleManager->VersionHandler()->CheckModuleVersion('IPS','2.50');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSModuleManager','2.50.1');


	/** @}*/
?>
 * Anzeige aller installierten IPSLibrary Module
 *
 */
/** @}*/
?>

<table border=1>
  <tr><th>Modul</th><th>Aktuelle<BR>Version</th><th>Verf&uuml;gbare<BR>Version</th><th>Status</th><th>Beschreibung</th></tr>
<?php 
IPSUtils_Include("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager();
$modules = $moduleManager->GetInstalledModules();
$html = '';
$updateButton = false;
foreach ($modules as $module => $version) {
    $moduleManager = new IPSModuleManager($module);
    $infos = $moduleManager->GetModuleInfos();
    $infos['LastRepository'] = str_replace('https://raw.github.com/', '...', $infos['LastRepository']);
    $infos['AvailableVersion'] = '';
    $versionAttribute = '';
    $stateAttribute = '';
    if ($moduleManager->VersionHandler()->CompareVersionsNewer($infos['CurrentVersion'], $infos['Version'])) {
        $infos['AvailableVersion'] = $infos['Version'];
        $versionAttribute = 'color:red;';
        $updateButton = true;
    }
    if ($infos['State'] != 'OK') {
        $stateAttribute = 'color:red;';
    }
    $html .= '  <tr>';
    $html .= GetTableData(null, null, $module, '', 'Module', $module);
		case 'Install':
			if (IPSModuleManagerGUI_GetLock($action, true)) {
				IPSLogger_Inf(__file__, 'IPSModuleManagerGUI - Installation of Module '.$module);
				$moduleManager = new IPSModuleManager($module);
				$moduleManager->InstallModule();
			}
			break;
		case 'Load':
			if (IPSModuleManagerGUI_GetLock($action, true)) {
				IPSLogger_Inf(__file__, 'IPSModuleManagerGUI - Load Files of Module '.$module.' from Repository "'.$repository.'"');
				$moduleManager = new IPSModuleManager($module, $repository);
				$moduleManager->LoadModule();
			}
			IPSModuleManagerGUI_SetPage(IPSMMG_ACTION_MODULE, $module);
			break;
		case 'Delete':
			if (IPSModuleManagerGUI_GetLock($action, true)) {
				IPSLogger_Inf(__file__, 'IPSModuleManagerGUI - Delete of Module '.$module);
				$moduleManager = new IPSModuleManager($module);
				$moduleManager->DeleteModule();
			}
			IPSModuleManagerGUI_SetPage(IPSMMG_ACTION_OVERVIEW, $module);
			break;
		default:
			IPSModuleManagerGUI_SetPage($action, $module, $info);
	}
	IPSModuleManagerGUI_Refresh();


	/** @}*/
?>
 * @file          IPSModuleManagerGUI_Logs.php
 * @author        Andreas Brauneis
 * @version
 *   Version 2.50.1, 01.11.2012<br/>
 *
 * Anzeige aller Log Files des IPSModuleManager's
 *
 */
/** @}*/
?>

<table border=1>
  <tr><th>Datum/Zeit</th><th>Modul</th><th>LogFile</th></tr>
<?php 
IPSUtils_Include("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager();
$files = $moduleManager->LogHandler()->GetLogFileList(30);
$html = '';
foreach ($files as $idx => $fullfile) {
    $file = basename($fullfile);
    $data = str_replace('IPSModuleManager_', '', $file);
    $data = str_replace('.log', '', $data);
    $pos = strpos($data, '_');
    $pos = strpos($data, '_', $pos + 1);
    if ($pos === false) {
        $module = '';
        $date = $data;
    } else {
        $module = substr($data, $pos + 1);
        $date = substr($data, 0, $pos);
    }
	 * @{
	 *
	 * Deinstallations File für den IPSLogger
	 *
	 * @file          IPSLogger_Deinstallation.ips.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 25.02.2012<br/>
	 *
	 */

	if (!isset($moduleManager)) {
		IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');

		echo 'ModuleManager Variable not set --> Create "default" ModuleManager'.PHP_EOL;
		$moduleManager = new IPSModuleManager('IPSLogger');
	}

	IPSUtils_Include ("IPSInstaller.inc.php",            "IPSLibrary::install::IPSInstaller");

	$WFC10_ConfigId = $moduleManager->GetConfigValueIntDef('ID', 'WFC10', GetWFCIdDefault());
	DeleteWFCItems ($WFC10_ConfigId, 'IPSLogger_Widget');

	Unregister_PhpErrorHandler($moduleManager);

	// ------------------------------------------------------------------------------------------------
	function Unregister_PhpErrorHandler($moduleManager) {
		$file = IPS_GetKernelDir().'scripts\\__autoload.php';

		if (!file_exists($file)) {
			return;
	function SearchLastRepositories() {
		IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
		$moduleManager = $_IPS['MODULEMANAGER'];
		$infos    = $moduleManager->GetModuleInfos();
		$modules  = $moduleManager->GetInstalledModules();

		//print_r($modules);
		foreach ($modules as $module=>$data) {
			$downloadFile = IPS_GetKernelDir().'scripts\\IPSLibrary\\install\\DownloadListFiles\\'.$module.'_FileList.ini';
			$configFile   = IPS_GetKernelDir().'scripts\\IPSLibrary\\install\\InitializationFiles\\'.$module.'.ini';
			if (!file_exists($downloadFile) or !file_exists($configFile)) {
				$moduleManager->LogHandler()->Debug('Remove Module "'.$module.'" from InstalledModules (No Ini Files found)');
				$versionHandler = new IPSFileVersionHandler($module);
				$versionHandler->DeleteModule();
			} else {
				$moduleManager  = new IPSModuleManager($module, '', sys_get_temp_dir(), true);
				$versionHandler = $moduleManager->VersionHandler();
				$repository     = $versionHandler->GetModuleRepository();

				// Search current Repository
				if ($repository=='') {
					$files = scandir(IPS_GetKernelDir().'\\logs\\', 1);
					foreach ($files as $file) {
						// Found LogFile
						if ($repository<>'') {
							break;
						} elseif (strpos($file,'IPSModuleManager_')!==false) {
							$fileContent = file_get_contents(IPS_GetKernelDir().'\\logs\\'.$file);
							$lines = explode(PHP_EOL, $fileContent);
							$line1 = '';
							$line2 = '';
							if (count($lines)>0) {
								$line1 = $lines[0];
							}
							if (count($lines)>1) {
								$line2 = $lines[1];
							}

							// Found LogFile for Module
							if (   strpos($line1,'Set Version '.$module.'=')!==false
							    or strpos($line2,''.$module.'_FileList.ini')!==false) {
								//echo 'found '.$module; //return;

								// Search Repository
								foreach ($lines as $idx=>$line) {

									// Found Repository
									if (strpos($line,' --> '.IPS_GetKernelDir().'scripts\\IPSLibrary\\install\\DownloadListFiles\\'.$module.'_FileList.ini')!==false) {
										$start = strpos($line,'Copy ')+5;
										$end   = strpos($line,'IPSLibrary',strpos($line,'IPSLibrary')+1);
										$repository = substr($line, $start, $end-$start);
										break;
									}
								}
							}
						}
					}
					$moduleManager->LogHandler()->Debug('Add Last Repository: '.$module.'='.$repository);
					$versionHandler->SetModuleRepository($repository);
				}
				echo $module.'='.$repository.PHP_EOL;
			}
		}
	}
 *
 * @file          IPSModuleManagerGUI_Module.php
 * @author        Andreas Brauneis
 * @version
 *   Version 2.50.1, 01.11.2012<br/>
 *
 * Anzeige aller verfügbaren IPSLibrary Module Updates
 *
 */
/** @}*/
?>

<?php 
IPSUtils_Include("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$html = '<h2>' . $module . '</h2>';
$moduleManager = new IPSModuleManager();
$modules = $moduleManager->GetInstalledModules();
$infos = $moduleManager->GetModuleInfos($module);
$moduleInstalled = array_key_exists($module, $modules);
// Common Section
$versionColor = 'white';
$stateColor = 'white';
if ($infos['CurrentVersion'] != $infos['Version'] and $moduleInstalled) {
    $versionColor = 'red';
}
if ($infos['State'] != 'OK' and $moduleInstalled) {
    $stateColor = 'red';
}
$html .= '<table>';
$html .= '<tr><td><div style="text-align:left; color:grey; padding-left:10px; padding-right:10px;">Beschreibung</div></td>' . '<td><div style="text-align:left; color:white; padding-left:10px; padding-right:10px;">' . htmlentities($infos['Description'], ENT_COMPAT, 'ISO-8859-1') . '</div></td></tr>';
$html .= '<tr><td><div style="text-align:left; color:grey; padding-left:10px; padding-right:10px;">Modul Status</div></td>' . '<td><div style="text-align:left; color:' . $stateColor . '; padding-left:10px; padding-right:10px;">' . htmlentities($infos['State']) . '</div></td></tr>';
	 * - Laden des Modules (siehe IPSModuleManager)
	 * - Konfiguration (Details siehe Konfiguration, Installation ist auch ohne spezielle Konfiguration möglich)
	 * - Installation (siehe IPSModuleManager)
	 *
	 * @file          IPSLogger_Installation.ips.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 31.01.2012<br/>
	 *
	 */

	if (!isset($moduleManager)) {
		IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');

		echo 'ModuleManager Variable not set --> Create "default" ModuleManager'.PHP_EOL;
		$moduleManager = new IPSModuleManager('IPSLogger');
	}

	$moduleManager->VersionHandler()->CheckModuleVersion('IPS','2.50');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSModuleManager','2.50.2');

	IPSUtils_Include ("IPSInstaller.inc.php",            "IPSLibrary::install::IPSInstaller");
	IPSUtils_Include ("IPSLogger_Configuration.inc.php", "IPSLibrary::config::core::IPSLogger");

	$WFC10_Enabled          = $moduleManager->GetConfigValue('Enabled', 'WFC10');
	$WFC10_ConfigId         = $moduleManager->GetConfigValueIntDef('ID', 'WFC10', GetWFCIdDefault());
	$WFC10_Path             = $moduleManager->GetConfigValue('Path', 'WFC10');
	$WFC10_TabPaneItem      = $moduleManager->GetConfigValue('TabPaneItem', 'WFC10');
	$WFC10_TabPaneParent    = $moduleManager->GetConfigValue('TabPaneParent', 'WFC10');
	$WFC10_TabPaneName      = $moduleManager->GetConfigValue('TabPaneName', 'WFC10');
	$WFC10_TabPaneOrder     = $moduleManager->GetConfigValueInt('TabPaneOrder', 'WFC10');
예제 #13
0
	 * - IPSLogger >= 2.50.1
	 *
	 * @page install_edip Installations Schritte
	 * Folgende Schritte sind zur Installation der EDIP Ansteuerung nötig:
	 * - Laden des Modules (siehe IPSModuleManager)
	 * - Konfiguration (Details siehe Konfiguration)
	 * - Installation (siehe IPSModuleManager)
	 * - ID des EDIP Empfangs Scriptes IPSEDIP_Receive.ips.php als Action Script der Register Variable(n) definieren.
	 *
	 */
	 
	if (!isset($moduleManager)) {
		IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');

		echo 'ModuleManager Variable not set --> Create "default" ModuleManager'."\n";
		$moduleManager = new IPSModuleManager('IPSEDIP');
	}

	$moduleManager->VersionHandler()->CheckModuleVersion('IPS','2.50');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSLogger','2.50.1');
	$moduleManager->VersionHandler()->CheckModuleVersion('IPSModuleManager','2.50.1');

	IPSUtils_Include ("IPSInstaller.inc.php",            "IPSLibrary::install::IPSInstaller");
	IPSUtils_Include ("IPSEDIP_Constants.inc.php",       "IPSLibrary::app::hardware::IPSEDIP");
	IPSUtils_Include ("IPSEDIP_Configuration.inc.php",   "IPSLibrary::config::hardware::IPSEDIP");

	$AppPath        = "Program.IPSLibrary.app.hardware.IPSEDIP";
	$DataPath       = "Program.IPSLibrary.data.hardware.IPSEDIP";
	$ConfigPath     = "Program.IPSLibrary.config.hardware.IPSEDIP";
	$HardwarePath   = "Hardware.EDIP";
		'IPSLibrary\\install\\DownloadListFiles\\IPSModuleManager_FileList.ini',
	);

	// Download Files
	echo 'Download of ModuleManager'.PHP_EOL;
	foreach ($fileList as $file) {
		LoadFile($remoteRepository.$file, $localRepository.$file);
	}
	//Registration of IPSUtils in autoload.php
	Register_IPSUtils();

	// Installation of ModuleManager
	echo 'Installation of ModuleManager'.PHP_EOL;
	include_once IPS_GetKernelDir().'scripts\\IPSLibrary\\app\\core\\IPSUtils\\IPSUtils.inc.php';
	IPSUtils_Include ('IPSModuleManager.class.php', 'IPSLibrary::install::IPSModuleManager');
	$moduleManager = new IPSModuleManager('IPSModuleManager');
	$moduleManager->LoadModule($remoteRepository, true);
	$moduleManager->InstallModule();

	// -------------------------------------------------------------------------------
	function LoadFile($sourceFile, $destinationFile) {
		if (strpos($sourceFile, 'https')===0) {
      	$sourceFile = str_replace('\\','/',$sourceFile);
			echo 'Load File '.$sourceFile."\n";
			$curl_handle=curl_init();
			curl_setopt($curl_handle, CURLOPT_URL,$sourceFile);
			curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT,10);
			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);
 * @file          IPSModuleManagerGUI_NewModule.php
 * @author        Andreas Brauneis
 * @version
 *   Version 2.50.1, 01.11.2012<br/>
 *
 * Laden von Neuen Modulen der IPSLibrary
 *
 */
/** @}*/
?>

<table border=1>
  <tr><th>Modul</th><th>Version</th><th>Laden</th><th>Beschreibung</th></tr>
<?php 
IPSUtils_Include("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager();
$knownModules = $moduleManager->VersionHandler()->GetKnownModules();
$installedModules = $moduleManager->VersionHandler()->GetInstalledModules();
$html = '';
foreach ($knownModules as $module => $data) {
    $infos = $moduleManager->GetModuleInfos($module);
    $html .= '  <tr>';
    $html .= GetTableData($module, '', 'Module', $module);
    $html .= GetTableData($infos['Version']);
    if (array_key_exists($module, $installedModules)) {
        $html .= '<td></td>';
    } elseif ($processing) {
        $html .= '<td>processing ...</td>';
    } else {
        $html .= '<td><input type="button" name="Text" value="Modul Laden" onclick="trigger_button(\'Load\', \'' . $module . '\', \'\')"></td>';
    }
 * @file          IPSModuleManagerGUI_LogFile.php
 * @author        Andreas Brauneis
 * @version
 *   Version 2.50.1, 01.11.2012<br/>
 *
 * Anzeige eines LogFile's des IPSModuleManager's
 *
 */
/** @}*/
?>

<table border=1 style="font-family:courier; font-size:11px;">
  <tr><th>App</th><th>Type</th><th>Context</th><th>Date/Time</th><th>Message</th></tr>
<?php 
IPSUtils_Include("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");
$moduleManager = new IPSModuleManager();
$logLines = $moduleManager->LogHandler()->GetLogFileContent($info);
$html = '';
foreach ($logLines as $idx => $line) {
    $pos1 = strpos($line, '-');
    if ($pos1 !== false) {
        $pos2 = strpos($line, '-', $pos1 + 1);
        $pos3 = $pos2 + 30;
        $app = substr($line, 0, $pos1);
        $logtype = substr($line, $pos1 + 1, $pos2 - $pos1 - 1);
        $function = substr($line, $pos2 + 1, $pos3 - $pos2 - 1);
        $date = substr($line, $pos3 + 1, 22);
        $msg = substr($line, $pos3 + 23);
    } else {
        $app = '';
        $logtype = '';
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
	 * GNU General Public License for more details.
	 *
	 * You should have received a copy of the GNU General Public License
	 * along with the IPSLibrary. If not, see http://www.gnu.org/licenses/gpl.txt.
	 */    

	/**@ingroup ipsmodulemanagergui
	 * @{
	 *
	 * @file          IPSModuleManagerGUI_SearchUpdates.ips.php
	 * @author        Andreas Brauneis
	 * @version
	 *  Version 2.50.1, 29.10.2012<br/>
	 *
	 * Sucht nach Module Updates der IPSLibrary
	 *
	 */

	include_once "IPSModuleManagerGUI.inc.php";

	IPSUtils_Include ("IPSModuleManager.class.php", "IPSLibrary::install::IPSModuleManager");

	$moduleManager = new IPSModuleManager('', '', sys_get_temp_dir(), true);
	$versionHandler = $moduleManager->VersionHandler();
	$versionHandler->BuildKnownModules();

	IPSModuleManagerGUI_SetPage(IPSMMG_ACTION_OVERVIEW);
	
    /** @}*/
?>