Example #1
0
    function displayBody()
    {
        parent::displayBody();
        $translator = new Translator();
        $user = new User();
        $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 = $user->getCount($search);
        if (sizeof($_GET) > 0) {
            foreach ($_GET as $key => $val) {
                $values[$key] = htmlspecialchars($val, ENT_QUOTES);
            }
            foreach ($user->roles as $key => $val) {
                if (($_GET['role_id'] & $val) > 0) {
                    $valname = 'role' . $val;
                    ${$valname} = 'checked';
                }
            }
            if ($_GET['role_id'] == 0) {
                $role0 = 'checked';
                $values['role_id'] = 0;
            }
        }
        if ($cnt > ITEMS_IN_PAGE) {
            $pagination = $this->addPaginator($cnt, $page);
        }
        echo <<<EOF
<h2  class="page-header">{$translator->Users_header} <span class="badge">{$cnt}</span></h2>
    <div class="row">
\t<div class="col-md-1">
\t<button class="btn btn-sm btn-default"  data-toggle="collapse" data-target="#filter">
\t    <span class="glyphicon glyphicon-filter"></span> {$translator->Filter}</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="company" class="control-label col-sm-3">{$translator->Company}:</label>
\t\t    <div class="col-sm-8">
\t\t    <input type="text" class="form-control" id="company" name="company" value="{$values[company]}">
\t\t    </div>
\t\t    </div>
\t\t    <div class="form-group">
\t\t    <label for="phone" class="control-label col-sm-3">{$translator->Phone}:</label>
\t\t    <div class="col-sm-8">
\t\t    <input type="text" class="form-control" id="phone" name="phone"  value="{$values[phone]}">
\t\t    </div>
\t\t    </div>
\t\t    <div class="form-group">
\t\t    <label for="country" class="control-label col-sm-3">{$translator->Country}:</label>
\t\t    <div class="col-sm-8">
\t\t    <input type="text" class="form-control" id="country" name="country" value="{$values[country]}">
\t\t    </div>
\t\t    </div>
\t\t    <div class="form-group">
\t\t    <label for="city" class="control-label col-sm-3">{$translator->City}:</label>
\t\t    <div class="col-sm-8">
\t\t    <input type="text" class="form-control" id="city" name="city" value="{$values[city]}">
\t\t    </div>
\t\t    </div>
\t\t    <div class="col-sm-offset-3">

EOF;
        foreach ($user->roles as $key => $val) {
            $valname = 'role' . $val;
            echo "\t\t    <input type=\"checkbox\" class=\"role_id\" id=\"{$valname}\" value=\"{$val}\" " . ${$valname} . ">\n\t\t    <label for=\"{$valname}\">" . User::RolesAsString($val) . "</label>" . NL;
        }
        echo <<<EOF
\t\t    <input class="sr-only" id="role_id" name="role_id" value="{$values[role_id]}">
\t\t    <input class="sr-only" name="search" value="1">
\t\t    </div>
\t\t    <div class="form-group">
\t\t    <div class="col-sm-offset-3 col-md-10">
\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->Roles}</th>
                  <th>{$translator->Email}</th>
                  <th>{$translator->Phone}</th>
                  <th>{$translator->Company}</th>
                  <th>{$translator->Place}</th>
                </tr>
              </thead>
              <tbody>

EOF;
        $enum = $user->enumerate($search, $offset, ITEMS_IN_PAGE, 'users.last_name,users.first_name');
        if (is_object($enum)) {
            $i = 1 + $offset;
            foreach ($enum as $key => $data) {
                if ($data['active'] == 'f') {
                    $active = " class=\"not-active\"";
                } else {
                    $active = "";
                }
                echo "                <tr>\n                  <td>{$i}</td>\n                  <td" . $active . ">{$data[name]}</td>\n                  <td>" . User::RolesAsString($data['role_id']) . "</td>\n                  <td>{$data[email]}</td>\n                  <td>{$data[phone]}</td>\n                  <td>{$data[company]} <small>{$data[position]}</small></td>\n                  <td>{$data[country]} <small>{$data[city]}</small></td>\n                  <td><a href=\"/admin_user/edit/{$data[id]}\" title=\"{$translator->edit}\"><span class=\"glyphicon glyphicon-user\"></span></a></td>\n                  <td><a href=\"/admin_user/delete/{$data[id]}\" title=\"{$translator->del}\" onClick=\"return confirm('{$translator->AreYouSure}');\"><span class=\"glyphicon glyphicon-trash\"></span></a></td>\n                </tr>\n";
                $i++;
            }
        }
        echo <<<EOF
\t    </table>
\t</div>

EOF;
    }