Index: trunk/services/admins.php
===================================================================
--- trunk/services/admins.php	(revision 421)
+++ trunk/services/admins.php	(revision 432)
@@ -66,5 +66,4 @@
 $so->setColumn('last_name', $auth->getParam('db_table') . '.last_name ASC', $auth->getParam('db_table') . '.last_name DESC');
 $so->setColumn('email', $auth->getParam('db_table') . '.email ASC', $auth->getParam('db_table') . '.email DESC');
-$so->setColumn('user_type', $auth->getParam('db_table') . '.user_type ASC', $auth->getParam('db_table') . '.user_type DESC');
 $so->setColumn('seconds_online', $auth->getParam('db_table') . '.seconds_online ASC', $auth->getParam('db_table') . '.seconds_online DESC');
 $so->setColumn('last_login_datetime', $auth->getParam('db_table') . '.last_login_datetime ASC', $auth->getParam('db_table') . '.last_login_datetime DESC');
@@ -230,8 +229,4 @@
     }
 
-    if (getFormData('user_type') == 'root' && 'root' != $auth->get('user_type')) {
-        $fv->addError('user_type', sprintf(_("You do not have clearance to create a user with root privileges."), null));
-    }
-
     $fv->numericRange('admin_id', -32768, 32767, _("<strong>Admin id</strong> must be a valid number between -32768 and 32767."));
 
@@ -249,7 +244,4 @@
     $fv->stringLength('email', 0, 255, _("<strong>Email</strong> must contain less than 256 characters."));
     $fv->validateEmail('email');
-
-    $fv->isEmpty('user_type', _("<strong>User type</strong> cannot be blank."));
-    $fv->stringLength('user_type', 0, 255, _("<strong>User type</strong> has an invalid selection."));
 }
 
@@ -265,5 +257,4 @@
         'last_name' => '',
         'email' => '',
-        'user_type' => '',
         'seconds_online' => '0',
         'last_login_datetime' => '0000-00-00 00:00:00',
@@ -322,5 +313,4 @@
         'last_name' => '',
         'email' => '',
-        'user_type' => '',
         'seconds_online' => '0',
         'last_login_datetime' => '0000-00-00 00:00:00',
