Пример #1
0
 public function paymentAction()
 {
     $request = $this->getRequest();
     if (!JO_Session::get('user_id')) {
         JO_Session::set('msg_error', $this->translate('You must be logged to change your profile'));
         $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'));
     }
     if ($request->isPost() && $request->issetPost('item_id')) {
         $item = Model_Items::get($request->getPost('item_id'));
         if ($request->getPost('licence') == 'personal') {
             $orderID = Model_Orders::add($item);
         } elseif ($request->getPost('licence') == 'extended') {
             $orderID = Model_Orders::add($item, 'true');
         }
         JO_Session::set('order_id', $orderID);
         $this->view->crumbs = array(array('name' => $this->translate('Home'), 'href' => $request->getBaseUrl()), array('name' => $this->translate('Profile'), 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&username='******'username')))), array('name' => $this->translate('Payment')));
         $model_images = new Model_Images();
         $files = glob(dirname(__FILE__) . '/Payments/*.php');
         if ($files) {
             $payments_data = $sort_order = $order_obj = array();
             foreach ($files as $row => $file) {
                 if (preg_match('/^([\\w]{1,})Controller$/i', basename($file, '.php'), $match)) {
                     $key = mb_strtolower($match[1], 'utf-8');
                     if (JO_Registry::forceGet($key . '_status')) {
                         JO_Loader::loadFile($file);
                         $form = $this->view->callChildren('payments_' . $key . '/itemForm');
                         if ($form) {
                             $sort_order[$row] = (int) JO_Registry::forceGet($key . '_sort_order');
                             $logo = JO_Registry::forceGet($key . '_logo');
                             if ($logo) {
                                 list($width) = getimagesize('uploads/' . $logo);
                                 if ($width > 300) {
                                     $logo = $image_model->resizeWidth($logo, 300);
                                 } else {
                                     $logo = 'uploads/' . $logo;
                                 }
                             } else {
                                 $logo = '';
                             }
                             $payments_data[$row] = array('key' => $key, 'edit' => $request->getModule() . '/payments_' . $key, 'name' => $this->translate($match[1]), 'sort' => (int) JO_Registry::forceGet($key . '_sort_order'), 'logo' => JO_Registry::forceGet($key . '_logo') ? 'uploads/' . JO_Registry::forceGet($key . '_logo') : '', 'form' => $form);
                         }
                     }
                 }
             }
             array_multisort($sort_order, SORT_ASC, $payments_data);
             $this->view->payments = $payments_data;
         }
     } else {
         $this->redirect($request->getServer('HTTP_REFERER'));
     }
     $this->view->usertotal = WM_Currency::format(JO_Session::get('total'));
     $this->view->children = array();
     $this->view->children['header_part'] = 'layout/header_part';
     $this->view->children['footer_part'] = 'layout/footer_part';
 }