/** * Execute the console command. * * @return void */ public function fire() { // DB::table('tutorials')->delete(); $faker = Faker\Factory::create(); $minimum = $this->option('minimum'); $tutorialcontent = "\n{Far|far|away|behind|the|word|mountains|far|from|the}\n{countries|Vokalia|and|Consonantia|there}\n{live|the|blind|texts|Separated}\n{they|live|in|Bookmarksgrove|right}\n{at|the|coast|of|the}\n{Semantics|a|large|language|ocean}\n{A|small|river|named|Duden}\n{flows|by|their|place|and}\n{supplies|it|with|the|necessary}\n{regelialia|It|is|a|paradisematic}\n{country|in|which|roasted|parts}\n{of|sentences|fly|into|your}\n{mouth|Even|the|all-powerful|Pointing|has|no|control}\n{about|the|blind|texts|it}\n{is|an|almost|unorthographic|life}\n{One|day|however|a|small}\n{line|of|blind|text|by}\n{the|name|of|Lorem|Ipsum}\n{decided|to}"; $tutorialcontent = $tutorialcontent . $tutorialcontent . $tutorialcontent; $tutorialcontent = $tutorialcontent . $tutorialcontent . $tutorialcontent; $tutorialtitle = "This is a {title|heading|header}."; $tutorialdesc = "This is a sample {data|words|description}"; for ($i = 1; $i <= $minimum; $i++) { $tutorial = new Tutorials(); $tutorial->name = self::spintax($tutorialtitle); $tutorial->subjectid = rand(1, 55); $tutorial->createdby = $this->option('user'); $tutorial->description = self::spintax($tutorialdesc); $tutorial->published = 1; $tutorial->content = self::spintax($tutorialcontent); $tutorial->created_at = self::randDate('10th January 2013', date('jS F o')); $tutorial->save(); } }
<th>Related Tutorial</th> <th>Submitted On</th> <th>Last Updated</th> <th>Marks</th> </tr> </thead> <tbody> <?php $assessments = Assessments::where('studentid', '=', Sentry::getUser()->id)->get(); foreach ($assessments as $assessment) { $subjectid = $assessment->subjectid; $subject = Subject::find($subjectid); $teacherid = $assessment->teacherid; $teacher = User::find($teacherid); $tutorialid = $assessment->tutorialid; $tutorial = Tutorials::find($tutorialid); echo "<tr>"; echo "<td>"; echo $assessment->id; echo "</td>"; echo "<td>"; echo "<a href='/assessment/update/" . $assessment->id . "'>{$assessment->title}"; echo "</td>"; echo "<td>"; echo $subject->subjectname; echo "</td>"; echo "<td>"; echo $teacher->first_name . ' ' . $teacher->last_name; echo "</td>"; echo "<td>"; echo $tutorial->name;
<?php $options = array(); if (Yii::app()->user->checkAccess('op_tutorials_addtutorials')) { $options[Yii::t('tutorials', 'Add Tutorial')] = array('tutorials/addtutorial'); } if (Yii::app()->user->checkAccess('op_tutorials_manage')) { $pending = Tutorials::model()->count('status=0'); $options[Yii::t('tutorials', '{count} Pending Tutorials', array('{count}' => $pending))] = array('tutorials/showpending'); } if (Yii::app()->user->id) { $options[Yii::t('tutorials', 'My Tutorials')] = array('tutorials/showmytutorials'); } ?> <div id="nav"> <div class="boxnavnoborder"> <ul class='menunav'> <h4><?php echo Yii::t('tutorials', 'Categories'); ?> </h4> <?php foreach (TutorialsCats::model()->getCatsForMember(Yii::app()->language) as $category) { ?> <li><?php echo CHtml::link($category->title, array('/tutorials/category/' . $category->alias, 'lang' => false)); ?> - ( <?php echo $category->count;
<tr> <th>#ID</th> <th>Title</th> <th>Subject</th> <th>Grade</th> <th>Created Date</th> <th>Modified Date</th> <th>Created By</th> <th>Status</th> <th>Actions</th> </tr> </thead> <tbody> <?php $tutorial_list = Cache::remember('tutorial_listing_dash' . Sentry::getUser()->id, 20, function () { $tutorials = Tutorials::all(); $out = ''; foreach ($tutorials as $tutorial) { $subject = Subject::find($tutorial->subjectid); $teacher = User::find($tutorial->createdby); $username = Sentry::findUserByLogin($teacher->email); if (Sentry::getUser()->inGroup(Sentry::findGroupByName('admin')) || Sentry::getUser()->id == $tutorial->createdby) { $out .= "<tr>"; $out .= "<td>"; $out .= $tutorial->id; $out .= "</td>"; $out .= "<td>"; $out .= $tutorial->name; $out .= "</td>"; $out .= "<td>"; $out .= $subject->subjectname;
public function index() { $theme = Theme::uses('site')->layout('default'); $theme->setTitle('Home'); Cache::forget('latest_tr_slides'); Cache::forget('tutorials'); Cache::forget('latest_tutorials'); Cache::forget('latest_tutes'); Cache::forget('topstudents'); Cache::forget('topstudentlist'); $tutorialslides = Cache::remember('latest_tr_slides', 1, function () { $tutorials = Cache::remember('tutorials', 1, function () { return DB::select(DB::raw('SELECT tutorialid FROM assessments GROUP BY tutorialid HAVING(COUNT(*)) ORDER BY COUNT(*) DESC LIMIT 5 ;')); }); $out = ''; if ($tutorials == null) { return $out; } foreach ($tutorials as $tutorial_t) { $out .= "<div>"; $tutorial = Tutorials::find($tutorial_t->tutorialid); $string = $tutorial->content; $string = strlen($string) > 753 ? substr($string, 0, 750) . '...' : $string; $string = wordwrap($string, 200, "<br>\n"); $out .= '<h2 class="title">' . $tutorial->name . '</h2>'; $out .= '<label class="label label-success">Subject </label>' . Subject::find($tutorial->subjectid)->subjectname . ' <label class="label label-success">Grade</label> :- ' . Subject::find($tutorial->subjectid)->grade; $out .= " <br> <br>" . $string; $out .= " <br><a class='btn btn-large' href='/tutorial/" . $tutorial->id . "/'>Read More ...</a> <br> <br> <br>"; $out .= '</div>'; } return $out; }); $latest_tutorials = Cache::remember('latest_tutorials', 20, function () { $tutorials = Cache::remember('latest_tutes', 20, function () { return DB::select(DB::raw('SELECT id from tutorials WHERE published= 1 ORDER BY `created_at` DESC LIMIT 5;')); }); $out = ''; if ($tutorials == null) { return $out; } foreach ($tutorials as $tutorial_t) { $tutorial = Tutorials::find($tutorial_t->id); $string = $tutorial->content; $string = preg_replace("/<img[^>]+\\>/i", "", $string); $images = self::getTutorialImages($tutorial->content); if ($images == null) { // continue; } $string = strlen($string) > 753 ? substr($string, 0, 750) . '...' : $string; $string = wordwrap($string, 200, "<br>\n"); $out .= "<div>"; $out .= '<h2 class="title">' . $tutorial->name . '</h2>'; $out .= '<p style="display:inline-block;"> <label class="label label-success">Subject </label>' . Subject::find($tutorial->subjectid)->subjectname . ' <label class="label label-success">Grade</label> :- ' . Subject::find($tutorial->subjectid)->grade . '</p>'; $out .= " <br> <br>" . $string; $out .= "<img src='" . $images[rand(0, count($images) - 1)] . "' class='' style='height:100%;'/>"; $out .= " <br><a class='btn btn-large' href='/tutorial/" . $tutorial->id . "/'>Read More ...</a> <br> <br> <br>"; $out .= '</div>'; } return $out; }); $topstudents = Cache::remember('topstudents', 20, function () { $out = ''; $topstudentlist = Cache::remember('topstudentlist', 20, function () { return DB::select(DB::raw('SELECT studentid as sid,AVG(marks) as average FROM assessments WHERE `created_at` >= CURDATE() - INTERVAL 7 DAY GROUP BY studentid ORDER BY average DESC LIMIT 0,5;')); }); if ($topstudentlist == null) { return $out; } foreach ($topstudentlist as $student) { $user = User::find($student->sid); $url = Gravatarer::make(['email' => $user->email, 'size' => 200, 'defaultImage' => 'mm', 'rating' => 'g'])->url(); $out .= "<div>"; $out .= "<img style='clear:left;' class='avatar' alt='" . $user->email . "' src='" . $url . "'/>\n\t\t<br><strong>Name:</strong>" . $user->first_name . ' ' . $user->last_name . ''; $out .= "<br><label class='label label-success'>Average Score</label> is " . (int) $student->average . ""; $out .= "</div>"; } return $out; }); $add = ['tutorialslides' => $tutorialslides, 'latesttutorialslides' => $latest_tutorials, 'topstudents' => $topstudents]; return $theme->scope('index', $add)->content(); }
public function tutorials_save() { if (Auth::check()) { if (Auth::User()->ldap_verified == 0) { $messageBag = new MessageBag(); $messageBag->add('message', "Please Verify Your GPO ID before Uploading a Tutorial"); return Redirect::Route('user.profile')->with('messages', $messageBag)->withInput(); } else { $user_id = Auth::User()->id; $name = Input::get("Name"); $club = Input::get("Club"); $file = Input::file("File"); if (!Input::hasFile("File") || $user_id == "" || $name == "" || $club == "") { $messageBag = new MessageBag(); $messageBag->add('message', "Error in form. Fill up all the required fields correctly"); return Redirect::back()->with('messages', $messageBag)->withInput(); } if (Input::file("File")->getSize() > 2 * 1024 * 1024) { $messageBag = new MessageBag(); $messageBag->add('message', "Files Bigger than 2 MB aren't allowed"); return Redirect::back()->with('messages', $messageBag)->withInput(); } $tutorial = new Tutorials(); $tutorial->name = $name; $tutorial->by = intval($user_id); $tutorial->club = $club; // $tutorial->url = $filename; $tutorial->save(); $destinationPath = public_path() . "/assets/tutorials/"; $extension = $file->getClientOriginalExtension(); $filename = $tutorial->id . "." . $extension; $file->move($destinationPath, $filename); // $tutorial->name = $name; // $tutorial->by = intval($user_id); // $tutorial->club = $club; $tutorial->url = $filename; $tutorial->save(); $messageBag = new MessageBag(); $messageBag->add('message', "Tutorial successfully uploaded."); return Redirect::back()->with('messages', $messageBag)->withInput(); } } else { $messageBag = new MessageBag(); $messageBag->add('message', 'Please Login before Uploading a Tutorial'); return Redirect::Route('user.profile')->with('messages', $messageBag)->withInput(); } }
public function tutorial($id) { return Cache::remember('tutorial' . $id, 60, function () use($id) { return Tutorials::find($id); }); }
<div class="span12"> <?php $examid = $id; $exam = Exams::find($id); echo "<fieldset>"; echo "<div class='container-fluid'><div class='row-fluid'><div class='span6'>"; echo Form::label('id', 'ID', array('class' => 'pull-left', 'style' => 'margin:20px;')); echo Form::text('id', 0, array('class' => 'pull-right disabled uneditable-input', 'style' => 'margin:20px;', 'disabled')); echo Form::label('related_tutorial', 'Related Tutorial', array('class' => 'pull-left', 'style' => 'clear:left;margin:10px')); $tutorialid = Session::get('tutorialid', 1); $tutoriallist = array(); // $tutorial = Tutorials::where('id','=',$tutorialid); // var_dump($tutorial); if ($tutorialid !== NULL) { $tutorial = Tutorials::findOrFail($tutorialid); $tutoriallist[$tutorial->id] = $tutorial->name; $teacher = User::findOrFail($tutorial->createdby); echo Form::select('related_tutorial', $tutoriallist, Session::get('tutorialid'), array('class' => 'pull-right uneditable-input', 'style' => 'clear:right;margin:5px;height:30px;')); } echo Form::label('submitted_to', "Submitted To", array('class' => 'pull-left', 'style' => 'clear:left;margin:10px;')); $teacherlist = [$teacher->id => $teacher->first_name . ' ' . $teacher->last_name]; echo Form::select('submitted_to', $teacherlist, $teacher->id, array('class' => 'pull-right disabled uneditable-input', 'style' => 'clear:right;margin:5px;height:30px;')); echo Form::label('subject', 'Subject', array('class' => 'pull-left', 'style' => 'clear:left;margin:10px;')); $subjectid = $tutorial->subjectid; $subject = Subject::findOrFail($subjectid); $subjectlist = [$subjectid => $subject->subjectname]; echo Form::select('subject', $subjectlist, $subjectid, array('class' => 'pull-right disabled uneditable-input', 'style' => 'clear:right;margin:5px;height:30px;')); echo Form::label('examid', "Exam ID", array('class' => 'pull-left', 'style' => 'margin:20px;clear:left;')); echo Form::text('examid', $examid, array('style' => 'clear:right;margin:10px;', 'class' => 'pull-right disabled', 'disabled')); echo "</div></div></div>";
<?php foreach ($tutorials as $row) { ?> <li <?php if ($row->status == 0) { ?> style='background-color:#FFCECE;'<?php } ?> > <h2><?php echo CHtml::link(CHtml::encode($row->title), array('/tutorials/view/' . $row->alias, 'lang' => false)); ?> </h2> <?php if (Tutorials::model()->canEditTutorial($row)) { ?> <?php echo CHtml::link(CHtml::image(Yii::app()->themeManager->baseUrl . '/images/icons/pencil.png'), array('tutorials/edittutorial', 'id' => $row->id)); ?> <?php } ?> <?php if (Yii::app()->user->checkAccess('op_tutorials_manage')) { ?> <?php if ($row->status) {
private function createtutorial($dash) { $user = Sentry::getUser(); $userid = Sentry::getUser()->id; $teacher = Teacher::findOrFail($user->id); $ssubjects = $teacher->extra; $subjects = unserialize($ssubjects); $truth = self::subjectValidator($user->id, $subjects, Input::get('subject')); if ($truth == 0) { if (!Sentry::getUser()->inGroup(Sentry::findGroupByName('admin'))) { return Redirect::to(URL::previous()); } } $tutorial = new Tutorials(); $tutorial->name = Input::get('title'); $tutorial->description = Input::get('description'); $tutorial->content = Input::get('tutorial'); $tutorial->createdby = Sentry::getUser()->id; $tutorial->subjectid = Input::get('subject'); if (Input::get('published') == 'on') { $tutorial->published = 1; } else { $tutorial->published = 0; } $tutorial->save(); $newtutorial = DB::table('tutorials')->orderby('id', 'desc')->first(); if (Input::hasFile('attachments')) { $files = Input::file('attachments'); foreach ($files as $file) { if ($file) { $name = $file->getClientOriginalName(); $file->move(app_path() . '/attachments/tutorial-' . $newtutorial->id . '/', $name); } } } $newid = $newtutorial->id; Cache::forget("tutorial_listing_dash"); return $newid; }
<?php $studentquery = DB::select(DB::raw('SELECT COUNT(`dob`) FROM `students` WHERE `created_at` >= CURDATE() - INTERVAL 1 DAY')); $userquery = DB::select(DB::raw('SELECT COUNT(`email`) FROM `users` WHERE `created_at` >= CURDATE() - INTERVAL 1 DAY')); $tutorialquery = DB::select(DB::raw('SELECT COUNT(`id`) FROM `tutorials` WHERE `created_at` >= CURDATE() - INTERVAL 1 DAY')); $assessmentquery = DB::select(DB::raw('SELECT COUNT(`id`) FROM `assessments` WHERE `created_at` >= CURDATE() - INTERVAL 1 DAY')); $stresult = objectToArray($studentquery); $usresult = objectToArray($userquery); $turesult = objectToArray($tutorialquery); $asresult = objectToArray($assessmentquery); $todayusercount = $usresult[0]['COUNT(`email`)']; $usercountall = User::all()->count(); $todaystudentcount = $stresult[0]['COUNT(`dob`)']; $studentcountall = Student::all()->count(); $todaytutorialcount = $turesult[0]['COUNT(`id`)']; $tutorialcountall = Tutorials::all()->count(); $todayassessmentcount = $asresult[0]['COUNT(`id`)']; $assessmentcountall = Assessments::all()->count(); ?> <div class="sortable row-fluid"> <a data-rel="tooltip" title="{{ $todayusercount }} new members." class="well span3 top-block" href="#"> <span class="icon32 icon-red icon-user"></span> <div>Total Members</div> <div>{{ $usercountall }}</div> <span class="notification">{{ $todayusercount }}</span> </a> <a data-rel="tooltip" title="{{ $todaystudentcount }} new students." class="well span3 top-block" href="#"> <span class="icon32 icon-blue icon-user"></span> <div>Total Students</div> <div>{{ $studentcountall }} </div>
/** * Delete tutorial action */ public function actiondeletetutorial() { // Perms if (!Yii::app()->user->checkAccess('op_tutorials_deletetutorials')) { throw new CHttpException(403, Yii::t('error', 'Sorry, You don\'t have the required permissions to enter this section')); } if (isset($_GET['id']) && ($model = Tutorials::model()->findByPk($_GET['id']))) { $catid = $model->catid; $model->delete(); Yii::app()->user->setFlash('success', Yii::t('admintuts', 'Tutorial Deleted.')); $this->redirect(array('viewcategory', 'id' => $catid)); } else { $this->redirect(array('index')); } }
</a> <?php $this->widget('CStarRating', array('htmlOptions' => array('class' => 'linkcomment', 'style' => 'padding-left: 4px; text-align:left; direction:ltr;'), 'name' => 'rating', 'value' => $model->getRating(), 'readOnly' => Yii::app()->user->isGuest, 'allowEmpty' => false, 'starCount' => 5, 'ratingStepSize' => 1, 'maxRating' => 10, 'minRating' => 1, 'callback' => ' function(){ $.ajax({ type: "POST", url: "' . $this->createUrl('tutorials/rating') . '", data: "' . Yii::app()->request->csrfTokenName . '=' . Yii::app()->request->csrfToken . '&id=' . $model->id . '&rate=" + $(this).val(), success: function(msg){ alert("' . Yii::t('global', 'Rating Added.') . '"); }})}')); ?> <?php if (Tutorials::model()->canEditTutorial($model)) { ?> <?php echo CHtml::link(CHtml::image(Yii::app()->themeManager->baseUrl . '/images/icons/pencil.png'), array('tutorials/edittutorial', 'id' => $model->id), array('class' => 'linkcomment')); ?> <?php } ?> <?php if (Yii::app()->user->checkAccess('op_tutorials_manage')) { ?> <?php if ($model->status) {
if ($assessment->assessmenttype == 'exam') { ?> <div class="clearfix visible-sm visible-xs"></div> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6"> <h4>Table of Failed Questions and Answers by Student</h4> <table id="questionfail" class="table table-striped table-bordered bootstrap-datatable datatable"> <thead> <tr> <th>Question No</th> <th>Question</th> <th>Answer(s)</th> </tr> </thead> <tbody> <?php $examdata = unserialize(Tutorials::find($assessment->tutorialid)->exams); $wronganswers = File::get(app_path() . '/files/assessment/' . $assessment->id . '/exam-' . $examdata['id'] . '/questionfailed.json'); $examy = Exams::findOrFail($examdata['id']); $hash = $examy->hash; $wronganswers = json_decode($wronganswers, true); if (isset($wronganswers['questions'])) { foreach ($wronganswers['questions'] as $key => $value) { echo "<tr><td>" . $key . "</td>" . "<td>" . $value . "</td>"; echo "<td>"; $examdata_encoded = File::get(app_path() . '/files/exam-' . $examy->id . '/' . $hash . '.json'); $examdata = json_decode($examdata_encoded, true); foreach ($wronganswers['questions_fail'][$key][0] as $answerr) { if ($answerr != 0) { echo "<b>" . $answerr . "</b>. "; echo $examdata['questiondata']['question'][$key]['checkboxdata'][$answerr] . "<br>"; }
public function doExam($tid, $eid, $hash) { $userid = Sentry::getUser()->id; $decryptedhash = Crypt::decrypt($hash); if ($decryptedhash == 'tutorial-' . $tid) { Session::put('halt_tutorial_except', 0); Session::put('examid', 0); $validator = Validator::make(Input::all(), ['related_tutorial' => "required|unique:assessments,tutorialid,NULL,id,studentid," . $userid, 'submitted_to' => 'required|exists:users,id', 'subject' => 'required|exists:subjects,id']); if ($validator->fails()) { return "EXAM PAPER HAS BEEN MODIFIED or SUBMITTED AGAIN.Click here to go to <a href='" . Setting::get('app.url') . "'>HOME PAGE</a>. ANSWERS ARE NOT ACCEPTED."; } $tutorial = Tutorials::findOrFail($tid); $exam = Exams::find($eid); $data = array(); $assessment = new Assessments(); $assessment->title = $tutorial->name . ' Exam For ' . $exam->title; $assessment->description = $exam->title . ' exam done for ' . $tutorial->name . ' by ' . Sentry::getUser()->first_name . ' ' . Sentry::getUser()->last_name; $assessment->assessmenttype = "exam"; $assessment->tutorialid = $tid; $assessment->studentid = Sentry::getUser()->id; $assessment->teacherid = $tutorial->createdby; $assessment->subjectid = $tutorial->subjectid; $assessment->save(); $questions = $exam->totalquestions; $input = Input::all(); for ($qc = 1; $qc <= $questions;) { Session::put('checkboxcount', 1); $data['answers'][$qc][1] = ''; $data['answers'][$qc][2] = ''; $data['answers'][$qc][3] = ''; $data['answers'][$qc][4] = ''; if (!isset($input['checkbox_' . $qc])) { $qc++; continue; } foreach ($input['checkbox_' . $qc] as $answer) { // var_dump($answer); $qu = Session::get('checkboxcount', 0); $data['answers'][$qc][$qu] = $answer; Session::put('checkboxcount', ++$qu); } $qc++; } $answerdata = json_encode($data); $nassessment = DB::table('assessments')->orderby('id', 'desc')->first(); $encryptedpath = 'questiondata'; // var_dump(app_path().'/files/assessment/'.$nassessment->id.'/exam-'.$tid.'/'); File::makeDirectory(app_path() . '/files/assessment/' . $nassessment->id . '/exam-' . $eid, 0777, true); file_put_contents(app_path() . '/files/assessment/' . $nassessment->id . '/exam-' . $exam->id . '/' . $encryptedpath . '.json', $answerdata); $failedquestions = []; file_put_contents(app_path() . '/files/assessment/' . $assessment->id . '/exam-' . $exam->id . '/questionfailed.json', $failedquestions); return Redirect::to('/'); // var_dump($decryptedhash); } else { return Redirect::to(URL::previous()); } }
<th>Score out of 100</th> <th>Submitted By</th> </tr> </thead> <tbody> <?php $assessments = Assessments::all(); foreach ($assessments as $assessment) { $tutorialid = $assessment->tutorialid; $teacherid = $assessment->teacherid; $teacher = User::find($teacherid); $admin = Sentry::getUser()->inGroup(Sentry::findGroupByName('admin')); if (Sentry::getUser()->id == $teacherid || $admin) { $tutorial = DB::select(DB::raw('SELECT * FROM `tutorials` WHERE `id` = ' . $tutorialid)); $tutorial = array_dot(objectToArray($tutorial)); $tutorial = Tutorials::find((int) $assessment->tutorialid); $studentid = $assessment->studentid; $student = User::find($studentid); $subject = Subject::find($assessment->subjectid); echo "<tr>"; echo "<td>"; echo $assessment->id; echo "</td>"; echo "<td>"; echo "<a href='/assessment/" . $assessment->id . "/'>" . $assessment->title . '</a>'; echo "</td>"; echo "<td>"; echo "<a href='/tutorial/view/" . $tutorialid . "'>"; echo $tutorial->name; unset($tutorial); echo "</a>";
public function submit() { $userid = Sentry::getUser()->id; $user = Sentry::getUser(); $student = Student::findOrFail($user->id); $ssubjects = $student->extra; $subjects = unserialize($ssubjects); $truth = self::subjectValidator($user->id, $subjects, Input::get('subject')); if ($truth == 0) { return Redirect::to(URL::previous()); } $messages = array('title.required' => 'The :attribute is Required.', 'related_tutorial.unique' => 'You have already submitted a Assessment for this tutorial. Please Update it.You can only submit a Assessment Per Tutorial', 'required' => 'The :attribute is Required'); $validator = Validator::make(Input::all(), array('id' => 'required', 'title' => 'required|max:128|min:5', 'description' => 'max:1024', 'related_tutorial' => "required|unique:assessments,tutorialid,NULL,id,studentid," . $userid, 'submitted_to' => 'required', 'subject' => 'required', 'assessment_type' => 'required'), $messages); if ($validator->fails()) { Input::flash(); return Redirect::to('/assessment/submit')->withErrors($validator); } $assessment = new Assessments(); $assessment->title = Input::get('title'); $assessment->description = Input::get('description'); $assessment->assessmenttype = Input::get('assessment_type'); $assessment->tutorialid = Input::get('related_tutorial'); $assessment->teacherid = Input::get('submitted_to'); $assessment->subjectid = Input::get('subject'); $assessment->studentid = Sentry::getUser()->id; $assessment->save(); $newassessment = DB::table('assessments')->orderby('id', 'desc')->first(); $assessment = Assessments::find($newassessment->id); if (Input::hasFile('attachments')) { $files = Input::file('attachments'); foreach ($files as $file) { if ($file) { $name = $file->getClientOriginalName(); File::makeDirectory(app_path() . '/attachments/assessment-' . $newassessment->id . '/', 777); $file->move(app_path() . '/attachments/assessment-' . $newassessment->id . '/', $name); } } } $data = array(); $data['fname'] = User::find($assessment->studentid)->first_name; $data['lname'] = User::find($assessment->studentid)->last_name; $data['tutorial'] = Tutorials::find($assessment->tutorialid)->name; $data['submittedby'] = User::find($assessment->studentid)->first_name . ' ' . User::find($assessment->studentid)->last_name; $data['submittedon'] = $assessment->created_at; Mail::send('emails.assessmentsubmit', $data, function ($message) use($assessment) { $userid = $assessment->teacherid; $user = Sentry::findUserById($userid); $tutorial = Tutorials::find($assessment->tutorialid); $submittedby = User::find($assessment->studentid); $fullname = $user->first_name . ' ' . $user->last_name; $message->to($user->getLogin(), $fullname)->subject('New Assessment Submitted by ' . $submittedby->first_name . ' ' . $submittedby->last_name . ' on Tutorial ' . $tutorial->name); }); // Input::file('attachment1')->move(app_path().'/attachments/assessment-'.$assessment->id.'/',$name); $theme = Theme::uses('site')->layout('default'); $view = ['id' => $newassessment->id]; $theme->asset()->container('datatables')->writeScript('inline-script', '$(document).ready(function(){ $(\'#attachment\').dataTable({ "sDom": "<\'row\'<\'col-xs-5 col-sm-5 col-md-5\'l><\'col-xs-5 col-sm-5 col-md-5\'f>r>t<\'row\'<\'col-xs-5 col-sm-5 col-md-5\'i><\'col-xs-5 col-sm-5 col-md-5\'p>>", "oLanguage": { "sLengthMenu": "_MENU_ ' . ' Attachments per page" }, "sPagination":"bootstrap" }); });'); return $theme->scope('assessment.update', $view)->render(); }
<?php if ($this->beginCache('indextutorials_' . Yii::app()->language, array('duration' => 3600))) { ?> <?php $tuts = Tutorials::model()->byDate()->byLang()->limitIndex()->findAll('status=1'); ?> <?php if (is_array($tuts) && count($tuts)) { ?> <?php foreach ($tuts as $tut) { ?> <li><?php echo Tutorials::model()->getLink($tut->title, $tut->alias, array('title' => $tut->description)); ?> </li> <?php } ?> <?php } else { ?> <li><?php echo Yii::t('index', 'No Tutorials Available.'); ?> </li> <?php }
/** * Tutorials & Category RSS */ public function actionrss() { $criteria = new CDbCriteria(); if (isset($_GET['id']) && ($model = TutorialsCats::model()->findByPk($_GET['id']))) { $criteria->condition = 'catid=:catid AND status=:status'; $criteria->params = array(':catid' => $model->id, ':status' => 1); } else { $criteria->condition = 'status=:status'; $criteria->params = array(':status' => 1); } $rows = array(); // Load some tutorials $criteria->order = 'postdate DESC'; $criteria->limit = 50; $tutorials = Tutorials::model()->with(array('author'))->findAll($criteria); $markdown = new MarkdownParser(); if ($tutorials) { foreach ($tutorials as $r) { $r->content = $markdown->safeTransform($r->content); $rows[] = array('title' => $r->title, 'link' => Yii::app()->createAbsoluteUrl('/tutorials/view/' . $r->alias, array('lang' => false)), 'charset' => Yii::app()->charset, 'description' => $r->description, 'author' => $r->author ? $r->author->username : Yii::app()->name, 'generator' => Yii::app()->name, 'language' => Yii::app()->language, 'guid' => $r->id, 'content' => $r->content); } } $data = array('title' => isset($model) ? $model->title : Yii::t('tutorials', 'Tutorials RSS Feed'), 'link' => isset($model) ? Yii::app()->createAbsoluteUrl('/tutorials/category/' . $model->alias, array('lang' => false)) : Yii::app()->createAbsoluteUrl('tutorials', array('lang' => false)), 'charset' => Yii::app()->charset, 'description' => isset($model) ? $model->description : Yii::t('tutorials', 'Tutorials'), 'author' => Yii::app()->name, 'generator' => Yii::app()->name, 'language' => Yii::app()->language, 'ttl' => 10, 'entries' => $rows); Yii::app()->func->displayRss($data); }
/** * Get the rows for the sitemap */ protected function getRows() { $_rows = array(); // Grab blog cats $blogCats = BlogCats::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($blogCats)) { foreach ($blogCats as $blogCat) { $_rows[] = $this->makeData($this->getFullUrl('/blog/category/' . $blogCat->alias), time(), 'monthly', 0.1); } } // Grab blog rows $blogRows = Blog::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($blogRows)) { foreach ($blogRows as $blogRow) { $_rows[] = $this->makeData($this->getFullUrl('/blog/view/' . $blogRow->alias), $blogRow->postdate, 'weekly', 1); } } // Grab tutorials cats $tutorialsCats = TutorialsCats::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($tutorialsCats)) { foreach ($tutorialsCats as $tutorialsCat) { $_rows[] = $this->makeData($this->getFullUrl('/tutorials/category/' . $tutorialsCat->alias), time(), 'monthly', 0.1); } } // Grab tutorials rows $tutorialsRows = Tutorials::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($tutorialsRows)) { foreach ($tutorialsRows as $tutorialsRow) { $_rows[] = $this->makeData($this->getFullUrl('/tutorials/view/' . $tutorialsRow->alias), $tutorialsRow->postdate, 'weekly', 1); } } // Grab extensions cats $extensionsCats = ExtensionsCats::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($extensionsCats)) { foreach ($extensionsCats as $extensionsCat) { $_rows[] = $this->makeData($this->getFullUrl('/extensions/category/' . $extensionsCat->alias), time(), 'monthly', 0.1); } } // Grab extensions rows $extensionsRows = Extensions::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($extensionsRows)) { foreach ($extensionsRows as $extensionsRow) { $_rows[] = $this->makeData($this->getFullUrl('/extensions/view/' . $extensionsRow->alias), $extensionsRow->postdate, 'weekly', 1); } } // Grab users rows $usersRows = Members::model()->findAll(); if (count($usersRows)) { foreach ($usersRows as $usersRow) { $_rows[] = $this->makeData($this->getFullUrl('/user/' . $usersRow->id . '-' . $usersRow->seoname), $usersRow->joined, 'monthly', 1); } } // Grab forum topics rows $forumTopics = ForumTopics::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($forumTopics)) { foreach ($forumTopics as $forumTopic) { $_rows[] = $this->makeData($this->getFullUrl('/forum/topic/' . $forumTopic->id . '-' . $forumTopic->alias), $forumTopic->dateposted, 'daily', 1); } } // Grab custom pages $customPages = CustomPages::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($customPages)) { foreach ($customPages as $customPage) { $_rows[] = $this->makeData($this->getFullUrl('/' . $forumTopic->alias), $customPage->dateposted, 'weekly', 1); } } // Grab documentation pages $documentations = Documentation::model()->findAll('language=:langauge', array(':langauge' => Yii::app()->language)); if (count($documentations)) { foreach ($documentations as $documentation) { $_rows[] = $this->makeData($this->getFullUrl('/documentation/guide/' . $documentation->type . '/topic/' . $documentation->mkey), $documentation->last_updated, 'weekly', 1); } } // Return array return $_rows; }