@@ -362,8 +352,8 @@
     // Get the information for this object.
     $qid = $db->query("
-        SELECT " . $auth->getParam('db_username_column') . ", user_type from " . $auth->getParam('db_table') . "
+        SELECT " . $auth->getParam('db_username_column') . "
         WHERE " . $auth->getParam('db_primary_key') . " = '" . $db->escapeString($id) . "'
     ");
-    if (! list($name, $user_type) = mysql_fetch_row($qid)) {
+    if (! list($name) = mysql_fetch_row($qid)) {
         $app->logMsg('Could not find record with admin_id: ' . $id, LOG_WARNING, __FILE__, __LINE__);
         $app->raiseMsg(sprintf(_("The requested record %s could not be found."), $id), MSG_ERR, __FILE__, __LINE__);
@@ -374,8 +364,5 @@
     $qid = $db->query("SELECT COUNT(*) from " . $auth->getParam('db_table') . "");
     list($num_admins) = mysql_fetch_row($qid);
-    if ('root' == $user_type && 'root' != $auth->get('user_type')) {
-        // Only root users can delete root users!
-        $app->raiseMsg(_("You do not have clearance to delete a root administrator."), MSG_NOTICE, __FILE__, __LINE__);
-    } else if ($num_admins <= 1) {
+    if ($num_admins <= 1) {
         // There must always be at least one admnistrator!
         $app->raiseMsg(_("You cannot delete the only administrator in the database. There must be at least one to log in and create other users."), MSG_NOTICE, __FILE__, __LINE__);
@@ -410,5 +397,4 @@
             last_name,
             email,
-            user_type,
             added_by_user_id,
             added_datetime
@@ -418,5 +404,4 @@
             '" . $db->escapeString($frm['last_name']) . "',
             '" . $db->escapeString($frm['email']) . "',
-            '" . $db->escapeString($frm['user_type']) . "',
             '" . $db->escapeString($auth->get('user_id')) . "',
             NOW()
@@ -466,5 +451,4 @@
             last_name = '" . $db->escapeString($frm['last_name']) . "',
             email = '" . $db->escapeString($frm['email']) . "',
-            user_type = '" . $db->escapeString($frm['user_type']) . "',
             modified_by_user_id = '" . $db->escapeString($auth->get('user_id')) . "',
             modified_datetime = NOW()
Index: trunk/services/templates/admin_form.ihtml
===================================================================
--- trunk/services/templates/admin_form.ihtml	(revision 421)
+++ trunk/services/templates/admin_form.ihtml	(revision 432)
@@ -43,12 +43,4 @@
     </tr>
     <tr class="sc-form-row">
-        <td class="sc-right"><label for="user_type" class="<?php $fv->err('user_type'); ?>"><?php echo _("User type"); ?></label></td>
-        <td>
-            <select name="user_type" class="sc-small">
-                <?php printSetSelectForm($auth->getParam('db_table'), 'user_type', $frm['user_type'], true); ?>
-            </select>
-        </td>
-    </tr>
-    <tr class="sc-form-row">
         <td>&nbsp;</td>
         <td><?php printSubmitButtons($frm['submit_buttons']); ?></td>
Index: trunk/services/templates/admin_list.ihtml
===================================================================
--- trunk/services/templates/admin_list.ihtml	(revision 421)
+++ trunk/services/templates/admin_list.ihtml	(revision 432)
@@ -21,11 +21,11 @@
         <th><?php echo $so->printSortHeader('admin_tbl.username', _("Username"), 'ASC'); ?></th>
         <th><?php echo $so->printSortHeader('admin_tbl.first_name', _("First"), 'ASC'); ?> <?php echo $so->printSortHeader('admin_tbl.last_name', _("Last name"), 'ASC'); ?></th>
-        <th><?php echo $so->printSortHeader('admin_tbl.user_type', _("User type"), 'ASC'); ?></th>
         <th><?php echo $so->printSortHeader('admin_tbl.seconds_online', _("Min online"), 'ASC'); ?></th>
         <th><?php echo $so->printSortHeader('admin_tbl.last_login_datetime', _("Last login"), 'ASC'); ?></th>
         <th><?php echo $so->printSortHeader('admin_tbl.last_login_ip', _("Remote host"), 'ASC'); ?></th>
         <th><?php echo $so->printSortHeader('admin_tbl.added_datetime', _("Added"), 'ASC'); ?></th>
-        <th><?php echo $so->printSortHeader('admin_tbl.added_by_user_id', _("by admin"), 'ASC'); ?></th>
+        <th><?php echo $so->printSortHeader('admin_tbl.added_by_user_id', _("by"), 'ASC'); ?></th>
         <th><?php echo $so->printSortHeader('admin_tbl.modified_datetime', _("Last modified"), 'ASC'); ?></th>
+        <th><?php echo $so->printSortHeader('admin_tbl.modified_by_user_id', _("by"), 'ASC'); ?></th>
         <th>&nbsp;</th>
     </tr>
@@ -37,5 +37,4 @@
         <td class="sc-nowrap"><?php echo oTxt($list[$i]['username'], true); ?> &nbsp;</td>
         <td class="sc-nowrap"><?php echo oTxt($list[$i]['first_name'], true); ?> <?php echo oTxt($list[$i]['last_name'], true); ?> &nbsp;</td>
-        <td class="sc-nowrap"><?php echo oTxt($list[$i]['user_type'], true); ?> &nbsp;</td>
         <td class="sc-nowrap"><?php echo round($list[$i]['seconds_online'] / 60); ?> &nbsp;</td>
         <td class="sc-nowrap"><?php 
@@ -50,4 +49,5 @@
         <td class="sc-nowrap"><?php echo oTxt($list[$i]['added_admin_username'], true); ?> &nbsp;</td>
         <td class="sc-nowrap"><?php echo '0000-00-00 00:00:00' == $list[$i]['modified_datetime'] ? '' : date($app->getParam('date_format'), strtotime($list[$i]['modified_datetime'])); ?> &nbsp;</td>
+        <td class="sc-nowrap"><?php echo oTxt($list[$i]['modified_admin_username'], true); ?> &nbsp;</td>
         <td class="sc-padleft sc-nowrap" align="right"><a title="<?php printf(_("Delete %s"), oTxt($list[$i]['username'])) ?>" href="<?php echo $app->oHREF($_SERVER['PHP_SELF'] . "?op=del&admin_id=" . $list[$i]['admin_id']); ?>" onclick="javascript:return confirm('<?php printf(_("Are you sure you want to delete the record %s? This action is permanent and cannot be undone."), oTxt($list[$i]['username'])) ?>')"><img src="/admin/i/trash.gif" alt="Delete" width="10" height="10" border="0" /></a> &nbsp;</td>
     </tr>
