/** * Subscribe current user to selected queue. * @param string $queue_name */ public function actionSubscribe($queue_name) { list($queue, $authItems) = $this->loadQueue($queue_name, array('nfy.queue.subscribe')); $formModel = new SubscriptionForm('create'); if (isset($_POST['SubscriptionForm'])) { $formModel->attributes = $_POST['SubscriptionForm']; if ($formModel->validate()) { $queue->subscribe(Yii::app()->user->getId(), $formModel->label, $formModel->categories, $formModel->exceptions); $this->redirect(array('index')); } } $this->render('subscription', array('queue' => $queue, 'model' => $formModel)); }
/** * Save individual subscription. */ function execute() { $insert = false; if (!isset($this->subscription)) { import('classes.subscription.IndividualSubscription'); $this->subscription = new IndividualSubscription(); $insert = true; } parent::execute(); $individualSubscriptionDao = DAORegistry::getDAO('IndividualSubscriptionDAO'); if ($insert) { $individualSubscriptionDao->insertSubscription($this->subscription); } else { $individualSubscriptionDao->updateSubscription($this->subscription); } // Send notification email if ($this->_data['notifyEmail'] == 1) { $mail = $this->_prepareNotificationEmail('SUBSCRIPTION_NOTIFY'); $mail->send(); } }
/** * Save institutional subscription. */ function execute() { $insert = false; if (!isset($this->subscription)) { import('classes.subscription.InstitutionalSubscription'); $this->subscription = new InstitutionalSubscription(); $insert = true; } parent::execute(); $this->subscription->setInstitutionName($this->getData('institutionName')); $this->subscription->setInstitutionMailingAddress($this->getData('institutionMailingAddress')); $this->subscription->setDomain($this->getData('domain')); $ipRanges = $this->getData('ipRanges'); if (empty($ipRanges) || empty($ipRanges[0])) { $ipRanges = array(); } $this->subscription->setIPRanges($ipRanges); $institutionalSubscriptionDao =& DAORegistry::getDAO('InstitutionalSubscriptionDAO'); if ($insert) { $institutionalSubscriptionDao->insertSubscription($this->subscription); } else { $institutionalSubscriptionDao->updateSubscription($this->subscription); } // Send notification email if ($this->_data['notifyEmail'] == 1) { $mail =& $this->_prepareNotificationEmail('SUBSCRIPTION_NOTIFY'); $mail->send(); } }