/** * LazyestAdminFolder::copy_image() * Copy or move an image to another folder * * @return void * @since 1.0 * */ function copy_image($action = 'copy') { global $lg_gallery; $success = false; $get = $action == 'copy' ? $_REQUEST['copy_to'] : $_REQUEST['move_to']; $folderfile = urldecode($get); $imagefile = urldecode($_REQUEST['image']); if ('' == $folderfile || '' == $imagefile) { $message = sprintf(__('Cannot find image or folder, please <a href="%s">reload</a> this folder', 'lazyest-gallery'), admin_url('admin.php') . '?page=lazyest-filemanager&folder=' . lg_nice_link($this->curdir)); } else { $to_folderobj = new LazyestFolder($folderfile); $to_folderobj->open(); $to_folderobj->load(); if (!$to_folderobj->user_can('editor')) { $message = sprintf(esc_html__('You have insufficient permissions to copy to folder %s', 'lazyest-gallery'), htmlentities($folderfile)); } else { $to_folder = $lg_gallery->root . $folderfile; $from_image = $lg_gallery->root . $imagefile; $from_folderobj = new LazyestFolder(dirname($imagefile)); $from_imageobj = $from_folderobj->single_image(basename($from_image)); $to_image = $to_folder . basename($from_image); if (file_exists($to_image)) { $message = sprintf(esc_html__('Cannot copy, %s already exists in %s', 'lazyest-gallery'), htmlentities(basename($from_image)), htmlentities($folderfile)); } else { if (!@copy($from_image, $to_image)) { $message = esc_html__('Cannot copy, Something went wrong copying your image. Please check your server permissions', 'lazyest-gallery'); } else { if ('move' == $action) { $success = @unlink($from_image); if (!$success) { $message = esc_html__('Cannot move, image is copied instead', 'lazyest-gallery'); } } else { $success = true; } if ($success) { $from_imageobj->folder = $to_folderobj; $to_folderobj->list[] = $from_imageobj; $to_folderobj->save(); $copymove = $action == 'copy' ? 'copied' : 'moved'; $folderlink = '<a href="' . admin_url('admin.php') . '?page=lazyest-filemanager&folder=' . urlencode($folderfile) . '#' . $from_imageobj->form_name() . '">' . htmlentities($folderfile) . '</a>'; $message = sprintf(esc_html__('%s successfully %s to %s', 'lazyest-gallery'), htmlentities(basename($from_image)), $copymove, $folderlink); } } } } } $lg_gallery->message = $message; $lg_gallery->success = $success; }