Пример #1
0
 /**
  * Enregistre un nouveau paris
  *
  * @return Response
  */
 public function store()
 {
     $user = User::getUserWithToken($_GET['token']);
     $input = Input::all();
     $input['user_id'] = $user->id;
     $validator = Validator::make($input, Bet::$rules, BaseController::$messages);
     if ($validator->fails()) {
         return Response::json(array('success' => false, 'payload' => array(), 'error' => $this->errorsArraytoString($validator->messages())), 400);
     }
     //On vérifie si la date du match n'est pas dépassé
     if (new DateTime() > new DateTime(Game::find($input['game_id'])->date)) {
         return Response::json(array('success' => false, 'payload' => array(), 'error' => "Le date du match est dépassé !"), 400);
     }
     $bet = Bet::whereRaw('user_id = ? && game_id = ?', array($input['user_id'], $input['game_id']))->first();
     //Si un paris sur le même match pour cet utilisateur existe, erreur envoyée.
     if ($bet) {
         return Response::json(array('success' => false, 'payload' => array(), 'error' => "Un paris existe déjà sur ce match !"), 400);
     }
     //On vérifie si la somme misé est disponible
     if ($input['points'] > $user->points) {
         return Response::json(array('success' => false, 'payload' => array(), 'error' => "Vous avez miser plus de points que vous en avez !"), 400);
     }
     $game = Game::find($input['game_id']);
     //On vérifie si le winner est bien une équipe du match
     if ($input['winner_id'] != $game->team1_id && $input['winner_id'] != $game->team2_id) {
         return Response::json(array('success' => false, 'payload' => array(), 'error' => "Veuillez mettre une équipe du match !"), 400);
     }
     $bet = Bet::create($input);
     Transaction::addTransaction($input['user_id'], $bet->id, $input['points'], 'bet');
     return Response::json(array('success' => true, 'payload' => $bet->toArray(), 'message' => 'Pari enregistré (' . $bet->points . ' points) sur : ' . $game->team1->name . ' (' . $bet->team1_goals . ') - (' . $bet->team2_goals . ') ' . $game->team2->name));
 }
Пример #2
0
 public function testGetViewWithoutProductsOnSale()
 {
     $game = Game::find(2);
     $slug = $game->slug;
     $name = $game->title;
     $response = $this->call('GET', "/game/{$slug}");
     $this->assertContains($game->title, $response->getContent());
     $this->assertContains("Sell my used {$name}", $response->getContent());
     $this->assertContains('Used games for sale (0)', $response->getContent());
 }
Пример #3
0
 public function checkUpdates()
 {
     $jsonList = array();
     App::uses('Game', 'Model');
     $GameModel = new Game();
     App::uses('RaidheadSource', 'Model/Datasource');
     $RaidHead = new RaidheadSource();
     $apiGames = $RaidHead->gets();
     $params = array();
     $params['recursive'] = -1;
     $params['fields'] = array('import_slug', 'import_modified');
     $params['conditions']['import_slug !='] = null;
     if ($games = $GameModel->find('all', $params)) {
         foreach ($games as $game) {
             if (!empty($apiGames[$game['Game']['import_slug']])) {
                 if ($apiGames[$game['Game']['import_slug']]['lastupdate'] > $game['Game']['import_modified']) {
                     $jsonList[] = $game['Game']['import_slug'];
                 }
             }
         }
     }
     return json_encode($jsonList);
 }
