public function statementAction() { $request = $this->getRequest(); if (!JO_Session::get('user_id')) { JO_Session::set('msg_error', $this->translate('You must be logged to access that page!')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } $this->getLayout()->meta_title = $this->translate('Statement'); $this->getLayout()->meta_description = $this->translate('Statement'); $user = $this->view->users = Model_Users::getUser(JO_Session::get('user_id')); if (!$user) { return $this->forward('error', 'error404'); } $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('Statement'))); $user['total'] = WM_Currency::format($user['total']); $this->view->author_header = Helper_Author::authorHeader($user); $statements = Model_Orders::getStatement(JO_Session::get('user_id')); if ($statements) { $month = $statements[0]['month']; $cnt = count($statements); for ($i = 0; $i < $cnt; $i++) { if ($statements[$i]['type'] == 'deposit') { $statements[$i]['price'] = WM_Currency::format($statements[$i]['price']); $statements[$i]['details'] = $this->translate('Deposit money'); } elseif ($statements[$i]['type'] == 'withdraw') { $statements[$i]['price'] = WM_Currency::format(-$statements[$i]['price']); $statements[$i]['details'] = $this->translate('Earning money'); } elseif ($statements[$i]['type'] == 'order') { if ($statements[$i]['user_id'] == JO_Session::get('user_id')) { $statements[$i]['type'] = $this->translate('buy'); $statements[$i]['price'] = WM_Currency::format($statements[$i]['price']); } else { $statements[$i]['type'] = $this->translate('sale'); $statements[$i]['price'] = WM_Currency::format($statements[$i]['receive']); } $statements[$i]['details'] = $statements[$i]['item_name']; } elseif ($statements[$i]['type'] == 'referrals') { if ($statements[$i]['item_name'] == 1) { $statements[$i]['details'] = $this->translate('Referral / deposit'); } else { $statements[$i]['details'] = $this->translate('Referral / sale'); } $statements[$i]['price'] = WM_Currency::format($statements[$i]['price']); } elseif ($statements[$i]['type'] == 'membership') { $statements[$i]['price'] = WM_Currency::format($statements[$i]['price']); $statements[$i]['details'] = $this->translate('Membership money'); } $this->view->statements[] = $statements[$i]; if (isset($statements[$i + 1]['month']) && $month != $statements[$i + 1]['month']) { $this->view->statements[] = array('month' => $statements[$i]['month'], 'total_earnings' => true); $month = $statements[$i + 1]['month']; } elseif ($i == $cnt - 1) { $this->view->statements[] = array('month' => $statements[$i]['month'], 'total_earnings' => true); } } } $this->view->statements = array_reverse($this->view->statements); $this->view->withdrawal_link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=withdrawal'); $this->view->settings_link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=edit'); $this->view->history_link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=statement'); $this->view->total_balance = $user['total']; $this->view->total_sales_cnt = JO_Session::get('sales'); $this->view->percent = Model_Percentes::getPercentRow($user); $this->view->csv_link = WM_Router::create($request->getBaseUrl() . '?controller=users&action=csv_statement'); $this->view->children = array(); $this->view->children['header_part'] = 'layout/header_part'; $this->view->children['footer_part'] = 'layout/footer_part'; }
public function editAction() { $request = $this->getRequest(); if (!JO_Session::get('user_id')) { JO_Session::set('msg_error', $this->translate('You must be logged to access that page')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } $itemID = $request->getRequest('edit'); $item = Model_Items::get($itemID); if (JO_Session::get('user_id') != $item['user_id']) { $this->redirect(WM_Router::create($request->getBaseUrl() . '?module=' . $item['module'] . '&controller=items&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name']))); } $this->getLayout()->meta_title = $item['name']; $this->getLayout()->meta_description = substr(strip_tags(html_entity_decode($item['description'], ENT_QUOTES, 'utf-8')), 0, 255); $this->view->item_link = WM_Router::create($request->getBaseUrl() . '?controller=items&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); $faqs_data = Model_Faq::getAll($itemID); if (JO_Session::get('user_id') == $item['user_id'] || $faqs_data) { $this->view->faq_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=faq&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); } if (JO_Session::get('user_id') == $item['user_id']) { $this->view->edit_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=edit&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); $this->view->delete_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=delete&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); } $this->view->crumbs = array(array('name' => $this->translate('Home'), 'href' => $request->getBaseUrl()), array('name' => $this->translate('Portfolio'), 'href' => WM_Router::create($request->getBaseUrl() . '?controller=users&username='******'username')))), array('name' => $item['name'], 'href' => $this->view->item_link), array('name' => $this->translate('Edit'))); $this->view->comment_link = WM_Router::create($request->getBaseUrl() . '?controller=items&action=comments&item_id=' . $item['id'] . '&name=' . WM_Router::clearName($item['name'])); $categories = Model_Categories::getMain(); if ($categories) { foreach ($categories as $category) { $this->view->categories[] = array('id' => $category['id'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=upload&action=get_categories&category_id=' . $category['id']), 'name' => $category['name']); } } $this->view->mainCategories = $categories; if (JO_Session::get('msg_success')) { $this->view->msg_success = JO_Session::get('msg_success'); JO_Session::clear('msg_success'); } elseif (JO_Session::get('msg_error')) { $this->view->error = JO_Session::get('msg_error'); $data = JO_Session::get('data'); JO_Session::clear('msg_error'); JO_Session::clear('data'); } $this->view->sel_category = isset($data) ? $data['category_id'] : reset($item['categories'][0]); $allCategories = Model_Categories::getWithChilds(); $this->view->categoriesSelect = array(); $categoriesSelect = Model_Categories::generateSelect($allCategories, $this->view->sel_category, $this->view->sel_category); if ($categoriesSelect) { $categories = explode('|', $categoriesSelect); foreach ($categories as $category) { if (!empty($category)) { $c = explode('>', $category); $this->view->categoriesSelect[] = array('id' => $c[0], 'name' => $c[1]); } } } $this->view->attributes = Model_Attributes::getAllWithCategories("attributes_categories.categories LIKE '%," . (int) $this->view->sel_category . ",%'"); $this->view->total_sales_cnt = JO_Session::get('sales'); $this->view->total_balance = WM_Currency::format(JO_Session::get('total')); $user = array('user_id' => JO_Session::get('user_id'), 'sold' => JO_Session::get('sold')); $this->view->percent = Model_Percentes::getPercentRow($user); if (isset($data)) { $item['name'] = $data['name']; $item['description'] = $data['description']; $item['theme_preview'] = $data['theme_preview']; $item['theme_preview_zip'] = $data['theme_preview_zip']; $item['main_file'] = $data['main_file']; $item['reviewer_comment'] = $data['reviewer_comment']; $item['attributes'] = $data['attributes']; isset($data['source_license']) && ($item['source_license'] = $data['source_license']); isset($data['free_request']) && ($item['free_file'] = true); } $item['suggested_price'] = isset($data['suggested_price']) ? $data['suggested_price'] : $item['price']; $item['selected_categories'] = isset($data['category']) ? $data['category'] : JO_Array::multi_array_to_single_uniq($item['categories']); $item['selected_attributes'] = isset($data['attributes']) ? JO_Array::multi_array_to_single_uniq($data['attributes']) : JO_Array::multi_array_to_single_uniq($item['attributes']); $item['selected_tags'] = isset($data['tags']) ? $data['tags'] : implode(', ', JO_Array::multi_array_to_single_uniq($item['tags'])); $help = Model_Pages::get(JO_Registry::forceGet('page_upload_item')); if ($help) { $this->view->page_upload_item = array('name' => $help['name'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=pages&page_id=' . $help['id'])); } $this->view->uploaded_files = JO_Session::get('uploaded_files'); $this->view->uploaded_arhives = JO_Session::get('uploaded_arhives'); $this->view->file_upload = WM_Router::create($request->getBaseUrl() . '?module=' . $item['module'] . '&controller=upload&action=doupload'); $this->view->action_upload = WM_Router::create($request->getBaseUrl() . '?module=' . $item['module'] . '&controller=items&action=doedit'); $this->view->d = $item; $this->view->autocomplete = WM_Router::create($request->getBaseUrl() . '?controller=items&action=auto'); $this->view->children = array(); $this->view->children['header_part'] = 'layout/header_part'; $this->view->children['footer_part'] = 'layout/footer_part'; }
public function buy($item, $price, $extended = 'false') { $you = Model_Users::getUser(JO_Session::get('user_id')); $deposit = 0; $earning = 0; if ($you['deposit'] > $price) { $deposit = $price; } else { $deposit = $you['deposit']; $earning = floatval($price) - floatval($you['deposit']); } $db = JO_Db::getDefaultAdapter(); $db->update(Model_Users::getPrefixDB() . 'users', array('deposit' => new JO_Db_Expr('deposit - ' . floatval($deposit)), 'earning' => new JO_Db_Expr('earning - ' . floatval($earning)), 'total' => new JO_Db_Expr('total - ' . floatval($price))), array('user_id =?' => $you['user_id'])); JO_Session::set('deposit', floatval(JO_Session::get('deposit')) - floatval($deposit)); JO_Session::set('earning', floatval(JO_Session::get('earning')) - floatval($earning)); JO_Session::set('total', floatval(JO_Session::get('total')) - floatval($price)); #ADD PRICE TO OWNER USER $user = Model_Users::getUser($item['user_id']); $percent = Model_Percentes::getPercentRow($user); $percent = $percent['percent']; $receiveMoney = floatval($price) * floatval($percent) / 100; $db->update(Model_Users::getPrefixDB() . 'users', array('earning' => new JO_Db_Expr('earning+' . floatval($receiveMoney)), 'total' => new JO_Db_Expr('total + ' . floatval($receiveMoney)), 'sold' => new JO_Db_Expr('sold + ' . floatval($price)), 'sales' => new JO_Db_Expr('sales+1')), array('user_id =?' => $user['user_id'])); #ADD ORDER $currency = WM_Currency::getCurrency(); $db->insert('orders', array('user_id' => (int) JO_Session::get('user_id'), 'owner_id' => (int) $item['user_id'], 'item_id' => (int) $item['id'], 'item_name' => $item['name'], 'price' => (double) $price, 'datetime' => new JO_Db_Expr('NOW()'), 'receive' => $receiveMoney, 'paid' => 'true', 'paid_datetime' => new JO_Db_Expr('NOW()'), 'extended' => $extended, 'type' => 'buy', 'currency_code' => $currency['code'], 'currency_value' => $currency['value'], 'module' => $item['module'])); $order_id = $db->lastInsertId(); if ($order_id && $you['referal_id'] != '0') { self::referalMoney(array('order_id' => $order_id, 'price' => $price, 'user_id' => JO_Session::get('user_id'), 'owner_id' => $item['user_id'], 'item_id' => $item['id'], 'item_name' => $item['name'], 'currency_code' => $currency['code'], 'currency_value' => $currency['value']), $you); } $db->update(Model_Users::getPrefixDB() . 'users', array('buy' => new JO_Db_Expr('buy+1')), array('user_id =?' => JO_Session::get('user_id'))); #UPDATE ITEM $toadd = array('sales' => new JO_Db_Expr('sales+1'), 'earning' => new JO_Db_Expr('earning+' . $price)); if ($extended == 'true') { $toadd['status'] = 'extended_buy'; } $db->update('items', $toadd, array('id = ?' => $item['id'])); return true; }
public function formAction() { $request = $this->getRequest(); if (!JO_Session::get('user_id')) { JO_Session::set('msg_error', $this->translate('You must be logged to upload an item')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=users&action=login')); } if (JO_Session::get('quiz') != 'true') { JO_Session::set('msg_error', $this->translate('In order to upload your files for sale first you have to pass our quiz.')); $this->redirect(WM_Router::create($request->getBaseUrl() . '?controller=quiz')); } if ($request->getRequest('form')) { $category_id = $request->getRequest('form'); } $redir_link = WM_Router::create($request->getBaseUrl() . '?controller=upload'); if (!$category_id) { $this->redirect($redir_link); } $this->getLayout()->meta_title = $this->translate('Item upload'); $this->getLayout()->meta_description = $this->translate('Item upload'); $mainCategories = Model_Categories::getMain(); $cnt = count($mainCategories); for ($i = 0; $i < $cnt; $i++) { $mainCategories[$i]['href'] = WM_Router::create($request->getBaseUrl() . '?controller=upload&action=get_categories&category_id=' . $mainCategories[$i]['id']); } $category_info = Model_Categories::get($category_id); $has_category = JO_Array::multi_array_search($mainCategories, 'id', $category_id); if (!$category_info) { JO_Session::set('msg_error', $this->translate('You have choosen a non existing category')); $this->redirect($redir_link); } elseif (empty($has_category)) { JO_Session::set('msg_error', $this->translate('You have choosen a non existing category')); $this->redirect($redir_link); } if (JO_Session::get('msg_error')) { $this->view->error = JO_Session::get('msg_error'); JO_Session::clear('msg_error'); } if (JO_Session::get('data')) { $this->view->d = JO_Session::get('data'); JO_Session::clear('data'); } $fileTypes = JO_Registry::get('upload_theme'); $types = ''; if ($fileTypes) { foreach ($fileTypes as $type) { $tp = explode(',', $type); foreach ($tp as $t) { $types .= '*.' . $t . ';'; } } } $this->view->sel_category = $category_id; $this->view->mainCategories = $mainCategories; $allCategories = Model_Categories::getWithChilds(); $categoriesSelect = Model_Categories::generateSelect($allCategories, $category_id, $category_id); if ($categoriesSelect) { $categories = explode('|', $categoriesSelect); foreach ($categories as $category) { if (!empty($category)) { $c = explode('>', $category); $this->view->categoriesSelect[] = array('id' => $c[0], 'name' => trim($c[1])); } } } $this->view->fileTypes = $types; $this->view->attributes = Model_Attributes::getAllWithCategories("attributes_categories.categories LIKE '%," . (int) $category_id . ",%'"); $fileTypes_allow = JO_Registry::get('upload_theme'); $allow_archives = array(); if (isset($fileTypes_allow['archives'])) { $ew = explode(',', $fileTypes_allow['archives']); foreach ($ew as $ar) { $allow_archives[] = '.' . strtolower($ar); } } $allow_images = array(); if (isset($fileTypes_allow['images'])) { $ew = explode(',', $fileTypes_allow['images']); foreach ($ew as $ar) { $allow_images[] = '.' . strtolower($ar); } } $this->view->uploaded_files = JO_Session::get('uploaded_files'); $this->view->uploaded_arhives = JO_Session::get('uploaded_arhives'); $this->view->crumbs = array(array('name' => $this->translate('Home'), 'href' => $request->getBaseUrl()), array('name' => $this->translate('Upload'))); $user = Model_Users::getByUsername(JO_Session::get('username')); $this->view->author_header = Helper_Author::authorHeader($user); $this->view->action_upload = WM_Router::create($request->getBaseUrl() . '?controller=upload&action=upload'); $this->view->autocomplete = WM_Router::create($request->getBaseUrl() . '?controller=items&action=auto'); $this->view->total_sales_cnt = JO_Session::get('sales'); $this->view->total_balance = WM_Currency::format(JO_Session::get('total')); $this->view->percent = Model_Percentes::getPercentRow($user); $help = Model_Pages::get(JO_Registry::forceGet('page_upload_item')); if ($help) { $this->view->page_upload_item = array('name' => $help['name'], 'href' => WM_Router::create($request->getBaseUrl() . '?controller=pages&page_id=' . $help['id'] . '&name=' . WM_Router::clearName($help['name']))); } $this->view->file_upload = WM_Router::create($request->getBaseUrl() . '?module=themes&controller=upload&action=doupload'); $this->view->children = array(); $this->view->children['header_part'] = 'layout/header_part'; $this->view->children['footer_part'] = 'layout/footer_part'; }