<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright © 2002 - 2011 Nick Jones
| http://www.php-fusion.co.uk
+--------------------------------------------------------+
| Infusion: Download Interface
| File: downloads.php
| Copyright © 2007 - 2011 ptown67
| http://www.ptown67.de
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "../../maincore.php";
require_once THEMES."templates/header.php";

if (!defined("IN_FUSION")) { die("Access Denied"); }
include INFUSIONS."download_interface_panel/infusion_db.php";
require_once DLI_ROOT."includes/functions.php";

if (file_exists(DLI_ROOT."locale/".$settings['locale'].".php")) {
	include DLI_ROOT."locale/".$settings['locale'].".php";
} else {
	include DLI_ROOT."locale/German.php";
}

add_to_title(" - ".$locale['dli_100']);

# Messages
if(!iMEMBER) {
  echo "<div class='admin-message'>".$locale['dli_101']."</div>";
}

if(isset($_GET['message'])) {
  add_to_head("<script type='text/javascript' src='".INCLUDES."jquery/admin-msg.js'></script>\n");
  echo "<div id='close-message'>\n<div class='admin-message'>\n";
  if($_GET['message'] == "dl_updated") echo $locale['dli_102'];
  if($_GET['message'] == "dl_new") echo $locale['dli_103'];
  if($_GET['message'] == "dl_notfound") echo $locale['dli_132'];
  if($_GET['message'] == "cat_notfound") echo $locale['dli_133'];
  echo "</div>\n</div>\n";
}

# Navigation
require_once DLI_ROOT."includes/navigation.php";

# Download starten
if(isset($_GET['download_id']) && isnum($_GET['download_id']) && isset($_GET['start_download'])) {
	$res = 0;
	if ($data = dbarray(dbquery("SELECT download_url, download_file, download_cat FROM ".DB_DLI." WHERE download_id='".$_GET['download_id']."'"))) {
		$cdata = dbarray(dbquery("SELECT download_cat_access FROM ".DB_DLI_CATS." WHERE download_cat_id='".$data['download_cat']."'"));
		if (checkgroup($cdata['download_cat_access'])) {
			$result = dbquery("UPDATE ".DB_DLI." SET download_count=download_count+1 WHERE download_id='".$_GET['download_id']."'");
			if (!empty($data['download_file']) && file_exists(DOWNLOADS.$data['download_file'])) {
				$res = 1;
				require_once INCLUDES."class.httpdownload.php";
				ob_end_clean();
				$object = new httpdownload;
				$object->set_byfile(DOWNLOADS.$data['download_file']);
				$object->use_resume = true;
				$object->download();
				exit;
			} elseif (!empty($data['download_url'])) {
				$res = 1;
				redirect($data['download_url']);
			}
		}
	}
  if ($res == 0) { redirect(DLI_ROOT."downloads.php"); }
}

