// This source file is part of the eZ publish (tm) Open Source Content
// Management System.
//
// ## END COPYRIGHT, LICENSE AND WARRANTY NOTICE ##
//
/*! \file edit_subscription.php
*/
$Module = $Params['Module'];
$http = eZHTTPTool::instance();
if ($http->hasPostVariable('RemoveSubscriptionButton')) {
    if (is_array($http->postVariable('SubscriptionIDArray'))) {
        foreach ($http->postVariable('SubscriptionIDArray') as $subscriptionID) {
            $userData = eZUserSubscriptionData::fetchById($subscriptionID);
            $subscriptionList = eZSubscription::fetchListByEmail($userData->attribute('email'), eZSubscription::VersionStatusPublished, array(array(eZSubscription::StatusPending, eZSubscription::StatusApproved, eZSubscription::StatusConfirmed, eZSubscription::StatusRemovedSelf, eZSubscription::StatusRemovedAdmin)));
            foreach ($subscriptionList as $subscription) {
                eZSubscription::removeAll($subscription->Attribute('id'));
            }
            eZUserSubscriptionData::removeAll($subscriptionID);
        }
    }
}
if ($http->hasPostVariable('searchString') && trim($http->postVariable('searchString')) != "") {
    $search = trim(strtolower($http->postVariable('searchString')));
    $db = eZDB::instance();
    $searchSQL = "SELECT email FROM ezsubscriptionuserdata WHERE LOWER(firstname) LIKE '%" . $db->escapeString($search) . "%' or LOWER(name) LIKE '%" . $db->escapeString($search) . "%' or LOWER(email) LIKE '%" . $db->escapeString($search) . "%' group by email LIMIT 50";
    $searchResult = $db->arrayQuery($searchSQL);
    $subscriberList = array();
    foreach ($searchResult as $email) {
        $subscriberList[] = eZUserSubscriptionData::fetch($email['email']);
    }
    $countSQL = "SELECT id FROM ezsubscriptionuserdata WHERE LOWER(firstname) LIKE '%" . $db->escapeString($search) . "%' or LOWER(name) LIKE '%" . $db->escapeString($search) . "%' or LOWER(email) LIKE '%" . $db->escapeString($search) . "%' group by email";
            }
            $userDeleteEmail = $db->arrayQuery("SELECT count(email) as emailcount\n\t\t\t\t\t       \t      FROM ezsubscription\n\t\t\t\t\t\t      WHERE email= '{$userEmail}'\n\t\t\t\t\t\t      GROUP BY email");
            if (count($userDeleteEmail > 0)) {
                $count = $userDeleteEmail[0];
            }
            if ((int) $count > $emailCount) {
            } else {
                $userDeleteSubscription = $db->query("DELETE FROM ezsubscriptionuserdata\n\t\t\t\t\t\t\t\tWHERE email = '{$userEmail}'");
                $userDeleteUserData = $db->query("DELETE FROM ezsubscription\n\t\t\t\t\t\t\t\tWHERE email = '{$userEmail}'");
            }
        }
    }
}
if ($http->hasPostVariable('RemoveSingleSubscriptionButton')) {
    foreach ($http->postVariable('SubscriptionIDArray') as $subscriptionID) {
        eZSubscription::removeAll($subscriptionID);
    }
}
/*
$userParameters = $Params['UserParameters'];
$statusFilter = isset( $userParameters['statusFilter'] ) ? explode( ',', $userParameters['statusFilter'] ) : array( -1 );
//$vipFilter = isset( $userParameters['vipFilter'] ) ? explode( ',', $userParameters['vipFilter'] ) : array( -1 );
$offset = isset( $userParameters['offset'] ) ? $userParameters['offset'] : 0;
$limitKey = isset( $userParameters['limit'] ) ? $userParameters['limit'] : '1';
$limitList = array ( '1' => 10,
                     '2' => 25,
                     '3' => 50 );

$limit = $limitList[(string)$limitKey];

$viewParameters = array( 'offset' => $offset,