1379.umowa.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. define('DS', DIRECTORY_SEPARATOR);
  4. define('APP_PATH_ROOT', realpath(dirname(__FILE__) . DS . '..'));
  5. define('APP_PATH_WWW', realpath(dirname(__FILE__) . DS . '..'));
  6. define('APP_PATH_CONFIG', APP_PATH_ROOT . DS . 'config');
  7. //session_save_path("../session") ;
  8. session_start();
  9. date_default_timezone_set('Europe/Warsaw');// PHP 5 >= 5.1.0 required by date functions
  10. header('Content-Type: text/html; charset=utf-8');
  11. // SEF - SE file loader
  12. function SEF($ARG1) {
  13. if (!function_exists($ARG1)) {
  14. if (file_exists(APP_PATH_ROOT . DS . "superedit-".$ARG1.".php")) include(APP_PATH_ROOT . DS . "superedit-".$ARG1.".php");
  15. else if (file_exists(APP_PATH_ROOT . DS . "billing-".$ARG1.".php")) include(APP_PATH_ROOT . DS . "billing-".$ARG1.".php");
  16. else if (file_exists(APP_PATH_ROOT . DS . $ARG1.".php")) include(APP_PATH_ROOT . DS . $ARG1.".php");
  17. else echo ("\n<br>Function SEF : can't find function ".$ARG1);
  18. }
  19. }
  20. SEF("DEBUG_S");
  21. if (file_exists(APP_PATH_ROOT . DS . ".config.php")) include(APP_PATH_ROOT . DS . ".config.php");
  22. require_once APP_PATH_ROOT . '/' . 'se-lib' . '/' . 'Lib.php';
  23. Lib::loadClass('V');
  24. Lib::loadClass('User');
  25. Lib::loadClass('Config');
  26. Lib::loadClass('App');
  27. Lib::loadClass('DB');
  28. Lib::loadClass('S');
  29. if (!User::logged()) {
  30. die("Require login!");
  31. }
  32. //if (User::get('ADM_ADMIN_LEVEL') != 0) {
  33. // die("Access denied!");
  34. //}
  35. Lib::loadClass('ZasobFileOdt');
  36. // TODO: path from config, like $FOLDERS['CRM_LISTA_ZASOBOW_COLUMN']="/home/samba/DRUKI/";
  37. $druki_path = '/home/samba/DRUKI';
  38. if ($_SERVER['SERVER_NAME'] == 'se.dev.webone.pl.devpl') {
  39. $druki_path = realpath(APP_PATH_ROOT . '/../../samba/DRUKI/');
  40. } else if ($_SERVER['SERVER_NAME'] == 'biuro.biall-net.pl') {
  41. $druki_path = '/Library/Server/Web/Data/Sites/Default/PLIKI/DRUKI/';
  42. }
  43. $allowed_options = array('NET', 'TEL', 'TV', 'TVC');
  44. $args = array();
  45. $args['id_group'] = V::get('id_group', 0, $_GET, 'int');
  46. $args['id_user'] = V::get('id_user', 0, $_GET, 'int');
  47. $args['id_options'] = array();
  48. foreach ($allowed_options as $v_option) {
  49. $args['id_options'][$v_option] = V::get('id_options_' . $v_option . '', 0, $_GET, 'array');
  50. }
  51. $user = null;
  52. $group_data = null;
  53. $db = DB::getDB();
  54. if ($args['id_user'] > 0) {
  55. /*
  56. * <span id="cell-KLIENT_ID"></span>
  57. * <span id="cell-KLIENT_P_NAME"></span>
  58. * <span id="cell-KLIENT_P_NAME_SECOND"></span>
  59. * <span id="cell-KLIENT_P_PHONE"></span>
  60. * <span id="cell-KLIENT_user_mail_contact"></span>
  61. */
  62. $sql = "select bua.`id_users`
  63. , bua.`id_users` as ID_BILLING_USERS
  64. , bua.`is_firma`
  65. , bua.`P_NAME`
  66. , bua.`P_NAME_SECOND`
  67. , bua.`P_NIP`
  68. , bua.`P_PESEL`
  69. , bua.`P_PHONE`
  70. , bua.`P_ADDRESS_REGION`
  71. , bua.`P_ADDRESS_CITY`
  72. , bua.`P_ADDRESS_POST_CODE`
  73. , bua.`P_ADDRESS_STREET`
  74. , bua.`P_ADDRESS_HOME`
  75. , bua.`P_ADDRESS_HOUSE`
  76. , bua.`user_mail_contact`
  77. , bu.`BILLING_OWNER`
  78. from `BILLING_USERS_ADD` as bua
  79. left join `BILLING_USERS` as bu on(bu.`ID`=bua.`id_users`)
  80. where bua.`id_users`='{$args['id_user']}'
  81. ";
  82. $res = $db->query($sql);
  83. if ($r = $db->fetch($res)) {
  84. $user = $r;
  85. }
  86. }
  87. if ($args['id_group'] > 0) {
  88. $sql = "
  89. SELECT
  90. date_format(now(),'%Y-%m-%d') as `779` ,
  91. t0.`ID` as `0_1380` ,
  92. t0.`S_ALIAS` as `0_1534` ,
  93. t0.`P_SERVICE_COMPANY` as `0_COMPANY`,
  94. t0.`P_PROMOTION_NAME` as `0_451` ,
  95. t0.`P_DEALTERM_MONTHS` as `0_456` ,
  96. t0.`P_OFFER_TERM_BEGIN` as `0_1579`, t0.P_OFFER_TERM as `0_464` ,
  97. t0.`M_REWIR` as `0_447` ,
  98. (select group_concat(S_ADDRESS_STREET, ' ') from BUILDINGS where M_REWIR like t0.M_REWIR limit 1) as `x_410`,
  99. t0.`ID_NET` as `0_1743_ID_NET` ,
  100. t0.`ID_TV` as `0_1744_ID_TV` ,
  101. t0.`ID_TVC` as `0_1745_ID_TVC` ,
  102. -- t0.`ID_TVCP` as `0_1746_ID_TVCP` ,
  103. CAST(concat_ws(',', IF(t0.`ID_TVCP_1`>0,t0.`ID_TVCP_1`,NULL), IF(t0.`ID_TVCP_2`>0,t0.`ID_TVCP_2`,NULL), IF(t0.`ID_TVCP_3`>0,t0.`ID_TVCP_3`,NULL)) as char) as `0_1746_ID_TVCP` ,
  104. t0.`ID_TVCP_1` as `0_2621_ID_TVCP_1` ,
  105. t0.`ID_TVCP_2` as `0_2622_ID_TVCP_2` ,
  106. t0.`ID_TVCP_3` as `0_2623_ID_TVCP_3` ,
  107. t0.`ID_TVCP_4` as `0_2624_ID_TVCP_4` ,
  108. t0.`ID_TEL` as `0_1747_ID_TEL` ,
  109. t0.`M_REWIR` as `0_1627` ,
  110. -- internet:
  111. t1.ID as `1_1385` ,
  112. t1.P_SERVICE as `1_449` ,
  113. t1.P_SERVICE_NAME as `1_450` ,
  114. t1.P_INSTALL_QUOTE as `1_458` , t1.P_INSTALL_QUOTE_NORMAL as `t1_1578`,
  115. t1.P_CONTRACT_PRICE as `1_459` ,
  116. t1.P_PROMO_MONTH_PRICE as `1_460` ,
  117. t1.P_NORMAL_PRICE as `1_461` ,
  118. t1.P_DEAL_PROMO_MONTHS as `1_457` ,
  119. -- (t1.P_NORMAL_PRICE-t1.P_PROMO_MONTH_PRICE)*t0.P_DEALTERM_MONTHS+(t1.P_INSTALL_QUOTE_NORMAL-t1.P_INSTALL_QUOTE) as `t1_1580`,
  120. -- (t1.P_NORMAL_PRICE-t1.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t1.P_INSTALL_QUOTE_NORMAL-t1.P_INSTALL_QUOTE) as `t1_1580`,
  121. t1.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t1.P_DEAL_PROMO_MONTHS*t1.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t1.P_DEAL_PROMO_MONTHS)*t1.P_CONTRACT_PRICE + (t1.P_INSTALL_QUOTE_NORMAL-t1.P_INSTALL_QUOTE) as `t1_1580`,
  122. t1.P_S_PARAM1 as `[1_452]` , t1.P_S_PARAM2 as `[1_453]` , t1.P_S_LIMIT as `[1_454]`, t1.P_S_MAILBOX_SIZE as `[1_462]`, t1.P_S_WWW_SIZE as `[1_463]` ,
  123. if(t1.ID,t0.P_PROMOTION_NAME,'') as `1_451` ,
  124. if(t1.ID>0,'X','') as `1_499_JEST` ,
  125. -- telewizja analogowa
  126. t2.ID as `2_1385` ,
  127. t2.P_SERVICE as `2_449` ,
  128. t2.P_SERVICE_NAME as `2_450` ,
  129. t2.P_INSTALL_QUOTE as `2_458` , t2.P_INSTALL_QUOTE_NORMAL as `t2_1578`,
  130. t2.P_CONTRACT_PRICE as `2_459` ,
  131. t2.P_PROMO_MONTH_PRICE as `2_460` ,
  132. t2.P_NORMAL_PRICE as `2_461` ,
  133. t2.P_DEAL_PROMO_MONTHS as `2_457` ,
  134. -- (t2.P_NORMAL_PRICE-t2.P_PROMO_MONTH_PRICE)*t0.P_DEALTERM_MONTHS+(t2.P_INSTALL_QUOTE_NORMAL-t2.P_INSTALL_QUOTE) as `t2_1580`,
  135. -- (t2.P_NORMAL_PRICE-t2.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t2.P_INSTALL_QUOTE_NORMAL-t2.P_INSTALL_QUOTE) as `t2_1580`,
  136. t2.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t2.P_DEAL_PROMO_MONTHS*t2.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t2.P_DEAL_PROMO_MONTHS)*t2.P_CONTRACT_PRICE + (t2.P_INSTALL_QUOTE_NORMAL-t2.P_INSTALL_QUOTE) as `t2_1580`,
  137. if(t0.ID='1','',if(t2.ID,'TAK','NIE')) as `2_IF` ,
  138. if(t2.ID,t0.P_PROMOTION_NAME,'') as `2_451` ,
  139. if(t2.ID>0,'X','') as `2_499_JEST` ,
  140. -- telewizja cyfrowa
  141. t3.ID as `3_1385` ,
  142. t3.P_SERVICE as `3_449` ,
  143. t3.P_SERVICE_NAME as `3_450` ,
  144. t3.P_INSTALL_QUOTE as `3_458` , t3.P_INSTALL_QUOTE_NORMAL as `3_1578`,
  145. t3.P_CONTRACT_PRICE as `3_459` ,
  146. t3.P_PROMO_MONTH_PRICE as `3_460` ,
  147. t3.P_NORMAL_PRICE as `3_461` ,
  148. t3.P_DEAL_PROMO_MONTHS as `3_457` ,
  149. -- (t3.P_NORMAL_PRICE-t3.P_PROMO_MONTH_PRICE)*t0.P_DEALTERM_MONTHS+(t3.P_INSTALL_QUOTE_NORMAL-t3.P_INSTALL_QUOTE) as `t3_1580`,
  150. -- (t3.P_NORMAL_PRICE-t3.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t3.P_INSTALL_QUOTE_NORMAL-t3.P_INSTALL_QUOTE) as `t3_1580`,
  151. t3.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t3.P_DEAL_PROMO_MONTHS*t3.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t3.P_DEAL_PROMO_MONTHS)*t3.P_CONTRACT_PRICE + (t3.P_INSTALL_QUOTE_NORMAL-t3.P_INSTALL_QUOTE) as `t3_1580`,
  152. if(t0.ID='1','',if(t3.ID,'TAK','NIE')) as `3_IF` ,
  153. if(t3.ID,t0.P_PROMOTION_NAME,'') as `3_451` ,
  154. -- 2169 S_DEKODER_SD_OPTION
  155. -- 2170 S_MODUL_PCMCIA_OPTION
  156. -- 2171 S_DEKODER_HD_OPTION
  157. if(t2.S_DEKODER_SD_OPTION='TAK','X','') as `1_2169_TAK` ,
  158. if(t2.S_DEKODER_SD_OPTION='NIE','X','') as `1_2169_NIE` ,
  159. if(t2.S_MODUL_PCMCIA_OPTION='TAK','X','') as `1_2170_TAK` ,
  160. if(t2.S_MODUL_PCMCIA_OPTION='NIE','X','') as `1_2170_NIE` ,
  161. if(t2.S_DEKODER_HD_OPTION='TAK','X','') as `1_2171_TAK` ,
  162. if(t2.S_DEKODER_HD_OPTION='NIE','X','') as `1_2171_NIE` ,
  163. -- telewizja cyfrowa pakiety
  164. t4.ID as `4_1385` ,
  165. t4.P_SERVICE as `4_449` ,
  166. t4.P_SERVICE_NAME as `4_450` ,
  167. t4.P_INSTALL_QUOTE as `4_458` , t4.P_INSTALL_QUOTE_NORMAL as `t4_1578`,
  168. t4.P_CONTRACT_PRICE as `4_459` ,
  169. t4.P_PROMO_MONTH_PRICE as `4_460` ,
  170. t4.P_NORMAL_PRICE as `4_461` ,
  171. t4.P_DEAL_PROMO_MONTHS as `4_457` ,
  172. -- (t4.P_NORMAL_PRICE-t4.P_PROMO_MONTH_PRICE)*t0.P_DEALTERM_MONTHS+(t4.P_INSTALL_QUOTE_NORMAL-t4.P_INSTALL_QUOTE) as `t4_1580`,
  173. -- (t4.P_NORMAL_PRICE-t4.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t4.P_INSTALL_QUOTE_NORMAL-t4.P_INSTALL_QUOTE) as `t4_1580`,
  174. t4.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t4.P_DEAL_PROMO_MONTHS*t4.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t4.P_DEAL_PROMO_MONTHS)*t4.P_CONTRACT_PRICE + (t4.P_INSTALL_QUOTE_NORMAL-t4.P_INSTALL_QUOTE) as `t4_1580`,
  175. if(t0.ID='1','',if(t4.ID,'TAK','NIE')) as `4_IF` ,
  176. if(t4.ID,t0.P_PROMOTION_NAME,'') as `4_451` ,
  177. -- telefon
  178. t5.ID as `5_1385` ,
  179. t5.P_SERVICE as `5_449` ,
  180. t5.P_SERVICE_NAME as `5_450` ,
  181. t5.P_INSTALL_QUOTE as `5_458` , t5.P_INSTALL_QUOTE_NORMAL as `t5_1578`,
  182. t5.P_CONTRACT_PRICE as `5_459` ,
  183. t5.P_PROMO_MONTH_PRICE as `5_460` ,
  184. t5.P_NORMAL_PRICE as `5_461` ,
  185. t5.P_DEAL_PROMO_MONTHS as `5_457` ,
  186. -- (t5.P_NORMAL_PRICE-t5.P_PROMO_MONTH_PRICE)*t0.P_DEALTERM_MONTHS+(t5.P_INSTALL_QUOTE_NORMAL-t5.P_INSTALL_QUOTE) as `t5_1580`,
  187. -- (t5.P_NORMAL_PRICE-t5.P_CONTRACT_PRICE)*t0.P_DEALTERM_MONTHS+(t5.P_INSTALL_QUOTE_NORMAL-t5.P_INSTALL_QUOTE) as `t5_1580`,
  188. t5.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t5.P_DEAL_PROMO_MONTHS*t5.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t5.P_DEAL_PROMO_MONTHS)*t5.P_CONTRACT_PRICE + (t5.P_INSTALL_QUOTE_NORMAL-t5.P_INSTALL_QUOTE) as `t5_1580`,
  189. if(t0.ID='1','',if(t5.ID,'TAK','NIE')) as `5_IF` ,
  190. if(t5.ID,t0.P_PROMOTION_NAME,'') as `5_451`,
  191. if(t5.ID>0,'X','') as `5_499_JEST` ,
  192. -- telewizja cyfrowa pakiety 2
  193. t6.ID as `6_1385` ,
  194. t6.P_SERVICE as `6_449` ,
  195. t6.P_SERVICE_NAME as `6_450` ,
  196. t6.P_INSTALL_QUOTE as `6_458` , t6.P_INSTALL_QUOTE_NORMAL as `t6_1578`,
  197. t6.P_CONTRACT_PRICE as `6_459` ,
  198. t6.P_PROMO_MONTH_PRICE as `6_460` ,
  199. t6.P_NORMAL_PRICE as `6_461` ,
  200. t6.P_DEAL_PROMO_MONTHS as `6_457` ,
  201. t6.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t6.P_DEAL_PROMO_MONTHS*t6.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t6.P_DEAL_PROMO_MONTHS)*t6.P_CONTRACT_PRICE + (t6.P_INSTALL_QUOTE_NORMAL-t6.P_INSTALL_QUOTE) as `t6_1580`,
  202. if(t0.ID='1','',if(t6.ID,'TAK','NIE')) as `6_IF` ,
  203. if(t6.ID,t0.P_PROMOTION_NAME,'') as `6_451` ,
  204. -- telewizja cyfrowa pakiety 3
  205. t7.ID as `7_1385` ,
  206. t7.P_SERVICE as `7_449` ,
  207. t7.P_SERVICE_NAME as `7_450` ,
  208. t7.P_INSTALL_QUOTE as `7_458` , t7.P_INSTALL_QUOTE_NORMAL as `t7_1578`,
  209. t7.P_CONTRACT_PRICE as `7_459` ,
  210. t7.P_PROMO_MONTH_PRICE as `7_460` ,
  211. t7.P_NORMAL_PRICE as `7_461` ,
  212. t7.P_DEAL_PROMO_MONTHS as `7_457` ,
  213. t7.P_NORMAL_PRICE*t0.P_DEALTERM_MONTHS - t7.P_DEAL_PROMO_MONTHS*t7.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS-t7.P_DEAL_PROMO_MONTHS)*t7.P_CONTRACT_PRICE + (t7.P_INSTALL_QUOTE_NORMAL-t7.P_INSTALL_QUOTE) as `t7_1580`,
  214. if(t0.ID='1','',if(t7.ID,'TAK','NIE')) as `7_IF` ,
  215. if(t7.ID,t0.P_PROMOTION_NAME,'') as `7_451`
  216. -- TV - dane z ID_TV lub ID_TVC jesli nie ma ID_TV
  217. , if (t0.`ID_TV`>0, t0.`ID_TV`, IF(t0.`ID_TVC`>0, t0.`ID_TVC`, null)) as TV_ID
  218. , if (t0.`ID_TV`>0, 'X', IF(t0.`ID_TVC`>0, 'X', '')) as TV_JEST
  219. , if (t2.`ID`>0, t2.`P_SERVICE_NAME`, IF(t3.`ID`>0, t3.`P_SERVICE_NAME`, null)) as TV_P_SERVICE_NAME
  220. , if(t0.`P_SERVICE_COMPANY`='BN','BIALL-NET Sp. z o.o., Otomin, ul. Sloneczna 43, 80-174 Gdansk, zrejestrowana w rejestrze przedsiebiorcow prowadzonym przez Sad Rejonowy Gdansk-Polnoc w Gdansku, VII Wydzial Gospodarczy KRS pod nr 0000210311 NIP 593-22-68-67, Regon: 192120212','NETDAY s.c. ul. Kopeckiego 9/24 80-809 Gdansk') as PSCN
  221. FROM `USERS2_OFFERS_GROUPS` as t0
  222. left join `USERS2_OFFERS` as t1 on (t0.ID_NET!=0 and t1.ID=t0.ID_NET and t1.A_STATUS!='DELETED' and t1.P_SERVICE='NET' )
  223. left join `USERS2_OFFERS` as t2 on (t0.ID_TV!=0 and t2.ID=t0.ID_TV and t2.A_STATUS!='DELETED' and t2.P_SERVICE='TV' )
  224. left join `USERS2_OFFERS` as t5 on (t0.ID_TEL!=0 and t5.ID=t0.ID_TEL and t5.A_STATUS!='DELETED' and t5.P_SERVICE in('TEL','OPCJA_TEL') )
  225. left join `USERS2_OFFERS` as t3 on (t0.ID_TVC!=0 and t3.ID=t0.ID_TVC and t3.A_STATUS!='DELETED' and t3.P_SERVICE in('TVC','OPCJA_TVC') )
  226. left join `USERS2_OFFERS` as t4 on (t0.ID_TVCP_1!=0 and t4.ID=t0.ID_TVCP_1 and t4.A_STATUS!='DELETED' and t4.P_SERVICE='TVCP' )
  227. left join `USERS2_OFFERS` as t6 on (t0.ID_TVCP_2!=0 and t6.ID=t0.ID_TVCP_2 and t6.A_STATUS!='DELETED' and t6.P_SERVICE='TVCP' )
  228. left join `USERS2_OFFERS` as t7 on (t0.ID_TVCP_3!=0 and t7.ID=t0.ID_TVCP_3 and t7.A_STATUS!='DELETED' and t7.P_SERVICE='TVCP' )
  229. WHERE
  230. -- t0.`P_SERVICE_COMPANY`='BN'
  231. -- AND ( t0.`A_STATUS` = 'NORMAL' OR t0.`A_STATUS`='WAITING' )
  232. t0.`ID`='" . DB::_($args['id_group']) . "'
  233. GROUP BY t0.ID
  234. ORDER BY t0.ID DESC
  235. ;
  236. ";
  237. $res = $db->query($sql);
  238. if (!$res) {
  239. die("Query error!");
  240. }
  241. $group_data = $db->fetch_assoc($res);
  242. if (!$group_data || $group_data['0_1380'] != $args['id_group']) {
  243. die("DB error!");
  244. }
  245. if ($group_data['5_449'] == 'OPCJA_TEL') $group_data['5_449'] = 'TEL';
  246. if ($group_data['3_449'] == 'OPCJA_TVC') $group_data['5_449'] = 'TVC';
  247. $to_convert_encoding = array();
  248. $to_convert_encoding []= '0_S_ALIAS';
  249. $to_convert_encoding []= '0_451';
  250. $to_convert_encoding []= '1_450';
  251. $to_convert_encoding []= '1_451';
  252. $to_convert_encoding []= '2_450';
  253. $to_convert_encoding []= '2_451';
  254. $to_convert_encoding []= '3_450';
  255. $to_convert_encoding []= '3_451';
  256. $to_convert_encoding []= '4_450';
  257. $to_convert_encoding []= '4_451';
  258. $to_convert_encoding []= '5_450';
  259. $to_convert_encoding []= '5_451';
  260. $to_convert_encoding []= '6_450';
  261. $to_convert_encoding []= '6_451';
  262. $to_convert_encoding []= '7_450';
  263. $to_convert_encoding []= '7_451';
  264. $to_convert_encoding []= 'TV_P_SERVICE_NAME';
  265. foreach ($to_convert_encoding as $v_field) {
  266. if (array_key_exists($v_field, $group_data)) {
  267. $group_data[$v_field] = $group_data[$v_field];//iconv('latin2', 'utf-8', $group_data[$v_field]);
  268. }
  269. }
  270. if (V::get('DBG', 0, $_GET, 'int')) {echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">group_data: ';print_r($group_data);echo'</pre>';}
  271. }
  272. $_print = ('1' == V::get('_print', '', $_GET));
  273. if ($user && $group_data) {
  274. $link_print_arr = array();
  275. foreach ($_GET as $key => $val) {
  276. if (is_array($val)) {
  277. foreach ($val as $option_val) {
  278. $link_print_arr []= "{$key}[]={$option_val}";
  279. }
  280. } else {
  281. $link_print_arr []= "{$key}={$val}";
  282. }
  283. }
  284. $link_print_arr []= "_print=1";
  285. $link_print = ' <a href="' . "?" . implode('&', $link_print_arr) . '"> pomiń i drukuj bez danych klienta <b style="color:red">(X)</b></a>';
  286. if ($user->BILLING_OWNER == 1 && $group_data['0_COMPANY'] != 'BN') {
  287. if (!$_print) {
  288. echo '<h3 style="padding:10px;background:#FFCBCB;border:2px solid #f00;">Error: Klient BIALL-NET, pakiet dla '.$group_data['0_COMPANY'].$link_print.'</h3>';
  289. } else {
  290. $user = null;
  291. }
  292. }
  293. else if ($user->BILLING_OWNER == 2 && $group_data['0_COMPANY'] != 'NETDAY') {
  294. if (!$_print) {
  295. echo '<h3 style="padding:10px;background:#FFCBCB;border:2px solid #f00;">Error: Klient NETDAY, pakiet dla '.$group_data['0_COMPANY'].$link_print.'</h3>';
  296. } else {
  297. $user = null;
  298. }
  299. }
  300. }
  301. $umowaOdt = null;
  302. if ($group_data) {
  303. if ($group_data['0_COMPANY'] == 'BN') {// BN
  304. $umowaOdt = new ZasobFileOdt(1379, $druki_path, dirname(__FILE__), 1379);
  305. } else if ($group_data['0_COMPANY'] == 'NETDAY') {// ND
  306. $umowaOdt = new ZasobFileOdt(1379, $druki_path, dirname(__FILE__), 3398);
  307. }
  308. }
  309. else if ($user) {
  310. if ($user->BILLING_OWNER == 1) {// BN
  311. $umowaOdt = new ZasobFileOdt(1379, $druki_path, dirname(__FILE__), 1379);
  312. } else if ($user->BILLING_OWNER == 2) {// ND
  313. $umowaOdt = new ZasobFileOdt(1379, $druki_path, dirname(__FILE__), 3398);
  314. }
  315. }
  316. if (!$umowaOdt) {
  317. $umowaOdt = new ZasobFileOdt(1379, $druki_path, dirname(__FILE__));
  318. }
  319. if (false == $umowaOdt->find_odt_file()) {
  320. die("Error: cant find file! [" . $umowaOdt->zasob_id . "]");
  321. }
  322. if (false == $umowaOdt->find_xsl_file()) {
  323. die("Template file not exists! - [" . $umowaOdt->zasob_id . "]");
  324. }
  325. if (V::get('test', 0, $_GET, 'int') == 1) {
  326. $odt_file_arr = explode('/', $umowaOdt->odt_file);
  327. array_pop($odt_file_arr);
  328. $umowaOdt->odt_file = implode('/', $odt_file_arr) . '/STARE/test.odt';
  329. }
  330. Lib::loadClass('Odt2xhtml');
  331. if (!class_exists('DOMDocument')) {
  332. die('require class DOMDocument');
  333. }
  334. if (!class_exists('XSLTProcessor')) {
  335. die('require class XSLTProcessor');
  336. }
  337. if (!function_exists('zip_open')) {
  338. die('NO ZIP FUNCTIONS DETECTED. Do you have the PECL ZIP extensions loaded?');
  339. }
  340. $conv = new Odt2xhtml;
  341. if ($umowaOdt->fetch_content_from_odt_by_converter($conv)) {
  342. die("Conversion odt to html error! - [" . $umowaOdt->zasob_id . "]");
  343. }
  344. if ($args['id_group'] > 0) {
  345. if ($group_data) {
  346. $umowaOdt->add_data($group_data);
  347. }
  348. }
  349. if (!empty($args['id_options'])) {
  350. /*
  351. * <span id="cell-OPCJA_NET_1_450"></span>
  352. * <span id="cell-OPCJA_NET_1_1385"></span>
  353. * <span id="cell-OPCJA_NET_1_459"></span>
  354. * <span id="cell-OPCJA_NET_1_1580"></span>
  355. * <span id="cell-OPCJA_NET_1_457"></span>
  356. * <span id="cell-OPCJA_NET_1_460"></span>
  357. * <span id="cell-OPCJA_NET_1_458"></span>
  358. *
  359. * <span id="cell-OPCJA_TEL_1_450"></span>
  360. *
  361. * <span id="cell-OPCJA_TV_1_450"></span>
  362. *
  363. * , '' as OPCJA_NET_1_450 -- P_SERVICE_NAME - nazwa
  364. * , '' as OPCJA_NET_1_1385 -- ID
  365. * , '' as OPCJA_NET_1_459 -- P_CONTRACT_PRICE - abonament
  366. * -- , t4.P_NORMAL_PRICE * t0.P_DEALTERM_MONTHS - t4.P_DEAL_PROMO_MONTHS * t4.P_PROMO_MONTH_PRICE - (t0.P_DEALTERM_MONTHS - t4.P_DEAL_PROMO_MONTHS) * t4.P_CONTRACT_PRICE + (t4.P_INSTALL_QUOTE_NORMAL - t4.P_INSTALL_QUOTE) as `t4_1580`
  367. * , '' as OPCJA_NET_1_1580 -- upust od ceny nominalnej
  368. * , '' as OPCJA_NET_1_457 -- P_DEAL_PROMO_MONTHS - liczba miesiecy promocyjnych
  369. * , '' as OPCJA_NET_1_460 -- P_PROMO_MONTH_PRICE - cena abonamentu w promocyjnych miesiacach
  370. * , '' as OPCJA_NET_1_458 -- P_INSTALL_QUOTE - cena promocyjna
  371. */
  372. $options_to_load = array();
  373. foreach ($args['id_options'] as $k_service => $v_options) {
  374. if (empty($v_options)) continue;
  375. foreach ($v_options as $v_option_id) {
  376. if ($v_option_id > 0) {
  377. $options_to_load[$k_service] []= $v_option_id;
  378. }
  379. }
  380. }
  381. if (V::get('DBG', 0, $_GET, 'int')) {
  382. echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">args: ';print_r($args);echo'</pre>';
  383. if (!empty($options_to_load)) {
  384. echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">options_to_load: ';print_r($options_to_load);echo'</pre>';
  385. }
  386. }
  387. $sql_ids = array();
  388. foreach ($options_to_load as $k_service => $v_options_arr) {
  389. foreach ($v_options_arr as $v_offerr_id) {
  390. $sql_ids []= "'" . $v_offerr_id . "'";
  391. }
  392. }
  393. if (!empty($sql_ids)) {
  394. $options_to_load_counter = array();
  395. foreach ($options_to_load as $k_service => $v_arr) {
  396. $options_to_load_counter[$k_service] = 0;
  397. }
  398. $to_convert_encoding = array();
  399. $to_convert_encoding []= 'z_450';
  400. $oferty_opcje = array();
  401. $sql = "select
  402. t.`ID` as z_1385
  403. , t.`P_SERVICE` as `z_449`
  404. , t.`P_SERVICE_PARENT` as `z_3280`
  405. , t.`P_SERVICE_NAME` as z_450
  406. , t.`P_CONTRACT_PRICE` as z_459
  407. , t.P_NORMAL_PRICE * {$data['0_456']} - t.P_DEAL_PROMO_MONTHS*t.P_PROMO_MONTH_PRICE - ({$data['0_456']} - t.P_DEAL_PROMO_MONTHS)*t.P_CONTRACT_PRICE + (t.P_INSTALL_QUOTE_NORMAL-t.P_INSTALL_QUOTE) as `z_1580`
  408. , t.`P_DEAL_PROMO_MONTHS` as z_457
  409. , t.`P_PROMO_MONTH_PRICE` as z_460
  410. , t.`P_INSTALL_QUOTE` as z_458
  411. FROM `USERS2_OFFERS` as t
  412. WHERE
  413. t.`ID` in(" . implode(",", $sql_ids) . ")
  414. and t.`P_SERVICE`='OPCJE'
  415. -- t.`P_SERVICE_COMPANY`='BN'
  416. -- AND ( t.`A_STATUS` = 'NORMAL' OR t.`A_STATUS`='WAITING' )
  417. ";
  418. $res = DB::query($sql);
  419. while ($h = DB::fetch_assoc($res)) {
  420. foreach ($to_convert_encoding as $v_field) {
  421. if (array_key_exists($v_field, $h)) {
  422. $h[$v_field] = $h[$v_field];//iconv('latin2', 'utf-8', $h[$v_field]);
  423. }
  424. }
  425. $oferty_opcje[ $h['z_1385'] ] = $h;
  426. }
  427. if (V::get('DBG', 0, $_GET, 'int')) {echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">oferty_opcje: ';print_r($oferty_opcje);echo'</pre>';}
  428. $replace_fields = array();
  429. foreach ($oferty_opcje as $k_id => $h) {
  430. $cur_option_service = $h['z_3280'];
  431. if (!array_key_exists($cur_option_service, $options_to_load)) {
  432. // TODO: error
  433. continue;
  434. }
  435. $options_to_load_counter[$cur_option_service]++;
  436. $cur_option_index = $options_to_load_counter[$cur_option_service];
  437. $replace_key_prefix = 'OPCJA_' . $cur_option_service . '_' . $cur_option_index . '_';
  438. $replace_fields[$replace_key_prefix . '450'] = $h['z_450'];
  439. $replace_fields[$replace_key_prefix . '1385'] = $h['z_1385'];
  440. $replace_fields[$replace_key_prefix . '459'] = $h['z_459'];
  441. $replace_fields[$replace_key_prefix . '1580'] = $h['z_1580'];
  442. $replace_fields[$replace_key_prefix . '457'] = $h['z_457'];
  443. $replace_fields[$replace_key_prefix . '460'] = $h['z_460'];
  444. $replace_fields[$replace_key_prefix . '458'] = $h['z_458'];
  445. }
  446. if (V::get('DBG', 0, $_GET, 'int')) {echo'<pre style="max-height:200px;overflow:auto;border:1px solid red;">replace_fields: ';print_r($replace_fields);echo'</pre>';}
  447. if (!empty($replace_fields)) {
  448. $umowaOdt->add_data($replace_fields);
  449. }
  450. }
  451. }
  452. if ($args['id_user'] > 0) {
  453. /*
  454. * <span id="cell-KLIENT_ID"></span>
  455. * <span id="cell-KLIENT_P_NAME"></span>
  456. * <span id="cell-KLIENT_P_NAME_SECOND"></span>
  457. * <span id="cell-KLIENT_P_PHONE"></span>
  458. * <span id="cell-KLIENT_user_mail_contact"></span>
  459. */
  460. if ($user) {
  461. $replace_fields = array();
  462. $replace_fields['KLIENT_ID'] = $user->ID_BILLING_USERS;
  463. $replace_fields['KLIENT_P_NAME'] = $user->P_NAME;//iconv('latin2', 'utf-8', $user->P_NAME);
  464. $replace_fields['KLIENT_P_NAME_SECOND'] = $user->P_NAME_SECOND;//iconv('latin2', 'utf-8', $user->P_NAME_SECOND);
  465. $replace_fields['KLIENT_P_PHONE'] = $user->P_PHONE;
  466. $replace_fields['KLIENT_user_mail_contact'] = $user->user_mail_contact;
  467. $umowaOdt->add_data($replace_fields);
  468. }
  469. }
  470. echo $umowaOdt->get_content();
  471. ?>