Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/application/classes/Controller/Order.php |
<?php defined('SYSPATH') or die('No direct script access.');
class Controller_Order extends Controller_Frontend {
public function action_confirmation_link() {
$h = addslashes($_GET['h']);
$i = addslashes($_GET['i']);
if( !empty( $h) AND !empty($i) ) {
if( $h == md5($i) ) {
$title2 = "Zamówienie potwierdzone - można działać...";
//$file_name = cms::createPermit($order->id);
$attachment = array();
$order = ORM::Factory('Order', $i);
$name = $order->name;
$email = $order->email;
$phone = $order->phone;
$nick = $order->nick;
$order->status = 1;
$order->save();
$e_content3 = View::factory('email/order_success')
->bind('name', $name)
->bind('email', $email)
->bind('phone', $phone)
->bind('nick', $nick);
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title2, $e_content3, true, null, $attachment);
Message::success(__t('Zamówienie zostało potwierdzone! Dziękujemy!'));
$this->redirect('Order/show_cart');
}
}
}
public function action_index()
{
$error = '';
$s = Session::instance();
//$s->set('cart_session', NULL);
//exit;
$cart_session = $s->get('cart_session');
//var_dump($cart_session);
//exit;
if( empty( $cart_session ) ) {
Message::error(__t('Twój koszyk jest pusty!'));
$this->redirect('Order/show_cart');
}
if( !empty( $_GET['action']) AND $_GET['action'] == 'finalize' ) {
if( $_POST ) {
$name = !empty( $_POST['name'] ) ? addslashes($_POST['name'] ) : '';
$email = !empty( $_POST['email'] ) ? addslashes($_POST['email'] ) : '';
$phone = !empty( $_POST['phone'] ) ? addslashes($_POST['phone'] ) : '';
$nick = !empty( $_POST['nick'] ) ? addslashes($_POST['nick'] ) : '';
if( !empty( $name ) AND !empty( $email ) AND !empty( $phone ) AND !empty( $nick ) ) {
$order = ORM::Factory('Order');
$order->country = cms::getCountry2IP();
$order->date = date('Y-m-d H:i:s');
$order->name = $name;
$order->email = $email;
$order->phone = $phone;
$order->nick = $nick;
$order->save();
foreach( $cart_session as $pid => $data ) {
if( !empty( $pid ) AND (int)$pid > 0 ) {
$product = ORM::Factory('item', $pid);
if(Auth::instance()->logged_in() ) {
$seller_id = Auth::instance()->get_user()->id;
} else {
$seller_id = $product->owner_id;
}
$order->title = $pid;
$order_item = ORM::Factory('order_item');
$order_item->items_id = $pid;
$order_item->orders_id = $order->id;
$order_item->save();
}
}
//$order->seller_id = $seller_id;
//$order->hash = md5($order->id);
//$order->user_id = $user_id;
$order->status = 0;
$order->file_name = '';
$order->save();
//cms::Add_Affiliate($o->user_id, 'SELL', $o->file_id);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
$link = "http://".$_SERVER['HTTP_HOST']."/Order/confirmation_link?h=".md5($order->id)."&i=".$order->id;
$title2 = "Link aktywacyjny z ".Kohana::$config->load('site.appName');
$e_content2 = View::factory('email/order_seller_success')->bind('link', $link);
$info = "Dziękujemy za skorzystanie z naszych usług. Proszę sprawdzić e-mail i potwierdzić zamówienie poprzez kliknięcie w link!";
aurora::standardEmail($email, $title2, $e_content2);
$s->set('cart_session', NULL);
} else {
$error = "Proszę wypełnić poprawnie wszyskie pola formularza!";
}
}
$this->template->title = 'Order';
$this->template->content = View::factory('order/index')
->bind('error', $error)
->bind('info', $info)
->bind('cart_session', $cart_session);
}
}
/*
public function action_payment() {
$id = Request::current()->param('id');
$order = ORM::Factory('Order')->where('id','=', $id)->find();
if( $order->loaded() ) {
$item_name = $order->title;
$item_amount = $order->price;
$querystring = "id=".$id."&";
// $querystring = "control=".$id."&";
$querystring = "amount=".$id."&";
$querystring = "description=".$id."&";
$querystring = "url=http://".$_SERVER['HTTP_HOST']."/order/payment_confirmation";
$querystring = "urlc=http://".$_SERVER['HTTP_HOST']."/order/payment_success?order_id=".$id."&";
$querystring = "email=".$id."&";
$querystring = "type=c1&";
$this->redirect('https://ssl.dotpay.pl/'.$querystring);
exit;
} else{
}
} else {
Message::error('Nie można załadować zamówienia!');
$this->redirect('Product/Category');
}
//$this->redirect('Order/payment_success/'.$order->id);
}
*/
public function action_update_amount()
{
$amount = !empty( $_GET['amount'] ) ? addslashes( $_GET['amount'] ) : 1;
$pid = !empty( $_GET['pid'] ) ? addslashes( $_GET['pid'] ) : 0;
$s = Session::instance();
$cc = array();
$cart_session = $s->get('cart_session');
$cc = $cart_session;
if( !empty( $cart_session ) AND !empty( $pid ) ) {
$cc[$pid]['amount'] = $amount;
$cc[$pid]['amount_pendant'] = $amount;
$s->set('cart_session', $cc);
}
echo "OK";
exit;
}
public function action_test_cart()
{
$s = Session::instance();
$cart_session = $s->get('cart_session');
var_dump($cart_session);
exit;
}
public function action_add_cart()
{
$cc = array();
$id = Request::current()->param('id');
$id = str_replace("krup_wiz_eleg_","eleg_krupnik_", $id);
$id = str_replace("uni_wiz","10x5_mini", $id);
$id = str_replace("wyb_wiz_","wyborowa_", $id);
$id = str_replace("krup_wiz_","krupnik_mini_", $id);
$id = str_replace("_wiz_","_mini_", $id);
if( !empty( $id ) AND $id != "undefined") {
$s = Session::instance();
$cart_session = $s->get('cart_session');
$item = ORM::Factory('item', $id);
if( empty( $cart_session ) ) {
$cc[md5($id)]['id'] = $id;
$cc[md5($id)]['total_price_value'] = $item->price;
$cc[md5($id)]['total_cost_value'] = $item->price;
$cc[md5($id)]['amount']= empty($_POST['amount']) ? 10 : addslashes($_POST['amount']);
$cc[md5($id)]['amount_pendant']= empty($_POST['amount_pendant']) ? 10 : addslashes($_POST['amount_pendant']);
$cc[md5($id)]['pendants']= empty($_POST['pendants']) ? 0 : addslashes($_POST['pendants']);
} else {
$cc = $cart_session;
$cc[md5($id)]['id'] = $id;
$cc[md5($id)]['total_price_value'] = $item->price;
$cc[md5($id)]['total_cost_value'] = $item->price;
$cc[md5($id)]['amount']= empty($_POST['amount']) ? 10 : addslashes($_POST['amount']);
$cc[md5($id)]['amount_pendant']= empty($_POST['amount_pendant']) ? 10 : addslashes($_POST['amount_pendant']);
$cc[md5($id)]['pendants']= empty($_POST['pendants']) ? 0 : addslashes($_POST['pendants']);
}
// Generujemy PDF
$text='<!DOCTYPE html>
<html>
<body>
<div class="procent">'.@$_POST["procent"].'</div>
<div class="header">'.nl2br(@$_POST["header"]).'</div>
<div class="imiona">
'.@$_POST["imiona"].'<br/>
'.@$_POST["data"].'
</div>
<div class="text">
'.nl2br(@$_POST["text"]).'
</div>
<div class="bg">
</div>
</body>
</html>
';
include('html/tpl/generator/mpdf/mpdf.php');
$mpdf=new mPDF('UTF-8',array(72.6,112.6),'','' , 0,0,0,0,0,0);
$mpdf->SetImportUse();
$mpdf->SetHTMLHeader($header);
$mpdf->SetDisplayMode('fullpage');
$mpdf->allow_charset_conversion=true;
$mpdf->charset_in='UTF-8';
$mpdf->list_indent_first_level = 0;
$stylesheet = file_get_contents('html/tpl/generator/style5.css'); // external css
$pagecount = $mpdf->SetSourceFile('html/tpl/generator/tlo.pdf');
$tplId = $mpdf->ImportPage($pagecount);
$actualsize = $mpdf->UseTemplate($tplId);
$mpdf->WriteHTML($stylesheet,1);
$mpdf->WriteHTML($text, 2);
$mpdf->Output("uploads/pdf/plik.pdf","D");
exit;
// KONIEC
$s->set('cart_session', $cc);
}
$this->template->title = __t('Karta produktu');
$this->template->content = View::factory('order/add_cart')->bind('cart_session', $cc);
}
public function action_show_cart()
{
$s = Session::instance();
$cart_session = $s->get('cart_session');
$this->template->title = __t('Koszyk');
$this->template->content = View::factory('order/show_cart')->bind('cart_session', $cart_session);
}
public function action_delete_cart()
{
$cc = array();
$id = Request::current()->param('id');
$s = Session::instance();
$cart_session = $s->get('cart_session');
unset($cart_session[$id]);
/*
foreach( $cart_session as $row => $data ) {
if( $row != $id )
$cc[$row] = $data;
}
*/
$s->set('cart_session', $cart_session);
$this->redirect('Order/show_cart');
}
public function action_cart()
{
$id = Request::current()->param('id');
$file = ORM::factory('File', $id);
if(!Auth::instance()->logged_in() ) {
Message::success(__t('Musisz być zalogowany aby móc dokonywać zakupów'));
$this->redirect('login');
exit;
}
if( $_POST ) {
$data = ac_form::clear_form_data($_POST);
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id );
$price = $file->price;
$netto = Model_Currency::calculateNettoFromBrutto($price);
$tax = Model_Currency::calculateTaxFromBrutto($price);
$o = ORM::factory('Order');
$o->date = date('Y-m-d H:i:s');
$o->title = sprintf(__t('Zakup skryptu %s'), $file->title);
$o->status = 0;
$o->introductory = $user->introductory;
$o->price = $price;
$o->netto = $netto;
$o->tax = $tax;
$o->file_id = $id;
$o->user_id = $user->id;
$o->save();
$this->redirect('https://przelewy24.pl');
exit;
}
$this->template->title = 'Zamówienie';
$this->template->content = View::factory('order/cart')
->bind('file', $file);
}
public function action_payment_error()
{
Message::error('Payment error!');
$this->redirect('/');
exit;
}
public function action_payment_report()
{
echo "OK";
exit;
}
public function action_payment_success()
{
$s = Session::instance();
$order_id = @addslashes($_GET['order_id']);
if(Auth::instance()->logged_in() ) {
$o = ORM::factory('Order', $order_id);
$o->status = 1;
$o->save();
$order_prods = ORM::factory('order_item')->where('orders_id','=', $order_id)->find_all();
foreach( $order_prods as $op ) {
$item = ORM::Factory('item', $op->items_id);
$seller_id = $item->owner_id;
$item->sold += 1;
$item->save();
$user = ORM::Factory('User', $o->seller_id);
$user->sold += 1;
$user->save();
//cms::Add_Affiliate( $seller_id, 'SELL');
//cms::Add_Commission( $seller_id, $op->items_id, $order_id);
}
//cms::Add_Affiliate( $o->user_id, 'BUY');
$title = __t('Payment was credited');
$session = Session::instance();
$lang_session = $session->get('language');
$lang = (empty( $lang_session ) ) ? 1 : $lang_session;
$lang_code = DB::query(Database::SELECT, "SELECT name FROM `languages` WHERE `id` = '$lang'")->execute();
$lang_code = strtolower($lang_code[0]['name']);
$e_content = View::factory('email/'.$lang_code.'_payment_success')
->bind('user', $user);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
//
//aurora::standardEmail($o->customer->email, $title, $e_content);
if( Kohana::$config->load('site.canConfirmAdminSell') ) {
//aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
}
$s->set('cart_session', NULL);
Message::success(__t('Thank you for making the order. Please check your e-mail address.'));
$this->redirect('/');
//$this->redirect('Order/confirmation');
}
exit;
}
public function action_confirmation()
{
$this->template->title = 'Confirmation';
$this->template->content = View::factory('order/confirmation');
}
}