'12', 'ID_LIST_SES_B_TYPES' => '19', 'TABLE' => 'SES_TV_C'); public function handleAuth() { if (!User::logged()) { throw new HttpException('Unauthorized', 401); } } public function addTVObciazenieVODAction($ID_SERVICES, $DESC_TYPE, $DESC, $BRUTTO) { if ($DESC_TYPE == 'month') { if (!preg_match("/^[[:digit:]]{4}-[[:digit:]]{2}$/",$DESC)) throw new Exception("Błędna data"); if (strtotime($DESC) > strtotime(date("Y-m"))) throw new Exception("Błędna data"); $DESC = "w miesiącu " . $DESC; } elseif ($DESC_TYPE == 'desc') { if ($DESC == '') throw new Exception("Błędny opis"); $DESC = "- " . $DESC; } else throw new Exception("Błąd formularza"); $DESC = "Opłata za VOD " . $DESC; if (!preg_match("/^[[:digit:]]+(\.[[:digit:]]{1,2})?$/",$BRUTTO)) throw new Exception("Błędna kwota"); if ($BRUTTO == 0) throw new Exception("Błędna kwota"); if (!($ID_BILLING_USERS = DB::getPDO()->fetchValue("select ID_BILLING_USERS from SES_TV_A where ID_SERVICES='{$ID_SERVICES}'"))) throw new Exception("Błąd danych"); if (!($VAT = DB::getPDO()->fetchValue("select VAT from LIST_SERVICES where ID='{$this->conf['ID_LIST_SERVICES']}'"))) throw new Exception("Błąd danych"); $sqlObj = new stdClass(); $sqlObj->ID_SERVICES = $ID_SERVICES; $sqlObj->ID_BILLING_USERS = $ID_BILLING_USERS; $sqlObj->TYPE = $this->conf['ID_LIST_SES_B_TYPES']; $sqlObj->VALUE1 = $DESC; $sqlObj->VALUE2 = V::nettoOdBrutto($BRUTTO,$VAT); $id = DB::getDB()->ADD_NEW_OBJ($this->conf['TABLE'], $sqlObj); return $id>0; } public function delTVObciazenieVODAction($ID_SERVICES, $ID_SES_TV_C) { $result = DB::getPDO()->fetchValue("select if (ID_BILLING_NUMBERS is null, '0', '1') from {$this->conf['TABLE']} where ID='{$ID_SES_TV_C}' and ID_SERVICES='{$ID_SERVICES}'"); if ($result == '') throw new Exception("błąd danych"); if ($result == 1) throw new Exception("obciążenie zostało już rozliczone"); DB::getPDO()->query("delete from {$this->conf['TABLE']} where ID='{$ID_SES_TV_C}'"); return true; } public function defaultAction() { SE_Layout::gora(); SE_Layout::menu(); try { if (!($ID_SERVICES = V::get('ID_SERVICES',0,$_GET,'int'))) throw new Exception("Błąd parametru"); $query = "select c.ID as ID_BILLING_USERS, c.P_NAME, c.P_NAME_SECOND, c.P_ADDRESS_STREET, c.P_ADDRESS_HOUSE, c.P_ADDRESS_HOME, c.P_ADDRESS_POST_CODE, c.P_ADDRESS_CITY, stva.S_ADDRESS_STREET from SES_TV_A stva join COMPANIES c on c.ID=stva.ID_BILLING_USERS where stva.ID_SERVICES='{$ID_SERVICES}'"; $result = DB::getPDO()->fetchall($query); if (!$result) throw new Exception("Błąd danych"); if (V::get('action','',$_POST) == 'add') { try { if (($DESC_TYPE = V::get('DESC_TYPE','',$_POST)) == '') throw new Exception("Błąd formularza"); if ($DESC_TYPE == 'month') $DESC = V::get('MIESIAC','',$_POST); elseif ($DESC_TYPE == 'desc') $DESC = htmlspecialchars(V::get('DESC','',$_POST)); else throw new Exception("Błąd formularza"); if ($this->addTVObciazenieVODAction($ID_SERVICES, $DESC_TYPE, $DESC, V::get('BRUTTO','',$_POST))) SE_Layout::alert('success','Pomyślnie dodano obiążenie za VOD'); else SE_Layout::alert('danger','Nie udało się dodać obciążenia za VOD - nie dodano rekordu do SES_TV_C'); } catch (Exception $e) { SE_Layout::alert('danger',"Nie udało się dodać obciążenia za VOD - ".$e->getMessage()); } } if ($ID_SES_TV_C_to_delete = V::get('delete',0,$_POST,'int')) { try { if ($this->delTVObciazenieVODAction($ID_SERVICES, $ID_SES_TV_C_to_delete)) SE_Layout::alert('success','Pomyślnie usunięto obiążenie za VOD'); } catch (Exception $e) { SE_Layout::alert('danger',"Nie udało się usunąć obciążenia za VOD - ".$e->getMessage()); } } $query = "select t1.ID as ID, t1.VALUE1 as MIESIAC, round(t1.VALUE2*(1+t2.VAT/100),2) as BRUTTO, if (t1.ID_BILLING_NUMBERS is null, '0', '1') as ROZLICZONE from {$this->conf['TABLE']} as t1 join LIST_SERVICES t2 on t2.ID='{$this->conf['ID_LIST_SERVICES']}' where t1.ID_SERVICES='{$ID_SERVICES}' and t1.TYPE='{$this->conf['ID_LIST_SES_B_TYPES']}' order by t1.ID"; $obciazenia = DB::getPDO()->fetchall($query); ?>