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'; }