Ejemplo n.º 1
0
    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;
    }
Ejemplo n.º 2
0
    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;
        }
    }