]> git.mxchange.org Git - mailer.git/commitdiff
Fixes for purging inactive users
authorRoland Häder <roland@mxchange.org>
Sun, 11 Sep 2011 11:04:02 +0000 (11:04 +0000)
committerRoland Häder <roland@mxchange.org>
Sun, 11 Sep 2011 11:04:02 +0000 (11:04 +0000)
inc/extensions/ext-network.php
inc/functions.php
inc/libs/network_functions.php
inc/purge/purge-general.php
inc/purge/purge-inact.php
network-vcheck.php

index 4d756d46c5cd1e29a1f22bb4777073a4265868c4..481cb141d50323a437e701d69aac7c32c06ca5c8 100644 (file)
@@ -149,7 +149,7 @@ UNIQUE INDEX `code_type` (`network_type_code_value`,`network_type_id`),
 INDEX (`network_type_id`)",
                        'Error codes for all types');
 
-               // V-Check error codes
+               // V-check error codes
                addDropTableSql('network_vcheck_errors');
                addCreateTableSql('network_vcheck_errors', "
 `network_vcheck_error_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
@@ -6636,7 +6636,7 @@ UNIQUE INDEX `provider_type` (`network_id`,`network_type_id`)",
                addAdminMenuSql('network', NULL, 'Werbenetzwerke', 'Verwalten Sie hier Werbenetzwerke (API-Anbindung), versenden Sie deren Mails, oder &uuml;bernehmen Sie deren Textlinks und vieles mehr. <strong>VORSICHT:</strong> Das Einrichten von weiteren Werbenetzwerken ist nicht leicht, daf&uuml;r aber sehr flexibel! Sollte ein Netzwerk fehlen, so melden Sie dies bitte <a href="http://forum.mxchange.org/topic-462.html" target="_blank" title="Direktlink zum Forum">im Forum</a>!',4);
                addAdminMenuSql('network', 'config_network_api', 'API-Zugangsdaten', 'Stellen Sie Ihre Affiliate- Webseiten-Id und API-Passwort ein. Diese erhalten Sie aus dem Affiliate-Bereich des jeweiligen Werbenetzwerkes. Sollten Sie bei einem Werbenetzwerk noch nicht angemeldet sein, verwenden Sie bitte meinen Referral-Link dazu.',1);
                addAdminMenuSql('network', 'config_network_types', 'Werbearten', 'Stellen Sie hier Reload-Zeiten, Mindestauffenthalt und so weiter pro Werbeart und Werbenetzwerk ein. Es werden sonst Ausgangswerte (Mimimumwerte: 0, Maximumwerte: sehr gross, Erotik: aus) angenommen, die Sie meistens nicht wollen.',2);
-               addAdminMenuSql('network', 'config_network_vcheck', 'V-Check', 'Aktivieren Sie hier den Verg&uuml;tungscheck (V-Check) oder richten Sie einen neuen Zugangsschl&uuml;ssel (&quot;Passwort&quot;) f&uuml;r das Werbenetzwerk ein. Nicht jedes Werbenetzwerk unterst&uuml;tzt dies! Am besten schauen Sie in Ihrem Affiliate-Bereich des jeweiligen Werbenetzwerkes nach, ob dort der V-Check angeboten wird.',3);
+               addAdminMenuSql('network', 'config_network_vcheck', 'Verg&uuml;tungscheck', 'Aktivieren Sie hier den Verg&uuml;tungscheck (V-Check) oder richten Sie einen neuen Zugangsschl&uuml;ssel (&quot;Passwort&quot;) f&uuml;r das Werbenetzwerk ein. Nicht jedes Werbenetzwerk unterst&uuml;tzt dies! Am besten schauen Sie in Ihrem Affiliate-Bereich des jeweiligen Werbenetzwerkes nach, ob dort der Verg&uuml;tungscheck angeboten wird.',3);
                addAdminMenuSql('network', 'query_network_apis', 'APIs abfragen', 'Fragt alle eingestellten APIs ab. Die Ergebnisse werden dann f&uuml;r einen einstellbaren Zeitraum gecacht und nicht erneut angefordert.',4);
                addAdminMenuSql('network', 'config_network', 'Einstellungen', 'Stellen Sie generelle Einstellungen ein, die f&uuml;r alle Werbenetzwerke gelten, wie z.B. Cache-Erneuerungsinterval. Generell sind aber die Einstellungen in Ordnung, da z.B. sonst Ihre freien Abfragen beim Werbenetzwerk sich zu schnell abbauen.',5);
                addAdminMenuSql('network', 'list_network_reloads', 'Reload-Sperren', 'Listen oder l&ouml;schen Sie hier Reload-Sperren. <strong>Vorsicht:</strong> Die hier gespeicherten Reload-Sperren sind vom jeweiligen Werbenetzwerk &uuml;bernommen. Eventuell verdienen Sie nichts, wenn Sie z.B. eine Mail innerhalb der Reload-Sperre erneut versenden.',6);
@@ -6646,6 +6646,7 @@ UNIQUE INDEX `provider_type` (`network_id`,`network_type_id`)",
                addAdminMenuSql('network', 'list_network_vcheck_params', 'Dev-VCheck-Parameter', '<strong>Entwicklereinstellungen!</strong> Hier stellen Sie die Abfrageparameter f&uuml;r <strong>network-vcheck.php</strong> pro Werbenetzwerk ein, damit dies vom Werbenetzwerk zur&uuml;ck korrekt aufgerufen wird. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.', 10);
                addAdminMenuSql('network', 'list_network_array_translation', 'Dev-Antwort-Array', '<strong>Entwicklereinstellungen!</strong> Hier stellen Sie die Zuweisungen der aus der analysierten API-Antwort Array-Elementen zu den Datenspalten ein. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.', 11);
                addAdminMenuSql('network', 'list_network_error_codes', 'Dev-Fehlercodes', '<strong>Entwicklereinstellungen!</strong> Hier stellen Sie die Fehlercodes ein, die im Falle eines Fehlers pro API-Script kommen k&ouml;nnen. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.', 12);
+               addAdminMenuSql('network', 'list_network_vcheck_errors', 'Dev-VCheck-Fehler', '<strong>Entwicklereinstellungen!</strong> Hier stellen Sie die Fehlercodes ein, die im Falle eines Fehlers vom Werbenetzwerk an <strong>network-vcheck.php</strong> gemeldet werden. Auch ob alles in Ordnung gegangen ist, wird hier eingestellt. Sie sollten hier generell nichts einstellen und <a href="http://forum.mxchange.org/forum-43.html" target="_blank" title="Direktlink zum Forum">im Forum</a> um Hilfe fragen, wenn Sie selber ein Werbenetzwerk einrichten m&ouml;chten.', 13);
 
                // Configuration entries
                addConfigAddSql('network_cache_refresh', 'BIGINT(20) UNSIGNED NOT NULL DEFAULT ' . (60 * 15));
index f35ee954c60d3d74e065fbe730f9f71980a696bd..b142253bab09273f20b646214cc9cd5db5a13edf 100644 (file)
@@ -1372,11 +1372,11 @@ function changeDataInFile ($FQFN, $comment, $prefix, $suffix, $inserted, $seek=0
 function sendAdminNotification ($subject, $templateName, $content = array(), $userid = NULL) {
        if ((isExtensionInstalledAndNewer('admins', '0.4.1')) && (function_exists('sendAdminsEmails'))) {
                // Send new way
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=Y,subject=' . $subject . ',templateName=' . $templateName);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=Y,subject=' . $subject . ',templateName=' . $templateName . ' - OKAY!');
                sendAdminsEmails($subject, $templateName, $content, $userid);
        } else {
                // Send out-dated way
-               /* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=N,subject=' . $subject . ',templateName=' . $templateName);
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'admins=N,subject=' . $subject . ',templateName=' . $templateName . ' - OUT-DATED!');
                $message = loadEmailTemplate($templateName, $content, $userid);
                sendAdminEmails($subject, $message);
        }
index d6ca362e25f888f64470fbd2a56e43c5b853874a..1dad40cf32c0fe98b82e04eea97a16b82f498f50 100644 (file)
@@ -905,6 +905,12 @@ function isNetworkTypeHandlerConfigured ($networkId, $networkTypeId) {
        return $GLOBALS[__FUNCTION__][$networkId][$networkTypeId];
 }
 
+// Handles the network-payment-check request
+function handleNetworkPaymentCheckRequest () {
+       // @TODO Implement this function
+       debug_report_bug(__FUNCTION__, __LINE__, 'Not yet implemented.');
+}
+
 //------------------------------------------------------------------------------
 //                             Call-back functions
 //------------------------------------------------------------------------------
index 896442769b01ca7276ec01774effb633526d8c45..ad9ad46475973104e0d7a3e4e34a6d9010dd978d 100644 (file)
@@ -132,7 +132,9 @@ ORDER BY
                        } // END - while
 
                        // Add points to jackpot
-                       if (isExtensionActive('jackpot')) addPointsToJackpot($points);
+                       if (isExtensionActive('jackpot')) {
+                               addPointsToJackpot($points);
+                       } // END - if
 
                        // Add points for the admin
                        $admin_points += $points;
index e70c0164b86369147f0e4a0baba4e24b75e3b7e6..6786cb171482ee38032d5f91ddb456fccab3d239 100644 (file)
@@ -53,23 +53,25 @@ if (isAutopurgeInactiveEnabled()) {
 
        // Init exclusion list
        // @TODO Rewrite these if() blocks to a filter
-       $EXCLUDE_LIST = '';
-       if (isValidUserId(getDefRefid())) $EXCLUDE_LIST .= ' AND `userid` != {?def_refid?}';
+       $excludeUserids = '';
+       if (isValidUserId(getDefRefid())) $excludeUserids .= ' AND `userid` != {?def_refid?}';
 
        // Check for more extensions
-       if (isExtensionActive('beg'))     $EXCLUDE_LIST .= ' AND `userid` != {?beg_userid?}';
-       if (isExtensionActive('bonus'))   $EXCLUDE_LIST .= ' AND `userid` != {?bonus_userid?}';
-       if (isExtensionActive('doubler')) $EXCLUDE_LIST .= ' AND `userid` != {?doubler_userid?}';
+       if (isExtensionActive('beg'))     $excludeUserids .= ' AND `userid` != {?beg_userid?}';
+       if (isExtensionActive('bonus'))   $excludeUserids .= ' AND `userid` != {?bonus_userid?}';
+       if (isExtensionActive('doubler')) $excludeUserids .= ' AND `userid` != {?doubler_userid?}';
 
        // Check for new holiday extension
        if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
                // Include only users with no active holiday
-               $EXCLUDE_LIST .= " AND `holiday_active`='N'";
+               $excludeUserids .= " AND `holiday_active`='N'";
        } // END - if
 
        // Check for all accounts
        $result_inactive = SQL_QUERY("SELECT
-       `userid`,`email`,`last_online`
+       `userid`,
+       `email`,
+       `last_online`
 FROM
        `{?_MYSQL_PREFIX?}_user_data`
 WHERE
@@ -77,13 +79,13 @@ WHERE
        (UNIX_TIMESTAMP() - `joined`) >= {?ap_inactive_since?} AND
        (UNIX_TIMESTAMP() - `last_online`) >= {?ap_inactive_since?} AND
        (UNIX_TIMESTAMP() - `ap_notified`) >= {?ap_inactive_since?}
-       " . $EXCLUDE_LIST . "
+       " . $excludeUserids . "
 ORDER BY
        `userid` ASC", __FILE__, __LINE__);
 
        if (!SQL_HASZERONUMS($result_inactive)) {
                // Prepare variables and constants...
-               $useridsContent = '';
+               $userids = array();
                $content['since'] = (getApInactiveSince() / 60 / 60);
                $content['time']  = (getApInactiveTime()  / 60 / 60);
 
@@ -93,7 +95,7 @@ ORDER BY
                        $content = merge_array($content, $row);
 
                        // Remember userids for the admin
-                       $useridsContent .= $content['userid'] . ', ';
+                       $userids[] = $content['userid'];
 
                        // Get date/time from timestamp
                        $content['last_online'] = generateDateTime($content['last_online'], 0);
@@ -108,7 +110,7 @@ ORDER BY
                } // END - while
 
                // Remove last comma
-               $useridsContent = str_replace(', ', "\n", substr($useridsContent, 0, -2));
+               $useridsContent = implode("\n", $userids);
 
                // Send mail notification to admin
                sendAdminNotification('{--ADMIN_AUTOPURGE_INACTIVE_SUBJECT--}', 'admin_autopurge_inactive', $useridsContent);
@@ -120,15 +122,18 @@ ORDER BY
        // Now let's have a look for inactive accounts we want to delete we newly use the same exclude list
        // here for e.g. excluding holiday users
        $result_inactive = SQL_QUERY("SELECT
-       `userid`,`email`,`last_online`
+       `userid`,
+       `email`,
+       `last_online`
 FROM
        `{?_MYSQL_PREFIX?}_user_data`
 WHERE
        `status`='CONFIRMED' AND
        (UNIX_TIMESTAMP() - `joined`) >= {?ap_inactive_since?} AND
        (UNIX_TIMESTAMP() - `last_online`) >= {?ap_inactive_since?} AND
-       (UNIX_TIMESTAMP() - `ap_notified`) >= {?ap_inactive_time?}
-" . $EXCLUDE_LIST . "
+       (UNIX_TIMESTAMP() - `ap_notified`) >= {?ap_inactive_time?} AND
+       `ap_notified` > 0
+" . $excludeUserids . "
 ORDER BY
        `userid` ASC", __FILE__, __LINE__);
 
@@ -139,7 +144,7 @@ ORDER BY
                // Delete inactive accounts
                while ($content = SQL_FETCHARRAY($result_inactive)) {
                        // Remember userids for the admin
-                       $useridsContent[] = $content['userid'];
+                       $userids[] = $content['userid'];
 
                        // Get date/time from timestamp
                        $content['last_online'] = generateDateTime($content['last_online'], 0);
index 3d379f4d1930dead7dbe0c5bcabf418ce10cfb8b..49e36aa69c447dd2b77ae0df5dc492e613407234 100644 (file)
@@ -8,7 +8,7 @@
  * -------------------------------------------------------------------- *
  * Short description : Payment check script for extension ext-network   *
  * -------------------------------------------------------------------- *
- * Kurzbeschreibung  : V-Check Script fuer Erweiterung ext-network      *
+ * Kurzbeschreibung  : VCheck Script fuer Erweiterung ext-network       *
  * -------------------------------------------------------------------- *
  * $Revision::                                                        $ *
  * $Date::                                                            $ *
@@ -54,7 +54,11 @@ setContentType('text/plain');
 // Load header
 loadIncludeOnce('inc/header.php');
 
-// @TODO Add processing of request here
+// Is the required extension installed?
+if (isExtensionInstalled('network')) {
+       // It is installed, so handle the request
+       handleNetworkPaymentCheckRequest();
+} // END - if
 
 // Load footer
 loadIncludeOnce('inc/footer.php');