Ich weiß nicht ganz ob ich es richtig verstanden hab, aber wie wäre es mit.
case 'show' :
$fid = escape($menu->get(2), 'integer');
$erg = db_query("SELECT prefix_downloads.cat,ssurl,surl,url,hits,vote_klicks,vote_wertung,prefix_downloads.name,version,creater,downs,descl,prefix_downloads.id,DATE_FORMAT(time,'%d.%m.%Y') as datum FROM prefix_downloads LEFT JOIN prefix_downcats ON prefix_downcats.id = prefix_downloads.cat WHERE prefix_downloads.id = " . $fid . " AND (" . $_SESSION['authright'] . " <= prefix_downcats.recht OR (prefix_downloads.cat = 0 AND prefix_downcats.recht IS NULL))");
if (@db_num_rows($erg) != 1) {
$title = $allgAr['title'] . ' :: Downloads ';
$hmenu = '<a class="smalfont" href="?downloads">Downloads</a>';
$design = new design ($title , $hmenu);
$design->header();
echo 'Der Download wurde nicht gefunden';
$design->footer(1);
}
$row = db_fetch_assoc($erg);
// umfrage einen hoch zaehlen ...
if ($menu->getA(3) == 'z' AND is_numeric($menu->getE(3)) AND !isset ($_SESSION['downDoVote'][$row['id']]) AND loggedin()) {
$_SESSION['downDoVote'][$row['id']] = 'o';
$row['vote_wertung'] = round ((($row['vote_wertung'] * $row['vote_klicks']) + $menu->getE(3)) / ($row['vote_klicks'] + 1) , 3);
$row['vote_klicks']++;
db_query("UPDATE prefix_downloads SET vote_wertung = " . $row['vote_wertung'] . ", vote_klicks = " . $row['vote_klicks'] . " WHERE id = " . $row['id']);
}
if (!isset ($_SESSION['downDoKlick'][$row['id']])) {
$_SESSION['downDoKlick'][$row['id']] = 'o';
db_query("UPDATE prefix_downloads SET hits = hits +1 WHERE id = " . $fid);
}
//Download erlauben
$_SESSION['download'][$fid] = true;
$cid = $row['cat'];
$erg1 = db_query("SELECT id,cat,name FROM prefix_downcats WHERE id = " . $cid);
if (db_num_rows($erg1) > 0) {
$row1 = db_fetch_assoc($erg1);
$array = get_cats_array($row1['cat'], '');
if (!empty($array)) {
$titelzw = get_cats_title($array);
$namezw = get_cats_urls($array);
} else {
$titelzw = '';
$namezw = '';
}
$cattitle = ':: ' . $titelzw . $row1['name'] . ' :: ' . $row['name'] . ' ' . $row['version'];
$catname = '<b> » </b>' . $namezw . '<a class="smalfont" href="?downloads-' . $row1['id'] . '">' . $row1['name'] . '</a><b> » </b>' . $row['name'] . ' ' . $row['version'];
} else {
$cattitle = '';
$catname = '';
}
$tpl = new tpl ('downloads_show');
$row['ssurl'] = ($row['ssurl'] != '' ? '<img src="' . $row['ssurl'] . '" alt="' . $row['name'] . ' ' . $row['version'] . '" title="' . $row['name'] . ' ' . $row['version'] . '" style="float:left; border: none; padding-right:5px;" />' : '');
$row['surl'] = (empty($row['surl']) ? '' : ' <a href="' . $row['surl'] . '" target="_blank">Demo/Screenshot</a>');
$row['size'] = get_download_size($row['url']);
$row['descl'] = bbcode($row['descl']);
$row['version_kl'] = (empty($row['version'])?'':'(' . $row['version'] . ')');
$title = $allgAr['title'] . ' :: Downloads ' . $cattitle;
$hmenu = '<a class="smalfont" href="?downloads">Downloads</a>' . $catname;
$design = new design ($title , $hmenu);
$design->header();
$tpl->set_ar_out($row, 0);
$design->footer();
break;
case 'down' :
$fid = intval($menu->get(2));
if (!isset($_SESSION['download'][$fid])) {
header('Location: ' . 'http://' . $_SERVER["HTTP_HOST"] . dirname($_SERVER["SCRIPT_NAME"]) . '/index.php?downloads');
break;
}
$qry = db_query("SELECT d.url, IFNULL(c.`recht`,0) AS recht FROM `prefix_downloads` d LEFT JOIN `prefix_downcats` c ON c.`id` = d.`cat` WHERE d.`id` = $fid");
$row = db_fetch_assoc($qry);
$url = 'http://' . $_SERVER["HTTP_HOST"] . dirname($_SERVER["SCRIPT_NAME"]) . '/index.php?downloads';
if ($qry !== false and has_right($row['recht'])) {
db_query("UPDATE prefix_downloads SET downs = downs +1 WHERE id = " . $fid);
if (file_exists($row['url'])) {
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($row['url']) . '"');
readfile($row['url']);
exit;
} else {
$url = iurlencode($row['url']);
}
$error = false;
}
header('Location: ' . $url);
break;
case 'upload' :