From 66ea050da7757fc7dad4c378a6b74354ec1d607c Mon Sep 17 00:00:00 2001 From: Cameron Ball Date: Fri, 28 Nov 2014 11:29:45 +0800 Subject: [PATCH] Expose download and mirror links. --- Controllers/SimfileController.php | 9 +++++---- Domain/VOs/FileMirror.php | 9 ++++++++- Domain/VOs/IFileMirror.php | 1 + config/DataMaps.php | 3 ++- 4 files changed, 16 insertions(+), 6 deletions(-) diff --git a/Controllers/SimfileController.php b/Controllers/SimfileController.php index d73527d..bff9689 100644 --- a/Controllers/SimfileController.php +++ b/Controllers/SimfileController.php @@ -77,7 +77,7 @@ class SimfileController implements IDivineController { foreach($pack->getFile()->getMirrors() as $mirror) { - $packMirrors = $mirror->getUri(); + $packMirrors[] = array('source' => $mirror->getSource(), 'uri' => $mirror->getUri()); } } @@ -142,7 +142,7 @@ class SimfileController implements IDivineController //XXX: Direct instantiation of FileMirror bad? if($match && $match['confidence'] > 90) { - $file->addMirror(new \Domain\VOs\FileMirror($match['href'])); + $file->addMirror(new \Domain\VOs\FileMirror($match['href'], 'Stepmania Online')); } } @@ -167,7 +167,7 @@ class SimfileController implements IDivineController } } - return array( + return array( 'title' => $simfile->getTitle(), 'artist' => $simfile->getArtist()->getName(), 'steps' => array( @@ -177,7 +177,8 @@ class SimfileController implements IDivineController 'bgChanges' => $simfile->hasBgChanges() ? 'Yes' : 'No', 'fgChanges' => $simfile->hasFgChanges() ? 'Yes' : 'No', 'bpmChanges' => $simfile->hasBPMChanges() ? 'Yes' : 'No', - 'banner' => $simfile->getBanner() ? 'files/banner/' . $simfile->getBanner()->getHash() : 'files/banner/default' + 'banner' => $simfile->getBanner() ? 'files/banner/' . $simfile->getBanner()->getHash() : 'files/banner/default', + 'download' => $simfile->getSimfile() ? 'files/simfile/' . $simfile->getSimfile()->getHash() : null ); } } diff --git a/Domain/VOs/FileMirror.php b/Domain/VOs/FileMirror.php index 6e991f0..edf285b 100644 --- a/Domain/VOs/FileMirror.php +++ b/Domain/VOs/FileMirror.php @@ -7,15 +7,22 @@ use Domain\VOs\IFileMirror; class FileMirror implements IFileMirror { private $_uri; + private $_source; - public function __construct($uri) + public function __construct($uri, $source) { $this->_uri = $uri; + $this->_source = $source; } public function getUri() { return $this->_uri; } + + public function getSource() + { + return $this->_source; + } } diff --git a/Domain/VOs/IFileMirror.php b/Domain/VOs/IFileMirror.php index 3892be4..62a17bd 100644 --- a/Domain/VOs/IFileMirror.php +++ b/Domain/VOs/IFileMirror.php @@ -5,4 +5,5 @@ namespace Domain\VOs; interface IFileMirror { public function getUri(); + public function getSource(); } \ No newline at end of file diff --git a/config/DataMaps.php b/config/DataMaps.php index 358ccc6..e9a4a7d 100644 --- a/config/DataMaps.php +++ b/config/DataMaps.php @@ -146,7 +146,8 @@ return [ 'class' => 'Domain\VOs\FileMirror', 'table' => 'mirrors', 'maps' => [ - 'uri' => DataAccess\Varchar('uri') + 'uri' => DataAccess\Varchar('uri'), + 'source' => DataAccess\Varchar('source') ] ] ]; -- 2.11.0