PHP Classes

File: views/admin/update.php

Recommend this page to a friend!
  Classes of Axel Hahn   Pimped Apache Status   views/admin/update.php   Download  
File: views/admin/update.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Pimped Apache Status
Display the requests handled by an Apache server
Author: By
Last change:
Date: 6 years ago
Size: 4,504 bytes
 

Contents

Class file image Download
<?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;