source: pmb4.2/trunk/fuentes/pmb/sip2.php @ 815

Last change on this file since 815 was 815, checked in by jrpelegrina, 4 years ago

Initial release of pmb 4.2

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1<?php
2// +-------------------------------------------------+
3// © 2002-2004 PMB Services / www.sigb.net pmb@sigb.net et contributeurs (voir www.sigb.net)
4// +-------------------------------------------------+
5// $Id: sip2.php,v 1.4.14.1 2015-11-24 16:42:47 mbertin Exp $
6
7// définition du minimum nécéssaire
8$base_path=".";                           
9$base_auth = "CIRCULATION_AUTH"; 
10$base_noheader=1;
11require_once("$base_path/includes/init.inc.php"); 
12require_once("$class_path/sip2_protocol.class.php");
13require_once("$class_path/sip2_trame.class.php");
14require_once("$include_path/sip2/sip2_functions.inc.php");
15$message=stripslashes($message);
16
17$protocol=new sip2_protocol("$include_path/sip2/protocol.xml",$charset);
18
19if($debug) $fp_debug=fopen("temp/messages.log","a+");
20if($fp_debug){
21        fwrite($fp_debug,$message."\n");
22}
23
24//Analyse de la trame
25$trame=new sip2_trame($message,$protocol);
26
27$last_trame="";
28$message_pair="";
29
30//Si il y a une erreur ?
31if ($trame->error) {
32        print $trame->error_message;
33        //Si c'est une erreur on redemande le message
34        $message_pair=96;
35        $values=array();
36} else {
37        //Sinon tout va bien
38        $message_pair=$trame->message_pair;
39        $values=$trame->message_values;
40        if ($trame->message_id==97) {
41                //Demande du dernier message
42                if ($_SESSION[$id]["ltrame"]) {
43                        //Si dernier message pas vide
44                        $last_trame=$_SESSION[$id]["ltrame"];
45                        print $_SESSION[$id]["ltrame"];
46                        $message_pair="";
47                } else {
48                        //Si dernier message vide, on envoie une redemande
49                        $message_pair=96;
50                        $values=array();
51                }
52        }
53}
54if ($message_pair) {
55        $tramer=new sip2_trame("",$protocol);
56        $tramer->set_message_id($message_pair);
57        $tramer->set_checksum(true);
58        $tramer->set_sequence_number($trame->sequence_number*1);
59        //Appel de la fonction
60        $func_response="_".strtolower($protocol->messages[$message_pair]["NAME"])."_";
61        $values=$func_response($values);
62        $tramer->set_message_values($values);
63        //Si il y a une erreur, erreur définitive !
64        if ($tramer->error) {
65                print $tramer->error_message;
66                print "exit";
67        } else {
68            //On construit la trame
69            $tramer->make_trame();
70            //Si il y a une erreur
71            if ($tramer->error) {
72                print $tramer->error_message;
73                print "exit";
74            } else {
75                        if($rtim){
76                                $tramer->trame=rtrim($tramer->trame);
77                        }
78                        print $tramer->trame;
79                if($fp_debug){
80                        fwrite($fp_debug,$tramer->trame."\n");
81                }
82                $last_trame=$tramer->trame;
83            }
84        }
85}
86if($fp_debug){
87        fclose($fp_debug);                     
88}
89$_SESSION[$id]["ltrame"]=$last_trame;
90?>
Note: See TracBrowser for help on using the repository browser.