/** * viewdirtree() * * @param mixed $dir * @param mixed $currentpath * @return */ function viewdirtree($dir, $currentpath) { global $array_dirname, $global_config, $module_file; $pattern = !empty($dir) ? '/^(' . nv_preg_quote($dir) . ')\\/([^\\/]+)$/' : '/^([^\\/]+)$/'; $_dirlist = preg_grep($pattern, array_keys($array_dirname)); $content = ''; foreach ($_dirlist as $_dir) { $check_allow_upload_dir = nv_check_allow_upload_dir($_dir); if (!empty($check_allow_upload_dir)) { $class_li = ($_dir == $currentpath or strpos($currentpath, $_dir . '/') !== false) ? 'open collapsable' : 'expandable'; $style_color = $_dir == $currentpath ? ' style="color:red"' : ''; $tree = array(); $tree['class1'] = $class_li; $tree['class2'] = nv_set_dir_class($check_allow_upload_dir) . ' pos' . nv_string_to_filename($dir); $tree['style'] = $style_color; $tree['title'] = $_dir; $tree['titlepath'] = basename($_dir); $content2 = viewdirtree($_dir, $currentpath); $xtpl = new XTemplate('foldlist.tpl', NV_ROOTDIR . '/themes/' . $global_config['module_theme'] . '/modules/' . $module_file); $xtpl->assign('DIRTREE', $tree); if (empty($content2)) { $content2 = '<li class="hide"> </li>'; } if (!empty($content2)) { $xtpl->assign('TREE_CONTENT', $content2); $xtpl->parse('tree.tree_content'); } $xtpl->parse('tree'); $content .= $xtpl->text('tree'); } } return $content; }
/** * viewdirtree() * * @param mixed $dir * @param mixed $currentpath * @return */ function viewdirtree($dir, $currentpath) { global $dirlist, $global_config, $module_file; $pattern = !empty($dir) ? "/^(" . nv_preg_quote($dir) . ")\\/([^\\/]+)\$/" : "/^([^\\/]+)\$/"; $_dirlist = preg_grep($pattern, $dirlist); $content = ""; foreach ($_dirlist as $_dir) { $check_allow_upload_dir = nv_check_allow_upload_dir($_dir); if (!empty($check_allow_upload_dir)) { $class_li = ($_dir == $currentpath or strpos($currentpath, $_dir . '/') !== false) ? "open collapsable" : "expandable"; $style_color = $_dir == $currentpath ? ' style="color:red"' : ''; $tree = array(); $tree['class1'] = $class_li; $tree['class2'] = nv_set_dir_class($check_allow_upload_dir) . " pos" . nv_string_to_filename($dir); $tree['style'] = $style_color; $tree['title'] = $_dir; $tree['titlepath'] = basename($_dir); $content2 = viewdirtree($_dir, $currentpath); $xtpl = new XTemplate("foldlist.tpl", NV_ROOTDIR . "/themes/" . $global_config['module_theme'] . "/modules/" . $module_file); $xtpl->assign("DIRTREE", $tree); if (!empty($content2)) { $xtpl->assign("TREE_CONTENT", $content2); $xtpl->parse('tree.tree_content'); } $xtpl->parse('tree'); $content .= $xtpl->text('tree'); } } return $content; }
<?php /** * @Project NUKEVIET 3.x * @Author VINADES.,JSC (contact@vinades.vn) * @Copyright (C) 2012 VINADES.,JSC. All rights reserved * @Createdate 2-2-2010 12:55 */ if (!defined('NV_IS_FILE_ADMIN')) { die('Stop!!!'); } $path = nv_check_path_upload($nv_Request->get_string('path', 'post')); $newname = nv_string_to_filename(htmlspecialchars(trim($nv_Request->get_string('newname', 'post')), ENT_QUOTES)); $check_allow_upload_dir = nv_check_allow_upload_dir($path); if (!isset($check_allow_upload_dir['rename_dir']) or $check_allow_upload_dir['rename_dir'] !== true) { die("ERROR_" . $lang_module['notlevel']); } if (empty($path) or $path == NV_UPLOADS_DIR) { die("ERROR_" . $lang_module['notlevel']); } if (empty($newname)) { die("ERROR_" . $lang_module['rename_nonamefolder']); } unset($matches); preg_match("/(.*)\\/(.*)\$/", $path, $matches); if (!isset($matches) or empty($matches)) { die("ERROR_" . $lang_module['notlevel']); } $newpath = $matches[1] . '/' . $newname; if (is_dir(NV_ROOTDIR . '/' . $newpath)) { die("ERROR_" . $lang_module['folder_exists']);
*/ if (!defined('NV_IS_FILE_ADMIN')) { die('Stop!!!'); } $path = nv_check_path_upload($nv_Request->get_string('path', 'post')); $check_allow_upload_dir = nv_check_allow_upload_dir($path); if (!isset($check_allow_upload_dir['rename_file'])) { die('ERROR_' . $lang_module['notlevel']); } $file = htmlspecialchars(trim($nv_Request->get_string('file', 'post')), ENT_QUOTES); $file = basename($file); if (empty($file) or !nv_is_file(NV_BASE_SITEURL . $path . '/' . $file, $path)) { die('ERROR_' . $lang_module['errorNotSelectFile']); } $newname = htmlspecialchars(trim($nv_Request->get_string('newname', 'post')), ENT_QUOTES); $newname = nv_string_to_filename(basename($newname)); if (empty($newname)) { die('ERROR_' . $lang_module['rename_noname']); } $newalt = $nv_Request->get_title('newalt', 'post', $newname, 1); $ext = nv_getextension($file); $newname = $newname . '.' . $ext; if ($file != $newname) { $newname2 = $newname; $i = 1; while (file_exists(NV_ROOTDIR . '/' . $path . '/' . $newname2)) { $newname2 = preg_replace('/(.*)(\\.[a-zA-Z0-9]+)$/', '\\1_' . $i . '\\2', $newname); ++$i; } $newname = $newname2; if (!@rename(NV_ROOTDIR . '/' . $path . '/' . $file, NV_ROOTDIR . '/' . $path . '/' . $newname)) {
* @License GNU/GPL version 2 or any later version * @Createdate 2-2-2010 12:55 */ if (!defined('NV_IS_FILE_ADMIN')) { die('Stop!!!'); } $per_page = 50; $check_allow_upload_dir = nv_check_allow_upload_dir($path); if (isset($check_allow_upload_dir['view_dir']) and isset($array_dirname[$path])) { if ($refresh) { nv_filesListRefresh($path); } $page = $nv_Request->get_int('page', 'get', 1); $type = $nv_Request->get_title('type', 'get', 'file'); $order = $nv_Request->get_int('order', 'get', 0); $q = nv_string_to_filename(htmlspecialchars(trim($nv_Request->get_string('q', 'get')), ENT_QUOTES)); $selectfile = array_filter(array_unique(array_map("basename", explode("|", htmlspecialchars(trim($nv_Request->get_string('imgfile', 'get', '')), ENT_QUOTES))))); $base_url = NV_BASE_ADMINURL . 'index.php?' . NV_LANG_VARIABLE . '=' . NV_LANG_DATA . '&' . NV_NAME_VARIABLE . '=' . $module_name . '&' . NV_OP_VARIABLE . '=' . $op . '&path=' . $path . '&type=' . $type . '&order=' . $order; $check_like = false; $db->sqlreset(); if (empty($q)) { $_where = 'did = ' . $array_dirname[$path]; if ($type == 'image' or $type == 'flash') { $_where .= " AND type='" . $type . "'"; } if ($nv_Request->isset_request('author', 'get')) { $_where .= ' AND userid=' . $admin_info['userid']; $base_url .= '&author'; } $db->select('COUNT(*)')->from(NV_UPLOAD_GLOBALTABLE . '_file')->where($_where); $num_items = $db->query($db->sql())->fetchColumn();
/** * nv_mkdir() * * @param mixed $path * @param mixed $dir_name * @return */ function nv_mkdir($path, $dir_name) { global $lang_global, $global_config, $sys_info; $dir_name = nv_string_to_filename(trim(basename($dir_name))); if (!preg_match("/^[a-zA-Z0-9-_.]+\$/", $dir_name)) { return array(0, sprintf($lang_global['error_create_directories_name_invalid'], $dir_name)); } $path = @realpath($path); if (!preg_match('/\\/$/', $path)) { $path = $path . "/"; } if (file_exists($path . $dir_name)) { return array(2, sprintf($lang_global['error_create_directories_name_used'], $dir_name), $path . $dir_name); } if (!is_dir($path)) { return array(0, sprintf($lang_global['error_directory_does_not_exist'], $path)); } $ftp_check_login = 0; if ($sys_info['ftp_support'] and intval($global_config['ftp_check_login']) == 1) { $ftp_server = nv_unhtmlspecialchars($global_config['ftp_server']); $ftp_port = intval($global_config['ftp_port']); $ftp_user_name = nv_unhtmlspecialchars($global_config['ftp_user_name']); $ftp_user_pass = nv_unhtmlspecialchars($global_config['ftp_user_pass']); $ftp_path = nv_unhtmlspecialchars($global_config['ftp_path']); // set up basic connection $conn_id = ftp_connect($ftp_server, $ftp_port); // login with username and password $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); if (!$conn_id || !$login_result) { $ftp_check_login = 3; } elseif (ftp_chdir($conn_id, $ftp_path)) { $ftp_check_login = 1; } else { $ftp_check_login = 2; } } if ($ftp_check_login == 1) { $dir = str_replace(NV_ROOTDIR . "/", "", str_replace('\\', '/', $path . $dir_name)); $res = ftp_mkdir($conn_id, $dir); ftp_chmod($conn_id, 0777, $dir); ftp_close($conn_id); } if (!is_dir($path . $dir_name)) { if (!is_writable($path)) { @chmod($path, 0777); } if (!is_writable($path)) { return array(0, sprintf($lang_global['error_directory_can_not_write'], $path)); } $oldumask = umask(0); $res = @mkdir($path . $dir_name); umask($oldumask); } if (!$res) { return array(0, sprintf($lang_global['error_create_directories_failed'], $dir_name)); } file_put_contents($path . $dir_name . '/index.html', ''); return array(1, sprintf($lang_global['directory_was_created'], $dir_name), $path . $dir_name); }