# Download anzeigen
if(isset($_GET['download_id']) && isnum($_GET['download_id'])) {
  $download_result = dbquery("SELECT * FROM ".DB_DLI." INNER JOIN ".DB_DLI_CATS." on download_cat = download_cat_id WHERE ".groupaccess('download_cat_access')." AND download_id='".$_GET['download_id']."'");
  if(dbrows($download_result)) {
    $download_data = dbarray($download_result);
    if(isset($_GET['download_id']) && isnum($_GET['download_id']) && !isset($_GET['download_cat']) || !isnum($_GET['download_cat'])) $_GET['download_cat'] = $download_data['download_cat'];
    opentable($locale['dli_104']." ".$download_data['download_title']."&nbsp;".$download_data['download_version']);
    # Download Infos
    echo "<div id='dli_box'>\n<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n";
    echo "<tr><td class='tbl2' style='padding-left: 10px;'><u>".$locale['dli_105']."</u></td>\n";
    echo "<td class='tbl2' style='padding-left: 10px;'><u>".$locale['dli_106']."</u></td>\n";
    echo "<td class='tbl2' style='padding-left: 10px;'><u>".$locale['dli_107']."</u></td></tr>\n";
    echo "<tr><td class='tbl1' width='33%' style='padding: 10px;' nowrap>".$download_data['download_title']."</td>\n";
    echo "<td class='tbl1' width='33%' style='padding: 10px;'>".$download_data['download_version']."</td>\n";
    echo "<td class='tbl1' width='33%' style='padding: 10px;'>".$download_data['download_os']."</td></tr>\n";

    # Beschreibung
    if($download_data['download_description'] != "") {
      echo "<tr><td class='tbl2' colspan='3' style='padding-left: 10px;'><u>".$locale['dli_108']."</u></td></tr>\n";
      echo "<tr><td class='tbl1' colspan='3' style='padding: 10px;'>";
      echo nl2br(parseubb($download_data['download_description']));
      echo "</td></tr>\n";
    }
    # Screenshot
    if ($download_data['download_image'] != "") {
      add_to_head("<link rel='stylesheet' href='".INCLUDES."jquery/colorbox/colorbox.css' type='text/css' media='screen' />");
    	add_to_head("<script type='text/javascript' src='".INCLUDES."jquery/colorbox/jquery.colorbox.js'></script>");
    	add_to_head("<script type='text/javascript'>\n
    	/* <![CDATA[ */\n
    	jQuery(document).ready(function(){
    		jQuery('a.tozoom').colorbox();
    	});\n
    	/* ]]>*/\n
    	</script>\n");
			echo "<tr><td class='tbl2' colspan='3' style='padding-left: 10px;'><u>".$locale['dli_109']."</u></td></tr>\n";
			echo "<tr><td class='tbl1' colspan='3' style='padding: 10px;'>\n";
      echo "<a class='tozoom' href='".DOWNLOADS."images/".$download_data['download_image']."' title='".$download_data['download_title']." ".$download_data['download_version']." ~ <hr />Screenshot vergr&ouml;&szlig;ern...'><img src='".DOWNLOADS."images/".$download_data['download_image_thumb']."' alt='".$download_data['download_title']." ".$download_data['download_version']."' border='0' style='border: 1px solid #888;' /></a>";
      echo "</td>\n</tr>\n";
		}
    # Copyright
    if($download_data['download_copyright'] != "") {
      echo "<tr><td class='tbl2' colspan='3' style='padding-left: 10px;'><u>".$locale['dli_110']."</u></td></tr>\n";
      echo "<tr><td class='tbl1' colspan='3' style='padding: 10px;'>".nl2br(parseubb($download_data['download_copyright']))."</td></tr>\n";
    }
    # Website
    if($download_data['download_homepage'] != "") {
      echo "<tr><td class='tbl2' colspan='3' style='padding-left: 10px;'><u>".$locale['dli_111']."</u></td></tr>\n";
      echo "<tr><td class='tbl1' colspan='3' style='padding: 10px;'>";
      echo "<a href='".$download_data['download_homepage']."' target='_blank'>".nl2br(parseubb($download_data['download_homepage']))."</a>";
      echo "</td></tr>\n";
    }
    # Weitere Infos
    echo "<tr><td class='tbl2' style='padding-left: 10px;'><u>".$locale['dli_112']."</u></td>\n";
    echo "<td class='tbl2' style='padding-left: 10px;'><u>".$locale['dli_113']."</u></td>\n";
    echo "<td class='tbl2' style='padding-left: 10px;' nowrap>";
    echo "<u>".$locale['dli_114']."</u> <span class='small'>(".$download_data['download_count'].")</span></td></tr>\n";
    echo "<tr><td class='tbl1' width='33%' style='padding: 10px;'>".$download_data['download_license']."</td>\n";
    echo "<td class='tbl1' width='33%' style='padding: 10px;'>".date("d.m.Y - H:i", $download_data['download_datestamp'])."</td>\n";
    echo "<td class='tbl1' width='33%' style='padding: 10px;'>";
    if (!iMEMBER) {
      echo "<a title='".$download_data['download_title']." ".$download_data['download_version']." ~ <hr />".$locale['dli_115']."<hr /><img src=\"".DLI_ROOT."images/error.png\" alt=\"\" border=\"0\" />'><img src='".DLI_ROOT."images/disk.png' alt='' border='0' /></a> <span class='small2'>".$locale['dli_116']."</span>\n";
    } elseif($download_data['download_url'] == '#' || $download_data['download_url'] == '' && $download_data['download_file'] == '') {
      echo "<a title='".$download_data['download_title']." ".$download_data['download_version']." ~ <hr />".$locale['dli_117']."<hr /><img src=\"".DLI_ROOT."images/error.png\" alt=\"\" border=\"0\" />'><img src='".DLI_ROOT."images/disk.png' alt='' border='0' /></a> <span class='small2'>".$locale['dli_116']."</span>\n";
    } else {
      echo "<a href='".DLI_ROOT."downloads.php?download_cat=".$download_data['download_cat']."&download_id=".$download_data['download_id']."&start_download' target='_blank' title='".$download_data['download_title']." ".$download_data['download_version']." ~ <hr />".$locale['dli_118']."<hr /><img src=\"".DLI_ROOT."images/tick.png\" alt=\"\" border=\"0\" />'><img src='".DLI_ROOT."images/disk.png' alt='' border='0' /></a>&nbsp;";
      if($download_data['download_url'] != "" && $download_data['download_url'] != "#" && $download_data['download_file'] == "") echo "<span class='small2'>Externer Download</span>\n";
      else echo "<span class='small2'>".$download_data['download_filesize']."</span>\n";
    }
    echo "</td>";
    echo "</tr>\n</table>\n</div>\n";
    closetable();
    # Bewertung
    if ($download_data['download_allow_ratings']) {
      include DLI_ROOT."includes/ratings_include.php";
      showratings("D", $_GET['download_id'], FUSION_SELF."?download_cat=".$download_data['download_cat']."&amp;download_id=".$_GET['download_id']);
    }
    # Kommentare
    if ($download_data['download_allow_comments']) {
      include INCLUDES."comments_include.php";
      showcomments("D", DB_DOWNLOADS, "download_id", $_GET['download_id'], FUSION_SELF."?download_cat=".$download_data['download_cat']."&amp;download_id=".$_GET['download_id']);
    }
  } else {
    redirect(DLI_ROOT."downloads.php?message=dl_notfound");
  }
}

# Downloads in Kategorien
$table_title = $locale['dli_123']; $table_body = ""; $select_cat = ""; $row_limit = $settings['downloads_per_page'];
if(isset($_GET['download_cat']) && isnum($_GET['download_cat'])) {
  $select_cat = " AND download_cat='".$_GET['download_cat']."'";
  $cname_result = dbquery("SELECT * FROM ".DB_DLI_CATS." WHERE ".groupaccess('download_cat_access')." AND download_cat_id='".$_GET['download_cat']."'");
  if(dbrows($cname_result)) {
    $cname_data = dbarray($cname_result);
    if(isset($_GET['download_id']) && isnum($_GET['download_id'])) {
      $table_title = $locale['dli_119'];
      $select_cat = " AND download_cat='".$_GET['download_cat']."' AND download_id!='".$_GET['download_id']."'";
      $row_limit = 10;
    } else {
      $table_title = $locale['dli_121']." ".$cname_data['download_cat_name'];
      $select_cat = " AND download_cat='".$_GET['download_cat']."'";
    }
  } else { redirect(DLI_ROOT."downloads.php?message=cat_notfound"); }
}
opentable($table_title);
echo "<div id='dli_box'>\n<table cellpadding='0' cellspacing='1' width='100%' class='tbl-border'>\n";
$rows = dbrows(dbquery("SELECT * FROM ".DB_DLI." INNER JOIN ".DB_DLI_CATS." ON download_cat_id = download_cat WHERE ".groupaccess('download_cat_access')." AND download_id!=''".$select_cat));
if(!dbrows(dbquery("SELECT * FROM ".DB_DLI_CATS." WHERE ".groupaccess('download_cat_access')))) {
  $table_body = $locale['dli_135'];
} elseif($rows == 0 && isset($_GET['download_id']) && isnum($_GET['download_id'])) {
  $table_body = $locale['dli_120'];
} elseif($rows == 0) {
  $table_body = $locale['dli_134'];
}
if (!isset($_GET['rowstart']) || !isnum($_GET['rowstart'])) $_GET['rowstart'] = 0;
$cat_name = "";
$result = dbquery("SELECT tu.*, tn.*, download_cat_id, download_cat_name FROM ".DB_DLI_CATS." tn
LEFT JOIN ".DB_DLI." tu ON tn.download_cat_id=tu.download_cat
WHERE ".groupaccess('download_cat_access')."
AND download_id!=''".$select_cat." ORDER BY download_cat_name ASC, download_title ASC LIMIT ".$_GET['rowstart'].", ".$row_limit);
if (dbrows($result)) {
  while ($data = dbarray($result)) {
    if (($cat_name == "") || ($cat_name != $data['download_cat_name'])) {
      $cat_name = $data['download_cat_name'];
      $dl_num = dbrows(dbquery("SELECT * FROM ".DB_DLI." WHERE download_cat='".$data['download_cat_id']."'"));
      if($dl_num == 1) $downloads = $locale['dli_124']; else $downloads = $locale['dli_125'];
      echo "<tr>\n<td class='tbl2' width='1%'><img src='".DLI_ROOT."images/folder.png' alt='' border='0' /></td>";
      echo "<td class='tbl2' style='padding-left: 10px;'><a href='".DLI_ROOT."downloads.php?download_cat=".$data['download_cat_id']."' title='".$locale['dli_126']." ".$data['download_cat_name']." ~ <hr />".$data['download_cat_description']."<hr />".$dl_num." ".$downloads." ".$locale['dli_127']."'><u>".$data['download_cat_name']."</u></a>\n</td>\n";
      echo "<td class='tbl2'><u>".$locale['dli_128']."</u></td>";
      echo "<td class='tbl2'><u>".$locale['dli_129']."</u></td>";
      echo "<td class='tbl2'><u>".$locale['dli_130']."</u></td>";
      if (checkrights("D") && defined("iAUTH")) echo "<td class='tbl2' width='1%'><img src='".THEME."images/blank.gif' width='16px' height='16px' alt='' border='0' /></td>\n</tr>\n";
    }
    echo "<tr>\n<td class='tbl1' width='1%'><img src='".DLI_ROOT."images/bullet_disk.png' alt='' border='0' /></td>";
    echo "<td class='tbl1' style='padding-left: 10px;' nowrap>";
    echo "<a href='".DLI_ROOT."downloads.php?download_cat=".$data['download_cat']."&download_id=".$data['download_id']."' title='".$data['download_title']." ".$data['download_version']." ~ <hr /><span class=\"small\">".parseubb($data['download_description_short'])."</span>";
    # Screenshot
    if ($data['download_image'] != "") {
      echo "<hr /><div style=\"text-align: center;\"><img src=\"".DOWNLOADS."images/".$data['download_image_thumb']."\" alt=\"\" border=\"0\" style=\"border: 1px solid #888; opacity: 0.8;\" /></div>";
    }
    if ($data['download_copyright'] != "") {
      echo "<hr /><span class=\"small\" style=\"float: right;\">".$data['download_copyright']."</span>";
    }
    echo "'>".$data['download_title']." ".$data['download_version']."</a>";
    echo "</td>\n<td class='tbl1 small' width='1%' nowrap>".$data['download_os']."</td>\n";
    echo "<td class='tbl1 small' width='1%' nowrap>".date("d.m.Y-H:i", $data['download_datestamp'])."</td>\n";
    echo "<td class='tbl1' width='1%' nowrap>".dli_rating($data['download_id'])."</td>\n";
    if (checkrights("D") && defined("iAUTH")) { echo "<td class='tbl1' align='center' width='1%'><a href='".ADMIN."downloads.php".$aidlink."&action=edit&download_id=".$data['download_id']."' title='".$data['download_title']." ".$data['download_version']." ~ <hr />".$locale['dli_131']."'><img src='".DLI_ROOT."images/bullet_wrench.png' alt='' border='0' /></a></td>\n</tr>\n"; }
  }
} else {
  echo "<tr>\n<td class='tbl1 small2' colspan='10' align='center' style='font-style: italic; padding: 10px'><em>".$table_body."</em></td></tr>\n";
}
echo "<tr>\n<td class='tbl2 small2' align='right' colspan='8'><a href='http://www.ptown67.de' title='Download Interface ~ Copyright &copy; 2010-".date("Y")." ptown67'>DL-Interface &copy;</a></td>\n";
echo "</table>\n</div>\n";
closetable();
if ($rows > $settings['downloads_per_page']) echo "<div align='center'>".makepagenav($_GET['rowstart'], $settings['downloads_per_page'], $rows, 3,FUSION_SELF."?")."</div>\n";

require_once THEMES."templates/footer.php";
?>