Example #1
0
use Silex\Application;
require_once __DIR__ . '/../app/controllers/UsersController.class.php';
require_once __DIR__ . '/../app/models/UserModel.class.php';
require_once __DIR__ . '/../Utils.class.php';
require_once __DIR__ . '/../app/models/ResourceModel.class.php';
require_once __DIR__ . '/../app/controllers/ResourcesController.class.php';
require_once __DIR__ . '/../app/models/BuildingModel.class.php';
require_once __DIR__ . '/../app/controllers/BuildingsController.class.php';
require_once __DIR__ . '/../app/models/LanternModel.class.php';
require_once __DIR__ . '/../app/controllers/LanternsController.class.php';
require_once __DIR__ . '/../app/models/GiftModel.class.php';
require_once __DIR__ . '/../app/controllers/GiftsController.class.php';
$basePath = '/v1';
$UsersController = new UsersController();
$ResourcesController = new ResourcesController();
$BuildingsController = new BuildingsController();
$LanternsController = new LanternsController();
$GiftsController = new GiftsController();
$UserModel = new UserModel();
$ResourceModel = new ResourceModel();
$BuildingModel = new BuildingModel();
$LanternModel = new LanternModel();
$GiftModel = new GiftModel();
/*
 * Main path
 */
$app->get('/', function (Request $request) use($app, $UsersController) {
    return $app->redirect('doc/index.html');
});
/*
 * Users
 public static function isValidPosition($x, $y, $userId)
 {
     $buildingsSettings = BuildingsController::getSettings();
     //pour le debug
     $sql = "SELECT id\n\t\t\t\tFROM building_users\n\t\t\t\tWHERE user_id = " . $userId . "\n\t\t\t\t\tAND x = " . $x . "\n\t\t\t\t\tAND y = " . $y;
     $result = $GLOBALS['app']['db']->fetchAll($sql);
     if (count($result) != 0) {
         return false;
     }
     $lanterns = LanternsController::getLanterns($userId);
     foreach ($lanterns as $lantern) {
         if (sqrt(pow($lantern[x] - $x, 2) + pow($lantern[y] - $y, 2)) < $buildingsSettings["lanterns"]["action_radius"]) {
             return true;
         }
     }
     return false;
 }
 /**
  * Converti les bonus en gold
  * @param bonusCount
  * @param paradeSettings
  */
 private function convertBonusToGold($bonusCount, $paradeSettings, $userId)
 {
     $paradeSettings = file_get_contents(__DIR__ . "./../../../assets/json/paradeSettings.json", FILE_USE_INCLUDE_PATH);
     $paradeSettings = json_decode($paradeSettings, true);
     $buildingsSettings = BuildingsController::getSettings();
     $sql = "SELECT lvl FROM building_city_hall WHERE user_id = '" . $userId . "'";
     $result = $GLOBALS['app']['db']->fetchAll($sql);
     $mainBuildingLevel = $result[0]["lvl"];
     $goldPerBonus = $paradeSettings['goldPerBonus'] + $paradeSettings['goldPerBonus'] * ($paradeSettings['goldMultiplierByMainBuilding'] * $mainBuildingLevel);
     $goldIncremented = $paradeSettings['goldIncremented'] + $paradeSettings['goldIncremented'] * ($paradeSettings['goldMultiplierByMainBuilding'] * $mainBuildingLevel);
     $gold = $goldPerBonus * $bonusCount;
     $goldIncrementedTotal = 0;
     for ($i = 0; $i < $bonusCount; $i++) {
         $goldIncrementedTotal = ($i + 1) * $goldIncremented;
     }
     $sql = "SELECT lvl FROM building_pyrotechnician WHERE user_id = '" . $userId . "'";
     $result = $GLOBALS['app']['db']->fetchAll($sql);
     foreach ($result as $buildingPyrotechnician) {
         $gold += $buildingsSettings['pyrotechnician'][$buildingPyrotechnician['lvl']]['production_per_parade'];
     }
     return $gold + $goldIncrementedTotal;
 }