Continuación: archivo
mods/cambio.servicios.php (Primera sección)
Código PHP:
<?php
function PROPUESTA_SERVICIOS_Multiples_Cambios($cn, $extras, $inicial = 0) {
$tab_index = 30;
$seleccion = array();
$ids = array_keys($extras["Servicios"]);
foreach ($ids as $id) {
$PSID = $id;
}
$selectores = new SelectorProgramaServicios;
/**** LEYENDA INICIAL ****/
$bloques = array(
0 => "SELECT s.id AS id, s.descripcion AS servicio FROM servicios s INNER JOIN",
1 => "propuestaservicios ps ON (ps.servicio = s.id) WHERE ps.id = {$PSID}"
);
$sql = implode(" ", $bloques);
$rs = mysql_query($sql, $cn);
$encontrado = mysql_num_rows($rs);
if ($encontrado) {
while ($ma = mysql_fetch_array($rs)) {
$leyendas = array(
"ID" => $ma["id"],
"Servicio" => $ma["servicio"]
);
}
$ma = "";
}
mysql_free_result($rs);
/**** FIN: LEYENDA INICIAL ****/
if (!$inicial) {
$selectores->origen = 1;
$selectores->datos = $extras;
$extras = $selectores->ServicioBase($cn);
$extras["Servicios"][$PSID]["Bases"] = array(
"Proveedor" => $extras["Servicios"][$PSID]["Proveedor"],
"Ciudad" => $extras["Servicios"][$PSID]["Ciudad"],
"TipoServicio" => $extras["Servicios"][$PSID]["TipoServicio"],
"CategoriaServicio" => $extras["Servicios"][$PSID]["CategoriaServicio"],
"Servicio" => $extras["Servicios"][$PSID]["Servicio"],
"Acomodacion" => $extras["Servicios"][$PSID]["Acomodacion"],
"ValorServicio" => $extras["Servicios"][$PSID]["ValorServicio"],
"Obligatorio" => $extras["Servicios"][$PSID]["Obligatorio"]
);
}
?>
<form action="servicios.php" method="post">
<div id="frm_servicios" style="clear: both; margin-left: 20px; padding-top: 20px; width: 48%;">
<div style="clear: both; width: 100%;">
<div style="float: none; width: 100%;">
<p style="padding-bottom: 20px;"><?php echo "Cambiar Servicio Nº {$leyendas["ID"]} - {$leyendas["Servicio"]}"; ?></p>
</div>
<div style="clear: both; font-size: 1px; width: 100%;"> </div>
</div>
<div style="clear: both; width: 100%;">
<div style="float: left; width: 30%;">
<div style="float: none; width: 100%;">
<p><label for="lb_proveedor">Proveedor / Operador :</label></p>
</div>
</div>
<?php
if ($extras["Principal"]) {
$limites = "AND s.tiposervicio NOT IN (2)";
} else {
$limites = "";
}
$bloques = array(
0 => "SELECT DISTINCT p.id AS id, p.nombrecomercial AS nombre",
1 => "FROM proveedores p INNER JOIN servicios s ON (s.proveedor = p.id)",
2 => "INNER JOIN tarifarios t ON (s.id = t.servicio) WHERE s.estado = 1 AND s.eliminado = 0",
3 => "{$limites}",
4 => "ORDER BY p.nombrecomercial"
);
$arreglo = array();
$sql = implode(" ", $bloques);
$rs = mysql_query($sql, $cn);
$encontrados = mysql_num_rows($rs);
if ($encontrados) {
while ($ma = mysql_fetch_array($rs)) {
$arreglo[$ma["id"]] = $ma["nombre"];
}
$ma = "";
}
mysql_free_result($rs);
//SERVICIO BASE... (UNA VEZ)
if (!$inicial) {
$sql = "SELECT p.id AS id, p.nombrecomercial AS nombre FROM proveedores p WHERE p.id = {$extras["Servicios"][$PSID]["Bases"]["Proveedor"]}";
$rs = mysql_query($sql, $cn);
$encontrados = mysql_num_rows($rs);
if ($encontrados) {
while ($ma = mysql_fetch_array($rs)) {
$arreglo[$ma["id"]] = $ma["nombre"];
}
$ma = "";
}
mysql_free_result($rs);
}
//FIN: SERVICIO BASE... (UNA VEZ)
?>
<div style="float: left; width: 70%;">
<div style="float: none; width: 100%;">
<p><select name="sel_proveedores" id="lb_proveedor" class="ComboBox" style="width: 320px;" tabindex="<?php echo $tab_index++; ?>">
<?php
if (count($arreglo)) {
$llaves = array_keys($arreglo);
foreach ($llaves as $llave) {
if ($llave == $extras["Servicios"][$PSID]["Proveedor"]) {
$seleccion[0] = " selected=\"selected\"";
} else {
$seleccion[0] = "";
}
?>
<option value="<?php echo $llave; ?>"<?php echo $seleccion[0]; ?>><?php echo $arreglo[$llave]; ?></option>
<?php
}
} else {
?>
<option value="0"> </option>
<?php
}
?>
</select></p>
</div>
</div>
<div style="clear: both; font-size: 1px; width: 100%;"> </div>
</div>
<div style="clear: both; width: 100%;">
<div style="float: left; width: 30%;">
<div style="float: none; width: 100%;">
<p><label for="lb_ciudad">Ciudad / Destino :</label></p>
</div>
</div>
<?php
if ($extras["Principal"]) {
$limites = "AND s.tiposervicio NOT IN (2)";
} else {
$limites = "";
}
$bloques = array(
0 => "SELECT DISTINCT c.id AS id, c.nombre AS nombre",
1 => "FROM ciudades c INNER JOIN servicios s ON (s.ciudad = c.id)",
2 => "INNER JOIN tarifarios t ON (s.id = t.servicio) WHERE s.estado = 1",
3 => "AND s.eliminado = 0 AND s.proveedor = {$extras["Servicios"][$PSID]["Proveedor"]}",
4 => "{$limites}",
5 => "ORDER BY c.nombre"
);
$arreglo = array();
$sql = implode(" ", $bloques);
$rs = mysql_query($sql, $cn);
$encontrados = mysql_num_rows($rs);
if ($encontrados) {
while ($ma = mysql_fetch_array($rs)) {
$arreglo[$ma["id"]] = $ma["nombre"];
}
$ma = "";
}
mysql_free_result($rs);
//SERVICIO BASE... (UNA VEZ)
if (!$inicial) {
$sql = "SELECT c.id AS id, c.nombre AS nombre FROM ciudades c WHERE c.id = {$extras["Servicios"][$PSID]["Bases"]["Ciudad"]}";
$rs = mysql_query($sql, $cn);
$encontrados = mysql_num_rows($rs);
if ($encontrados) {
while ($ma = mysql_fetch_array($rs)) {
$arreglo[$ma["id"]] = $ma["nombre"];
}
$ma = "";
}
mysql_free_result($rs);
}
//FIN: SERVICIO BASE... (UNA VEZ)
?>
<div style="float: left; width: 70%;">
<div style="float: none; width: 100%;">
<p><select name="sel_ciudades" id="lb_ciudad" class="ComboBox" style="width: 320px;" tabindex="<?php echo $tab_index++; ?>">
<?php
if (count($arreglo)) {
$llaves = array_keys($arreglo);
foreach ($llaves as $llave) {
if ($llave == $extras["Servicios"][$PSID]["Ciudad"]) {
$seleccion[1] = " selected=\"selected\"";
} else {
$seleccion[1] = "";
}
?>
<option value="<?php echo $llave; ?>"<?php echo $seleccion[1]; ?>><?php echo $arreglo[$llave]; ?></option>
<?php
}
} else {
?>
<option value="0"> </option>
<?php
}
?>
</select></p>
</div>
</div>
<div style="clear: both; font-size: 1px; width: 100%;"> </div>
</div>
<div style="clear: both; width: 100%;">
<div style="float: left; width: 30%;">
<div style="float: none; width: 100%;">
<p><label for="lb_tiposervicio">Tipo de Servicio :</label></p>
</div>
</div>
<?php
if ($extras["Principal"]) {
$limites = "AND ts.id NOT IN (2)";
} else {
$limites = "";
}
$bloques = array(
0 => "SELECT DISTINCT ts.id AS id, ts.nombre AS nombre",
1 => "FROM tiposservicio ts INNER JOIN servicios s ON (s.tiposervicio = ts.id)",
2 => "INNER JOIN tarifarios t ON (s.id = t.servicio) WHERE s.estado = 1 AND",
3 => "s.eliminado = 0 AND s.proveedor = {$extras["Servicios"][$PSID]["Proveedor"]} AND",
4 => "s.ciudad = {$extras["Servicios"][$PSID]["Ciudad"]}",
5 => "{$limites}",
6 => "ORDER BY ts.nombre"
);
$arreglo = array();
$sql = implode(" ", $bloques);
$rs = mysql_query($sql, $cn);
$encontrados = mysql_num_rows($rs);
if ($encontrados) {
while ($ma = mysql_fetch_array($rs)) {
$arreglo[$ma["id"]] = $ma["nombre"];
}
$ma = "";
}
mysql_free_result($rs);
//SERVICIO BASE... (UNA VEZ)
if (!$inicial) {
$sql = "SELECT ts.id AS id, ts.nombre AS nombre FROM tiposservicio ts WHERE ts.id = {$extras["Servicios"][$PSID]["Bases"]["TipoServicio"]}";
$rs = mysql_query($sql, $cn);
$encontrados = mysql_num_rows($rs);
if ($encontrados) {
while ($ma = mysql_fetch_array($rs)) {
$arreglo[$ma["id"]] = $ma["nombre"];
}
$ma = "";
}
mysql_free_result($rs);
}
//FIN: SERVICIO BASE... (UNA VEZ)
?>
<div style="float: left; width: 70%;">
<div style="float: none; width: 100%;">
<p><select name="sel_tiposservicio" id="lb_tiposervicio" class="ComboBox" style="width: 320px;" tabindex="<?php echo $tab_index++; ?>">
<?php
if (count($arreglo)) {
$llaves = array_keys($arreglo);
foreach ($llaves as $llave) {
if ($llave == $extras["Servicios"][$PSID]["TipoServicio"]) {
$seleccion[2] = " selected=\"selected\"";
} else {
$seleccion[2] = "";
}
?>
<option value="<?php echo $llave; ?>"<?php echo $seleccion[2]; ?>><?php echo $arreglo[$llave]; ?></option>
<?php
}
} else {
?>
<option value="0"> </option>
<?php
}
?>
</select></p>
</div>
</div>
<div style="clear: both; font-size: 1px; width: 100%;"> </div>
</div>