<?php 
if (!isset($adminindex)){ 
    die("Abort." . __FILE__); 
} 
$sHtml = ''; 
 
/* 
$sHtml .= "<h3>Work in progress</h3>file: " . __FILE__ . "<p>Update feature is disabled here so far. It would destroy a beta installation.</p>"; 
if (!strpos($_SERVER["SERVER_NAME"], "axel-hahn.de")){ 
    echo $sHtml; 
    return true; 
} 
 *  
 */ 
 
require_once __DIR__ . '/../../classes/ahwi-installer.class.php'; 
$sApproot=dirname(dirname(__DIR__)); 
// $sApproot=dirname(dirname(__DIR__)).'/test-update'; 
 
 
$sZipfile = getTempdir() . '/__pimpapachestat-latest.zip'; 
$sTargetPath = $sApproot; 
 
$sLatestUrl=(stripos($aEnv["project"]["version"], "beta"))  
        ? $aEnv["links"]["update"]['downloadbeta']['url'] 
        : $aEnv["links"]["update"]['download']['url'] 
        ; 
 
$oInstaller=new ahwi(array( 
    'product'=>'dummy', 
    'source'=>$sLatestUrl, 
    'installdir'=>$sApproot, 
    'tmpzip'=>$sZipfile, 
    'checks'=>array( 
        'phpversion'=>'5.3', 
        'phpextensions'=>array('curl') 
    ), 
)); 
 
if (!array_key_exists('doinstall', $_GET)) { 
    // ------------------------------------------------------------ 
    // step 1: welcome 
    // ------------------------------------------------------------ 
    $sUpdateInfo=checkUpdate(true); 
    $sHtml .= '<h4 id="h3' . md5('update') . '">'. $aLangTxt["lblUpdate"] . '</h4>' 
            . '<div class="subh3"><br>' 
            . (hasNewVersion($sUpdateInfo) 
                ? $aLangTxt['lblUpdateNewerVerionAvailable'].'<br>' 
                : $aLangTxt['lblUpdateNoNewerVerionAvailable'].'<br>' 
                ) 
            . '<br>' 
            . sprintf($aLangTxt["lblUpdateHints"], $sLatestUrl) 
            . sprintf($aLangTxt['lblUpdateInstalldir'], $oInstaller->getInstalldir()) 
            . '</div>' 
            . '<a href="' . getNewQs(array('doinstall' => 'download')) . '"' 
            . ' class="btn btn-default"' 
            . '>' . $aLangTxt["lblUpdateContinue"] . '</a>' 
            ; 
     
} else { 
    switch ($_GET['doinstall']) { 
         
        // ------------------------------------------------------------ 
        // step 2: download  
        // ------------------------------------------------------------ 
        case 'download': 
            $sHtml .= '<h4 id="h3' . md5('update') . '">'. $aLangTxt["lblUpdate"] . '</h4>' 
                    . '<div class="subh3">'; 
 
            if (file_exists($sZipfile)) { 
                unlink($sZipfile); 
            } 
             
            ob_start(); 
            $bDownload=$oInstaller->download(false); 
            $sHtml.= str_replace("\n", "<br>", ob_get_contents()); 
            ob_end_clean(); 
            if($bDownload){ 
                $sHtml.='<br><strong>'.$aLangTxt['lblUpdateDonwloadDone'].'</strong><br><br>' 
                        . sprintf($aLangTxt['lblUpdateInstalldir'], $oInstaller->getInstalldir()) 
                        . '</div><a href="' . getNewQs(array('doinstall' => 'unzip')) . '"' 
                        . ' class="btn btn-default"' 
                        . '>' . $aLangTxt["lblUpdateContinue"] . '</a>'; 
            } else { 
                $sHtml.=$aLangTxt['lblUpdateDonwloadFailed'] . '</div>'; 
            } 
            break; 
             
        // ------------------------------------------------------------ 
        // step 3: unzip downloaded file 
        // ------------------------------------------------------------ 
        case 'unzip': 
            $sHtml .= '<h4 id="h3' . md5('update') . '">'. $aLangTxt["lblUpdate"] . '</h4>' 
                    . '<div class="subh3">'; 
            $sHtml.=sprintf($aLangTxt['lblUpdateUnzipFile'], $sZipfile, $sTargetPath) . '<br><br>'; 
             
            ob_start(); 
            $bInmstall=$oInstaller->install(); 
            $sHtml.= str_replace("\n", "<br>", ob_get_contents()).'<hr>'; 
            ob_end_clean(); 
             
            if ($bInmstall){ 
                $sHtml.=$aLangTxt['lblUpdateUnzipOK'] . '</div>' 
                    . '<a href="../?"' 
                        . ' class="btn btn-default"' 
                        . '>' . $aLangTxt["lblUpdateContinue"] . '</a>'; 
            } else { 
                $sHtml.=$aLangTxt['lblUpdateUnzipFailed'] . '</div>'; 
            } 
            break; 
        /* 
        case 'postunzip': 
            $content = '<h3 id="h4' . md5($sServer) . '">' . $aLangTxt["lblUpdate"] . '</h4>' 
                    . '<div class="h3">'; 
            $content.='</div>'; 
            break; 
        */ 
        default: 
            break; 
    } 
} 
 
echo $sHtml; 
 
 |