'; print '

Unter dieser Domain ist bereits eine Weblication® Version installiert!

'; print '

Sie können dieses Setup nur ausführen, wenn noch kein /weblication Verzeichnis existiert.

'; print ''; exit; } else if(isset($_GET['action']) && $_GET['action'] == 'installwrc'){ $url = 'https://downloadserver.weblication.de/index.php?action=downloadSystem&releaseVersion=17&releaseType=beta&host='.$_SERVER['HTTP_HOST']; $setupArchiveStr = wGetUrl($url); //print ""; $pathArchive = $_SERVER['DOCUMENT_ROOT'].'/wSetup_'.rand(1000, 9999).'.wrc'; wWriteFile($pathArchive, $setupArchiveStr); $options = array(); $options['compress'] = "gz"; if(wUnpackArchiveWrc($pathArchive, $_SERVER['DOCUMENT_ROOT'], $options)){ if (file_exists($pathArchive)){ unlink($pathArchive); } if (file_exists($_SERVER['DOCUMENT_ROOT'].'/wSetup.php')){ unlink($_SERVER['DOCUMENT_ROOT'].'/wSetup.php'); } if (file_exists($_SERVER['DOCUMENT_ROOT'].'/wSetup_core.php')){ unlink($_SERVER['DOCUMENT_ROOT'].'/wSetup_core.php'); } if (file_exists($_SERVER['DOCUMENT_ROOT'].'/wSetup_grid.php')){ unlink($_SERVER['DOCUMENT_ROOT'].'/wSetup_grid.php'); } if (file_exists($_SERVER['DOCUMENT_ROOT'].'/wSetup_org.php')){ unlink($_SERVER['DOCUMENT_ROOT'].'/wSetup_org.php'); } if($product == 'grid'){ print ""; } else if($product == "core"){ $licenseSource = ''; $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/core'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ $licenseSource = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/core/'.$fileTmp; continue; } } if($licenseSource != ''){ $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ if (file_exists($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp)){ unlink($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp); } $licenseDest = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.preg_replace("/.*\//", "", $licenseSource); copy($licenseSource, $licenseDest); } } } print ""; } else if($product == "agencyboard"){ $licenseSource = ''; $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/agencyboard'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ $licenseSource = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/agencyboard/'.$fileTmp; continue; } } if($licenseSource != ''){ $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ if (file_exists($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp)){ unlink($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp); } $licenseDest = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.preg_replace("/.*\//", "", $licenseSource); copy($licenseSource, $licenseDest); } } } print ""; } else if($product == 'send'){ $licenseSource = ''; $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/send'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ $licenseSource = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/send/'.$fileTmp; continue; } } if($licenseSource != ''){ $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ if (file_exists($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp)){ unlink($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp); } $licenseDest = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.preg_replace("/.*\//", "", $licenseSource); copy($licenseSource, $licenseDest); } } } installSend(); } else if($product == "cloud"){ $licenseSource = ''; $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/cloud'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ $licenseSource = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/cloud/'.$fileTmp; continue; } } if($licenseSource != ''){ $filesTmp = getFilesDir($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license'); foreach($filesTmp as $fileTmp){ if(preg_match("/\.wlc$/", $fileTmp)){ if (file_exists($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp)){ unlink($_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.$fileTmp); } $licenseDest = $_SERVER['DOCUMENT_ROOT'].'/weblication/grid5/default/license/'.preg_replace("/.*\//", "", $licenseSource); copy($licenseSource, $licenseDest); } } } print ""; } } exit; } ?>
Weblication® GRID
Auswählen
Weblication® CORE
Auswählen
Weblication® Agenturboard
Plattform zum zentralen Updaten Ihrer Kundenprojekte
Auswählen
Weblication® Cloud
Auswählen
Weblication® SEND
Daten verschlüsselt senden
Auswählen
Die Installation wird durchgeführt.
Anschließend werden Sie zur Anmeldemaske weitergeleitet.
Diverse Voraussetzungen sind nicht erfüllt. Ggf. werden die bemängelten Module/Funktionen nicht benötigt, was Sie über die Systemvoraussetzungen prüfen sollten. Eine Installation ist daher unter Vorbehalt möglich.
Installieren
Eine Installation ist aus folgenden Gründen nicht möglich:
"; $bodyStr = ""; # Pruefung auf Betriebssystem if(getOS() == 'win' || getOS() == 'linux' || getOS() == 'freebsd'){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "os_not_supported "; print "
Das Betriebssystem wird nicht unterstützt! (Server-Software: ".$_SERVER["SERVER_SOFTWARE"].")
"; } # 19.12.2014: Webserver Litespeed wird inoffiziell vom Setup unterstützt # Pruefung auf Webserver if(preg_match("/(Apache|httpd|LiteSpeed)/i", $_SERVER["SERVER_SOFTWARE"])){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "webserver_not_supported "; print "
Der Webserver wird nicht unterstützt! (Server-Software: ".$_SERVER["SERVER_SOFTWARE"].")
"; } # Pruefung auf PHP Arbeitsspeicher (wegen php.ini Einstellung bei 1und1/Ionos (memory_limit: -1) bei Bedarf Prüfung rausnehmen) if($_GET['memoryLimitLike'] == 64 || ini_get('memory_limit') == "" || preg_replace("/[^\d]+/", "", ini_get('memory_limit')) >= 40 || preg_match("/[G]$/", ini_get('memory_limit')) == 1 ){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "memory "; print "
Es wird nicht genügend Arbeitsspeicher zur Verfügung gestellt!
Erhöhen Sie den Arbeitsspeicher ('memory_limit') von ".ini_get('memory_limit')." auf mindestens 40M (besser 64M). ".(ini_get('memory_limit') == "-1" ? '
Beim Provider IONOS wird aus internen Gründen meist ein memory_limit von -1 gesetzt, was Sie hier (durch Aushebeln der Abfrage) umgehen können.': '')."
"; } # Pruefung auf cURL if(function_exists("curl_init")){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_curl "; print "
cURL ist nicht verfügbar.
"; } # Pruefung auf Systembefehle if(!preg_match('/[,\s]exec[,\s+]/', ','.ini_get('disable_functions').',')){ } else{ $GLOBALS['isAbleToInstallButWithRestrictions'] = 1; $bodyStr .= "no_exec "; print "
Systembefehle nicht verfügbar.
"; } # Pruefung auf PHP JSON if(function_exists("json_encode")){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_json "; print "
PHP JSON ist nicht verfügbar.
"; } # Pruefung auf GD Lib v.2 if(function_exists("gd_info")){ $info = gd_info(); if(substr_count($info["GD Version"], "2")){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_gd2 "; print "
GD-Modul 2.x nicht verfügbar.
"; } } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_gd2 "; print "
GD-Modul 2.x nicht verfügbar.
"; } # Pruefung auf ImageMagick $checkImageMagick = false; // auf true setzen, wenn auf ImageMagick geprueft werden soll $pathConvert = ''; $status['ImageMagick'] = false; if(getOS() != 'win' && $checkImageMagick == true){ ob_start(); exec("type convert"); $pathConvert = ob_get_contents(); ob_end_clean(); if($pathConvert == ''){ //system('which convert', $pathConvert); ob_start(); system("type convert"); $pathConvert = ob_get_contents(); ob_end_clean(); } if($pathConvert == ''){ //system('which convert', $pathConvert); ob_start(); exec("which convert"); $pathConvert = ob_get_contents(); ob_end_clean(); } if($pathConvert == ''){ ob_start(); system('which convert', $pathConvert); $pathConvert = ob_get_contents(); ob_end_clean(); } if(preg_match('/\//', $pathConvert)){ $status['ImageMagickPath'] = preg_replace('/convert\s+is\s*/', '', $pathConvert); //print "ImageMagick Pfad: ".$status['ImageMagickPath'];exit; } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_imagemagick "; print "
ImageMagick nicht verfügbar.
"; } } # Pruefung auf PHP-Version if(wCheckPhp()){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "php_version "; print "
Die PHP-Version entspricht nicht den Voraussetzungen: ".phpversion().".
"; } # Pruefung auf DOM XML if(wCheckDOMDocument()){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "extension_domxml "; print "
Extension DOM XML aktiviert
"; } # Pruefung auf XSLT if(wCheckXSLT()){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_xslt "; print "
Keine XSLT-Unterstützung vorhanden
"; } # Pruefung auf UTF-8 Unterstuetzung if(extension_loaded('mbstring')){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_mbstring "; print "
Keine UTF-8-Unterstützung vorhanden (Modul mbstring)
"; } # Pruefung auf Zlib if(extension_loaded('zlib')){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_zlib "; print "
Keine ZLib-Unterstützung vorhanden
"; } # Pruefung auf PDO if(wCheckPDO()){ } else{ $GLOBALS['isAbleToInstall'] = 0; $bodyStr .= "no_pdo "; print "
Keine PDO-Unterstützung vorhanden
"; } # Pruefung auf Berechtigungen if(wCheckPermissions()){ } else{ } print ''; if($GLOBALS['isAbleToInstallButWithRestrictions'] == 1 && $GLOBALS['isAbleToInstall'] != 0){ print ''; } else if($GLOBALS['isAbleToInstall'] == 1){ print ''; } else{ print ''; } ?>
Zurück zur Auswahl
=') == 1){ return true; } else{ return false; } } function wCheckDOMDocument(){ if(in_array('DOMDocument', get_declared_classes())){ return true; } return false; } function wCheckXSLT(){ if(in_array('XSLTProcessor', get_declared_classes())){ return true; } return false; } function wCheckPDO(){ if(in_array('PDO', get_declared_classes())){ return true; } return false; } function wCheckPermissions(){ $protocolSystemcheck = ''."\n"; $pathWriteFileRoot = $_SERVER['DOCUMENT_ROOT'].'/wTest.txt'; $stringWriteFileRoot = 'test'; if(wWriteFile($pathWriteFileRoot, $stringWriteFileRoot)){ $resultWriteFileRoot = '1'; unlink($pathWriteFileRoot); } else{ print "
Datei anlegen fehlgeschlagen
"; $resultWriteFileRoot = '0'; $GLOBALS['isAbleToInstall'] = 0; } $protocolSystemcheck .= ' '."\n"; $pathCreateDirRoot = $_SERVER['DOCUMENT_ROOT'].'/wTest'.rand(1000, 9999); if(wCreateDir($pathCreateDirRoot, 0777)){ $resultCreateDirRoot = '1'; $pathWriteFileCreatedDir = $pathCreateDirRoot.'/wTest.php'; $stringWriteFileCreatedDir = 'wTest'; if(wWriteFile($pathWriteFileCreatedDir, $stringWriteFileCreatedDir)){ $resultWriteFileCreatedDir = '1'; unlink($pathWriteFileCreatedDir); } else{ print "
Datei in angelegtes Verzeichnis anlegen fehlgeschlagen
"; $resultWriteFileCreatedDir = '0'; $GLOBALS['isAbleToInstall'] = 0; } rmdir($pathCreateDirRoot); } else{ print "
Verzeichnis anlegen fehlgeschlagen
"; $resultCreateDirRoot = '0'; $GLOBALS['isAbleToInstall'] = 0; } $protocolSystemcheck .= ' '."\n"; $protocolSystemcheck .= ' '."\n"; $urlCheckHTTPExtern = 'https://download.weblication.de/wSetup/checkHTTP.php'; $resultStrCheckHTTPExtern = wGetUrl($urlCheckHTTPExtern); if($resultStrCheckHTTPExtern == "OK"){ $resultCheckHTTPExtern = '1'; } else{ print "
HTTP-Verbindung zu externem Server fehlgeschlagen
"; $resultCheckHTTPExtern = '0'; $GLOBALS['isAbleToInstall'] = 0; } $protocolSystemcheck .= ' '."\n"; $protocolSystemcheck .= ''; return true; } function wCreateDir($path, $permissions){ return mkdir($path, $permissions); } function wWriteFile($path, $string){ $fh = @fopen($path, 'w'); if(is_resource($fh)){ @fwrite($fh, $string); clearstatcache(); fclose($fh); return true; } else{ return false; } } function wReadFile($path){ $fh = @fopen($path, 'r'); if($fh){ $string = @fread($fh, filesize($path)); fclose($fh); return $string; } else{ return ""; } } function getFilesDir($path){ $filesDir = array(); $dh = @opendir($path); if($dh){ while(($fileName = readdir($dh)) !== false){ if(!($fileName == '.' || $fileName == '..') && is_file($path.'/'.$fileName)){ array_push($filesDir, $fileName); } } closedir($dh); } return $filesDir; } function wGetUrl($url){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 16); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 6); $result = curl_exec($ch); curl_close ($ch); return $result; } function wUnzip($path, $dest){ $cmd = "unzip -d $dest -o $path"; unset($arrayRet); exec($cmd, $arrayRet, $retValue); if($retValue != 0){ print "unzip error:CMD=\"$cmd\". $php_errormsg. "; return false; } else{ return true; } } function getOS($mode = "s"){ $os = php_uname($mode); if(preg_match("/^Linux/i", $os)){ $os = "linux"; } else if(preg_match("/^Windows/i", $os)){ $os = "win"; } else if(preg_match("/^FreeBSD/i", $os)){ $os = "freebsd"; } else if(preg_match("/^HP\-UX/i", $os)){ $os = "hp-ux"; } else{ $os = "linux"; } return $os; } function wUnpackArchiveWrc($fileWrc = NULL, $destPath = NULL, $options = NULL, $debug = FALSE) { $fh = fopen ($fileWrc, "r"); $seek = ftell($fh); $firstLine = fgets($fh, 4096); if(!preg_match("/\xFF\xD2\x23\x93WRC\x99\s+.*\n/", $firstLine)){ $errStr = "Isn't WRC file \"$fileWrc\"... $php_errormsg. "; return FALSE; } $buffer = ""; while (!feof($fh)){ $buffer .= fgets($fh, 4096); if(preg_match("/##__ARCHIVE_HEADER_END__##\n\n/", $buffer)){ break; } } $seek = ftell($fh); $header = unserialize($buffer); unset($buffer); while (!feof($fh)){ $buffer .= fgets($fh, 4096); if(preg_match("/".$header['dirsEnd']."\n/", $buffer)){ break; } } $dirsStr = preg_replace("/".$header['dirsBegin']."(.*)".$header['dirsEnd']."\n/s", "$1", $buffer); $dirsStrUncompressed = uncompressStr($dirsStr, $options); $dirs = unserialize($dirsStrUncompressed); unset($dirsStr); unset($dirsStrUncompressed); $dir = ""; foreach($dirs as $dir){ mkdir($destPath.$dir, 0755, 1); } unset($dir); unset($dirs); unset($dirStr); unset($buffer); $memoryLimit = preg_replace("/(\d+).*/", "$1", ini_get('memory_limit')) * 1000000; while (!feof($fh)){ $buffer .= fgets($fh, 4096); if(preg_match("/".$header['chunkEnd']."\n/", $buffer)){ $buffer = preg_replace("/".$header['chunkBegin']."(.*)".$header['chunkEnd']."\n/s", "$1", $buffer); $uncompressedStr = uncompressStr($buffer, $options); unset($buffer); preg_match_all("/".$header['fileBegin']."(.*)".$header['fileEnd']."/", $uncompressedStr, $matches); unset($uncompressedStr); if(count($matches[1]) > 0){ foreach($matches[1] as $match){ preg_match("/(.*?):(.*)/s", $match, $treffer); $path = $treffer[1]; $content = $treffer[2]; unset($treffer); $content = base64_decode($content); wWriteFile($destPath.$path, $content); unset($content); unset($match); unset($content); } unset($matches); } } } $seek = ftell($fh); fclose ($fh); return TRUE; } function uncompressStr($compressedStr = NULL, $options = FALSE, $debug = FALSE) { if($options['compress'] == "zip"){ $errStr = "Method ".$options['compress']." not implemented... $php_errormsg. "; return FALSE; } if($options['compress'] == "gz"){ $uncompressedStr = gzinflate($compressedStr); } if($uncompressedStr == FALSE){ $errStr = "Can't decompress string... $php_errormsg. "; $return = FALSE; } unset($compressedStr); return $uncompressedStr; } function siteURLProtocol(){ $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://"; return $protocol; } function installSend( $options = '' ) { if( file_exists( $_SERVER['DOCUMENT_ROOT'] . '/send' ) ) { print 'SEND ist bereits installiert'; exit; } exec( 'tar --version', $tarExec ); if( count( $tarExec ) !== 0 ) { $tar = true; } else { $tar = false; } exec( 'unzip -v', $unzipExec ); if( count( $unzipExec ) !== 0 ) { $zip = true; } else { $zip = false; } $downloadFileType = 'tgz'; if( $tar !== true ) { $downloadFileType = 'zip'; } $downloadURL = 'https://downloadsend.weblication.de/downloadserver/dist/'; $downloadDIR = 'distribution/'; $downloadSCRIPT = 'checkVersion/'; $installACTION = 'install'; $installDIR = '/send/'; $installTYPE = 'beta'; $installHOST = $_SERVER['HTTP_HOST']; $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, $downloadURL . $downloadDIR . $downloadSCRIPT ); curl_setopt( $curl, CURLOPT_POST, 1 ); curl_setopt( $curl, CURLOPT_POSTFIELDS, "action=checkVersion&type=" . $installTYPE ); curl_setopt( $curl, CURLOPT_HEADER, 0 ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 ); $latestVersion = curl_exec( $curl ); curl_close( $curl ); $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, $downloadURL . $downloadDIR . $downloadSCRIPT ); curl_setopt( $curl, CURLOPT_POST, 1 ); curl_setopt( $curl, CURLOPT_POSTFIELDS, "action=downloadVersion&type=" . $installTYPE . "&fileType=" . $downloadFileType . "&installAction=" . $installACTION . "&installHOST=" . $installHOST ); curl_setopt( $curl, CURLOPT_HEADER, 0 ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 ); $downloadPath = curl_exec( $curl ); curl_close( $curl ); $curl = curl_init(); curl_setopt( $curl, CURLOPT_URL, $downloadURL . $downloadPath ); curl_setopt( $curl, CURLOPT_POST, 0 ); curl_setopt( $curl, CURLOPT_HEADER, 0 ); curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 ); $installFileContent = curl_exec( $curl ); curl_close( $curl ); $filename = basename( $downloadPath ); $tmpDir = $_SERVER['DOCUMENT_ROOT'] . '/send/tmp_install/'; $installDir = $_SERVER['DOCUMENT_ROOT'] . $installDIR; if( !is_dir( $tmpDir ) ) { @mkdir( $tmpDir, 0755, true ); @mkdir( $installDir, 0755, true ); } file_put_contents( $tmpDir . $filename, $installFileContent ); if( $tar === true ) { $unpackCMD = 'tar -xzf ' . $tmpDir . $filename . ' -C ' . $installDir; } else { $unpackCMD = 'unzip -qq ' . $tmpDir . $filename . ' -d ' . $installDir; } system( $unpackCMD ); unlink( $tmpDir . $filename ); include_once($installDir . 'application/config/bootstrap.php'); try { $UpdaterFactory = new \wSend\factories\wSendUpdaterFactory(); $Updater = $UpdaterFactory->getUpdater(); $Updater->afterInstall( ['tmpDir' => $tmpDir, 'createRedirect' => true, 'initAdmin' => true, 'latestVersion' => $latestVersion] ); } catch ( \wSend\core\exceptions\wSendException $e ) { print "Es ist ein Fehler aufgetreten"; } print ""; } ?>