public function deleteAction() { SxCms_Acl::requireAcl('subscriptions', 'subscription.delete'); $subscription_id = $this->_getParam('id'); $proxy = new SxCms_Event_Subscription_DataMapper(); $subscription = $proxy->getSubscriptionById($subscription_id); $Subscription = new SxCms_Event_Subscription(); $Subscription->setSubscriptionId($subscription_id); $Subscription->delete(); $flashMessenger = $this->_helper->getHelper('FlashMessenger'); $flashMessenger->addMessage($this->admin_tmx->_('subscriptiondeleted')); $this->_helper->redirector->gotoSimple('list', 'event_subscription', null, array('id' => $subscription->getEventId())); }
public function getSubscriptionById($subscription_id) { $db = Zend_Registry::get('db'); $select = $db->select()->from(array('sub' => 'EventSubscription'), array('*'))->where('sub.subscription_id = ?', (int) $subscription_id); $result = $db->fetchRow($select); $subscription = new SxCms_Event_Subscription(); $subscription->setSubscriptionId((int) $result['subscription_id'])->setEventId((int) $result['event_id'])->setStatus($result['status']); $select = $db->select()->from(array('field' => 'EventSubscriptionField'), array('*'))->where('field.subscription_id = ?', (int) $result['subscription_id']); $fields = $db->fetchAll($select); foreach ($fields as $field) { $subscription->addFields($field['name'], $field['value']); } return $subscription; }