Expose download and mirror links.
authorCameron Ball <cameron@getapproved.com.au>
Fri, 28 Nov 2014 03:29:45 +0000 (11:29 +0800)
committerCameron Ball <cameron@getapproved.com.au>
Fri, 28 Nov 2014 03:29:45 +0000 (11:29 +0800)
Controllers/SimfileController.php
Domain/VOs/FileMirror.php
Domain/VOs/IFileMirror.php
config/DataMaps.php

index d73527d..bff9689 100644 (file)
@@ -77,7 +77,7 @@ class SimfileController implements IDivineController
             {\r
                 foreach($pack->getFile()->getMirrors() as $mirror)\r
                 {\r
-                    $packMirrors = $mirror->getUri();\r
+                    $packMirrors[] = array('source' => $mirror->getSource(), 'uri' => $mirror->getUri());\r
                 }\r
             }\r
             \r
@@ -142,7 +142,7 @@ class SimfileController implements IDivineController
         //XXX: Direct instantiation of FileMirror bad?\r
         if($match && $match['confidence'] > 90)\r
         {\r
-            $file->addMirror(new \Domain\VOs\FileMirror($match['href']));\r
+            $file->addMirror(new \Domain\VOs\FileMirror($match['href'], 'Stepmania Online'));\r
         }\r
     }\r
     \r
@@ -167,7 +167,7 @@ class SimfileController implements IDivineController
             }\r
         }\r
 \r
-        return array(\r
+        return array(            \r
             'title' => $simfile->getTitle(),\r
             'artist' => $simfile->getArtist()->getName(),\r
             'steps' => array(\r
@@ -177,7 +177,8 @@ class SimfileController implements IDivineController
             'bgChanges' => $simfile->hasBgChanges() ? 'Yes' : 'No',\r
             'fgChanges' => $simfile->hasFgChanges() ? 'Yes' : 'No',\r
             'bpmChanges' => $simfile->hasBPMChanges() ? 'Yes' : 'No',\r
-            'banner' => $simfile->getBanner() ? 'files/banner/' . $simfile->getBanner()->getHash() : 'files/banner/default'\r
+            'banner' => $simfile->getBanner() ? 'files/banner/' . $simfile->getBanner()->getHash() : 'files/banner/default',\r
+            'download' => $simfile->getSimfile() ?  'files/simfile/' . $simfile->getSimfile()->getHash() : null\r
         );\r
     }\r
 }\r
index 6e991f0..edf285b 100644 (file)
@@ -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;
+    }
 }
 
index 3892be4..62a17bd 100644 (file)
@@ -5,4 +5,5 @@ namespace Domain\VOs;
 interface IFileMirror
 {
     public function getUri();
+    public function getSource();
 }
\ No newline at end of file
index 358ccc6..e9a4a7d 100644 (file)
@@ -146,7 +146,8 @@ return [
         'class' => 'Domain\VOs\FileMirror',\r
         'table' => 'mirrors',\r
         'maps' => [\r
-            'uri' => DataAccess\Varchar('uri')\r
+            'uri' => DataAccess\Varchar('uri'),\r
+            'source' => DataAccess\Varchar('source')\r
         ]\r
     ]\r
 ];\r