function edit($create = null) { $translator = new Translator(); $category = new Category(); $course = new Course(); $trainer = new Trainer(); if ($create) { $func = 'add'; } else { $func = 'save'; $plan = new Plan(); $this->id = array_shift($this->param); $data = $plan->get(array('id' => $this->id)); foreach ($data as $key => $val) { $data[$key] = htmlspecialchars($val, ENT_QUOTES); } } try { $c_data = $course->get(array('id' => $data['course_id'])); $category_id = $c_data['category_id']; $enum = $course->enumerate(array('category_id' => intval($category_id))); foreach ($enum as $val) { $courses .= "<option value=\"{$val[id]}\"" . ($val['id'] == $data['course_id'] ? ' selected' : '') . ">" . htmlspecialchars($val['name'], ENT_QUOTES) . "</option>" . NL; } } catch (Exception $e) { } $categories = Course::getCategoriesForSelect($category_id); $enum = $trainer->enumerate(); foreach ($enum as $val) { $trainers .= "<option value=\"{$val[id]}\"" . ($val['id'] == $data['trainer_id'] ? ' selected' : '') . ">" . htmlspecialchars($val['name'], ENT_QUOTES) . "</option>" . NL; } if ($data['active'] == 't') { $active = 'checked'; } echo <<<EOF <div class="container"> <div class="col-xs-12 col-sm-8 col-md-6 col-sm-offset-2 col-md-offset-3"> <form role="form" action="/admin_training/{$func}/{$data[id]}" method="post"> \t<h2>{$translator->Plan_edit}</h2> \t <div class="form-group"> <label for="category_id">{$translator->Category}:</label> \t<select class="form-control" id="category_id" name="category_id"> {$categories} </select> </div> \t <div class="form-group"> <label for="course_id">{$translator->Course}:</label> \t<select class="form-control" id="course_id" name="course_id"> {$courses} </select> </div> \t <div class="form-group"> \t\t<label for="start">{$translator->Start}:</label> <span class="text-muted">{$translator->Start_Desc}</span> \t\t<input name="start" id="start" class="form-control datetimepicker" value="{$data[start]}"> \t </div> \t <div class="form-group"> \t\t<label for="finish">{$translator->Finish}:</label> <span class="text-muted">{$translator->Finish_Desc}</span> \t\t<input name="finish" id="finish" class="form-control datetimepicker" value="{$data[finish]}"> \t </div> \t <div class="form-group"> \t\t<input type="text" name="contact" id="contact" class="form-control input-lg" \t\tplaceholder="{$translator->Contact}" tabindex="5" required value="{$data[contact]}"> \t </div> \t <div class="form-group"> \t\t<input type="text" name="place" id="place" class="form-control input-lg" \t\tplaceholder="{$translator->Place}" tabindex="6" required value="{$data[place]}"> \t </div> \t <div class="form-group"> <label for="trainer_id">{$translator->Trainer}:</label> \t<select class="form-control" id="trainer_id" name="trainer_id"> {$trainers} </select> </div> \t <div class="checkbox"> \t\t<label><input type="checkbox" value="true" name="active" id="active" {$active}> {$translator->Active}</label> \t </div> EOF; if (!$create) { // let add people to plan, because plan_ID is known $user = new User(); $training = new Training(); $enum = $training->enumerate(array('plan_id' => $data['id'])); if (is_object($enum)) { foreach ($enum as $val) { $u_data = $user->get(array('id' => $val['user_id'])); $json = array('id' => $data['id'], 'name' => $data['name'], 'email' => $data['email'], 'company' => $data['company'], 'city' => $data['city']); $users .= "<tr id=\"row{$u_data[id]}\"><td>{$u_data[name]}</td><td>" . "{$u_data[email]}</td><td>{$u_data[company]} / {$u_data[city]}</td><td>" . "<a href=\"#\" onclick=\"return removeuser({$u_data[id]});\">" . '<span class="glyphicon glyphicon-trash"></span></a></td></tr>' . NL; } } echo <<<EOF <div class="form-group totop-relative"> <small> <table id="users" class="table table-striped"> <tbody> {$users} </tbody> </table> </small> <div class="list-group totop" id="usermenu" > </div> <input type="text" name="searchuser" id="searchuser" class="form-control input-md" placeholder="{$translator->Search_user}"> </div> EOF; } echo <<<EOF \t <div class="row"> \t\t<div class="col-xs-12 col-md-6"><input type="submit" value="{$translator->Save}" class="btn btn-primary" tabindex="13"></div> \t </div> </form> </div> </div> <!-- /container --> EOF; }
function displayBody() { parent::displayBody(); $translator = new Translator(); $training = new Training(); echo <<<EOF <h2 class="page-header">{$translator->MyCourses}</h2> EOF; $enum = $training->enumerate(array('user_id' => $_SESSION['user_id'], 'active' => 'true')); if ($enum) { foreach ($enum as $key => $data) { $now = new DateTime('now'); $finish = new DateTime($data['finish']); // check for timeout and set new status switch ($data['status_id']) { case Training::CREATED: case Training::STARTED: case Training::EXAM: case Training::EXAM_STARTED: if ($now > $finish) { $training->update($data['id'], array('status_id' => Training::TIMEOUT)); $data['status_id'] = Training::TIMEOUT; } default: } // prepeare data for display switch ($data['status_id']) { case Training::TIMEOUT: $data['result_desc'] = "<span class=\"label label-danger\">{$translator->Overtime}</span>"; $actions = "<a href=\"/course/{$data[course_id]}\" class=\"btn btn-default btn-md\">\n\t <span class=\"glyphicon glyphicon glyphicon-repeat\"></span> {$translator->Repeat}</a>\n\t <a href=\"/mycourses/delete/{$data[id]}\" class=\"btn btn-default btn-md\"\n\t onclick='return confirm(\"{$translator->AreYouSure}\");'>\n\t <span class=\"glyphicon glyphicon glyphicon-trash\"></span> {$translator->Delete}</a>"; break; case Training::CREATED: $data['result_desc'] = "<span class=\"label label-default\">{$translator->Not_started}</span>"; $actions = "<a href=\"/learn/{$data[course_hash]}\" class=\"btn btn-primary btn-md\">\n \t <span class=\"glyphicon glyphicon-play\"></span> {$translator->Learn}</a>\n \t <a href=\"/mycourses/dismiss/{$data[id]}\" class=\"btn btn-danger btn-md\">\n \t <span class=\"glyphicon glyphicon-trash\"></span> {$translator->Dismiss}</a>"; break; case Training::DELETED: $data['result_desc'] = "<span class=\"label label-default\">{$translator->Deleted}</span>"; $actions = "<a href=\"/course/{$data[course_id]}\" class=\"btn btn-default btn-md\">\n <span class=\"glyphicon glyphicon glyphicon-repeat\"></span> {$translator->Repeat}</a>\n <a href=\"/mycourses/delete/{$data[id]}\" class=\"btn btn-default btn-md\"\n onclick='return confirm(\"{$translator->AreYouSure}\");'>\n\t <span class=\"glyphicon glyphicon glyphicon-trash\"></span> {$translator->Delete}</a>"; break; case Training::STARTED: $data['result_desc'] = "<span class=\"label label-warning\">{$translator->Not_tested}</span>"; $actions = "<a href=\"/learn/{$data[course_hash]}\" class=\"btn btn-primary btn-md\">\n\t <span class=\"glyphicon glyphicon-play\"></span> {$translator->Learn}</a>\n\t "; break; case Training::EXAM: case Training::EXAM_STARTED: $data['result_desc'] = "<span class=\"label label-danger\">{$translator->NotCertified}</span>" . "<div>{$translator->Result}: " . intval($data['result']) . "%({$data[answers]}/{$data[questions]})</div>"; $actions = "<a href=\"/exam/{$data[exam_hash]}/\" class=\"btn btn-warning btn-md\">\n\t <span class=\"glyphicon glyphicon-check\"></span> {$translator->Test}</a>"; break; case Training::FAILED: $data['result_desc'] = "<span class=\"label label-danger\">{$translator->NotCertified}</span>" . "<div>{$translator->Result}: " . intval($data['result']) . "%({$data[answers]}/{$data[questions]})</div>"; $actions = "<a href=\"/course/{$data[course_id]}\" class=\"btn btn-default btn-md\">\n <span class=\"glyphicon glyphicon glyphicon-repeat\"></span> {$translator->Repeat}</a>\n <a href=\"/mycourses/delete/{$data[id]}\" class=\"btn btn-default btn-md\"\n onclick='return confirm(\"{$translator->AreYouSure}\");'>\n\t <span class=\"glyphicon glyphicon glyphicon-trash\"></span> {$translator->Delete}</a>"; break; case Training::FINISHED: if ($data['exam'] == 't') { $data['result_desc'] = "<span class=\"label label-success\">{$translator->Certified}</span>" . "<div>{$translator->Result}: " . intval($data['result']) . "%({$data[answers]}/{$data[questions]})</div>"; $actions = "<a href=\"/certificate/{$data[course_hash]}\" class=\"btn btn-success btn-md\">\n\t\t<span class=\"glyphicon glyphicon-certificate\"></span> {$translator->Certificate}</a>"; } else { $data['result_desc'] = "<span class=\"label label-success\">{$translator->Certified}</span>"; $actions = "<a href=\"/certificate/{$data[course_hash]}\" class=\"btn btn-success btn-md\">\n\t\t<span class=\"glyphicon glyphicon-thumbs-star\"></span> {$translator->Certificate}</a>"; } break; default: } if ($data['finished']) { $finish = $data['finished']; } else { $finish = $data['finish']; } echo <<<EOF <div class="panel panel-default col-md-6 col-lg-4 mycourse"> <div class="panel-heading overflow-hidden"> \t<p class="text-muted">{$data[category_name]}</p> \t<h4><a href="/course/{$data[course_id]}">{$data[course_name]}</a></h4> </div> <div class="panel-body"> \t<div class="row"> \t <div class="col-md-8"> \t<p>{$translator->Start}: {$data[start]}</p> \t<p>{$translator->Finish}: {$finish}</p> \t </div> \t <div class="col-md-4"> \t\t{$data[result_desc]} \t </div> \t</div> \t<div class="row"> \t{$actions} \t</div> </div> </div> EOF; } } else { echo <<<EOF <div class="panel panel-default col-lg-8"> <div class="panel-body"> \t{$translator->No_courses} </div> </div> EOF; } }