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&agrave;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&iacute;:<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> &eacute;s incorrecte</li>";
  66:  }
  67:  if (!ereg("^.{2,25}$", $_POST['cognom1'])) {
  68:    $errors.="<li>El <b>primer cognom</b> &eacute;s incorrecte</li>";
  69:  }
  70:  if (!ereg("^.{0,25}$", $_POST['cognom2'])) {
  71:    $errors.="<li>El <b>segon cognom</b> &eacute;s incorrecte</li>";
  72:  }
  73:  if (!ereg("^[0-9]{8}$", $_POST['nif'])) {
  74:    $errors.="<li>El <b>NIF</b> ha de tindre 8 d&iacute;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&egrave;fon</b> &eacute;s incorrecte</li>";
  86:  }
  87:  if (!ereg("^.{3,100}$", $_POST['adreca'])) {
  88:    $errors.="<li>L'<b>adre&#231;a</b> &eacute;s incorrecta</li>";
  89:  }
  90:  if (!ereg("^[0-9]{5}$", $_POST['codipostal'])) {
  91:    $errors.="<li>El <b>codi postal</b> &eacute;s incorrecte</li>";
  92:  }
  93:  if (!ereg("^.{2,50}$", $_POST['poblacio'])) {
  94:    $errors.="<li>La <b>poblaci&oacute;</b> &eacute;s incorrecta</li>";
  95:  }
  96:  if (($_POST['provincia'] == 0) || ($_POST['provincia'] == '')) {
  97:    $errors.="<li>La <b>provincia</b> &eacute;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> &eacute;s incorrecte</li>";
 104:  }
 105:  if (!ereg("^.{6,25}", $_POST['password1'])) {
 106:    $errors.="<li>El <b>password</b> ha de tindre 6 car&agrave;cters com a m&iacute;nim</li>";
 107:  }
 108:  if ($_POST['password1'] != $_POST['password2']) {
 109:    $errors.="<li>Els <b>password</b> no s&oacute;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&agrave;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&uacute; de gesti&oacute; de <b>Complexos Rurals</b>, ha d'introdu&iuml;r el seu <b>e-mail</b> i la seua <b>password</b> a la <b>Zona Privada</b>.</br></br>Gr&agrave;cies per utilitzar aquest servei.</br></br>");
 138:        $tpl->parse(COS, "aux");
 139:      } else {
 140:        $tpl->assign ('TITOL', "Modificaci&oacute; correcta de les dades d'Empresari Hostaler");
 141:        $tpl->assign ('AUX', "Per a accedir al men&uacute; de gesti&oacute; de <b>Complexos Rurals</b>, ha d'introdu&iuml;r el seu <b>e-mail</b> i la seua <b>password</b> a la <b>Zona Privada</b>.</br></br>Gr&agrave;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> &eacute;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> &eacute;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&oacute;</b> &eacute;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&oacute;</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&oacute;</b></li>";
 230:      }
 231:    }
 232:  }
 233:  if (!ereg("^[0-9]{0,8}$", $_POST['ccapacitat'])) {
 234:    $ccerrors.="<li>La <b>capacitat</b> &eacute;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&agrave;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&agrave;metres de cerca<br><br><a href='javascript:history.back()'>Tornar a la p&agrave;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> &eacute;s incorrecte</li>";
 312:  }
 313:  if (!ereg("^.{2,25}$", $_POST['rcognom1'])) {
 314:    $errors.="<li>El <b>primer cognom</b> &eacute;s incorrecte</li>";
 315:  }
 316:  if (!ereg("^.{0,25}$", $_POST['rcognom2'])) {
 317:    $errors.="<li>El <b>segon cognom</b> &eacute;s incorrecte</li>";
 318:  }
 319:  if (!ereg("^[0-9]{8}$", $_POST['rnif'])) {
 320:    $errors.="<li>El <b>NIF</b> ha de tindre 8 d&iacute;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&egrave;fon</b> &eacute;s incorrecte</li>";
 332:  }
 333:  if (!ereg("^.{3,100}$", $_POST['radreca'])) {
 334:    $errors.="<li>L'<b>adre&#231;a</b> &eacute;s incorrecta</li>";
 335:  }
 336:  if (!ereg("^[0-9]{5}$", $_POST['rcodipostal'])) {
 337:    $errors.="<li>El <b>codi postal</b> &eacute;s incorrecte</li>";
 338:  }
 339:  if (!ereg("^.{2,50}$", $_POST['rpoblacio'])) {
 340:    $errors.="<li>La <b>poblaci&oacute;</b> &eacute;s incorrecta</li>";
 341:  }
 342:  if (($_POST['rprovincia'] == 0) || ($_POST['rprovincia'] == '')) {
 343:    $errors.="<li>La <b>provincia</b> &eacute;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> &eacute;s incorrecte</li>";
 350:  }
 351:  if (!ereg("^[0-9]{16,16}$", $_POST['rtargeta'])) {
 352:    $errors.="<li>La <b>targeta de pagament</b> &eacute;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&agrave;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&oacute;.';
 417:      } else {
 418:        $errmail="S'ha produit un error a l'intentar enviar un e-mail de confirmaci&oacute;, per&ograve; la reserva ha sigut realitzada correctament.<br><br>El codi de la reserva &eacutes ".$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&agrave;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&agrave;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&oacute; de l'empresari hostaler");
 458:    $tpl->assign ('AUX', "L'<b>e-mail</b> o la <b>password</b> s&oacute;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:?>