/** * Processing of Upload Photos Form * * @Privilege('generate') * * @param Form $form */ public function uploadPhotosFormSucceded(Form $form) { $values = $form->getValues(); $event = $this->loadItem($values['id']); $calendar = $event->ref('calendar'); $year = $calendar->yearpart === 'podzim' ? $calendar->year : $calendar->year - 1; $date = substr($event->datestart, 0, 4) . substr($event->datestart, 5, 2) . substr($event->datestart, 8, 2); // check if the year dir exist. if not, create one $params = $this->context->parameters; $dirYear = $params['wwwDir'] . $params['chroniclePhotosStorage'] . '/' . $year . ($year + 1) . '/'; // check if the event dir exists. if not, create one $dir = $dirYear . $date . '/'; if (!file_exists($dir)) { mkdir($dir, 0777, TRUE); } \Tracy\Debugger::barDump($dir); // start uploading files $counter = 0; foreach ($values['upload'] as $file) { if ($file->isOK()) { if ($file->isImage()) { do { $counter += 1; //increment counter until you hit empty space for file $filePath = $dir . \Nette\Utils\Strings::padLeft($counter, 4, '0') . '.jpg'; } while (file_exists($filePath)); $image = $file->toImage(); $image->save($filePath, 85, \Nette\Image::JPEG); $this->database->table('chronicle_photos')->insert(['event_id' => $values['id'], 'order' => $counter]); $this->flashMessage("Soubor " . $file->getName() . " byl úspěšně nahrán!"); } else { $form->addError('Soubor' . $file->getName() . ' nebyl rozpoznán jako fotka.'); } } else { $form->addError('Nepodařilo se nahrát soubor:' . $file->getName()); } } //change event visibility if (!array_key_exists('showchronicle', $values)) { //user did not have the sufficient permission $showchronicle = FALSE; } else { $showchronicle = $values['showchronicle'] ? TRUE : FALSE; } $this->events->showChronicle($values['id'], $showchronicle); if (!$form->hasErrors()) { $this->redirect('default'); } }
/** * Sets variables for view of "Akce" page */ public function renderDefault() { $template = $this->template; $template->title = "Akce"; $template->events = $this->events->getCurrentEvents(); $template->calendars = $this->calendars->getVisibleCalendars(); }
/** * Sets variables for view of "Úvod" page */ public function renderDefault() { $template = $this->template; $template->chronicle = $this->events->getNewestChronicle(); $template->news = $this->news->getNewest(4); $template->leader = $this->members->getLeader(); }
public function editCalendar() { $validator = Validator::make(Request::all(), ['id' => 'required', 'allDay' => 'required', 'start' => 'required|date_format:Y-m-d H:i:s', 'end' => 'required|date_format:Y-m-d H:i:s', 'title' => 'required', 'color' => 'required']); if ($validator->fails()) { return new JsonResponse($validator->errors(), 422); } $event = Event::find(Request::input('id')); $event->title = Request::input('title'); $event->start = Request::input('start'); $event->end = Request::input('end'); $event->allDay = Request::input('allDay'); $event->color = Request::input('color'); $event->save(); return new JsonResponse(Event::all()); }
/** * Sets variables for view of "Default" page */ public function renderDefault() { $template = $this->template; $template->title = "Kronika"; $vp = new \VisualPaginator($this, 'vp'); $vp->short = FALSE; //output the whole list $vp->setTemplate('template-schoolyear.phtml'); $paginator = $vp->getPaginator(); $year = idate("m") < 8 ? idate("Y") - 1 : idate("Y"); //school year start in August $paginator->setBase($this->context->parameters['baseChronicleYear']); $page = $vp->page ? $vp->page : $year; $paginator->setItemCount($year - $paginator->getBase() + 1); $paginator->setItemsPerPage(1); $paginator->setPage($page); $template->chronicles = $this->events->getEventsForChronicle($page); }
/** * Custom values loading function for dependent select * * @param $form * @return array ('value' => 'text') for selectbox */ public function getValuesEventId($form) { $type = $form['type']->getValue(); switch ($type) { case 'Akce': $event = $this->events->getEventsWithoutNews(); break; case 'Kronika': $event = $this->events->getChroniclesWithoutNews(); break; default: return ['' => '- - - - -']; } $event = $event->fetchAll(); array_walk($event, function (&$value, $key) use(&$event) { $value = $value->dateend->format('Y/m/d') . ' - ' . $value->name; }); return $event; }
/** * Processing of Event Edit form * * @Privilege("edit") * * @param Form $form */ public function editEventFormSucceded(Form $form) { $values = $form->getValues(TRUE); //error checking (multiple meetings with same type) $event_meetings = $values['event_meeting']; $error = FALSE; $meeting_places = []; foreach ($event_meetings as $meeting) { if (in_array($meeting['comment'], $meeting_places)) { $error = TRUE; } else { array_push($meeting_places, $meeting['comment']); } } //error checking complete if ($error) { $form->addError('Nemůžete mít dva srazy stejného typu.'); } else { //form processing $meeting = $this->database->table('event_meeting'); $meeting->where('event_id', $values['id'])->delete(); foreach ($event_meetings as $event_meeting) { $event_meeting['event_id'] = $values['id']; $meeting->insert($event_meeting); } unset($values['event_meeting']); unset($values['send']); if ($this->user->isAllowed('Admin:Default:Event', 'show')) { // User can choose $values['showevent'] = $values['showevent'] ? 1 : 0; //translate TRUE/FALSE to 1/0 } else { $values['showevent'] = 0; //default value } $this->events->get($values['id'])->update($values); $this->flashMessage('Lísteček byl úspěšně upraven.'); $this->redirect('default'); } }
public function run() { DB::statement('SET FOREIGN_KEY_CHECKS=0;'); DB::table('user')->truncate(); DB::table('role')->truncate(); DB::table('role_user')->truncate(); DB::table('event')->truncate(); DB::table('exp_level')->truncate(); DB::statement('SET FOREIGN_KEY_CHECKS=1;'); $faker = Factory::create(); $uQ = new User(); $uQ->login = '******'; $uQ->pseudo = 'QsAnakrose'; $uQ->password = Hash::make('quentin'); $uQ->email = '*****@*****.**'; $uQ->streaming = 1; $uQ->twitch_channel = 'riotgames'; $uQ->save(); $data = []; for ($i = 0; $i < 110; $i++) { $username = $faker->unique()->username; $data[] = ['login' => $username, 'pseudo' => $username, 'email' => $faker->unique()->freeEmail, 'password' => Hash::make($username)]; } User::insert($data); $this->command->info('Users created'); $admin = new Role(); $admin->title = 'admin'; $admin->save(); $streamer = new Role(); $streamer->title = 'streamer'; $streamer->save(); $this->command->info('Roles created'); $uQ->becomeAdmin(); $uQ->becomeStreamer(); for ($i = 2; $i < 13; $i++) { $u = User::find($i); $u->becomeStreamer(); $u->twitch_channel = $i; $u->description = $u->login . 'lorem ipsum dolor. Lol.'; $rand = rand(0, 2); if ($rand == 0) { $u->streaming = 1; } else { $u->streaming = 0; } /* $avatarManager = new AvatarManager(); $intervManager = $avatarManager->getImgManager(); $width = $avatarManager->getAvatarWidth(); $color = substr(md5(rand()), 0, 6); $intervManager->canvas($width, $width, $color); */ $u->save(); } $su = new StreamingUserService(); $su->update(); $this->command->info('Roles attached'); $event = new Event(); $event->title = 'Hugo'; $event->start = '2015-06-26T12:30:00+02:00'; $event->end = '2015-06-26T15:30:00+02:00'; $event->allDay = 'false'; $event->color = '#FF0000'; $event->timezone = '+02:00'; $event->save(); $this->command->info('Test event created'); $expManager = new ExperienceManager(); $data = $expManager->generateExperienceSystem(); ExpLevel::insert($data); $this->command->info('Experience system initialized'); }
public function getHostEvents($hostid) { $events = Event::where('hostid', $hostid)->get(); $array = array('success' => true, 'events' => $events); return json_encode($array); }
//perform insertion// $json = $event->addEvent($hostid, $name, $startdate, $enddate, $addr1, $addr2, $city, $state, $zip, $islocal, $isvirtual, $ticketprice, $description); //return results// echo $json; }); //get specific event// $app->get('/id/:eventid/', function ($eventid) use($app, $resourceServer) { $event = new Event(); $json = $event->getEvent($eventid); echo $json; }); //get events for a specific host// $app->get('/host/', $authorize(), function () use($app, $resourceServer) { //get currently logged in host id from session// $hostid = $resourceServer->getAccessToken()->getSession()->getOwnerId(); $event = new Event(); $json = $event->getHostEvents($hostid); echo $json; }); //send out emails to winners// //never got finished. localhost is a very uncooperative with sending emails... // $app->post('/notify/', function() use ($app, $resourceServer) { // $to = $app->request->post('to'); // $subject = $app->request->post('subject'); // $message = $app->request->post('message'); // $headers = "From: goraffleme@aol.com"; // if(mail($to, $subject, $message)) { // $array = array('success' => true, // 'message' => 'Mail Sent'); // echo json_encode($array); // }
}); //determine prize winner// $app->post('/winner/', $authorize(), function () use($app, $resourceServer) { $winner = new Winner(); $item = new Item(); $itemid = $app->request->post('itemid'); $item = $item->getItem($itemid); $item = json_decode($item); //check that item exists// if ($item->success) { $ticket = new Ticket(); $item = $item->item; //get all the tickets for the event and perform messy json conversions -_- // $ticketDecode = json_decode($ticket->getTickets($item->eventid), true); $tickets = $ticketDecode['tickets']; $event = new Event(); //get currently logged on host// $userid = $resourceServer->getAccessToken()->getSession()->getOwnerId(); //verify that current host owns the event of the item// if ($event->verifyHost($item->eventid, $userid)) { //pick a random ticket// if (sizeof($tickets) > 0) { $numTix = sizeof($tickets); $luckyNum = mt_rand(0, $numTix); $ticket = $tickets[$luckyNum]; //more messy json conversions...// $lucky = json_decode($winner->pickWinner($itemid, $ticket['participantid'])); $luckyWinner = $lucky->winner; //verify that the item has not been won// if ($luckyWinner != "Winner already chosen") { //get the winner's personal info to pass back with the winning ticket info//