Пример #1
0
 /**
  * La clonacion del DR puede implicar clonar su AP
  */
 protected function clonar_subclase($dr, $dir_subclases, $proyecto_dest)
 {
     parent::clonar_subclase($dr, $dir_subclases, $proyecto_dest);
     if (isset($this->datos['_info_estructura']['ap_archivo'])) {
         $archivo = $this->datos['_info_estructura']['ap_archivo'];
         $nuevo_archivo = $dir_subclases . "/" . basename($archivo);
         $id_pm_origen = $this->get_punto_montaje();
         $id_pm_destino = $dr->tabla('base')->get_fila_columna(0, 'punto_montaje');
         //Busco los directorios de copia utilizando los puntos de montaje
         $path_origen = $this->get_path_clonacion($id_pm_origen, $this->proyecto);
         $path_destino = $this->get_path_clonacion($id_pm_destino, $proyecto_dest, $path_origen);
         $dr->tabla('prop_basicas')->set_fila_columna_valor(0, 'ap_archivo', $nuevo_archivo);
         //--- Si el dir. destino no existe, se lo crea
         if (!file_exists($path_destino . $dir_subclases)) {
             toba_manejador_archivos::crear_arbol_directorios($path_destino . $dir_subclases);
         }
         if (!copy($path_origen . $archivo, $path_destino . $nuevo_archivo)) {
             throw new toba_error('No es posible copiar el archivo desde ' . $path_origen . $archivo . ' hacia ' . $path_destino . $nuevo_archivo);
         }
     }
 }