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; } } }
* @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 = ''; $function = '';
* @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); } $date = str_replace('_', ' ', $date);