Advertisement
Guest User

Untitled

a guest
Dec 26th, 2015
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.54 KB | None | 0 0
  1. <?php
  2.  
  3. class ControllerModuleMysite extends Controller
  4. {
  5.     private $error;
  6.     private $logger;
  7.  
  8.     public function __construct()
  9.     {
  10.         $this->error  = array();
  11.         $this->logger = new Log('MySite.log');
  12.     }
  13.  
  14.     /* Event Hooks */
  15.  
  16.     public function install()
  17.     {
  18.         $this->load->model('extension/event');
  19.  
  20.         $this->model_extension_event->addEvent('mysite_NewOrder', 'post.order.history.add', 'module/mysite/on_order_history_add');
  21.     }
  22.  
  23.     public function uninstall()
  24.     {
  25.         $this->load->model('extension/event');
  26.  
  27.         $this->model_extension_event->deleteEvent('mysite_NewOrder');
  28.     }
  29.  
  30.     /* Admin Config Handler */
  31.    
  32.     public function index()
  33.     {
  34.         // Loading the language file of mysite
  35.         $this->load->language('module/mysite');
  36.        
  37.         // Set the title of the page to the heading title in the Language file
  38.         $this->document->setTitle($this->language->get('heading_title'));
  39.        
  40.         // Load the Setting Model  (All of the OpenCart Module & General Settings are saved using this Model )
  41.         $this->load->model('setting/setting');
  42.        
  43.         // Start If: Validates and check if data is coming by save (POST) method
  44.         if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate())
  45.         {
  46.             // Parse all the coming data to Setting Model to save it in database.
  47.             $this->model_setting_setting->editSetting('mysite', $this->request->post);
  48.            
  49.             // To display the success text on data save
  50.             $this->session->data['success'] = $this->language->get('text_success');
  51.            
  52.             // Redirect to the Module Listing
  53.             $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
  54.         }
  55.        
  56.         // Assign the language data for parsing it to view
  57.         $data['heading_title'] = $this->language->get('heading_title');
  58.        
  59.         $data['text_edit']           = $this->language->get('text_edit');
  60.         $data['text_enabled']        = $this->language->get('text_enabled');
  61.         $data['text_disabled']       = $this->language->get('text_disabled');
  62.         $data['text_content_top']    = $this->language->get('text_content_top');
  63.         $data['text_content_bottom'] = $this->language->get('text_content_bottom');
  64.         $data['text_column_left']    = $this->language->get('text_column_left');
  65.         $data['text_column_right']   = $this->language->get('text_column_right');
  66.        
  67.         $data['entry_code']       = $this->language->get('entry_code');
  68.         $data['entry_layout']     = $this->language->get('entry_layout');
  69.         $data['entry_position']   = $this->language->get('entry_position');
  70.         $data['entry_status']     = $this->language->get('entry_status');
  71.         $data['entry_sort_order'] = $this->language->get('entry_sort_order');
  72.        
  73.         $data['button_save']       = $this->language->get('button_save');
  74.         $data['button_cancel']     = $this->language->get('button_cancel');
  75.         $data['button_add_module'] = $this->language->get('button_add_module');
  76.         $data['button_remove']     = $this->language->get('button_remove');
  77.        
  78.         // This Block returns the warning if any
  79.         if (isset($this->error['warning'])) {
  80.             $data['error_warning'] = $this->error['warning'];
  81.         } else {
  82.             $data['error_warning'] = '';
  83.         }
  84.        
  85.         // This Block returns the error code if any
  86.         if (isset($this->error['code'])) {
  87.             $data['error_code'] = $this->error['code'];
  88.         } else {
  89.             $data['error_code'] = '';
  90.         }
  91.        
  92.         // Making of Breadcrumbs to be displayed on site
  93.         $data['breadcrumbs']   = array();
  94.         $data['breadcrumbs'][] = array(
  95.             'text' => $this->language->get('text_home'),
  96.             'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
  97.             'separator' => false
  98.         );
  99.         $data['breadcrumbs'][] = array(
  100.             'text' => $this->language->get('text_module'),
  101.             'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'),
  102.             'separator' => ' :: '
  103.         );
  104.         $data['breadcrumbs'][] = array(
  105.             'text' => $this->language->get('heading_title'),
  106.             'href' => $this->url->link('module/mysite', 'token=' . $this->session->data['token'], 'SSL'),
  107.             'separator' => ' :: '
  108.         );
  109.        
  110.         $data['action'] = $this->url->link('module/mysite', 'token=' . $this->session->data['token'], 'SSL');
  111.        
  112.         $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL');
  113.        
  114.         // This block parses the status (enabled / disabled)
  115.         if (isset($this->request->post['mysite_status'])) {
  116.             $data['mysite_status'] = $this->request->post['mysite_status'];
  117.         } else {
  118.             $data['mysite_status'] = $this->config->get('mysite_status');
  119.         }
  120.        
  121.         $data['header']      = $this->load->controller('common/header');
  122.         $data['column_left'] = $this->load->controller('common/column_left');
  123.         $data['footer']      = $this->load->controller('common/footer');
  124.        
  125.         $this->response->setOutput($this->load->view('module/mysite.tpl', $data));
  126.        
  127.     }
  128.    
  129.     protected function validate()
  130.     {
  131.         // Block to check the user permission to manipulate the module
  132.         if (!$this->user->hasPermission('modify', 'module/mysite')) {
  133.             $this->error['warning'] = $this->language->get('error_permission');
  134.         }
  135.        
  136.         // Block returns true if no error is found, else false if any error detected
  137.         if (!$this->error) {
  138.             return true;
  139.         } else {
  140.             return false;
  141.         }
  142.     }
  143.  
  144.     /* Event Handlers */
  145.  
  146.     public function on_order_history_add($order_id)
  147.     {
  148.         // Load order data
  149.         $this->load->model('checkout/order');
  150.         $orderData = $this->model_checkout_order->getOrder($order_id);
  151.  
  152.         // Debug
  153.         $this->logger->write(print_r($orderData, true));
  154.  
  155.         // TODO: call third-party api & create hosting package
  156.         // TODO: send success/error email notification to customer
  157.     }
  158. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement