X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=inc%2Ffilters.php;h=79462da8d7b9c5242b0710b9cf02ca3f9c71bc11;hb=34f938e55a87bcb4ca0ba5f612aa110ae75e2101;hp=1033083dabfb021f07a19c9d7490055c69e461e4;hpb=b7ec93f8292180fa480361949f8da5d6f558ef7e;p=mailer.git diff --git a/inc/filters.php b/inc/filters.php index 1033083dab..79462da8d7 100644 --- a/inc/filters.php +++ b/inc/filters.php @@ -343,7 +343,7 @@ function FILTER_REMOVE_UPDATES ($data) { // Do we need to remove update depency? if (countExtensionUpdateDependencies() > 0) { // Then find all updates we shall no longer execute - foreach (getExtensionUpdateDependencies() as $id=>$ext_name) { + foreach (getExtensionUpdateDependencies() as $id => $ext_name) { // Shall we remove this update? if (in_array($ext_name, getExtensionRemovalList())) { // Then remove this extension! @@ -856,12 +856,54 @@ function FILTER_FLUSH_TEMPLATE_CACHE () { // Do we have cached eval() data? if ((isset($GLOBALS['template_eval'])) && (count($GLOBALS['template_eval']) > 0)) { // Now flush all - foreach ($GLOBALS['template_eval'] as $template=>$eval) { + foreach ($GLOBALS['template_eval'] as $template => $eval) { // Flush the cache (if not yet found) flushTemplateCache($template, $eval); } // END - if } // END - if } +// Filter for loading user data +function FILTER_FETCH_USER_DATA ($userid = 0) { + // Is the userid not set? Then use member id + if (($userid == '0') || (is_null($userid))) $userid = getMemberId(); + + // Get user data + if (!fetchUserData($userid)) { + // Userid is not valid + debug_report_bug('User id '.$userid . ' is invalid.'); + } // END - if + + // Set member id + setMemberId($userid); +} + +// Filter for reseting users' last login failure, only available with latest ext-sql_patches +function FILTER_RESET_USER_LOGIN_FAILURE () { + // Is the user data valid? + if (!isMember()) { + // Do only run for logged in members + debug_report_bug('Please only run this filter for logged in users.'); + } // END - if + + // Remmeber login failures if available + if (isExtensionInstalledAndNewer('sql_patches', '0.6.1')) { + // Reset login failures + SQL_QUERY_ESC("UPDATE + `{?_MYSQL_PREFIX?}_user_data` +SET + `login_failures`=0, + `last_failure`='0000-00-00 00:00:00' +WHERE + `userid`=%s +LIMIT 1", + array(getMemberId()), __FILE__, __LINE__); + + // Store it in session + setSession('mxchange_member_failures' , getUserData('login_failures')); + setSession('mxchange_member_last_fail', getUserData('last_failure')); + } // END - if +} + // [EOF] ?>