Вход Регистрация
Файл: upload/admin/controller/module/unisender.php
Строк: 220
<?php
/**
 * Модуль интеграции с Unisender http://www.unisender.com/?a=opencart,
 * 
 * Александр Топорков
 * toporchillo@gmail.com
 */
class ControllerModuleUnisender extends Controller {
    private 
$error = array();
    private 
$form;
    private 
$tdata = array();

      public function 
subscribtions() {
        
$key $this->request->get['key'];
        
$ch curl_init ('http://api.unisender.com/ru/api/getLists?format=json&api_key='.$key) ;
        
curl_setopt ($chCURLOPT_RETURNTRANSFER1) ;
        
$res curl_exec ($ch) ;
        
curl_close ($ch) ;        
        echo 
$res;
    }
    
      public function 
index() {
        
$this->load->language('module/unisender');

        
$this->document->setTitle($this->language->get('heading_title'));
        
        
$this->load->model('setting/setting');

        if (
$this->request->server['REQUEST_METHOD'] == 'POST') {
            if (
$this->validate($this->request->post)) {
                
$this->model_setting_setting->editSetting('unisender'$this->request->post);
                
                
$this->session->data['success'] = $this->language->get('text_success');
    
                
$this->response->redirect($this->url->link('extension/module''token=' $this->session->data['token'], 'SSL'));
            }
        }

        
$this->tdata['heading_title'] = $this->language->get('heading_title');
          
$this->tdata['breadcrumbs'] = $this->getBreadCrumbs();
          
$this->tdata['button_save'] = $this->language->get('button_save');
          
$this->tdata['button_cancel'] = $this->language->get('button_cancel');
        
$this->tdata['text_enabled'] = $this->language->get('text_enabled');
        
$this->tdata['text_disabled'] = $this->language->get('text_disabled');
        
$this->tdata['token'] = $this->session->data['token'];
        
$this->tdata['text_edit'] = $this->language->get('text_edit');
        
$this->tdata['text_get_key'] = $this->language->get('text_get_key');
        
$this->tdata['text_unselect'] = $this->language->get('text_unselect');
 
        if (isset(
$this->error['warning'])) {
            
$this->tdata['error_warning'] = $this->error['warning'];
        } else {
            
$this->tdata['error_warning'] = '';
        }
        
$this->tdata['_error'] = $this->error;
        
        
$this->tdata['action'] = $this->url->link('module/unisender''token=' $this->session->data['token'], 'SSL');
        
        
$this->tdata['cancel'] = $this->url->link('extension/module''token=' $this->session->data['token'], 'SSL');

        
$defaults = array(
            
'unisender_key' => '',
            
'unisender_subscribtion' => array(),
            
'unisender_status' => '',
            
'unisender_ignore' => '',
        );
        foreach (
$defaults as $key=>$value) {
            if (isset(
$this->request->post[$key])) {
                
$defautls[$key] = $this->request->post[$key];
            }
            else {
                
$defautls[$key] = $this->config->get($key);
            }
            
$this->tdata[$key] = $defautls[$key];
            
$this->tdata['entry_'.$key] = $this->language->get('entry_'.$key);
            if (
$this->language->get('entry_'.$key.'_help')) {
                
$this->tdata['entry_'.$key.'_help'] = $this->language->get('entry_'.$key.'_help');
            }
        }

        
$template 'module/unisender.tpl';
        
$this->children = array(
            
'common/header',
            
'common/footer'
        
);
        
        
$this->tdata['header'] = $this->load->controller('common/header');
        
$this->tdata['column_left'] = $this->load->controller('common/column_left');
        
$this->tdata['footer'] = $this->load->controller('common/footer');
        
$this->response->setOutput($this->load->view($template$this->tdata));                
      }
    
    public function 
install() {
        
$this->load->model('extension/event');
        
$this->model_extension_event->addEvent('unisender_subscribe''post.customer.add''module/unisender/subscribe_customer');
        
$this->model_extension_event->addEvent('unisender_update''post.customer.edit.newsletter''module/unisender/update');
        
$this->model_extension_event->addEvent('unisender_guest''post.order.add''module/unisender/subscribe_guest');
    }

    public function 
uninstall() {
        
$this->load->model('extension/event');
        
$this->model_extension_event->deleteEvent('unisender_subscribe');
        
$this->model_extension_event->deleteEvent('unisender_update');
        
$this->model_extension_event->deleteEvent('unisender_guest');
    }

      private function 
validate($post_data) {
        if (!
$this->user->hasPermission('modify''module/unisender')) {
            
$this->error['warning'] = $this->language->get('error_permission');
        }
        if (!
$post_data['unisender_key']) {
            
$this->error['warning'] = $this->language->get('error_form');
            
$this->error['unisender_key'] = $this->language->get('error_empty_field');
        }
        
        if (!
$this->error || !sizeof($this->error)) {
              return 
true;
        } else {
              return 
false;
        }
      }
    
    private function 
getBreadCrumbs() {
        
$breadcrumbs = array();

           
$breadcrumbs[] = array(
               
'text'      => $this->language->get('text_home'),
            
'href'      => $this->url->link('common/home''token=' $this->session->data['token'], 'SSL'),
              
'separator' => false
           
);

           
$breadcrumbs[] = array(
               
'text'      => $this->language->get('text_module'),
            
'href'      => $this->url->link('extension/module''token=' $this->session->data['token'], 'SSL'),
              
'separator' => ' :: '
           
);

           
$breadcrumbs[] = array(
               
'text'      => $this->language->get('heading_title'),
            
'href'      => $this->url->link('module/unisender''token=' $this->session->data['token'], 'SSL'),              
              
'separator' => ' :: '
           
);
           
          return 
$breadcrumbs;
    }
}
?>
Онлайн: 1
Реклама