Exemplo n.º 1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Exams::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(['ExamQuestionId' => $this->ExamQuestionId, 'Question' => $this->Question, 'ExamId' => $this->ExamId]);
     return $dataProvider;
 }
Exemplo n.º 2
0
 public function examupdateget($dash, $id)
 {
     if (Exams::find($id)) {
         $theme = Theme::uses('dashboard')->layout('default');
         $view = array('name' => 'Dashboard Assessment Update', 'id' => $id);
         $theme->breadcrumb()->add([['label' => 'Dashboard', 'url' => Setting::get('system.dashurl')], ['label' => 'Exams', 'url' => Setting::get('system.dashurl') . '/exams'], ['label' => $id, 'url' => Setting::get('system.dashurl') . '/exam/' . $id]]);
         return $theme->scope('exam.update', $view)->render();
     }
     $theme = Theme::uses('dashboard')->layout('default');
     $view = array('name' => 'Dashboard Assessment Update', 'id' => $id);
     $theme->breadcrumb()->add([['label' => 'Dashboard', 'url' => Setting::get('system.dashurl')], ['label' => 'Exams', 'url' => Setting::get('system.dashurl') . '/exams'], ['label' => $id, 'url' => Setting::get('system.dashurl') . '/exam/' . $id]]);
     return $theme->scope('exam.create', $view)->render();
 }
Exemplo n.º 3
0
        {{$breadcrumbs}}
            </div>

            <!--TODO: Editing Template  -->
                <div class="box span12">
                    <div class="box-header well">
                        <h2><i class="icon-info-sign"></i>Create a New Exam</h2>
                    </div>
                    <div class="box-content" style="display: block;">
                        <div class="container-fluid">
                        <div class="row-fluid">
                            <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;'));
}
Exemplo n.º 4
0
<?php

$examid = Session::get('examid');
$exam = Exams::find($examid);
Session::put('halt_tutorial_except', $id);
$tohash = 'tutorial-' . $id;
$encrypted = Crypt::encrypt($tohash);
?>
<!doctype html>
<html>
    <head>
        <title>{{ Setting::get('system.schoolname') }}</title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        @stylesheets('bootstrap')
        @stylesheets('grans')
    </head>
    <body>
        {{ $header }}
        <div class='container-fluid'>
            <div class='row-fluid'>
                <div class="span12 offset1">
                    <?php 
echo Form::open(array('url' => '/tutorial-' . $id . '/exam-' . $examid . '/' . $encrypted . '/', 'method' => 'post', 'class' => 'form-horizontal'));
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);
Exemplo n.º 5
0
                            <?php 
if ($errors->first()) {
    echo "<div class='alert alert-error alert-block fade in'>";
    echo '<button type="button" class="close" data-dismiss="alert">×</button>';
    echo $errors->first();
    echo "</div>";
}
echo Form::open(array('url' => '/exam/edit/' . $id, 'method' => 'post', 'class' => 'form-horizontal'));
echo "<fieldset>";
echo Form::label('id', 'id', array('class' => 'pull-left', 'style' => 'clear:left;padding:15px;'));
echo Form::text('id', $id, array('disabled' => '', 'class' => 'disabled pull-right', 'style' => 'margin:10px;'));
echo Form::label('title', 'Title', array('class' => 'pull-left', 'style' => 'clear:left;margin:15px;'));
echo Form::text("title", $exam->title, array('placeholder' => 'Title of the Tutorial', 'class' => 'pull-right', 'style' => 'clear:right;margin:10px;'));
echo Form::label('subject', 'Subject', array('class' => 'pull-left', 'style' => 'clear:left;margin:15px;'));
$subject = Subject::find(Exams::find($id)->subjectid);
$subjectlist[$subject->id] = $subject->subjectname;
echo Form::select('subject', $subjectlist, $subject->id, array('class' => 'pull-right', 'style' => 'clear:right;margin:10px;'));
echo '<div class="control-group" style="clear:left;">';
echo "<div id='exams'>";
$hash = $exam->hash;
$examdata_encoded = File::get(app_path() . '/files/exam-' . $id . '/' . $hash . '.json');
Session::put('questiondata_key', 1);
$examdata = json_decode($examdata_encoded);
$examdata = objectToArray($examdata);
foreach ($examdata['questiondata']['questions'] as $question) {
    $qc = Session::get('questiondata_key', 1);
    $checked1 = '';
    $checked2 = '';
    $checked3 = '';
    $checked4 = '';
Exemplo n.º 6
0
 Route::get('users', array('before' => 'admin', 'uses' => 'DashboardController@users'));
 Route::get('teachers', array('before' => 'admin', 'uses' => 'DashboardController@teachers'));
 Route::get('students', array('before' => 'admin', 'uses' => 'DashboardController@students'));
 Route::get('exams', array('before' => 'teacher', 'uses' => 'DashboardController@exams'));
 Route::get('subjects', array('before' => 'admin', 'uses' => 'DashboardController@subjects'));
 Route::get('tutorials', array('before' => 'teacher', 'uses' => 'DashboardController@tutorials'));
 Route::get('assessments', array('before' => 'teacher', 'uses' => 'DashboardController@assessments'));
 Route::get('/', array('as' => 'dashboard', 'before' => 'teacher', 'uses' => 'DashboardController@dash'));
 Route::get('tutorial/edit/{id?}', 'TutorialsController@index')->where('id', '[0-9]+')->before('teacher');
 Route::get('tutorial/{mode}/{id}', array('before' => 'teacher', 'uses' => 'TutorialsController@modder'));
 Route::get('tutorial/update/{id}/{attachmentname}/{mode}', array('before' => 'teacher', 'uses' => 'TutorialsController@attachmentHandler'));
 Route::get('assessment/{id}', array('before' => 'teacher', 'uses' => 'HttpController@assessmentupdateget'));
 Route::get('/assessment-{aid}/exam-{eid}/markup', array('before' => 'teacher', 'uses' => 'ExamController@markExam'));
 Route::get('/exam/edit/{id}', array('before' => 'teacher', 'uses' => 'HttpController@examupdateget'));
 Route::get('/exam/view/{id}', array('before' => 'teacher', function ($dash, $id) {
     if (Exams::find($id)) {
         return View::make('dashboard.exams.view')->with('id', $id);
     }
     return View::make('dashboard.exams.create')->with('id', 0);
 }));
 Route::get('/exam/delete/{id}', array('before' => 'admin', function ($dash, $id) {
     $exam = Exams::findOrFail($id);
     $examdata = DB::select(DB::raw('SELECT exams FROM tutorials'));
     $examdata = objectToArray($examdata);
     $pass = [];
     foreach ($examdata as $exam) {
         if ($exam["exams"] != NULL) {
             $exam = unserialize($exam["exams"]);
             if ((int) $exam["id"] !== (int) $id) {
                 $pass[] = true;
             } elseif ((int) $exam["id"] == (int) $id) {
Exemplo n.º 7
0
 public function updateExam($dash, $id)
 {
     $rules = array();
     $rules['questioncount'] = 'required|integer|min:5|max:100';
     $rules['title'] = 'required|min:6|max:1024';
     $messages = array();
     $questioncount = Input::get('questioncount');
     var_dump($questioncount);
     for ($qc = 1; $qc <= $questioncount; $qc++) {
         if (Input::get('questionpass' . $qc) == $qc) {
             $qc++;
             continue;
         } else {
             if (Input::get('question_' . $qc) != NULL) {
                 $rules['question_' . $qc] = 'min:4|max:1024';
                 $rules['checkbox_' . $qc] = 'required';
                 $rules['checkbox_' . $qc . '_1'] = 'required|min:1|max:1024';
                 $rules['checkbox_' . $qc . '_2'] = 'required|min:1|max:1024';
                 $rules['checkbox_' . $qc . '_3'] = 'required|min:1|max:1024';
                 $rules['checkbox_' . $qc . '_4'] = 'required|min:1|max:1024';
             }
         }
     }
     for ($qc = 1; $qc <= $questioncount; $qc++) {
         if (Input::get('questionpass' . $qc) == $qc) {
             $qc++;
             continue;
         } else {
             if (Input::get('question_') . $qc != NULL) {
                 $messages['question_' . $qc . '.required'] = 'Question ' . $qc . " is required";
                 $messages['checkbox_' . $qc . '_1' . '.required'] = 'The value for ' . $qc . ' Checkbox 1 is missing.';
                 $messages['checkbox_' . $qc . '_2' . '.required'] = 'The value for ' . $qc . ' Checkbox 2 is missing.';
                 $messages['checkbox_' . $qc . '_3' . '.required'] = 'The value for ' . $qc . ' Checkbox 3 is missing.';
                 $messages['checkbox_' . $qc . '_4' . '.required'] = 'The value for ' . $qc . ' Checkbox 4 is missing.';
             }
         }
     }
     $validator = Validator::make(Input::all(), $rules, $messages);
     if ($validator->fails()) {
         Input::flash();
         // return Redirect::to('/exam/edit/0')->withErrors($validator)->withInput();
         return View::make('dashboard.exams.create')->with('errors', $validator->getMessageBag())->with('id', 0);
     }
     $input = Input::all();
     $exam = Exams::find($id);
     $exam->title = Input::get('title');
     $exam->subjectid = Input::get('subject');
     $exam->createdby = Sentry::getUser()->id;
     $data = array();
     $data = array();
     $data['maxtime'] = Input::get('timing', '30');
     $qrealcount = 0;
     for ($question = 1; $question <= $questioncount;) {
         // $data['questiondata']['question'][$question]['answers'] = 'answers';
         // echo $input['question_'.$question].'<br>';
         // var_dump($input['checkbox_'.$question]);
         // echo "'<br>';";
         if (isset($input['question_' . $question])) {
             $qrealcount++;
             $data['questiondata']['questions'][$question] = $input['question_' . $question];
             for ($checkbox = 1; $checkbox <= 4; $checkbox++) {
                 $data['questiondata']['question'][$question]['checkboxdata'][$checkbox] = $input['checkbox_' . $question . '_' . $checkbox];
                 // echo $input['checkbox_'.$question.'_'.$checkbox].'<br>';
             }
             // var_dump($input['checkbox_'.$question]);
             if (is_array($input['checkbox_' . $question])) {
                 if (isset($input['checkbox_' . $question][0]) && $input['checkbox_' . $question][0] > 0 && $input['checkbox_' . $question][0] <= 4) {
                     $data['questiondata']['question'][$question]['answers'][0] = $input['checkbox_' . $question][0];
                 }
                 if (isset($input['checkbox_' . $question][1])) {
                     $data['questiondata']['question'][$question]['answers'][1] = $input['checkbox_' . $question][1];
                 }
                 if (isset($input['checkbox_' . $question][2])) {
                     $data['questiondata']['question'][$question]['answers'][2] = $input['checkbox_' . $question][2];
                 }
                 if (isset($input['checkbox_' . $question][3])) {
                     $data['questiondata']['question'][$question]['answers'][3] = $input['checkbox_' . $question][3];
                 }
                 if (isset($input['checkbox_' . $question][4])) {
                     $data['questiondata']['question'][$question]['answers'][4] = $input['checkbox_' . $question][4];
                 }
             } else {
                 $data['questiondata']['question'][$question]['answers'] = $input['checkbox_' . $question][0];
             }
             $question++;
         } else {
             if (Input::get('questionpass' . $question) == $question) {
                 // $question++;
             }
             $question++;
         }
     }
     // var_dump($data);
     $encoded = json_encode($data);
     echo $encoded;
     $encryptedpath = Crypt::encrypt('questiondata');
     $encryptedpath = substr($encryptedpath, strlen($encryptedpath) / 2);
     file_put_contents(app_path() . '/files/exam-' . $exam->id . '/' . $encryptedpath . '.json', $encoded);
     $exam->hash = $encryptedpath;
     $exam->totalquestions = $qrealcount;
     $exam->save();
     // var_dump($data)
     return Redirect::to(URL::previous());
 }
Exemplo n.º 8
0
                            </tbody>
                            </table>
                            <a id="showquestions" class="btn btn-success ">Show Questions</a>

                            <a class="hidequestions btn btn-warning">Hide Questions</a>
                            </div>

                           
                            <div class="clearfix"></div>
                            <div id="examslock" style="height:40px;">
                            </div>
                                <h3 id="examsheader">Questions</h3>
                            <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
                            <?php 
    $examdata = unserialize($tutorial->exams);
    $exam = Exams::find($examdata['id']);
    $hash = $exam->hash;
    $examdata_encoded = File::get(app_path() . '/files/exam-' . $exam->id . '/' . $hash . '.json');
    Session::put('questiondata_key', 1);
    $examdata = json_decode($examdata_encoded);
    $examdata = objectToArray($examdata);
    echo "\n<div id='exams' style='clear:both;'>";
    $qcc = 0;
    foreach ($examdata['questiondata']['questions'] as $qc => $question) {
        if (isset($examdata['questiondata']['questions'][$qc])) {
            $qcc++;
        }
        if (isset($examdata['questiondata']['questions'][$qc])) {
            $checked1 = '';
            $checked2 = '';
            $checked3 = '';