************************************************************************/
// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN())) {
+if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
$INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
require($INC);
} elseif ((!EXT_IS_ACTIVE("user")) || (GET_EXT_VERSION("user") == "")) {
if (empty($_GET['page'])) { $_GET['page'] = "1"; }
// Set base URL
-$BASE = "<A href=\"".URL."/modules.php?module=admin";
+$BASE = "[<A href=\"".URL."/modules.php?module=admin";
-$whereStatement = " WHERE refid='0'";
-if (($_GET['letter'] != _ALL2) && ($_GET['letter'] != _OTHERS) && (!empty($_GET['letter'])))
-{
+$whereStatement = " WHERE refid=0";
+if (($_GET['letter'] != _ALL2) && ($_GET['letter'] != _OTHERS) && (!empty($_GET['letter']))) {
// List only persons w
- $whereStatement = " WHERE refid='0' AND family LIKE '".$_GET['letter']."%'";
+ $whereStatement = " WHERE refid=0 AND family LIKE '".$_GET['letter']."%'";
}
+
+// Fix sorter
if ($_GET['sortby'] == "family_name") $_GET['sortby'] = "family";
-$SQL = "SELECT userid, gender, surname, family, email, REMOTE_ADDR, refid, status".$MORE." FROM "._MYSQL_PREFIX."_user_data".$whereStatement." ORDER BY ".$_GET['sortby'];
+
+// Construct query
+$SQL = "SELECT userid, gender, surname, family, email, REMOTE_ADDR, refid, status, emails_sent, mails_confirmed, emails_received".$MORE."
+FROM "._MYSQL_PREFIX."_user_data
+".$whereStatement."
+ORDER BY ".SQL_ESCAPE($_GET['sortby']);
+
+// Start master query
$result_master = SQL_QUERY($SQL, __FILE__, __LINE__);
// Calculate page count (0.5 fixes a bug with page count)
if (SQL_NUMROWS($result_master) > 0)
{
- // Free memory
- SQL_FREERESULT($result_master);
-
// We have some (new?) registrations!
define('__COLSPAN1' , $colspan);
define('__COLSPAN2' , ($colspan + 2));
define('__USER_CNT' , $user_count);
define('__ALPHA_SORT', alpha($_GET['sortby'], $colspan, true));
define('__SORT_LINKS', SortLinks($_GET['letter'], $_GET['sortby'], $colspan, true));
- if ($PAGES > 1)
- {
+ define('__TITLE' , ADMIN_LIST_NOREFS_ACCOUNTS);
+
+ if ($PAGES > 1) {
+ // Add navigation
define('__PAGE_NAV', ADD_PAGENAV($PAGES, $_CONFIG['user_limit'], true, $colspan, true));
- }
- else
- {
+ } else {
// No page navigation is required
define('__PAGE_NAV', "");
}
// Column with nickname when nickname extension is present
- if (EXT_IS_ACTIVE("nickname"))
- {
+ if (EXT_IS_ACTIVE("nickname")) {
// Nickname extension found
define('__NICKNAME_TH', " <TD class=\"admin_title bottom2\" align=\"center\">".NICKNAME."</TD>");
- }
- else
- {
+ } else {
// Not found
define('__NICKNAME_TH', "");
}
$SW = 2; $OUT = "";
- while (list($uid, $gender, $sname, $fname, $email, $IP, $ref, $status, $nick) = SQL_FETCHROW($result))
- {
- if ($ref > 0) $ref = ADMIN_USER_PROFILE_LINK($ref);
- $LINKS = TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_links", "id", "userid", true));
- if ($LINKS > 0) $LINKS = $BASE."&what=list_links&u_id=".$uid."\">".$LINKS."</A>";
+ while (list($uid, $gender, $sname, $fname, $email, $IP, $ref, $status, $emails_sent, $mails_confirmed, $emails_received, $nick) = SQL_FETCHROW($result)) {
+ // Get unconfirmed emails
+ $LINKS = GET_TOTAL_DATA($uid, "user_links", "id", "userid", true);
+
+ // Set link to unconfirmed emails
+ if ($LINKS > 0) {
+ // Translate value
+ $LINKS = TRANSLATE_COMMA($LINKS);
+
+ // Add link
+ $LINKS = $BASE."&what=list_links&u_id=".$uid."\">".$LINKS."</A>]";
+ } // END - if
// Add nickname
if ((empty($nick)) || ($uid == $nick)) $nick = "---";
+ // Sent emails
+ $SENT = $emails_sent;
+ if ($emails_sent > 0) $SENT = $BASE."&what=email_details&u_id=".$uid."\">".TRANSLATE_COMMA($emails_sent)."</A>]";
+
+ // Calculate total points
+ $pointsTotal = GET_TOTAL_DATA($uid, "user_points", "points") - GET_TOTAL_DATA($uid, "user_data", "used_points");
+
+ // Clickrate
+ $clickRate = 0;
+ if ($emails_received > 0) {
+ $clickRate = $mails_confirmed / $emails_received * 100;
+ } // END - if
+
// Transfer data to array
$content = array(
'sw' => $SW,
'gender' => TRANSLATE_GENDER($gender),
'sname' => $sname,
'fname' => $fname,
- 'email' => "<A href=\"".CREATE_EMAIL_LINK($email, "user_data")."\">".$email."</A>",
+ 'email' => "[<A href=\"".CREATE_EMAIL_LINK($email, "user_data")."\">".$email."</A>]",
'addr' => $IP,
'ref' => $ref,
'status' => TRANSLATE_STATUS($status),
'links' => $LINKS,
- 'nick' => $nick
+ 'alinks' => MEMBER_ACTION_LINKS($uid, $status),
+ 'nick' => $nick,
+ 'points' => TRANSLATE_COMMA($pointsTotal),
+ 'sent' => $SENT,
+ 'rate' => TRANSLATE_COMMA($clickRate),
+ 'locked' => TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_points", "locked_points"))
);
// Load row template and switch colors
$OUT .= LOAD_TEMPLATE("admin_list_user_row", true, $content);
$SW = 3 - $SW;
- }
+ } // END - while
// Free memory
SQL_FREERESULT($result);
// Free some memory
SQL_FREERESULT($result_master);
-}
- else
-{
+} else {
// No one as registered so far! :-(
LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_ACCOUNT_NOREFS_404);
}
+// Free memory
+SQL_FREERESULT($result_master);
+
//
?>