= "0.3.4") { // Add it... $MORE .= ", rand_confirmed"; // Add lock reason? if (GET_EXT_VERSION("user") >= "0.3.5") { // Add them... $MORE .= ", lock_reason, UNIX_TIMESTAMP(`lock_timestamp`) AS lock_timestamp"; } // END - if } // END - if // Is the extension "country" installed? if (EXT_IS_ACTIVE("country")) { // Add country code $MORE .= ", country_code"; } else { // Add direct value $MORE .= ", country"; } // Init unset data (bad that we change $_GET here!) if (empty($_GET['letter'])) { $_GET['letter'] = _ALL2; } if (empty($_GET['sortby'])) { $_GET['sortby'] = "userid"; } if (empty($_GET['page'])) { $_GET['page'] = "1"; } // Set base URL $BASE = "[ 0) $LINKS = $BASE."&what=list_links&u_id=".$uid."\">".$LINKS."]"; if ($DATA['refid'] > 0) $DATA['refid'] = $BASE."&what=list_user&u_id=".$DATA['refid']."\">".$DATA['refid']."]"; if (empty($DATA['last_module'])) $DATA['last_module'] = "---"; if ($REFS > 0) $REFS = $BASE."&what=list_refs&u_id=".$uid."\">".$REFS."]"; if ($CATS > 0) $CATS = $BASE."&what=list_cats&u_id=".$uid."\">".$CATS."]"; // Calculate timestamp for birthday $stamp = mktime(0, 0, 0, $DATA['birth_month'], $DATA['birth_day'], $DATA['birth_year']); // Is this above zero? if ($stamp > 0) { // Then use it define('_BIRTHDAY', MAKE_DATETIME($stamp, "3")); } else { // Zero or below so set zero! define('_BIRTHDAY', MAKE_DATETIME(0, "3")); } // Prepare data for template define('_REFS' , $REFS); define('_CATS' , $CATS); define('_LINKS', $LINKS); define('_ADMIN_LINKS', MEMBER_ACTION_LINKS($uid, $DATA['status'])); $DATA['gender'] = TRANSLATE_GENDER($DATA['gender']); $DATA['email_link'] = CREATE_EMAIL_LINK($DATA['email'], "user_data"); $DATA['status'] = TRANSLATE_STATUS($DATA['status']); $DATA['last_online'] = MAKE_DATETIME($DATA['last_online'], "0"); $DATA['used_points'] = TRANSLATE_COMMA($DATA['used_points']); if ($DATA['emails_sent'] > 0) $DATA['emails_sent'] = $BASE."&what=email_details&u_id=".$uid."\">".TRANSLATE_COMMA($DATA['emails_sent'])."]"; $DATA['joined'] = MAKE_DATETIME($DATA['joined'], "0"); $DATA['last_update'] = MAKE_DATETIME($DATA['last_update'], "0"); $DATA['last_profile_sent'] = MAKE_DATETIME($DATA['last_profile_sent'], "0"); $DATA['total'] = TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_points", "points")); $DATA['locked'] = TRANSLATE_COMMA(GET_TOTAL_DATA($uid, "user_points", "locked_points")); $DATA['lock_timestamp'] = MAKE_DATETIME($DATA['lock_timestamp'], "2"); // Is the lock reason not set? if (!isset($DATA['lock_reason'])) $DATA['lock_reason'] = "---"; // Nickname inclusion? if (EXT_IS_ACTIVE("nickname")) { // Nickname not set or invalid? Then if ((empty($DATA['nickname'])) || ($DATA['nickname'] == $uid)) $DATA['nickname'] = "---"; } else { // Extension not found $DATA['nickname'] = EXT_NICKNAME_404; } // Is the user extension newer? if (GET_EXT_VERSION("user") >= "0.3.4") { // Then "translate" the number $DATA['rand_confirmed'] = TRANSLATE_COMMA($DATA['rand_confirmed']); } // END - if // Clickrate $DATA['click_rate'] = 0; if ($DATA['emails_received'] > 0) { $DATA['click_rate'] = TRANSLATE_COMMA($DATA['mails_confirmed'] / $DATA['emails_received'] * 100); } // END - if // "Translate" more data $DATA['mails_confirmed'] = TRANSLATE_COMMA($DATA['mails_confirmed']); $DATA['emails_received'] = TRANSLATE_COMMA($DATA['emails_received']); // Is the extension "country" installed? if (EXT_IS_ACTIVE("country")) { // Then overwrite country information $DATA['country'] = COUNTRY_GENERATE_INFO($DATA['country_code']); } elseif ($DATA['country'] == 0) { // Zero ID??? $DATA['country'] = "???"; } // Load user-details template LOAD_TEMPLATE("admin_user_details", false, $uid); } else { // Account does not exist! LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_MEMBER_404_1.$uid.ADMIN_MEMBER_404_2); } // Free the result SQL_FREERESULT($result_user); } else { $whereStatement = ""; if (($_GET['letter'] != getMessage('_ALL2')) && ($_GET['letter'] != getMessage('_OTHERS')) && (!empty($_GET['letter']))) { // List only persons w $whereStatement = " WHERE family LIKE '".$_GET['letter']."%'"; } // END - if if ($_GET['sortby'] == "family_name") $_GET['sortby'] = "family"; // Parse the status or mode parameter if (isset($_GET['status'])) { // Is a WHERE statement already there? if (!empty($whereStatement)) { // Then append the status column $whereStatement .= sprintf(" AND `status`='%s'", SQL_ESCAPE(strip_tags(strtoupper($_GET['status'])))); } else { // Start a new one $whereStatement = sprintf(" WHERE `status`='%s'", SQL_ESCAPE(strip_tags(strtoupper($_GET['status'])))); } } elseif (isset($_GET['mode'])) { // Choose what we need to list switch ($_GET['mode']) { case "norefs": // Users w/o refs if (!empty($whereStatement)) { // Add AND statement $whereStatement .= " AND refid=0"; } else { // Add WHERE statement $whereStatement = " WHERE refid=0"; } break; default: // Invalid list mode DEBUG_LOG(__FILE__, __LINE__, sprintf("Invalid list mode %s detected.", SQL_ESCAPE($_GET['mode']))); break; } } // END = if // Prepare SQL and run it $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']); $result_master = SQL_QUERY($SQL, __FILE__, __LINE__); // Calculate page count (0.5 fixes a bug with page count) if (getConfig('user_limit') == 0) { $_CONFIG['user_limit'] = 100; LOAD_TEMPLATE("admin_settings_saved", false, EXTENSION_WARNING_USER_LIMIT); } // END - if // Activate the extension please! $PAGES = round(SQL_NUMROWS($result_master) / getConfig('user_limit') + 0.5); if (empty($_GET['page'])) $_GET['page'] = "1"; if (empty($_GET['offset'])) $_GET['offset'] = getConfig('user_limit'); // Add limitation to SQL string and run him again $SQL .= " LIMIT ".($_GET['offset'] * $_GET['page'] - $_GET['offset']).", ".$_GET['offset']; $result = SQL_QUERY($SQL, __FILE__, __LINE__); $result_user = SQL_QUERY("SELECT emails_sent FROM `{!_MYSQL_PREFIX!}_user_data` WHERE `status`='CONFIRMED'", __FILE__, __LINE__); $user_count = SQL_NUMROWS($result_user); SQL_FREERESULT($result_user); 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); // Sorting links define('__ALPHA_SORT', alpha($_GET['sortby'], $colspan, true)); define('__SORT_LINKS', SortLinks($_GET['letter'], $_GET['sortby'], $colspan, true)); if ($PAGES > 1) { define('__PAGE_NAV', ADD_PAGENAV($PAGES, getConfig('user_limit'), true, $colspan, true)); } else { // No page navigation is required define('__PAGE_NAV', ""); } // Column with nickname when nickname extension is present if (EXT_IS_ACTIVE("nickname")) { // Nickname extension found define('__NICKNAME_TH', " ".NICKNAME.""); } else { // Not found define('__NICKNAME_TH', ""); } // Load all users $SW = 2; $OUT = ""; while ($content = SQL_FETCHARRAY($result)) { // Set refid link if ($content['refid'] > 0) $content['refid'] = ADMIN_USER_PROFILE_LINK($content['refid']); // Get number of unconfirmed mails $LINKS = GET_TOTAL_DATA($content['userid'], "user_links", "id", "userid", true); if ($LINKS > 0) $LINKS = $BASE."&what=list_links&u_id=".$content['userid']."\">".TRANSLATE_COMMA($LINKS)."]"; // Set link to sent mails if present if ($content['emails_sent'] > 0) $content['emails_sent'] = $BASE."&what=email_details&u_id=".$content['userid']."\">".TRANSLATE_COMMA($content['emails_sent'])."]"; // Add nickname if (empty($content['nickname']) || $content['nickname'] == $content['userid']) $content['nickname'] = "---"; // Calculate total points $pointsTotal = GET_TOTAL_DATA($content['userid'], "user_points", "points") - GET_TOTAL_DATA($content['userid'], "user_data", "used_points"); // Clickrate $clickRate = 0; if ($content['emails_received'] > 0) { $clickRate = $content['mails_confirmed'] / $content['emails_received'] * 100; } // END - if // Transfer data to array $content['sw'] = $SW; $content['uid'] = ADMIN_USER_PROFILE_LINK($content['userid']); $content['gender'] = TRANSLATE_GENDER($content['gender']); $content['email'] = "[".$content['email']."]"; $content['addr'] = $content['REMOTE_ADDR']; $content['links'] = $LINKS; $content['alinks'] = MEMBER_ACTION_LINKS($content['userid'], $content['status']); $content['points'] = TRANSLATE_COMMA($pointsTotal); $content['rate'] = TRANSLATE_COMMA($clickRate); $content['locked'] = TRANSLATE_COMMA(GET_TOTAL_DATA($content['userid'], "user_points", "locked_points")); $content['lock_timestamp'] = MAKE_DATETIME($content['lock_timestamp'], "2"); $content['status'] = TRANSLATE_STATUS($content['status']); // Is the lock reason not set? if (!isset($content['lock_reason'])) $content['lock_reason'] = "---"; // Is the extension "country" installed? if (EXT_IS_ACTIVE("country")) { // Then overwrite country information $content['country'] = COUNTRY_GENERATE_INFO($content['country_code']); } elseif ($content['country'] == "") { // Zero ID??? $content['country'] = "???"; } // 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); define('__USER_ROWS', $OUT); // Load main template LOAD_TEMPLATE("admin_list_user"); // Free some memory SQL_FREERESULT($result_master); } else { // No one as registered so far! :-( LOAD_TEMPLATE("admin_settings_saved", false, getMessage('ADMIN_NO_NONE_REGISTERED')); } } // ?>