Esempio n. 1
0
function ShowCatDownload($id_cat)
{
    global $context, $txt, $smcFunc, $user_info, $boardurl, $scripturl, $modSettings, $adkportal;
    //This is rare...
    if (empty($id_cat)) {
        fatal_lang_error('adkfatal_require_catid', false);
    }
    //check permissions
    verifyCatPermissions('view', $id_cat);
    //Get the id_group
    $id_group = getIdGroup();
    //Load cat info
    $sql = $smcFunc['db_query']('', '
		SELECT id_cat, title, roworder, description, image, orderby, sortby, id_parent, groups_can_add, error
		FROM {db_prefix}adk_down_cat
		WHERE id_cat = {int:cat}', array('cat' => $id_cat));
    if ($smcFunc['db_num_rows']($sql) == 0) {
        fatal_lang_error('adkfatal_require_catid', false);
    }
    //Set in the row
    $row = $smcFunc['db_fetch_assoc']($sql);
    //Cat Info
    $context['adk_download_title'] = $row['title'];
    $context['adk_download_roworder'] = $row['roworder'];
    $context['adk_download_description'] = parse_bbc($row['description']);
    $context['adk_download_image'] = $row['image'];
    $context['adk_download_idparent'] = $row['id_parent'];
    $sortby = !empty($row['sortby']) ? $row['sortby'] : 'date';
    $orderby = !empty($row['orderby']) ? $row['orderby'] : 'ASC';
    $has_error = !empty($row['error']);
    $context['cat_id'] = $id_cat;
    $value = array_intersect($id_group, explode(',', $row['groups_can_add']));
    $context['adk_can_add_file'] = !empty($value) || $user_info['is_admin'] || allowedTo('adk_downloads_manage');
    $smcFunc['db_free_result']($sql);
    //End cat info
    if ($has_error) {
        fatal_lang_error('adkfatal_require_catid', false);
    }
    //The First Link Tree
    setLinktree('downloads', 'adkdown_downloads');
    //Link Tree if the cat is parent
    CheckCatParent($context['adk_download_idparent']);
    //Current category
    setLinktree('downloads;cat=' . $id_cat, $context['adk_download_title'], false, true);
    //Define this variable :)
    $allowed_to_manage = allowedTo('adk_downloads_manage') ? 1 : 0;
    //Set the start
    $context['start'] = (int) $_REQUEST['start'];
    //List Sub Categories
    getDownloadCategories($id_cat, 'c.id_parent = {int:p}', array('p' => $id_cat), '');
    //11/11/2010
    if ($sortby == 'mostview') {
        $sortby = 'views';
    } elseif ($sortby == 'mostdowns') {
        $sortby = 'totaldownloads';
    }
    $sortby = 'd.' . $sortby;
    $limit = $adkportal['download_set_files_per_page'];
    $start = $context['start'];
    //List all files ;)
    $sql = $smcFunc['db_query']('', '
		SELECT d.id_file, d.id_member, d.date, d.approved, d.title, d.description, d.views, d.totaldownloads, d.main_image,
		m.id_member, m.real_name, d.short_desc
		FROM {db_prefix}adk_down_file AS d
		LEFT JOIN {db_prefix}members AS m ON (m.id_member = d.id_member)
		LEFT JOIN {db_prefix}adk_down_cat AS c ON (c.id_cat = d.id_cat)
		WHERE d.id_cat = {int:cat}
			AND ' . $adkportal['query_downloads'] . '
		ORDER BY ' . $sortby . ' ' . $orderby . '
		LIMIT {int:start}, {int:limit}', array('cat' => $id_cat, 'start' => $start, 'limit' => $limit, 'a' => 1, 'member' => $user_info['id']));
    $context['listFiles'] = array();
    while ($row = $smcFunc['db_fetch_assoc']($sql)) {
        $context['listFiles'][] = array('id_member' => $row['id_member'], 'member' => '<a href="' . $scripturl . '?action=profile;u=' . $row['id_member'] . '">' . $row['real_name'] . '</a>', 'file' => '<a title="' . $row['short_desc'] . '" style="font-weight: bold;" href="' . $scripturl . '?action=downloads;sa=view;down=' . $row['id_file'] . '">' . $row['title'] . '</a>', 'id_file' => $row['id_file'], 'date' => timeformat($row['date']), 'description' => parse_bbc($row['description']), 'views' => $row['views'], 'total' => $row['totaldownloads'], 'image' => $row['main_image'], 'title' => $row['title'], 'approved' => $row['approved'], 'color' => $row['approved'] == 0 ? '#FFEAEA' : '', 'image' => $row['approved'] == 0 ? 'unapprove' : 'approve', 'short' => $row['short_desc']);
    }
    $smcFunc['db_free_result']($sql);
    //Count all files we can view
    $sql = $smcFunc['db_query']('', '
		SELECT COUNT(*) AS total
		FROM {db_prefix}adk_down_file AS d
		LEFT JOIN {db_prefix}adk_down_cat AS c ON (c.id_cat = d.id_cat)
		WHERE d.id_cat = {int:cat}
			AND ' . $adkportal['query_downloads'], array('cat' => $id_cat, 'member' => $user_info['id']));
    list($total) = $smcFunc['db_fetch_row']($sql);
    $smcFunc['db_free_result']($sql);
    $context['page_index'] = constructPageIndex($scripturl . '?action=downloads;cat=' . $id_cat, $context['start'], $total, $limit);
    //Load main trader template.
    $context['sub_template'] = 'view_download_files';
    $context['page_title'] = $context['adk_download_title'] . ' - ' . $txt['adkdown_downloads'];
    //The Menu Buttons
    $context['adk_downloads_add'] = verifyCatPermissions('addfile', $id_cat, true);
    $context['adk_user_is_logged'] = $context['user']['is_logged'];
    $context['adk_can_manage'] = allowedTo('adk_downloads_manage') && $context['adk_download_idparent'] == 0;
}
function AdkDownloadAllCategories()
{
    global $smcFunc, $context, $txt, $total_cat, $scripturl;
    checkSession('get');
    //Get categories
    getDownloadCategories();
    //Compatibility
    //$context['all_categories'] = $context['downloads_cat'];
    $context['page_title'] = $txt['adkmod_eds_categories'];
    $context['sub_template'] = 'all_categories';
}