/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function getListings()
 {
     $pin = new Pin();
     $pins = $pin->all();
     return response()->json($pins->toArray());
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  RegisterPlanRequest  $request
  * @return Response
  */
 public function store(RegisterPlanRequest $request)
 {
     /**
      * Check if user exists on Moodle
      */
     $register = new MoodleUser();
     $user = $register->where('username', '=', $request->email)->count();
     if ($user >= 1) {
         return redirect()->route('front.registerplan.create')->withInput($request->except('password'))->withErrors(['email' => 'Su email se encuentra registrado!']);
     }
     $timestamp = $unixTimestamp = time();
     $timezone = Config::get('app.timezone');
     /**
      * Register user on Moodle
      */
     $register->id = NULL;
     $register->auth = 'manual';
     $register->confirmed = 1;
     $register->policyagreed = 0;
     $register->deleted = 0;
     $register->suspended = 0;
     $register->mnethostid = 1;
     $register->username = $request->email;
     $register->password = bcrypt($request->password);
     $register->idnumber = '';
     $register->firstname = $request->name;
     $register->lastname = '';
     $register->email = $request->email;
     $register->emailstop = 0;
     $register->icq = '';
     $register->skype = '';
     $register->yahoo = '';
     $register->aim = '';
     $register->msn = '';
     $register->phone1 = '';
     $register->phone2 = '';
     $register->institution = '';
     $register->department = '';
     $register->address = '';
     $register->city = '';
     $register->country = 'EC';
     $register->lang = 'es';
     $register->calendartype = 'gregorian';
     $register->theme = '';
     $register->timezone = $timezone;
     $register->firstaccess = 0;
     $register->lastaccess = 0;
     $register->lastlogin = 0;
     $register->currentlogin = 0;
     $register->lastip = '';
     $register->secret = '';
     $register->picture = 0;
     $register->url = '';
     $register->description = NULL;
     $register->descriptionformat = 1;
     $register->mailformat = 1;
     $register->maildigest = 1;
     $register->maildisplay = 2;
     $register->autosubscribe = 1;
     $register->trackforums = 0;
     $register->timecreated = $timestamp;
     $register->timemodified = '';
     $register->trustbitmask = 0;
     $register->imagealt = NULL;
     $register->lastnamephonetic = NULL;
     $register->firstnamephonetic = NULL;
     $register->middlename = NULL;
     $register->alternatename = NULL;
     $register->save();
     /**
      * Invalid PIN in Moodle DB
      */
     $moodlePin = new MoodlePin();
     $moodlePin->id = NULL;
     $moodlePin->userid = $register->id;
     $moodlePin->fieldid = 1;
     $moodlePin->data = $request->pin_code;
     $moodlePin->dataformat = 0;
     $moodlePin->save();
     /**
      * Invalid PIN in Laravel DB setting to 0
      */
     $pin = Pin::find(1)->where('pin', '=', $request->pin_code)->first();
     $pin->active = 0;
     $pin->save();
     /**
      * Select the Context
      */
     $moodleContext = new MoodleContext();
     $moodleContextId = $moodleContext->where('instanceid', '=', $request->course_id)->where('contextlevel', '=', 50)->first();
     /**
      * Insert user into course
      */
     $moodleEnrollements = new MoodleEnrollments();
     $moodleEnrollements->id = NULL;
     $moodleEnrollements->status = 0;
     $moodleEnrollements->enrolid = 1;
     $moodleEnrollements->userid = $register->id;
     $moodleEnrollements->timestart = $timestamp;
     $moodleEnrollements->timeend = 0;
     $moodleEnrollements->modifierid = 2;
     $moodleEnrollements->timecreated = $timestamp;
     $moodleEnrollements->timemodified = '';
     $moodleEnrollements->save();
     /**
      * Insert roll user into course
      */
     $moodleroleAssignments = new MoodleRollAssignments();
     $moodleroleAssignments->id = NULL;
     $moodleroleAssignments->roleid = 5;
     $moodleroleAssignments->contextid = $moodleContextId->id;
     $moodleroleAssignments->userid = $register->id;
     $moodleroleAssignments->timemodified = $timestamp;
     $moodleroleAssignments->modifierid = 2;
     $moodleroleAssignments->component = '';
     $moodleroleAssignments->itemid = 0;
     $moodleroleAssignments->sortorder = 0;
     $moodleroleAssignments->save();
     /**
      * Send email to registrant
      */
     // Get Course and Subject names
     $course = $this->courseQuery($request->course_id);
     $subject = $this->subjectQuery($request->subject_id);
     // Create an array with vars
     $data = ['PIN' => $request->pin_code, 'name' => $request->name, 'email' => $request->email, 'password' => $request->password];
     // Merge arrays into one
     $data = array_merge($data, ['course' => $course], ['subject' => $subject]);
     // Send email
     $this->sendEmail($data);
     return redirect()->route('front.registerplan.success');
 }