$PFN_inc = new PFN_INC($PFN_conf); $erro = false; if ($PFN_vars->post('executa')) { if ($PFN_vars->post('novo_nome') != '' && !empty($dir) && !empty($cal)) { $antes = $PFN_conf->g('raiz', 'path') . $PFN_accions->path_correcto($dir . '/') . '/' . $cal; $agora = $PFN_conf->g('raiz', 'path') . $PFN_accions->path_correcto($dir . '/') . '/' . $PFN_accions->nome_correcto($PFN_vars->post('novo_nome')); if (!preg_match('/\\.[a-z0-9]+$/im', $agora) && is_file($antes)) { $partes = explode('.', $antes); $agora .= '.' . end($partes); } $PFN_accions->renomear($antes, $agora); $estado = $PFN_accions->estado_num('renomear'); $estado_accion = $PFN_conf->t('estado.renomear', intval($estado)); if ($PFN_accions->estado('renomear')) { if ($tipo == 'dir') { if (is_dir(PFN_get_path_extra($antes))) { $PFN_extra->renomear($antes, $agora, true); } } else { if (is_file($PFN_inc->nome_inc($antes))) { $PFN_extra->renomear($PFN_inc->nome_inc($antes), $PFN_inc->nome_inc($agora), false); } if (is_file($PFN_imaxes->nome_pequena($antes))) { $PFN_extra->renomear($PFN_imaxes->nome_pequena($antes), $PFN_imaxes->nome_pequena($agora), false); } } if ($PFN_conf->g('inc', 'indexar')) { include_once $PFN_paths['include'] . 'class_indexador.php'; $i_antes = explode('/', $antes); $i_antes = $PFN_accions->nome_correcto(end($i_antes)); $i_agora = explode('/', $agora);
/** * function nome_inc (string $cal) * * devuelve el posible nombre del archivo de información adicional * * return string */ function nome_inc($cal) { return PFN_get_path_extra($cal . '.php'); }
include_once $PFN_paths['include'] . 'class_indexador.php'; $PFN_indexador = new PFN_Indexador($PFN_conf); $PFN_inc = new PFN_INC($PFN_conf); $PFN_extra->accions($PFN_accions); $orixinal = $arquivo; $destino = $PFN_conf->g('raiz', 'path') . $PFN_accions->path_correcto($PFN_vars->post('escollido') . '/') . '/' . $cal; if (strstr($destino, $orixinal)) { $estado_accion = $PFN_conf->t('estado.mover_dir', 7); $erro = true; } if (!$erro && $tipo == 'dir') { $PFN_accions->mover($orixinal, $destino); $estado = $PFN_accions->estado_num('mover_dir'); $estado_accion = $PFN_conf->t('estado.mover_dir', intval($estado)); if ($PFN_accions->estado('mover_dir')) { if (is_dir(PFN_get_path_extra($orixinal))) { $PFN_extra->mover($orixinal, $destino, true); } $i_destino = $PFN_accions->path_correcto($PFN_vars->post('escollido') . '/'); $PFN_indexador->mover("{$dir}/", "{$i_destino}/", "{$cal}/"); } } elseif (!$erro) { $PFN_accions->mover($orixinal, $destino); $estado = $PFN_accions->estado_num('mover_arq'); $estado_accion = $PFN_conf->t('estado.mover_arq', intval($estado)); if ($PFN_accions->estado('mover_arq')) { if (is_file($PFN_inc->nome_inc($orixinal))) { $PFN_extra->mover($PFN_inc->nome_inc($orixinal), $PFN_inc->nome_inc($destino), false); } if (is_file($PFN_imaxes->nome_pequena($orixinal))) { $PFN_extra->mover($PFN_imaxes->nome_pequena($orixinal), $PFN_imaxes->nome_pequena($destino), false);
} $PFN_accions->eliminar($arquivo); $estado = $PFN_accions->estado_num('eliminar_dir'); $estado_accion = $PFN_conf->t('estado.eliminar_dir', intval($estado)); if ($PFN_accions->estado('eliminar_dir')) { if (is_dir(PFN_get_path_extra($arquivo))) { if ($PFN_conf->g('raiz', 'peso_maximo') > 0) { $peso_este += $PFN_accions->get_tamano(PFN_get_path_extra("{$arquivo}/"), true); } $PFN_extra->eliminar($arquivo, true); } $PFN_indexador->eliminar("{$dir}/", "{$cal}/"); } elseif ($PFN_conf->g('raiz', 'peso_maximo') > 0) { clearstatcache(); $peso_este = $PFN_accions->get_tamano("{$arquivo}/", true); $peso_este += $PFN_accions->get_tamano(PFN_get_path_extra("{$arquivo}/"), true); } if ($PFN_conf->g('raiz', 'peso_maximo') > 0) { $peso_este = $PFN_conf->g('raiz', 'peso_actual') - $peso_este; $peso_este = $peso_este < 0 ? 0 : $peso_este; $PFN_conf->p($peso_este, 'raiz', 'peso_actual'); $PFN_usuarios->accion('peso', $peso_este, $PFN_conf->g('raiz', 'id')); } } else { if ($PFN_conf->g('raiz', 'peso_maximo') > 0) { $peso_este = PFN_espacio_disco($arquivo, true); } $PFN_accions->eliminar($arquivo); $estado = $PFN_accions->estado_num('eliminar_arq'); $estado_accion = $PFN_conf->t('estado.eliminar_arq', intval($estado)); if ($PFN_accions->estado('eliminar_arq')) {
/** * function vacia_path (string $path, boolean $borrar_inc, boolean $borrar_imx, boolean $completo) * * Carga la eliminacion de los ficheros de informacion adicional y * previsualización de imágenes */ function vacia_path($path, $borrar_inc = true, $borrar_imx = true, $completo = false) { if (is_dir(PFN_get_path_extra($path))) { $this->_vacia_path(PFN_get_path_extra($path), $borrar_inc, $borrar_imx, $completo); } }
/** * function nome_pequena (string $cal) * * devuelve el posible nombre de la copia reducida * de una imágen dada * * return string */ function nome_pequena($cal) { return PFN_get_path_extra($cal); }
/** * function PFN_crea_path_extra (string $cal) * * Crea el directorio para poder guardar ficheros de información adicional * o las previsualizacion de las imágenes * * return boolean */ function PFN_crea_path_extra($cal) { $path = is_dir($cal) ? PFN_get_path_extra($cal) : dirname(PFN_get_path_extra($cal)); PFN_crea_directorio_recursivo($path); }