Пример #4
0
  		<?php 
            }
            ?>
  	<?php 
        }
        ?>
	<?php 
    }
} else {
    ?>
  <?php 
    //Populate array for view tournament table
    $allTournaments = Tournament::find('all', array('conditions' => array('eventID = ?', $_SESSION['event'])));
    ?>
  <?php 
    $allGames = Game::find('all');
    ?>
  <h2>Tournament Management</h2>
  <form action="/includes/modules/tournamentManagement/tournaments.php" class="form-horizontal" method="POST">
    <div class="form-group" id="tournamentNameInputDiv">
      <label for="tournamentName" class="col-sm-2 control-label">Name</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" id="tournamentName" name="tournamentName" placeholder="Tournament name" value="<?php 
    echo $_POST['tournamentName'];
    ?>
" required>
      </div>
    </div>
    <div class="form-group" id="gameInputDiv">
      <label for="game" class="col-sm-2 control-label">Game</label>
      <div class="col-sm-10">
 public static function destroy_no_redirect($gameid)
 {
     // Destroy both the game and its scores.
     $game = Game::find($gameid);
     $player_scores = $game->scores;
     foreach ($player_scores as $playername => $scores) {
         foreach ($scores as $score) {
             $score->destroy();
         }
     }
     $game->destroy();
 }
Пример #6
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update()
 {
     // Fetch all request data.
     $data = Input::only('timezone', 'games');
     // Build the validation constraint set.
     $rules = array('timezone' => array('regex:([0-9a-zA-Z /+-]+)'));
     // Create a new validator instance.
     $validator = Validator::make($data, $rules);
     if ($validator->passes()) {
         try {
             // Find the user using the user id
             $user = User::find(Sentry::getuser()->id);
             // Update the user details
             $user->timezone = Input::get('timezone');
             $user_games = $user->userGame()->get();
             $games = Input::get('games');
             foreach ($user_games as $user_game) {
                 if ($games && !in_array($user_game->id, $games)) {
                     $user->userGame($user_game)->detach();
                 } elseif ($games == false) {
                     $user->userGame($user_game)->detach();
                 }
             }
             if ($games) {
                 foreach ($games as $game) {
                     $game_attach = Game::find($game);
                     if (!$user->userGame()->where('game_id', '=', $game_attach->id)->first()) {
                         $user->userGame()->attach($game_attach);
                     }
                 }
             }
             // Update the user
             if ($user->save()) {
                 return Redirect::to('/user/edit')->with('global_success', 'Profile has been updated.');
             } else {
                 return Redirect::to('/user/edit')->with('global_error', 'We couldn\'t update your profile, pelase try again or contactu us if situation repeats.');
             }
         } catch (Cartalyst\Sentry\Users\UserExistsException $e) {
             echo 'User with this login already exists.';
         } catch (Cartalyst\Sentry\Users\UserNotFoundException $e) {
             echo 'User was not found.';
         }
     }
     return Redirect::to('/user/edit')->withInput()->withErrors($validator)->with('message', 'Validation Errors!');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int $id
  *
  * @return Response
  */
 public function update($id)
 {
     $rules = ['slot' => 'Integer', 'memory' => 'Integer|Min:128|Max:10240', 'status' => 'Required', 'ip' => 'Required', 'port' => 'Integer|Min:1024|Max:65534|Required', 'displayName' => '', 'user' => 'Required|Exists:users,id'];
     $v = Validator::make(Input::all(), $rules);
     if ($v->passes()) {
         $user = User::find(Input::get('user'));
         $game = Game::find(Input::get('game'));
         /** @var Gameserver $gameserver */
         $gameserver = Gameserver::findOrFail($id);
         $gameserver->fill(Input::all());
         /** @var GameserverIp $ipport */
         $ipport = $gameserver->ipport;
         if ($gameserver->ipport->ip->id != Input::get('ip')) {
             $ipport->ip()->associate(Ip::findOrFail(Input::get('ip')));
             $ipport->save();
         }
         if ($gameserver->ipport->port != Input::get('port')) {
             $ipport->port = Input::get('port');
             $ipport->save();
         }
         $gameserver->user()->associate($user);
         if ($gameserver->game->id != $game->id) {
             $gameserver->game()->associate($game);
         }
         $gameserver->save();
         return Redirect::action('GameserverController@index');
     } else {
         return Redirect::action('GameserverController@update', $id)->withErrors($v->getMessageBag());
     }
 }
Пример #8
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $event = ep\Event::find($id);
     // Fetch all request data.
     $data = Input::only('title', 'event_icon', 'lan', 'games', 'website', 'brackets', 'ticket_store', 'vod', 'start_date', 'finish_date', 'prizepool', 'location', 'about', 'tags', 'public_state', 'streams');
     // Build the validation constraint set.
     $rules = array('title' => array('required', 'min:3'), 'event_icon' => array('required', 'alpha_dash'), 'lan' => array('integer'), 'games' => array('required'), 'website' => array('url'), 'brackets' => array('url'), 'ticket_store' => array('url'), 'vod' => array('url'), 'start_date' => array('required', 'date', 'before:' . Input::get('finish_date')), 'finish_date' => array('required', 'date'), 'prizepool' => array('max:20'), 'location' => array('required_if:lan,true', 'max:25'), 'about' => array('max:21800'), 'public_state' => array('integer'), 'streams' => array('requiredOrArray', 'alpha_dashOrArray'));
     // Create a new validator instance.
     $validator = Validator::make($data, $rules);
     if ($validator->passes()) {
         $title = Input::get('title');
         if ($event->title !== $title) {
             $uniqid = str_shuffle(uniqid());
             $event->slug = Str::slug($title, '-') . '-' . $uniqid;
             $event->title = $title;
         }
         $event->event_icon = Input::get('event_icon');
         $event->website = Input::get('website');
         $event->brackets = Input::get('brackets');
         $event->ticket_store = Input::get('ticket_store');
         $event->vod = Input::get('vod');
         $event->start_date = new DateTime(Input::get('start_date'));
         $event->finish_date = new DateTime(Input::get('finish_date'));
         $event->prizepool = Input::get('prizepool');
         $event->about = Input::get('about');
         $event->tags = Input::get('tags');
         $event->lan = Input::get('lan') ? 1 : 0;
         if (Input::get('lan') == true) {
             $event->location = Input::get('location');
             $event->latitude = Input::get('latitude');
             $event->longitude = Input::get('longitude');
         } else {
             $event->location = 'Online';
             $event->latitude = '';
             $event->longitude = '';
         }
         $event->public_state = Input::get('public_state') ? 1 : 0;
         $event->save();
         $event_games = $event->eventGame()->get();
         $games = Input::get('games');
         foreach ($event_games as $event_game) {
             if (!in_array($event_game->id, $games)) {
                 $event->eventGame($event_game)->detach();
             }
         }
         foreach ($games as $game) {
             $game_attach = Game::find($game);
             if (!$event->eventGame()->where('game_id', '=', $game_attach->id)->first()) {
                 $event->eventGame()->attach($game_attach);
             }
         }
         $event_streams = $event->eventStream()->get();
         $stream_urls = Input::get('streams');
         foreach ($event_streams as $event_stream) {
             if (!in_array($event_stream->stream_url, $stream_urls)) {
                 $event->eventStream($event_stream)->detach();
             }
         }
         foreach ($stream_urls as $stream_url) {
             $stream_old = Stream::where('stream_url', '=', $stream_url)->first();
             if ($stream_old == false && $stream_url) {
                 $stream = new Stream();
                 $stream->stream_url = $stream_url;
                 $stream->save();
                 $stream->streamEvent()->attach($event);
             } else {
                 if (!$event->eventStream()->where('stream_id', '=', $stream_old->id)->first()) {
                     $stream_old->streamEvent()->attach($event);
                 }
             }
         }
         return Redirect::to('/')->with('global_success', 'Event submitted successfuly!');
     }
     return Redirect::to('/event/edit/' . $event->id)->withInput()->withErrors($validator)->with('message', 'Validation Errors!');
 }
Пример #9
0
 public function v14()
 {
     // Regenerate cache
     Cache::clear(false);
     /*
      * API
      */
     // Copy bridge secret key to API private key
     $bridge = json_decode($this->Setting->getOption('bridge'));
     if (!empty($bridge) && $bridge->enabled && !empty($bridge->secret)) {
         $api = array();
         $api['enabled'] = 0;
         $api['privateKey'] = $bridge->secret;
         $this->Setting->setOption('api', json_encode($api));
         // Disable bridge to make use users update their bridge plugin
         $bridgeSettings = array();
         $bridgeSettings['enabled'] = 0;
         $bridgeSettings['url'] = $bridge->url;
         $this->Setting->setOption('bridge', json_encode($bridgeSettings));
         $this->Session->setFlash(__('Bridge has been disabled ! Be sure to use an updated version of your bridge plugin for MushRaider 1.4. If you don\'t you\'re gonna have a bad time !'), 'flash_important', array(), 'important');
     }
     /*
      * Import
      */
     // Add absolute path to games's logo field to prepare import functionallity
     App::uses('Game', 'Model');
     $GameModel = new Game();
     $params = array();
     $params['recursive'] = -1;
     $params['fields'] = array('id', 'logo');
     if ($games = $GameModel->find('all', $params)) {
         foreach ($games as $game) {
             if (!empty($game['Game']['logo']) && strpos($game['Game']['logo'], '/files/') === false) {
                 $toUpdate = array();
                 $toUpdate['id'] = $game['Game']['id'];
                 $toUpdate['logo'] = '/files/logos/' . $game['Game']['logo'];
                 $GameModel->create();
                 $GameModel->save($toUpdate);
             }
         }
     }
     /*
      * Roles permissions
      */
     // Add roles permissions
     $rolesPermissions = array(array('title' => __('Full permissions'), 'alias' => 'full_permissions', 'description' => __('Like Chuck Norris, he can do anything. This overwrite every permissions')), array('title' => __('Limited admin access'), 'alias' => 'limited_admin', 'description' => __('Like Robin, he can do some things but not all (like driving the batmobile or change user role)')), array('title' => __('Can manage events'), 'alias' => 'manage_events', 'description' => __('Can create, edit and delete events. Can also manage the roster for each events')), array('title' => __('Can create templates'), 'alias' => 'create_templates', 'description' => __('Can create events templates')), array('title' => __('Can create reports'), 'alias' => 'create_reports', 'description' => __('Can create events reports')));
     App::uses('RolePermission', 'Model');
     $RolePermissionModel = new RolePermission();
     foreach ($rolesPermissions as $rolesPermission) {
         $RolePermissionModel->create();
         $RolePermissionModel->save($rolesPermission);
     }
     // Add new roles permissions to existing roles
     App::uses('Role', 'Model');
     $RoleModel = new Role();
     App::uses('RolePermissionRole', 'Model');
     $RolePermissionRoleModel = new RolePermissionRole();
     $RolePermissionRoleModel->__add(array('role_id' => $RoleModel->getIdByAlias('admin'), 'role_permission_id' => $RolePermissionModel->getIdByAlias('full_permissions')));
     $RolePermissionRoleModel->__add(array('role_id' => $RoleModel->getIdByAlias('officer'), 'role_permission_id' => $RolePermissionModel->getIdByAlias('limited_admin')));
     $RolePermissionRoleModel->__add(array('role_id' => $RoleModel->getIdByAlias('officer'), 'role_permission_id' => $RolePermissionModel->getIdByAlias('manage_events')));
     $RolePermissionRoleModel->__add(array('role_id' => $RoleModel->getIdByAlias('officer'), 'role_permission_id' => $RolePermissionModel->getIdByAlias('create_templates')));
     $RolePermissionRoleModel->__add(array('role_id' => $RoleModel->getIdByAlias('officer'), 'role_permission_id' => $RolePermissionModel->getIdByAlias('create_reports')));
 }
Пример #10
0
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $show = Show::find($id);
     $data = Input::only('title', 'show_icon', 'games', 'stream', 'people', 'vods', 'start_date', 'about', 'tags');
     // Build the validation constraint set.
     $rules = array('title' => array('required', 'min:3'), 'show_icon' => array('required', 'alpha_dash'), 'games' => array('required'), 'start_date' => array('required', 'date'), 'people' => array('required'), 'about' => array('max:21800'), 'stream' => array('alpha_dash'), 'vods' => array('max:21800'));
     // Create a new validator instance.
     $validator = Validator::make($data, $rules);
     if ($validator->passes()) {
         $title = Input::get('title');
         if ($show->title !== $title) {
             $uniqid = str_shuffle(uniqid());
             $show->slug = Str::slug($title, '-') . '-' . $uniqid;
             $show->title = $title;
         }
         $show->show_icon = Input::get('show_icon');
         $show->air_date = new DateTime(Input::get('start_date'));
         $show->people = Input::get('people');
         $show->about = Input::get('about');
         $show->tags = Input::get('tags');
         $show->vods = Input::get('vods');
         $show->save();
         $show_games = $show->showGame()->get();
         $games = Input::get('games');
         foreach ($show_games as $show_game) {
             if (!in_array($show_game->id, $games)) {
                 $show->showGame($show_game)->detach();
             }
         }
         foreach ($games as $game) {
             $game_attach = Game::find($game);
             if (!$show->showGame()->where('game_id', '=', $game_attach->id)->first()) {
                 $show->showGame()->attach($game_attach);
             }
         }
         $show_stream = $show->showStream()->first();
         $stream_url = trim(Input::get('stream'));
         if ($show_stream && $show_stream->stream_url !== $stream_url) {
             $show->showStream($show_stream)->detach();
         } elseif ($show_stream && $stream_url == false) {
             $show->showStream($show_stream)->detach();
         }
         if ($stream_url) {
             $stream_old = Stream::where('stream_url', '=', $stream_url)->first();
             if ($stream_old == false && $stream_url) {
                 $stream = new Stream();
                 $stream->stream_url = $stream_url;
                 $stream->save();
                 $stream->streamShow()->attach($show);
             } else {
                 if (!$show->showStream()->where('stream_id', '=', $stream_old->id)->first()) {
                     $stream_old->streamShow()->attach($show);
                 }
             }
         }
         return Redirect::to('/')->with('global_success', 'Show submitted successfuly!');
     }
     return Redirect::to('/show/edit/' . $show->id)->withInput()->withErrors($validator)->with('message', 'Validation Errors!');
 }
