예제 #1
0
 public function postProcess()
 {
     if (Tools::isSubmit('submitSmsTest')) {
         $number = (string) Tools::getValue('campaign_last_tester');
         if (empty($number) || !Validate::isPhoneNumber($number)) {
             $this->errors[] = $this->module->l('Invalid gsm number !', 'adminmarketingsstep6');
             return false;
         }
         $prefixe = EMTools::getShopPrefixeCountry();
         $number = EMTools::cleanNumber($number, $prefixe);
         if ($number[0] != '0' && $number[0] != '+') {
             $this->errors[] = $this->module->l('Invalid gsm number !', 'adminmarketingsstep6');
             return false;
         }
         $response_array = array();
         $parameters = array('campaign_id' => $this->campaign_api_message_id, 'recipient' => $number, 'text' => $this->module->l('[TEST]', 'adminmarketingsstep6') . ' ' . $this->campaign_sms_text);
         if ($this->session_api->call('sms', 'campaign', 'send_test', $parameters, $response_array)) {
             // We store the last fax number
             // ----------------------------
             Db::getInstance()->update('expressmailing_sms', array('campaign_last_tester' => pSQL($number)), 'campaign_id = ' . $this->campaign_id);
             $this->confirmations[] = sprintf($this->module->l('Please wait, your sms is processing to %s ...', 'adminmarketingsstep6'), $number);
             return true;
         }
         $this->errors[] = sprintf($this->module->l('Error while sending sms to the API : %s', 'adminmarketingsstep6'), $this->session_api->getError());
         return false;
     }
 }
예제 #2
0
 public function postProcess()
 {
     if (Tools::isSubmit('submitFaxTest')) {
         $number_or_email = (string) Tools::getValue('campaign_last_tester');
         if (empty($number_or_email)) {
             $this->errors[] = $this->module->l('Invalid fax number !', 'adminmarketingfstep7');
             return false;
         }
         if (Tools::strpos($number_or_email, '@')) {
             if (!Validate::isEmail($number_or_email)) {
                 $this->errors[] = $this->module->l('Invalid email address !', 'adminmarketingfstep7');
                 return false;
             }
         } else {
             $prefixe = EMTools::getShopPrefixeCountry();
             $number_or_email = EMTools::cleanNumber($number_or_email, $prefixe);
             if (!Validate::isPhoneNumber($number_or_email)) {
                 $this->errors[] = $this->module->l('Invalid fax number !', 'adminmarketingfstep7');
                 return false;
             }
             if ($number_or_email[0] != '0' && $number_or_email[0] != '+') {
                 $this->errors[] = $this->module->l('Invalid fax number !', 'adminmarketingfstep7');
                 return false;
             }
         }
         $response_array = array();
         $parameters = array('campaign_id' => $this->campaign_api_message_id, 'recipient' => $number_or_email);
         if ($this->session_api->call('fax', 'campaign', 'send_test', $parameters, $response_array)) {
             // We store the last fax number
             // ----------------------------
             Db::getInstance()->update('expressmailing_fax', array('campaign_last_tester' => pSQL($number_or_email)), 'campaign_id = ' . $this->campaign_id);
             $this->confirmations[] = sprintf($this->module->l('Please wait, your fax is processing to %s ...', 'adminmarketingfstep7'), $number_or_email);
             return true;
         }
         $this->errors[] = sprintf($this->module->l('Error while sending fax to the API : %s', 'adminmarketingfstep7'), $this->session_api->getError());
         return false;
     }
 }
