Exemplo n.º 1
0
 public static function parse($xmlpath)
 {
     libxml_use_internal_errors(true);
     $xml = simplexml_load_file($xmlpath, 'SimpleXMLElement', LIBXML_NOCDATA);
     foreach (libxml_get_errors() as $error) {
         ErrorHelper::logError('XML Error on line ' . $error->line . ' column ' . $error->column . ': ' . $error->message);
     }
     if (!$xml) {
         return null;
     }
     $data = XMLHelper::xml2array($xml);
     XMLHelper::collapse($data, 'socials', 'social');
     XMLHelper::collapse($data, 'histories', 'history');
     XMLHelper::collapse($data, 'trailers', 'trailer');
     XMLHelper::collapse($data, 'awards', 'award');
     XMLHelper::collapse($data, 'quotes', 'quote');
     XMLHelper::collapse($data, 'additionals', 'additional');
     XMLHelper::collapse($data, 'credits', 'credit');
     XMLHelper::collapse($data, 'contacts', 'contact');
     XMLHelper::collapse($data, 'platforms', 'platform');
     XMLHelper::collapse($data, 'features', 'feature');
     XMLHelper::collapse($data, 'prices', 'price');
     // transforms the pricing data to be indexed by the optional platform-tag
     if (isset($data['prices'])) {
         $priceByPlatform = array();
         foreach ($data['prices'] as $price) {
             if (!isset($price['platform'])) {
                 $price['platform'] = '';
             }
             $priceByPlatform[$price['platform']][] = $price;
         }
         $data['prices'] = $priceByPlatform;
     }
     return $data;
 }
Exemplo n.º 2
0
 public function __construct($directory)
 {
     parent::__construct($directory, XMLHelper::parse('data/' . $directory . '/data.xml'));
     if ($this->data == null) {
         ErrorHelper::logError('Failed to load game data in ' . $directory);
     }
     $this->directory = $directory;
 }
Exemplo n.º 3
0
 public function __construct()
 {
     parent::__construct('', XMLHelper::parse('data/data.xml'));
     $this->isDeveloper = true;
     if ($this->data == null) {
         ErrorHelper::logError('Failed to load developer data');
         return;
     }
     $gamedirs = FileHelper::getGames('data');
     foreach ($gamedirs as $gamedir) {
         $this->games[$gamedir] = new Game($gamedir);
     }
     // sorts the games according to the sort_order property
     // if no value is set, zero is assumed
     uasort($this->games, 'Developer::_sort');
 }
Exemplo n.º 4
0
 public function game($directory)
 {
     if (!isset($this->developer->games[$directory])) {
         ErrorHelper::logError('Could not find game data in directory or incorrect BASE_PATH set in config.php');
     }
     $game = $this->developer->games[$directory];
     if (isset($game->promoter['product'])) {
         PromoterHelper::getData($game);
     }
     ViewHelper::$title = 'presskit for ' . $game->title . ' by ' . $this->developer->title;
     ViewHelper::$header = $game->title;
     ViewHelper::render('gamefacts', array('data' => $game, 'developer' => $this->developer));
     ViewHelper::render('historydescription', array('data' => $game));
     ViewHelper::render('images', array('data' => $game));
     ViewHelper::render('trailers', array('trailers' => $game->trailers, 'directory' => $directory));
     ViewHelper::render('awardspress', array('data' => $game));
     ViewHelper::render('presscopy', array('data' => $game));
     ViewHelper::render('about', array('data' => $this->developer));
     ViewHelper::render('teamcontact', array('data' => $game, 'developer' => $this->developer));
 }
Exemplo n.º 5
0
<?php

ini_set('display_errors', 'On');
error_reporting(-1);
define('VERSION', '0.1.0');
require 'controllers/presskit.php';
require 'helpers/errorhelper.php';
require 'helpers/updatehelper.php';
// convienience function to set constants if not defined, used in config files
function set($const, $value)
{
    defined($const) || define($const, $value);
}
// loads config file
if (!file_exists('config.php')) {
    ErrorHelper::logError('Missing config.php, make a copy of config-defaults.php to get started.');
} else {
    require 'config.php';
}
// load defaults
require 'config-defaults.php';
// detects if mod_rewrite is available (or if force flag is set)
ViewHelper::$mod_rewrite = FORCE_MOD_REWRITE == 'true' || getenv('HTTP_MOD_REWRITE') == 'On';
$requestUrl = $_SERVER['REQUEST_URI'];
// support for presskit legacy urls, also used when mod_rewrite is unavailable
if (isset($_GET['p']) && $_GET['p'] != '') {
    $requestUrl = $_GET['p'];
} else {
    // strip GET variables from URL
    if (($pos = strpos($requestUrl, '?')) !== false) {
        $requestUrl = substr($requestUrl, 0, $pos);