protected function pgdump_limpiar(&$array) { $borrando = true; foreach ($array as $key => $elem) { if (comienza_con($elem, 'INSERT')) { continue; } unset($array[$key]); } }
protected function preparar_excluidos($path, $excluidos) { foreach ($excluidos as $key => $excluido) { if (!comienza_con($excluido, '/')) { $excluidos[$key] = "{$path}/{$excluido}"; } else { $excluidos[$key] = "{$path}{$excluido}"; } } return $excluidos; }
private function salida_como_array($salida_path) { $salida_path = toba_dir() . '/temp/sql/resultado.txt'; $cont = file_get_contents($salida_path); $datos = explode("\n", $cont); $this->init_exclude_fields(); $estado = 'pasar'; $salida = "array("; foreach ($datos as $key => $linea) { if (comienza_con($linea, 'Tabla: ')) { // tenemos que sacar el nombre de la tabla $tabla = str_replace('Tabla: ', '', $linea); $estado = 'nueva_tabla'; } elseif (comienza_con($linea, 'Inserts:')) { $estado = 'leyendo_inserts'; $salida .= "\n\t\t// tabla: {$tabla}\n"; } elseif (comienza_con($linea, 'Updates:')) { $estado = 'leyendo_updates'; $salida .= "\n\t\t// tabla: {$tabla}"; } elseif (comienza_con($linea, 'INSERT INTO')) { if ($estado == 'leyendo_inserts') { $insert = $this->crear_insert($tabla, $linea); $salida .= "\n\t\t\"{$insert}\",\n"; } elseif ($estado == 'leyendo_updates') { $siguiente_linea = $datos[$key + 1]; // tiene que estar seteado por el formato que tiene la salida $update = $this->crear_update($tabla, $linea, $siguiente_linea); $salida .= "\n\t\t\"{$update}\",\n"; $estado = 'pasar'; } } } $salida .= "\n\t)"; return $salida; }