Esempio n. 1
0
 public function routeIndex()
 {
     $request = $this->getService()->getRequest();
     $langs = Translator::getInstance()->getLangs();
     foreach ($request->getLanguages() as $language) {
         $lang = strtolower(substr($language, 0, 2));
         if (in_array($lang, $langs)) {
             return $this->getService()->returnResponseRedirect('./' . $lang . '/');
         }
     }
     return $this->getService()->returnResponseRedirect('./en/');
 }
Esempio n. 2
0
 /**
  * 
  * @param string $accesToken
  * @return GwAccount
  */
 public static function getInstance($accesToken)
 {
     $lang = Translator::getInstance()->getLang();
     $client = SimpleClient::getInstance($lang);
     $account = new self($client, $accesToken);
     if (!$account->hasPermission(self::PERMISSION_ACCOUNT)) {
         throw new MissingPermissionException(self::PERMISSION_ACCOUNT);
     }
     if (!$account->hasPermission(self::PERMISSION_CHARACTERS)) {
         throw new MissingPermissionException(self::PERMISSION_CHARACTERS);
     }
     return $account;
 }
Esempio n. 3
0
 /**
  * 
  * @param string $key
  * @param array $data
  * @return string
  */
 public function trans($key, $data = [])
 {
     return Translator::getInstance()->trans($key, $data);
 }
Esempio n. 4
0
 /**
  * 
  * @param string $key
  * @return string
  */
 protected function trans($key)
 {
     return Translator::getInstance()->trans($key);
 }
<?php

/*
 * This file is part of the Arnapou FileStore package.
 *
 * (c) Arnaud Buathier <*****@*****.**>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
include_once __DIR__ . '/../vendor/autoload.php';
Arnapou\GW2Tools\Service::getInstance();
use Arnapou\GW2Api\Core\RequestManager;
use Arnapou\GW2Api\Model\Character;
use Arnapou\GW2Tools\User;
use Arnapou\GW2Tools\SimpleClient;
use Arnapou\GW2Tools\Translator;
/*
 * FORCE CACHE CHECKS
 */
foreach (Translator::getInstance()->getLangs() as $lang) {
    echo date('Y-m-d H:i:s') . ' ----- ' . $lang . " -----\n";
    $simpleClient = SimpleClient::getInstance($lang, false);
    $simpleClient->getClientV2()->getRequestManager()->getEventListener()->bind(RequestManager::onRequest, function ($event) {
        echo date('Y-m-d H:i:s') . ' ' . round($event['time'], 3) . "s " . $event['uri'] . " \n";
    });
    foreach (['v2_colors', 'v2_currencies', 'v2_files', 'v2_items', 'v2_maps', 'v2_materials', 'v2_quaggans', 'v2_recipes', 'v2_skins', 'v2_specializations', 'v2_traits', 'v2_worlds'] as $api) {
        $ids = $simpleClient->{$api}();
        $simpleClient->{$api}($ids);
    }
}
Esempio n. 6
0
 /**
  * 
  * @return array
  */
 public function getSkinItems($skin_ids)
 {
     if (empty($skin_ids)) {
         return [];
     }
     $cache = MongoCache::getInstance();
     $lang = Translator::getInstance()->getLang();
     $collection = $cache->getCache()->getMongoCollection($lang . '_items');
     $objects = [];
     foreach ($collection->find(['value.default_skin' => ['$in' => $skin_ids]]) as $doc) {
         if (!isset($objects[$doc['value']['default_skin']])) {
             $objects[$doc['value']['default_skin']] = $doc['value']['id'];
         }
     }
     $client = self::getInstance($lang);
     $client->v2_items(array_values($objects));
     foreach ($objects as $skin_id => $item_id) {
         $objects[$skin_id] = new Item($client, $item_id);
     }
     return $objects;
 }
Esempio n. 7
0
 /**
  * 
  * @return TwigEnvironment
  */
 public function getTwig()
 {
     if (!isset($this->twigFactory)) {
         $this->getConnection();
         $factory = TwigFactory::create($this);
         $factory->addPath(__DIR__ . '/twig');
         $factory->addFilter(new \Twig_SimpleFilter('image', function ($url) {
             return image($url);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('amount', function ($value) {
             return amount($value);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('columns', function ($array, $n, $fill = true) {
             return chunk($array, ceil(count($array) / $n), $fill);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('chunk', function ($array, $n, $fill = true) {
             return chunk($array, $n, $fill);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('buffdescription', function ($item) {
             return buffdescription($item);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('consumableduration', function ($item) {
             return consumableduration($item);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('gameduration', function ($item) {
             return gameduration($item);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('datediff', function ($date) {
             return datediff($date);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('br2nl', function ($string) {
             return preg_replace('!<br(\\s*/)?>!si', "\n", $string);
         }));
         $factory->addFilter(new \Twig_SimpleFilter('gwlink', function ($item) {
             if ($item instanceof \Arnapou\GW2Api\Model\InventorySlot) {
                 return gwlink_inventoryslot($item);
             } elseif ($item instanceof \Arnapou\GW2Api\Model\Item) {
                 return gwlink_item($item);
             } elseif ($item instanceof \Arnapou\GW2Api\Model\Specialization) {
                 return gwlink_specialization($item);
             } elseif ($item instanceof \Arnapou\GW2Api\Model\SpecializationTrait) {
                 return gwlink_trait($item);
             } elseif ($item instanceof \Arnapou\GW2Api\Model\Skin) {
                 return gwlink_skin($item);
             }
             return '';
         }));
         $factory->addSimpleFilter('trans', function (\Twig_Environment $env, $context, $string, $params = [], $prefix = '') {
             if (isset($context['module'])) {
                 return $context['module']->trans($prefix . $string, $params);
             } else {
                 return Translator::getInstance()->trans($prefix . $string, $params);
             }
         });
         $factory->addSimpleFilter('transarray', function (\Twig_Environment $env, $context, $array, $params = [], $prefix = '') {
             if (isset($context['module'])) {
                 return array_map(function ($string) use($context, $prefix, $params) {
                     return $context['module']->trans($prefix . $string, $params);
                 }, $array);
             } else {
                 return array_map(function ($string) use($prefix, $params) {
                     return Translator::getInstance()->trans($prefix . $string, $params);
                 }, $array);
             }
         });
         $this->twigFactory = $factory;
     }
     return $this->twigFactory->getEnvironment();
 }