shell bypass 403
GrazzMean Shell
: /homepages/2/d455661007/htdocs/altamira21copiaseguridad/altamira21_WEB_VIEJA/import/ [ drwx---r-x ]
<?
error_reporting(E_ALL);
$archivos_xml = array(XML_FILE_ASOCIACION);
/* ACTUALIZAR PAISES */
function paises($xml){
echo '<h2>Actualizando paises...........</h2><br /><p>';
// $xml = simplexml_load_file($archivo);
$paises = array();
/* Recorremos el xml en busca de todos los paises */
foreach($xml->inmueble as $inmueble){
// echo (string)$inmueble->pais . " / Decode :". html_entity_decode((string)$inmueble->pais,ENT_QUOTES,'UTF-8');
// return true;
if(!in_array((string)$inmueble->pais,$paises) && trim((string)$inmueble->pais) != ''){
$paises[] = utf8_encode((string)$inmueble->pais);
}
}
$total = 0;
if(!empty($paises)){
$total = 0;
foreach($paises as $pais){
$pais = str_replace(array('ñ','Ñ'),array('ñ','Ñ'),$pais); // "Apaño"
$query = mysql_query("SELECT id FROM paises WHERE nombre = '$pais'");
if(mysql_num_rows($query) == 0 ){
@mysql_query("INSERT INTO paises (nombre) VALUES ('$pais')");
if(!mysql_error()){
echo "<br />Se ha insertado: <em>$pais</em><br />";
$total++;
}
else{
echo "<br />Se ha producido un error al insertar: <em>$pais</em><br />";
}
}
}
}
echo "<br />Se han insertado $total pais/es<br /></p>";
}
/* ACTUALIZAR PROVINCIAS */
function provincias($xml){
echo '<h2>Actualizando provincias...........</h2><br /><p>';
// $xml = simplexml_load_file($archivo);
$provincias = array();
/* Recorremos el xml en busca de todas las provincias */
// foreach($xml->inmueble as $inmueble){
// if(!in_array((string)$inmueble->provincia,$provincias) && trim((string)$inmueble->provincia) != ''){
// // $provincias[] = array('nombre'=>mb_convert_encoding((string)$inmueble->provincia, 'UTF-8','ISO-8859-1'),'pais'=>mb_convert_encoding((string)$inmueble->pais, 'UTF-8','ISO-8859-1'));
// $provincias[] = array('nombre'=>(string)$inmueble->provincia,'pais'=>(string)$inmueble->pais);
// }
// }
$rootElement = 'inmuebles';
$element = 'inmueble';
while ($xml->read()) {
if ($xml->localName == $element && $xml->nodeType == XMLReader::ELEMENT) {
$inmueble = simplexml_load_string($xml->readOuterXml(),'SimpleXMLElement',LIBXML_NOCDATA);
if(!in_array((string)$inmueble->provincia,$provincias) && trim((string)$inmueble->provincia) != ''){
// $provincias[] = array('nombre'=>mb_convert_encoding((string)$inmueble->provincia, 'UTF-8','ISO-8859-1'),'pais'=>mb_convert_encoding((string)$inmueble->pais, 'UTF-8','ISO-8859-1'));
$provincias[] = array('nombre'=>(string)$inmueble->provincia,'pais'=>(string)$inmueble->pais);
}
}
}
$total = 0;
if(!empty($provincias)){
$total = 0;
foreach($provincias as $provincia){
$idpais = null;
$query = mysql_query("SELECT id FROM paises WHERE nombre = '".html_entity_decode((string)$inmueble->pais,ENT_QUOTES,'UTF-8')."'");
if(mysql_num_rows($query) == 0 ){
echo "<br /><em>Debe actualizar paises</em>";
continue;
}
else{
$idpais = mysql_result($query,0);
}
$query = mysql_query("SELECT id FROM provincias WHERE nombre = '{$provincia['nombre']}'");
if(mysql_num_rows($query) == 0 ){
@mysql_query("INSERT INTO provincias (id_pais,nombre) VALUES ('$idpais','{$provincia['nombre']}')");
if(!mysql_error()){
echo "<br />Se ha insertado: <em>{$provincia['nombre']}</em><br />";
$total++;
}
else{
echo "<br />Se ha producido un error al insertar: <em>{$provincia['nombre']}</em><br />";
}
}
}
}
echo "<br />Se han insertado $total provincia/s<br /></p>";
}
/* ACTUALIZAR ZONAS */
function zonas($xml){
echo '<h2>Actualizando zonas...........</h2><br /><p>';
// $xml = simplexml_load_file($archivo);
$zonas = array();
$zonasPoblacionesProvincia = array();
/* Recorremos el xml en busca de todas las zonas */
// foreach($xml->inmueble as $inmueble){
// if(!in_array((string)$inmueble->zona,$zonas) && trim((string)$inmueble->zona) != ''){
// // $zonas[] = array('nombre'=>mb_convert_encoding((string)$inmueble->provincia, 'UTF-8','ISO-8859-1'),'pais'=>mb_convert_encoding((string)$inmueble->pais, 'UTF-8','ISO-8859-1'));
// $zonas[] = array('nombre'=>(string)$inmueble->zona,'poblacion'=>$inmueble->poblacion);
// }
// }
$rootElement = 'inmuebles';
$element = 'inmueble';
while ($xml->read()) {
if ($xml->localName == $element && $xml->nodeType == XMLReader::ELEMENT) {
$inmueble = simplexml_load_string($xml->readOuterXml(),'SimpleXMLElement',LIBXML_NOCDATA);
$prov = (string)$inmueble->provincia;
$pob = (string)$inmueble->poblacion;
if(!array_key_exists($prov,$zonasPoblacionesProvincia)){
$zonasPoblacionesProvincia[$prov] = array();
}
if(!array_key_exists($pob,$zonasPoblacionesProvincia[$prov])){
$zonasPoblacionesProvincia[$prov][$pob] = array();
}
if(!in_array((string)$inmueble->zona,$zonasPoblacionesProvincia[$prov][$pob]) && trim((string)$inmueble->zona) != ''){
// $zonas[] = array('nombre'=>mb_convert_encoding((string)$inmueble->provincia, 'UTF-8','ISO-8859-1'),'pais'=>mb_convert_encoding((string)$inmueble->pais, 'UTF-8','ISO-8859-1'));
$zonas[] = array('nombre'=>(string)$inmueble->zona,'poblacion'=>(string)$inmueble->poblacion,'provincia'=>(string)$inmueble->provincia);
$zonasPoblacionesProvincia[$prov][$pob][] = (string)$inmueble->zona;
}
}
}
$total = 0;
if(!empty($zonas)){
$total = 0;
foreach($zonas as $zona){
$idpoblacion = null;
// echo "SELECT id FROM poblaciones WHERE nombre LIKE '{$zona['poblacion']}'<br />";
// $query = mysql_query("SELECT id FROM poblaciones WHERE nombre LIKE '{$zona['poblacion']}'");
$query = mysql_query("SELECT id FROM provincias WHERE nombre LIKE '{$zona['provincia']}'");
if(mysql_num_rows($query) == 0 ){
echo "<br /><em>Debe actualizar provincias</em>";
continue;
}
else{
$idprovincia = mysql_result($query,0);
}
$query = mysql_query("SELECT id FROM poblaciones WHERE nombre = '{$zona['poblacion']}' AND id_provincia = '$idprovincia'");
if(mysql_num_rows($query) == 0 ){
echo "<br /><em>Debe actualizar poblaciones</em>";
continue;
}
else{
$idpoblacion = mysql_result($query,0);
}
$query = mysql_query("SELECT id FROM zonas WHERE nombre = '{$zona['nombre']}' AND id_poblacion = '$idpoblacion'");
if(mysql_num_rows($query) == 0 ){
@mysql_query("INSERT INTO zonas (id_poblacion,nombre) VALUES ('$idpoblacion','{$zona['nombre']}')");
if(!mysql_error()){
echo "<br />Se ha insertado: <em>{$zona['nombre']}</em><br />";
$total++;
}
else{
echo "<br />Se ha producido un error al insertar: <em>{$zona['nombre']}</em><br />";
}
}
}
}
echo "<br />Se han insertado $total zona/s<br /></p>";
}
/* ACTUALIZAR POBLACIONES */
function poblaciones($xml){
echo '<h2>Actualizando poblaciones...........</h2><br /><p>';
// $xml = simplexml_load_file($archivo);
$poblaciones = array();
$poblacionesProvincia = array();
/* Recorremos el xml en busca de todas las poblaciones */
// foreach($xml->inmueble as $inmueble){
// if(!in_array((string)$inmueble->poblacion,$poblaciones) && trim((string)$inmueble->poblacion) != ''){
// // $poblaciones[] = array('nombre'=>mb_convert_encoding((string)$inmueble->provincia, 'UTF-8','ISO-8859-1'),'pais'=>mb_convert_encoding((string)$inmueble->pais, 'UTF-8','ISO-8859-1'));
// $poblaciones[] = array('nombre'=>(string)$inmueble->poblacion,'provincia'=>(string)$inmueble->provincia);
// }
// }
$rootElement = 'inmuebles';
$element = 'inmueble';
while ($xml->read()) {
if ($xml->localName == $element && $xml->nodeType == XMLReader::ELEMENT) {
$inmueble = simplexml_load_string($xml->readOuterXml(),'SimpleXMLElement',LIBXML_NOCDATA);
$prov = (string)$inmueble->provincia;
if(empty($prov)){
continue;
}
if(!array_key_exists($prov,$poblacionesProvincia)){
$poblacionesProvincia[$prov] = array();
}
if(!in_array((string)$inmueble->poblacion,$poblacionesProvincia[$prov]) && trim((string)$inmueble->poblacion) != ''){
// $poblaciones[] = array('nombre'=>mb_convert_encoding((string)$inmueble->provincia, 'UTF-8','ISO-8859-1'),'pais'=>mb_convert_encoding((string)$inmueble->pais, 'UTF-8','ISO-8859-1'));
$poblaciones[] = array('nombre'=>(string)$inmueble->poblacion,'provincia'=>(string)$inmueble->provincia);
$poblacionesProvincia[$prov][] = (string)$inmueble->poblacion;
}
}
}
// echo '<pre>';
// // print_r($poblaciones);
// print_r($poblacionesProvincia);
// echo '</pre>';
// die;
$total = 0;
if(!empty($poblaciones)){
$total = 0;
foreach($poblaciones as $poblacion){
$idprovincia = null;
$idzona = null;
// if($poblacion['nombre'] == 'Queveda'){
// print_r($poblacion);
// die;
// }
$query = mysql_query("SELECT id FROM provincias WHERE nombre LIKE '{$poblacion['provincia']}'");
if(mysql_num_rows($query) == 0 ){
echo "<br /><em>Debe actualizar provincias</em>";
continue;
}
else{
$idprovincia = mysql_result($query,0);
}
$query = mysql_query("SELECT id FROM poblaciones WHERE nombre LIKE '{$poblacion['nombre']}' AND id_provincia = '$idprovincia'");
if(mysql_num_rows($query) == 0 ){
@mysql_query("INSERT INTO poblaciones (id_provincia,nombre) VALUES ('$idprovincia','{$poblacion['nombre']}')");
if(!mysql_error()){
echo "<br />Se ha insertado: <em>{$poblacion['nombre']}</em><br />";
$total++;
}
else{
echo "<br />Se ha producido un error al insertar: <em>{$poblacion['nombre']}</em><br />";
}
}
}
}
echo "<br />Se han insertado $total poblacion/es<br /></p>";
}
/* ACTUALIZAR TIPOS DE VIA */
function tipos_de_via($xml){
echo '<h2>Actualizando tipos_de_via...........</h2><br /><p>';
// $xml = simplexml_load_file($archivo);
$tipos_de_via = array();
/* Recorremos el xml en busca de todos los tipos_de_via */
// foreach($xml->inmueble as $inmueble){
// if(!in_array((string)$inmueble->direccion_tipo_via,$tipos_de_via) && trim((string)$inmueble->direccion_tipo_via) != ''){
// $tipos_de_via[] = (string)$inmueble->direccion_tipo_via;
// }
// }
$rootElement = 'inmuebles';
$element = 'inmueble';
while ($xml->read()) {
if ($xml->localName == $element && $xml->nodeType == XMLReader::ELEMENT) {
$inmueble = simplexml_load_string($xml->readOuterXml(),'SimpleXMLElement',LIBXML_NOCDATA);
if(!in_array((string)$inmueble->direccion_tipo_via,$tipos_de_via) && trim((string)$inmueble->direccion_tipo_via) != ''){
$tipos_de_via[] = (string)$inmueble->direccion_tipo_via;
}
}
}
$total = 0;
if(!empty($tipos_de_via)){
$total = 0;
foreach($tipos_de_via as $tipo_de_via){
$query = mysql_query("SELECT id FROM tipos_de_via WHERE nombre = '$tipo_de_via'");
if(mysql_num_rows($query) == 0 ){
@mysql_query("INSERT INTO tipos_de_via (nombre) VALUES ('$tipo_de_via')");
if(!mysql_error()){
echo "<br />Se ha insertado: <em>$tipo_de_via</em><br />";
$total++;
}
else{
echo "<br />Se ha producido un error al insertar: <em>$tipo_de_via</em><br />";
}
}
}
}
echo "<br />Se han insertado $total tipo/s de via<br /></p>";
}
/* ACTUALIZAR TIPOS DE INMUEBLE */
function tipos_de_inmueble($xml){
echo '<h2>Actualizando tipos_inmueble...........</h2><br /><p>';
// $xml = simplexml_load_file($archivo);
$tipos_inmueble = array();
/* Recorremos el xml en busca de todos los tipos_inmueble */
// foreach($xml->inmueble as $inmueble){
// if(!in_array((string)$inmueble->tipo,$tipos_inmueble) && trim((string)$inmueble->tipo) != ''){
// $tipos_inmueble[] = (string)$inmueble->tipo;
// }
// }
$rootElement = 'inmuebles';
$element = 'inmueble';
while ($xml->read()) {
if ($xml->localName == $element && $xml->nodeType == XMLReader::ELEMENT) {
$inmueble = simplexml_load_string($xml->readOuterXml(),'SimpleXMLElement',LIBXML_NOCDATA);
if(!in_array((string)$inmueble->tipo,$tipos_inmueble) && trim((string)$inmueble->tipo) != ''){
$tipos_inmueble[] = (string)$inmueble->tipo;
}
}
}
$total = 0;
if(!empty($tipos_inmueble)){
$total = 0;
foreach($tipos_inmueble as $tipo_inmueble){
$query = mysql_query("SELECT id FROM tipos_inmueble WHERE nombre = '$tipo_inmueble'");
if(mysql_num_rows($query) == 0 ){
@mysql_query("INSERT INTO tipos_inmueble (nombre) VALUES ('$tipo_inmueble')");
if(!mysql_error()){
echo "<br />Se ha insertado: <em>$tipo_inmueble</em><br />";
$total++;
}
else{
echo "<br />Se ha producido un error al insertar: <em>$tipo_inmueble</em><br />";
}
}
}
}
// print_r($tipos_inmueble);
echo "<br />Se han insertado $total tipo/s de inmueble<br /></p>";
}
/* ACCIONES */
foreach($archivos_xml as $indice=>$archivo){
// echo $archivo;
// $xml = simplexml_load_file($archivo);
echo "$archivo<br />";
// $xml = simplexml_load_file($archivo,'SimpleXMLElement', LIBXML_NOCDATA);
// var_dump($xml);
// Alternativa cuando no es posible carga de xml mediante URL
// $ch = curl_init($archivo);
// curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Sacamos la salidad directamente como string
// $feed = curl_exec($ch);
// curl_close($ch);
// $xml = simplexml_load_string($feed);
// unset($feed);
// paises($xml);
// provincias($xml);
$xml = new XMLReader();
$xml->open($archivo);
provincias($xml);
$xml = new XMLReader();
$xml->open($archivo);
poblaciones($xml);
$xml = new XMLReader();
$xml->open($archivo);
zonas($xml);
$xml = new XMLReader();
$xml->open($archivo);
tipos_de_via($xml);
$xml = new XMLReader();
$xml->open($archivo);
tipos_de_inmueble($xml);
}
?>