function smarty_function_init_folders($params, &$smarty)
{
    global $site, $leht, $class_path;
    include_once $class_path . 'adminpage.inc.php';
    ##############
    # default values
    extract($params);
    if (!isset($name)) {
        $name = 'folders';
    }
    if (!isset($parent) && !isset($parent_dir)) {
        # default parent for file (folder "public/"): get folder ID of "public/"
        $sql = $site->db->prepare("SELECT objekt_id, relative_path FROM obj_folder WHERE relative_path = ? LIMIT 1", $site->CONF['file_path']);
        $sth = new SQL($sql);
        $folder = $sth->fetch();
        $parent_dir = $folder['relative_path'];
        $parent = $folder['objekt_id'];
    } elseif (isset($parent)) {
        # get parent folder info
        $parent = (int) $parent;
        if ($parent) {
            $sql = $site->db->prepare("SELECT objekt_id, relative_path FROM obj_folder WHERE objekt_id = ?", $parent);
            $sth = new SQL($sql);
        } else {
            return;
        }
    } elseif (isset($parent_dir)) {
        $parent_dir = preg_replace('#^/#', '', $parent_dir);
        $parent_dir = preg_replace('#/$#', '', $parent_dir);
        $sql = $site->db->prepare("SELECT objekt_id, relative_path FROM obj_folder WHERE relative_path = ? LIMIT 1", '/' . $parent_dir);
        $sth = new SQL($sql);
        if ($sth->rows == 1) {
            $folder = $sth->fetch();
            $parent_dir = $folder['relative_path'];
            $parent = $folder['objekt_id'];
        }
    } else {
        return;
    }
    $folders = array();
    $folders_from_fm = get_subfolders($parent);
    foreach ($folders_from_fm as $folder) {
        $obj = new stdClass();
        # Bug #2318
        $obj->title = $folder['title'];
        $obj->path = $folder['relative_path'];
        $obj->id = $folder['objekt_id'];
        # current folder ID
        $obj->parent_id = $folder['parent_id'];
        ## parent folder ID??
        $obj->fullpath = $site->absolute_path . $folder['relative_path'];
        # absolute path of the folder
        $obj->file_count = $folder['file_count'];
        $folders[] = $obj;
    }
    $smarty->assign($name, $folders);
    return;
}
    switch ($site->fdat['sort_dir']) {
        case 'asc':
            $sort_by .= ' asc';
            break;
        case 'desc':
            $sort_by .= ' desc';
            break;
        default:
            $sort_by .= ' asc';
            break;
    }
    $synchro = synchronise_folder($folder_id);
    if ($synchro === true) {
        $files = get_files_from_folder($folder_id, $sort_by);
        $files = array('total_files' => $files['total_files'], 'files' => array(1 => $files['files']));
        $folders = get_subfolders($folder_id);
        // dont send the parent itself
        reset($folders);
        unset($folders[key($folders)]);
        $response = array('error' => 0, 'folder_id' => $folder_id, 'files' => $files, 'folders' => $folders);
    } else {
        $response = array('error' => 1, 'error_message' => $synchro);
    }
    echo $json_encoder->encode($response);
    exit;
}
// upload file
if ($site->user->user_id && $site->fdat['op'] == 'file_upload' && (int) $site->fdat['folder_id']) {
    verify_form_token();
    include_once $class_path . 'adminpage.inc.php';
    include_once $class_path . 'custom.inc.php';
//always get public folder
$parent_id = $public_folder_id;
while ($parent_id) {
    $folder_tree += get_subfolders($parent_id);
    $parent_id = $folder_tree[$parent_id]['parent_id'];
}
// get folders starting from open folder
$parent_id = $open_folder_id;
while ($parent_id) {
    $subfolders = get_subfolders($parent_id);
    if (is_array($subfolders)) {
        $folder_tree += $subfolders;
    }
    $parent_id = $folder_tree[$parent_id]['parent_id'];
}
$shared_folders = get_subfolders($shared_folder_id);
if (is_array($shared_folders)) {
    $folder_tree += $shared_folders;
}
// resort folder tree
$folders = array();
foreach ($folder_tree as $objekt_id => $folder) {
    $folders[$objekt_id] = $folder['relative_path'];
}
asort($folders);
$temp_folder_tree = $folder_tree;
$folder_tree = array();
foreach ($folders as $objekt_id => $path) {
    $folder_tree[$objekt_id] = $temp_folder_tree[$objekt_id];
}
// mark open folders
Example #4
0
$cs_sort[6] = 'gallery_time DESC';
$cs_sort[7] = 'folders_id ASC';
$cs_sort[8] = 'folders_id DESC';
$cs_sort[9] = 'gallery_status ASC';
$cs_sort[10] = 'gallery_status DESC';
$order = $cs_sort[$sort];
$gallery_count = cs_sql_count(__FILE__, 'gallery', $where);
$data['manage']['head'] = cs_subtemplate(__FILE__, $data, 'gallery', 'manage_head');
$data['head']['count'] = $gallery_count;
$data['head']['pages'] = cs_pages('gallery', 'manage', $gallery_count, $start, $where_x, $sort);
$data['head']['getmsg'] = cs_getmsg();
$where = '';
$status_id = '';
if (!empty($folders_id) and empty($access_id)) {
    $where = "gal.folders_id= '" . $folders_id . "' ";
    $folder_arr = get_subfolders($folders_id);
    if (!empty($folder_arr)) {
        foreach ($folder_arr as $cond) {
            $where .= "OR gal.folders_id = '" . $cond['folders_id'] . "' ";
        }
    }
}
if (!empty($access_id) and empty($folders_id)) {
    $where = "gal.gallery_access = '" . $access_id . "' ";
}
if (!empty($access_id) and !empty($folders_id)) {
    $where = "gal.folders_id = '" . $folders_id . "' AND gallery_access = '" . $access_id . "'";
}
$where = trim($where);
$access_data = array(0 => array('access_id' => '1', 'access_name' => $cs_lang['lev_1']), 1 => array('access_id' => '2', 'access_name' => $cs_lang['lev_2']), 2 => array('access_id' => '3', 'access_name' => $cs_lang['lev_3']), 3 => array('access_id' => '4', 'access_name' => $cs_lang['lev_4']), 4 => array('access_id' => '5', 'access_name' => $cs_lang['lev_5']));
$data['dropdown']['folders'] = make_folders_select('where', $folders_id, 0, 'gallery', 0);
Example #5
0
function get_subfolders($id)
{
    settype($id, 'integer');
    $folders = cs_sql_select(__FILE__, 'folders', 'folders_id', 'sub_id = \'' . $id . '\'', 0, 0, 0);
    $count_folders = count($folders);
    for ($run = 0; $run < $count_folders; $run++) {
        $new_folders = get_subfolders($folders[$run]['folders_id']);
        if (!empty($new_folders)) {
            $folders = array_merge($folders, $new_folders);
        }
    }
    return $folders;
}