1:<?
2:session_start();
3:
4:/*
5:if (!$_SERVER['HTTPS']) {
6: header("Location: https://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']);
7: die();
8:}
9:*/
10:
11:include('class.rFastTemplate.php');
12:include("./php/config.php");
13:include("./php/common.php");
14:
15:$tpl = new rFastTemplate("templates");
16:
17://inicialitzem plantilles
18:ini_tpls($tpl);
19:
20:
21:// menu de navegacio
22:if ($_GET['nav']=='intro') { // introduccio
23: $tpl->parse(COS, "cos");
24:} elseif ($_GET['nav']=='cerca') { // realitzar cerca
25: $tpl->parse(COS, "mapacerca");
26:} elseif ($_GET['nav']=='consulta') { // consultar dades reserva
27: $tpl->parse(COS, "consulta");
28:} else {
29: $tpl->parse(COS, "cos");
30:}
31:// fi menu de navegacio
32:
33:
34:// si registre de nou o editar empresari hostaler
35: //si registre nou eh
36:if ($_POST['regnou1']) {
37: $tpl->assign ('TITOL', 'Dades nou empresari hostaler');
38: $tpl->assign ('TEXT', 'Introdueix les dades necessàries per a registrar un nou empresari hostaler. Amb * es marquen els camps obligatoris.');
39: $tpl->assign ('DROP', '');
40: $tpl->assign (array (NOMEH => '', COGNOM1EH => '', COGNOM2EH => '', NIFEH => '', NIFLLETRAEH => '', TELEH => '', ADRECAEH => '', CODPOSTALEH => '', POBLACIOEH => '', VALPROV => '0', TEXTPROV => 'Selecciona la teua provincia', EMAILEH => '', PASS1EH => '', PASS2EH => '', READONLY => '', ESNOUEH => '1'));
41: $tpl->parse(COS, "noueh");
42:}
43: // si editar eh
44:if (($_GET['nav'] == 'eh') && ($_SESSION['emailreg'])){
45: $tpl->assign ('TITOL', 'Modificar empresari hostaler');
46: $tpl->assign ('TEXT', "Modifica les dades que desitges. L'<b>e-mail</b>, per ser l'identificador, no es pot canviar.");
47: $tpl->assign ('DROP', "Si vols esborrar l'<b>empresari hostaler</b> fes click ací:<form action='eh.php' method='post'><input name='idehdrop' type='hidden' value='".$_SESSION['idreg']."'><input type='submit' value='Eliminar'></form>");
48: $query = mysql_query("SELECT * from Empresari_hostaler where EH_Email = '".$_SESSION['emailreg']."'", $link);
49: $f = mysql_fetch_array($query);
50: $tpl->assign (array (NOMEH => $f['EH_Nom'], COGNOM1EH => $f['EH_Cognom1'], COGNOM2EH => $f['EH_Cognom2'], NIFEH => substr($f['EH_NIF'], 0, 8), NIFLLETRAEH => $f['EH_NIF']{8}, TELEH => $f['EH_Telefon'], ADRECAEH => $f['EH_Adreca'], CODPOSTALEH => $f['EH_Codi_postal'], POBLACIOEH => $f['EH_Poblacio'], VALPROV => $f['EH_Provincia'], TEXTPROV => $f['EH_Provincia'], EMAILEH => $f['EH_Email'], PASS1EH => $f['EH_Password'], PASS2EH => $f['EH_Password'], READONLY => 'readonly', ESNOUEH => '0'));
51: $tpl->parse(COS, "noueh");
52:}
53:
54: //gestio de dades eh, introduir noves o modificacio
55:if ($_POST['nom'] || $_POST['cognom1'] || $_POST['cognom2'] || $_POST['nif'] || $_POST['niflletra'] || $_POST['tel'] || $_POST['adreca'] || $_POST['codipostal'] || $_POST['poblacio'] || $_POST['provincia'] || $_POST['email'] || $_POST['password1'] || $_POST['password2'] ) {
56: $errors='';
57:
58: //comprova que l'email no esta registrat; nomes ho comprova si estem creant un nou empresari hostaler
59: $consulta1 = mysql_query("SELECT EH_Email from Empresari_hostaler where EH_Email='".$_POST['email']."'", $link);
60: if (($f = mysql_fetch_array($consulta1)) && ($_POST['esnoueh']=='1')){
61: $errors.="<li>L'<b>e-mail</b> introduit ja ha estat enregistrat</li>";
62: }
63: // comprova errors en dades a introduir [a-zA-Z]
64: if (!ereg("^.{2,25}$", $_POST['nom'])) {
65: $errors.="<li>El <b>nom</b> és incorrecte</li>";
66: }
67: if (!ereg("^.{2,25}$", $_POST['cognom1'])) {
68: $errors.="<li>El <b>primer cognom</b> és incorrecte</li>";
69: }
70: if (!ereg("^.{0,25}$", $_POST['cognom2'])) {
71: $errors.="<li>El <b>segon cognom</b> és incorrecte</li>";
72: }
73: if (!ereg("^[0-9]{8}$", $_POST['nif'])) {
74: $errors.="<li>El <b>NIF</b> ha de tindre 8 dígits</li>";
75: }
76: function dni($dni) {
77: $lletres="TRWAGMYFPDXBNJZSQVHLCKET";
78: $lletra=$lletres{($dni%23)};
79: return $lletra;
80: }
81: if ((dni($_POST['nif'])) != (strtoupper($_POST['niflletra']))) {
82: $errors.="<li>El <b>NIF</b> i la <b>lletra</b> no es corresponen</li>";
83: }
84: if (!ereg("^[0-9]{9,9}$", $_POST['tel'])) {
85: $errors.="<li>El <b>telèfon</b> és incorrecte</li>";
86: }
87: if (!ereg("^.{3,100}$", $_POST['adreca'])) {
88: $errors.="<li>L'<b>adreça</b> és incorrecta</li>";
89: }
90: if (!ereg("^[0-9]{5}$", $_POST['codipostal'])) {
91: $errors.="<li>El <b>codi postal</b> és incorrecte</li>";
92: }
93: if (!ereg("^.{2,50}$", $_POST['poblacio'])) {
94: $errors.="<li>La <b>població</b> és incorrecta</li>";
95: }
96: if (($_POST['provincia'] == 0) || ($_POST['provincia'] == '')) {
97: $errors.="<li>La <b>provincia</b> és incorrecta</li>";
98: }
99: if (($_POST['provincia']{0} != $_POST['codipostal']{0}) || ($_POST['provincia']{1} != $_POST['codipostal']{1})){
100: $errors.="<li>La <b>provincia</b> no es correspon al <b>codi postal</b></li>";
101: }
102: if (!ereg("^[a-zA-Z0-9-]([\._a-zA-Z0-9-]+)*@[a-zA-Z0-9]+\.([a-zA-Z0-9-]+[\.]?)*$", $_POST['email'])) {
103: $errors.="<li>L'<b>e-mail</b> és incorrecte</li>";
104: }
105: if (!ereg("^.{6,25}", $_POST['password1'])) {
106: $errors.="<li>El <b>password</b> ha de tindre 6 caràcters com a mínim</li>";
107: }
108: if ($_POST['password1'] != $_POST['password2']) {
109: $errors.="<li>Els <b>password</b> no són iguals</li>";
110: }
111: // gestiona els errors
112: if (!empty($errors)) {
113: $errors="<ul>".$errors;
114: $errors.="</ul><a href='javascript:history.back()'>Tornar a la pàgina anterior</a>";
115: if ($_POST['esnoueh'] == '1') {
116: $tpl->assign ('TITOL', "Errors en les dades incloses en el registre de nou Empresari Hostaler");
117: } else {
118: $tpl->assign ('TITOL', "Errors en les dades incloses per a editar Empresari Hostaler");
119: }
120: $tpl->assign ('AUX', $errors);
121: $tpl->parse(COS, "aux");
122: } else {
123: $nif = $_POST['nif'].(strtoupper($_POST['niflletra']));
124: if ($_POST['esnoueh'] == '1') { // si es nou empresari hostaler, insertem les noves dades
125: mysql_query("INSERT INTO Empresari_hostaler ( EH_Codi , EH_Nom, EH_Cognom1 , EH_Cognom2 , EH_NIF , EH_Telefon , EH_Adreca , EH_Codi_postal , EH_Poblacio, EH_Provincia, EH_Email , EH_Password , EH_Actiu) VALUES ('', '{$_POST['nom']}', '{$_POST['cognom1']}', '{$_POST['cognom2']}' , '{$nif}', '{$_POST['tel']}', '{$_POST['adreca']}', '{$_POST['codipostal']}', '{$_POST['poblacio']}', '{$_POST['provincia']}', '{$_POST['email']}', '{$_POST['password1']}', '1')", $link);
126: } else { // si estem modificant, fem update
127: mysql_query("UPDATE Empresari_hostaler SET EH_Nom='".$_POST['nom']."', EH_Cognom1='".$_POST['cognom1']."', EH_Cognom2='".$_POST['cognom2']."', EH_NIF='".$nif."', EH_Telefon='".$_POST['tel']."', EH_Adreca='".$_POST['adreca']."', EH_Codi_postal='".$_POST['codipostal']."', EH_Poblacio='".$_POST['poblacio']."', EH_Provincia='".$_POST['provincia']."', EH_Password='".$_POST['password1']."' where EH_Email='".$_POST['email']."'", $link);
128: }
129: $my_error = mysql_error($link);
130: if(!empty($my_error)) {
131: $tpl->assign ('TITOL', "Errors");
132: $tpl-> assign ('AUX', $my_error);
133: $tpl->parse(COS, "aux");
134: } else {
135: if ($_POST['esnoueh'] == '1') {
136: $tpl->assign ('TITOL', "Registre correcte de nou Empresari Hostaler");
137: $tpl->assign ('AUX', "Per a accedir al menú de gestió de <b>Complexos Rurals</b>, ha d'introduïr el seu <b>e-mail</b> i la seua <b>password</b> a la <b>Zona Privada</b>.</br></br>Gràcies per utilitzar aquest servei.</br></br>");
138: $tpl->parse(COS, "aux");
139: } else {
140: $tpl->assign ('TITOL', "Modificació correcta de les dades d'Empresari Hostaler");
141: $tpl->assign ('AUX', "Per a accedir al menú de gestió de <b>Complexos Rurals</b>, ha d'introduïr el seu <b>e-mail</b> i la seua <b>password</b> a la <b>Zona Privada</b>.</br></br>Gràcies per utilitzar aquest servei.</br></br>");
142: $tpl->parse(COS, "aux");
143: }
144: }
145: }
146:}
147:// fi nou o editar empresari hostaler
148:
149:
150:// gestio de cerques
151:if ($_GET['prov'] !='') {
152: $tpl->assign('PROVINCIA', $_GET['prov']);
153: $tpl->parse(COS, "cerca");
154:}
155:if ($_POST['ccprovincia'] || $_POST['cctipusall'] || $_POST['ccapacitat'] || $_POST['ccpreu'] || $_POST['ccdataini'] || $_POST['ccdatafi']) {
156: $ccerrors='';
157: // establim els parametres per a la consulta de preus
158: switch ($_POST['ccpreu']) {
159: case "0":
160: $ccpreumin = 0;
161: $ccpreumax = 999999;
162: break;
163: case "30":
164: $ccpreumin = 0;
165: $ccpreumax = 30;
166: break;
167: case "60":
168: $ccpreumin = 30;
169: $ccpreumax = 60;
170: break;
171: case "90":
172: $ccpreumin = 60;
173: $ccpreumax = 90;
174: break;
175: case "120":
176: $ccpreumin = 90;
177: $ccpreumax = 120;
178: break;
179: case "mes":
180: $ccpreumin = 120;
181: $ccpreumax = 999999;
182: break;
183: default:
184: $ccerrors.="<li>El <b>preu</b> és incorrecte</li>";
185: }
186: // funcio que torna true si data1 es anterior a data2
187: function chdata ($chdia1, $chmes1, $chany1, $chdia2, $chmes2, $chany2) {
188: if ($chany1 < $chany2) {
189: return true;
190: } elseif ($chany1 > $chany2) {
191: return false;
192: } else {
193: if ($chmes1 < $chmes2) {
194: return true;
195: } elseif ($chmes1 > $chmes2) {
196: return false;
197: } else {
198: if ($chdia1 < $chdia2) {
199: return true;
200: } else {
201: return false;
202: }
203: }
204: }
205: }
206: // comprovem que el format de les dates es correcte
207: if (!ereg("^[0-9]{2,2}\-[0-9]{2,2}\-[0-9]{4,4}$", $_POST['ccdataini'])) {
208: $ccerrors.="<li>La <b>data d'inici</b> és incorrecta</li>";
209: } else {
210: $ccdiaini = $_POST['ccdataini']{0}.$_POST['ccdataini']{1};
211: $ccmesini = $_POST['ccdataini']{3}.$_POST['ccdataini']{4};
212: $ccanyini = $_POST['ccdataini']{6}.$_POST['ccdataini']{7}.$_POST['ccdataini']{8}.$_POST['ccdataini']{9};
213: if (!(chdata(date('d'), date('n'), date('Y'), $ccdiaini, $ccmesini, $ccanyini))) {
214: $ccerrors.="<li>La <b>data d'inici</b> ha de ser posterior a l'actual</li>";
215: } else {
216: $datainiok = true;
217: }
218: }
219: if (!ereg("^[0-9]{2,2}\-[0-9]{2,2}\-[0-9]{4,4}$", $_POST['ccdatafi'])) {
220: $ccerrors.="<li>La <b>data de finalització</b> és incorrecta</li>";
221: } else {
222: $ccdiafi = $_POST['ccdatafi']{0}.$_POST['ccdatafi']{1};
223: $ccmesfi = $_POST['ccdatafi']{3}.$_POST['ccdatafi']{4};
224: $ccanyfi = $_POST['ccdatafi']{6}.$_POST['ccdatafi']{7}.$_POST['ccdatafi']{8}.$_POST['ccdatafi']{9};
225: if (!(chdata(date('d'), date('n'), date('Y'), $ccdiafi, $ccmesfi, $ccanyfi))) {
226: $ccerrors.="<li>La <b>data de finalització</b> ha de ser posterior a l'actual</li>";
227: } elseif ($datainiok) {
228: if (!(chdata($ccdiaini, $ccmesini, $ccanyini, $ccdiafi, $ccmesfi, $ccanyfi))) {
229: $ccerrors.="<li>La <b>data d'inici</b> ha de ser anterior a la <b>data de finalització</b></li>";
230: }
231: }
232: }
233: if (!ereg("^[0-9]{0,8}$", $_POST['ccapacitat'])) {
234: $ccerrors.="<li>La <b>capacitat</b> és incorrecta</li>";
235: }
236: if (($_POST['ccapacitat']) == '') { // si no especifiquem capacitat, les mostrem totes
237: $capacitat = '';
238: } else {
239: $capacitat = 'and a.A_Capacitat = '.$_POST['ccapacitat'];
240: }
241: if (($_POST['cctipusall']) == '') {
242: $_POST['cctipusall'] = '%';
243: }
244: if (!empty($ccerrors)) {
245: $ccerrors="<ul>".$ccerrors;
246: $ccerrors.="</ul><a href='javascript:history.back()'>Tornar a la pàgina anterior</a>";
247: $tpl->assign ('TITOL', "Errors en les dades incloses en la cerca");
248: $tpl->assign ('AUX', $ccerrors);
249: $tpl->parse(COS, "aux");
250: } else {
251:
252: //determinem la temporada
253: $temp=(temporada($ccmesini));
254: if ($temp=='Alta') {
255: $temporada= 'A_Preu_talta';
256: } else {
257: $temporada= 'A_Preu_tbaixa';
258: }
259:
260: $mydataini=$ccanyini.'-'.$ccmesini.'-'.$ccdiaini;
261: $mydatafi=$ccanyfi.'-'.$ccmesfi.'-'.$ccdiafi;
262:
263:// cerca 3 si que funciona!!!
264: $cerca = mysql_query("SELECT c.CR_Codi, c.CR_Nom, c.CR_Poblacio, c.CR_Tipus_allotjament, a.".$temporada." as preu, a.A_Capacitat, a.A_Codi from Complex_rural c, Allotjament a where c.CR_Codi=a.A_Complex_rural and c.CR_Actiu=1 and c.CR_Tipus_allotjament like '".$_POST['cctipusall']."' and c.CR_Provincia like '".$_POST['ccprovincia']."' ".$capacitat." and a.".$temporada." between ".$ccpreumin." and ".$ccpreumax." and a.A_Quantitat > (SELECT count(*) from Reserva r where a.A_Codi = r.R_Allotjament and ((r.R_Data_inici between '".$mydataini."' and '".$mydatafi."') or (r.R_Data_fi between '".$mydataini."' and '".$mydatafi."') or ((r.R_Data_inici < '".$mydataini."') and (r.R_Data_fi > '".$mydatafi."'))))", $link);
265: if (mysql_num_rows($cerca) == 0) {
266: $tpl->assign ('TITOL', "Resulltat cerca de complexos rurals");
267: $tpl->assign ('AUX', "La consulta no ha tornat cap resultat amb aquestos paràmetres de cerca<br><br><a href='javascript:history.back()'>Tornar a la pàgina anterior</a>");
268: $tpl->parse(COS, "aux");
269: } else {
270: while ($f = mysql_fetch_array($cerca)) {
271: $tpl->assign (array (RESULNOM => $f['CR_Nom'], RESULPOBLACIO => $f['CR_Poblacio'], RESULTIPUS => ucfirst(strtolower($f['CR_Tipus_allotjament'])), PREU => $f['preu'], CAPACITAT => $f['A_Capacitat'], LINKINFO => 'index.php?nav=mesinfo&idcr='.$f['CR_Codi'].'&idall='.$f['A_Codi'].'&dataini='.$mydataini.'&datafi='.$mydatafi.'&temporada='.$temp.'&preu='.$f['preu'].''));
272: $tpl->parse(ROWRESULCERCA, ".rowresulcerca");
273: }
274: $tpl->parse(COS, "resulcerca");
275: }
276: }
277:}
278:
279:// mostra informacio extesa del resultat de cerca seleccionat
280:if ($_GET['nav'] == 'mesinfo') {
281: $cerca = mysql_query("SELECT * from Complex_rural c, Allotjament a where c.CR_Codi = ".$_GET['idcr']." and a.A_Codi = ".$_GET['idall']." and c.CR_Codi = a.A_Complex_rural", $link);
282: if (mysql_num_rows($cerca) == 0) {
283: $tpl->assign ('TITOL', "Error en les dades");
284: $tpl->assign ('AUX', "Hi ha hagut un error en les dades incloses, torna a realitzar una cerca.");
285: $tpl->parse(COS, "aux");
286: } else {
287: $f = mysql_fetch_array($cerca);
288: $cost = (abs((strtotime($_GET['datafi']) - strtotime($_GET['dataini']))/86400)*$_GET['preu']);
289: $tpl->assign (array (IDCR => $f['CR_Codi'], NOMCR => $f['CR_Nom'], TELEFON => $f['CR_Telefon'], EMAIL => $f['CR_Email'], ADRECA => $f['CR_Adreca'], CODIPOSTAL => $f['CR_Codi_postal'], POBLACIO => $f['CR_Poblacio'], PROVINCIA => ucwords(strtolower(substr($f['CR_Provincia'], 3, (strlen($f['CR_Provincia'])-3)))), TIPUSALL => ucfirst(strtolower($f['CR_Tipus_allotjament'])), DESCRCR => $f['CR_Descripcio'], CAPACITAT => $f['A_Capacitat'], TEMPORADA => $_GET['temporada'], PREU => $_GET['preu'], NUMALL => $f['A_Quantitat'], DESCRALL => $f['A_Descripcio'], DATAINI => date_to_esp($_GET['dataini']), DATAFI => date_to_esp($_GET['datafi']), COST => $cost, MGET => 'index.php?nav=resok&idcr='.$_GET['idcr'].'&idall='.$_GET['idall'].'&dataini='.$_GET['dataini'].'&datafi='.$_GET['datafi'].'&cost='.$cost.''));
290: $tpl->parse(COS, "mesinfo");
291: }
292:}
293:
294: // confirmacio de la reserva
295:if ($_GET['nav'] == 'resok') {
296: $tpl->assign (array (IDCR => $_GET['idcr'], IDALL => $_GET['idall'], DATAINI => $_GET['dataini'], DATAFI => $_GET['datafi'], COST => $_GET['cost']));
297: $tpl->assign ('TITOL', "Dades de la reserva");
298: $tpl->parse(COS, "reservar");
299:}
300: // gestio de la reserva
301:if ($_POST['rnom'] || $_POST['rcognom1'] || $_POST['rcognom2'] || $_POST['rnif'] || $_POST['rniflletra'] || $_POST['rtel'] || $_POST['radreca'] || $_POST['rcodipostal'] || $_POST['rpoblacio'] || $_POST['rprovincia'] || $_POST['remail'] || $_POST['idcr'] || $_POST['idall'] || $_POST['dataini'] || $_POST['datafi'] || $_POST['cost'] ) {
302: $errors='';
303:
304: // comprova que segueix existint l'allotjament sense reserva i totes els elements complex rural i Allotjament
305: $cerca = mysql_query("SELECT * from Empresari_hostaler e, Complex_rural c, Allotjament a where e.EH_Codi=c.CR_Empresari_hostaler and c.CR_Codi=".$_POST['idcr']." and a.A_Codi=".$_POST['idall']." and c.CR_Codi=a.A_Complex_rural and a.A_Quantitat > (SELECT count(*) from Reserva r where a.A_Codi = r.R_Allotjament and ((r.R_Data_inici between '".$_POST['dataini']."' and '".$_POST['datafi']."') or (r.R_Data_fi between '".$_POST['dataini']."' and '".$_POST['datafi']."') or ((r.R_Data_inici < '".$_POST['dataini']."') and (r.R_Data_fi > '".$_POST['datafi']."'))))", $link);
306: if (mysql_num_rows($cerca) == 0) {
307: $errors.="<li>Error en les dades de nova reserva. L'allotjament desitjat ja ha sigut reservat.Torna a realizar una cerca</li>";
308: }
309: // comprova errors en dades a introduir
310: if (!ereg("^.{2,25}$", $_POST['rnom'])) {
311: $errors.="<li>El <b>nom</b> és incorrecte</li>";
312: }
313: if (!ereg("^.{2,25}$", $_POST['rcognom1'])) {
314: $errors.="<li>El <b>primer cognom</b> és incorrecte</li>";
315: }
316: if (!ereg("^.{0,25}$", $_POST['rcognom2'])) {
317: $errors.="<li>El <b>segon cognom</b> és incorrecte</li>";
318: }
319: if (!ereg("^[0-9]{8}$", $_POST['rnif'])) {
320: $errors.="<li>El <b>NIF</b> ha de tindre 8 dígits</li>";
321: }
322: function dni($dni) {
323: $lletres="TRWAGMYFPDXBNJZSQVHLCKET";
324: $lletra=$lletres{($dni%23)};
325: return $lletra;
326: }
327: if ((dni($_POST['rnif'])) != (strtoupper($_POST['rniflletra']))) {
328: $errors.="<li>El <b>NIF</b> i la <b>lletra</b> no es corresponen</li>";
329: }
330: if (!ereg("^[0-9]{9,9}$", $_POST['rtel'])) {
331: $errors.="<li>El <b>telèfon</b> és incorrecte</li>";
332: }
333: if (!ereg("^.{3,100}$", $_POST['radreca'])) {
334: $errors.="<li>L'<b>adreça</b> és incorrecta</li>";
335: }
336: if (!ereg("^[0-9]{5}$", $_POST['rcodipostal'])) {
337: $errors.="<li>El <b>codi postal</b> és incorrecte</li>";
338: }
339: if (!ereg("^.{2,50}$", $_POST['rpoblacio'])) {
340: $errors.="<li>La <b>població</b> és incorrecta</li>";
341: }
342: if (($_POST['rprovincia'] == 0) || ($_POST['rprovincia'] == '')) {
343: $errors.="<li>La <b>provincia</b> és incorrecta</li>";
344: }
345: if (($_POST['rprovincia']{0} != $_POST['rcodipostal']{0}) || ($_POST['rprovincia']{1} != $_POST['rcodipostal']{1})){
346: $errors.="<li>La <b>provincia</b> no es correspon al <b>codi postal</b></li>";
347: }
348: if (!ereg("^[a-zA-Z0-9-]([\._a-zA-Z0-9-]+)*@[a-zA-Z0-9]+\.([a-zA-Z0-9-]+[\.]?)*$", $_POST['remail'])) {
349: $errors.="<li>L'<b>e-mail</b> és incorrecte</li>";
350: }
351: if (!ereg("^[0-9]{16,16}$", $_POST['rtargeta'])) {
352: $errors.="<li>La <b>targeta de pagament</b> és incorrecta</li>";
353: }
354: // gestiona els errors
355: if (!empty($errors)) {
356: $errors="<ul>".$errors;
357: $errors.="</ul><a href='javascript:history.back()'>Tornar a la pàgina anterior</a>";
358: $tpl->assign ('TITOL', "Errors en les dades incloses en la nova reserva");
359: $tpl->assign ('AUX', $errors);
360: $tpl->parse(COS, "aux");
361: } else {
362: //insertem nou usuari
363: $nif = $_POST['rnif'].(strtoupper($_POST['rniflletra']));
364: mysql_query("INSERT INTO Usuari (U_Codi, U_Nom, U_Cognom1, U_Cognom2, U_NIF, U_Telefon, U_Adreca, U_Codi_postal, U_Poblacio, U_Provincia, U_Email) VALUES ('', '{$_POST['rnom']}', '{$_POST['rcognom1']}', '{$_POST['rcognom2']}', '{$nif}','{$_POST['rtel']}', '{$_POST['radreca']}', '{$_POST['rcodipostal']}', '{$_POST['rpoblacio']}', '{$_POST['rprovincia']}', '{$_POST['remail']}')", $link);
365: $idusuari = mysql_insert_id($link); // devuelve el id autoincremental de la ultima consulta
366: $my_error1 = mysql_error($link);
367:
368: // insertem nova reserva
369: $now=date("Y") ."-". date("m") ."-". date("d");
370: mysql_query("INSERT INTO Reserva (R_Codi, R_Data_reserva, R_Data_inici, R_Data_fi, R_Usuari, R_Allotjament) VALUES ('', '{$now}', '{$_POST['dataini']}', '{$_POST['datafi']}', '{$idusuari}', '{$_POST['idall']}')", $link);
371: $codireserva = mysql_insert_id($link); // devuelve el id autoincremental de la ultima consulta
372: $my_error2 = mysql_error($link);
373:
374: if ((!empty($my_error1)) || (!(empty($my_error2)))) {
375: $tpl->assign ('TITOL', "Errors");
376: $tpl-> assign ('AUX', $my_error1.$myerror2);
377: $tpl->parse(COS, "aux");
378: } else {
379: //envio de correus electronics a l'usuari i a l'empresari hostaler
380: $f = mysql_fetch_array($cerca);
381: $capcaleres = "From:<admin@gscr.es>\n"."MIME-version: 1.0\n"."Content-type: text/plain; charset=ISO-8859-1; format=flowed"."Content-transfer-encoding: 7bit\n";
382: $subject="Gestio de complexos rurals";
383: $cos="DADES DE LA RESERVA\n";
384: $cos.="\n";
385: $cos.="CODI DE LA RESERVA: [".$codireserva."]. Amb aquest codi pots consultar les dades d'aquesta reserva.\n";
386: $cos.="\n";
387: $cos.="COMPLEX RURAL: ".$f['CR_Nom']."\n";
388: $cos.="TELEFON: ".$f['CR_Telefon']."\n";
389: $cos.="E-MAIL: ".$f['CR_Email']."\n";
390: $cos.="ADRECA: ".$f['CR_Adreca']."\n";
391: $cos.="CODI POSTAL: ".$f['CR_Codi_postal']."\n";
392: $cos.="POBLACIO: ".$f['CR_Poblacio']."\n";
393: $cos.="PROVINCIA: ".ucwords(strtolower(substr($f['CR_Provincia'], 3, (strlen($f['CR_Provincia'])-3))))."\n";
394: $cos.="TIPUS D'ALLOTJAMENT: ".ucfirst(strtolower($f['CR_Tipus_allotjament']))."\n";
395: $cos.="DESCRIPCIO: ".$f['CR_Descripcio']."\n";
396: $cos.="CAPACITAT: ".$f['A_Capacitat']."\n";
397: $cos.="COST: ".$_POST['cost']." euros\n";
398: $cos.="DATA INICI: ".date_to_esp($_POST['dataini'])."\n";
399: $cos.="DATA FI: ".date_to_esp($_POST['datafi'])."\n";
400: $cos.="\n";
401: $cos.="USUARI\n";
402: $cos.="NOM: ".$_POST['rnom']."\n";
403: $cos.="COGNOMS: ".$_POST['rcognom1']." ".$_POST['rcognom2']."\n";
404: $cos.="NIF: ".$_POST['rnif']."-".$_POST['rniflletra']."\n";
405: $cos.="TELEFON: ".$_POST['rtel']."\n";
406: $cos.="ADRECA: ".$_POST['radreca']."\n";
407: $cos.="CODI POSTAL: ".$_POST['rcodipostal']."\n";
408: $cos.="POBLACIO: ".$_POST['rpoblacio']."\n";
409: $cos.="PROVINCIA: ".ucwords(strtolower(substr($_POST['rprovincia'], 3, (strlen($_POST['rprovincia'])-3))))."\n";
410: $cos.="EMAIL: ".$_POST['remail']."\n";
411: $cos.="\n";
412: $cos.="Moltes gracies per utilitzar aquest servei\n";
413:
414: $desti = $_POST['remail'];
415: if (mail($desti,$subject,$cos,$capcaleres)) {
416: $errmail='En uns moments rebras un <b>e-mail</b> de confirmació.';
417: } else {
418: $errmail="S'ha produit un error a l'intentar enviar un e-mail de confirmació, però la reserva ha sigut realitzada correctament.<br><br>El codi de la reserva és ".$codireserva;
419: }
420: mail($f['EH_Email'],$subject,$cos,$capcaleres);
421:
422: $tpl->assign ('TITOL', "Registre correcte de nova Reserva");
423: $tpl->assign ('AUX', $errmail."</br></br>Gràcies per utilitzar aquest servei.</br></br>");
424: $tpl->parse(COS, "aux");
425: }
426: }
427:}
428: //fi de gestio de la reserva
429:// fi gestio de recerques
430:
431:// inici consulta dades reserva
432:if ($_POST['codireserva']) {
433: $query = mysql_query("SELECT * from Usuari u, Reserva r, Complex_rural c, Allotjament a where r.R_Codi=".$_POST['codireserva']." and u.U_Codi=r.R_Usuari and a.A_Codi=r.R_Allotjament and c.CR_Codi=a.A_Complex_rural", $link);
434: if (mysql_num_rows($query) == 0) {
435: $tpl->assign ('TITOL', "Consulta reserva");
436: $tpl->assign ('AUX', "No hi ha cap reserva registrada amb aquest <b>codi</b><br><br><a href='javascript:history.back()'>Tornar a la pàgina anterior</a>");
437: $tpl->parse(COS, "aux");
438: } else {
439: $f = mysql_fetch_array($query);
440: $temp=temporada(substr($f['R_data_inici'], 5, 2)); // determinem la temporada
441: if ($temp=='Alta') {
442: $temporada= 'A_Preu_talta';
443: } else {
444: $temporada= 'A_Preu_tbaixa';
445: }
446: $cost = (abs((strtotime($f['R_Data_fi']) - strtotime($f['R_Data_inici']))/86400)*$f[$temporada]);
447: $tpl->assign (array (CODIRESERVA => $_POST['codireserva'],IDCR => $f['CR_Codi'], NOMCR => $f['CR_Nom'], TELEFON => $f['CR_Telefon'], EMAIL => $f['CR_Email'], ADRECA => $f['CR_Adreca'], CODIPOSTAL => $f['CR_Codi_postal'], POBLACIO => $f['CR_Poblacio'], PROVINCIA => ucwords(strtolower(substr($f['CR_Provincia'], 3, (strlen($f['CR_Provincia'])-3)))), TIPUSALL => ucfirst(strtolower($f['CR_Tipus_allotjament'])), DESCRCR => $f['CR_Descripcio'], CAPACITAT => $f['A_Capacitat'], TEMPORADA => $temp, PREU => $f[$temporada], NUMALL => $f['A_Quantitat'], DESCRALL => $f['A_Descripcio'], DATARES => date_to_esp($f['R_Data_reserva']), DATAINI => date_to_esp($f['R_Data_inici']), DATAFI => date_to_esp($f['R_Data_fi']), COST => $cost, MGET => 'index.php?nav=resok&idcr='.$_GET['idcr'].'&idall='.$_GET['idall'].'&dataini='.$_GET['dataini'].'&datafi='.$_GET['datafi'].'&cost='.$cost.'', UNOM => $f['U_Nom'], UCOGNOMS => $f['U_Cognom1']." ".$f['U_Cognom2'], UNIF => $f['U_NIF'], UTELEFON => $f['U_Telefon'], UADRECA => $f['U_Adreca'], UCP => $f['U_Codi_postal'], UPOBLACIO => $f['U_Poblacio'], UPROVINCIA => ucwords(strtolower(substr($f['U_Provincia'], 3, (strlen($f['U_Provincia'])-3)))), UEMAIL => $f['U_Email']));
448: $tpl->parse(COS, "inforeserva");
449: }
450:}
451:// fi consulta dades reserva
452:
453:// gestio de sessions
454:if ($_POST['emailreg'] || $_POST['passwordreg']) {
455: $checkemail = mysql_query("SELECT EH_Codi, EH_Email, EH_Password from Empresari_hostaler where EH_Email='".$_POST['emailreg']."' and EH_Actiu=1", $link);
456: if (!(($f = mysql_fetch_array($checkemail)) && ($f['EH_Password']) == $_POST['passwordreg'])) {
457: $tpl->assign ('TITOL', "Error en la identificació de l'empresari hostaler");
458: $tpl->assign ('AUX', "L'<b>e-mail</b> o la <b>password</b> són incorrectes");
459: $tpl->parse(COS, "aux");
460: } else {
461: $_SESSION['idreg'] = $f['EH_Codi'];
462: $_SESSION['emailreg'] = $_POST['emailreg'];
463: if ($_POST['emailreg'] == 'admin') {
464: header("Location: admin.php");
465: } else {
466: header("Location: index.php");
467: }
468: }
469:}
470:if ($_POST['ehsortir'] == 1) {
471: $_SESSION['emailreg'] = '';
472: session_destroy();
473: header("Location: index.php");
474:}
475:// fi de gestio de sessions
476:
477:$tpl->parse(MAIN, "main");
478:
479:$tpl->FastPrint();
480:exit;
481:?>