/** * Test fetchByEmail method */ function testFetchByEmail() { $subscriber = ezcomSubscriber::fetchByEmail('*****@*****.**'); $this->assertType('ezcomSubscriber', $subscriber); $subscriber = ezcomSubscriber::fetchByEmail('*****@*****.**'); $this->assertEquals(null, $subscriber); }
/** * clean up subscription based on an email address and content, language, * make the subscription consistent. * example: * @param string $email * @return true - there is subscription deleted * false - no subscription deleted * null - error */ static function cleanupSubscription($email, $contentobjectID, $languageID) { //2. get subscriber $subscriber = ezcomSubscriber::fetchByEmail($email); if (is_null($subscriber)) { return false; } $subscriberID = $subscriber->attribute('id'); //3. clean up subscription $querySubscription = "DELETE FROM ezcomment_subscription" . " WHERE subscriber_id = {$subscriberID} " . " AND content_id = {$contentID}" . " AND language_id= {$languageID}"; $db->query($querySubscription); return true; }
} } else { if (!is_null($Params['HashString']) && $Params['HashString'] != '') { $page = $Params['HashString']; } } $tpl->setVariable('current_page', $page); //TODO: validate page if (!is_numeric($page)) { eZDebug::writeError('Page is not numeric!', 'Setting'); return; } $subscriber = null; if (!$user->isAnonymous()) { $email = $user->attribute('email'); $subscriber = ezcomSubscriber::fetchByEmail($email); } else { $subscriber = ezcomSubscriber::fetchByHashString($hashString); } if (is_null($subscriber)) { $Result = array(); $Result['content'] = $tpl->fetch('design:comment/setting.tpl'); $Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('ezcomments/comment/setting', 'Comment settings'))); return $Result; } $tpl->setVariable('subscriber', $subscriber); $email = $subscriber->attribute('email'); $module = $Params['Module']; if ($module->isCurrentAction('Save')) { $subscriberID = $http->postVariable('SubscriberID'); if ($http->hasPostVariable('CheckboxName')) {
/** * delete the subscription given the subscriber's email * @param $email * @param $contentObjectID * @param $languageID * @return unknown_type */ public function deleteSubscription($email, $contentObjectID, $languageID) { $subscriber = ezcomSubscriber::fetchByEmail($email); $cond = array(); $cond['subscriber_id'] = $subscriber->attribute('id'); $cond['content_id'] = $contentObjectID; $cond['language_id'] = $languageID; $cond['subscription_type'] = 'ezcomcomment'; $subscription = ezcomSubscription::fetchByCond($cond); $subscription->remove(); }