Chromium latauslinkin generoija

bitfox 15.02.12 21:40

Hakee uusimmat tiedot käännetystä Chromium-selaimesta, tekee siitä lataussivun ja näyttää muutokset, jotka parsitaan xml-muotoisesta muutoslokista.

 Tekstiversio  Arvo: 0 (0 ääntä)  Äänestä: +  -
<html>
<body>

<?php

//Yhteinen osa linkkiä kaikille paketeille.
$commonpart = "http://commondatastorage.googleapis.com/chromium-browser-continuous/";

//Aputaulukko, jonne sujautellaan tietoja talteen.
$version = array(
        'win'           =>      $commonpart."Win/LAST_CHANGE",
        'linux'         =>      $commonpart."Linux/LAST_CHANGE",
        'win_link'      =>      FALSE,
        'linux_link'    =>      FALSE,
        'win_changefeed' =>     FALSE,
        'linux_changefeed' =>   FALSE);

// Avataan putki tiedostosijaintiin.
$fp_win = fopen($version['win'], 'r');
$fp_linux = fopen($version['linux'], 'r');

// Luetaan tiedostosijainnissa oleva rivi ja pyöräytetään se kokonaisluvuksi. Tässä jopa pieni virheentarkistus.
$version['win'] = intval(fgets($fp_win));
$version['linux'] = intval(fgets($fp_linux));

//Luodaan linkki stringi haetuista tiedoista
$version['win_link'] = $commonpart."Win/".$version['win']."/chrome-win32.zip";
$version['linux_link'] = $commonpart."Linux/".$version['linux']."/chrome-linux.zip";

// Suljetaan tiedostokahvat
fclose($fp_win);
fclose($fp_linux);

// Parsitaan syötteen URL
$feedURL = $commonpart."Linux/".$version['linux']."/changelog.xml";
$feedURLwin = $commonpart."Win/".$version['win']."/changelog.xml";

// Ladataan syötteet ja laitetaan ne muuttujiin.
$winxml = simplexml_load_file($feedURLwin);
$linxml = simplexml_load_file($feedURL);
?>

<h1>Download Chromium Ver. 0.1</h1>
<p>Links are automatically formatted to point to the newest Chromium web browser zip-file.</p>
<p><a href="<?php echo $version['win_link']; ?>">Windows versio</a> (Latest build number: <?php echo $version['win']; ?>)</p>
<p><a href="<?php echo $version['linux_link']; ?>">Linux versio</a> (Latest build number: <?php echo $version['linux']; ?>)</p>
<h2>Changelog</h2>
<p>
<?php
echo "<h3>Windows</h3>";
// Tulostetaan muutoslokista vain halutut tiedot
foreach( $winxml->log->logentry as $item ){
        echo "<p><strong>".$item->attributes().":</strong> ".$item->msg."</p>";
}
echo "<h3>Linux</h3>";

foreach( $linxml->log->logentry as $item ){
        echo "<p><strong>".$item->attributes().":</strong> ".$item->msg."</p>";
}

// Haetaan senhetkinen osoite lähdekoodin näyttöä varten.
$url = parse_url($_SERVER['REQUEST_URI']);

// Parsitaan query-osio, jos on isomman sivun osakokonaisuus.
$url_params = explode("&",$url['query']);
?>
</p>
<div><em>(c) Juha Viitanen 2012
<?php

// Jos muuttujaa ei ole asetettu, luodaan linkki, jossa lukee lähdekoodin näyttö
if(!isset($_GET["showsource"])) {
        if(count($url_params) == 1 && $url_params[0] != FALSE)
                $delim = "&";
        else
                $delim = "?";
        echo "<a href=\"".$_SERVER['REQUEST_URI'].$delim."showsource#source\">Show source code</a>";
}
// Jos on jo asetettu, luodaan paluulinkki.
else if(isset($_GET["showsource"])){
        if(count($url_params) <= 1)
                $delim = "&";
        else
                $delim = "?";
               
        if($url_params[0] == "showsource"){
                $redirect = "";
                $delim = "";
                }
        else
                $redirect = $url_params[0];
        echo "<a href=\"".$url['path'].$delim.$redirect."\">Hide source code</a>";
}
?>
</em>
</div>

</body>
</html>
<?php
if(isset($_GET["showsource"])) {
        echo "<a name=\"source\"></a>";
        show_source(__FILE__);
}
?>
 

bitfox 21:42 15.2.12 
Tässä testiskripti.
http://www.juhaviitanen.com/chrome.php

Ja tässä sama skripti osana sivukokonaisuutta.
http://www.juhaviitanen.com/index.php?sivu=chrome

Piti vähän virkistää muistia taulukoista ja simple_xml_parserista ja samalla tuli virkistettyä vähän muutakin.