0){ $sqlNarocilo = sisplet_query("SELECT n.*, u.name, u.surname, u.email FROM user_access_narocilo n, users u WHERE n.usr_id=u.id AND n.id='".$rowPlacilo['narocilo_id']."' "); $rowNarocilo = mysqli_fetch_array($sqlNarocilo); $placila[$rowPlacilo['id']]['narocilo'] = $rowNarocilo; } } return $placila; } // Dobimo podatke placila dolocen id private function getPlacilo($placilo_id){ global $admin_type; $placilo = array(); // Loop po vseh placilih v sistemu $sqlPlacilo = sisplet_query("SELECT * FROM user_access_placilo WHERE id='".$placilo_id."'"); $placilo = mysqli_fetch_array($sqlPlacilo); // Dobimo se podatke narocila, ce imamo id if($placilo['narocilo_id'] > 0){ $sqlNarocilo = sisplet_query("SELECT n.*, u.name, u.surname, u.email FROM user_access_narocilo n, users u WHERE n.usr_id=u.id AND n.id='".$placilo['narocilo_id']."' "); $rowNarocilo = mysqli_fetch_array($sqlNarocilo); $placilo['narocilo'] = $rowNarocilo; } return $placilo; } // Ustvarimo placilo iz narocila public function createPlacilo($narocilo, $eracun=false){ // Preverimo, ce slucajno se obstaja placilo za to narocilo - vrnemo error $sqlPlaciloCheck = sisplet_query("SELECT id FROM user_access_placilo WHERE narocilo_id='".$narocilo['id']."'"); if(mysqli_num_rows($sqlPlaciloCheck) > 0){ echo 'Napaka! Plačilo za to naročilo že obstaja.'; return; } $note = 'Plačilo naročila '.$narocilo['id']; // Dobimo ceno glede na narocilo in paket $sqlPackage = sisplet_query("SELECT name FROM user_access_paket WHERE id='".$narocilo['package_id']."'"); $rowPackage = mysqli_fetch_array($sqlPackage); $UA = new UserNarocila(); $cena = $UA->getPrice($rowPackage['name'], $narocilo['trajanje'], $narocilo['discount'], $narocilo['time']); // Zavezanec iz tujine je placal brez ddv $cena_placano = ($UA->isWithoutDDV($narocilo['id'])) ? $cena['final_without_tax'] : $cena['final']; // Ce je placilo eracuna, bo placano sele cez 30 dni $time = ($eracun) ? 'NOW() + INTERVAL 1 MONTH': 'NOW()'; $sqlPlacilo = sisplet_query("INSERT INTO user_access_placilo (narocilo_id, note, time, price, payment_method) VALUES ('".$narocilo['id']."', '".$note."', ".$time.", '".$cena_placano."', '".$narocilo['payment_method']."') "); if (!$sqlPlacilo) echo mysqli_error($GLOBALS['connect_db']); } // Izpisemo podatke o placilih public function displayPlacila(){ global $lang, $global_user_id; // Tabela vseh placil $this->displayPlacilaTable(); // Gumb za dodajanje placila /*echo '
'; echo '
'.$lang['srv_placila_create'].'
'; echo '
';*/ // Izracun zasluzka in provizij po mesecih - samo Goran if(AppSettings::getInstance()->getSetting('app_settings-app_name') == 'www.1ka.si' && $global_user_id == '112696') $this->displayPlacilaPovzetek(); } // Izpisemo seznam vseh placil public function displayPlacilaTable(){ global $lang, $global_user_id; // Admini vidijo vsa placila $data = $this->getPlacila(); echo ''; // Glava tabele echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; echo ' '; // Vsebina tabele echo ' '; foreach($data as $placilo_id => $data_row){ echo ''; // Narocilo if(isset($data_row['narocilo'])){ echo ''; } else{ echo ''; } // Note echo ''; // Time echo ''; // Price echo ''; // Brez ddv (zavezanec iz tujine) $UA = new UserNarocila(); echo ''; // Payment method echo ''; // Stornirano method echo ''; // Država echo ''; // Paket echo ''; // Trajanje echo ''; // Edit / delete echo ''; echo ''; } echo ' '; echo '
'.$lang['srv_placilo_narocilo'].''.$lang['srv_placilo_note'].''.$lang['srv_placilo_time'].''.$lang['srv_placilo_price'].''.$lang['srv_narocilo_ddv'].''.$lang['srv_placilo_payment_method'].''.$lang['srv_placilo_stornirano'].''.$lang['srv_placilo_drzava'].''.$lang['srv_placilo_paket'].''.$lang['srv_placilo_trajanje'].''.$lang['edit2'].'
'.$data_row['narocilo']['id'].' ('.$data_row['narocilo']['email'].')/'.$data_row['note'].''.date( 'd.m.Y G:i', strtotime($data_row['time'])).''.$data_row['price'].''.($UA->isWithoutDDV($data_row['narocilo']['id']) ? $lang['no'] : $lang['yes']).''.$lang['srv_narocilo_nacin_placila_'.$data_row['payment_method']].''.($data_row['canceled'] == '1' ? $lang['yes'] : $lang['no']).''.$data_row['narocilo']['podjetje_drzava'].''.$data_row['narocilo']['package_id'].'KA'.$data_row['narocilo']['trajanje'].''; // Na www.1ka.si lahko placilo ureja samo Goran if(AppSettings::getInstance()->getSetting('app_settings-app_name') != 'www.1ka.si' || $global_user_id == '112696'){ // Uredi echo ' | '; // Brisi echo ''; // Storniraj if($data_row['canceled'] != '1') echo ' | Storniraj'; } else{ echo '/'; } echo '
'; // Se inicializiramo dataTable jquery echo ''; } // Prikazemo popup za dodajanje novega placila private function displayPlaciloCreate(){ global $lang; echo '

'.$lang['srv_placila_create'].'

'; echo '
'; echo '
'; // Podatki narocnika echo '
'; // Note echo '
'; echo ''.$lang['srv_placilo_note'].': '; //echo ''; echo ''; echo '
'; // Time echo '
'; echo ''.$lang['srv_placilo_time'].': '; echo ''; echo '
'; // Price echo '
'; echo ''.$lang['srv_placilo_price'].': '; echo ''; echo '
'; // Payment method echo '
'; echo ''.$lang['srv_placilo_payment_method'].': '; echo ''; echo '
'; echo '
'; echo '
'; // Gumbi na dnu echo '
'; echo ' '; echo ' '; echo '
'; echo '
'; } // Prikazemo popup za pregled in urejanje placila - TODO private function displayPlaciloEdit($placilo_id){ global $lang; // Dobimo podatke placila $placilo = $this->getPlacilo($placilo_id); echo '

'.$lang['srv_placila_create'].'

'; echo '
'; echo '
'; // Podatki narocnika echo '
'; // Input za id porocila echo ''; // Note echo '
'; echo ''.$lang['srv_placilo_note'].': '; //echo ''; echo ''; echo '
'; // Time echo '
'; echo ''.$lang['srv_placilo_time'].': '; echo ''; echo '
'; // Price echo '
'; echo ''.$lang['srv_placilo_price'].': '; echo ''; echo '
'; // Payment method echo '
'; echo ''.$lang['srv_placilo_payment_method'].': '; echo ''; echo '
'; echo '
'; echo '
'; // Gumbi na dnu echo '
'; echo ' '; echo ' '; echo '
'; echo '
'; } // Prikazemo popup za pregled in urejanje placila private function displayPlacilaPovzetek(){ global $lang; /* TRR: 0,12 € EU kartica 1,4% + 0,25 € Non-EU kartica: 2,9% + 0,25 € PayPal: 3,4% + 0,35 € */ echo '
'; echo '
Izračun po mesecih'; $sqlPlacilo = sisplet_query("SELECT *, MONTH(time) as month, YEAR(time) as year FROM user_access_placilo "); while($rowPlacilo = mysqli_fetch_array($sqlPlacilo)){ // Paypal if($rowPlacilo['payment_method'] == '2'){ $placila[$rowPlacilo['year']][$rowPlacilo['month']]['sum_paypal'] += $rowPlacilo['price']; $placila[$rowPlacilo['year']][$rowPlacilo['month']]['provizija_paypal'] += ($rowPlacilo['price'] * 0.34) + 0.35; } // Kartica elseif($rowPlacilo['payment_method'] == '3'){ $placila[$rowPlacilo['year']][$rowPlacilo['month']]['sum_kartica'] += $rowPlacilo['price']; $placila[$rowPlacilo['year']][$rowPlacilo['month']]['provizija_kartica'] += ($rowPlacilo['price'] * 0.014) + 0.25; } // TRR else{ $placila[$rowPlacilo['year']][$rowPlacilo['month']]['sum_trr'] += $rowPlacilo['price']; $placila[$rowPlacilo['year']][$rowPlacilo['month']]['provizija_trr'] += 0.12; } // Suma placil za mesec $placila[$rowPlacilo['year']][$rowPlacilo['month']]['sum'] += $rowPlacilo['price']; } foreach($placila as $year => $placila_leto){ foreach($placila_leto as $month => $placila_mesec){ echo '
'; $month_name = date("F", mktime(0, 0, 0, $month, 10)); echo ''.$month_name.' '.$year.''; echo '
'; echo 'Vsota plačil na TRR: '.$placila_mesec['sum_trr']; echo '
TRR provizija: '.$placila_mesec['provizija_trr']; echo '

'; echo 'Vsota plačil s kartico: '.$placila_mesec['sum_kartica']; echo '
Kartica provizija: '.$placila_mesec['provizija_kartica']; echo '

'; echo 'Vsota plačil s paypal: '.$placila_mesec['sum_paypal']; echo '
Paypal provizija: '.$placila_mesec['provizija_paypal']; echo '

