modules_update($row['ID']);
            // Handle membership level change
            if ($further_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD) {
                $mail_ret = mem_expiration_letter($row['ID'], $last_membership_arr['Name'], -1);
                if ($mail_ret) {
                    $expire_letters++;
                }
            }
        }
    } elseif ($current_membership_arr['ID'] != MEMBERSHIP_ID_STANDARD) {
        // Calculate further UNIX Timestamp
        $further_timestamp = time() + $expire_notification_days * 24 * 3600;
        $further_membership_arr = getMemberMembershipInfo($row['ID'], $further_timestamp);
        if ($current_membership_arr['ID'] != $further_membership_arr['ID'] && $further_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD) {
            if (!$expire_notify_once || abs($further_timestamp - time()) < 24 * 3600) {
                $mail_ret = mem_expiration_letter($row['ID'], $current_membership_arr['Name'], (int) (($current_membership_arr['DateExpires'] - time()) / (24 * 3600)));
                if ($mail_ret) {
                    $expire_letters++;
                }
            }
        }
    }
}
echo "Send membership expire letters: {$expire_letters} letters\n";
//========================================================================================================================
// clear tmp folder --------------------------------------------------------------------------
del_old_all_files();
// ----------------------------------------------------------------------------------
clean_database();
modules_proceed();
finish();
Example #2
0
 function processing()
 {
     global $MODE;
     // - Defaults -
     $MODE = "_MAIL_";
     //$MODE = "_LIVE_";
     $DAY = "_OBEY_";
     //$DAY  = "_FORCE_";
     define('NON_VISUAL_PROCESSING', 'YES');
     // - Always finish
     set_time_limit(36000);
     ignore_user_abort();
     // - Parameters check -
     for ($i = 0; strlen($argv[$i]); $i++) {
         switch ($argv[$i]) {
             case "--live":
                 $MODE = "_LIVE_";
                 break;
             case "--mail":
                 $MODE = "_MAIL_";
                 break;
             case "--force-day":
                 $DAY = "_FORCE_";
                 break;
             case "--obey-day":
                 $DAY = "_OBEY_";
                 break;
         }
     }
     if ($MODE != "_LIVE_") {
         ob_start();
     }
     $day = date("d");
     if (getParam("cmdDay") == $day && $DAY == "_OBEY_") {
         echo "Already done today, bailing out\n";
         $this->finish();
         return;
     }
     setParam("cmdDay", $day);
     //========================================================================================================================
     // - Membership check -
     echo "\n- Membership expiration letters -\n";
     $expire_notification_days = getParam("expire_notification_days");
     $expire_notify_once = getParam("expire_notify_once");
     $expire_letters = 0;
     $exp_res = db_res("SELECT `ID` FROM `Profiles`", 0);
     while ($row = mysql_fetch_array($exp_res)) {
         $current_membership_arr = getMemberMembershipInfo($row['ID']);
         // If expire_notification_days is -1 then notify after expiration
         if ($current_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD && $expire_notification_days == -1) {
             // Calculate last UNIX Timestamp
             $last_timestamp = time() - 24 * 3600;
             $last_membership_arr = getMemberMembershipInfo($row['ID'], $last_timestamp);
             if ($current_membership_arr['ID'] != $last_membership_arr['ID']) {
                 if ($further_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD) {
                     $mail_ret = mem_expiration_letter($row['ID'], $last_membership_arr['Name'], -1);
                     if ($mail_ret) {
                         $expire_letters++;
                     }
                 }
             }
         } elseif ($current_membership_arr['ID'] != MEMBERSHIP_ID_STANDARD) {
             // Calculate further UNIX Timestamp
             $further_timestamp = time() + $expire_notification_days * 24 * 3600;
             $further_membership_arr = getMemberMembershipInfo($row['ID'], $further_timestamp);
             if ($current_membership_arr['ID'] != $further_membership_arr['ID'] && $further_membership_arr['ID'] == MEMBERSHIP_ID_STANDARD) {
                 if (!$expire_notify_once || abs($further_timestamp - $current_membership_arr['DateExpires']) < 24 * 3600) {
                     $mail_ret = mem_expiration_letter($row['ID'], $current_membership_arr['Name'], (int) (($current_membership_arr['DateExpires'] - time()) / (24 * 3600)));
                     if ($mail_ret) {
                         $expire_letters++;
                     }
                 }
             }
         }
     }
     echo "Send membership expire letters: {$expire_letters} letters\n";
     //========================================================================================================================
     // clear tmp folder --------------------------------------------------------------------------
     $this->del_old_all_files();
     // ----------------------------------------------------------------------------------
     $this->clean_database();
     $this->finish();
 }
