HEX
Server: Apache
System: Linux iad1-shared-e1-19 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User: austral3d (14892361)
PHP: 5.6.40
Disabled: NONE
Upload Files
File: /home/austral3d/fourdplan.com/webservices4.0dev/ActualizarInstancias.php
<?php
	
require_once("comun/conexion_mysqli.php");
require_once("fdp/FdpNode.php");

$db = fdp_connect();

$objInstancia = new Instancia();
$xml_string = file_get_contents('php://input'); 
$xml = new SimpleXMLElement($xml_string);
if($xml->getName() == "plan")
{
	$result = [];
	$wpId = processWP($xml->workpackage);
	if($wpId != 0) {
		$result["workpackage_id"] = $wpId;
	}
	foreach ($xml as $name => $value) {
		if($name != "instancias" && $name != "workpackage") {
			$result[$name] = $value; 
		}
	}
	foreach ($xml->instancias->id as $id) {
		$objInstancia->update($db, $id, $result);
	}
}
else if($xml->getName() == "real")
{
	$fechaEstado = new FechaEstado();
	$result["fecha"] = $xml->montaje_inicio_programado;
	$result["id_estado"] = $xml->estado;
	foreach ($xml->instancias->id as $id) {
		$sql_fechas = "
			SELECT id
			FROM fechaestado
			WHERE id_instancia = $id
			AND id_estado = '$xml->estado'";
		$fechas = fdp_query_all($db, $sql_fechas);
		if(sizeof($fechas) == 0)
		{
			$sql_insert_fecha = "
				INSERT INTO fechaestado(id_instancia, id_estado, fecha)
				VALUES ($id, '$xml->estado', '$xml->montaje_inicio_programado')";
			fdp_query($db, $sql_insert_fecha);
		}
		else
		{
			$result["id_instancia"] = $id;
			$fechaEstado->update($db, $fechas[0]["id"], ["fecha" => $xml->montaje_inicio_programado]);
		}
	}
}
else
{
	echo ("Error");
}

echo ("ok");

function processWP($wp)
{
	global $db;
	$sql_id_workpackage = "
		SELECT id
		FROM workpackage
		WHERE nombre = '$wp->nombre'
		AND assembly_id = $wp->assembly_id";
	$wps = fdp_query_all($db, $sql_id_workpackage);
	
	if ($wp->nombre == "")
		return 0;
	
	else if (!$wps || sizeof($wps) == 0)
	{
		$sql_insert_wp = "
			INSERT INTO workpackage(nombre, assembly_id)
			VALUES ('$wp->nombre', $wp->assembly_id)";
		$res = fdp_query($db, $sql_insert_wp);
		return mysqli_insert_id($db);
	}
	else {
		return $wp->id;
	}
}

?>