header('Users'); $t->paragraph($t->link($t->url('users.csv'), "Download this as a spreadsheet.", true)); $t->openTag('form', array('action'=>$t->url('users/index'), 'method'=>'post')); if (Login::isLoggedIn()) { $t->tag('input', array('type'=>'submit', 'value'=>'Save/Update')); } $t->openTag('table', array('class'=>'sortable', 'id'=>'bar')); function table_head($attribs, $t) { $t->openTag('tr'); foreach ($attribs as $attrib) { switch ($attrib['type']) { case 'bool': $class = 'small'; break; default: $class = ''; break; } $t->tag('th', array('class'=>$class), $attrib['name']); } if (Login::isLoggedIn()) { $t->tag('th', array(), '-'); } $t->closeTag('tr'); } $t->openTag('thead'); table_head($attribs, $t); $t->closeTag('thead'); $t->openTag('tfoot'); table_head($attribs, $t); $t->closeTag('tfoot'); $t->openTag('tbody'); foreach ($users as $user) { $t->openTag('tr'); foreach ($attribs as $attrib) { $t->openTag('td'); $props = $user[$attrib['key']]; $bool = $attrib['type']=='bool'; if ($bool) { $value = $props['value']=='true'; } else { $value = $props['value']; } $editable = $props['editable']; $post_key = $props['post_key']; $arr = array('name'=>$post_key); if (!$editable) { $arr['readonly'] = 'readonly'; if ($bool) $arr['disabled'] = $disabled; } if ($bool) { $t->tag('input', array('type'=>'hidden', 'name'=>$post_key, 'value'=>'false')); if ($value==true) { $arr['checked'] = 'checked'; } $arr['value'] = 'true'; $arr['type'] = 'checkbox'; } else { $t->tag('span', array('class'=>'cell_width'), $value); $arr['value'] = $value; $arr['type'] = 'text'; } $t->tag('input', array('name'=>'_old['.$arr['name'].']', 'value'=>$arr['value'], 'type'=>'hidden')); $t->tag('input', $arr); $t->closeTag('td'); } if (Login::isLoggedIn()) { $t->openTag('td'); $t->link($t->url('users/'.$user['auth_name']['value']), 'More'); $t->closeTag('td'); } $t->closeTag('tr'); } $t->closeTag('tbody'); $t->closeTag('table'); if (Login::isLoggedIn()) { $t->tag('input', array('type'=>'submit', 'value'=>'Save/Update')); } $t->footer();