function onAction() { global $application; $request = $application->getInstance('Request'); $SessionPost = $_POST; $topics_ids = $request->getValueByKey('topic_id'); $emails_ids = $request->getValueByKey('email_id'); modApifunc('Subscriptions', 'deleteEmails', $topics_ids, $emails_ids); modApiFunc('Session', 'set', 'SessionPost', $SessionPost); $request = new Request(); $request->setView(CURRENT_REQUEST_URL); $request->setKey('topic', reset($topics_ids)); $application->redirect($request); }
function initShowTopic() { $this->_search_email = trim(modApiFunc('Request', 'getValueByKey', 'email')); $var = 'Subscription_Email_Search_' . $this->_topic_id; $this->_prev_search_email = modApifunc('Session', 'is_set', $var) ? modApifunc('Session', 'get', $var) : ''; modApiFunc('Session', 'set', $var, $this->_search_email); $this->_topic = modApiFunc('Subscriptions', 'getTopic', $this->_topic_id); if (empty($this->_topic)) { return; } $this->_pager_name = 'Subscription_Topic_' . $this->_topic_id; modAPIFunc('Paginator', 'setCurrentPaginatorName', $this->_pager_name); $page = modApiFunc('Paginator', 'getPaginatorPage', $this->_pager_name); if ($page <= 0) { modapiFunc('Paginator', 'resetPaginator', $this->_pager_name); } if ($this->_search_email != $this->_prev_search_email) { modApiFunc('Paginator', 'resetPaginator', $this->_pager_name); } $this->emails =& $this->fetchEmails(); $paginator_offset = modApiFunc('paginator', 'getCurrentPaginatorOffset'); $this->emails_total = modAPIFunc('paginator', 'getCurrentPaginatorTotalRows'); $emails_per_page = modAPIFunc('paginator', 'getPaginatorRowsPerPage', $this->_pager_name); if ($paginator_offset >= 0 && $this->emails_total > 0) { $this->emails_from = 1 + $paginator_offset; $this->emails_to = min($paginator_offset + $emails_per_page, $this->emails_total); } else { $this->emails_from = 0; $this->emails_to = 0; } }
function onCustomerRegistered($reg_data) { // link subscription address to the customer account $email = $reg_data['info']['Email']; if (!modApiFunc('Users', 'isValidEmail', $email)) { return; } $params = array('account' => $reg_data['account'], 'email' => $email); execQuery('SUBSCR_LINK_SUBSCRIPTION_TO_CUSTOMER', $params); // subscribe to auto-subscription topics $topics_ids = execQuery('SUBSCR_GET_AUTO_SUBSCRIBE_TOPICS', null); if (empty($topics_ids)) { return; } foreach (array_keys($topics_ids) as $i) { $topics_ids[$i] = $topics_ids[$i]['topic_id']; } modApifunc('Subscriptions', 'subscribeEmails', $topics_ids, $email); }
function importCustomerDB() { execQuery('SUBSCR_IMPORT_ORDERS_EMAILS', array('key' => $this->_action_key)); execQuery('SUBSCR_IMPORT_CUSTOMERS_EMAILS', array('key' => $this->_action_key)); $this->_valid_emails_count = modApifunc('Subscriptions', 'countTempEmails', $this->_action_key); }