/** * Creates new group localization object, sets ID equal to master ID, will * regenerate if persisted * @param string $locale * @param GroupPage $groupPage */ public function __construct($locale, GroupPage $groupPage) { parent::__construct($locale); $this->id = $groupPage->getId(); $this->title = $groupPage->getTitle(); $this->master = $groupPage; $this->persistent = false; }
public function search() { $in = Input::all(); $name = $in['name']; if (strlen($name) < 1) { return ''; } $users = User::where('StudentID', '!=', Auth::user()->StudentID)->where(function ($q) use($name) { $q->where('StudentID', 'LIKE', '%' . $name . '%')->orWhere('Lastname', 'LIKE', '%' . $name . '%')->orWhere('Firstname', 'LIKE', '%' . $name . '%')->get(); })->get(); $groups = GroupPage::where('grouppageID', 'LIKE', '%' . $name . '%')->orWhere('Name', 'LIKE', '%' . $name . '%')->get(); return View::make('validated.search.view', compact('users', 'groups')); }
public function more() { $user = User::with('Course', 'Gender', 'userType')->where('StudentID', Auth::user()->StudentID)->first(); $adminGroupPages = GroupPage::where('StudentID', Auth::user()->StudentID)->where('delFlag', 0)->orderBy('created_at', 'DESC')->get(); $groupPages = GroupPageMember::with('groupPages')->where('StudentID', Auth::user()->StudentID)->where('delFlag', 0)->orderBy('created_at', 'DESC')->get(); if (Auth::user()->UserTypeID == 2) { $files = Files::where('delFlag', 0)->where('folderID', 0)->where('OwnerID', Auth::user()->StudentID)->get(); $fileFolders = FilesFolder::where('OwnerID', Auth::user()->StudentID)->where('delFlag', 0)->orderBy('created_at', 'DESC')->get(); $activities = GroupPageActivity::where('OwnerID', Auth::user()->StudentID)->where('delFlag', 0)->get(); $quizzes = Quiz::where('delFlag', 0)->orderBy('created_at', 'DESC')->get(); } else { $activities = GroupPageActivityGroup::with('groupPage', 'groupPageActivityFiles')->where('deadline', '>', date('Y-m-d H:i:s'))->whereExists(function ($q) { $q->select(DB::raw(0))->from('grouppagemember')->whereRaw('grouppagemember.grouppageID = grouppageactivitygroup.grouppageID')->where('StudentID', Auth::user()->StudentID)->whereRaw('grouppagemember.delFlag = 0'); })->orderBy('deadline', 'ASC')->get(); $quizzes = QuizGroupPage::with('groupPageMember', 'groupPage', 'quiz')->where('delFlag', 0)->whereNotExists(function ($q) { $q->select(DB::raw(0))->from('quiztaken', 'grouppagemember')->where('quiztaken.OwnerID', Auth::user()->StudentID)->whereRaw('quiztaken.quizID = quizgrouppage.quizID')->where('delFlag', 0); })->get(); } return View::make('validated.more', compact('user', 'adminGroupPages', 'groupPages', 'files', 'fileFolders', 'activities', 'quizzes')); }
public static function isBelong($id, $StudentID) { return GroupPage::isMember($id, $StudentID) ? true : GroupPage::isAdmin($id, $StudentID); }
public function forceLeave() { $in = Input::all(); $isAdmin = GroupPage::isAdmin($in['id'], $in['AccID']); $isAssistant = GroupPage::isAssistant($in['id'], $in['AccID']); $isMember = GroupPage::isMember($in['id'], $in['AccID']); if (!$isAdmin && $isMember) { GroupPageMember::where('grouppageID', $in['id'])->where('StudentID', $in['AccID'])->update(array('delFlag' => 1)); $isAssistant ? GroupPage::where('grouppageID', $in['id'])->update(array('assistantID' => Auth::user()->StudentID)) : ''; } }
<?php $isAdmin = GroupPage::isAdmin($groupPage->grouppageID, Auth::user()->StudentID); $isMember = GroupPage::isMember($groupPage->grouppageID, Auth::user()->StudentID) ? true : false; ?> @if(count($groupPage)) @extends('layouts.header') @section('header_content') <h5 class="modal-title" id="myModalLabel"> <a href="#"> <span id="name" data-target="/grouppage/view/{{$groupPage->grouppageID}}">{{$groupPage->Name}}</span> </a> <i class="fa fa-chevron-right fa-fw"></i> Settings </h5> @stop <div class="container margin-top-xxl"> <div class="list-group margin-top-sm"> @if($isAdmin) <div class="list-group-item clearfix"> <span id="silentPostRequest" data-id="{{$groupPage->grouppageID}}" data-accid="{{Auth::user()->StudentID}}" data-message="Deleting..." data-target="/grouppage/delete" class="btn btn-sm btn-danger pull-right"><i class="fa fa-remove fa-fw"></i> Delete Group</span> <h5 class="text-danger">Delete this group page</h5> </div> @elseif($isMember) <div class="list-group-item clearfix"> <span id="silentPostRequest" class="btn btn-sm btn-danger pull-right" data-message="Successfully left" data-target="grouppage/leave" data-id="{{$groupPage->grouppageID}}" data-accid="{{Auth::user()->StudentID}}"> <i class="fa fa-reply fa-fw"></i> Leave </span> <h5 class="text-danger">Leave this group page</h5> </div>
/** * Get link page localization * @return Localization */ public function getPageLocalization() { throw new \Exception('Dont use me bro.'); if (empty($this->pageId)) { return; } if (!is_null($this->pageLocalization)) { return $this->pageLocalization; } $em = ObjectRepository::getEntityManager($this); $pageData = null; $localizationEntity = Localization::CN(); $localeId = ObjectRepository::getLocaleManager($this)->getCurrent()->getId(); $criteria = array('master' => $this->pageId, 'locale' => $localeId); // Now master page ID is stored, still the old implementation is working $dql = "SELECT l, m, p FROM {$localizationEntity} l\n\t\t\t\tJOIN l.master m\n\t\t\t\tLEFT JOIN l.path p\n\t\t\t\tWHERE (l.master = :master AND l.locale= :locale)\n\t\t\t\tOR l.id = :master"; try { $pageData = $em->createQuery($dql)->setParameters($criteria)->getSingleResult(); } catch (NoResultException $noResult) { // Special case for group page selection when no localization exists in database $master = $em->find(GroupPage::CN(), $this->pageId); if ($master instanceof GroupPage) { $pageData = $master->getLocalization($localeId); } } // Cache the result $this->pageLocalization = $pageData; return $pageData; }
public function shareFile($id) { $file = Files::find($id); $groups = GroupPage::where('StudentID', Auth::user()->StudentID)->get(); return View::make('validated.grouppage.shareFile', compact('file', 'groups')); }