improved mxinfosearcher
This commit is contained in:
@ -3,24 +3,35 @@ namespace ManiaControl\Maps;
|
||||
|
||||
use ManiaControl\ManiaControl;
|
||||
|
||||
/**
|
||||
* Mania Exchange Info Searcher Class
|
||||
*
|
||||
* @author steeffeen & kremsy
|
||||
*/
|
||||
class ManiaExchangeInfoSearcher {
|
||||
/**
|
||||
* Constants
|
||||
*/
|
||||
const SEARCH_ORDER_NONE = -1;
|
||||
const SEARCH_ORDER_TRACK_NAME = 0;
|
||||
const SEARCH_ORDER_AUTHOR = 1;
|
||||
const SEARCH_ORDER_UPLOADED_NEWEST = 2;
|
||||
const SEARCH_ORDER_UPLOADED_OLDEST = 3;
|
||||
const SEARCH_ORDER_UPDATED_NEWEST = 4;
|
||||
const SEARCH_ORDER_UPDATED_OLDEST = 5;
|
||||
//TODO finish that list
|
||||
/*
|
||||
* [19:16] <TGYoshi> 6 => "Activity (Latest) [19:16] <TGYoshi> 7 => "Activity (Oldest) [19:16] <TGYoshi> 8 => "Awards (Most) [19:16] <TGYoshi> 9 => "Awards (Least) [19:16] <TGYoshi> 10 => "Comments (Most) [19:16] <TGYoshi> 11 => "Comments (Least) [19:16] <TGYoshi> 12 => "Difficulty (Easiest) [19:16] <TGYoshi> 13 => "Difficulty (Hardest) [19:16] <TGYoshi> 14 => "Length (Shortest) [19:16] <TGYoshi> 15 => "Length (Longest)
|
||||
*/
|
||||
const SEARCH_ORDER_NONE = -1;
|
||||
const SEARCH_ORDER_TRACK_NAME = 0;
|
||||
const SEARCH_ORDER_AUTHOR = 1;
|
||||
const SEARCH_ORDER_UPLOADED_NEWEST = 2;
|
||||
const SEARCH_ORDER_UPLOADED_OLDEST = 3;
|
||||
const SEARCH_ORDER_UPDATED_NEWEST = 4;
|
||||
const SEARCH_ORDER_UPDATED_OLDEST = 5;
|
||||
const SEARCH_ORDER_ACTIVITY_LATEST = 6;
|
||||
const SEARCH_ORDER_ACTIVITY_OLDEST = 7;
|
||||
const SEARCH_ORDER_AWARDS_MOST = 8;
|
||||
const SEARCH_ORDER_AWARDS_LEAST = 9;
|
||||
const SEARCH_ORDER_COMMENTS_MOST = 10;
|
||||
const SEARCH_ORDER_COMMENTS_LEAST = 11;
|
||||
const SEARCH_ORDER_DIFFICULTY_EASIEST = 12;
|
||||
const SEARCH_ORDER_DIFFICULTY_HARDEST = 13;
|
||||
const SEARCH_ORDER_LENGHT_SHORTEST = 14;
|
||||
const SEARCH_ORDER_LENGHT_LONGEST = 15;
|
||||
|
||||
/**
|
||||
* Private Properties
|
||||
* Private Propertieswc
|
||||
*/
|
||||
private $maniaControl = null;
|
||||
|
||||
@ -33,7 +44,17 @@ class ManiaExchangeInfoSearcher {
|
||||
$this->maniaControl = $maniaControl;
|
||||
}
|
||||
|
||||
public function getMaps($maxMapsReturned = 100, $searchOrder = self::SEARCH_ORDER_UPLOADED_NEWEST, $env = '') {
|
||||
/**
|
||||
* Gets a Maplist from Mania Exchange
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $author
|
||||
* @param string $env
|
||||
* @param int $maxMapsReturned
|
||||
* @param int $searchOrder
|
||||
* @return array|null
|
||||
*/
|
||||
public function getMaps($name = '', $author = '', $env = '', $maxMapsReturned = 100, $searchOrder = self::SEARCH_ORDER_UPDATED_NEWEST) {
|
||||
//Get Title Id
|
||||
$titleId = $this->maniaControl->server->titleId;
|
||||
$titlePrefix = strtolower(substr($titleId, 0, 2));
|
||||
@ -47,22 +68,23 @@ class ManiaExchangeInfoSearcher {
|
||||
|
||||
// compile search URL
|
||||
$url = 'http://' . $titlePrefix . '.mania-exchange.com/tracksearch?api=on';
|
||||
/* if ($name != '')
|
||||
$url .= '&trackname=' . $name;
|
||||
if ($author != '')
|
||||
$url .= '&author=' . $author;*/
|
||||
|
||||
if($env != '') {
|
||||
$url .= '&environments=' . $this->getEnvironment($env);
|
||||
}
|
||||
if($name != '') {
|
||||
$url .= '&trackname=' . $name;
|
||||
}
|
||||
if($author != '') {
|
||||
$url .= '&author=' . $author;
|
||||
}
|
||||
|
||||
$url .= '&priord=' . $searchOrder;
|
||||
$url .= '&limit=' . $maxMapsReturned; //TODO
|
||||
$url .= '&limit=' . $maxMapsReturned;
|
||||
$url .= '&mtype=' . $mapTypeArray[0];
|
||||
|
||||
// $mapInfo = FileUtil::loadFile($url, "application/json"); //TODO use mp fileutil
|
||||
$mapInfo = $this->get_file($url);
|
||||
var_dump($url);
|
||||
|
||||
//TODO errors
|
||||
/*if ($file === false) {
|
||||
@ -173,7 +195,6 @@ class MXMapInfo {
|
||||
} else {
|
||||
$this->id = $mx->MapID;
|
||||
}
|
||||
// $this->id = ($this->prefix == 'tm') ? $mx->TrackID : $mx->MapID;
|
||||
|
||||
$this->name = $mx->Name;
|
||||
|
||||
@ -230,8 +251,6 @@ class MXMapInfo {
|
||||
} else {
|
||||
$this->replayurl = '';
|
||||
}
|
||||
|
||||
//var_dump($this->pageurl);
|
||||
}
|
||||
} // MXInfo
|
||||
} // class MXInfo
|
||||
|
Reference in New Issue
Block a user