Exemple #1
0
 public function create(Request $request)
 {
     if ($request->isMethod('get')) {
         $this->data['items'] = Event::orderBy('created_at', 'desc')->get();
         $this->data['questions'] = Question::get();
         // return var_dump($this->data['questions']);
         return view('pages.event.create', $this->data);
     } elseif ($request->isMethod('post')) {
         $data = $request->all();
         $event = Event::create($request->all());
         $user = User::where('positionid', 1)->get();
         foreach ($user as $lala) {
             $item = new Score();
             $item->eventid = $event->id;
             $item->score = 0;
             $item->userid = $lala->id;
             $item->save();
         }
         if ($event) {
             if (array_key_exists('questions', $data)) {
                 $event->question()->sync($data['questions']);
                 $event->update(['enabled' => 1]);
             }
             return redirect('event');
         } else {
             return redirect('event');
         }
     }
 }
Exemple #2
0
 public function postscore(Request $request)
 {
     $data = json_decode($request->getContent());
     $obj = new Score();
     $obj->user_id = Auth::user()->id;
     $obj->name = Auth::user()->name;
     $obj->email = Auth::user()->email;
     $obj->score = number_format($data->score, 2);
     $obj->save();
 }
 public function battleground($event)
 {
     $event = Event::where('event_name', $event)->first();
     if ($event == null) {
         return "event null";
         return redirect(redirect_home);
     }
     $score = Score::where('user_id', Auth::user()->id)->where('event_id', $event->id)->first();
     $resume = 1;
     if ($score == null) {
         $resume = 0;
         $score = new Score();
         $score->user_id = Auth::user()->id;
         $score->event_id = $event->id;
         $score->level = 0;
         $score->score = 0;
         $score->save();
     }
     $start = strtotime($event->start_time);
     $end = strtotime($event->end_time);
     $now = time() + 5.5 * 60 * 60;
     // dd($start, $now, $end);
     if ($end < $now) {
         //Event has finished ...
         return Redirect::route('winners', $event);
     } else {
         if ($start < $now && $end > $now) {
             //Event is ongoing ...
             if ($event->type <= 3) {
                 if ($score->level == $event->num_ques) {
                     // return 'a';
                     return View::make('event_completed', ['event' => $event, 'question' => null, 'rank' => OpController::rank($event->event_name), 'action' => 'event_completed']);
                 }
                 $ques = Question::where('event_id', $event->id)->where('level', $score->level + 1)->first();
                 return View::make('single_ans', ['event' => $event, 'resume' => $resume, 'question' => $ques, 'level' => $score->level + 1, 'rank' => OpController::rank($event->event_name), 'action' => 'questions']);
             } else {
                 $ques = Question::where('event_id', $event->id)->orderByRaw('RAND()')->get()->take($event->num_ques)->toArray();
                 foreach ($ques as $key => $q) {
                     $ques[$key]['options'] = unserialize($q['options']);
                 }
                 return View::make('mcq', ['event' => $event, 'questions' => $ques, 'action' => 'battle', 'duration' => $event->duration]);
             }
             //return more values to spice it up??
         } else {
             //Event hasn't started yet ...
             return View::make('waiting_area', ['event' => $event, 'action' => 'waiting', 'rank' => OpController::rank($event->event_name)]);
             //can make this interesting ??
             //perhaps a waiting area.. ?  <<<---- To be done...
         }
     }
 }
