/** * lg_folder_newfolder() * Insert a new folder in the gallery * * @since 1.1.0 * @return void */ function lg_folder_newfolder() { global $lg_gallery; $nonce = $_POST['_wpnonce']; $from_gallery = wp_verify_nonce($nonce, 'lg_manage_gallery'); $from_folder = wp_verify_nonce($nonce, 'lg_manage_folder'); if (!($from_gallery || $from_folder)) { die; } if (isset($_POST['create_new_folder'])) { if (isset($_POST['folder'])) { $id = $_POST['folder']; $newname = $_POST['new_folder_name']; if ('0' != $id) { $file = trailingslashit(utf8_decode(stripslashes(rawurldecode($_POST['directory'])))); $_POST['folder'] = $_POST['directory']; include_once $lg_gallery->plugin_dir . '/inc/manager.php'; $parentfolder = new LazyestAdminFolder($file); if ($parentfolder->valid()) { $parentfolder->open(); $foldername = $parentfolder->curdir . $newname; } } else { unset($_POST['folder']); $foldername = $newname; } } $message = sprintf('Folder %s cannot be opened.', htmlentities($newname)); trailingslashit($newname); $result = $lg_gallery->new_gallery_folder($foldername); if (true === $result) { $i = 0; $found = false; $folders = '0' != $id ? $parentfolder->subfolders() : $lg_gallery->folders('root', 'hidden'); while (!$found || $i > count($folders)) { // find pagination information $folder = $folders[$i]; $found = $newname; $folder->dirname(); $i++; } if ($found) { $page = ceil(20 / $i); $_POST['lg_paged'] = $page; // set pagination request $action = '0' != $id ? $parentfolder->foldersbox() : $lg_gallery->foldersbox($folders); } else { $lg_gallery->message = $message; $lg_gallery->success = false; $lg_gallery->options_message(); } } else { $lg_gallery->message = $result; $lg_gallery->success = false; $lg_gallery->options_message(); } } die; }