'; echo 'Vsota plačil: '.$placila_mesec['sum']; echo '

'; } } echo '
'; echo '
'; } // Ajax klici public function ajax(){ $placilo_id = (isset($_POST['placilo_id'])) ? $_POST['placilo_id'] : 0; // Prikazemo popup z urejanjem posameznega narocila if($_GET['a'] == 'displayPlaciloPopup') { if($placilo_id > 0){ $this->displayPlaciloEdit($placilo_id); } else{ $this->displayPlaciloCreate(); } } // Urejamo narocilo if($_GET['a'] == 'editPlacilo') { if($placilo_id > 0){ $update = ''; $update .= (isset($_POST['narocilo_id'])) ? " narocilo_id='".$_POST['narocilo_id']."'," : ""; $update .= (isset($_POST['note'])) ? " note='".$_POST['note']."'," : ""; $update .= (isset($_POST['time'])) ? " time='".$_POST['time']."'," : ""; $update .= (isset($_POST['price'])) ? " price='".$_POST['price']."'," : ""; $update .= (isset($_POST['payment_method'])) ? " payment_method='".$_POST['payment_method']."'," : ""; if($update != ''){ $update = substr($update, 0, -1); $sqlPlacilo = sisplet_query("UPDATE user_access_placilo SET ".$update." WHERE id='".$placilo_id."'"); if (!$sqlPlacilo) echo mysqli_error($GLOBALS['connect_db']); } } // Na novo izrisemo tabelo z narocili $this->displayPlacila(); } // Urejamo narocilo if($_GET['a'] == 'createPlacilo') { $narocilo_id = (isset($_POST['narocilo_id'])) ? $_POST['narocilo_id'] : 0; $note = (isset($_POST['note'])) ? $_POST['note'] : ''; $time = (isset($_POST['time'])) ? $_POST['time'] : ''; $price = (isset($_POST['price'])) ? $_POST['price'] : 0; $payment_method = (isset($_POST['payment_method'])) ? $_POST['payment_method'] : ''; if($price != '' && $price != 0){ // Preverimo, ce slucajno se obstaja placilo za to narocilo - vrnemo error if($narocilo_id != 0){ $sqlPlaciloCheck = sisplet_query("SELECT id FROM user_access_placilo WHERE narocilo_id='".$narocilo_id."'"); if(mysqli_num_rows($sqlPlaciloCheck) > 0){ echo 'Napaka! Plačilo za to naročilo že obstaja.'; // Na novo izrisemo tabelo z narocili $this->displayPlacila(); return; } } $sqlPlacilo = sisplet_query("INSERT INTO user_access_placilo (narocilo_id, note, time, price, payment_method) VALUES ('".$narocilo_id."', '".$note."', '".$time."', '".$price."', '".$payment_method."') "); if (!$sqlPlacilo) echo mysqli_error($GLOBALS['connect_db']); } else{ echo 'Napaka! Cana za plačilo ne sme biti 0.'; } // Na novo izrisemo tabelo z narocili $this->displayPlacila(); } // Brisemo narocilo if($_GET['a'] == 'deletePlacilo') { if($placilo_id > 0){ $sqlPlacilo = sisplet_query("DELETE FROM user_access_placilo WHERE id='".$placilo_id."'"); } // Na novo izrisemo tabelo z narocili $this->displayPlacila(); } // Storniramo narocilo if($_GET['a'] == 'stornirajPlacilo') { if($placilo_id > 0){ // Nastavimo se status narocila na storniran $sqlPlacilo = sisplet_query("SELECT p.*, n.usr_id FROM user_access_placilo p, user_access_narocilo n WHERE p.id='".$placilo_id."' AND p.narocilo_id=n.id "); if(mysqli_num_rows($sqlPlacilo) > 0){ $rowPlacilo = mysqli_fetch_array($sqlPlacilo); // Nastavimo status originalnega placila na stornirano $sqlPlaciloStatus = sisplet_query("UPDATE user_access_placilo SET canceled='1' WHERE id='".$placilo_id."'"); // Nastavimo status narocila na stornirano $sqlNarociloStatus = sisplet_query("UPDATE user_access_narocilo SET status='2' WHERE id='".$rowPlacilo['narocilo_id']."'"); // Negativni znesek $znesek = number_format((-1) * $rowPlacilo['price'], 2, '.', ''); // Ustvarimo kopijo placila z negativnim zneskom $sqlStorniranoPlacilo = sisplet_query("INSERT INTO user_access_placilo (narocilo_id, note, time, price, payment_method, canceled) VALUES ('".$rowPlacilo['narocilo_id']."', '".$rowPlacilo['note']."', NOW(), '".$znesek."', '".$rowPlacilo['payment_method']."', '1') "); // Stranki deaktiviramo paket $sqlNarociloStatus = sisplet_query("UPDATE user_access SET package_id='1' WHERE usr_id='".$rowPlacilo['usr_id']."'"); } } // Na novo izrisemo tabelo s placili $this->displayPlacila(); } } }