method duplicate documentation in bbn\Ide\Actions
function($data)
{
(strpos($data['src'], '../') === false) &&
(strpos($data['path'], '../') === false) &&
bbn\Str::checkFilename($data['name']) ){
$directories = new Directories($this->db);
$dirs = $directories->dirs();
if ( isset($dirs[$data['dir']]) ){
$cfg =& $dirs[$data['dir']];
$src = $data['src'];
$type = is_dir($cfg['files'][0]['fpath'].$src) ? 'dir' : 'file';
$dir_src = X::dirname($src).'/';
if ( $dir_src === './' ){
$dir_src = '';
}
$name = bbn\Str::fileExt($src, 1)[0];
$ext = bbn\Str::fileExt($src);
$src_file = $dir_src.$name;
$dest_file = $data['path'].'/'.$data['name'];
$todo = [];
if ( $this->isMvc($cfg) ){
foreach ( $cfg['files'] as $f ){
if ( $f != 'CTRL' ){
$src = $f['fpath'].$src_file;
if ( $type === 'file' ){
$src .= '.'.$f['ext'];
}
$is_dir = ($type === 'dir') && is_dir($src);
$is_file = ($type === 'dir') || $is_dir ? false : is_file($src);
if ( $is_dir || $is_file ){
$dest = $f['fpath'].$dest_file;
if ( $type === 'file' ){
$dest .= '.'.$f['ext'];
}
if ( file_exists($dest) ){
return $this->error("Un fichier du meme nom existe déjà $dest");
}
else{
$todo[$src] = $dest;
}
}
}
}
}
else {
$src = $cfg['root_path'].$src_file.($type === 'file' ? '.'.$ext : '');
$is_dir = ($type === 'dir') && is_dir($src);
$is_file = ($type === 'dir') || $is_dir ? false : is_file($src);
if ( $is_dir || $is_file ){
$dest = $cfg['root_path'].$dest_file.($type === 'file' ? '.'.$ext : '');
if ( file_exists($dest) ){
return $this->error("Un fichier du meme nom existe déjà $dest");
}
else{
$todo[$src] = $dest;
}
}
}
foreach ( $todo as $src => $dest ){
if ( !bbn\File\Dir::copy($src, $dest) ){
return $this->error("Impossible de déplacer le fichier $src");
}
}
return 1;
}
}
return $this->error();
}
BBN is a suite of PHP and JS libraries and VueJS components - all open-source! bbn.io, build applications, the quick way
This website uses cookies to ensure you get the best experience on our website.
© 2011-2025
BBN Solutions