<?php
/************************************************************************
- * MXChange v0.2.1 Start: 06/26/2004 *
- * ================ Last change: 06/26/2004 *
+ * Mailer v0.2.1-FINAL Start: 06/26/2004 *
+ * =================== Last change: 06/26/2004 *
* *
* -------------------------------------------------------------------- *
* File : what-list_autopurge.php *
* -------------------------------------------------------------------- *
* Kurzbeschreibung : Inaktive Accounts finden und dann auflisten *
* -------------------------------------------------------------------- *
- * *
+ * $Revision:: $ *
+ * $Date:: $ *
+ * $Tag:: 0.2.1-FINAL $ *
+ * $Author:: $ *
* -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
+ * Copyright (c) 2003 - 2009 by Roland Haeder *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team *
+ * For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
************************************************************************/
// Some security stuff...
-if ((!defined('__SECURITY')) || (!IS_ADMIN())) {
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
+if ((!defined('__SECURITY')) || (!isAdmin())) {
+ die();
+} // END - if
// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
-
-// Ok, let's have a look...
-$since = bigintval(time() - $_CONFIG['ap_in_since']);
-$EXCLUDE_LIST = " AND d.userid != c.def_refid";
+addYouAreHereLink('admin', __FILE__);
-// Check for more extensions
-if (EXT_IS_ACTIVE("beg")) $EXCLUDE_LIST .= " AND d.userid != c.beg_uid";
-if (EXT_IS_ACTIVE("bonus")) $EXCLUDE_LIST .= " AND d.userid != c.bonus_uid";
-if (EXT_IS_ACTIVE("doubler")) $EXCLUDE_LIST .= " AND d.userid != c.doubler_uid";
+// Exclude default referral id if set
+// @TODO Rewrite those lines to filter
+$userExclusionSql = runFilterChain('user_exclusion_sql', ' ');
+if (isValidId(getDefRefid())) $userExclusionSql .= ' AND d.userid != {?def_refid?}';
+if (isExtensionActive('beg')) $userExclusionSql .= ' AND d.userid != {?beg_userid?}';
+if (isExtensionActive('bonus')) $userExclusionSql .= ' AND d.userid != {?bonus_userid?}';
+if (isExtensionActive('doubler')) $userExclusionSql .= ' AND d.userid != {?doubler_userid?}';
+if (isExtensionInstalledAndNewer('holiday', '0.1.3')) $userExclusionSql .= " AND `d`.`holiday_active`='N'";
// Check for all accounts
-$result = SQL_QUERY_ESC("SELECT DISTINCT d.userid, d.gender, d.surname, d.family, d.email, d.joined, d.last_online, d.ap_notified
-FROM "._MYSQL_PREFIX."_user_data AS d, "._MYSQL_PREFIX."_config AS c
-WHERE d.status='CONFIRMED' AND d.joined < %s AND d.last_online < %s AND d.ap_notified < %s
-".$EXCLUDE_LIST."
-ORDER BY d.userid", array($since, $since, $since), __FILE__, __LINE__);
+$result = SQL_QUERY("SELECT
+ `d`.`userid`,
+ `d`.`gender`,
+ `d`.`surname`,
+ `d`.`family`,
+ `d`.`email`,
+ `d`.`joined`,
+ `d`.`last_online`,
+ `d`.`ap_notified`
+FROM
+ `{?_MYSQL_PREFIX?}_user_data` AS `d`
+WHERE
+ `d`.`status`='CONFIRMED' AND
+ (UNIX_TIMESTAMP() - `d`.`joined`) >= {?ap_inactive_since?} AND
+ (UNIX_TIMESTAMP() - `d`.`last_online`) >= {?ap_inactive_since?} AND
+ (UNIX_TIMESTAMP() - `d`.`ap_notified`) >= {?ap_inactive_since?}
+ " . $userExclusionSql . "
+ORDER BY
+ `d`.`userid` ASC", __FILE__, __LINE__);
-if (SQL_NUMROWS($result) > 0)
-{
+if (!SQL_HASZERONUMS($result)) {
// Ok, we have found some inactive accounts
- $SW = 2; $OUT = "";
- while(list($uid, $gender, $sname, $fname, $email, $joined, $last, $notified) = SQL_FETCHROW($result))
- {
+ $OUT = '';
+ while ($content = SQL_FETCHARRAY($result)) {
// Prepare data for the row template
$content = array(
- 'sw' => $SW,
- 'uid' => ADMIN_USER_PROFILE_LINK($uid),
- 'gender' => TRANSLATE_GENDER($gender),
- 'sname' => $sname,
- 'fname' => $fname,
- 'email' => "<A href=\"".CREATE_EMAIL_LINK($email, "user_data")."\">".$email."</A>",
- 'joined' => MAKE_DATETIME($joined, "2"),
- 'last' => MAKE_DATETIME($last, "2"),
- 'notified' => MAKE_DATETIME($notified, "2"),
+ 'userid' => $content['userid'],
+ 'gender' => $content['gender'],
+ 'surname' => $content['surname'],
+ 'family' => $content['family'],
+ 'email' => '<a href="' . generateEmailLink($content['email'], 'user_data') . '">' . $content['email'] . '</a>',
+ 'joined' => generateDateTime($content['joined'], 2),
+ 'last_online' => generateDateTime($content['last_online'], 2),
+ 'ap_notified' => generateDateTime($content['ap_notified'], 2),
);
// Load row template
- $OUT .= LOAD_TEMPLATE("admin_list_autopurge_row", true, $content);
- $SW = 3 - $SW;
- }
+ $OUT .= loadTemplate('admin_list_autopurge_row', TRUE, $content);
+ } // END - while
// Free memory
SQL_FREERESULT($result);
- define('__AUTOPURGE_ROWS', $OUT);
+ $content['rows'] = $OUT;
// Load main template
- LOAD_TEMPLATE("admin_list_autopurge");
-}
- else
-{
+ loadTemplate('admin_list_autopurge', FALSE, $content);
+} else {
// All members are active or you don't have any registered
- LOAD_TEMPLATE("admin_settings_saved", false, ADMIN_AUTOPURGE_ALL_ACTIVE);
+ displayMessage('{--ADMIN_AUTOPURGE_ALL_ACTIVE--}');
}
-//
+
+// [EOF]
?>