<?php $module = $Params['Module']; $http = eZHTTPTool::instance(); $tpl = eZTemplate::factory(); if ($http->hasPostVariable('SaveRule_itnewsletter')) { // AGGIUNGO LA REGISTRAZIONE DELL'UTENTE AL TAG DELLA NEWSLETTER // $tagID = $http->postVariable('SaveRule_itnewsletter'); $user = eZUser::currentUser(); $existingTags = ITNewsletterNotificationRule::fetchTagsForUserID($user->attribute('contentobject_id'), false); if (!in_array($tagID, $existingTags)) { $rule = ITNewsletterNotificationRule::create($tagID, $user->attribute('contentobject_id')); $rule->store(); } } else { if ($http->hasPostVariable('RemoveRule_itnewsletter')) { // TOLGO LA REGISTRAZIONE DELL'UTENTE AL TAG DELLA NEWSLETTER // $user = eZUser::currentUser(); $listID = array(); $userList = ITNewsletterNotificationRule::fetchList($user->attribute('contentobject_id'), false); foreach ($userList as $userRow) { $listID[] = $userRow['id']; } $ruleIDList = $http->postVariable('RemoveRule_itnewsletter'); foreach ($ruleIDList as $ruleID) { if (in_array($ruleID, $listID)) { eZPersistentObject::removeObject(ITNewsletterNotificationRule::definition(), array('id' => $ruleID)); } } } }
/** * @param eZHTTPTool $http * @param eZModule $module * @return void */ function fetchHttpInput($http, $module) { if ($http->hasPostVariable('RemoveRule_' . self::NOTIFICATION_HANDLER_ID)) { $user = eZUser::currentUser(); $listID = array(); $userList = ITNewsletterNotificationRule::fetchList($user->attribute('contentobject_id'), false); foreach ($userList as $userRow) { $listID[] = $userRow['id']; } $ruleIDList = $http->postVariable('RemoveRule_' . self::NOTIFICATION_HANDLER_ID); foreach ($ruleIDList as $ruleID) { if (in_array($ruleID, $listID)) { eZPersistentObject::removeObject(ITNewsletterNotificationRule::definition(), array('id' => $ruleID)); } } } else { if ($http->hasPostVariable('SaveRule_' . self::NOTIFICATION_HANDLER_ID)) { $tagID = $http->postVariable('SaveRule_' . self::NOTIFICATION_HANDLER_ID); $user = eZUser::currentUser(); $existingTags = ITNewsletterNotificationRule::fetchTagsForUserID($user->attribute('contentobject_id'), false); if (!in_array($tagID, $existingTags)) { $rule = ITNewsletterNotificationRule::create($tagID, $user->attribute('contentobject_id')); $rule->store(); } } } }