Exemple #4
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @param  int  $groupId
  * @return Response
  */
 public function store(Request $request, $groupId)
 {
     $group = Group::findOrFail($groupId);
     //@TODO: Validate we are a judge for this event
     //
     //if (Gate::denies('create-group-score', $event, $group)) {
     //    abort(403);
     //}
     //
     $this->validate($request, ['name' => 'required|max:255', 'score' => 'required|numeric']);
     //@TODO: Delete previous scores from this judge to this group?
     //       Only those with the same score.name?
     $score = new Score($request->all());
     $score->judge()->associate(1);
     // @TODO get judge's member id from $user
     $score->group()->associate($groupId);
     $score->save();
     return response()->json($score);
 }
 public function get()
 {
     $instance = new Socialworth($this->post->url);
     $results = $instance->all();
     // {'total': totalscore, 'facebook': facebookscore , 'twitter': twitterscore}
     // for calculating virality, create totalshares that gives more weight to twitter
     $totalShares = round(($results->facebook + 2 * $results->twitter) / 3 * 2);
     if ($this->post->score()->get()->count() > 0) {
         $score = $this->post->score;
     } else {
         $score = new Score();
     }
     $score->twitter = $results->twitter;
     $score->facebook = $results->facebook;
     $score->total = $results->facebook + $results->twitter;
     $score->virality = $totalShares > 1 ? round(8 * log($totalShares)) : 2;
     // save the score
     $score->save();
     // associate to
     $this->post->score()->save($score);
 }
 public function yes($id, $userid)
 {
     if (Request::isMethod('get')) {
         //cek event aktif, anaknya bukan, udah pernah ngisi belum, kadept bukan
         if (Auth::user()->positionid != 1) {
             $user = User::find($userid);
             // dd($user->deptid);
             if ($user->deptid != Auth::user()->deptid) {
                 return redirect('/');
             }
             $data = Event::where('enabled', 1)->find($id);
             if (!$data) {
                 return redirect('/');
             }
             if (!$data->enabled) {
                 return redirect('/');
             }
             $cek = Flag::where('eventid', $id)->where('from', '!=', $userid)->where('to', $userid)->first();
             if ($cek != null) {
                 return redirect('/');
             }
             $this->data['event'] = $data;
             $this->data['questions'] = Pivot::where('eventid', $id)->get();
             return view('pages.submit.yes', $this->data);
         } else {
             return redirect('/');
         }
     } else {
         $input = Input::get('score');
         $data = Event::where('enabled', 1)->find($id);
         if (!$data) {
             return redirect('/');
         }
         if (!$data->enabled) {
             return redirect('/');
         }
         // dd($input);
         //set ke mark
         foreach ($input as $key => $value) {
             $mark = new Mark();
             $mark->userid = $userid;
             $mark->questionid = $key;
             $mark->string = $value;
             $mark->save();
         }
         //set ke score
         $score = Score::where('eventid', $id)->where('userid', $userid)->first();
         if ($score) {
             foreach ($input as $key => $value) {
                 $question = Question::find($key);
                 if ($question->type == 1) {
                     $pivot = Pivot::where('eventid', $id)->where('questionid', $key)->first();
                     $score->score += $value * $pivot->score / 100;
                     $score->save();
                 }
             }
         } else {
             $score = new Score();
             $score->eventid = $id;
             $score->userid = $userid;
             $score->score = 0;
             foreach ($input as $key => $value) {
                 $question = Question::find($key);
                 // dd($input);
                 if ($question->type == 1) {
                     $pivot = Pivot::where('eventid', $id)->where('questionid', $key)->first();
                     $score->score += $value * $pivot->score / 100;
                     $score->save();
                 }
             }
         }
         //set ke flag
         $flag = new Flag();
         $flag->from = Auth::id();
         $flag->to = $userid;
         $flag->eventid = $id;
         $flag->save();
         return redirect('submit/' . $id);
     }
 }
 public function register($id)
 {
     $event = Event::findOrFail($id);
     if ($event->flash_message) {
         $_SESSION['ALERT'] = alert("Event Notice!", $event->flash_message, "warning");
     }
     $score = new Score();
     $score->event_id = $event->id;
     $score->player_id = Auth::user()->id;
     $score->save();
     if (!Auth::user()->no_email) {
         $subject = 'Event Registration';
         Mail::send('emails.registered', compact('subject', 'event'), function ($m) use($subject) {
             $m->to(Auth::user()->email)->subject($subject);
         });
     }
     return redirect('/');
 }
Exemple #8
0
|
*/
use App\Score;
use Illuminate\Http\Request;
// use DB;
// $users = DB::table('users')->get();
Route::get('/', function () {
    return view('welcome');
});
Route::get('/data', function () {
    return DB::table('scores')->orderBy('score', 'desc')->take(4)->get();
});
Route::post('/highscore', function (Request $r) {
    $score = new Score();
    $score->name = $r->input('name');
    $score->score = $r->input('score');
    $score->save();
});
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| This route group applies the "web" middleware group to every route
| it contains. The "web" middleware group is defined in your HTTP
| kernel and includes session state, CSRF protection, and more.
|
*/
Route::group(['middleware' => ['web']], function () {
    //
});
 public function getLockRepaired()
 {
     $rent = $this->user->rent()->lastRent()->first();
     // 密码还原
     $lastRent = $rent->bike->rent()->lastRent()->where('id', '!=', $rent->id)->first();
     $rent->password = $lastRent->password;
     $rent->save();
     // 上次还车导致损坏
     $lastReturn = $rent->bike->rent()->lastReturn()->first();
     $lastReturn->broken_type = 'lock';
     $lastReturn->broken_desp = '未改密码';
     $lastReturn->save();
     // 上次用户惩罚
     $score = new Score();
     $score->user_id = $lastReturn->user->id;
     $score->reason = '忘改密码';
     $score->score = -5;
     $score->save();
     $lastReturn->user->score -= 5;
     $lastReturn->user->save();
 }