public function postLogin(Request $request) { $this->validate($request, ['user_id' => 'required', 'password' => 'required']); $credentials = $request->only('user_id', 'password'); $redirect = $this->redirectPath(); $lock_new_users = true; $try = false; if (User::find($credentials['user_id'])) { // The user exists $try = true; } else { if ($lock_new_users) { return redirect('/locked'); } else { if (($person = Person::find($credentials['user_id'])) && DataSource::check_login($credentials['user_id'], $credentials['password'])) { // The ID exists and details are correct, but there isn't an account for it. Make one. $user = User::create(['user_id' => $credentials['user_id'], 'name' => $person->name, 'password' => \Crypt::encrypt($credentials['password']), 'is_queued' => true]); \Queue::push(new PrepareUser($user)); $redirect = '/setup'; $try = true; } } } if ($try && Auth::attempt($credentials, $request->has('remember'))) { return redirect()->intended($redirect); } return redirect($this->loginPath())->withInput($request->only('user_id', 'remember'))->withErrors(['user_id' => $this->getFailedLoginMessage()]); }
function read_all() { if (NotificationsSource::mark_read_all()) { User::active()->mark_notification_read_all(); return 'true'; } return 'false'; }
function complete($id, $complete = true) { $complete = filter_var($complete, FILTER_VALIDATE_BOOLEAN); if (HomeworkSource::mark_complete($id, $complete)) { User::active()->mark_homework_complete($id, $complete); return 'true'; } return 'false'; }
public static function mark_read_all() { $user = User::active(); $sp = static::sharepoint($user); $items = []; foreach ($user->notifications()->wherePivot('is_read', '=', false) as $key => $notification) { $items[] = ['ID' => $notification->notification_id, 'ReadStatus' => 'Read']; } $raw_data = $sp->updateMultiple('Notifications', $items); return is_array($raw_data) && !isset($raw_data['warning']); }
/** * Execute the console command. * * @return mixed */ public function handle() { $this->log_wake(); $errors = 0; foreach (User::all() as $index => $user) { $this->log_section('User ' . $user->user_id); try { NotificationsSource::update($user, $this); $this->log_section_end('Completed successfully.'); } catch (\Exception $e) { $errors++; $this->comment('Exception'); $this->error($e); $this->log_section_end('Failed.', true); } } $this->info("Completed with {$errors} errors."); if ($errors != 0) { $this->dispatch("Notifications"); } }
use App\Next\Models\Homework; use App\Next\Models\Lesson; use App\Next\Models\User; use App\Next\Data\HomeworkSource; use App\Next\Layout\Colours; use Carbon\Carbon; $now = Carbon::now(); ?> <div class="option-flex"> <div class="option"> <div class="heading">Profile <span class="detail">Who you are</span></div> <div class="option-flex"> <?php $person = User::active()->person; ?> <div class="profile-image" style="background-image: url({{ $person->profile_image_path() }});"></div> <div class="option-details"> <div class="option-maintext">{{{ $person->name }}}</div> <?php if ($person->job_title == 'Student') { $str = 'Year ' . $person->year_level . ' Student'; } else { $str = $person->job_title; } ?> <div class="option-subtext">{{{ $str }}}</div> </div> <a href="/auth/logout">
<div class="tile sportszone"> <div class="tile-content"> <div class="sports-item main"> <div class="title">{{{ $match->team_name }}}</div> <div class="body">{{{ $match->date->format('g:i a \o\n \t\h\e jS \o\f F') }}}</div> </div> <div class="sports-item"> <div class="subtitle">Match</div> <div class="body">Against {{{ $match->opponent_name }}} at {{{ $match->venue }}}</div> </div> <br> <div class="sports-item"> <div class="subtitle">Players</div> <?php use App\Next\Models\User; $active_id = User::active()->user_id; ?> <div class="people"> @foreach ($match->team_members() as $person) <div class="person hover {{{ $person->person_id == $active_id ? 'person-self' : '' }}}" style="background-image: url({{ $person->profile_image_path() }});" data-name="{{{ $person->name }}}"></div> @endforeach </div> </div> <div class="sports-item"> <div class="subtitle">Staff</div> <div class="people"> @foreach ($match->staff_members() as $person) <div class="person hover {{{ $person->person_id == $active_id ? 'person-self' : '' }}}" style="background-image: url({{ $person->profile_image_path() }});" data-name="{{{ $person->name }}}"></div> @endforeach </div> </div>
<?php use App\Next\Models\Homework; use App\Next\Models\Lesson; use App\Next\Models\User; use App\Next\Data\HomeworkSource; use App\Next\Layout\Colours; use Carbon\Carbon; $now = Carbon::now(); ?> <?php $feed = User::active()->timetable_feed(); ?> @if (count($feed) == 0) <div class="feed-empty"> You don't have any lessons in the next few days. </div> @else @foreach($feed as $group) <div class="heading">{{{ $group['heading'] }}}</div> @foreach($group['items'] as $tile) @include('timetable/tile', ['lesson' => $tile]) @endforeach @endforeach @endif
function state() { return User::active()->is_queued; }
<?php use App\Next\Models\Homework; use App\Next\Models\Lesson; use App\Next\Models\User; use App\Next\Data\HomeworkSource; use App\Next\Layout\Colours; use Carbon\Carbon; $now = Carbon::now(); ?> <?php $feed = User::active()->notifications_feed(); ?> @if (count($feed) == 0) <div class="feed-empty"> You don't have any unread notifications. </div> @else <div class="button-wrapper"> <div class="button mark-all-read-button">Mark All As Read</div> </div> @foreach($feed as $tile) @include('notifications/tile', ['notification' => $tile]) @endforeach @endif <script src="notifications.js"></script>
<?php use App\Next\Models\Homework; use App\Next\Models\Lesson; use App\Next\Models\User; use App\Next\Data\HomeworkSource; use App\Next\Layout\Colours; use Carbon\Carbon; $now = Carbon::now(); ?> <?php $feed = User::active()->sportszone_feed(); ?> @if (count($feed) == 0) <div class="feed-empty"> You don't have any recent or upcoming matches. </div> @else @foreach($feed as $group) <div class="heading">{{{ $group['heading'] }}}</div> @foreach($group['items'] as $tile) @include('sportszone/tile', ['match' => $tile]) @endforeach @endforeach @endif <script src="sportszone.js"></script>
public static function keystone($path, $user = false) { $url = "https://keystone.stpeters.sa.edu.au/" . $path; $user = $user ? $user : User::active(); return static::curl_authenticated(static::curl_init($url), $user->user_id, $user->password()); }
<?php use App\Next\Models\Homework; use App\Next\Models\Lesson; use App\Next\Models\User; use App\Next\Data\HomeworkSource; use App\Next\Layout\Colours; use Carbon\Carbon; $now = Carbon::now(); ?> <?php $feed = User::active()->pastoralcare_feed(); ?> @if (count($feed) == 0) <div class="feed-empty"> You don't have any Pastoral Care items... somehow. </div> @else @foreach($feed as $tile) @include('pastoralcare/tile', ['pastoralcare' => $tile]) @endforeach @endif
<?php use App\Next\Next; Next::hello(); use App\Next\Data\HomeworkSource; use App\Next\Layout\Colours; use App\Next\Data\Cache; use App\Next\Models\Homework; use App\Next\Models\User; // var_dump(Cache::update_cache_date('HomeworkSource')); DB::table('homework')->delete(); DB::table('users_homework')->delete(); var_dump(HomeworkSource::parsed_data()); // var_dump(Homework::all()); $user = User::find(60829); foreach ($user->homework as $tree) { echo $tree->homework_id . ':' . $tree->pivot->complete . '<br>'; }