public function downloadsAction() { $request = $this->getRequest(); if (!JO_Session::get('user_id')) { JO_Session::set('msg_error', $this->translate('You must be logged to view your downloads')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } $this->getLayout()->meta_title = $this->translate('Downloads'); $this->getLayout()->meta_description = $this->translate('Downloads'); if (is_numeric($request->getParam('download_id'))) { if ($request->getParam('certificate')) { $item = Model_Items::get($request->getParam('download_id')); $order_info = Model_Orders::isBuyed($request->getParam('download_id'), JO_Session::get('user_id'), $request->getParam('oid')); if ($item && $order_info) { $this->noViewRenderer(true); $response = $this->getResponse(); $response->addHeader('Content-Type: text/plain; charset=UTF-8'); $response->addHeader('Content-Disposition: attachment; filename="item_licence(' . $order_info['id'] . ').txt"'); $response->addHeader('Cache-Control: must-revalidate, post-check=0, pre-check=0'); $response->addHeader('Pragma: public'); $response->addHeader("Content-Transfer-Encoding: binary"); $response->addHeader('Expires: 0'); if ($order_info['extended'] == 'true') { $this->view->licence = $this->translate('ONE EXTENDED LICENCE'); } else { $this->view->licence = $this->translate('ONE REGULAR LICENCE'); } $this->view->username = JO_Session::get('username'); $this->view->userfirstlastname = JO_Session::get('firstname') . ' ' . JO_Session::get('lastname'); $this->view->itemname = $order_info['item_name']; $this->view->item_href = WM_Router::create($this->getRequest()->getBaseUrl() . '?controller=items&item_id=' . $order_info['item_id']); $this->view->item_id = $order_info['item_id']; $this->view->order_id = $order_info['id']; $this->view->admin_mail = JO_Registry::get('admin_mail'); if (isset($order_info['main_file_info']) && $order_info['main_file_info']) { $this->view->main_file_info = $order_info['main_file_info']; } $this->view->domain = $request->getDomain(); $response->appendBody(str_replace("\n", "\n\r", $this->view->render('certificate', 'users'))); exit; } else { $this->forward('error', 'error404'); } } else { $item = Model_Items::get($request->getParam('download_id')); if ($item['free_file'] == 'true' || $item['user_id'] == JO_Session::get('user_id') || Model_Orders::isBuyed($item['id'], JO_Session::get('user_id'))) { if (file_exists(BASE_PATH . '/uploads' . $item['main_file']) && is_file(BASE_PATH . '/uploads' . $item['main_file'])) { $this->noViewRenderer(true); $response = $this->getResponse(); $response->addHeader('Content-Type: application/zip'); $response->addHeader('Content-Disposition: attachment; filename="' . $item['main_file_name'] . '"'); $response->addHeader("Content-Length:" . filesize(BASE_PATH . '/uploads' . $item['main_file'])); $response->addHeader('Cache-Control: must-revalidate, post-check=0, pre-check=0'); $response->addHeader('Pragma: public'); $response->addHeader("Content-Transfer-Encoding: binary"); $response->addHeader('Expires: 0'); $response->addHeader('Content-Description: ' . JO_Registry::get('meta_title') . ' Download'); readfile(BASE_PATH . '/uploads' . $item['main_file']); } else { $this->forward('error', 'error404'); } } else { $this->forward('error', 'error404'); } } } if (JO_Session::get('msg_success')) { $this->view->msg_success = JO_Session::get('msg_success'); JO_Session::clear('msg_success'); } if (JO_Session::get('msg_error')) { $this->view->msg_error = JO_Session::get('msg_error'); JO_Session::clear('msg_error'); } $orders = Model_Orders::getAllUserOrders(0, false, 'item_id'); $this->view->orders = array(); $username = JO_Session::get('username'); $this->view->crumbs = array(array('name' => $this->view->translate('Home'), 'href' => $request->getBaseUrl()), array('name' => $username, 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&username='******'name' => $this->view->translate('Downloads'))); $user = $this->view->users = Model_Users::getByUsername($username); $this->view->author_header = Helper_Author::authorHeader($user); $this->view->rate_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=rate_item'); if ($orders) { foreach ($orders as $order) { $order['download'] = true; $order['regular_href'] = WM_Router::create($request->getBaseUrl() . '?controller=licence'); $order['licence_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=downloads&item_id=' . $order['item_id'] . '/certificate/1'); $order['download_href'] = WM_Router::create($request->getBaseUrl() . '?controller=users&action=downloads&item_id=' . $order['item_id']); $this->view->orders[] = Helper_Items::returnViewIndex($order, 'downloads'); } } $this->view->children = array(); $this->view->children['header_part'] = 'layout/header_part'; $this->view->children['footer_part'] = 'layout/footer_part'; }
public function rightsideAction() { $request = $this->getRequest(); $model_images = new Helper_Images(); if ($request->getRequest('item_id')) { $itemID = $request->getRequest('item_id'); } elseif ($request->getRequest('comments')) { $itemID = $request->getRequest('comments'); } else { $itemID = $request->getRequest('faq'); } $item = Model_Items::get($itemID); $user = Model_Users::getUser($item['user_id']); if ($user['avatar']) { $user['avatar'] = $model_images->resize($user['avatar'], JO_Registry::forceGet('user_avatar_width'), JO_Registry::forceGet('user_avatar_height'), true); } else { $user['avatar'] = 'data/themes/images/noavatar.png'; } if (JO_Session::get('user_id')) { if ($item['user_id'] != JO_Session::get('user_id')) { if (Model_Orders::isBuyed($item['id'], JO_Session::get('user_id'))) { $item['is_buyed'] = $this->translate('You have already bought this item. You can download it from <a href="#">here</a>, but if you like you can buy it again.'); $replace = WM_Router::create($request->getBaseUrl() . '?controller=users&action=downloads'); $item['is_buyed'] = str_replace('#', $replace, $item['is_buyed']); } } else { $item['is_buyed'] = $this->translate('This is one of your files'); } } if (JO_Session::get('user_id') && JO_Session::get('user_id') == $item['user_id']) { $this->view->owner = true; } $item['price'] = WM_Currency::format($item['price']); if ($item['extended_price']) { $item['extended_price'] = WM_Currency::format($item['extended_price']); } $item['datetime'] = JO_Date::getInstance($item['datetime'], 'd M yy')->getDate(); $this->view->attributes = Model_Items::getAttributes($item['id']); $this->view->attributes_pic = array(); if ($this->view->attributes) { foreach ($this->view->attributes as $k => $v) { if ($v['search'] == 'true') { $this->view->attributes[$k]['href'] = WM_Router::create($request->getBaseUrl() . '?module=' . $item['module'] . '&controller=search&action=attributes/' . urlencode(mb_strtolower($v['category'], 'UTF-8')) . '/' . urlencode(mb_strtolower($v['name'], 'UTF-8'))); } if (!empty($v['photo'])) { $this->view->attributes[$k]['photo'] = 'uploads/attributes/' . $v['photo']; $this->view->attributes_pic[] = $this->view->attributes[$k]; } if (empty($v['name'])) { $this->view->attributes[$k]['name'] = $v['attribute_id']; } } } $user['homeimage'] = $model_images->resize($user['homeimage'], JO_Registry::forceGet('user_profile_photo_width'), JO_Registry::forceGet('user_profile_photo_height'), true); $user['userhref'] = WM_Router::create($request->getBaseUrl() . '?controller=users&username='******'username'])); $comments = Model_Comments::getTotal("item_id=" . $item['id'] . ' AND reply_to = 0'); $item['comments'] = (int) $comments; $this->view->user_badges = Helper_Author::userBadges($user); if ($item['prepaid_price'] == '0.00') { $this->view->prepaid_price = false; } else { $this->view->prepaid_price = WM_Currency::format($item['prepaid_price']); } #COLLECTIONS $this->view->bookmark_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=add_to_collection'); $this->view->upload_link = WM_Router::create($request->getBaseUrl() . '?controller=collections&action=upload'); $this->view->base_url = urlencode($request->getBaseUrl()); $this->view->full_url = urlencode($request->getFullUrl()); if (JO_Session::get('user_id')) { $this->view->bookcollections = Model_Collections::getByUser(0, 0, JO_Session::get('user_id')); } $this->view->tags = array(); if (isset($item['tags'])) { foreach ($item['tags'] as $key => $tag) { if ($tag) { $this->view->tags[] = array('name' => $tag, 'href' => WM_Router::create($request->getBaseUrl() . '?controller=tags&tag=' . $tag)); } } } if ($request->getAction() != 'comments') { $this->view->comment_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=comments&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); } if ($request->getAction() == 'index') { $this->view->is_index = true; } $this->view->free_link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=downloads&item_id=' . $item['id']); $this->view->login_link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=login'); $user['license'] = unserialize($user['license']); $this->view->user = $user; $this->view->item = $item; }