[Scummvm-cvs-logs] scummvm-web master -> 5e9471afc556bc9794c77649a03cb6fac3ca3775
sev-
sev at scummvm.org
Wed Mar 2 00:03:58 CET 2016
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm-web' repo located at https://github.com/scummvm/scummvm-web .
Summary:
5e9471afc5 WEB: Overhaul of download urls.
Commit: 5e9471afc556bc9794c77649a03cb6fac3ca3775
https://github.com/scummvm/scummvm-web/commit/5e9471afc556bc9794c77649a03cb6fac3ca3775
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2016-03-02T00:03:47+01:00
Commit Message:
WEB: Overhaul of download urls.
Now by default we're looking into local FS.
There are 3 potential places for files: frs/scummvm/, frs/scummvm-tools/
and downloads/. They're now governed by 'type' attribute to url.
Changed paths:
data/downloads.xml
data/subprojects.xml
include/Objects/DSection.php
include/Objects/DSubSection.php
include/Objects/File.php
diff --git a/data/downloads.xml b/data/downloads.xml
index f70a627..68d84b3 100755
--- a/data/downloads.xml
+++ b/data/downloads.xml
@@ -5,6 +5,7 @@
{#downloadsXMLTitle#} <h:span style="color: rgb(170, 170, 170);">{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsXMLVersion#}</h:span>
</title>
<baseurl>/frs/scummvm/{$release}/</baseurl>
+ <baseturl>/frs/scummvm-tools/{$release_tools}/</baseturl>
<subsection>
<title>{'/\x7brelease\x7d/'|preg_replace:$release:#downloadsBinaries#}</title>
<anchor>stable</anchor>
@@ -18,14 +19,12 @@
<category_icon>catpl-windows.png</category_icon>
<url>scummvm-{$release}-win32.exe</url>
<name><h:b>Windows Installer</h:b></name>
- <extra_info>(7.2M Win32 .exe)</extra_info>
<user_agent>Windows</user_agent>
</file>
<file>
<category_icon>catpl-windows.png</category_icon>
<url>scummvm-{$release}-win32.zip</url>
<name>Windows zipfile</name>
- <extra_info>(10.4M .zip)</extra_info>
</file>
<!--
<file>
@@ -417,117 +416,100 @@
<entries>
<file>
<category_icon>catpl-windows.png</category_icon>
- <url>scummvm-tools-{$release_tools}-win32.exe</url>
+ <url type="tools">scummvm-tools-{$release_tools}-win32.exe</url>
<name>Tools - Windows Installer</name>
- <extra_info>(2.7M Win32 .exe)</extra_info>
</file>
<file>
<category_icon>catpl-windows.png</category_icon>
- <url>scummvm-tools-{$release_tools}-win32.zip</url>
+ <url type="tools">scummvm-tools-{$release_tools}-win32.zip</url>
<name>Tools - Windows zipfile</name>
- <extra_info>(4.6M Win32 .zip)</extra_info>
</file>
<!--
<file>
<category_icon>catpl-fedora.png</category_icon>
- <url>scummvm-tools-{$release_tools}-1_F11.i586.rpm</url>
+ <url type="tools">scummvm-tools-{$release_tools}-1_F11.i586.rpm</url>
<name>Tools - Fedora 11 and 12 i586 RPM</name>
- <extra_info>(731k .rpm)</extra_info>
</file>
<file>
<category_icon>catpl-fedora.png</category_icon>
- <url>scummvm-tools-{$release_tools}-1_F11.x86_64.rpm</url>
+ <url type="tools">scummvm-tools-{$release_tools}-1_F11.x86_64.rpm</url>
<name>Tools - Fedora 11 and 12 x86 64bit RPM</name>
- <extra_info>(782k .rpm)</extra_info>
</file>
<file>
<category_icon>catpl-macos-universal.png</category_icon>
- <url>scummvm-tools-{$release_tools}-macosx.tar.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}-macosx.tar.bz2</url>
<name>Tools - Mac OS X Universal binaries (10.3.9 and up)</name>
- <extra_info>(4.0M .tar.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-solaris.png</category_icon>
- <url>scummvm-tools-{$release_tools}-solaris8-sparc.pkg.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}-solaris8-sparc.pkg.bz2</url>
<name>Tools - Solaris 8 (Sparc)</name>
- <extra_info>(602k .pkg.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-solaris.png</category_icon>
- <url>scummvm-tools-{$release_tools}-solaris10-x86.pkg.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}-solaris10-x86.pkg.bz2</url>
<name>Tools - Solaris 10 (both IA32 and AMD64)</name>
- <extra_info>(5.3M .pkg.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-irix.png</category_icon>
- <url>scummvm-tools-{$release_tools}-irix-mips3.tar.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}-irix-mips3.tar.bz2</url>
<name>Tools - IRIX (6.5.*, n32, mips3) package</name>
- <extra_info>(2.0M .tar.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-irix.png</category_icon>
- <url>scummvm-tools-{$release_tools}-irix-mips4.tar.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}-irix-mips4.tar.bz2</url>
<name>Tools - IRIX (6.5.*, n32, mips4) package</name>
- <extra_info>(2.3M .tar.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-beos.png</category_icon>
- <url>scummvm-tools-{$release_tools}-beos.tgz</url>
+ <url type="tools">scummvm-tools-{$release_tools}-beos.tgz</url>
<name>Tools - BeOS</name>
- <extra_info>(1.4M .tgz)</extra_info>
</file>
-->
<file>
<category_icon>catpl-haiku.png</category_icon>
- <url>scummvm_tools-{$release_tools}-1_gcc2.hpkg</url>
+ <url type="tools">scummvm_tools-{$release_tools}-1_gcc2.hpkg</url>
<name>Tools - Haiku package</name>
- <extra_info>(2.5M .hpkg)</extra_info>
</file>
<file>
<category_icon>catpl-amiga.png</category_icon>
- <url>scummvm-tools-{$release_tools}-amigaos4.lha</url>
+ <url type="tools">scummvm-tools-{$release_tools}-amigaos4.lha</url>
<name>Tools - AmigaOS 4</name>
- <extra_info>(6.3M .lha)</extra_info>
</file>
<file>
<category_icon>catpl-freemint.png</category_icon>
- <url>scummvm-tools-{$release_tools}-atari.tar.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}-atari.tar.bz2</url>
<name>Tools - Atari/FreeMiNT package (68020 and up)</name>
- <extra_info>(1.6M .tar.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-cpp.png</category_icon>
- <url>scummvm-tools-{$release_tools}.tar.bz2</url>
+ <url type="tools">scummvm-tools-{$release_tools}.tar.bz2</url>
<name>Tools - Source .tar.bz2</name>
- <extra_info>(954k .tar.bz2)</extra_info>
</file>
<file>
<category_icon>catpl-cpp.png</category_icon>
- <url>scummvm-tools-{$release_tools}.tar.gz</url>
+ <url type="tools">scummvm-tools-{$release_tools}.tar.gz</url>
<name>Tools - Source .tar.gz</name>
- <extra_info>(1.0M .tar.gz)</extra_info>
</file>
<file>
<category_icon>catpl-cpp.png</category_icon>
- <url>scummvm-tools-{$release_tools}.zip</url>
+ <url type="tools">scummvm-tools-{$release_tools}.zip</url>
<name>Tools - Source .zip</name>
- <extra_info>(1.3M .zip)</extra_info>
</file>
<!--
<file>
<category_icon>catpl-cpp.png</category_icon>
- <url>scummvm-tools-{$release_tools}-1.src.rpm</url>
+ <url type="tools">scummvm-tools-{$release_tools}-1.src.rpm</url>
<name>Tools - Source RPM</name>
- <extra_info>(1.3M .rpm)</extra_info>
</file>
-->
</entries>
@@ -763,14 +745,14 @@
<entries>
<file>
<category_icon>catpl-windows.png</category_icon>
- <url local_file="true">scummvm-win32.exe</url>
+ <url extra_info="true" type="downloads">scummvm-win32.exe</url>
<name>Win32 ScummVM Daily Snapshot</name>
<type>daily</type>
<extra_info>Provided by ScummVM Team member Travis 'Kirben' Howell, updated several times daily</extra_info>
</file>
<file>
<category_icon>catpl-windows.png</category_icon>
- <url local_file="true">scummvm-tools-win32.exe</url>
+ <url extra_info="true" type="downloads">scummvm-tools-win32.exe</url>
<name>Win32 ScummVM Tools Daily Snapshot</name>
<type>daily</type>
<extra_info>Provided by ScummVM Team member Travis 'Kirben' Howell, updated several times daily</extra_info>
@@ -778,28 +760,28 @@
<!--
<file>
<category_icon>catpl-debian.png</category_icon>
- <url local_file="true">scummvm_debian_i386.deb</url>
+ <url extra_info="true" type="downloads">scummvm_debian_i386.deb</url>
<name>Debian i386 ScummVM Daily Snapshot</name>
<type>daily</type>
<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
</file>
<file>
<category_icon>catpl-debian.png</category_icon>
- <url local_file="true">scummvm_debian_amd64.deb</url>
+ <url extra_info="true" type="downloads">scummvm_debian_amd64.deb</url>
<name>Debian x86_64 ScummVM Daily Snapshot</name>
<type>daily</type>
<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
</file>
<file>
<category_icon>catpl-ubuntu.png</category_icon>
- <url local_file="true">scummvm_ubuntu_i386.deb</url>
+ <url extra_info="true" type="downloads">scummvm_ubuntu_i386.deb</url>
<name>Ubuntu i386 ScummVM Daily Snapshot</name>
<type>daily</type>
<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
</file>
<file>
<category_icon>catpl-ubuntu.png</category_icon>
- <url local_file="true">scummvm_ubuntu_amd64.deb</url>
+ <url extra_info="true" type="downloads">scummvm_ubuntu_amd64.deb</url>
<name>Ubuntu x86_64 ScummVM Daily Snapshot</name>
<type>daily</type>
<extra_info>Provided by ScummVM Team member Pawel 'aquadran' Kolodziejski</extra_info>
diff --git a/data/subprojects.xml b/data/subprojects.xml
index 59ad9b3..48ec684 100644
--- a/data/subprojects.xml
+++ b/data/subprojects.xml
@@ -16,7 +16,7 @@
<entries>
<file>
<category_icon>catpl-windows.png</category_icon>
- <url local_file="true">scummex-win32.exe</url>
+ <url extra_info="true" type="downloads">scummex-win32.exe</url>
<name>Windows</name>
<type>daily</type>
</file>
@@ -39,37 +39,37 @@
<entries>
<file>
<category_icon>catpl-windows.png</category_icon>
- <url local_file="true">residualwin32.exe</url>
+ <url extra_info="true" type="downloads">residualwin32.exe</url>
<name>Windows</name>
<type>svn</type>
</file>
<file>
<category_icon>catpl-macos.png</category_icon>
- <url local_file="true">Residual-MacOSX-Intel.dmg</url>
+ <url extra_info="true" type="downloads">Residual-MacOSX-Intel.dmg</url>
<name>Mac OS X Intel</name>
<type>svn</type>
</file>
<file>
<category_icon>catpl-debian.png</category_icon>
- <url local_file="true">residual_debian_i386.deb</url>
+ <url extra_info="true" type="downloads">residual_debian_i386.deb</url>
<name>Debian i386</name>
<type>svn</type>
</file>
<file>
<category_icon>catpl-debian.png</category_icon>
- <url local_file="true">residual_debian_amd64.deb</url>
+ <url extra_info="true" type="downloads">residual_debian_amd64.deb</url>
<name>Debian x86_64</name>
<type>svn</type>
</file>
<file>
<category_icon>catpl-ubuntu.png</category_icon>
- <url local_file="true">residual_ubuntu_i386.deb</url>
+ <url extra_info="true" type="downloads">residual_ubuntu_i386.deb</url>
<name>Ubuntu i386</name>
<type>svn</type>
</file>
<file>
<category_icon>catpl-ubuntu.png</category_icon>
- <url local_file="true">residual_ubuntu_amd64.deb</url>
+ <url extra_info="true" type="downloads">residual_ubuntu_amd64.deb</url>
<name>Ubuntu x86_64</name>
<type>svn</type>
</file>
diff --git a/include/Objects/DSection.php b/include/Objects/DSection.php
index a3cd5bd..9317e2a 100644
--- a/include/Objects/DSection.php
+++ b/include/Objects/DSection.php
@@ -15,11 +15,12 @@ class DSection extends BasicObject{
$this->_title = $data['title'];
$this->_anchor = $data['anchor'];
$this->_baseurl = $data['baseurl'];
+ $this->_baseturl = $data['baseturl'];
$this->_subsections = array();
parent::toArray($data['subsection']);
foreach ($data['subsection'] as $key => $value) {
- $this->_subsections[] = new DSubSection($value, $this->_baseurl);
+ $this->_subsections[] = new DSubSection($value, $this->_baseurl, $this->_baseturl);
}
}
diff --git a/include/Objects/DSubSection.php b/include/Objects/DSubSection.php
index 678e680..654fc43 100644
--- a/include/Objects/DSubSection.php
+++ b/include/Objects/DSubSection.php
@@ -14,7 +14,7 @@ class DSubSection extends BasicObject {
private $_links;
/* DSubSection constructor. */
- public function __construct($data, $baseurl) {
+ public function __construct($data, $baseurl, $baseturl) {
$this->_title = $data['title'];
$this->_anchor = $data['anchor'];
$this->_notes = $data['notes'];
@@ -27,7 +27,7 @@ class DSubSection extends BasicObject {
parent::toArray($item);
if ($type == 'file') {
foreach ($item as $file) {
- $this->_items[] = new File($file, $baseurl);
+ $this->_items[] = new File($file, $baseurl, $baseturl);
}
} elseif ($type == 'link') {
foreach ($item as $link) {
@@ -56,7 +56,7 @@ class DSubSection extends BasicObject {
public function getFooter() {
return $this->_footer;
}
-
+
/* Get the list of files. */
public function getFiles() {
return $this->_files;
@@ -66,7 +66,7 @@ class DSubSection extends BasicObject {
public function getLinks() {
return $this->_links;
}
-
+
/* Get the list of items. */
public function getItems() {
return $this->_items;
diff --git a/include/Objects/File.php b/include/Objects/File.php
index b054f0f..2449e1a 100644
--- a/include/Objects/File.php
+++ b/include/Objects/File.php
@@ -10,43 +10,53 @@ class File extends BasicObject {
private $_type;
private $_extra_info;
private $_user_agent;
-
- public function __construct($data, $baseurl=null) {
+
+ public function __construct($data, $baseurl=null, $baseturl=null) {
$this->_category_icon = $data['category_icon'];
$this->_name = $data['name'];
$this->_extra_info = $data['extra_info'];
$this->_type = strtolower($data['type']);
$this->_user_agent = isset($data["user_agent"]) ? $data["user_agent"] : "";
-
+
+ $fname = "";
+
/* If it's not an array, we didn't get any attributes. */
if (!is_array($data['url'])) {
- $this->_url = $data['url'];
- /* Prefix with baseurl if needed. */
- if (!preg_match('/^((https?)|(ftp)):\/\//', $this->_url)) {
- $this->_url = $baseurl . $this->_url;
- }
- /* We got attributes, check them. */
+ $url = $data['url'];
+ $attributes = array();
} else {
- $attributes = $data['url']['@attributes'];
$url = $data['url'][0];
- $this->_url = $url;
- /**
- * Get the filesize/last modified information and put it in
- * $this->_extra_info.
- */
- if ($attributes['local_file'] == 'true') {
- if (!is_file($url) || is_readable($url)) {
- $url = DIR_DOWNLOADS . "/{$url}";
- $this->_url = $url;
- }
- if (is_file($url) && is_readable($url)) {
- $this->_extra_info = array();
- $this->_extra_info['size'] = round((@filesize($url) / 1024));
- $this->_extra_info['ext'] = substr($url, (strrpos($url, '.')+1));
- $this->_extra_info['date'] = date('F j, Y, g:i a', @filemtime($url));
- if (!is_null($data['extra_info'])) {
- $this->_extra_info['info'] = $data['extra_info'];
- }
+ $attributes = $data['url']['@attributes'];
+ }
+
+ if (!preg_match('/^((https?)|(ftp)):\/\//', $url)) {
+ if ($attributes['type'] == 'downloads') {
+ $url = DIR_DOWNLOADS . "/{$url}";
+ } else if ($attributes['type'] == 'tools') {
+ $url = $baseturl . $url;
+ } else {
+ $url = $baseurl . $url;
+ }
+
+ $fname = "." . $url;
+
+ if (is_file($fname) && is_readable($fname)) {
+ $this->_extra_info = array();
+ $this->_extra_info['size'] = round((@filesize($fname) / 1024));
+ $this->_extra_info['ext'] = substr($url, (strrpos($url, '.')+1));
+ }
+ }
+ $this->_url = $url;
+
+ /**
+ * Get the filesize/last modified information and put it in
+ * $this->_extra_info.
+ */
+ if ($attributes['extra_info'] == 'true') {
+ if (is_file($fname) && is_readable($fname)) {
+ $this->_extra_info['date'] = date('F j, Y, g:i a', @filemtime($fname));
+ if (!is_null($data['extra_info'])) {
+ $this->_extra_info['info'] = $data['extra_info'];
}
}
}
@@ -71,12 +81,12 @@ class File extends BasicObject {
public function getType() {
return $this->_type;
}
-
+
/* Get the extra information. */
public function getExtraInfo() {
return $this->_extra_info;
}
-
+
/* Get the user-agent. */
public function getUserAgent() {
return $this->_user_agent;
More information about the Scummvm-git-logs
mailing list