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(); $trainer = new Trainer(); $page = $_GET['page']; $offset = intval($page) * ITEMS_IN_PAGE; if (isset($_GET['search'])) { unset($_GET['search']); unset($_GET['page']); $search = $_GET; } else { $search = null; } $cnt = $trainer->getCount($search); if (sizeof($_GET) > 0) { foreach ($_GET as $key => $val) { $values[$key] = htmlspecialchars($val, ENT_QUOTES); } } if ($cnt > ITEMS_IN_PAGE) { $pagination = $this->addPaginator($cnt, $page); } echo <<<EOF <h2 class="page-header">{$translator->Trainers_header} <span class="badge">{$cnt}</span></h2> <div class="row"> \t<div class="btn-group"> \t<a href="/admin_trainer/new" class="btn btn-sm btn-default"> \t <span class="glyphicon glyphicon-plus"></span><span class="glyphicon glyphicon-user"></span> {$translator->Add}</a> \t<button class="btn btn-sm btn-default" data-toggle="collapse" data-target="#filter"> \t <span class="glyphicon glyphicon-filter"></span> {$translator->Filter} \t</button> \t</div> </div> <div class="row"> <div class="col-md-5 collapse" id="filter"> \t <form role="form" class="form-horizontal" action="?" method="get"> \t\t<div class="form-group"> \t\t <div class="form-group"> \t\t <label for="name" class="control-label col-sm-3">{$translator->Name}:</label> \t\t <div class="col-sm-8"> \t\t <input type="text" class="form-control" id="name" name="name" value="{$values[name]}"> \t\t </div> \t\t </div> \t\t <div class="form-group"> \t\t <label for="email" class="control-label col-sm-3">{$translator->Email}:</label> \t\t <div class="col-sm-8"> \t\t <input type="text" class="form-control" id="email" name="email" value="{$values[email]}"> \t\t </div> \t\t </div> \t\t <div class="form-group"> \t\t <label for="data" class="control-label col-sm-3">{$translator->Data}:</label> \t\t <div class="col-sm-8"> \t\t <input type="text" class="form-control" id="data" name="data" value="{$values[data]}"> \t\t </div> \t\t </div> \t\t <div class="form-group"> \t\t <div class="col-sm-offset-3 col-md-10"> \t\t <input class="sr-only" name="search" value="1"> \t\t <button type="submit" class="btn btn-sm btn-default">{$translator->Apply}</button> \t\t </div> \t\t </div> \t\t</div> \t </form> \t</div> </div> {$pagination} <div class="table-responsive"> <table class="table table-striped"> <thead> <tr> <th>#</th> <th>{$translator->Name}</th> <th>{$translator->Email}</th> <th>{$translator->Data}</th> </tr> </thead> <tbody> EOF; $enum = $trainer->enumerate($search, $offset, ITEMS_IN_PAGE); if (is_object($enum)) { $i = 1 + $offset; foreach ($enum as $key => $data) { if (strlen($data['data']) > 50) { $data['data'] = '<small>' . $data['data'] . '</small>'; } else { if (strlen($data['data']) > 200) { $data['data'] = '<small>' . substr($data['data'], 0, 200) . '...</small>'; } } echo " <tr>\n <td>{$i}</td>\n <td>{$data[name]}</td>\n <td>{$data[email]}</td>\n <td>{$data[data]}</td>\n <td><a href=\"/admin_trainer/edit/{$data[id]}\" title=\"{$translator->edit}\"><span class=\"glyphicon glyphicon-user\"></span></a></td>\n <td><a href=\"/admin_trainer/delete/{$data[id]}\" title=\"{$translator->del}\" onClick=\"return confirm('{$translator->AreYouSure}');\"><span class=\"glyphicon glyphicon-trash\"></span></a></td>\n </tr>" . NL; $i++; } } echo <<<EOF \t </table> \t</div> EOF; }