"account_cron", "admin" => "account_admin"); function account_cron() { // clean-up user database } function account_display($order = "username") { $sort = array("ID" => "id", "fake e-mail address" => "fake_email", "hostname" => "last_host DESC", "last access date" => "last_access DESC", "real e-mail address" => "real_email", "real name" => "name", "permissions" => "permissions", "status" => "status", "theme" => "theme", "timezone" => "timezone DESC", "username" => "userid"); $show = array("ID" => "id", "username" => "userid", "$order" => "$sort[$order]", "homepage" => "url"); $stat = array(0 => "blocked", 1 => "not confirmed", 2 => "open"); $perm = array(0 => "regular user", 1 => "administrator"); // Perform query: $result = db_query("SELECT u.id, u.userid, u.". strtok($sort[$order], " ") .", u.url FROM users u ORDER BY $sort[$order]"); // Generate output: $output .= "\n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; foreach ($show as $key=>$value) { $output .= " \n"; } $output .= " \n"; $output .= " \n"; while ($account = db_fetch_array($result)) { $output .= " \n"; foreach ($show as $key=>$value) { switch($value = strtok($value, " ")) { case "real_email": $output .= " \n"; break; case "last_access": $output .= " \n"; break; case "status": $output .= " \n"; break; case "permissions": $output .= " \n"; break; case "timezone": $output .= " \n"; break; case "url": $output .= " \n"; break; case "userid": $output .= " \n"; break; default: $output .= " \n"; } } $output .= " \n"; $output .= " \n"; } $output .= "
\n"; $output .= "
\n"; $output .= " \n"; $output .= " \n"; $output .= "
\n"; $output .= "
$keyoperations
". format_email($account[$value]) ."". format_interval(time() - $account[$value]) ." ago". $stat[$account[$value]] ."". $perm[$account[$value]] ."". format_data($account[$value] / 3600) ."". format_url($account[$value]) ."". format_username($account[$value], 1) ."". format_data($account[$value]) ."viewedit
\n"; print $output; } function account_stories($id) { $result = db_query("SELECT * FROM stories WHERE author = $id ORDER BY timestamp DESC"); while ($story = db_fetch_object($result)) { $output .= "
  • id\">". check_output($story->subject) ."
  • \n"; } return $output; } function account_comments($id) { $result = db_query("SELECT * FROM comments WHERE author = $id ORDER BY timestamp DESC"); while ($comment = db_fetch_object($result)) { $output .= "
  • sid&cid=$comment->cid&pid=$comment->pid#$comment->cid\">". check_output($comment->subject) ."
  • \n"; } return $output; } function account_save($name, $edit) { foreach ($edit as $key=>$value) { $query .= "$key = '". addslashes($value) ."', "; } db_query("UPDATE users SET $query last_access = '". time() ."' WHERE userid = '$name'"); watchdog("message", "account: modified user '$name'"); } function account_edit($name) { $status = array(0 => "blocked", 1 => "not confirmed", 2 => "open"); $permissions = array(0 => "regular user", 1 => "administrator"); $result = db_query("SELECT * FROM users WHERE userid = '$name'"); if ($account = db_fetch_object($result)) { foreach ($status as $key=>$value) { $stat .= " \n"; } $stat = "\n"; foreach ($permissions as $key=>$value) { $perm .= " \n"; } $perm = "\n"; $output .= "
    \n"; $output .= "\n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= "
    ID:$account->id
    Status:$stat
    Username:$account->userid
    Real name:". format_data($account->name) ."
    Real e-mail address:". format_email($account->real_email) ."
    Fake e-mail address:fake_email\">
    URL of homepage:url\">
    Permissions:$perm
    Last access:". format_date($account->last_access) ." from $account->last_host
    Bio information:
    Signature:
    Theme:". format_data($account->theme) ."
    Timezone:". format_data($account->timezone / 3600) ."
    Submitted stories:". format_data(account_stories($account->id)) ."
    Submitted comments:". format_data(account_comments($account->id)) ."
    \n"; $output .= "userid\">\n"; $output .= "\n"; $output .= "
    \n"; print "$output"; } } function account_view($name) { $status = array(0 => "blocked", 1 => "not confirmed", 2 => "open"); $permissions = array(0 => "regular user", 1 => "administrator"); $result = db_query("SELECT * FROM users WHERE userid = '$name'"); if ($account = db_fetch_object($result)) { $output .= "\n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= " \n"; $output .= "
    ID:$account->id
    Status:". $status[$account->status] ."
    Username:$account->userid
    Real name:". format_data($account->name) ."
    Real e-mail address:". format_email($account->real_email) ."
    Fake e-mail address:". format_data($account->fake_email) ."
    URL of homepage:". format_url($account->url) ."
    Permissions:". $permissions[$account->permissions] ."
    Last access:". format_date($account->last_access) ." from $account->last_host
    Bio information:". format_data($account->bio) ."
    Signature:". format_data($account->signature) ."
    Theme:". format_data($account->theme) ."
    Timezone:". format_data($account->timezone / 3600) ."
    Submitted stories:". format_data(account_stories($account->id)) ."
    Submitted comments:". format_data(account_comments($account->id)) ."
    \n"; print "$output"; } } function account_admin() { global $op, $edit, $order, $name; switch ($op) { case "edit": account_edit($name); break; case "view": account_view($name); break; case "Save account": account_save($name, $edit); account_view($name); break; case "Update": account_display($order); break; default: account_display(); } } ?>