PageRenderTime 54ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 1ms

/gas2/function_engine/fun_ordini.php

https://github.com/mauromorello/ReteDES
PHP | 3726 lines | 2796 code | 712 blank | 218 comment | 142 complexity | 9b6f0f84408bfac4ca546a267beff1cf MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. //V3
  3. function lista_ordini_aperti(){
  4. global $db;
  5. $my_query="SELECT retegas_ordini.id_ordini,
  6. retegas_ordini.descrizione_ordini,
  7. retegas_listini.descrizione_listini,
  8. retegas_ditte.descrizione_ditte,
  9. retegas_ordini.data_chiusura,
  10. retegas_gas.descrizione_gas,
  11. retegas_referenze.id_gas_referenze,
  12. maaking_users.userid,
  13. maaking_users.fullname,
  14. retegas_ordini.id_utente,
  15. retegas_ordini.id_listini,
  16. retegas_ditte.id_ditte,
  17. retegas_ordini.data_apertura
  18. FROM (((((retegas_ordini INNER JOIN retegas_referenze ON retegas_ordini.id_ordini = retegas_referenze.id_ordine_referenze) LEFT JOIN maaking_users ON retegas_referenze.id_utente_referenze = maaking_users.userid) INNER JOIN retegas_listini ON retegas_ordini.id_listini = retegas_listini.id_listini) INNER JOIN retegas_ditte ON retegas_listini.id_ditte = retegas_ditte.id_ditte) INNER JOIN maaking_users AS maaking_users_1 ON retegas_ordini.id_utente = maaking_users_1.userid) INNER JOIN retegas_gas ON maaking_users_1.id_gas = retegas_gas.id_gas
  19. WHERE (((retegas_ordini.data_chiusura)>NOW()) AND ((retegas_ordini.data_apertura)<NOW()) AND ((retegas_referenze.id_gas_referenze)="._USER_ID_GAS."))
  20. ORDER BY retegas_ordini.data_chiusura ASC ;";
  21. $result = $db->sql_query($my_query);
  22. $n_rows = $db->sql_numrows($result);
  23. $riga=0;
  24. $t="<div class=\"list-group\">";
  25. while ($row = $db->sql_fetchrow($result)){
  26. $riga++;
  27. //TEMPO ALLA CHIUSURA
  28. $inittime=time();
  29. $datexmas=strtotime($row["data_chiusura"]);
  30. $timediff = $datexmas - $inittime;
  31. $days=intval($timediff/86400);
  32. $remaining=$timediff%86400;
  33. $hours=intval($remaining/3600);
  34. $remaining=$remaining%3600;
  35. $mins=intval($remaining/60);
  36. $secs=$remaining%60;
  37. if($days>0){
  38. $dd="<b>$days</b> "._pl("giorn","o","i",$days)." e <b>$hours</b> "._pl("or","a","e",$hours).".";
  39. }else{
  40. if($hours>0){
  41. $dd="<span class=\"label label-danger\">CHIUDE tra $hours "._pl("or","a","e",$hours)." !</span>";
  42. }else{
  43. $dd="<span class=\"label label-danger\">CHIUDE tra $mins "._pl("minut","o","i",$mins)." !</span>";
  44. }
  45. }
  46. $referente_generale = id_referente_ordine_globale($row["id_ordini"]);
  47. $referente_gas = id_referente_ordine_proprio_gas($row["id_ordini"],_USER_ID_GAS);
  48. if($referente_generale<>$referente_gas){
  49. if($referente_gas>0){
  50. $gas="<small>".fullname_referente_ordine_proprio_gas($row["id_ordini"],_USER_ID_GAS)."</small><br>";
  51. }else{
  52. $gas="<span class=\"label label-primary\">GAS Esterno</span>";
  53. }
  54. }else{
  55. $gas_ext="";
  56. $gas="<small>".fullname_referente_ordine_proprio_gas($row["id_ordini"],_USER_ID_GAS)."</small><br>";
  57. }
  58. $back_color="";
  59. if($referente_gas>0){
  60. $pal = '<a title="Ordine partecipabile"><IMG SRC="'.$RG_addr["img_pallino_verde"].'" ALT="Partecipabile" style="height:10px; width:10px;vertical_align:middle;border=0;"></a>';
  61. $vis="OK";
  62. $ref="";
  63. }else{
  64. if(check_option_order_blacklist(_USER_ID_GAS,$row["id_ordini"])==0){
  65. $pal = '<a title="Manca il referente per il tuo GAS"><IMG SRC="'.$RG_addr["img_pallino_marrone"].'" ALT="NON Partecipabile" style="height:10px; width:10px;vertical_align:middle;border=0;"></a>';
  66. $ref ="<span class=\"label label-warning\">Referente ?</span>";
  67. $back_color="ordine_esterno_class";
  68. $vis="OK";
  69. }else{
  70. $vis="";
  71. $ref="";
  72. }
  73. }
  74. $mia_spesa = valore_arrivato_netto_ordine_user($row["id_ordini"],_USER_ID);
  75. if($mia_spesa>0){
  76. $spesa="<span class=\"label label-success totale_ordine_box\" data-id_ordine=\"".$row["id_ordini"]."\">$mia_spesa &euro;</span>";
  77. }else{
  78. $spesa="";
  79. }
  80. if($vis=="OK"){
  81. $t .="
  82. <a href=\"#\" class=\"list-group-item goto_ord $back_color\" data-id_ordine=\"".$row["id_ordini"]."\" style=\"min-height:80px;\">
  83. <img class=\"pull-left\" SRC = ".icona_ordine($row["id_ordini"])." style=\"max-width:48px;margin-right:10px;margin-bottom:5px;\">
  84. <span class=\"pull-right\">$dd</span>
  85. $gas
  86. <span class=\"lead hidden-xs\" style=\"margin-bottom:0;\">".$row["descrizione_ordini"]."</span>
  87. <span class=\"visible-xs\">".$row["descrizione_ordini"]."</span>
  88. $ref $spesa $gas_ext
  89. </a>";
  90. }
  91. }//end while
  92. $t .="</div>";
  93. if($n_rows==0){$t="Nessun ordine aperto per il tuo GAS";}
  94. return '<div class="panel panel-primary">
  95. <div class="panel-heading">
  96. <h4 class="panel-title" style="color:#222222"><b>Ordini Aperti </b><small>Clicca su ogni ordine per aprirne la sua scheda.</small></h4>
  97. </div>'.$t.'</div>';
  98. }
  99. function icona_ordine($id_ordine){
  100. global $db;
  101. $id_categoria = tipologia_id_from_listino(listino_ordine_from_id_ordine($id_ordine));
  102. switch ($id_categoria){
  103. case 1;
  104. $h = "http://retegas.altervista.org/gas3/icone/alimentari_240.png";
  105. break;
  106. case 2;
  107. $h = "http://retegas.altervista.org/gas3/icone/cereali_240.png";
  108. break;
  109. case 3;
  110. $h = "http://retegas.altervista.org/gas3/icone/frutta_verdura_240.png";
  111. break;
  112. case 4;
  113. $h = "http://retegas.altervista.org/gas3/icone/carne_pesce_240.png";
  114. break;
  115. case 5;
  116. $h = "http://retegas.altervista.org/gas3/icone/alimentari_240.png";
  117. break;
  118. case 7;
  119. $h = "http://retegas.altervista.org/gas3/icone/dolciumi_240.png";
  120. break;
  121. case 8;
  122. $h = "http://retegas.altervista.org/gas3/icone/intimo_240.png";
  123. break;
  124. case 12;
  125. $h = "http://retegas.altervista.org/gas3/icone/vino_240.png";
  126. break;
  127. case 13;
  128. $h = "http://retegas.altervista.org/gas3/icone/cosmetici_240.png";
  129. break;
  130. case 17;
  131. $h = "http://retegas.altervista.org/gas3/icone/formaggio_240.png";
  132. break;
  133. default:
  134. $h = "http://retegas.altervista.org/gas3/img/RD_v3_160.png";
  135. break;
  136. }
  137. return $h;
  138. }
  139. function status_ordine($id_ordine){
  140. global $db;
  141. $mia_spesa = valore_arrivato_netto_ordine_user($id_ordine,_USER_ID);
  142. $miei_articoli = round(qta_ord_ordine_user($id_ordine,_USER_ID),2);
  143. $mie_note_ordine = read_option_note(_USER_ID,"ORD_NOTE_".$id_ordine);
  144. if($mie_note_ordine==""){
  145. $mie_note_ordine = "Clicca per scrivere una nota riferita a quest'ordine";
  146. $empty = "Clicca per scrivere una nota riferita a quest'ordine";
  147. }
  148. if($mia_spesa>0){
  149. $h ='<div class="jumbotron">
  150. <p><strong>IN ORDINE:</strong></p>
  151. <p><strong>'.$miei_articoli.'</strong> '._pl("articol","o","i",$miei_articoli).'</p>
  152. <p>per <strong>'._nf($mia_spesa).'</strong> Euro</p>
  153. <p><a href="#" id="note_personali" data-type="textarea" data-pk="'.$id_ordine.'" data-url="_pages/ACT.php?act=update_note_personali" data-title="Le note personali saranno visibili dal referente ordine">'.$mie_note_ordine.'</a></p>
  154. </div>';
  155. }else{
  156. $h ='<div class="jumbotron">
  157. <p>Non hai ancora comprato nulla.</p>
  158. </div>';
  159. }
  160. return $h;
  161. }
  162. // UPDATE ORDINI (CRON)
  163. function update_ordini_chiusi(){
  164. global $db,$RG_addr;
  165. $loggone=null;
  166. // seleziona gli ordini ancora aperti (2) con data chiusura gi? passata;
  167. $query_msg = "SELECT * from retegas_ordini
  168. WHERE ((retegas_ordini.id_stato='2')
  169. AND (retegas_ordini.data_chiusura <= now()));";
  170. $result_msg = $db->sql_query($query_msg);
  171. // se ci sono righe da modificare allora
  172. if($db->sql_numrows($result_msg)>0){
  173. $loggone .= "Ci sono righe da modificare<br>";
  174. while ($row = $db->sql_fetchrow($result_msg)){
  175. $n++;
  176. $ordine = $row["id_ordini"];
  177. $descrizione = $row["descrizione_ordini"];
  178. $messaggio = "Ordine $ordine chiuso automaticamente.";
  179. $valore_ordine_netto = valore_totale_ordine($ordine);
  180. $utenti_ordine = ordine_bacino_utenti_part($ordine);
  181. $articoli_ordinati = articoli_in_ordine($ordine);
  182. $htg =read_option_gas_text_new(id_gas_user(id_referente_ordine_globale($ordine)),"_HASHTAG_GAS");
  183. if($htg<>""){
  184. $htg = "#".$htg." ";
  185. }
  186. $msg_twitter = $htg."Ord. \"".substr($descrizione,0,30)."...\" CHIUSO (".gas_nome(id_gas_user(id_referente_ordine_globale($ordine))).")";
  187. //ELIMINAZIONE DEGLI ORDINI CON LA PRENOTAZIONE ANCORA ATTIVA
  188. //SONO A LIVELLO DI ORDINE
  189. //CERCO TRA LE OPZIONI QUELLA "" RIFERITA AD ORDINE, RICAVO UNA LISTA DI USERS
  190. //PER OGNI USER : CANCELLO ARTICOLI
  191. $verbose.= "Eliminazione articoli con prenotazione attiva. Ordine $ordine<br>";
  192. $sql_prenotazione = "SELECT * FROM retegas_options WHERE id_ordine='$ordine' AND chiave='PRENOTAZIONE_ORDINI';";
  193. $res_prenotazione = $db->sql_query($sql_prenotazione);
  194. $num_prenotazioni = $db->sql_numrows($res_prenotazione);
  195. $verbose.= "Trovate $num_prenotazioni prenotazioni, usando $sql_prenotazione<br>";
  196. while ($row_p = $db->sql_fetchrow($res_prenotazione)){
  197. $verbose .= "Utente : ".$row_p["id_user"]." Con prenotazione attiva, Cancellati i suoi articoli<br>";
  198. do_delete_all_ordine_user($ordine,$row_p["id_user"]);
  199. //Diamogli respiro
  200. usleep(500);
  201. //Cancello la prenotazione
  202. delete_option_prenotazione_ordine($ordine,$row_p["id_user"]);
  203. }
  204. //FINE ELIMINAZIONE ORDINI CON LA PRENOTAZIONE ANCORA ATTIVA
  205. $verbose .= controlla_integrita_ordine_totale($ordine);
  206. usleep(5000);
  207. $loggone .= "Riga $n - Ordine $ordine - $descrizione<br>";
  208. log_me($ordine,0,"ORD","MOD",$messaggio,0,$verbose);
  209. tweet($msg_twitter);
  210. $loggone .= "Loggato -$messaggio- <br>";
  211. $verso_chi = fullname_referente_ordine_globale($ordine);
  212. $mail_verso_chi = mail_referente_ordine_globale($ordine);
  213. $id_verso_chi = id_referente_ordine_globale($ordine);
  214. $da_chi = _SITE_NAME." - Non rispondere";
  215. $mail_da_chi = _SITE_MAIL_REAL;
  216. $gas_name = gas_nome(id_gas_user($id_verso_chi));
  217. // manda la mail di chiusura al referente
  218. if($row["mail_level"]>0){
  219. $loggone .= "Mail level di ordine $ordine maggiore di 0 <br>";
  220. $eol ="\r\n";
  221. if($utenti_ordine<>0){}else{
  222. $m = "PS : Siccome non vi sono partecipanti, è possibile cancellare questo ordine da ReteDes seguendo questo <a href=\"".$RG_addr["delete_ordine"]."?id_ordine=$ordine\" target=\"_blank\">link.</a>";
  223. }
  224. $message = "L'ordine $ordine ($descrizione) gestito da $gas_name, si è appena chiuso automaticamente.<br>
  225. Lo puoi vedere nella pagina ORDINI CHIUSI del sito.<br>
  226. ------------------------------------------------------ <br>
  227. Valore netto merce ordinata : $valore_ordine_netto Eu. <br>
  228. Utenti partecipanti : $utenti_ordine; <br>
  229. ------------------------------------------------------ <br>
  230. Di seguito una lista di operazioni che puoi fare ora che l'ordine è chiuso:<br>
  231. <br>
  232. 1. <a href=\"".$RG_addr["edit_costi"]."?id_ordine=$ordine\">Cambiare</a> le spese di spedizione e di gestione<br>
  233. 2. <a href=\"".$RG_addr["partecipat_cronologia"]."?id_ordine=$ordine\">Controllare</a> la cronologia degli acquisti<br>
  234. 3. <a href=\"".$RG_addr["edit_spese_gas"]."?id_ordine=$ordine\">Modificare</a> le spese sostenute dal proprio GAS<br>
  235. 4. <a href=\"".$RG_addr["convalida_ordine"]."?id_ordine=$ordine\">Confermare</a> o <a href=\"".$RG_addr["rettifica_singoli_valori"]."&id_ordine=$ordine\">correggere</a> i quantitativi di articoli arrivati, o i loro prezzi.<br>
  236. 5. <a href=\"".$RG_addr["edit_distribuzione_gas"]."?id_ordine=$ordine\">Impostare</a> le date e gli orari e i luoghi di distribuzione merce; (Per ogni gas partecipante).<br>
  237. 6. <a href=\"".$RG_addr["edit_scadenze"]."?id_ordine=$ordine\">Riaprire</a> l'ordine posticipandone la scadenza.<br>
  238. 7. <a href=\"http://www.treccani.it/enciclopedia/ecc-o-etc_(La_grammatica_italiana)/\">ecc ecc ecc</a>
  239. <br>
  240. Buona Distribuzione !!!
  241. <br>
  242. $m<br>
  243. <br> ";
  244. $message .= "Questa è una mail generata automaticamente, <br>
  245. non rispondere a questo indirizzo. " ;
  246. $soggetto = "["._SITE_NAME." * $gas_name*] - Chiusura ordine $ordine ($descrizione)";
  247. $mail_mandata = "";
  248. if(read_option_text($id_verso_chi,"_USER_OPT_SEND_MAIL")<>"NO"){
  249. manda_mail($da_chi,$mail_da_chi,$verso_chi,$mail_verso_chi,$soggetto,$message,"AUT",$ordine);
  250. $mail_mandata = "(User NO Mail)";
  251. usleep(5000);
  252. }
  253. $loggone .= "Mail $mail_mandata da $da_chi ($mail_da_chi) verso $verso_chi ($mail_verso_chi) <br>";
  254. } // mail_level
  255. // manda la mail di chiusura ai partecipanti
  256. } //while
  257. // poi esegue l'aggiornamento
  258. $loggone .= "Uscito da ciclo ordini<br>";
  259. $query = "UPDATE `retegas_ordini`
  260. SET `id_stato` = '3'
  261. WHERE (`retegas_ordini`.`data_chiusura` <= now())
  262. AND (`retegas_ordini`.`id_stato` = '2');";
  263. $result = $db->sql_query($query);
  264. $righe_interessate = $db->sql_affectedrows($result);
  265. usleep(5000);
  266. $loggone .= "Eseguito aggiornamento: $righe_interessate righe interessate<br>";
  267. log_me(0,0,"CRO","---",$loggone,0,"");
  268. }
  269. return $loggone;
  270. }
  271. function update_ordini_aperti() {
  272. global $db,$RG_addr;
  273. $loggone=null;
  274. // seleziona gli ordini ancora da aprire (1) con data apertura già passata;
  275. $query_msg = "SELECT * from retegas_ordini
  276. WHERE ((retegas_ordini.id_stato='1')
  277. AND (retegas_ordini.data_apertura <= now()));";
  278. $result_msg = $db->sql_query($query_msg);
  279. // se ci sono righe da modificare allora
  280. if($db->sql_numrows($result_msg)>0){
  281. $loggone .= "Ci sono ordini futuri da rendere presenti\n";
  282. while ($row = $db->sql_fetchrow($result_msg)){
  283. $n++;
  284. $ordine = $row["id_ordini"];
  285. $descrizione = $row["descrizione_ordini"];
  286. $note = $row["note_ordini"];
  287. if($note<>""){
  288. $note ="<p>Il gestore ha aggiunto delle note : <p><br><p>$note</p>";
  289. }else{
  290. $note ="";
  291. }
  292. $data_chiusura =conv_date_from_db($row["data_chiusura"]);
  293. $messaggio = "Ordine $ordine aperto automaticamente.";
  294. $msg_twitter = "\"".substr($descrizione,0,50)."..\" APERTO dal ".gas_nome(id_gas_user(id_referente_ordine_globale($ordine)))."!";
  295. $loggone .= "Riga $n - Ordine $ordine - $descrizione\n";
  296. log_me($ordine,0,"ORD","APE",$messaggio,0,"");
  297. tweet($msg_twitter);
  298. $loggone .= "Loggato -$messaggio- \n";
  299. // MANDA LE MAIL Agli utenti interessati
  300. //---------------------------------------------------
  301. $titolo_form_mail="Manda un messaggio al bacino di potenziali utenti di questo ordine, che hanno accettato di ricevere aggiornamenti da parte del sito.";
  302. $qry="SELECT
  303. maaking_users.fullname,
  304. maaking_users.email,
  305. maaking_users.user_site_option,
  306. retegas_referenze.id_gas_referenze,
  307. retegas_gas.descrizione_gas,
  308. maaking_users.userid
  309. FROM
  310. retegas_ordini
  311. Inner Join retegas_referenze ON retegas_ordini.id_ordini = retegas_referenze.id_ordine_referenze
  312. Inner Join maaking_users ON retegas_referenze.id_gas_referenze = maaking_users.id_gas
  313. Inner Join retegas_gas ON retegas_referenze.id_gas_referenze = retegas_gas.id_gas
  314. WHERE
  315. maaking_users.isactive ='1' AND
  316. retegas_ordini.id_ordini = '$ordine'";
  317. unset($verso_chi);
  318. unset($mail_verso_chi);
  319. $result = mysql_query($qry);
  320. $lista_destinatari ="";
  321. //Crea la lista dei destinatari
  322. while ($row_m = mysql_fetch_array($result)){
  323. //se l'utente ? attivo
  324. if(user_status($row[5])==1){
  325. //Se l'utente non vuole mail
  326. if(read_option_text($row[5],"_USER_OPT_SEND_MAIL")<>"NO"){
  327. $verso_chi[] = $row_m[0] ;
  328. $mail_verso_chi[] = $row_m[1] ;
  329. $lista_destinatari .= $row_m[0]." (".$row_m[4].");\n";
  330. }
  331. }
  332. }// END WHILE
  333. //----------------------------------------------------
  334. $da_chi = _SITE_NAME;
  335. $mail_da_chi = _SITE_MAIL_REAL;
  336. $message = "L'ordine $ordine ($descrizione) è aperto,<br>
  337. e lo sarà fino al $data_chiusura (salvo modifiche da parte del referente).<br>
  338. Lo puoi vedere nella pagina ORDINI APERTI del sito.<br>
  339. oppure cliccando questo <a href=\"".$RG_addr["ordini_form"]."?id_ordine=$ordine\">link</a><br>
  340. <br>
  341. <p>Novità : E' possibile (per i referenti di questo ordine) impostare le date e gli orari di distribuzione merce, che appariranno nel calendario della versione 3.</p>
  342. <br>
  343. $note
  344. <br>
  345. Buoni acquisti !!!
  346. <br>
  347. <br>
  348. <br> ";
  349. $message .= "Questa è una mail generata automaticamente. <br>" ;
  350. $soggetto = "["._SITE_NAME."] - Apertura ordine $ordine ($descrizione)";
  351. manda_mail_multipla_istantanea($da_chi,$mail_da_chi,$verso_chi,$mail_verso_chi,$soggetto,strip_tags($message),"AUT",$ordine,0,$message);
  352. $loggone .= "AVVISO DI APERTURA Mail da $da_chi ($mail_da_chi) verso:\n
  353. $lista_destinatari \n";
  354. } //while
  355. // poi esegue l'aggiornamento
  356. $loggone .= "Uscito da ciclo ordini\n";
  357. $query = "UPDATE `retegas_ordini`
  358. SET `id_stato` = '2'
  359. WHERE `retegas_ordini`.`data_apertura` <= now()
  360. AND `retegas_ordini`.`data_chiusura` > now()
  361. ";
  362. $result = $db->sql_query($query);
  363. $righe_interessate = $db->sql_affectedrows($result);
  364. $loggone .= "Eseguito aggiornamento: $righe_interessate righe interessate\n";
  365. log_me(0,0,"CRO","---",$loggone,0,"");
  366. }
  367. return $loggone;
  368. }
  369. //FUNZIONI GENERICHE
  370. function ordini_field_value($id_ordine,$field_name){
  371. Global $db;
  372. Global $debug;
  373. (int)$id_ordine;
  374. if(!(isset($id_ordine)|isset($field_name))){
  375. return null;
  376. exit;
  377. }
  378. $query = "SELECT * FROM retegas_ordini WHERE id_ordini='$id_ordine' LIMIT 1;";
  379. $res = $db->sql_query($query,null,"Ordini field value");
  380. $row = $db->sql_fetchrow($res);
  381. return $row["$field_name"];
  382. }
  383. function rompi_le_balle($ordine,$id_user=0,$nome_partecipante=null,$id_partecipante=null){
  384. global $RG_addr;
  385. $verso_chi = fullname_referente_ordine_globale($ordine);
  386. $mail_verso_chi = mail_referente_ordine_globale($ordine);
  387. $descrizione = descrizione_ordine_from_id_ordine($ordine);
  388. $valore_ordine_netto = valore_totale_ordine($ordine);
  389. $utenti_ordine = ordine_bacino_utenti_part($ordine);
  390. $articoli_ordinati = articoli_in_ordine($ordine);
  391. $nome_partecipante = fullname_from_id($id_user);
  392. $gas_partecipante = gas_nome(id_gas_user($id_user));
  393. $da_chi = _SITE_NAME;
  394. $mail_da_chi = "retegas@altervista.org";
  395. if(livello_rompimento_ordine($ordine)>1){
  396. $eol ="<br>";
  397. $message = "<a href=\"".$RG_addr["ordini_form_new"]."?id_ordine=$ordine\">Ordine - $ordine ($descrizione)</a>.$eol
  398. Il Sig. $nome_partecipante del $gas_partecipante $eol
  399. ha appena partecipato.
  400. $eol
  401. Adesso l'ordine vale $valore_ordine_netto Eu.$eol
  402. e vi stanno partecipando $utenti_ordine utenti;$eol
  403. ------------------------------------------------------ $eol
  404. $eol
  405. ATTENZIONE l'ordine NON e' ancora chiuso, queste informazioni$eol
  406. sono da considerarsi incomplete.$eol ";
  407. $message .= "-------------------------------------------- $eol";
  408. $message .= _SITE_NAME."$eol";
  409. $message .= "$eol";
  410. $message .= "$eol";
  411. $message .= "Questa mail viene generata automaticamente. $eol" ;
  412. $soggetto = "["._SITE_NAME."] - Rapporto attivita' su ordine $ordine ($descrizione)";
  413. //echo $message;
  414. manda_mail($da_chi,$mail_da_chi,$verso_chi,$mail_verso_chi,$soggetto,null,"AUT",$ordine,$id_user,$message);
  415. } // mail_level
  416. }
  417. function controlla_integrita_ordine_qord($id_ordine,$id_utente){
  418. global $db,$class_debug;
  419. $msg.= "Controllo integrità referenziale Q_Ord Ordine $id_ordine, user $id_utente";
  420. $sql_1 = "SELECT * FROM retegas_dettaglio_ordini WHERE id_ordine='$id_ordine' AND id_utenti='$id_utente'";
  421. $res_1 = $db->sql_query($sql_1);
  422. While ($row = mysql_fetch_array($res_1)){
  423. $sql_2 = "SELECT
  424. Sum(retegas_distribuzione_spesa.qta_ord) AS somma_qord
  425. FROM
  426. retegas_distribuzione_spesa
  427. WHERE
  428. retegas_distribuzione_spesa.id_articoli = '".$row["id_articoli"]."' AND
  429. retegas_distribuzione_spesa.id_user = '".$id_utente."' AND
  430. retegas_distribuzione_spesa.id_ordine = '".$id_ordine."';";
  431. $res_2 = $db->sql_query($sql_2);
  432. $row_2 = $db->sql_fetchrow($res_2);
  433. $somma_distribuzione_qord = round($row_2[0],4);
  434. $msg.= " Art ".$row["id_articoli"]." - DETTAGLIO = ".round($row["qta_ord"],4)." - SOMMA distribuzione - $somma_distribuzione_qord<br>";
  435. if($somma_distribuzione_qord<>round($row["qta_ord"],4)){
  436. $err++;
  437. }
  438. }
  439. if($err>0){
  440. //log_me($id_ordine,_USER_ID,"ERR","QOR","ERRORE IN Q ORD",0,$msg);
  441. return false;
  442. break;
  443. }
  444. return true;
  445. }
  446. function controlla_integrita_ordine_qarr($id_ordine,$id_utente){
  447. l("Controllo integrità referenziale Q_Arr Ordine $id_ordine, user $id_utente");
  448. global $db;
  449. $sql_1 = "SELECT * FROM retegas_dettaglio_ordini WHERE id_ordine='$id_ordine' AND id_utenti='$id_utente'";
  450. $res_1 = $db->sql_query($sql_1);
  451. While ($row = mysql_fetch_array($res_1)){
  452. $sql_2 = "SELECT
  453. Sum(retegas_distribuzione_spesa.qta_arr) AS somma_qarr
  454. FROM
  455. retegas_distribuzione_spesa
  456. WHERE
  457. retegas_distribuzione_spesa.id_articoli = '".$row["id_articoli"]."' AND
  458. retegas_distribuzione_spesa.id_user = '".$id_utente."' AND
  459. retegas_distribuzione_spesa.id_ordine = '".$id_ordine."';";
  460. $res_2 = $db->sql_query($sql_2);
  461. $row_2 = $db->sql_fetchrow($res_2);
  462. $somma_distribuzione_qarr = round($row_2[0],4);
  463. l(" Art ".$row["id_articoli"]." - DETTAGLIO = ".round($row["qta_ord"],4)." - SOMMA distribuzione - $somma_distribuzione_qarr");
  464. if($somma_distribuzione_qarr<>round($row["qta_arr"],4)){
  465. $err++;
  466. }
  467. }
  468. if($err>0){
  469. return false;
  470. break;
  471. }
  472. return true;
  473. }
  474. function controlla_integrita_ordine_totale($id_ordine){
  475. global $db;
  476. $sql ="SELECT * FROM retegas_dettaglio_ordini WHERE id_ordine='$id_ordine';";
  477. $h .= "<div>";
  478. $h .= "<h4>Controllo integrità ordine $id_ordine (".descrizione_ordine_from_id_ordine($id_ordine).")</h4>";
  479. $h .= $sql."<p>";
  480. $res = $db->sql_query($sql);
  481. While ($row = mysql_fetch_array($res)){
  482. $h .= "UTENTE : ".$row["id_utenti"]." - (".fullname_from_id($row["id_utenti"]).") ARTICOLO: ".$row["id_articoli"]."
  483. <br>DETTAGLIO ".$row["id_dettaglio_ordini"].", Q_ord: ".$row["qta_ord"]." Q_arr: ".$row["qta_arr"]."<br>";
  484. $sql_d="SELECT
  485. sum(retegas_distribuzione_spesa.qta_ord) as Qord,
  486. sum(retegas_distribuzione_spesa.qta_arr) as Qarr,
  487. count(retegas_distribuzione_spesa.id_distribuzione) as Nrec
  488. FROM
  489. retegas_distribuzione_spesa
  490. WHERE
  491. retegas_distribuzione_spesa.id_riga_dettaglio_ordine = '".$row["id_dettaglio_ordini"]."'
  492. GROUP BY
  493. retegas_distribuzione_spesa.id_articoli
  494. LIMIT 1";
  495. $ret_d = mysql_query($sql_d);
  496. $row_d = mysql_fetch_row($ret_d);
  497. $q_ord = $row_d[0];
  498. $q_arr = $row_d[1];
  499. $n_rec = $row_d[2];
  500. if($q_ord<>$row["qta_ord"]){
  501. $h.="<strong>ERRORE Q ORD</strong><br>";
  502. }
  503. if($q_arr<>$row["qta_arr"]){
  504. $h.="<strong>ERRORE Q ARR</strong><br>";
  505. }
  506. $h .= "DISTRIBUZI ".$row["id_dettaglio_ordini"].", Q_ord: $q_ord Q_arr: $q_arr, N. Records = $n_rec<br>";
  507. $h .= "<hr>";
  508. }
  509. $h .= "</p>";
  510. $h .= "</div>";
  511. return $h;
  512. }
  513. //SCHEDE ORDINI
  514. function schedina_ordine($id_ordine){
  515. global $db,$RG_addr;
  516. if(isset($id_ordine)){
  517. $query = "SELECT * FROM retegas_ordini WHERE id_ordini='$id_ordine' LIMIT 1";
  518. $res = $db->sql_query($query);
  519. $row = $db->sql_fetchrow($res);
  520. if($row["id_stato"]==1){
  521. $stato = "PROGRAMMATO";
  522. $pal = '<a><IMG SRC="'.$RG_addr["img_pallino_blu"].'" ALT="Futuro" style="height:16px; width:16px;vertical_align:middle;border=0;" ></a>';
  523. }
  524. if($row["id_stato"]==2){
  525. $stato = "APERTO";
  526. if(id_referente_ordine_proprio_gas($row["id_ordini"],_USER_ID_GAS)>0){
  527. $pal = '<a><IMG SRC="'.$RG_addr["img_pallino_verde"].'" ALT="Partecipabile" style="height:16px; width:16px;border=0;" ></a>';
  528. }else{
  529. $pal = '<a><IMG SRC="'.$RG_addr["img_pallino_marrone"].'" ALT="NON Partecipabile" style="height:16px; width:16px;vertical_align:middle;border=0;"></a>';
  530. }
  531. }
  532. if($row["id_stato"]==3){
  533. if(is_printable_from_id_ord($row["id_ordini"])){
  534. $stato = "CHIUSO - CONVALIDATO";
  535. $pal = '<IMG SRC="'.$RG_addr["img_pallino_grigio"].'" ALT="Stampabile" style="height:16px; width:16px;vertical_align:middle;border=0;">';
  536. }else{
  537. $stato = "CHIUSO - IN ATTESA DI CONVALIDA";
  538. $pal = '<IMG SRC="'.$RG_addr["img_pallino_rosso"].'" ALT="NON Stampabile" style="height:16px; width:16px;vertical_align:middle;border=0;">';
  539. }
  540. }
  541. $id_listino = $row["id_listini"];
  542. $id_ditta = ditta_id_from_listino($id_listino);
  543. $h = '<table>
  544. <thead>
  545. </thead>
  546. <tbody>
  547. <tr>
  548. <td width="33%">
  549. <table class="nested">
  550. <thead>
  551. </thead>
  552. <tbody>
  553. <tr class="odd sinistra">
  554. <th>Categoria</th>
  555. <td>'.tipologia_nome_from_listino($row["id_listini"]).'</td>
  556. </tr>
  557. <tr class="odd sinistra">
  558. <th>Stato:</th>
  559. <td>'.$stato.'</td>
  560. </tr>
  561. </tbody>
  562. </table>
  563. </td>
  564. <td width="33%">
  565. <table class="nested">
  566. <thead>
  567. </thead>
  568. <tbody>
  569. <tr class="odd sinistra">
  570. <th>Ditta</th>
  571. <td><a href="'.$RG_addr["form_ditta"].'?id_ditta='.$id_ditta.'">'.ditta_nome(ditta_id_from_listino($row["id_listini"])).'</a></td>
  572. </tr>
  573. <tr class="odd sinistra">
  574. <th>Listino</th>
  575. <td><a href="'.$RG_addr["listini_scheda"].'?id_listino='.$id_listino.'">'.listino_nome($row["id_listini"]).'</a></td>
  576. </tr>
  577. </tbody>
  578. </table>
  579. </td>
  580. <td width="33%">
  581. <table class="nested">
  582. <thead>
  583. </thead>
  584. <tbody >
  585. <tr class="odd sinistra">
  586. <th>Aperto il</th>
  587. <td>'.conv_datetime_from_db($row["data_apertura"]).'</td>
  588. </tr>
  589. <tr class="odd sinistra">
  590. <th>Chiude il</th>
  591. <td>'.conv_datetime_from_db($row["data_chiusura"]).'</td>
  592. </tr>
  593. </tbody>
  594. </table>
  595. </td>
  596. </tr>
  597. </tbody>
  598. </table>
  599. ';
  600. }
  601. if(read_option_prenotazione_ordine($id_ordine,_USER_ID)=="SI"){
  602. $prenota = " <span style=\"color:red;font-weight:bold\">(ORDINE in PRENOTAZIONE)</span> ";
  603. }else{
  604. $prenota = "";
  605. }
  606. $h2 = rg_toggable($pal.' Ordine n.'.$row["id_ordini"].' - '.$row["descrizione_ordini"].', di '.fullname_from_id($row["id_utente"])." ".$prenota,"schedina_ordine",$h,false);
  607. if($row["note_ordini"]<>""){
  608. $h2 .= rg_toggable("Note Ordine","note_ordine",$row["note_ordini"],true);
  609. }
  610. return $h2;
  611. }
  612. function schedona_ordine($id_ordine,$id_user=null){
  613. global $db;
  614. global $RG_addr;
  615. $euro = "&#8364";
  616. $id_gas= id_gas_user($id_user);
  617. $io_chi_sono = fullname_from_id($id_user);
  618. $gas_name = gas_nome($id_gas);
  619. $gas_ordine_id = id_gas_user(id_referente_ordine_globale($id_ordine));
  620. $gas_name_generale = gas_nome($gas_ordine_id);
  621. //ANAGRAFICHE
  622. $ordine_nome = descrizione_ordine_from_id_ordine($id_ordine);
  623. $id_listino = listino_ordine_from_id_ordine($id_ordine);
  624. $listino = listino_nome($id_listino);
  625. $id_ditta = ditta_id_from_listino($id_listino);
  626. $ditta = ditta_nome_from_listino($id_listino);
  627. $mail_ditta = ditta_mail_from_listino($id_listino);
  628. $tipologia = tipologia_nome_from_listino($id_listino);
  629. $data_apertura = conv_datetime_from_db(ordini_field_value($id_ordine,"data_apertura"));
  630. $data_chiusura = conv_datetime_from_db(ordini_field_value($id_ordine,"data_chiusura"));
  631. $data_merce = conv_datetime_from_db(ordini_field_value($id_ordine,"data_merce"));
  632. if($data_merce=="00/00/0000 00:00"){$data_merce="Non definita";}
  633. $note_ordine = ordini_field_value($id_ordine,"note_ordini");
  634. //OPINIONI
  635. $conteggio_opinioni = conteggio_opinione_ordine($id_ordine);
  636. if($conteggio_opinioni>0){
  637. $media_opinioni = _nf(media_opinione_ordine($id_ordine));
  638. $sezione_opinioni = "<tr class=\"scheda\">
  639. <th $col_1>Valutazione utenti</th>
  640. <td $col_2>$conteggio_opinioni opinioni, media <strong>$media_opinioni</strong> / 5,00</td>
  641. </tr>";
  642. }else{
  643. $sezione_opinioni = "";
  644. }
  645. //ARTICOLI
  646. $articoli_ord = n_articoli_ordinati_da_id_ordine($id_ordine);
  647. $articoli_arr = n_articoli_arrivati_da_id_ordine($id_ordine);
  648. $scatole_intere_arr = q_scatole_intere_ordine_arr($id_ordine);
  649. $scatole_intere_ord = q_scatole_intere_ordine($id_ordine);
  650. $avanzo_articoli_ord = q_articoli_avanzo_ordine($id_ordine);
  651. $avanzo_articoli_arr = q_articoli_avanzo_ordine_arr($id_ordine);
  652. // RUOLO
  653. $user_level = "Utente Semplice;<br> ";
  654. if (id_referente_ordine_proprio_gas($id_ordine,id_gas_user($id_user))==$id_user){
  655. $user_level .= "Referente Proprio GAS;<br> ";
  656. }
  657. if (id_referente_ordine_globale($id_ordine)==$id_user){
  658. $user_level .= "Referente ORDINE; ";
  659. }
  660. $id_referente_ordine = id_referente_ordine_globale($id_ordine);
  661. $id_referente_proprio_gas = id_referente_ordine_proprio_gas($id_ordine,$id_gas);
  662. $referente_generale = fullname_from_id($id_referente_ordine)." (".telefono_from_id($id_referente_ordine).")";
  663. $referente_gas = fullname_referente_ordine_proprio_gas($id_ordine,id_gas_user($id_user))." (".tel_referente_ordine_proprio_gas($id_ordine,id_gas_user($id_user)).")";
  664. if(check_option_aiuto_ordine($id_ordine,_USER_ID)==0){
  665. $offerta_aiuto="<a class=\"awesome small green\" href=\"".$RG_addr["aiutanti_offerta_form"]."?id_ordine=$id_ordine\">Offri il tuo aiuto !!</a>";
  666. }else{
  667. $offerta_aiuto="";
  668. }
  669. $lista_gestori_extra = crea_minilista_referente_extra($id_ordine);
  670. //IL REFERENTE NON PUO' AIUTARE SE STESSO
  671. if($id_user==$id_referente_ordine){
  672. $offerta_aiuto="";
  673. }
  674. $aiutanti = crea_lista_aiuti_ordine_attivi($id_ordine);
  675. //ORDINE IN PRENOTAZIONE
  676. if(read_option_prenotazione_ordine($id_ordine,_USER_ID)=="SI"){
  677. $prenota = " <span style=\"color:red;font-weight:bold\">(ORDINE in PRENOTAZIONE)</span> ";
  678. }else{
  679. $prenota = "";
  680. }
  681. //PRENOTAZIONE e VALORE ORDINE
  682. $valore_totale_ordine = _nf(valore_totale_ordine_qarr($id_ordine));
  683. $parte_prenotata = _nf(ordine_valore_parte_prenotata($id_ordine));
  684. $parte_confermata = _nf(ordine_valore_parte_confermata($id_ordine));
  685. // GOOGLE CALENDAR
  686. $google_cal ='<a href="http://www.google.com/calendar/event?action=TEMPLATE&text;='.$ordine_nome.'&dates;=20060415T180000Z/20060415T190000Z&location;=&details;=Try our Saturday brunch special:<br><br>French toast with fresh fruit<br><br>Yum!&trp;=true&sprop;=website:http://www.javacafebrunches.com&sprop;=name:Jave Cafe"><img src="//www.google.com/calendar/images/ext/gc_button1.gif"></a>';
  687. //STATO
  688. $stato_attuale = stato_from_id_ord($id_ordine);
  689. if($stato_attuale==1){
  690. $stato = "Programmato";
  691. }
  692. if($stato_attuale==2){
  693. if(ordini_field_value($id_ordine,"solo_cassati")=="SI"){
  694. $stato = "Aperto a chi ha la cassa.";
  695. }else{
  696. $stato = "Aperto a tutti.";
  697. }
  698. }
  699. if($stato_attuale==3){
  700. $stato = "Chiuso - ";
  701. if(is_printable_from_id_ord($id_ordine)){
  702. $stato .="<b>STAMPABILE</b>";
  703. }else{
  704. $stato .="<b>DA CONFERMARE</b>";
  705. }
  706. }
  707. //BACINO UTENZE
  708. $bacino_tot = ordine_bacino_utenti($id_ordine);
  709. $bacino_part = ordine_bacino_utenti_part($id_ordine);
  710. $bacino_non_part = $bacino_tot-$bacino_part;
  711. $bacino_percentuale = _nf((($bacino_part/$bacino_tot)*100))."%";
  712. $bacino_tot_mio_gas = gas_n_user($id_gas);
  713. $bacino_part_mio_gas = ordine_bacino_utenti_part_gas($id_ordine,$id_gas);
  714. $bacino_non_part_mio_gas = $bacino_tot_mio_gas-$bacino_part_mio_gas;
  715. $bacino_percentuale_mio_gas = number_format((($bacino_part_mio_gas/$bacino_tot_mio_gas)*100),1,",","")."%";
  716. $gas_coinvolti=ordine_gas_coinvolti($id_ordine);
  717. //SPESA ATTUALE
  718. $valore_globale_attuale_netto_qarr = valore_totale_ordine_qarr($id_ordine);
  719. $costo_globale_trasporto = valore_trasporto($id_ordine,100);
  720. $costo_globale_gestione = valore_gestione($id_ordine,100);
  721. $maggiorazione_percentuale_mio_gas = valore_percentuale_maggiorazione_mio_gas($id_ordine,$id_gas);
  722. $costo_globale_mio_gas = valore_assoluto_costo_mio_gas($id_ordine,$id_gas);
  723. if($maggiorazione_percentuale_mio_gas>0){
  724. $motivazione_maggiorazione = "(".testo_maggiorazione_mio_gas($id_ordine,$id_gas).")";
  725. }
  726. if($valore_globale_attuale_netto_qarr>0){
  727. $valore_personale_attuale_netto_qarr = valore_totale_mio_ordine($id_ordine,$id_user);
  728. $valore_gas_attuale_netto_qarr = valore_totale_mio_gas($id_ordine,$id_gas);
  729. if($valore_gas_attuale_netto_qarr>0){
  730. $percentuale_mio_ordine_gas = ($valore_personale_attuale_netto_qarr / $valore_gas_attuale_netto_qarr) *100;
  731. }else{
  732. $percentuale_mio_ordine_gas = 0;
  733. }
  734. $percentuale_mio_ordine = ($valore_personale_attuale_netto_qarr / $valore_globale_attuale_netto_qarr) *100;
  735. $costo_trasporto = ($costo_globale_trasporto / 100) * $percentuale_mio_ordine;
  736. $costo_gestione = ($costo_globale_gestione / 100) * $percentuale_mio_ordine;
  737. $costo_personale_mio_gas = ($costo_globale_mio_gas /100)*$percentuale_mio_ordine_gas;
  738. $valore_maggiorazione_mio_gas = ($valore_personale_attuale_netto_qarr / 100) * $maggiorazione_percentuale_mio_gas;
  739. $totale_ordine = $valore_personale_attuale_netto_qarr +
  740. $costo_trasporto +
  741. $costo_gestione +
  742. $costo_personale_mio_gas +
  743. $valore_maggiorazione_mio_gas ;
  744. }else{
  745. $valore_personale_attuale_netto_qarr = 0;
  746. $costo_trasporto= 0;
  747. $costo_gestione= 0;
  748. $costo_personale_mio_gas =0;
  749. $valore_maggiorazione_mio_gas =0;
  750. }
  751. $totale_ordine = $valore_personale_attuale_netto_qarr +
  752. $costo_trasporto +
  753. $costo_gestione +
  754. $costo_personale_mio_gas +
  755. $valore_maggiorazione_mio_gas ;
  756. //FORMATTAZIONE
  757. $valore_personale_attuale_netto_qarr = number_format((float)round($valore_personale_attuale_netto_qarr,2),2,",","");
  758. $costo_trasporto = number_format((float)round($costo_trasporto,2),2,",","");
  759. $costo_gestione = number_format((float)round($costo_gestione,2),2,",","");
  760. $costo_personale_mio_gas = number_format((float)round($costo_personale_mio_gas,2),2,",","");
  761. $valore_maggiorazione_mio_gas = number_format((float)round($valore_maggiorazione_mio_gas,2),2,",","");
  762. $totale_ordine = number_format((float)round($totale_ordine,2),2,",","");
  763. $maggiorazione_percentuale_mio_gas = number_format((float)round($maggiorazione_percentuale_mio_gas,2),2,",","");
  764. $costo_globale_mio_gas = number_format((float)round($costo_globale_mio_gas,2),2,",","");
  765. $costo_globale_trasporto = number_format((float)round($costo_globale_trasporto,2),2,",","");
  766. $costo_globale_gestione = number_format((float)round($costo_globale_gestione,2),2,",","");
  767. $articoli_ord = (float)round($articoli_ord,2);
  768. $articoli_arr = (float)round($articoli_arr,2);
  769. //GEOCODING
  770. //Ditta
  771. $ditta_gc_lat = db_val_q("id_ditte",$id_ditta,"ditte_gc_lat","retegas_ditte");
  772. $ditta_gc_lng = db_val_q("id_ditte",$id_ditta,"ditte_gc_lng","retegas_ditte");
  773. //echo "$ditta_gc_lat , $ditta_gc_lng<br>";
  774. if($ditta_gc_lat==0){
  775. $gc .= "Indirizzo ditta non valido<br>";
  776. $e_gc++;
  777. }
  778. //Mio Gas
  779. $gas_gc_lat = db_val_q("id_gas",$id_gas,"gas_gc_lat","retegas_gas");
  780. $gas_gc_lng = db_val_q("id_gas",$id_gas,"gas_gc_lng","retegas_gas");
  781. //echo "$gas_gc_lat , $gas_gc_lng<br>";
  782. if($gas_gc_lat==0){
  783. $gc .= "Indirizzo mio gas non valido<br>";
  784. $e_gc++;
  785. }
  786. //Gas ordinante
  787. if($gas_ordine_id<>$id_gas){
  788. $gas_ord_gc_lat = db_val_q("id_gas",$gas_ordine_id,"gas_gc_lat","retegas_gas");
  789. $gas_ord_gc_lng = db_val_q("id_gas",$gas_ordine_id,"gas_gc_lng","retegas_gas");
  790. //echo "$gas_gc_lat , $gas_gc_lng<br>";
  791. if($gas_ord_gc_lat==0){
  792. $gc .= "Indirizzo gas ordinante non valido<br>";
  793. $e_gc++;
  794. }
  795. }
  796. //user
  797. $user_gc_lat = db_val_q("userid",_USER_ID,"user_gc_lat","maaking_users");
  798. $user_gc_lng = db_val_q("userid",_USER_ID,"user_gc_lng","maaking_users");
  799. if($user_gc_lat==0){
  800. $gc .= "Indirizzo Utente non valido<br>";
  801. $e_gc++;
  802. }
  803. if($e_gc==0){
  804. //CHIAMA GOOGLE MAPS E SI FA PASSARE LA DISTANZA.
  805. $sResponse=curl_request('http://maps.googleapis.com/maps/api/distancematrix/json',
  806. "origins=$ditta_gc_lat,$ditta_gc_lng&destinations=$gas_gc_lat,$gas_gc_lng&mode=driving&sensor=false");
  807. $oJSON=json_decode($sResponse);
  808. if ($oJSON->status=='OK')
  809. $dist_ditta_gas=(float)preg_replace('/[^\d\.]/','',$oJSON->rows[0]->elements[0]->distance->text);
  810. else
  811. $dist_ditta_gas=0;
  812. $dist_ditta_gas = round(floatval($dist_ditta_gas),2);
  813. $dist_gas_user = round(getDistanceBetweenPointsNew($user_gc_lat, $user_gc_lng, $gas_gc_lat, $gas_gc_lng),2);
  814. if($gas_ord_gc_lat>0){
  815. $dist_gas_ord = round(getDistanceBetweenPointsNew($gas_gc_lat, $gas_gc_lng, $gas_ord_gc_lat, $gas_ord_gc_lng),2);
  816. $dist_gas_ord = $dist_gas_ord." Km + ";
  817. }
  818. $dist_tot = round($dist_ditta_gas + $dist_gas_user + $dist_gas_ord,2);
  819. $gc = $dist_ditta_gas." Km + ". $dist_gas_ord.$dist_gas_user." Km = <strong>".$dist_tot."</strong> Km Tot.";
  820. }
  821. //MIE NOTE ORDINE
  822. if(valore_arrivato_netto_ordine_user($id_ordine,_USER_ID)>0){
  823. $classe_editable = "edit";
  824. $mie_note_ordine = read_option_note(_USER_ID,"ORD_NOTE_".$id_ordine);
  825. if($mie_note_ordine==""){
  826. $mie_note_ordine = "Clicca per scrivere";
  827. }
  828. $j_editable = "<tr class=\"titolino\">
  829. <td colspan=2 title=\"Le note personali potranno essere lette anche dal gestore dell'ordine e dal proprio referente GAS.<br>
  830. Per inserire una nota Cliccare sul Post-it. Le note vengono salvate assieme al proprio ordine.\">
  831. NOTE PERSONALI
  832. </td>
  833. </tr>
  834. <tr>
  835. <td colspan=2>
  836. <div id=\"postit\"
  837. class=\"edit_area\"
  838. style=\"display:block;
  839. height : 10em;
  840. width : 10em;
  841. background:#fefabc;
  842. padding:15px;
  843. font-family: 'Gloria Hallelujah', cursive;
  844. font-size:15px;
  845. color: #000;
  846. width:200px;
  847. -moz-transform: rotate(4deg);
  848. -webkit-transform: rotate(4deg);
  849. -o-transform: rotate(4deg);
  850. -ms-transform: rotate(4deg);
  851. transform: rotate(4deg);
  852. box-shadow: 0px 4px 6px #333;
  853. -moz-box-shadow: 0px 4px 6px #333;
  854. -webkit-box-shadow: 0px 4px 6px #333;
  855. \">$mie_note_ordine</div>
  856. </td>
  857. </tr>";
  858. }
  859. //Distribuzione
  860. $luogo_distribuzione = luogo_distribuzione_mio_gas($id_ordine,$id_gas);
  861. if($luogo_distribuzione==""){$luogo_distribuzione="Non definito...";}
  862. $data_distribuzione_start = conv_datetime_from_db(data_distribuzione_start_mio_gas($id_ordine,$id_gas));
  863. if($data_distribuzione_start=="// 00:00" | $data_distribuzione_start=="00/00/0000 00:00"){$data_distribuzione_start="Non definita...";}
  864. $data_distribuzione_end = conv_datetime_from_db(data_distribuzione_end_mio_gas($id_ordine,$id_gas));
  865. if($data_distribuzione_end=="// 00:00" | $data_distribuzione_end=="00/00/0000 00:00"){$data_distribuzione_end="Non definita...";}
  866. $testo_distribuzione = testo_distribuzione_mio_gas($id_ordine,$id_gas);
  867. if($testo_distribuzione==""){$testo_distribuzione="Nessuna nota..";}
  868. // COSTRUZIONE TABELLA -----------------------------------------------------------------------
  869. $h_table .= "<div class=\"rg_widget rg_widget_helper\">
  870. <h3>Scheda Ordine</h3>
  871. <table>
  872. <tr>
  873. <td width=\"39%\" style=\"vertical-align:top\">
  874. <table>
  875. <tr class=\"titolino\">
  876. <td colspan=2>
  877. Anagrafiche
  878. </td>
  879. </tr>
  880. <tr class=\"scheda\">
  881. <th $col_1>Ordine n.<b>$id_ordine</b></th>
  882. <td $col_2>$ordine_nome</td>
  883. </tr>
  884. <tr class=\"scheda\">
  885. <th $col_1>Fornitore</th>
  886. <td $col_2><a href=\"".$RG_addr["form_ditta"]."?id_ditta=$id_ditta\">$ditta</a></td>
  887. </tr>
  888. <tr class=\"scheda\">
  889. <th $col_1>Listino</th>
  890. <td $col_2><a href=\"".$RG_addr["listini_scheda"]."?id_listino=$id_listino\">$listino</a></td>
  891. </tr>
  892. <tr class=\"scheda\">
  893. <th $col_1>Merce trattata</th>
  894. <td $col_2>$tipologia</td>
  895. </tr>
  896. <tr class=\"scheda\">
  897. <th $col_1>Stato:</th>
  898. <td $col_2>$stato<br>$prenota</td>
  899. </tr>
  900. <tr class=\"scheda\">
  901. <th $col_1>Data apertura</th>
  902. <td $col_2>$data_apertura</td>
  903. </tr>
  904. <tr class=\"scheda\">
  905. <th $col_1>Data Chiusura</th>
  906. <td $col_2>$data_chiusura</td>
  907. </tr>
  908. <tr class=\"scheda\">
  909. <th $col_1>Arrivo merce</th>
  910. <td $col_2>$data_merce</td>
  911. </tr>
  912. <tr class=\"scheda\">
  913. <th $col_1>Km percorsi dalla merce</th>
  914. <td $col_2>$gc</td>
  915. </tr>
  916. $sezione_opinioni
  917. <tr class=\"titolino\">
  918. <td colspan=2>
  919. Situazione ordine
  920. </td>
  921. </tr>
  922. <tr class=\"soldi\">
  923. <th $col_1>Valore totale : </th>
  924. <td $col_2>$valore_totale_ordine Eu.</td>
  925. </tr>
  926. <tr class=\"soldi\">
  927. <th $col_1>Parte Prenotata / Confermata </th>
  928. <td $col_2>$parte_prenotata Eu. / $parte_confermata Eu.</td>
  929. </tr>
  930. <tr class=\"scheda\">
  931. <th $col_1>Articoli ORDINATI / ARRIVATI : </th>
  932. <td $col_2>$articoli_ord / $articoli_arr</td>
  933. </tr>
  934. <tr class=\"scheda\">
  935. <th $col_1>Scatole ORDINATE/ ARRIVATE</th>
  936. <td $col_2>$scatole_intere_ord / $scatole_intere_arr</td>
  937. </tr>
  938. <tr class=\"scheda\">

Large files files are truncated, but you can click here to view the full file