Viewing file: class_copiar.php (7.54 KB) -rw-rw-rw- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class select_copiar {
function select_copiar ($seleccion, $desde, $cuando, $numero_campos, $c_id_dest, $c_id_origen, $offset)
{
$this->SELECCION = $seleccion;
$this->DESDE = $desde;
$this->CUANDO = $cuando;
$this->DESTINO = $c_id_dest;
$this->ORIGEN = $c_id_origen;
$this->NUMERO_CAMPOS = $numero_campos;
// Portel 1.0
// 1. Query constante
// 1.1 Definir Query Real (encuentra los resultados deseados)
$query = "select " . $seleccion . " from " . $desde . " where " . $cuando;
$select = new Select($query, $numero_campos, 0 ,0);
// 1.2 Extrae los resultados en un arreglo de dos dimensiones
$resultados = $select->RESULTADO;
$this->RESULTADOS = $select->RESULTADO;
$this->NUMERO_REGISTROS = $select->NUMERO_REGISTROS;
//echo $resultados;
//echo $this->NUMERO_REGISTROS;
// 1.3 Busca cual es la categoria próxima que puede usar para incorporar las nuevas
$padre = new padre($this->DESTINO);
$this->DESTINO = $padre->CATEGORIA_LAST;
// 1.3 Por cada uno de los registros encontrados, crea uno nuevo reordenado
for ($i = 0; $i < $this->NUMERO_REGISTROS; $i++) {
$limite_inf = $this->NUMERO_CAMPOS - 1;
$insert_s = "'',";
// 1.3.1 Crea un insert por cada campo
for ($a = 0; $a < $this->NUMERO_CAMPOS; $a++) {
// 1.3.1.1 Si el campo en cuestión es donde se deben reemplazar las categorias, entonces haga el cambio
if ($a == 1) {
//echo $this->ORIGEN;
//echo $this->DESTINO;
//echo $resultados[$i][$a];
// 1.3.1.1.1 Se guarda el patron original y se construye el nuevo que servirá para actualizar
$back_resultado = $resultados[$i][$a];
$resultados[$i][$a] = str_replace($this->ORIGEN, $this->DESTINO, $resultados[$i][$a]);
// 1.3.1.1.2 Acción para las categorias compartidas, aqui, se reemplazan los nombres que sean
// usados como compartidos por los nuevos
if ($this->DESDE == "contenido_categoria") {
$campo_id = "categoria_tema_desc";
$id = $back_resultado;
$tabla = "contenido_categoria";
$set = "categoria_tema_desc='" . $resultados[$i][$a] . "'";
$query = "update " . $tabla . " set " . $set . " where " . $campo_id . "='" . $id . "'";
//echo $query . "<br>";
//$update = new Select($query, "edi_", 0 ,0);
}
// 1.3.1.1.3 Acción para actualizar la partenencia de links con categorias
$campo_id = "categoria_tema_id";
$id = $back_resultado;
$tabla = "contenido_pertenencia_categoria_links";
// 1.3.1.1.3.1 Esta selección busca todos los links enlazados con la categoria y por cada uno
// inserta una nuevo relacionandola con la nueva categoria
$query_actualizacion = "select * from " . $tabla . " where categoria_tema_id='" . $id ."'";
$select_actualizacion = new Select($query_actualizacion, 2, 0 ,0);
$select_actualizacion_resultado = $select_actualizacion->RESULTADO;
$select_actualizacion_numero_registros = $select_actualizacion->NUMERO_REGISTROS;
for ($a_a = 0; $a_a < $select_actualizacion_numero_registros; $a_a++) {
$a_insertar = $select_actualizacion_resultado[$a_a][0];
$v_ins_t = $resultados[$i][$a];
$valores_actualizar_insertar = "'$a_insertar','$v_ins_t'";
$query_actualizar_insertar = "insert into " . $tabla . " values(" . $valores_actualizar_insertar . ")";
//echo $query_actualizar_insertar . "<br>";
$insert_rel = new Select($query_actualizar_insertar, "ins_", 0 ,0);
}
// 1.3.1.1.4 Acción para actualizar la partenencia de permisos temáticos con categorias
$campo_id = "categoria_tema_id";
$id = $back_resultado;
$tabla = "administracion_pertenencia_categoria_contacto";
// 1.3.1.1.4.1 Esta selección busca todos los permisoss temáticos enlazados con la categoria y por cada uno
// inserta una nuevo relacionandola con la nueva categoria
$query_actualizacion = "select * from " . $tabla . " where categoria_tema_id='" . $id ."'";
$select_actualizacion = new Select($query_actualizacion, 2, 0 ,0);
$select_actualizacion_resultado = $select_actualizacion->RESULTADO;
$select_actualizacion_numero_registros = $select_actualizacion->NUMERO_REGISTROS;
for ($a_a = 0; $a_a < $select_actualizacion_numero_registros; $a_a++) {
$a_insertar = $select_actualizacion_resultado[$a_a][1];
$v_ins_t = $resultados[$i][$a];
$valores_actualizar_insertar = "'$v_ins_t','$a_insertar'";
$query_actualizar_insertar = "insert into " . $tabla . " values(" . $valores_actualizar_insertar . ")";
//echo $query_actualizar_insertar . "<br>";
$insert_rel = new Select($query_actualizar_insertar, "ins_", 0 ,0);
}
}
// 1.3.1.2 Si el campo en cuestión es el Id de la categoria
if ($a == 0) {
$arreglo_ids[$i] = $resultados[$i][$a];
}
// 1.3.1.3 Concatene el Insert si éste no es el campo ID
if ($a != 0 and $a < $limite_inf) {
$insert_s = $insert_s . "'" . $resultados[$i][$a] . "',";
}
if ($a == $limite_inf) {
$insert_s = $insert_s . "'" . $resultados[$i][$a] . "'";
}
}
//echo $insert[$i];
// 1.3.2 Inserta una categoria por cada campo
$query_ins = "insert into contenido_categoria values(" . $insert_s . ")";
//echo $query_ins . "<br>";
$insert = new Select($query_ins, "ins_", 0 ,0);
//$query_del = "delete from contenido_categoria where categoria_tema_id =" . $back_resultado;
//$delete = new Select($query_del, "del_", 0 ,0);
// 1.3.3 Reemplaza los antiguos IDS por los recientemente ingresados
// 1.3.3.2 Actualiza la pertenencia de categoria y fotos y medios
$campo_id = "categoria_id";
$id = $arreglo_ids[$i];
$tabla = "contenido_pertenencia_foto_categoria";
// 1.3.3.2.1 Esta selección busca todos las fotos y medios enlazados con la categoria y por cada uno
// inserta una nuevo relacionandola con la nueva categoria
$query_actualizacion = "select * from " . $tabla . " where categoria_id=" . $id;
$select_actualizacion = new Select($query_actualizacion, 2, 0 ,0);
$select_actualizacion_resultado = $select_actualizacion->RESULTADO;
$select_actualizacion_numero_registros = $select_actualizacion->NUMERO_REGISTROS;
for ($a_a = 0; $a_a < $select_actualizacion_numero_registros; $a_a++) {
$a_insertar = $select_actualizacion_resultado[$a_a][1];
$valores_actualizar_insertar = "'$insert->LAST_ID','$a_insertar'";
$query_actualizar_insertar = "insert into " . $tabla . " values(" . $valores_actualizar_insertar . ")";
//echo $query_actualizar_insertar . "<br>";
$insert_rel = new Select($query_actualizar_insertar, "ins_", 0 ,0);
}
//echo "<br><br><br>";
}
}
}
?>
|