Example #1
0
function addRenewalAlertNotification($addonsUpdate)
{
    $userHelp = panelRequestManager::getUserHelp();
    $newUserHelp = $newUserHelpEtc = array();
    if (!empty($addonsUpdate['updateAddons'])) {
        //25,6,1
        foreach ($addonsUpdate['updateAddons'] as $addonSlug => $addonDetails) {
            if ($addonDetails['validityExpires'] > 0 && $addonDetails['validityExpires'] - 86400 * 30 < time()) {
                //about to expire in less then 30 days or already expired
                if (!empty($addonDetails['isValidityExpired'])) {
                    if (empty($userHelp['renewal_alert_0d_' . $addonDetails['validityExpires']])) {
                        $newUserHelp['renewal_alert_0d_' . $addonDetails['validityExpires']] = true;
                        $newUserHelpEtc['renewal_alert_0d_' . $addonDetails['validityExpires']]['names'][] = $addonDetails['addon'];
                    }
                } else {
                    if ($addonDetails['validityExpires'] - 86400 * 1 > time() && $addonDetails['validityExpires'] - 86400 * 2 < time()) {
                        if (empty($userHelp['renewal_alert_1d_' . $addonDetails['validityExpires']])) {
                            $newUserHelp['renewal_alert_1d_' . $addonDetails['validityExpires']] = true;
                            $newUserHelpEtc['renewal_alert_1d_' . $addonDetails['validityExpires']]['names'][] = $addonDetails['addon'];
                        }
                    } else {
                        if ($addonDetails['validityExpires'] - 86400 * 2 > time() && $addonDetails['validityExpires'] - 86400 * 6 < time()) {
                            if (empty($userHelp['renewal_alert_6d_' . $addonDetails['validityExpires']])) {
                                $newUserHelp['renewal_alert_6d_' . $addonDetails['validityExpires']] = true;
                                $newUserHelpEtc['renewal_alert_6d_' . $addonDetails['validityExpires']]['names'][] = $addonDetails['addon'];
                            }
                        } else {
                            if ($addonDetails['validityExpires'] - 86400 * 10 > time() && $addonDetails['validityExpires'] - 86400 * 25 < time()) {
                                if (empty($userHelp['renewal_alert_25d_' . $addonDetails['validityExpires']])) {
                                    $newUserHelp['renewal_alert_25d_' . $addonDetails['validityExpires']] = true;
                                    $newUserHelpEtc['renewal_alert_25d_' . $addonDetails['validityExpires']]['names'][] = $addonDetails['addon'];
                                }
                            }
                        }
                    }
                }
            }
        }
        panelRequestManager::updateUserHelp($newUserHelp);
        if (!empty($newUserHelp)) {
            foreach ($newUserHelp as $key => $value) {
                $isExpired = false;
                $thisSingPlurMsg = array('AN ADDON IS EXPIRING', 'The following addon is about to expire. Please renew it immediately.');
                if (strpos($key, "renewal_alert_0d_") !== false) {
                    $isExpired = true;
                    $thisSingPlurMsg = array('AN ADDON HAS EXPIRED', 'The following addon has expired. Please renew it immediately to get continued updates and support.');
                }
                if (count($newUserHelpEtc[$key]['names']) > 1) {
                    $thisSingPlurMsg[0] = $isExpired ? 'A FEW ADDONS HAVE EXPIRED' : 'A FEW ADDONS ARE EXPIRING';
                    $thisSingPlurMsg[1] = $isExpired ? 'The following addons have expired. Please renew them immediately to get continued updates and support.' : 'The following addons are about to expire. Please renew them immediately.';
                }
                addNotification($type = 'E', $title = $thisSingPlurMsg[0], $thisSingPlurMsg[1] . '<br>' . implode('<br>', $newUserHelpEtc[$key]['names']) . '<br><a style="display:none" class="closeRenewalNotification" notifingitem="' . $key . '">Dismiss</a> <a href="' . IWP_SITE_URL . 'my-account/" target="_blank" >Renew Now</a>', $state = 'U');
            }
        }
    }
}