ryxeo-glpi-git / htdocs / epack / register.php @ b069f62c
Historique | Voir | Annoter | Télécharger (29 ko)
1 | 1c14bcc4 | Eric Seigne | <?php
|
---|---|---|---|
2 | //AJAX CODE
|
||
3 | |||
4 | $commande = ""; |
||
5 | $message = ""; |
||
6 | $send_mail = 0; //flag pour savoir s'il faut envoyer un mail (en bref a toute insertion ou update de base) |
||
7 | |||
8 | abd6eaaa | Eric Seigne | function make_pdf($pass,$code,$datapost) { |
9 | global $message; |
||
10 | af8e09aa | Eric Seigne | global $login_email; |
11 | abd6eaaa | Eric Seigne | require_once('lib/odf.php'); |
12 | $odf = new odf("abuledu-base_genere_automatiquement_enregistrement_epack.odp"); |
||
13 | |||
14 | //1ere page
|
||
15 | setlocale(LC_TIME, "fr_FR.UTF-8"); |
||
16 | // $odf->setVars('date', strftime("%A %e %B %Y"));
|
||
17 | $odf->setVars('date_installation', $datapost['IDATE']); |
||
18 | $odf->setVars('date', date("d/m/Y")); |
||
19 | |||
20 | //Le epack
|
||
21 | $odf->setVars('epack_pass', $pass); |
||
22 | $odf->setVars('epack_code', $code); |
||
23 | |||
24 | //Les mots de passes
|
||
25 | $odf->setVars('pass_root', $datapost['IROOT']); |
||
26 | $odf->setVars('pass_abuladmin', $datapost['IABE']); |
||
27 | |||
28 | //L'école
|
||
29 | $odf->setVars('ecole_nom', $datapost['INAME'], true, 'UTF-8'); |
||
30 | $odf->setVars('ecole_adresse', $datapost['IADDRESS0'], true, 'UTF-8'); |
||
31 | $odf->setVars('ecole_cp', $datapost['IPOSTALCODE'], true, 'UTF-8'); |
||
32 | $odf->setVars('ecole_ville', $datapost['ICITY'], true, 'UTF-8'); |
||
33 | $odf->setVars('ecole_pays', $datapost['ICOUNTRY'], true, 'UTF-8'); |
||
34 | $odf->setVars('ecole_tel', $datapost['ITEL'], true, 'UTF-8'); |
||
35 | $odf->setVars('ecole_email', $datapost['IEMAIL'], true, 'UTF-8'); |
||
36 | |||
37 | //Le serveur
|
||
38 | $odf->setVars('srv_srv', $datapost['ISRV'], true, 'UTF-8'); |
||
39 | $odf->setVars('srv_serial', $datapost['ISERIAL'], true, 'UTF-8'); |
||
40 | $odf->setVars('srv_cpu', $datapost['CPU'], true, 'UTF-8'); |
||
41 | $odf->setVars('srv_ram', $datapost['RAM'], true, 'UTF-8'); |
||
42 | $odf->setVars('srv_hdd0', $datapost['HDD0'], true, 'UTF-8'); |
||
43 | $odf->setVars('srv_hdd1', $datapost['HDD1'], true, 'UTF-8'); |
||
44 | $odf->setVars('srv_eth0', $datapost['MAC0'], true, 'UTF-8'); |
||
45 | $odf->setVars('srv_eth1', $datapost['MAC1'], true, 'UTF-8'); |
||
46 | |||
47 | //L'admin local
|
||
48 | $odf->setVars('adm_prenom', $datapost['ADM_FIRSTNAME'], true, 'UTF-8'); |
||
49 | $odf->setVars('adm_nom', $datapost['ADM_LASTNAME'], true, 'UTF-8'); |
||
50 | $odf->setVars('adm_email', $datapost['ADM_EMAIL'], true, 'UTF-8'); |
||
51 | |||
52 | //La personne ressource
|
||
53 | $odf->setVars('pr_prenom', $datapost['PR_FIRSTNAME'], true, 'UTF-8'); |
||
54 | $odf->setVars('pr_nom', $datapost['PR_LASTNAME'], true, 'UTF-8'); |
||
55 | $odf->setVars('pr_email', $datapost['PR_EMAIL'], true, 'UTF-8'); |
||
56 | |||
57 | //L'anim TICE
|
||
58 | $odf->setVars('atice_prenom', $datapost['ATICE_FIRSTNAME'], true, 'UTF-8'); |
||
59 | $odf->setVars('atice_nom', $datapost['ATICE_LASTNAME'], true, 'UTF-8'); |
||
60 | $odf->setVars('atice_email', $datapost['ATICE_EMAIL'], true, 'UTF-8'); |
||
61 | |||
62 | //Le revendeur
|
||
63 | $odf->setVars('rvd_code', $datapost['RCODE'], true, 'UTF-8'); |
||
64 | $odf->setVars('rvd_nom', $datapost['RNAME'], true, 'UTF-8'); |
||
65 | $odf->setVars('rvd_tel', $datapost['RTEL'], true, 'UTF-8'); |
||
66 | $odf->setVars('rvd_email', $datapost['REMAIL'], true, 'UTF-8'); |
||
67 | $odf->setVars('rvd_adresse', $datapost['RADDRESS'], true, 'UTF-8'); |
||
68 | $odf->setVars('rvd_cp', $datapost['RCP'], true, 'UTF-8'); |
||
69 | $odf->setVars('rvd_ville', $datapost['RVILLE'], true, 'UTF-8'); |
||
70 | |||
71 | //On créé un fichier local pour archive ...
|
||
72 | $fichier="archives/" . date("Y-m-d") . "-epack-register-" . $code . ".odp"; |
||
73 | $fichier_pdf="archives/" . date("Y-m-d") . "-epack-register-" . $code . ".pdf"; |
||
74 | |||
75 | $odf->saveToDisk($fichier); |
||
76 | $t = exec("unoconv --server localhost --port 2002 -f pdf " . $fichier); |
||
77 | |||
78 | //Ensuite il faut l'envoyer par email ...
|
||
79 | $txtmail = "Bonjour, |
||
80 | vous venez d'enregistrer un ePack d'installation AbulÉdu et nous vous en remercions.
|
||
81 |
|
||
82 | Vous trouverez ci-joint le document récapitulatif de votre enregistrement.
|
||
83 |
|
||
84 | --
|
||
85 | RyXéo SARL
|
||
86 | contact@ryxeo.com
|
||
87 | Tel: 05 35 54 01 18";
|
||
88 | $crlf = "\n"; |
||
89 | $hdrs = array( |
||
90 | 'From' => 'contact@ryxeo.com', |
||
91 | 'Subject' => mb_encode_mimeheader("[AbulEdu] Fiche d'installation " . $datapost['INAME']), |
||
92 | af8e09aa | Eric Seigne | 'BCC' => 'contact@ryxeo.com, supportteam@ryxeo.com' |
93 | abd6eaaa | Eric Seigne | ); |
94 | $mime = new Mail_mime($crlf); |
||
95 | $mime->setTXTBody($txtmail); |
||
96 | $mime->addAttachment($fichier_pdf, mime_content_type($fichier_pdf)); |
||
97 | b069f62c | root | $mime->addAttachment($fichier, mime_content_type($fichier)); |
98 | abd6eaaa | Eric Seigne | $body = $mime->get(array('text_charset' => 'utf-8')); |
99 | $hdrs = $mime->headers($hdrs); |
||
100 | $mail =& Mail::factory('mail'); |
||
101 | af8e09aa | Eric Seigne | |
102 | if(trim($datapost['REMAIL']) == "") { |
||
103 | if(trim($login_email) != "") { |
||
104 | $mail->send($login_email, $hdrs, $body); |
||
105 | } |
||
106 | else {
|
||
107 | //On cherche le mail associe a ce pack ?
|
||
108 | $mail->send("contact@ryxeo.com", $hdrs, $body); |
||
109 | } |
||
110 | } |
||
111 | else {
|
||
112 | $mail->send($datapost['REMAIL'], $hdrs, $body); |
||
113 | } |
||
114 | abd6eaaa | Eric Seigne | } |
115 | 6fd1e9d9 | Eric Seigne | |
116 | function send_mail_installation($pass,$code,$datapost) { |
||
117 | $mail_content = " |
||
118 |
|
||
119 | Bonjour,
|
||
120 |
|
||
121 | un nouveau serveur vient d'être inséré dans AbulÉdu.NET:
|
||
122 |
|
||
123 | Référence du ePack AbulÉdu:
|
||
124 | - $pass
|
||
125 | - $code
|
||
126 |
|
||
127 | Site de l'installation:
|
||
128 | - Nom: " . addslashes($datapost['INAME']) . " |
||
129 | - Adresse: " . addslashes($datapost['IADDRESS0'] . " " . $datapost['IADDRESS1'] ) . " |
||
130 | - Code postal: " . addslashes($datapost['IPOSTALCODE']) . " |
||
131 | - Ville: " . addslashes($datapost['ICITY']) . " |
||
132 | - Pays: " . addslashes($datapost['ICOUNTRY']) . " |
||
133 | - Téléphone: " . addslashes($datapost['ITEL']) . " |
||
134 | - Adresse email: " . addslashes($datapost['IEMAIL']) . " |
||
135 |
|
||
136 | Serveur:
|
||
137 | - Marque ou modèle: " . $datapost['ISRV'] . " |
||
138 | - Numéro de série: " . $datapost['ISERIAL'] . " |
||
139 | - Processeur: " . $datapost['CPU'] . " |
||
140 | - Mémoire vive: " . $datapost['RAM'] . " |
||
141 | - Disque dur 1: " . $datapost['HDD0'] . " |
||
142 | - Disque dur 2: " . $datapost['HDD1'] . " |
||
143 | - Carte réseau 1: " . $datapost['MAC0'] . " |
||
144 | - Carte réseau 2: " . $datapost['MAC1'] . " |
||
145 | - Date d'installation: " . $datapost['IDATE'] . " |
||
146 |
|
||
147 | Mots de passe:
|
||
148 | - root: " . $datapost['IROOT'] . " |
||
149 | - abuladmin: " . $datapost['IABE'] . " |
||
150 |
|
||
151 | Installateur:
|
||
152 | - Société: " . $datapost['RCODE'] . " |
||
153 | abd6eaaa | Eric Seigne | - Adresse: " . $datapost['RADDRESS'] . " |
154 | - Ville: " . $datapost['RCP'] . " " . $datapost['RVILLE'] . " |
||
155 | 6fd1e9d9 | Eric Seigne | - Nom: " . $datapost['RNAME'] . " |
156 | - Téléphone: " . $datapost['RTEL'] . " |
||
157 | - Email: " . $datapost['REMAIL'] . " |
||
158 |
|
||
159 | Compte utilisateur:
|
||
160 | - Nom: " . $datapost['ADM_LASTNAME'] . " |
||
161 | - Prénom: " . $datapost['ADM_FIRSTNAME'] . " |
||
162 | - Email: " . $datapost['ADM_EMAIL'] . " |
||
163 |
|
||
164 | Compte personne ressource:
|
||
165 | - Nom: " . $datapost['PR_LASTNAME'] . " |
||
166 | - Prénom: " . $datapost['PR_FIRSTNAME'] . " |
||
167 | - Email: " . $datapost['PR_EMAIL'] . " |
||
168 |
|
||
169 | Compte ATICE:
|
||
170 | - Nom: " . $datapost['ATICE_LASTNAME'] . " |
||
171 | - Prénom: " . $datapost['ATICE_FIRSTNAME'] . " |
||
172 | - Email: " . $datapost['ATICE_EMAIL'] . " |
||
173 |
|
||
174 | Commentaires:
|
||
175 | " . $datapost["ICOMMENT"] . " |
||
176 |
|
||
177 | --
|
||
178 | abuledu.net est un service de RyXéo SARL, société éditrice d'AbulÉdu
|
||
179 |
|
||
180 | ";
|
||
181 | abd6eaaa | Eric Seigne | |
182 | f8c1248f | Eric Seigne | if(stripos($code, "-TESTS-")) { |
183 | ryxeo_mail("anet@ryxeo.com",$mail_content,"contact@ryxeo.com","[epack de test] Nouveau serveur dans la base abuledu.net"); |
||
184 | b915f380 | Eric Seigne | make_conffiles($datapost['MAC0'],$pass,$code); |
185 | abd6eaaa | Eric Seigne | } |
186 | else {
|
||
187 | ryxeo_mail("anet@ryxeo.com",$mail_content,"contact@ryxeo.com","Nouveau serveur dans la base abuledu.net"); |
||
188 | } |
||
189 | 6fd1e9d9 | Eric Seigne | } |
190 | |||
191 | 1c14bcc4 | Eric Seigne | //Verifie si les donnees qu'on a en entree sont correctes sinon on saute ... direction webadmin/installation
|
192 | function verification_data() { |
||
193 | global $datapost; |
||
194 | global $message; |
||
195 | $error = ""; |
||
196 | b915f380 | Eric Seigne | if(trim(strtolower($datapost['MAC0'])) == "") // || trim(strtolower($datapost['MAC1'])) == "" ) |
197 | 1c14bcc4 | Eric Seigne | $error .= "<li>Il manque une carte réseau dans ce serveur !</li>"; |
198 | if(trim($datapost['INAME']) == "") |
||
199 | $error .= "<li>Erreur sur le nom de l'installation</li>"; |
||
200 | if(trim($datapost['IADDRESS0']) == "") |
||
201 | $error .= "<li>Adresse de l'installation incorrecte</li>"; |
||
202 | if(trim($datapost['IPOSTALCODE']) == "") |
||
203 | $error .= "<li>Code postal incorrect</li>"; |
||
204 | if(trim($datapost['ICITY']) == "") |
||
205 | $error .= "<li>Nom de ville incorrect</li>"; |
||
206 | if(trim($datapost['ICOUNTRY']) == "") |
||
207 | $error .= "<li>Nom du pays incorrect</li>"; |
||
208 | if(trim($datapost['ITEL']) == "") |
||
209 | $error .= "<li>Numéro de téléphone incorect</li>"; |
||
210 | if(trim($datapost['ADM_LASTNAME']) == "") |
||
211 | $error .= "<li>Nom du contact administratif incomplet</li>"; |
||
212 | if(trim($datapost['ADM_FIRSTNAME'])== "") |
||
213 | $error .= "<li>Prénom du contact administratif incomplet</li>"; |
||
214 | if(strpos($datapost['IEMAIL'],"@") == FALSE) |
||
215 | $error .= "<li>Adresse email de l'école incorrecte</li>"; |
||
216 | if(strpos($datapost['ADM_EMAIL'],"@") == FALSE) |
||
217 | $error .= "<li>Adresse email du responsable administratif incorrecte</li>"; |
||
218 | |||
219 | if($error != "") { |
||
220 | $message .= "<ul>"; |
||
221 | $message .= $error; |
||
222 | $message .= "</ul>"; |
||
223 | return false; |
||
224 | } |
||
225 | else
|
||
226 | return true; |
||
227 | |||
228 | } |
||
229 | |||
230 | b915f380 | Eric Seigne | //création des fichiers de conf sur ce nouve<au serveur
|
231 | 1c14bcc4 | Eric Seigne | //ou restauration des fichiers de conf (si réinstallation)
|
232 | function make_conffiles($login,$pass,$code) { |
||
233 | global $commande; |
||
234 | $codecrypt = md5($pass); |
||
235 | 84a3aa0e | Eric Seigne | |
236 | //Si c'est un serveur de tests on ne cree surtout pas le fichier gdipc pour eviter que apt essaye
|
||
237 | //de passer en mode authentifie, on demandera donc le login/pass rvd a chaque upgrade
|
||
238 | if(stripos($code, "-TESTS-")) { |
||
239 | $commande .= ""; |
||
240 | } |
||
241 | else {
|
||
242 | $commande .= " echo \"" . $login . ";dip.abuledu.net;http://dip.abuledu.net/gnudip/cgi-bin/gdipupdt.cgi;" . $codecrypt . ";/home/abecmd/.GnuDIP2.cache." . $login . ".dip.abuledu.net;0;2073600\" > ~abecmd/.GnuDIP2 |
||
243 | 1c14bcc4 | Eric Seigne | chmod 600 ~abecmd/.GnuDIP2
|
244 | chown abecmd:admin ~abecmd/.GnuDIP2
|
||
245 | 84a3aa0e | Eric Seigne | su - abecmd gdipc\n";
|
246 | } |
||
247 | |||
248 | $commande .= " mkdir ~abecmd/.ssh || true |
||
249 | 1c14bcc4 | Eric Seigne | echo \"ssh-dss AAAAB3NzaC1kc3MAAACBAPM3DKuDXuSsQgPeBNO/jBEAd28smHqYVAODRwshfI04/rFvwh/A+7UZ2H/QnZOn6XLS/3R4yPp/QdGKEJ0BCHDd2fLIuS6ZLDHoHdQRBFzEAXP1SE1Yyp9c1pKnWeke6oK6196yKpE2aWBRv9kma+KoPhz7mpt6KHISow+yYV/PAAAAFQDFCotxKtxherzuwzVbeXmiOGQ3EwAAAIEAq+KXzJUt13h5QvM7u0O3mbDGD6YY9avMYqFk8StJ4DoFpSfeiwvNynoDsAE2qLTje7hbs+UO4Ns1lCLhh4R4T9wdLodTRVfizvqjZhmhOGfTHUjX9qi+dTs7c0mtqZz89ZZSqJsnMb9I1Ifj0H++MOswa7qp1cFxzUYtlew128QAAACAXve21Gn+gD7GXhvLIMq7bq6/ECjcjoBQcpLF72Z3tAsd0i0Scv1eydsUiee47pr3o4fJToQAr3iFQX6zWnDaw4htg3cZAMzfuvXxuWBcDoQ2qjYAk1A/FoJM7z5pPZXnWQZ+Vq+HfsW8W7EHztVgoZ/Xj/10webHjcL8CzFGWU4= remoteabecmd@Timide
|
250 | ssh-dss AAAAB3NzaC1kc3MAAACBAIyAzv1X8Hy8r8QiJAmhlDs9INd0jCpYNk5OxBDYA1/qdmKVqVMwKACvZg8xigRBg4e5PMsgpGQf9OxHTlhIiqAjwxmi7tHAy1t1fHuqDCZmqpQG5banOPvr4R5w4q47jKAJNqRsofgZACQKo8KkSHxY5VWZNx5bOfZYdEcWcNqpAAAAFQCXElvdvY+/aILI5a1z4fKRybA7GQAAAIB+5v/foiMKyZ+JEocToPIj2fP4mH7o8xnA1T8HKUGOiutxT/TWT4OnUMmquA/XVdzOyJ/tEeznfUDvlJZzKtFoW75ftQ8Or0AJj68jGQQ3wxQW5TXKuOCoo4vdf0ZQ+ASbzY1ECdxiQEB5kWusWbpes/eyTzDzjpUjMfR2JS5+rAAAAIAksQfdasobfpGuqLIvHBpgSFyas9J6EguBQVauNyLy7IE/WmAN1zgbYvBVU7KY3WUr5pgum9GcExCfnGH/qW7zR7M5zbZdOwq2W4AphXibkf+YbB2q1BouigbUzCiA54wa6XArtHsx0PpzyToHjAplnI4O5DhJ1SQNHClLbfA9Gw== erics@hurlevent
|
||
251 | \" > ~abecmd/.ssh/authorized_keys
|
||
252 | chmod 700 ~abecmd/.ssh -R
|
||
253 | chown abecmd:admin ~abecmd/.ssh -R
|
||
254 | b915f380 | Eric Seigne | adduser abecmd admin || true
|
255 | 1c14bcc4 | Eric Seigne | cd ~abecmd
|
256 | wget apt.ryxeo.com/ryxeo/bashrc -O .bashrc
|
||
257 | chown abecmd .bashrc
|
||
258 | ";
|
||
259 | |||
260 | //Et maintenant on sauvegarde qqpart le code/pass du pack
|
||
261 | $commande .= " |
||
262 | echo \"" . $code . ":" . $pass . "\" > /etc/abuledu/epack |
||
263 | b915f380 | Eric Seigne | chown aesd:www-data /etc/abuledu/epack || true
|
264 | chmod 640 /etc/abuledu/epack || true
|
||
265 | sed -i -e \"/.*EPACK.*/D\" /etc/abuledu/rvd || true
|
||
266 | echo RVD_EPACK_CODE=\\\"$code\\\" >> /etc/abuledu/rvd
|
||
267 | 1c14bcc4 | Eric Seigne | ";
|
268 | |||
269 | //L'identification du revendeur ... a améliorer
|
||
270 | $commande .= make_rvd_conffile();
|
||
271 | |||
272 | //Il faudrait egalement faire la base pour OCS-NG et les remontees automatiques ... on utilisera le code du epack
|
||
273 | } |
||
274 | |||
275 | function make_rvd_conffile() { |
||
276 | global $DB; |
||
277 | //Securisation de l'identification du revendeur ... a améliorer
|
||
278 | $commande .= " |
||
279 | chown aesd /etc/abuledu/rvd
|
||
280 | chmod 400 /etc/abuledu/rvd
|
||
281 | ";
|
||
282 | |||
283 | } |
||
284 | |||
285 | function add_user_and_update_link($usermail,$identity,$userlastname,$userfirstname,$tag="") { |
||
286 | global $DB; |
||
287 | global $message; |
||
288 | global $send_mail; |
||
289 | |||
290 | if(trim($usermail) == "") { |
||
291 | $message .= "<li><font color=\"red\">ERROR ($tag)</font> compte utilisateur sans adresse email ! $userlastname :: $userfirstname</li>\n"; |
||
292 | return;
|
||
293 | } |
||
294 | |||
295 | $query = "SELECT * from glpi_users WHERE email='$usermail'"; |
||
296 | $result = $DB->query($query); |
||
297 | //$message .= "<p>nb ; " . $DB->numrows($result) . " req : $query</p>";
|
||
298 | if($DB->numrows($result)>0) { |
||
299 | $data = $DB->fetch_assoc($result); |
||
300 | $iduser = $data['ID']; |
||
301 | //existe dejà on fait juste le lien s'il n'existe pas déjà
|
||
302 | $query2 = "SELECT * FROM glpi_users_profiles WHERE FK_users='$iduser' AND FK_entities='$identity'"; |
||
303 | 5c3812b2 | root | //$message .= "$query2";
|
304 | 1c14bcc4 | Eric Seigne | $result2 = $DB->query($query2); |
305 | if($DB->numrows($result2)<=0) { |
||
306 | cb915e0f | Eric Seigne | //pour eviter qu'un utilisateur se retrouve dans l'entite racine ...
|
307 | if(trim($identity) != 0) { |
||
308 | $query3 = "INSERT INTO glpi_users_profiles(FK_users,FK_entities,FK_profiles,recursive,dynamic) VALUES('$iduser','$identity',1,0,1)"; |
||
309 | $result3 = $DB->query($query3); |
||
310 | $send_mail = 1; |
||
311 | if($result3) |
||
312 | $message .= "<li>Attribution des droits de l'utilisateur $usermail sur le serveur: <font color=\"green\">OK</font></li>\n"; |
||
313 | else {
|
||
314 | $message .= "<li>Attribution des droits de l'utilisateur $usermail sur le serveur: <font color=\"red\">ERROR</font></li>\n"; |
||
315 | } |
||
316 | } |
||
317 | 1c14bcc4 | Eric Seigne | else {
|
318 | b069f62c | root | $message .= "<li>Tentative de lien avec l'entité racine($identity) refusée pour $usermail: <font color=\"red\">ERROR</font></li>\n"; |
319 | d485029b | root | //$message .= "<li>$query2</li>\n";
|
320 | 1c14bcc4 | Eric Seigne | } |
321 | } |
||
322 | //Sinon c'est que tout est déjà fait !
|
||
323 | } |
||
324 | //Sinon c'est que l'utilisateur n'existe pas encore dans la base
|
||
325 | else {
|
||
326 | //Insérer l'utilisateur ... et appel sur la même fonction qui cette fois ci fera le reste :)
|
||
327 | $query2 = "INSERT INTO glpi_users(name,email,realname,firstname,FK_profiles,FK_entities,auth_method) VALUES( |
||
328 | '$usermail',
|
||
329 | '$usermail',
|
||
330 | '$userlastname',
|
||
331 | '$userfirstname',
|
||
332 | '0',
|
||
333 | '$identity',
|
||
334 | '1'
|
||
335 | )";
|
||
336 | $result2 = $DB->query($query2); |
||
337 | $send_mail = 1; |
||
338 | if($result2) { |
||
339 | $message .= "<li>Création du compte utilisateur $usermail : <font color=\"green\">OK</font></li>\n"; |
||
340 | add_user_and_update_link($usermail,$identity,$userlastname,$userrfirstname,$tag); |
||
341 | } |
||
342 | else {
|
||
343 | $message .= "<li>Création du compte utilisateur $usermail : <font color=\"red\">ERROR</font></li>\n"; |
||
344 | } |
||
345 | } |
||
346 | } |
||
347 | |||
348 | //Vite une session
|
||
349 | session_start(); |
||
350 | if(trim($_GET['reset']) != "") { |
||
351 | // Finalement, on détruit la session.
|
||
352 | session_destroy(); |
||
353 | header('Location: http://abuledu.net/epack/register/'); |
||
354 | } |
||
355 | //print_r($_SESSION);
|
||
356 | //recupration des variables de l'url
|
||
357 | $g_http_request = $_SERVER['REQUEST_URI']; |
||
358 | //$message .= "<p>Du cote abuledu.net ...</p>";
|
||
359 | if($_SESSION['epack_session'] > 1) { |
||
360 | $pass = strtoupper($_SESSION['epack_pass']); |
||
361 | $code = strtoupper($_SESSION['epack_code']); |
||
362 | if(isset($_POST['login_email'])) { |
||
363 | $login_email = $_POST['login_email']; |
||
364 | $login_pass = $_POST['login_pass']; |
||
365 | } |
||
366 | if(isset($_SESSION['login_email'])) { |
||
367 | $login_email = $_SESSION['login_email']; |
||
368 | $login_pass = $_SESSION['login_pass']; |
||
369 | } |
||
370 | } |
||
371 | else {
|
||
372 | //Si on est sur un formulaire POST (on casse la limite de la taille de la requete GET)
|
||
373 | if(isset($_POST["pass"])) { |
||
374 | //$message .= "Passage en POST";
|
||
375 | $pass = $_POST["pass"]; |
||
376 | $code = strtoupper($_POST["code"]); |
||
377 | $datapost = array(); |
||
378 | //$message .= "<p>Req::" . $_SERVER['REQUEST_URI'] . "</p>";
|
||
379 | foreach($_POST as $key=>$value) { |
||
380 | $datapost[$key]=$value; |
||
381 | //$message .= "<p>" . $key . " -> " . $value . "</p>";
|
||
382 | } |
||
383 | } |
||
384 | else {
|
||
385 | ereg(".*pass=(.*).code=(.*).data=(.*)",$_SERVER['REQUEST_URI'],$regs); |
||
386 | $pass = addslashes($regs[1]); |
||
387 | $code = strtoupper(addslashes($regs[2])); |
||
388 | $keyvalue_list=explode("&",base64_decode($regs[3])); |
||
389 | $datapost = array(); |
||
390 | //$message .= "<p>Req::" . $_SERVER['REQUEST_URI'] . "</p>";
|
||
391 | foreach($keyvalue_list as $key=>$value) { |
||
392 | // Explode each individual key/value into an array
|
||
393 | $keyvalue=explode("=",$value); |
||
394 | // Make sure we have a "key=value" array
|
||
395 | if(count($keyvalue)==2) { |
||
396 | $datapost[$keyvalue[0]]=$keyvalue[1]; |
||
397 | //$message .= "<p>" . $keyvalue[0] . " -> " . $keyvalue[1] . "</p>";
|
||
398 | } |
||
399 | else {
|
||
400 | //$message .= "<p>XXX:" . $value . "</p>";
|
||
401 | } |
||
402 | } |
||
403 | } |
||
404 | |||
405 | //Ou du POST
|
||
406 | if(trim($pass) == "" || trim($code) == "") { |
||
407 | $pass = addslashes($_POST['pass']); |
||
408 | $code = addslashes(strtoupper($_POST['code'])); |
||
409 | } |
||
410 | } |
||
411 | $_SERVER['REQUEST_URI'] = ""; |
||
412 | $_SERVER['HTTP_REFERER'] = ""; |
||
413 | define('GLPI_ROOT', '..'); |
||
414 | include (GLPI_ROOT . "/inc/includes.php"); |
||
415 | |||
416 | include ("ryxeo.php"); |
||
417 | abd6eaaa | Eric Seigne | include('Mail.php'); |
418 | include('Mail/mime.php'); |
||
419 | 1c14bcc4 | Eric Seigne | |
420 | 84a3aa0e | Eric Seigne | //Si epack ryxeo de tests
|
421 | if(stripos($code, "RYXEO-TESTS-")) { |
||
422 | abd6eaaa | Eric Seigne | if(is_array($datapost)) { |
423 | $k = array_keys($datapost); |
||
424 | for($i = 0; $i < count($k); $i++) { |
||
425 | $key = $k[$i]; |
||
426 | $debug .= $key . "=" . $datapost[$key] . "\n"; |
||
427 | } |
||
428 | 1c14bcc4 | Eric Seigne | } |
429 | ea4a2a64 | Eric Seigne | } |
430 | 84a3aa0e | Eric Seigne | if(isset($datapost["MINIWEBADMIN"]) && stripos($code, "-TESTS-")) { |
431 | ea4a2a64 | Eric Seigne | $message .= "<p><h2>Vous pouvez maintenant passer à l'étape suivante: <a href=\"/maj/\">la 1ere mise à jour de votre serveur.</a></h2></p>\n"; |
432 | //le flag qui indique a miniwebadmin que le epack est enregistre
|
||
433 | $commande .= "\n touch /tmp/epack.ok \n"; |
||
434 | } |
||
435 | abd6eaaa | Eric Seigne | |
436 | ea4a2a64 | Eric Seigne | if(trim($debug) != "" ) { |
437 | $message .= "<pre> |
||
438 | 6fd1e9d9 | Eric Seigne | $debug
|
439 | </pre>";
|
||
440 | ea4a2a64 | Eric Seigne | } |
441 | |||
442 | f8c1248f | Eric Seigne | //On ne fait pas tout le bazaaar, on teste / valide la procedure uniquement
|
443 | if(stripos($code, "-TESTS-")) { |
||
444 | make_pdf($pass,$code,$datapost); |
||
445 | send_mail_installation($pass,$code,$datapost); |
||
446 | } |
||
447 | ea4a2a64 | Eric Seigne | //print_r($_SERVER);
|
448 | //On ne fait pas tout le bazaaar, on teste / valide la procedure uniquement
|
||
449 | f8c1248f | Eric Seigne | if(stripos($code, "-TESTS-")) { |
450 | 84a3aa0e | Eric Seigne | $object = array(); |
451 | $object['message'] = "<h1>Enregistrement de votre serveur avec un ePack</h1>\n"; |
||
452 | $object['message'] .= $message; |
||
453 | $object['command'] = $commande; |
||
454 | |||
455 | print serialize($object); |
||
456 | 6fd1e9d9 | Eric Seigne | return;
|
457 | ea4a2a64 | Eric Seigne | } |
458 | 1c14bcc4 | Eric Seigne | |
459 | //print "<pre>";
|
||
460 | //print_r($datapost);
|
||
461 | //$message .= implode("::",$datapost);
|
||
462 | //print "</pre>";
|
||
463 | //reset ...
|
||
464 | //print_r($_SESSION);
|
||
465 | //unset($_SESSION['epack_session']);
|
||
466 | if(trim($pass) != "" && trim($code) != "") { |
||
467 | $query = "SELECT * FROM glpi_plugin_anet_epacks |
||
468 | LEFT JOIN glpi_entities AS g ON FK_client=g.ID
|
||
469 | WHERE code='$code' AND password='$pass'";
|
||
470 | $result = $DB->query($query); |
||
471 | $mac0 = trim(strtolower($datapost['MAC0'])); |
||
472 | $mac1 = trim(strtolower($datapost['MAC1'])); |
||
473 | //$data=$DB->fetch_assoc($result);
|
||
474 | //$nbresultat = $DB->numrows($result);
|
||
475 | // print_r($data);
|
||
476 | // exit;
|
||
477 | if($DB->numrows($result)>0) { |
||
478 | $data=$DB->fetch_assoc($result); |
||
479 | |||
480 | //$message .= "Eric ... " . $mac0 . ": $code : $mac1";
|
||
481 | if( ! verification_data() ) {
|
||
482 | $message .= "<p><font color=\"red\">Erreur, il manque des informations ou certaines informations ne sont pas correctes sur la <a href=\"/installation/\">fiche d'identité du serveur</a>. Merci de les corriger tout de suite et de repasser ensuite sur cette page !!!</font></p>\n"; |
||
483 | } |
||
484 | //pack deja attribué à un serveur ?
|
||
485 | else if($data['FK_serveur'] > 0) { |
||
486 | af8e09aa | Eric Seigne | // make_conffiles($datapost['MAC0'],$pass,$code);
|
487 | 1c14bcc4 | Eric Seigne | if( strlen($mac0) == 12 && strlen($mac1) == 12) { |
488 | //Petite vérification, si c'est le même serveur qu'on a réinstallé x fois on laisse faire
|
||
489 | $query2 = "SELECT * FROM glpi_computers WHERE os_license_number LIKE '" . $mac0 . "%' OR os_license_number LIKE '" . $mac1 . "%' "; |
||
490 | $result2 = $DB->query($query2); |
||
491 | $data2=$DB->fetch_assoc($result2); |
||
492 | //Ce pack a été utilisé pour ce serveur ... ok
|
||
493 | if($data2['ID'] == $data['FK_serveur']) { |
||
494 | $nbu = $data['nbused']; |
||
495 | make_conffiles($datapost['MAC0'],$pass,$code); |
||
496 | |||
497 | $message .= "<p>Ce pack a déjà été utilisé $nbu fois pour ce serveur. Si vous avez des difficultés pour utiliser ou configurer AbulÉdu, prennez contact avec la communauté des utilisateurs <a href=\"http://forum.abuledu.org\">sur les forums</a> ou par courriel avec la <a href=\"mailto:contact@ryxeo.com\">société RyXéo</a>, éditrice d'AbulÉdu.</p>\n"; |
||
498 | $message .= "<h4>Rappel des informations concernant ce serveur: </h4>"; |
||
499 | $message .= "<ul> |
||
500 | <li>Nom: " . $data2['name'] . "</li> |
||
501 | <li>Commentaires: " . $data2['comments'] . "</li> |
||
502 | </ul>\n";
|
||
503 | $message .= "<p>Merci d'avoir enregistré ce serveur. Pour toute demande de modification, veuillez utiliser votre compte abuledu.net ou prendre <a href=\"mailto:contact@ryxeo.com\">contact avec RyXéo</a></p>"; |
||
504 | |||
505 | d6c34dc8 | Eric Seigne | if(isset($datapost["MINIWEBADMIN"])) { |
506 | 6fd1e9d9 | Eric Seigne | $message .= "<p>Vous pouvez maintenant passer à l'étape suivante: <a href=\"/maj/\">la 1ere mise à jour de votre serveur.</a></p>\n"; |
507 | d6c34dc8 | Eric Seigne | //le flag qui indique a miniwebadmin que le epack est enregistre
|
508 | $commande .= "\n touch /tmp/epack.ok \n"; |
||
509 | } |
||
510 | 1c14bcc4 | Eric Seigne | //On incremente le compteur qui permettra de detecter les serveur tres souvent reinstalles
|
511 | $nbu = $data['nbused'] + 1; |
||
512 | $query3 = "UPDATE glpi_plugin_anet_epacks SET nbused='$nbu' WHERE code='$code' AND password='$pass'"; |
||
513 | $result3 = $DB->query($query3); |
||
514 | |||
515 | //On update les liens etc. (si on a change les comptes utilisateurs par ex.)
|
||
516 | //TODO
|
||
517 | $query1 = "SELECT * FROM glpi_entities WHERE name='" . addslashes($datapost['INAME']) . "' AND parentID='" . $data['FK_client'] . "'"; |
||
518 | $result1 = $DB->query($query1); |
||
519 | if($DB->numrows($result1) > 0) { |
||
520 | //L'entité existe déjà ...
|
||
521 | $data1 = $DB->fetch_assoc($result1); |
||
522 | $identityenduser = $data1['ID']; |
||
523 | } |
||
524 | b069f62c | root | else {
|
525 | //$message .= "<p>Erreur : $query1</p>";
|
||
526 | } |
||
527 | d485029b | root | //$message .= "<li>Entity: $query1</li>\n";
|
528 | 1c14bcc4 | Eric Seigne | add_user_and_update_link($datapost['IEMAIL'], $identityenduser,$datapost['INAME'],$datapost['ICITY'],"Installation"); |
529 | add_user_and_update_link($datapost['ADM_EMAIL'], $identityenduser,$datapost['ADM_LASTNAME'],$datapost['ADM_FIRSTNAME'],"Directrice ou directeur"); |
||
530 | add_user_and_update_link($datapost['PR_EMAIL'], $identityenduser,$datapost['PR_LASTNAME'],$datapost['PR_FIRSTNAME'],"Autre contact"); |
||
531 | add_user_and_update_link($datapost['ATICE_EMAIL'], $identityenduser,$datapost['ATICE_LASTNAME'],$datapost['ATICE_FIRSTNAME'],"Animateur TICE"); |
||
532 | |||
533 | make_conffiles($datapost['MAC0'],$pass,$code); |
||
534 | |||
535 | |||
536 | } |
||
537 | //Sinon, c'est louche, on informe ryxeo et on avertis l'utilisateur
|
||
538 | else {
|
||
539 | $message .= "<p>Attention, Ce pack a déjà été attribué à un serveur !</p>\n"; |
||
540 | $message .= "<p>Les packs sont à usage unique, merci d'acheter un nouveau pack pour ce serveur ou <a href=\"mailto:contact@ryxeo.com\">contactez-nous</a> si vous pensez qu'il s'agit d'une erreur.</p>\n"; |
||
541 | |||
542 | $mail_content = " |
||
543 | Bonjour,
|
||
544 | le pack $pass :: $code vient d'être utilisé pour enregistrer un serveur alors que ce pack a déjà
|
||
545 | été utilisé. Merci de vérifier s'il ne s'agit pas d'une tentative de réinstallation multiple ...
|
||
546 |
|
||
547 | Informations brutes récoltées:
|
||
548 |
|
||
549 | ";
|
||
550 | foreach ($datapost as $key => $value) { |
||
551 | $mail_content .= "$key -> $value\n"; |
||
552 | } |
||
553 | |||
554 | $mail_content .= " |
||
555 |
|
||
556 | --
|
||
557 | abuledu.net est un service de RyXéo SARL, société éditrice d'AbulÉdu
|
||
558 |
|
||
559 | ";
|
||
560 | ryxeo_mail("anet@ryxeo.com",$mail_content,"contact@ryxeo.com","Pack déjà activé plusieurs fois !"); |
||
561 | } |
||
562 | } |
||
563 | } |
||
564 | //pack deja utilise ? si oui c'est qu'il a bien été activé
|
||
565 | else if($data['FK_activation'] > 0) { |
||
566 | $notes = "Données collectées lors de l'enregistrement du serveur le " . date("Y-m-d") . "\n\n"; |
||
567 | foreach ($datapost as $key => $value) { |
||
568 | $notes .= "$key = $value\n"; |
||
569 | } |
||
570 | //On créé l'entité de l'école dans l'entité du client qui est elle même dans l'entité du revendeur
|
||
571 | $query1 = "SELECT * FROM glpi_entities WHERE name='" . addslashes($datapost['INAME']) . "' AND parentID='" . $data['FK_client'] . "'"; |
||
572 | $result1 = $DB->query($query1); |
||
573 | if($DB->numrows($result1) > 0) { |
||
574 | //L'entité existe déjà ...
|
||
575 | $data1 = $DB->fetch_assoc($result1); |
||
576 | $identityenduser = $data1['ID']; |
||
577 | } |
||
578 | else {
|
||
579 | //L'entité n'existe pas, on l'ajoute
|
||
580 | $query1 = "INSERT INTO glpi_entities VALUES('','" . addslashes($datapost['INAME']) . "'," . $data['FK_client'] . ",'" . $data['completename'] . " > " . addslashes($datapost['INAME']) . "','',5)"; |
||
581 | $result1 = $DB->query($query1); |
||
582 | $send_mail = 1; |
||
583 | } |
||
584 | $query1 = "SELECT * from glpi_entities WHERE name='" . addslashes($datapost['INAME']) . "' AND parentID='" . $data['FK_client'] . "';"; |
||
585 | $result1 = $DB->query($query1); |
||
586 | $data1 = $DB->fetch_assoc($result1); |
||
587 | //Creation ok
|
||
588 | $identityenduser = $data1['ID']; |
||
589 | if($DB->numrows($result1) > 0) { |
||
590 | $query1 = "INSERT INTO glpi_entities_data VALUES('',$identityenduser,'" . |
||
591 | addslashes($datapost['IADDRESS0'] . " " . $datapost['IADDRESS1'] ) . "','" . |
||
592 | addslashes($datapost['IPOSTALCODE']) . "','" . |
||
593 | addslashes($datapost['ICITY']) . "','" . |
||
594 | "','" .
|
||
595 | addslashes($datapost['ICOUNTRY']) . "','" . |
||
596 | "','" .
|
||
597 | addslashes($datapost['ITEL']) . "','" . |
||
598 | "','" .
|
||
599 | addslashes($datapost['IEMAIL']) . "','" . |
||
600 | "','" .
|
||
601 | "','" .
|
||
602 | "');";
|
||
603 | $result1 = $DB->query($query1); |
||
604 | //print $query1;
|
||
605 | //print_r($data1);
|
||
606 | $message .= "<ul>\n"; |
||
607 | if($result1) |
||
608 | $message .= "<li>Création de l'école: <font color=\"green\">OK</font></li>\n"; |
||
609 | else {
|
||
610 | $message .= "<li>Création de l'école: <font color=\"red\">ERROR</font></li>\n"; |
||
611 | } |
||
612 | |||
613 | } |
||
614 | |||
615 | //Il faut inserer le serveur dans le compte du client final et faire le toutim
|
||
616 | $query2 = "INSERT INTO glpi_computers(FK_entities,name,date_mod,os_license_number,comments,notes,state) |
||
617 | VALUES(
|
||
618 | '" . $identityenduser . "', |
||
619 | '" . addslashes($datapost['INAME']) . "', |
||
620 | NOW(),
|
||
621 | '" . $mac0 . ".dip.abuledu.net', |
||
622 | '" . addslashes($datapost['ICOMMENT']) . "', |
||
623 | '" . addslashes($notes) . "', |
||
624 | '1'
|
||
625 | )";
|
||
626 | $result2 = $DB->query($query2); |
||
627 | $send_mail = 1; |
||
628 | |||
629 | $query2 = "SELECT * from glpi_computers WHERE name='" . addslashes($datapost['INAME']) . "' AND os_license_number='" . $mac0 . ".dip.abuledu.net';"; |
||
630 | // print "select $query2";
|
||
631 | $result2 = $DB->query($query2); |
||
632 | $data2 = $DB->fetch_assoc($result2); |
||
633 | // print_r($data2);
|
||
634 | //Creation ok
|
||
635 | $idserver = $data2['ID']; |
||
636 | if($DB->numrows($result2) > 0) { |
||
637 | $message .= "<li>Ajout du serveur sur AbulÉdu.net: <font color=\"green\">OK</font></li>\n"; |
||
638 | |||
639 | //On attribue le pack au serveur
|
||
640 | $nbu = $data['nbused'] + 1; |
||
641 | $query3 = "UPDATE glpi_plugin_anet_epacks SET FK_serveur='" . $idserver . "', FK_enduser='" . $identityenduser . "', nbused='$nbu' WHERE code='$code' AND password='$pass'"; |
||
642 | $result3 = $DB->query($query3); |
||
643 | |||
644 | |||
645 | $query3 = "INSERT INTO glpi_computer_device(specificity,device_type,FK_device,FK_computers) |
||
646 | VALUES('" . $datapost['CPU'] . "','2','2','$idserver'), |
||
647 | ('" . $datapost['RAM'] . "','3','2','$idserver'), |
||
648 | ('" . $datapost['HDD0'] . "','4','4','$idserver'),"; |
||
649 | if(trim($datapost['HDD1'])) |
||
650 | $query3 .= "('" . $datapost['HDD1'] . "','4','4','$idserver'),"; |
||
651 | $query3 .= "('" . $datapost['MAC0'] . "','5','2','$idserver'), |
||
652 | ('" . $datapost['MAC1'] . "','5','2','$idserver');"; |
||
653 | $result3 = $DB->query($query3); |
||
654 | $send_mail = 1; |
||
655 | if($result3) |
||
656 | $message .= "<li>Ajout des pièces détachées du serveur: <font color=\"green\">OK</font></li>\n"; |
||
657 | else
|
||
658 | $message .= "<li>Ajout des pièces détachées du serveur: <font color=\"red\">ERROR</font></li>\n"; |
||
659 | //Insertion des pièces détachées ok
|
||
660 | |||
661 | //Ajout des contacts liés à ce serveur ?
|
||
662 | add_user_and_update_link($datapost['IEMAIL'], $identityenduser,$datapost['INAME'],$datapost['ICITY'],"Installation"); |
||
663 | add_user_and_update_link($datapost['ADM_EMAIL'], $identityenduser,$datapost['ADM_LASTNAME'],$datapost['ADM_FIRSTNAME'],"Directrice ou directeur"); |
||
664 | add_user_and_update_link($datapost['PR_EMAIL'], $identityenduser,$datapost['PR_LASTNAME'],$datapost['PR_FIRSTNAME'],"Autre contact"); |
||
665 | add_user_and_update_link($datapost['ATICE_EMAIL'], $identityenduser,$datapost['ATICE_LASTNAME'],$datapost['ATICE_FIRSTNAME'],"Animateur TICE"); |
||
666 | |||
667 | //Création des fichiers de conf pour se rattacher a la maintenance (?) ... mais si pas de maintenance ?
|
||
668 | //On gerera ça sur les paiements des contrats associés
|
||
669 | make_conffiles($datapost['MAC0'],$pass,$code); |
||
670 | |||
671 | f8c1248f | Eric Seigne | //Mail d'information a ryxeo + pdf au rvendeur
|
672 | make_pdf($pass,$code,$datapost); |
||
673 | 6fd1e9d9 | Eric Seigne | send_mail_installation($pass,$code,$datapost); |
674 | f8c1248f | Eric Seigne | |
675 | af8e09aa | Eric Seigne | if(isset($datapost["MINIWEBADMIN"])) { |
676 | $message .= "</ul>\n<p>Vous pouvez maintenant passer à l'étape suivante: <a href=\"/maj/\">la 1ere mise à jour de votre serveur.</a></p>\n"; |
||
677 | //le flag qui indique a miniwebadmin que le epack est enregistre
|
||
678 | $commande .= "\n touch /tmp/epack.ok \n"; |
||
679 | } |
||
680 | else {
|
||
681 | $message .= "<li><font color=\"green\">Bravo</font> votre serveur est maintenant bien enregistré sur abuledu.net. Vous pouvez passer à l'étape de création automatique du <a href=\"recette.php\">cahier de recettes</a></li>\n"; |
||
682 | $message .= "</ul>\n"; |
||
683 | } |
||
684 | 1c14bcc4 | Eric Seigne | } |
685 | else
|
||
686 | $message .= "<li>Ajout du serveur sur anet: <font color=\"red\">ERROR</font></li>\n"; |
||
687 | } |
||
688 | else if ($data['activation_date'] == "0000-00-00") { |
||
689 | 6fd1e9d9 | Eric Seigne | $message .= "<p><font color=\"red\">Erreur, ce packs n'a pas été activé !!! Vous devez activer votre ePack tout de suite à l'adresse suivante, <a href=\"http://www.abuledu.net/epack/new\" target=\"_blank\">abuledu.net/epack/new</a> comme indiqué sur la fiche ePack.</font></p>\n"; |
690 | 1c14bcc4 | Eric Seigne | } |
691 | else {
|
||
692 | $message .= "<p><font color=\"red\">Erreur, ce pack a déjà été utilisé ou n'a pas encore été activé !!!</font></p>\n"; |
||
693 | } |
||
694 | } |
||
695 | else {
|
||
696 | $message .= "<p><font color=\"red\">Erreur de code ou de mot de passe epack !!!</font></p>\n"; |
||
697 | } |
||
698 | } |
||
699 | else {
|
||
700 | $message .= "<p><font color=\"red\">Erreur: code ou mot de passe epack invalide.</font></p>\n"; |
||
701 | } |
||
702 | |||
703 | $object = array(); |
||
704 | 84a3aa0e | Eric Seigne | if(trim($message) == "") |
705 | 1c14bcc4 | Eric Seigne | $message .= "<p><font color=\"red\">Erreur non prévue, merci de contacter RyXéo sans tarder...</font></p>"; |
706 | $object['message'] = "<h1>Enregistrement de votre serveur avec un ePack</h1>\n"; |
||
707 | $object['message'] .= $message; |
||
708 | $object['command'] = $commande; |
||
709 | |||
710 | //On touche le fichier pour forcer un update de gnudip et des accreditations ... uniquement si epack valide
|
||
711 | if($send_mail) { |
||
712 | @touch("/tmp/update-anet"); |
||
713 | @chmod("/tmp/update-anet",0666); |
||
714 | } |
||
715 | print serialize($object); |
||
716 | //print_r($_SERVER);
|
||
717 | |||
718 | ?> |