Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/application/classes/Controller/Account.php |
<?php
defined('SYSPATH') or die('No direct script access.');
class Controller_Account extends Controller_Frontend {
public function action_index($action = '', $id_t = null) {
$this->redirect('account/edit');
}
public function action_message() {
//$action = Request::current()->param('act');
//$id = Request::current()->param('addon');
$action = !empty($_GET['action']) ? addslashes($_GET['action']) : '';
$id = !empty($_GET['id']) ? addslashes($_GET['id']) : '';
$user_messages = array();
$this->template->title = $title = 'Twoje reklamacje';
$sort = !empty($_GET['sort']) ? addslashes($_GET['sort']) : 'id';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$profile_id = Auth::instance()->get_user()->profile_id;
if( empty( $action ) ) {
$view = View::factory('account/message');
$user_messages = ORM::Factory('user_message')
//->and_where_open()
->where('sender_id','=', $user_id)
->or_where('recipient_id','=', $user_id)
->group_by('recipient_id')
->find_all();
} else {
$view = View::factory('account/message_edit');
if( !empty( $id) ) {
//$user_messages = ORM::Factory('user_message', $id);
$user_messages = ORM::Factory('user_message')
//->and_where_open()
->where('sender_id','=', $user_id)
->or_where('recipient_id','=', $user_id)
//->group_by('recipient_id')
->find_all();
}
if ($_POST) {
$data = $_POST;
if( empty( $id) ) {
$user_messages = ORM::Factory('user_message');
}
$data = ac_form::clear_form_data($_POST);
$user_messages->content = addslashes($data['content']);
$user_messages->date = date('Y-m-d H:i:s');
$user_messages->sender_id = $user_id;
$user_messages->type = 'OUTPUT';
$user_messages->recipient_id = $data['recipient_id'];
$user_messages->signature = md5($user_id.$data['recipient_id']);
$user_messages->save();
Message::success(__t('Wiadomość została wysłana!'));
$this->redirect('Account/message');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
ORM::Factory('user_message')
->where('id','=', $id)
->and_where_open()
->where('sender_id','=',$user_id)
->or_where('recipient_id','=',$user_id)
->and_where_close()
->find()
->delete();
Message::success('Akcja wykonana pomyślnie.');
$this->redirect('Account/message');
}
$users = ORM::Factory('user')->where('id','!=', $user_id)->find_all();
$this->template->content = $view
->bind('title', $title)
->bind('user_messages', $user_messages)
->bind('users', $users)
->bind('sort', $sort)
->bind('user_id', $user_id)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_template() {
//$action = Request::current()->param('act');
//$id = Request::current()->param('addon');
$action = !empty($_GET['action']) ? addslashes($_GET['action']) : '';
$id = !empty($_GET['id']) ? addslashes($_GET['id']) : '';
$user_templates = array();
$this->template->title = $title = 'Twoje szablony';
$sort = !empty($_GET['sort']) ? addslashes($_GET['sort']) : 'id';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$profile_id = Auth::instance()->get_user()->profile_id;
if( empty( $action ) ) {
$view = View::factory('account/template');
$user_templates = ORM::Factory('user_template')
->where('user_id','=', $user_id)
->find_all();
} else {
$view = View::factory('account/template_edit');
if( !empty( $id) ) {
//$user_messages = ORM::Factory('user_message', $id);
$user_templates = ORM::Factory('user_template')
//->and_where_open()
->where('user_id','=', $user_id)
->where('id','=', $id)
//->group_by('recipient_id')
->find();
}
if ($_POST) {
$data = $_POST;
if( empty( $id) ) {
$user_templates = ORM::Factory('user_template');
}
$data = ac_form::clear_form_data($_POST);
$user_templates->title = addslashes($data['title']);
$user_templates->subject = addslashes($data['subject']);
$user_templates->welcome_text = addslashes($data['welcome_text']);
$user_templates->email_replay = addslashes($data['email_replay']);
// $user_templates->date = date('Y-m-d H:i:s');
$user_templates->user_id = $user_id;
$user_templates->save();
Message::success(__t('Zmiany zostały zapisane!'));
$this->redirect('Account/template');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
ORM::Factory('user_template')
->where('id','=', $id)
->where('user_id','=',$user_id)
->find()
->delete();
Message::success('Akcja wykonana pomyślnie.');
$this->redirect('Account/template');
}
$default_text = "Witaj %USERNAME% (%FIRSTNAME% %LASTNAME%),
Twój kod zakupiony na aukcji numer %AUCTION_ID% (%NAME%) to: %CODE%
Jeśli zakupiłeś więcej kodów to przyjdą one w osobnych wiadomościach.";
$this->template->content = $view
->bind('title', $title)
->bind('default_text', $default_text)
->bind('user_templates', $user_templates)
->bind('sort', $sort)
->bind('user_id', $user_id)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_monitoring() {
//$action = Request::current()->param('act');
//$id = Request::current()->param('addon');
$action = !empty($_GET['action']) ? addslashes($_GET['action']) : '';
$id = !empty($_GET['id']) ? addslashes($_GET['id']) : '';
$user_monitoring = array();
$this->template->title = $title = 'Twoje aukcje';
$sort = !empty($_GET['sort']) ? addslashes($_GET['sort']) : 'id';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$profile_id = Auth::instance()->get_user()->profile_id;
$templates = ORM::Factory('user_template')
->where('user_id','=', $user_id)
->find_all();
$items = ORM::Factory('item')
->where('user_id','=', $user_id)
->find_all();
if( empty( $action ) ) {
$view = View::factory('account/monitoring');
$user_monitoring = ORM::Factory('user_monitoring')
->where('user_id','=', $user_id)
->find_all();
} else {
$view = View::factory('account/monitoring_edit');
if( !empty( $id) ) {
//$user_messages = ORM::Factory('user_message', $id);
$user_monitoring = ORM::Factory('user_monitoring')
//->and_where_open()
->where('user_id','=', $user_id)
->where('id','=', $id)
//->group_by('recipient_id')
->find();
}
if ($_POST) {
$data = $_POST;
if( empty( $id) ) {
$user_monitoring = ORM::Factory('user_monitoring');
}
$data = ac_form::clear_form_data($_POST);
$user_monitoring->title = addslashes($data['title']);
$user_monitoring->user_templates_id = addslashes($data['user_templates_id']);
$user_monitoring->items_id = addslashes($data['items_id']);
$user_monitoring->date = date('Y-m-d H:i:s');
$user_monitoring->user_id = $user_id;
$user_monitoring->save();
Message::success(__t('Zmiany zostały zapisane!'));
$this->redirect('Account/monitoring');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
ORM::Factory('user_monitoring')
->where('id','=', $id)
->where('user_id','=',$user_id)
->find()
->delete();
Message::success('Akcja wykonana pomyślnie.');
$this->redirect('Account/monitoring');
}
$this->template->content = $view
->bind('title', $title)
->bind('items', $items)
->bind('templates', $templates)
->bind('user_monitoring', $user_monitoring)
->bind('sort', $sort)
->bind('user_id', $user_id)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_favorite() {
$this->template->title = $title = __t('Ulubione');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
$favorities = ORM::Factory('item_favorite')->where('user_id','=', $user_id)->find_all();
$view = View::factory('account/favorite');
$this->template->content = $view
->bind('title', $title)
->bind('favorities', $favorities)
->bind('user', $user)
->bind('errors', $errors)
->bind('message', $message);
}
public function action_order_show() {
$this->template->title = $title = __t('Watch online');
$id = $this->request->param('id');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
$order = ORM::Factory('Order')->where('hash','=', $id)->where('user_id','=', $user_id)->find();
if( !$order->loaded() ) {
Message::error( __t('Brak uprawnień do oglądania danego materiału!') );
$this->redirect('Account');
exit;
}
$order_item = ORM::Factory('order_item')->where('orders_id','=', $order->id)->find();
$view = View::factory('account/order_show');
$this->template->content = $view
->bind('title', $title)
->bind('order', $order)
->bind('order_item', $order_item)
->bind('user', $user)
->bind('errors', $errors)
->bind('message', $message);
}
public function action_delete_favorite() {
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
$id = $this->request->param('id');
$delete = ORM::Factory('item_favorite')->where('id','=', $id)->where('user_id','=', $user_id)->find();
if( $delete->loaded() ) {
$delete->delete();
Message::render( __t('Pomyślnie usunięto produkt z Ulubionych!') );
}
$this->redirect('Account/Favorite');
}
public function action_report() {
$this->template->title = $title = __t('Raport');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$view = View::factory('account/report');
$this->template->content = $view
->bind('title', $title)
->bind('errors', $errors)
->bind('message', $message);
}
public function action_stat() {
$this->template->title = $title = __t('Account statistics');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$view = View::factory('account/stat');
$user = ORM::Factory('User', Auth::instance()->get_user()->id);
$y = !empty($_GET['y']) ? addslashes($_GET['y']) : date('Y');
$m = !empty($_GET['m']) ? addslashes($_GET['m']) : date('n');
$n = $m;
if( $n<10 ) $n = '0'.$n;
$date = $y."-".$n;
$sold = ORM::Factory('Order')->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)->where('seller_id','=', $user->id)->find_all();
$points = ORM::Factory('Stat')->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)->where('user_id','=', $user->id)->find_all();
$REGISTER = ORM::Factory('Stat')
->select(array(DB::expr('sum(`value`)'), 'sum_val'))
->where('keyname','=', 'REGISTER')
->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)
->where('user_id','=', $user->id)
->find();
$ADD_ITEM = ORM::Factory('Stat')
->select(array(DB::expr('sum(`value`)'), 'sum_val'))
->where('keyname','=', 'ADD_ITEM')
->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)
->where('user_id','=', $user->id)
->find();
$INVITE_TO_REGISTER = ORM::Factory('Stat')
->select(array(DB::expr('sum(`value`)'), 'sum_val'))
->where('keyname','=', 'INVITE_TO_REGISTER')
->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)
->where('user_id','=', $user->id)
->find();
$BUY = ORM::Factory('Stat')
->select(array(DB::expr('sum(`value`)'), 'sum_val'))
->where('keyname','=', 'BUY')
->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)
->where('user_id','=', $user->id)
->find();
$SELL = ORM::Factory('Stat')
->select(array(DB::expr('sum(`value`)'), 'sum_val'))
->where('keyname','=', 'SELL')
->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)
->where('user_id','=', $user->id)
->find();
$FB = ORM::Factory('Stat')
->select(array(DB::expr('sum(`value`)'), 'sum_val'))
->where('keyname','=', 'SHARE_FB')
->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)
->where('user_id','=', $user->id)
->find();
$invoices = ORM::Factory('invoice')->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)->where('customers_id','=', $user->id)->find_all();
$commission = ORM::Factory('User_commission')->select(array(DB::expr('SUM(`amount`)'), 'total'))->where(DB::expr('DATE_FORMAT(`date`,"%Y-%m")'),'=', $date)->where('user_id','=', $user->id)->where('status','=', 2)->find();
$this->template->content = $view
->bind('title', $title)
->bind('invoices', $invoices)
->bind('commission', $commission)
->bind('y', $y)
->bind('m', $m)
->bind('user', $user)
->bind('points', $points)
->bind('FB', $FB)
->bind('REGISTER', $REGISTER)
->bind('ADD_ITEM', $ADD_ITEM)
->bind('INVITE_TO_REGISTER', $INVITE_TO_REGISTER)
->bind('BUY', $BUY)
->bind('SELL', $SELL)
->bind('sold', $sold)
->bind('errors', $errors)
->bind('message', $message);
}
public function action_delete() {
$this->template->title = $title = __t('Moje dane');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $id );
$user->status = 100;
$user->save();
Message::success(__t('Administrator otrzyma informacje o prośbie usunięcia konta!'));
$this->redirect('account/edit');
}
public function action_delete_photo( $id = null ) {
$user_id = Auth::instance()->get_user()->id;
$photo_id = addslashes($_GET['photo_id']);
$item_id = addslashes($_GET['id']);
$layout = addslashes($_GET['layout']);
$user = ORM::Factory('User', $item_id);
$select = ORM::Factory('user_image')->where('id','=',$photo_id)->find();
if( $select->loaded() ) {
if( Auth::instance()->logged_in('admin') ) {
$select->delete();
} else {
if( $user->parent == $user_id ) {
$select->delete();
}
}
$this->request->redirect('account/notice/edit/'.$item_id.'?layout='.$layout);
}
$this->request->redirect('account/edit');
exit;
}
public function action_set_thumb_photo( $id = null ) {
$user_id = Auth::instance()->get_user()->id;
$photo_id = addslashes($_GET['photo_id']);
$item_id = addslashes($_GET['id']);
$layout = addslashes($_GET['layout']);
$user = ORM::Factory('User', $item_id);
$select = ORM::Factory('user_image')->where('id','=',$photo_id)->find();
if( $select->loaded() ) {
if( Auth::instance()->logged_in('admin') ) {
DB::Query(Database::UPDATE, "UPDATE user_images SET highlight = 0 WHERE user_id = '$item_id'")->execute();
$select->highlight = 1;
$select->save();
$this->request->redirect('account/notice/edit/'.$item_id.'?layout='.$layout);
} else {
if( $user->parent == $user_id ) {
DB::Query(Database::UPDATE, "UPDATE user_images SET highlight = 0 WHERE user_id = '$item_id'")->execute();
$select->highlight = 1;
$select->save();
$this->request->redirect('account/notice/edit/'.$item_id.'?layout='.$layout);
}
}
}
$this->request->redirect('account/edit');
exit;
}
public function action_activate_email() {
$email_old = Request::current()->param('email_old');
$id = Request::current()->param('id');
$email_new = Request::current()->param('email_new');
$u = ORM::Factory('User')->where('email','=', $email_old)->find();
if( $u->loaded() ) {
if( md5($u->id) == $id ) {
$u->email = $email_new;
$u->save();
}
}
$this->redirect('account/edit');
}
public function action_shopping() {
$this->template->title = $title = __t('Twoje zakupy');
$id = Request::current()->param('id');
$filtr = !empty($_GET['filtr']) ? addslashes($_GET['filtr']) : '';
$sort = !empty($_GET['sort']) ? addslashes($_GET['sort']) : 'date';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
if( !empty($_GET['get_courier']) AND !empty($_POST['send']) ) {
$oid = (int)$_POST['order_id'];
$order = ORM::Factory('Order', $oid);
$order->courier = 1;
$order->courier_text = addslashes($_POST['note_text']);
$order->ringleader_courier = $user_id;
$order->save();
$title = __t('Zamówienie kuriera dla '.$user->username);
$note_text = $order->courier_text;
$e_content = View::factory('email/get_courier')
->bind('note_text', $note_text)
->bind('user', $user);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
Message::success(__t('Wiadomość przesłana do administracji!'));
$this->redirect('account/shopping');
}
if( !empty($_GET['rakeback']) AND !empty($_POST['order_id']) ) {
$title = __t('Wystąpienie o zwrot prowizji');
$oid = (int)$_POST['order_id'];
$order = ORM::Factory('Order', $oid);
$order->rakeback = 1;
$order->ringleader_rakeback = $user_id;
$order->rakeback_text = addslashes($_POST['note_text']);
$order->save();
$note_text = $order->rakeback_text;
$e_content = View::factory('email/rakeback')
->bind('user', $user)
->bind('note_text', $note_text)
->bind('order', $order);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
Message::success(__t('Wiadomość przesłana do administracji!'));
$this->redirect('account/shopping');
}
if( !empty($_GET['controversy']) AND !empty($_POST['order_id']) ) {
$title = __t('Nowy spór w transkacji');
$oid = (int)$_POST['order_id'];
$order = ORM::Factory('Order', $oid);
$order->controversy = 1;
$order->ringleader_controversy = $user_id;
$order->controversy_text = addslashes($_POST['note_text']);
$order->save();
$note_text = $order->controversy_text;
$e_content = View::factory('email/controversy')
->bind('user', $user)
->bind('note_text', $note_text)
->bind('order', $order);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
Message::success(__t('Wiadomość przesłana do administracji!'));
$this->redirect('account/shopping');
}
$view = View::factory('account/order');
$orders = ORM::Factory('Order');
if( !empty( $filtr ) ) {
$orders = $orders
->where($filtr,'=', $filtr_value);
}
$orders = $orders->where('user_id','=', $user_id)->order_by($sort, 'desc')->find_all();
$this->template->content = $view
->bind('title', $title)
->bind('user', $user)
->bind('sort', $sort)
->bind('orders', $orders)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_order() {
$this->template->title = $title = __t('Zamówienia');
$id = Request::current()->param('id');
$filtr = !empty($_GET['filtr']) ? addslashes($_GET['filtr']) : '';
$sort = !empty($_GET['sort']) ? addslashes($_GET['sort']) : 'date';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
if( !empty($_GET['get_courier']) AND !empty($_POST['send']) ) {
$oid = (int)$_POST['order_id'];
$order = ORM::Factory('Order', $oid);
$order->courier = 1;
$order->courier_text = addslashes($_POST['note_text']);
$order->ringleader_courier = $user_id;
$order->save();
$title = __t('Zamówienie kuriera dla '.$user->username);
$note_text = $order->courier_text;
$e_content = View::factory('email/get_courier')
->bind('note_text', $note_text)
->bind('user', $user);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
Message::success(__t('Wiadomość przesłana do administracji!'));
$this->redirect('account/order');
}
if( !empty($_GET['rakeback']) AND !empty($_POST['order_id']) ) {
$title = __t('Wystąpienie o zwrot prowizji');
$oid = (int)$_POST['order_id'];
$order = ORM::Factory('Order', $oid);
$order->rakeback = 1;
$order->ringleader_rakeback = $user_id;
$order->rakeback_text = addslashes($_POST['note_text']);
$order->save();
$note_text = $order->rakeback_text;
$e_content = View::factory('email/rakeback')
->bind('user', $user)
->bind('note_text', $note_text)
->bind('order', $order);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
Message::success(__t('Wiadomość przesłana do administracji!'));
$this->redirect('account/order');
}
if( !empty($_GET['controversy']) AND !empty($_POST['order_id']) ) {
$title = __t('Nowy spór w transkacji');
$oid = (int)$_POST['order_id'];
$order = ORM::Factory('Order', $oid);
$order->controversy = 1;
$order->ringleader_controversy = $user_id;
$order->controversy_text = addslashes($_POST['note_text']);
$order->save();
$note_text = $order->controversy_text;
$e_content = View::factory('email/controversy')
->bind('user', $user)
->bind('note_text', $note_text)
->bind('order', $order);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
aurora::standardEmail(Kohana::$config->load('site.email_business'), $title, $e_content);
Message::success(__t('Wiadomość przesłana do administracji!'));
$this->redirect('account/order');
}
$view = View::factory('account/order');
$orders = ORM::Factory('Order');
if( !empty( $filtr ) ) {
$orders = $orders
->where($filtr,'=', $filtr_value);
}
$orders = $orders->where('seller_id','=', $user_id)->order_by($sort, 'desc')->find_all();
$kontrahent = ORM::Factory('company', $user->companies_id);
$my_cash = $orders->count()*$kontrahent->stake;
$this->template->content = $view
->bind('title', $title)
->bind('my_cash', $my_cash)
->bind('user', $user)
->bind('sort', $sort)
->bind('orders', $orders)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_order_detail() {
$this->template->title = $title = __t('Szczegóły zamówienia');
$id = addslashes($_GET['order_id']);
if( !empty( $id ) ) {
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
$view = View::factory('account/order_detail');
$order = ORM::Factory('Order', $id);
echo $view
->bind('title', $title)
->bind('user', $user)
->bind('data', $order)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
exit;
}
public function action_order_invoice() {
$preview = true;
$id = Request::current()->param('id');
if( !Auth::instance()->logged_in() ) $this->redirect('/');
$user_id = Auth::instance()->get_user()->id;
$invoice = ORM::Factory('Order')->where('id','=', $id)->where('user_id','=', $user_id)->find();
//$user = ORM::Factory('User', $invoice->seller_id); // Seller
$user = ORM::Factory('auth_user')->where('username','=','admin')->find(); // Seller
if( $invoice->loaded() ) {
$customer = $invoice->customer;
defined('FPDF_FONTPATH') OR define('FPDF_FONTPATH','modules/fpdf/font/');
$height = 10;
require_once('modules/fpdf/fpdf.php');
$faktura = new FPDF();
$faktura->SetUTF8(true);
$faktura->SetDisplayMode('real', 'single');
$faktura->Open();
$faktura->AddPage();
$faktura->AddFont('arial_ce', "", "arial_ce.php");
$faktura->SetCompression(false); //włącza kompresję dokumentu
/* a poniższe tylko dla ambitnych */
$faktura->SetAuthor('Faktura VAT'); //ustawia autora dokumentu
$faktura->SetCreator('Faktura VAT'); //ustawia generator dokumentu
$faktura->SetSubject('Faktura VAT'); //ustawia temat dokumentu
$faktura->SetTitle('Faktura VAT'); //ustawia tytuł dokumentu
$faktura->SetDisplayMode(200); //domyślne powiększenie dokumentu w przeglądarce
//$faktura->SetMargins(10, 10 , 10); //ustawia marginesy dla dokumentu
//$faktura->Image('images/logo.jpg', 28, 15,127,77);
$z_x = 237;
$y = 20;
$faktura->SetFont('arial_ce','',11);
$faktura->MultiCell(0, $height-10, __t('Date of issue: ').$invoice->date, 0, 'R', 0);
$faktura->MultiCell(0, $height+20, __t('Date of sale: ').$invoice->date, 0, 'R', 0);
$y += 30;
if( !empty( $user->logo ) AND strstr( $user->logo, "jpg") ) {
//$faktura->Image('uploads/user/images/'.$user->logo, 10, 20, 193, 59);
}
$faktura->SetFont('arial_ce','',22);
$faktura->MultiCell(0, $height+15, __t('INVOICE'), 0, 'C', 0);
$y += 5;
$faktura->SetFont('arial_ce','',12);
$faktura->MultiCell(0, $height, 'I/'.$invoice->id, 0, 'C', 0);
$y += 5;
$faktura->SetFont('arial_ce','',6);
$faktura->MultiCell(0, $height, __t('original/copy'), 0, 'C', 0);
$faktura->SetFont('arial_ce','',11);
$faktura->SetXY(28, 112);
$faktura->SetFillColor(170,170,170);
$faktura->MultiCell(260, 20, __t('Seller'), 1, 'C', 1);
$faktura->MultiCell(260, 20, $user->name, 'LRT', 'L', 0);
$faktura->MultiCell(260, 20, $user->address.' '.$user->postcode.' '.$user->city, 'LR', 'L', 0);
$faktura->MultiCell(260, 20, $user->nip, 'LRB', 'L', 0);
//$faktura->MultiCell(260, 20, '' , 'LRB', 'L', 0);
$faktura->SetXY(305, 112);
$faktura->MultiCell(260, 20, __t('Buyer'), 1, 'C', 1);
$faktura->SetXY(305, 132);
$faktura->MultiCell(260, 20, $customer->company.' '.$customer->firstname.' '.$customer->lastname, 'LRT', 'L', 0);
$faktura->SetFont('arial_ce','',12);
$faktura->SetXY(305, 152);
$faktura->MultiCell(260, 20, $customer->street, 'LR', 'L', 0);
$faktura->SetXY(305, 172);
$city = $customer->city;
$faktura->MultiCell(260, 20, $customer->postcode.' '.$city, 'LR', 'L', 0);
$faktura->SetXY(305, 192);
$faktura->MultiCell(260, 20, @$customer->nip, 'LRB', 'L', 0);
$faktura->SetFillColor(255,255,255);
$faktura->SetXY(28, 230);
$faktura->SetFont('arial_ce','',6);
$faktura->MultiCell(15, 25, __t("Id"), 1, 'C', 0);
$faktura->SetXY(43, 230);
$faktura->MultiCell(280, 25, __t("Name"), 1, 'L', 0);
$faktura->SetXY(323, 230);
$faktura->MultiCell(30, 25, __t(""), 1, 'C', 0);
$faktura->SetXY(353, 230);
$faktura->MultiCell(20, 25, __t("X"), 1, 'C', 0);
$faktura->SetXY(373, 230);
$faktura->MultiCell(50, 25, __t("Net unit price"), 1, 'C', 0);
$faktura->SetXY(423, 230);
$faktura->MultiCell(40, 25, __t("Net"), 1, 'C', 0);
$faktura->SetXY(463, 230);
$faktura->MultiCell(60, 25, __t("Tax"), 1, 'C', 0);
$faktura->SetXY(523, 230);
$faktura->MultiCell(42, 25, __t("Gross"), 1, 'C', 0);
// $faktura->SetFont('arial_ce','',6);
$Y_POS = 255;
$wartosc_netto = 0;
$podatek = 0;
$wartosc_brutto = 0;
$suma_wartosc_netto = 0;
$suma_podatek = 0;
$suma_wartosc_brutto = 0;
$suma_wartosc_netto23 = 0;
$suma_podatek23 = 0;
$suma_wartosc_brutto23 = 0;
$suma_wartosc_netto8 = 0;
$suma_podatek8 = 0;
$suma_wartosc_brutto8 = 0;
$suma_wartosc_netto3 = 0;
$suma_podatek3 = 0;
$suma_wartosc_brutto3 = 0;
$suma_wartosc_netto0 = 0;
$suma_podatek0 = 0;
$suma_wartosc_brutto0 = 0;
$suma_wartosc_nettozw = 0;
$suma_podatekzw = 0;
$suma_wartosc_bruttozw = 0;
$data['titleposition_1'] = __t($invoice->title);
$data['jmposition_1'] = __t('szt.');
$data['pkwiu_1'] = '';
$data['amountposition_1'] = 1;
$data['priceposition_1'] = $invoice->price;
//$data['rateposition_1'] = $invoice->tax;
$data['rateposition_1'] = 21;
for( $i = 1; $i < 2; $i++ ) {
$titleposition = $data['titleposition_'.$i];
$jmposition = $data['jmposition_'.$i];
$pkwiu = $data['pkwiu_'.$i];
$amountposition = $data['amountposition_'.$i];
$priceposition = $data['priceposition_'.$i];
$rateposition = $data['rateposition_'.$i];
$podatek = $invoice->price-round(($invoice->price/1.21), 2 );
if( !empty( $titleposition ) ) {
$wartosc_brutto = $invoice->price;
$wartosc_netto = round(($invoice->price/1.21), 2 );
$suma_wartosc_brutto += $wartosc_brutto;
$suma_wartosc_netto += $wartosc_netto;
$suma_podatek += $podatek;
$faktura->SetXY(28, $Y_POS);
$faktura->MultiCell(15, 25, $i.".", 1, 'C', 0);
$faktura->SetXY(43, $Y_POS);
$faktura->MultiCell(280, 25, 'Buying a product on the site SAM', 1, 'L', 0);
$faktura->SetXY(323, $Y_POS);
$faktura->MultiCell(30, 25, $pkwiu, 1, 'C', 0);
$faktura->SetXY(353, $Y_POS);
$faktura->MultiCell(20, 25, $amountposition, 1, 'C', 0);
$faktura->SetXY(373, $Y_POS);
$faktura->MultiCell(50, 25, number_format($wartosc_netto, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(423, $Y_POS);
$faktura->MultiCell(40, 25, number_format($wartosc_netto, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(463, $Y_POS);
$faktura->MultiCell(20, 25, "21%", 1, 'C', 0);
$faktura->SetXY(483, $Y_POS);
$faktura->MultiCell(40, 25, number_format($podatek, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(523, $Y_POS);
$faktura->MultiCell(42, 25, number_format($wartosc_brutto, 2, ',', ' '), 1, 'C', 0);
$Y_POS = $Y_POS+25;
}
}
//$suma_wartosc_brutto = number_format($invoice->price, 2, ',', ' ');
$faktura->SetXY(323, $Y_POS);
$faktura->MultiCell(30, 25, __t("Total"), 1, 'C', 0);
$faktura->SetXY(353, $Y_POS);
$faktura->MultiCell(20, 25, "", 1, 'C', 0);
$faktura->SetXY(373, $Y_POS);
$faktura->MultiCell(50, 25, "", 1, 'C', 0);
$faktura->SetXY(423, $Y_POS);
$faktura->MultiCell(40, 25, number_format($suma_wartosc_netto, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(463, $Y_POS);
$faktura->MultiCell(20, 25, "X", 1, 'C', 0);
$faktura->SetXY(483, $Y_POS);
$faktura->MultiCell(40, 25, number_format($suma_podatek, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(523, $Y_POS);
$faktura->MultiCell(42, 25, number_format($invoice->price, 2, ',', ' '), 1, 'C', 0);
$Y_POS = $Y_POS+25;
$Y = $faktura->getY()+20;
$slownie = cms::words2pay($suma_wartosc_brutto);
$faktura->SetXY(28, $Y);
$payment_method = __t('transfer');
$payment_deadline = __t('paid');
$payout = $suma_wartosc_brutto; // 0,00
// __t("Words").": ".$slownie."\n".
$faktura->MultiCell(0, 15, __t("Maturity").": ".$payment_deadline."\n".__t("Method of payment").": ".$payment_method."\n".__t("Paid").": ".$payout." euro\n".__t("Gross").": ".$suma_wartosc_brutto." euro\n".__t("Bank name").": ".$user->billing_bank."\n".__t("Account number").": ".$user->billing_bank_account , 1, 'L', 0);
//$faktura->SetXY(415, $Y);
//$faktura->MultiCell(150, 25, "Całkowita kwota: 10 000,00 PLN\nZapłacono: 10 000,00 PLN\nDo zapłaty: 10 000,00 PLN" , 1, 'R', 0);
$Y += 145;
$faktura->SetXY(28, $Y);
$faktura->SetFont('arial_ce','',6);
$faktura->MultiCell(300, 10, "--------------------------\n".__t('The signature of the person authorized to issue an invoice')."" , 0, 'L', 0);
$faktura->SetXY(365, $Y);
$faktura->MultiCell(200, 10, "--------------------------\n".__t('The signature of the person authorized to receive the invoice')."" , 0, 'R', 0);
$Y += 75;
$faktura->SetXY(28, $Y);
$faktura->MultiCell(0, 10, " " , 0, 'C', 0);
$Y += 25;
$faktura->SetXY(28, $Y);
$rand = rand(1,100);
$file_name = 'uploads/pdf/fv_'.md5($id).'.pdf';
if( $preview ) {
$faktura->Output();
} else {
$faktura->Output($file_name,'F');
$invoice->file_name = $file_name;
$invoice->save();
$this->redirect($file_name);
}
} else {
$this->redirect('account/order');
}
exit;
}
public function action_invoice() {
$preview = true;
$id = Request::current()->param('id');
if( !Auth::instance()->logged_in() ) $this->redirect('/');
$user_id = Auth::instance()->get_user()->id;
$invoice = ORM::Factory('invoice')->where('id','=', $id)->where('customers_id','=', $user_id)->find();
$user = ORM::Factory('User', $invoice->user_id); // Seller
$customer = ORM::Factory('User', $invoice->customers_id);
if( $invoice->loaded() ) {
defined('FPDF_FONTPATH') OR define('FPDF_FONTPATH','modules/fpdf/font/');
$height = 10;
require_once('modules/fpdf/fpdf.php');
$faktura = new FPDF();
$faktura->SetUTF8(true);
$faktura->SetDisplayMode('real', 'single');
$faktura->Open();
$faktura->AddPage();
$faktura->AddFont('arial_ce', "", "arial_ce.php");
$faktura->SetCompression(false); //włącza kompresję dokumentu
/* a poniższe tylko dla ambitnych */
$faktura->SetAuthor('Faktura VAT'); //ustawia autora dokumentu
$faktura->SetCreator('Faktura VAT'); //ustawia generator dokumentu
$faktura->SetSubject('Faktura VAT'); //ustawia temat dokumentu
$faktura->SetTitle('Faktura VAT'); //ustawia tytuł dokumentu
$faktura->SetDisplayMode(200); //domyślne powiększenie dokumentu w przeglądarce
//$faktura->SetMargins(10, 10 , 10); //ustawia marginesy dla dokumentu
//$faktura->Image('images/logo.jpg', 28, 15,127,77);
$z_x = 237;
$y = 20;
$faktura->SetFont('arial_ce','',11);
$faktura->MultiCell(0, $height-10, 'Data wystawienia: '.$invoice->date, 0, 'R', 0);
$faktura->MultiCell(0, $height+20, 'Data sprzedaży: '.$invoice->date, 0, 'R', 0);
$y += 30;
//if( !empty( $user->logo ) ) {
//$faktura->Image($user->logo, 10, 20, 193, 59);
//}
$faktura->SetFont('arial_ce','',22);
$faktura->MultiCell(0, $height+15, 'FAKTURA VAT', 0, 'C', 0);
$y += 5;
$faktura->SetFont('arial_ce','',12);
$faktura->MultiCell(0, $height, 'F/'.$invoice->id, 0, 'C', 0);
$y += 5;
$faktura->SetFont('arial_ce','',6);
$faktura->MultiCell(0, $height, __t('oryginał/kopia'), 0, 'C', 0);
$faktura->SetFont('arial_ce','',11);
$faktura->SetXY(28, 112);
$faktura->SetFillColor(170,170,170);
$faktura->MultiCell(260, 20, __t('Sprzedawca'), 1, 'C', 1);
$faktura->MultiCell(260, 20, $user->company, 'LRT', 'L', 0);
$faktura->MultiCell(260, 20, $user->street, 'LR', 'L', 0);
$faktura->MultiCell(260, 20, $user->city, 'LR', 'L', 0);
$faktura->MultiCell(260, 20, $user->nip, 'LRB', 'L', 0);
$faktura->SetXY(305, 112);
$faktura->MultiCell(260, 20, __t('Nabywca'), 1, 'C', 1);
$faktura->SetXY(305, 132);
$faktura->MultiCell(260, 20, $customer->company.' '.$customer->firstname.' '.$customer->lastname, 'LRT', 'L', 0);
$faktura->SetFont('arial_ce','',12);
$faktura->SetXY(305, 152);
$faktura->MultiCell(260, 20, $customer->street, 'LR', 'L', 0);
$faktura->SetXY(305, 172);
$city = $customer->city;
$faktura->MultiCell(260, 20, $customer->postcode.' '.$city, 'LR', 'L', 0);
$faktura->SetXY(305, 192);
$faktura->MultiCell(260, 20, @$customer->nip, 'LRB', 'L', 0);
$faktura->SetFillColor(255,255,255);
$faktura->SetXY(28, 230);
$faktura->SetFont('arial_ce','',6);
$faktura->MultiCell(15, 25, __t("Lp"), 1, 'C', 0);
$faktura->SetXY(43, 230);
$faktura->MultiCell(280, 25, __t("Nazwa"), 1, 'L', 0);
$faktura->SetXY(323, 230);
$faktura->MultiCell(30, 25, __t("PKWiU"), 1, 'C', 0);
$faktura->SetXY(353, 230);
$faktura->MultiCell(20, 25, __t("Ilość"), 1, 'C', 0);
$faktura->SetXY(373, 230);
$faktura->MultiCell(50, 25, __t("Cena jedn. netto"), 1, 'C', 0);
$faktura->SetXY(423, 230);
$faktura->MultiCell(40, 25, __t("Wart. netto"), 1, 'C', 0);
$faktura->SetXY(463, 230);
$faktura->MultiCell(60, 25, __t("Podatek"), 1, 'C', 0);
$faktura->SetXY(523, 230);
$faktura->MultiCell(42, 25, __t("Wart. brutto"), 1, 'C', 0);
// $faktura->SetFont('arial_ce','',6);
$Y_POS = 255;
$wartosc_netto = 0;
$podatek = 0;
$wartosc_brutto = 0;
$suma_wartosc_netto = 0;
$suma_podatek = 0;
$suma_wartosc_brutto = 0;
$suma_wartosc_netto23 = 0;
$suma_podatek23 = 0;
$suma_wartosc_brutto23 = 0;
$suma_wartosc_netto8 = 0;
$suma_podatek8 = 0;
$suma_wartosc_brutto8 = 0;
$suma_wartosc_netto3 = 0;
$suma_podatek3 = 0;
$suma_wartosc_brutto3 = 0;
$suma_wartosc_netto0 = 0;
$suma_podatek0 = 0;
$suma_wartosc_brutto0 = 0;
$suma_wartosc_nettozw = 0;
$suma_podatekzw = 0;
$suma_wartosc_bruttozw = 0;
$data['titleposition_1'] = __t($invoice->title);
$data['jmposition_1'] = __t('szt.');
$data['pkwiu_1'] = '';
$data['amountposition_1'] = 1;
$data['priceposition_1'] = $invoice->price;
//$data['rateposition_1'] = $invoice->tax;
$data['rateposition_1'] = 21;
for( $i = 1; $i < 2; $i++ ) {
$titleposition = $data['titleposition_'.$i];
$jmposition = $data['jmposition_'.$i];
$pkwiu = $data['pkwiu_'.$i];
$amountposition = $data['amountposition_'.$i];
$priceposition = $data['priceposition_'.$i];
$rateposition = $data['rateposition_'.$i];
if( !empty( $titleposition ) ) {
$wartosc_brutto = $invoice->price;
$wartosc_netto = $invoice->netto;
//euro
$podatek = 21;
$suma_wartosc_brutto += $wartosc_brutto;
$suma_wartosc_netto += $wartosc_netto;
$suma_podatek += $podatek;
$faktura->SetXY(28, $Y_POS);
$faktura->MultiCell(15, 25, $i.".", 1, 'C', 0);
$faktura->SetXY(43, $Y_POS);
$faktura->MultiCell(280, 25, $titleposition, 1, 'L', 0);
$faktura->SetXY(323, $Y_POS);
$faktura->MultiCell(30, 25, $pkwiu, 1, 'C', 0);
$faktura->SetXY(353, $Y_POS);
$faktura->MultiCell(20, 25, $amountposition, 1, 'C', 0);
$faktura->SetXY(373, $Y_POS);
$faktura->MultiCell(50, 25, number_format($wartosc_netto, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(423, $Y_POS);
$faktura->MultiCell(40, 25, number_format($wartosc_netto, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(463, $Y_POS);
$faktura->MultiCell(20, 25, "21%", 1, 'C', 0);
$faktura->SetXY(483, $Y_POS);
$faktura->MultiCell(40, 25, number_format($podatek, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(523, $Y_POS);
$faktura->MultiCell(42, 25, number_format($wartosc_brutto, 2, ',', ' '), 1, 'C', 0);
$Y_POS = $Y_POS+25;
}
}
//$suma_wartosc_brutto = number_format($invoice->price, 2, ',', ' ');
$faktura->SetXY(323, $Y_POS);
$faktura->MultiCell(30, 25, __t("Razem"), 1, 'C', 0);
$faktura->SetXY(353, $Y_POS);
$faktura->MultiCell(20, 25, "", 1, 'C', 0);
$faktura->SetXY(373, $Y_POS);
$faktura->MultiCell(50, 25, "", 1, 'C', 0);
$faktura->SetXY(423, $Y_POS);
$faktura->MultiCell(40, 25, number_format($suma_wartosc_netto, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(463, $Y_POS);
$faktura->MultiCell(20, 25, "X", 1, 'C', 0);
$faktura->SetXY(483, $Y_POS);
$faktura->MultiCell(40, 25, number_format($suma_podatek, 2, ',', ' '), 1, 'C', 0);
$faktura->SetXY(523, $Y_POS);
$faktura->MultiCell(42, 25, number_format($invoice->price, 2, ',', ' '), 1, 'C', 0);
$Y_POS = $Y_POS+25;
$Y = $faktura->getY()+20;
$slownie = cms::words2pay($suma_wartosc_brutto);
$faktura->SetXY(28, $Y);
$payment_method = __t('przelew');
//$payment_deadline = date('d-m-Y', strtotime($invoice->date)+300*24*Kohana::$config->load('site.maturity'));
$payment_deadline = __t('zapłacono');
$payout = $suma_wartosc_brutto; // 0,00
$faktura->MultiCell(0, 15, __t("Termin płatności").": ".$payment_deadline."\n".__t("Sposób płatności").": ".$payment_method."\n".__t("Zapłacono").": ".$payout." euro\n".__t("Wartosc brutto").": ".$suma_wartosc_brutto." euro\n".__t("Słownie").": ".$slownie."\n".__t("Nazwa banku").": ".$user->billing_bank."\n".__t("Numer konta").": ".$user->billing_bank_account , 1, 'L', 0);
//$faktura->SetXY(415, $Y);
//$faktura->MultiCell(150, 25, "Całkowita kwota: 10 000,00 PLN\nZapłacono: 10 000,00 PLN\nDo zapłaty: 10 000,00 PLN" , 1, 'R', 0);
$Y += 145;
$faktura->SetXY(28, $Y);
$faktura->SetFont('arial_ce','',6);
$faktura->MultiCell(300, 10, "--------------------------\nPodpis osoby upoważnionej do\nwystawienia faktury" , 0, 'L', 0);
$faktura->SetXY(365, $Y);
$faktura->MultiCell(200, 10, "--------------------------\nPodpis osoby upoważnionej do\nodbioru faktury" , 0, 'R', 0);
$Y += 75;
$faktura->SetXY(28, $Y);
$faktura->MultiCell(0, 10, " " , 0, 'C', 0);
$Y += 25;
$faktura->SetXY(28, $Y);
$rand = rand(1,100);
$file_name = 'uploads/pdf/fv_'.md5($id).'.pdf';
if( $preview ) {
$faktura->Output();
} else {
$faktura->Output($file_name,'F');
$invoice->file_name = $file_name;
$invoice->save();
$this->redirect($file_name);
}
} else {
$this->redirect('account/earning');
}
exit;
}
public function action_edit() {
$this->template->title = $title = __t('Moje dane');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('user', $user_id );
$_user = ORM::Factory('user', $user_id );
$view = View::factory('account/edit');
if ($_POST) {
$data = ac_form::clear_form_data($_POST);
if( !empty( $data['description_tab'] ) AND $data['description_tab'] == "change_description_file" ) {
$user->description = $data['description'];
if( $_FILES ) {
$uploads_dir = 'uploads/user/images/';
$name = $_FILES['logo']['name'];
$tmp_name = $_FILES['logo']['tmp_name'];
if( move_uploaded_file($tmp_name, "$uploads_dir/$name") AND !empty( $name )) {
$user->logo = $name;
}
}
}
if( !empty( $data['action'])) {
if( $data['action'] != "allegro" ) {
$test_user = ORM::Factory('user')
->where('username','=', $data['username'])
->where('id','!=', $user_id)
->find();
if( $test_user->loaded() ) {
Message::success(__t('Użytkownik już istnieje w bazie danych.'));
$this->redirect('account/edit');
}
}
$user->newsletter = 0;
$user->newsletter2 = 0;
foreach( $data as $key => $val) {
if($key != 'action' AND $key != 'gallery_type' ) {
$user->{$key} = @$val;
}
}
} else {
if( !empty( $data['email'] ) ) {
if( $user->email == $data['email'] ) {
Message::success(__t('Podany e-mail jest taki sam jak bieżący.'));
$this->redirect('account/edit');
}
$title = __t('Potwierdzenie emaila');
$link = "<a href='http://".Kohana::$config->load('site.domain')."/Account/activate_email/".$user->email."/".md5($user->id)."/".$data['email']."' target='blank'>Aktywacja</a>";
$e_content = View::factory('email/change_email')
->bind('link', $link)
->bind('user', $user);
$from = array();
$from[0] = Kohana::$config->load('site.email_business');
$from[1] = Kohana::$config->load('site.appName');
if(aurora::standardEmail( $data['email'], $title, $e_content) ) {
Message::success('Odbierz e-mail aktywacyjny, aby zmienić email w serwisie.');
$this->redirect('account/edit');
} else {
}
}
if( !empty( $data['password'] ) ) {
$user_password = ORM::Factory('User', $user_id );
if( $user_password->password == Auth::instance()->hash($data['oldpassword']) ) {
if( $user_password->password == Auth::instance()->hash($data['password']) ) {
Message::success(__t('Podane hasło jest takie same jak bieżące.'));
$this->redirect('account/edit');
}
$user_password->password = $data['password'];
$user_password->save();
}
else {
Message::success(__t('Hasła są różne.'));
$this->redirect('account/edit');
}
Message::success(__t('Zmiany zostały zapisane!'));
$this->redirect('account/edit');
}
}
$user->is_change = 1;
$user->save();
Message::success(__t('Zmiany zostały zapisane!'));
$this->redirect('account/edit');
}
$this->template->content = $view
->bind('title', $title)
->bind('user', $user)
->bind('_user', $_user)
->bind('gallery', $gallery)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_news() {
$action = Request::current()->param('act');
$id = Request::current()->param('id');
$children = array();
$this->template->title = $title = 'Twoje aktualności';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
if( empty( $action ) ) {
$view = View::Factory('account/news');
$news = ORM::Factory('moderator_news')->where('user_id','=', $user_id)->or_where('owner_id','=', $user_id)->find_all();
} else {
$children = ORM::Factory('user')->where('parent','=', $user_id)->find_all();
$view = View::Factory('account/news_edit');
if( !empty( $id) ) {
$news = ORM::Factory('moderator_news', $id);
} else {
$news = ORM::Factory('moderator_news');
}
if ($_POST) {
$data = ac_form::clear_form_data($_POST);
$get_gallery = ORM::Factory('moderator_gallery')->where('user_id','=', (int)$data['parent'])->find();
$news->title = $data['title'];
$news->description = $data['description'];
$news->user_id = $get_gallery->gallery_id;
$news->owner_id = $user_id;
if( $_FILES ) {
$uploads_dir = 'uploads/article/';
$name = $_FILES['thumb']['name'];
$tmp_name = $_FILES['thumb']['tmp_name'];
if( move_uploaded_file($tmp_name, "$uploads_dir/$name")) {
$news->thumb = "$uploads_dir/$name";
}
}
$news->date = strtotime($data['date']);
$news->status = 0;
if( !empty($data['fb_event']) ) {
$news->fb_event = 1;
}
$news->is_change = 1;
$news->save();
cms::confirmAdmin(Request::current()->controller(), Request::current()->action());
Message::success(__t('Zmiany zostały zapisane i oczekują na akceptację moderatora!'));
$this->redirect('account/news');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
ORM::Factory('News')->where('id','=', $id)->where('user_id','=',$user_id)->find()->delete();
ORM::Factory('moderator_news')->where('id','=', $id)->where('user_id','=',$user_id)->find()->delete();
Message::success('The action completed successfully.');
$this->redirect('account/news');
}
$this->template->content = $view
->bind('title', $title)
->bind('children', $children)
->bind('news', $news)
->bind('user', $user)
->bind('user_id', $user_id)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_article() {
$action = Request::current()->param('act');
$id = Request::current()->param('id');
$children = array();
$this->template->title = $title = 'Twoje artykuły';
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
if( empty( $action ) ) {
$view = View::Factory('account/article');
$news = ORM::Factory('moderator_article')->where('user_id','=', $user_id)->or_where('owner_id','=', $user_id)->find_all();
} else {
$children = ORM::Factory('user')->where('parent','=', $user_id)->find_all();
$view = View::Factory('account/article_edit');
if( !empty( $id) ) {
$news = ORM::Factory('moderator_article', $id);
} else {
$news = ORM::Factory('moderator_article');
}
if ($_POST) {
$data = ac_form::clear_form_data($_POST);
$get_gallery = ORM::Factory('moderator_gallery')->where('user_id','=', (int)$data['parent'])->find();
$news->title = $data['title'];
$news->description = $data['description'];
$news->date = time();
$news->user_id = $get_gallery->gallery_id;
$news->owner_id = $user_id;
$news->status = 0;
$news->is_change = 1;
$news->save();
cms::confirmAdmin(Request::current()->controller(), Request::current()->action());
Message::success(__t('Zmiany zostały zapisane i oczekują na akceptację moderatora!'));
$this->redirect('account/article');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
ORM::Factory('article')->where('id','=', $id)->where('user_id','=',$user_id)->find()->delete();
ORM::Factory('moderator_article')->where('id','=', $id)->where('user_id','=',$user_id)->find()->delete();
Message::success('The action completed successfully.');
$this->redirect('account/article');
}
$this->template->content = $view
->bind('title', $title)
->bind('children', $children)
->bind('news', $news)
->bind('user', $user)
->bind('user_id', $user_id)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_item() {
$action = Request::current()->param('act');
$id = Request::current()->param('id');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
if( !empty( $_GET['reactive'] ) ) {
$reactive = addslashes($_GET['reactive']);
$item = ORM::Factory('item')->where('id','=', $reactive)->where('owner_id','=', $user_id)->find();
if( $item->loaded() ) {
$item->lifetime_date = date('Y-m-d H:i:s', time()+($item->lifetime*24*3600));
$item->save();
$moderator_item = ORM::Factory('moderator_item')->where('id','=', $reactive)->find();
$moderator_item->lifetime_date = date('Y-m-d H:i:s', time()+($item->lifetime*24*3600));
$moderator_item->save();
Message::success('The action completed successfully.');
}
$this->redirect('account/item');
}
$this->template->title = $title = __t('Twoje kody');
$sort = !empty($_GET['sort']) ? addslashes($_GET['sort']) : 'id';
$categories_id = !empty($_GET['categories_id']) ? addslashes($_GET['categories_id']) : '';
$techniques_id = !empty($_GET['techniques_id']) ? addslashes($_GET['techniques_id']) : '';
$topics_id = !empty($_GET['topics_id']) ? addslashes($_GET['topics_id']) : '';
$types_id = !empty($_GET['types_id']) ? addslashes($_GET['types_id']) : '';
$tags = !empty($_GET['tags']) ? addslashes($_GET['tags']) : '';
$price = !empty($_GET['price']) ? addslashes($_GET['price']) : '';
$user = ORM::Factory('User', $user_id);
$images = array();
$children = array();
if( !empty ($_GET['delete'] ) ) {
$d = addslashes($_GET['delete']);
$f = ORM::Factory('item_image')->where('id','=', $d)->find();
if( $id == $f->item_id ) {
$f->delete();
$this->redirect('account/item/edit/'.$id);
}
}
if( empty( $action ) ) {
$view = View::Factory('account/item');
$item = ORM::Factory('item')
->and_where_open()
->where('owner_id','=', $user_id)
->or_where('user_id','=', $user_id)
->and_where_close();
if( !empty( $price ) ) {
$price = explode("_", $price);
$item = $item
->where('moderator_item.price','>=', $price[0])
->where('moderator_item.price','=<', $price[1]);
}
if( !empty( $categories_id ) ) {
$item = $item
->where('moderator_item.categories_id','=', $categories_id);
}
if( !empty( $techniques_id ) ) {
$item = $item
->where('moderator_item.techniques_id','=', $techniques_id);
}
if( !empty( $topics_id ) ) {
$item = $item
->where('moderator_item.topics_id','=', $topics_id);
}
if( !empty( $tags ) ) {
$item = $item
->where('moderator_item.tags','LIKE', '%'.$tags.'%');
}
$item = $item->find_all();
$item2 = DB::Query(Database::SELECT, "SELECT items.* FROM items LEFT JOIN users ON users.id = items.owner_id WHERE users.parent = '$user_id'")->as_object()->execute();
} else {
$view = View::Factory('account/item_edit');
$children = ORM::Factory('user')->where('parent','=', $user_id)->find_all();
$item_type_link = array();
$item_topic_link = array();
if( !empty( $id) ) {
$item = ORM::Factory('item', $id);
$images = ORM::Factory('item_image')->where('item_id','=', $id)->order_by('order','asc')->find_all();
foreach( ORM::Factory('item_type_link')->where('id','=', $id)->find_all() as $itl ) {
$item_type_link[] = $itl->types_id;
}
}
if ($_POST) {
//$data = ac_form::clear_form_data($_POST);
$data = $_POST;
if( empty( $id) ) {
$item = ORM::Factory('item');
} else {
//if( $y == 1 )
$item = ORM::Factory('item', $id);
//else
//$item = ORM::Factory('item');
}
$item->title = empty($data['title']) ? 'Bez nazwy' : $data['title'];
$item->description = $data['description'];
//$item->personal_delivery = (!empty($data['personal_delivery']) OR ($data['main_type'] == "print")) ? 1: 0;
$item->tags = $data['tags'];
//$item->file = @$data['upload_file'];
// zerowanie
$item->manual = 0;
$item->print = 0;
$item->date = time();
$item->shipping_cost = (int)@$data['shipping_cost'];
if( empty( $data['parent'] ) )
$item->user_id = $user_id;
else
$item->user_id = (int)@$data['parent'];
$item->owner_id = $user_id;
$item->status = 1;
$item->save();
if( !empty( $data['categories_id_own'] ) ) {
$c = ORM::Factory('item_category');
$c->title = $data['categories_id_own'];
$c->languages_id = 1;
$c->status = 0;
$c->save();
$item->categories_id = $c->id;
} else {
$item->categories_id = $data['categories_id'];
}
if( !empty( $data['types_id_own'] ) ) {
$c = ORM::Factory('item_type');
$c->title = $data['types_id_own'];
$c->languages_id = 1;
$c->status = 0;
$c->save();
$itl = ORM::Factory('item_type_link');
$itl->id = $item->id;
$itl->types_id = $c->id;
$itl->save();
$item->types_id = $item->id;
} else {
$itl = ORM::Factory('item_type_link')->where('id','=', $item->id)->find_all();
foreach( $itl as $d ) $d->delete();
// Dodaję...
if( !empty( $data['types_id']) AND is_array( $data['types_id'] ) ) {
foreach( $data['types_id'] as $val ) {
if( !empty( $val ) ) {
$itl = ORM::Factory('item_type_link');
$itl->id = $item->id;
$itl->types_id = $val;
$itl->save();
}
}
$item->types_id = $item->id;
}
}
//
$item->save();
//$item->thumb = $data['upload_thumb'.$y];
//$item->is_change = 1;
//$item->save();
cms::confirmAdmin(Request::current()->controller(), Request::current()->action());
Message::success(__t('Zmiany zapisane i czekają na akceptację moderatora!'));
$this->redirect('account/item');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
ORM::Factory('item')->where('id','=', $id)->where('owner_id','=',$user_id)->find()->delete();
$t = ORM::Factory('item')->where('id','=', $id)->where('owner_id','=',$user_id)->find();
if( $t->loaded() ) $t->delete();
Message::success(__t('The action completed successfully.'));
$this->redirect('account/item');
}
$types = ORM::Factory('item_type')->order_by('order','asc')->find_all();
$categories = ORM::Factory('item_category')->order_by('order','asc')->find_all();
$this->template->content = $view
->bind('title', $title)
->bind('item', $item)
->bind('item2', $item2)
->bind('sort', $sort)
->bind('user', $user)
->bind('user_id', $user_id)
->bind('children', $children)
->bind('techniques', $techniques)
->bind('types', $types)
->bind('item_type_link', $item_type_link)
->bind('topics', $topics)
->bind('categories', $categories)
->bind('images', $images)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
public function action_comment() {
$action = Request::current()->param('act');
$id = Request::current()->param('id');
$this->template->title = $title = __t('Twoje komentarze');
if( !Auth::instance()->logged_in() ) $this->redirect('Login');
$user_id = Auth::instance()->get_user()->id;
$user = ORM::Factory('User', $user_id);
$images = array();
if( empty( $action ) ) {
$view = View::Factory('account/comment');
$comment = ORM::Factory('moderator_page_comment')->where('user_id','=', $user_id)->find_all();
} else {
$view = View::Factory('account/comment_edit');
if( !empty( $id) ) {
$comment = ORM::Factory('moderator_page_comment', $id);
} else {
$comment = ORM::Factory('moderator_page_comment');
}
if ($_POST) {
$data = ac_form::clear_form_data($_POST);
foreach( $data as $key => $val) {
if($key != 'action' ) {
$comment->{$key} = @$val;
}
}
$comment->save();
cms::confirmAdmin(Request::current()->controller(), Request::current()->action());
Message::success(__t('Zmiany zostały zapisane i oczekują na akceptację moderatora!'));
$this->redirect('account/comment');
}
}
if( $action == "delete" AND !is_null( $id ) ) {
$test = ORM::Factory('page_comment')->where('id','=', $id)->where('user_id','=',$user_id)->find();
if( $test->loaded() ) $test->delete();
ORM::Factory('moderator_page_comment')->where('id','=', $id)->where('user_id','=',$user_id)->find()->delete();
Message::success(__t('The action completed successfully.'));
$this->redirect('account/comment');
}
$this->template->content = $view
->bind('title', $title)
->bind('comment', $comment)
->bind('user', $user)
->bind('errors', $errors)
->bind('message_ok', $message_ok)
->bind('message', $message);
}
}