예제 #3
0
    public function postProcess()
    {
        if (Tools::isSubmit('import-prestashop-customers')) {
            Db::getInstance()->update('expressmailing_sms', array('recipients_modified' => 1), 'campaign_id = ' . $this->campaign_id);
            $this->importPrestashopCustomer();
        }
        if (Tools::isSubmit('import-xls')) {
            $this->importXLSFile();
        }
        if (Tools::isSubmit('import-csv')) {
            $this->importCSVFile();
        }
        if (Tools::isSubmit('quick-import')) {
            $this->importQuick();
        }
        if (Tools::isSubmit('clearRecipients')) {
            Db::getInstance()->update('expressmailing_sms', array('recipients_modified' => 1), 'campaign_id = ' . $this->campaign_id);
            Db::getInstance()->delete('expressmailing_sms_recipients', 'campaign_id = ' . $this->campaign_id);
            $this->confirmations[] = $this->module->l('Clear succeed !', 'adminmarketingsstep2');
            return true;
        }
        if (Tools::isSubmit('clearDuplicate')) {
            $request = 'DELETE source
				FROM `' . _DB_PREFIX_ . 'expressmailing_sms_recipients` AS source
				LEFT OUTER JOIN (
					SELECT MIN(id) as id, target
					FROM `' . _DB_PREFIX_ . 'expressmailing_sms_recipients`
					WHERE campaign_id = ' . $this->campaign_id . '
					GROUP BY target
				) AS duplicates
				ON source.id = duplicates.id
				WHERE duplicates.id IS NULL';
            if (Db::getInstance()->execute($request)) {
                $this->confirmations[] = $this->module->l('Clear succeed !', 'adminmarketingfstep3');
            }
            Db::getInstance()->update('expressmailing_sms', array('campaign_date_update' => date('Y-m-d H:i:s'), 'recipients_modified' => '1'), 'campaign_id = ' . $this->campaign_id);
        }
        if (Tools::isSubmit('indexCol')) {
            $index_col = (int) Tools::getValue('indexCol');
            $prefix = EMTools::getShopPrefixeCountry();
            return EMTools::importFile($index_col, 'sms', $this->campaign_id, $prefix);
        }
        if (Tools::isSubmit('submitSmsStep2')) {
            // Selection must contain recipients
            // ---------------------------------
            if (count($this->getRecipientsDB())) {
                Tools::redirectAdmin('index.php?controller=AdminMarketingSStep4&campaign_id=' . $this->campaign_id . '&token=' . Tools::getAdminTokenLite('AdminMarketingSStep4'));
                exit;
            } else {
                $this->errors[] = $this->module->l('Your recipients selection is empty !', 'adminmarketingsstep2');
                return false;
            }
        }
    }
예제 #4
0
    public function postProcess()
    {
        if (Tools::isSubmit('importCsvStep3')) {
            $this->csv_file = isset($_FILES['csv_file']) ? $_FILES['csv_file'] : false;
            if (empty($this->csv_file['tmp_name'])) {
                $this->errors[] = Tools::displayError('No file has been specified.');
            } else {
                if (!empty($this->csv_file) && !empty($this->csv_file['tmp_name'])) {
                    if (!EMTools::importFileSelectColumn($_FILES['csv_file'], 'fax', $this->campaign_id, $this->module->name)) {
                        $this->errors[] = Tools::displayError('Cannot read the .CSV file');
                    }
                }
            }
        }
        if (Tools::isSubmit('clearRecipients')) {
            if (Db::getInstance()->delete('expressmailing_fax_recipients', 'campaign_id = ' . $this->campaign_id)) {
                $this->confirmations[] = $this->module->l('Clear succeed !', 'adminmarketingfstep3');
            }
            return Db::getInstance()->update('expressmailing_fax', array('campaign_date_update' => date('Y-m-d H:i:s'), 'recipients_modified' => 1), 'campaign_id = ' . $this->campaign_id);
        }
        if (Tools::isSubmit('indexCol')) {
            $index_col = (int) Tools::getValue('indexCol');
            $prefix = EMTools::getShopPrefixeCountry();
            return EMTools::importFile($index_col, 'fax', $this->campaign_id, $prefix);
        }
        if (Tools::isSubmit('clearDuplicate')) {
            $request = 'DELETE source
				FROM `' . _DB_PREFIX_ . 'expressmailing_fax_recipients` AS source
				LEFT OUTER JOIN (
					SELECT MIN(id) as id, target
					FROM `' . _DB_PREFIX_ . 'expressmailing_fax_recipients`
					WHERE campaign_id = ' . $this->campaign_id . '
					GROUP BY target
				) AS duplicates
				ON source.id = duplicates.id
				WHERE duplicates.id IS NULL';
            if (Db::getInstance()->execute($request)) {
                $this->confirmations[] = $this->module->l('Clear succeed !', 'adminmarketingfstep3');
            }
            Db::getInstance()->update('expressmailing_fax', array('campaign_date_update' => date('Y-m-d H:i:s'), 'recipients_modified' => '1'), 'campaign_id = ' . $this->campaign_id);
            return;
        }
        if (Tools::isSubmit('submitFaxStep3')) {
            // Selection must contain recipients
            // ---------------------------------
            if (count($this->getRecipientsDB())) {
                Tools::redirectAdmin('index.php?controller=AdminMarketingFStep5&campaign_id=' . $this->campaign_id . '&token=' . Tools::getAdminTokenLite('AdminMarketingFStep5'));
                exit;
            } else {
                $this->errors[] = $this->module->l('Your recipients selection is empty !', 'adminmarketingfstep3');
                return false;
            }
        }
    }