public static function show($console, $result, $data) { $text = ''; if (!$console) { $text .= Design::erstelleBeschreibung($console, Language::Get('gitUpdate', 'description')); } $collected = array(); if (isset($result[self::$onEvents['collect']['name']]) && $result[self::$onEvents['collect']['name']] != null) { $collected = $result[self::$onEvents['collect']['name']]; } elseif (isset($result[self::$onEvents['install']['name']]) && $result[self::$onEvents['install']['name']] != null) { $collected = $result[self::$onEvents['install']['name']]; } else { $collected = array('content' => null, 'fail' => false, 'errno' => null, 'error' => null); } $fail = $collected['fail']; $error = $collected['error']; $errno = $collected['errno']; if (Einstellungen::$accessAllowed) { //if ($collected['content'] === null){ if (!$console) { $text .= Design::erstelleZeileShort($console, Language::Get('gitUpdate', 'collectGitUpdatesDesc'), 'e', Design::erstelleSubmitButton(self::$onEvents['collect']['event'][0], Language::Get('gitUpdate', 'collectGitUpdates')), 'h'); } //} if (isset($collected['content']['modified']) && $collected['content']['modified'] !== null) { $t = ''; if (isset($collected['content']['modified'][0])) { $t = $collected['content']['modified'][0]; } else { $t = Language::Get('gitUpdate', 'noUpdates'); } if (!$console) { $text .= "<tr><td class='v' colspan='3'>{$t}</td></tr>"; } else { } } if (isset($collected['content']['commits']) && $collected['content']['commits'] !== null) { for ($i = 0; $i < 20 && $i < count($collected['content']['commits']); $i++) { if (!$console) { $text .= "<tr><td class='v' colspan='2'>{$collected['content']['commits'][$i]['desc']}</td><td class='e'>{$collected['content']['commits'][$i]['period']}</td></tr>"; } else { } } if (count($collected['content']['commits']) > 20) { if (!$console) { $text .= Design::erstelleZeile($console, Language::Get('gitUpdate', 'additionalCommits', array('additionalCommits' => count($collected['content']['commits']) - 20)), 'v'); } else { } } if (count($collected['content']['commits']) > 0) { if (!$console) { $text .= Design::erstelleZeileShort($console, Language::Get('gitUpdate', 'installGitUpdatesDesc'), 'e', Design::erstelleSubmitButton(self::$onEvents['install']['event'][0], Language::Get('gitUpdate', 'installGitUpdates')), 'h'); } } } if (self::$installed) { $text .= Design::erstelleInstallationszeile($console, $fail, $errno, $error, Language::Get('gitUpdate', 'executeGitUpdatesDesc')); } } echo Design::erstelleBlock($console, Language::Get('gitUpdate', 'title'), $text); return null; }
public static function show($console, $result, $data) { $pluginFiles = array(); if ($handle = @opendir(dirname(__FILE__) . '/../../Plugins')) { while (false !== ($file = readdir($handle))) { if (substr($file, -5) != '.json' || $file == '.' || $file == '..') { continue; } if (is_dir(dirname(__FILE__) . '/../../Plugins/' . $file)) { continue; } $pluginFiles[] = $file; } closedir($handle); } $text = ''; $text .= Design::erstelleBeschreibung($console, Language::Get('packages', 'description')); if (self::$onEvents['install']['enabledInstall']) { $text .= Design::erstelleZeile($console, Language::Get('packages', 'installSelected'), 'e', '', 'v', Design::erstelleSubmitButton(self::$onEvents['install']['event'][0], Language::Get('main', 'install')), 'h'); } if (self::$onEvents['uninstall']['enabledInstall']) { $text .= Design::erstelleZeile($console, Language::Get('packages', 'uninstallSelected'), 'e', '', 'v', Design::erstelleSubmitButton(self::$onEvents['uninstall']['event'][0], Language::Get('main', 'uninstall')), 'h'); } if (self::$onEvents['validateFiles']['enabledInstall']) { $text .= Design::erstelleZeile($console, Language::Get('packages', 'validateFilesDesc'), 'e', '', 'v', Design::erstelleSubmitButton(self::$onEvents['validateFiles']['event'][0], Language::Get('packages', 'validateFiles')), 'h'); } $validateFiles = false; if (isset($result[self::$onEvents['validateFiles']['name']])) { $validateFiles = true; } if (isset($result[self::$onEvents['check']['name']]) && $result[self::$onEvents['check']['name']] != null) { $result = $result[self::$onEvents['check']['name']]; } else { $result = array('content' => null, 'fail' => false, 'errno' => null, 'error' => null); } $installedPlugins = $result['content']; // hier die möglichen Erweiterungen ausgeben, zudem noch die Daten dieser Erweiterungen foreach ($pluginFiles as $plug) { $dat = file_get_contents(dirname(__FILE__) . '/../../Plugins/' . $plug); $dat = json_decode($dat, true); $name = $dat['name']; $version = $dat['version']; $voraussetzungen = $dat['requirements']; if (!is_array($voraussetzungen)) { $voraussetzungen = array($voraussetzungen); } $text .= Design::erstelleZeile($console, "{$name} v{$dat['version']}", 'e', self::$onEvents['install']['enabledInstall'] || self::$onEvents['uninstall']['enabledInstall'] ? Design::erstelleAuswahl($console, $data['PLUG']['plug_install_' . $name], 'data[PLUG][plug_install_' . $name . ']', $plug, null, true) : '', 'v'); $isInstalled = false; if (isset($installedPlugins)) { foreach ($installedPlugins as $instPlug) { if ($name == $instPlug['name']) { if (isset($instPlug['version'])) { $text .= Design::erstelleZeile($console, Language::Get('packages', 'currentVersion'), 'v', 'v' . $instPlug['version'], 'v'); } else { $text .= Design::erstelleZeile($console, Language::Get('packages', 'currentVersion'), 'v', '???', 'v'); } $isInstalled = true; break; } } } if (!$isInstalled) { $text .= Design::erstelleZeile($console, Language::Get('packages', 'currentVersion'), 'v', '---', 'v'); } $vorText = ''; foreach ($voraussetzungen as $vor) { $vorText .= "{$vor['name']} v{$vor['version']}, "; } if ($vorText == '') { $vorText = '---'; } else { $vorText = substr($vorText, 0, -2); } $text .= Design::erstelleZeile($console, Language::Get('packages', 'requirements'), 'v', $vorText, 'v'); $file = dirname(__FILE__) . '/../../Plugins/' . $plug; $fileCount = 0; $fileSize = 0; $componentCount = 0; if (file_exists($file) && is_readable($file)) { $input = file_get_contents($file); $input = json_decode($input, true); if ($input == null) { $fail = true; break; } $fileList = array(); $fileListAddress = array(); $componentFiles = array(); self::gibPluginDateien($input, $fileList, $fileListAddress, $componentFiles); $fileCount = count($fileList); foreach ($fileList as $f) { if (is_readable($f)) { $fileSize += filesize($f); if ($validateFiles) { if ($fileSize > 0 && strtolower(substr($f, -5)) === '.json') { // validiere die json Datei $cont = file_get_contents($f); if (trim($cont) != '') { $val = @json_decode(file_get_contents($f)); if ($val === null) { $text .= Design::erstelleZeileShort($console, realpath($f), 'break v', Language::Get('packages', 'jsonInvalid'), 'v error_light break'); } } } if ($fileSize > 0 && strtolower(substr($f, -4)) === '.php') { // validiere die php Datei $output = null; $result = null; exec('(php -l -d error_reporting=E_ALL -d display_errors=on -d log_errors=off -f ' . realpath($f) . ') 2>&1', $output, $result); if ($result != 0) { $text .= Design::erstelleZeileShort($console, realpath($f), 'break v', implode('<br>', $output), 'v error_light break'); } } } } } $componentCount = count($componentFiles); } $text .= Design::erstelleZeile($console, Language::Get('packages', 'numberComponents'), 'v', $componentCount, 'v'); $text .= Design::erstelleZeile($console, Language::Get('packages', 'numberFiles'), 'v', $fileCount, 'v'); $text .= Design::erstelleZeile($console, Language::Get('packages', 'size'), 'v', Design::formatBytes($fileSize), 'v'); } /*if ($installPlugins){ if ($installPluginsResult !=null) foreach ($installPluginsResult as $component){ // $text .= "<tr><td class='e' rowspan='1'>{$component}</td><td class='v'></td><td class='e'><div align ='center'>".((isset($dat['status']) && $dat['status']===201) ? Language::Get('main','ok') : "<font color='red'>".Language::Get('main','fail')." ({$dat['status']})</font>")."</align></td></tr>"; } $text .= Design::erstelleInstallationszeile($console, $fail, $errno, $error); } if ($uninstallPlugins){ if ($uninstallPluginsResult !=null) foreach ($uninstallPluginsResult as $component){ // $text .= "<tr><td class='e' rowspan='1'>{$component}</td><td class='v'></td><td class='e'><div align ='center'>".((isset($dat['status']) && $dat['status']===201) ? Language::Get('main','ok') : "<font color='red'>".Language::Get('main','fail')." ({$dat['status']})</font>")."</align></td></tr>"; } $text .= Design::erstelleInstallationszeile($console, $fail, $errno, $error); }*/ echo Design::erstelleBlock($console, Language::Get('packages', 'title'), $text); return null; }
if (isset($data['outStatus'])) { $text2 .= Design::erstelleZeileShort(false, 'Status', 'e', $data['outStatus'], 'v'); } if (isset($data['outContent']) && trim($data['outContent']) != '') { $text2 .= Design::erstelleZeileShort(false, 'Daten', 'e', Design::zeichneEingabebereich(false, 'Daten', $data['outContent'], 'v')); } if (trim($text2) != '') { $text2 = Design::erstelleBlock(false, "Ausgabe", $text2); } // fügt Eingabe und Ausgabe zu einem Block zusammen $text3 = ''; if (trim($text) != '') { $text3 .= Design::erstelleZeileShort(false, $text, 'break'); } if (trim($text2) != '') { $text3 .= Design::erstelleZeileShort(false, $text2, 'break'); } $addLink = ''; if (file_exists($mdFile) || file_exists($mdFileResult)) { $addLink = '<br><a style="font-size: 75%" href="' . $data['name'] . '.html' . '">Beschreibung ></a>'; } $body .= Design::erstelleBlock(false, $data['name'] . $addLink, $text3); $body .= '</body></html>'; // speichert die Knotendaten im Verzeichnis des Aufrufs file_put_contents(dirname(__FILE__) . '/path/' . $elem . '/' . substr($file, 0, strlen($file) - 5) . '.html', $body); if (!file_exists($mdFileResult) && file_exists($mdFile)) { $parser = new \Michelf\MarkdownExtra(); $input = umlaute(file_get_contents($mdFile)); $my_html = $parser->transform($input); file_put_contents($mdFileResult, '<link rel="stylesheet" href="github-markdown.css" type="text/css"><span class="markdown-body">' . $my_html . '</span>'); //@unlink($mdFile);