Пример #11
0
 /**
  * Show the form for editing the specified game.
  *
  * @param  int  $id
  * @return Response
  */
 public function edit($id)
 {
     $game = Game::find($id);
     return View::make('games.edit', compact('game'));
 }
Пример #12
0
 public static function edit($id)
 {
     $game = Game::find($id);
     View::make('game/edit.html', array('attributes' => $game));
 }
Пример #13
0
 /**
  * Renvoi un matche
  *
  * @return Response
  */
 public function show($id)
 {
     return Response::json(array('success' => true, 'payload' => Game::find($id)->toArray()));
 }
Пример #14
0
 private function sendStats()
 {
     $stats = array();
     // Website
     $stats['Website']['url'] = Router::url('/', true);
     $stats['Website']['version'] = Configure::read('mushraider.version');
     $stats['Website']['php'] = phpversion();
     $stats['Website']['lang'] = Configure::read('Settings.language');
     // Events
     App::uses('Event', 'Model');
     $EventModel = new Event();
     $params = array();
     $params['recursive'] = -1;
     $params['order'] = array('time_start ASC');
     if ($firstEvent = $EventModel->find('first', $params)) {
         $stats['Event']['first'] = $firstEvent['Event']['time_start'];
     } else {
         $stats['Event']['first'] = null;
     }
     $params['conditions']['time_start <='] = date('Y-m-d');
     $params['order'] = array('time_start DESC');
     if ($lastEvent = $EventModel->find('first', $params)) {
         $stats['Event']['last'] = $lastEvent['Event']['time_start'];
     } else {
         $stats['Event']['last'] = null;
     }
     $params = array();
     $params['recursive'] = -1;
     $params['conditions']['time_start <='] = date('Y-m-d');
     $countEvents = $EventModel->find('count', $params);
     $stats['Event']['total'] = $countEvents;
     // Reports
     App::uses('Report', 'Model');
     $ReportModel = new Report();
     $params = array();
     $params['recursive'] = -1;
     $countReports = $ReportModel->find('count', $params);
     $stats['Report']['total'] = $countReports;
     // Users
     App::uses('User', 'Model');
     $UserModel = new User();
     $params = array();
     $params['recursive'] = -1;
     $countUsers = $UserModel->find('count', $params);
     $stats['User']['total'] = $countUsers;
     // Characters
     App::uses('Character', 'Model');
     $CharacterModel = new Character();
     $params = array();
     $params['recursive'] = -1;
     $countCharacters = $CharacterModel->find('count', $params);
     $stats['Character']['total'] = $countCharacters;
     // Games
     App::uses('Game', 'Model');
     $GameModel = new Game();
     $params = array();
     $params['recursive'] = -1;
     if ($games = $GameModel->find('all', $params)) {
         foreach ($games as $game) {
             $stats['Game'][$game['Game']['slug']]['title'] = $game['Game']['title'];
             $stats['Game'][$game['Game']['slug']]['imported'] = $game['Game']['import_modified'] > 0 ? 1 : 0;
             $params = array();
             $params['recursive'] = -1;
             $params['conditions']['game_id'] = $game['Game']['id'];
             $params['group'] = array('user_id');
             $countCharacters = $CharacterModel->find('count', $params);
             $stats['Game'][$game['Game']['slug']]['players'] = $countCharacters;
         }
     }
     // Bridge
     $bridgeSetting = json_decode($this->SettingModel->getOption('bridge'));
     $stats['Bridge']['enabled'] = !empty($bridgeSetting) && $bridgeSetting->enabled ? 1 : 0;
     // Widgets
     App::uses('Widget', 'Model');
     $WidgetModel = new Widget();
     $params = array();
     $params['recursive'] = -1;
     if ($widgets = $WidgetModel->find('all', $params)) {
         foreach ($widgets as $widget) {
             if (!isset($stats['Widget'][$widget['Widget']['controller']])) {
                 $stats['Widget'][$widget['Widget']['controller']]['total'] = 1;
             } else {
                 $stats['Widget'][$widget['Widget']['controller']]['total']++;
             }
         }
     }
     App::uses('HttpSocket', 'Network/Http');
     $this->http = new HttpSocket();
     $this->http->post('http://stats.mushraider.com/acquire', $stats);
 }