/** * If any external payment mean chooses by customer * Forward to payment page after order submitting */ public function paymentAction() { if (empty($this->session['sOrderVariables']) || $this->getMinimumCharge() || $this->getEsdNote() || $this->getDispatchNoOrder()) { return $this->forward('confirm'); } if ($this->Request()->getParam('sNewsletter') !== null) { $this->session['sNewsletter'] = $this->Request()->getParam('sNewsletter') ? true : false; } if ($this->Request()->getParam('sComment') !== null) { $this->session['sComment'] = trim(strip_tags($this->Request()->getParam('sComment'))); } if (!Shopware()->Config()->get('IgnoreAGB') && !$this->Request()->getParam('sAGB')) { $this->View()->sAGBError = true; return $this->forward('confirm'); } $this->View()->assign($this->session['sOrderVariables']->getArrayCopy()); $this->View()->sAGBError = false; if (empty($this->View()->sPayment['embediframe']) && empty($this->View()->sPayment['action'])) { return $this->forward('confirm'); } if (!empty($this->session['sNewsletter'])) { $this->admin->sUpdateNewsletter(true, $this->admin->sGetUserMailById(), true); } if (!empty($this->View()->sPayment['embediframe'])) { $embedded = $this->View()->sPayment['embediframe']; $embedded = preg_replace('#^[./]+#', '', $embedded); $embedded .= '?sCoreId=' . Shopware()->SessionID(); $embedded .= '&sAGB=1'; $this->View()->sEmbedded = $embedded; } else { $action = explode('/', $this->View()->sPayment['action']); $this->redirect(array('controller' => $action[0], 'action' => empty($action[1]) ? 'index' : $action[1], 'forceSecure' => true)); } }
/** * Save newsletter action * * Save newsletter address data */ public function saveNewsletterAction() { if($this->Request()->isPost()) { $status = $this->Request()->getPost('newsletter') ? true : false; $this->admin->sUpdateNewsletter($status, $this->admin->sGetUserMailById(), true); $this->View()->sSuccessAction = 'newsletter'; } $this->forward('index'); }
/** * Save newsletter action * * Save newsletter address data */ public function saveNewsletterAction() { if ($this->Request()->isPost()) { $status = $this->Request()->getPost('newsletter') ? true : false; $this->admin->sUpdateNewsletter($status, $this->admin->sGetUserMailById(), true); $successMessage = $status ? 'newsletter' : 'deletenewsletter'; if (Shopware()->Config()->optinnewsletter && $status) { $successMessage = 'optinnewsletter'; } $this->View()->sSuccessAction = $successMessage; } $this->forward('index'); }
/** * @covers sAdmin::sUpdateNewsletter */ public function testsUpdateNewsletter() { $email = uniqid() . '*****@*****.**'; // Test insertion $this->assertTrue($this->module->sUpdateNewsletter(true, $email)); $newsletterSubscription = Shopware()->Db()->fetchRow('SELECT * FROM s_campaigns_mailaddresses WHERE email = ?', array($email)); $this->assertNotNull($newsletterSubscription); $this->assertEquals(0, $newsletterSubscription['customer']); $this->assertEquals(1, $newsletterSubscription['groupID']); // Test removal $this->assertTrue($this->module->sUpdateNewsletter(false, $email)); $newsletterSubscription = Shopware()->Db()->fetchRow('SELECT * FROM s_campaigns_mailaddresses WHERE email = ?', array($email)); $this->assertFalse($newsletterSubscription); // Retest insertion for customers $this->assertTrue($this->module->sUpdateNewsletter(true, $email, true)); $newsletterSubscription = Shopware()->Db()->fetchRow('SELECT * FROM s_campaigns_mailaddresses WHERE email = ?', array($email)); $this->assertNotNull($newsletterSubscription); $this->assertEquals(1, $newsletterSubscription['customer']); $this->assertEquals(0, $newsletterSubscription['groupID']); // Test removal $this->assertTrue($this->module->sUpdateNewsletter(false, $email)); $newsletterSubscription = Shopware()->Db()->fetchRow('SELECT * FROM s_campaigns_mailaddresses WHERE email = ?', array($email)); $this->assertFalse($newsletterSubscription); }