Example #3
0
 function processing()
 {
     global $MODE;
     // - Defaults -
     $MODE = "_MAIL_";
     //$MODE = "_LIVE_";
     $DAY = "_OBEY_";
     //$DAY  = "_FORCE_";
     define('NON_VISUAL_PROCESSING', 'YES');
     // - Always finish
     set_time_limit(36000);
     ignore_user_abort();
     // - Parameters check -
     for ($i = 0; strlen($argv[$i]); $i++) {
         switch ($argv[$i]) {
             case "--live":
                 $MODE = "_LIVE_";
                 break;
             case "--mail":
                 $MODE = "_MAIL_";
                 break;
             case "--force-day":
                 $DAY = "_FORCE_";
                 break;
             case "--obey-day":
                 $DAY = "_OBEY_";
                 break;
         }
     }
     if ($MODE != "_LIVE_") {
         ob_start();
     }
     $day = date("d");
     if (getParam("cmdDay") == $day && $DAY == "_OBEY_") {
         echo "Already done today, bailing out\n";
         $this->finish();
         return;
     }
     setParam("cmdDay", $day);
     //========================================================================================================================
     // - Send Admin Stats notification
     $this->processAdminStats();
     // - Membership check -
     unmarkMembershipAsExpiringAll();
     echo "\n- Membership expiration letters -\n";
     $iExpireNotificationDays = (int) getParam("expire_notification_days");
     $bExpireNotifyOnce = getParam("expire_notify_once") == 'on';
     $iExpireLetters = 0;
     $aRow = $GLOBALS['MySQL']->getFirstRow("SELECT `ID` FROM `Profiles`");
     while (!empty($aRow)) {
         $aCurrentMem = getMemberMembershipInfo($aRow['ID']);
         // If expire_notification_days is -1 then notify after expiration
         if ($aCurrentMem['ID'] == MEMBERSHIP_ID_STANDARD && $iExpireNotificationDays == -1) {
             // Calculate last UNIX Timestamp
             $iLastTimestamp = time() - 24 * 3600;
             $aLastMem = getMemberMembershipInfo($aRow['ID'], $iLastTimestamp);
             if ($aCurrentMem['ID'] != $aLastMem['ID']) {
                 $bMailResult = mem_expiration_letter($aRow['ID'], $aLastMem['Name'], -1);
                 if ($bMailResult) {
                     $iExpireLetters++;
                 }
             }
         } else {
             if ($aCurrentMem['ID'] != MEMBERSHIP_ID_STANDARD) {
                 // Calculate further UNIX Timestamp for expiration check
                 $iFurtherTimestamp = time() + 24 * 3600;
                 $aFurtherMem = getMemberMembershipInfo($aRow['ID'], $iFurtherTimestamp);
                 if ($aCurrentMem['ID'] != $aFurtherMem['ID'] && $aFurtherMem['ID'] == MEMBERSHIP_ID_STANDARD) {
                     markMembershipAsExpiring($aRow['ID'], $aCurrentMem['ID'], $aCurrentMem['TransactionID']);
                 }
                 // Calculate further UNIX Timestamp for notification letter
                 $iFurtherTimestamp = time() + $iExpireNotificationDays * 24 * 3600;
                 $aFurtherMem = getMemberMembershipInfo($aRow['ID'], $iFurtherTimestamp);
                 if ($aCurrentMem['ID'] != $aFurtherMem['ID'] && $aFurtherMem['ID'] == MEMBERSHIP_ID_STANDARD) {
                     if (!$bExpireNotifyOnce || abs($iFurtherTimestamp - $aCurrentMem['DateExpires']) < 24 * 3600) {
                         $bMailResult = mem_expiration_letter($aRow['ID'], $aCurrentMem['Name'], (int) (($aCurrentMem['DateExpires'] - time()) / (24 * 3600)));
                         if ($bMailResult) {
                             $iExpireLetters++;
                         }
                     }
                 }
             }
         }
         $aRow = $GLOBALS['MySQL']->getNextRow();
     }
     echo "Send membership expire letters: {$iExpireLetters} letters\n";
     //========================================================================================================================
     // clear tmp folder --------------------------------------------------------------------------
     $this->del_old_all_files();
     // ----------------------------------------------------------------------------------
     $this->clean_database();
     $this->finish();
 }