public function showEdit(Request $request)
 {
     $current_user = ParseUser::getCurrentUser();
     Html\Assets::addLink(Html\Link::Css('/vendor/dropzone/dropzone.css'));
     Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
     Html\Assets::addLink(Html\Link::Script('//www.parsecdn.com/js/parse-1.6.7.min.js'));
     Html\Assets::addLink(Html\Link::Script('/vendor/dropzone/dropzone.js'));
     Html\Assets::addLink(Html\Link::Script(elixir('scripts/profileUploader.js')));
     Html\Assets::addMetaTag(Html\Meta::Tag('description', ''));
     $renderData = $this->getRenderData($request);
     $renderData['user'] = $current_user;
     return view('editprofile', $renderData);
 }
 public function showRegister(Request $request)
 {
     Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
     Html\Assets::addMetaTag(Html\Meta::Tag('description', ''));
     $renderData = $this->getRenderData($request);
     $redirect_url = $request->getSchemeAndHttpHost() . '/fblogin';
     $permissions = ['email'];
     $fb = new Facebook(['app_id' => config('facebook.app_id'), 'app_secret' => config('facebook.app_secret'), 'default_graph_version' => 'v2.2']);
     $helper = $fb->getRedirectLoginHelper();
     $renderData['msg'] = $request->session()->get('message') ?: '';
     $renderData['activeTab'] = 'signup';
     $renderData['fb_login_url'] = $helper->getLoginUrl($redirect_url, $permissions);
     return view('login', $renderData);
 }
 public function showUploader($roomId, Request $request)
 {
     $current_user = ParseUser::getCurrentUser();
     if (!$current_user) {
         return redirect()->route('login');
     }
     $message = $request->input('msg');
     Html\Assets::addLink(Html\Link::Css('/vendor/dropzone/dropzone.css'));
     Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
     Html\Assets::addLink(Html\Link::Script('//www.parsecdn.com/js/parse-1.6.7.min.js'));
     Html\Assets::addLink(Html\Link::Script('/vendor/dropzone/dropzone.js'));
     Html\Assets::addLink(Html\Link::Script(elixir('scripts/chatUploader.js')));
     Html\Assets::addMetaTag(Html\Meta::Tag('description', ''));
     $query = new ParseQuery("ChatRoom");
     $chatObj = $query->get($roomId);
     $renderData = $this->getRenderData($request);
     $renderData['user'] = $current_user;
     $renderData['chatObj'] = $chatObj;
     $renderData['message'] = $message;
     return view('chatUploader', $renderData);
 }
 public function showCalendar(Request $request, $date = null)
 {
     $current_user = ParseUser::getCurrentUser();
     if (!$current_user) {
         return redirect()->route('login');
     }
     $dt = new \DateTime('now');
     //$dt->setTimezone(new \DateTimeZone('America/Los_Angeles'));
     $st = $request->input('st');
     if (!empty($st)) {
         $tm = strtotime($st);
         $dt->setTimestamp($tm);
     }
     $query = ParseUser::query();
     $current_user = $query->get($current_user->getObjectId());
     Html\Assets::addLink(Html\Link::Css('/vendor/responsive-calendar/0.9/css/responsive-calendar.css'));
     Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
     Html\Assets::addLink(Html\Link::Script('/vendor/responsive-calendar/0.9/js/responsive-calendar.min.js'));
     Html\Assets::addLink(Html\Link::Script(elixir('scripts/calendar.js')));
     Html\Assets::addMetaTag(Html\Meta::Tag('description', ''));
     $renderData = $this->getRenderData($request);
     $renderData['user'] = $current_user;
     $renderData['showdate'] = $dt;
     $renderData['activeBarTab'] = "calendar";
     return view('calendar', $renderData);
 }
 public function showNotifications(Request $request)
 {
     $current_user = ParseUser::getCurrentUser();
     $query = new ParseQuery("Notifications");
     $query->equalTo("for", $current_user);
     $query->equalTo("read", false);
     $query->includeKey('by');
     $query->includeKey('message');
     $query->addDescending('createdAt');
     try {
         $notifications = $query->find();
         Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
         $renderData = $this->getRenderData($request);
         $notes = array();
         foreach ($notifications as $notify) {
             if (!empty($notify->get('message'))) {
                 $byimage = $notify->get('by')->get('image');
                 $chatroom = $notify->get('message')->get('chatRoom');
                 $relation = $notify->get('message')->getRelation('asset');
                 $assets = $relation->getQuery()->find();
                 if (empty($chatroom)) {
                     continue;
                 }
                 $chatroom->fetch();
                 $notes[] = ['notification' => $notify, 'byimage' => $byimage, 'chatRoom' => $chatroom, 'assets' => $assets];
             }
             $notify->set("read", true);
             $notify->save();
         }
         $renderData['user'] = $current_user;
         $renderData['notifications'] = $notes;
         return view('notification', $renderData);
     } catch (\Exception $ex) {
         echo $ex->getMessage();
         die;
     }
 }
 public function joinEvent(Request $request)
 {
     $current_user = ParseUser::getCurrentUser();
     Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
     Html\Assets::addMetaTag(Html\Meta::Tag('description', ''));
     $renderData = $this->getRenderData($request);
     if ($request->method() == "POST" || $request->session()->get('lastAction') == 'joinevent') {
         if (!empty($current_user)) {
             $code = $request->input('eventCode') ?: $request->session()->get('joinevent:inviteCode');
             $query = new ParseQuery("Events");
             try {
                 $query->equalTo('inviteCode', $code);
                 $query->includeKey('chatRoom');
                 $eventObj = $query->find();
                 if (count($eventObj) > 0) {
                     $eventObj = $eventObj[0];
                     $relation = $eventObj->getRelation('members');
                     $relation->add($current_user);
                     $eventObj->save();
                     //add member to chatroom
                     $chatObj = $eventObj->get('chatRoom');
                     $relation = $chatObj->getRelation('members');
                     $relation->add($current_user);
                     $chatObj->save();
                     //clear last action
                     $request->session()->set('lastAction', '');
                     //redirect to chatroom
                     return redirect()->route('chat', ['roomId' => $chatObj->getObjectId()]);
                 } else {
                     $renderData['errorMsg'] = "Sorry invite code '{$code}' is not valid.'";
                 }
             } catch (ParseException $ex) {
                 // The object was not retrieved successfully.
                 // error is a ParseException with an error code and message.
                 echo $ex->getMessage();
             }
         } else {
             $request->session()->set('lastAction', 'joinevent');
             $request->session()->set('joinevent:inviteCode', $request->input('inviteCode'));
             return redirect()->route('register');
         }
     }
     $renderData['navTitle'] = "Join Event";
     return view('joinevent', $renderData);
 }
 public function getRenderData(Request $request)
 {
     $renderData = array('assetstop' => Html\Assets::renderLinks("top"), 'assets' => Html\Assets::renderLinks(), 'metadata' => Html\Assets::renderMetaData(), 'showComments' => false, 'pageUrl' => $request->url());
     return $renderData;
 }
 public function editGroup($groupid, Request $request)
 {
     $current_user = ParseUser::getCurrentUser();
     if (!$current_user) {
         return redirect()->route('login');
     }
     $query = ParseUser::query();
     $current_user = $query->get($current_user->getObjectId());
     Html\Assets::addLink(Html\Link::Css(elixir('css/default.css')));
     Html\Assets::addMetaTag(Html\Meta::Tag('description', ''));
     Html\Assets::addLink(Html\Link::Script(elixir('scripts/newgroup.js')));
     $query = new ParseQuery("Groups");
     try {
         $group = $query->get($groupid);
         // The object was retrieved successfully.
         $relation = $group->getRelation('members');
         $query = $relation->getQuery();
         $members = $query->find();
         $renderData = $this->getRenderData($request);
         $renderData['user'] = $current_user;
         $renderData['group'] = $group;
         $renderData['members'] = $members;
         return view('editgroup', $renderData);
     } catch (ParseException $ex) {
         // The object was not retrieved successfully.
         // error is a ParseException with an error code and message.
         echo $ex->getMessage();
     }
 }