toJS($pref['agree_text']);
$cobj = new comment;
global $tp;
/* define images */
define("IMAGE_DOWNLOAD", (file_exists(THEME."generic/download.png") ? THEME."generic/download.png" : e_IMAGE."generic/".IMODE."/download.png"));
define("IMAGE_NEW", (file_exists(THEME."generic/new.png") ? THEME."generic/new.png" : e_IMAGE."generic/".IMODE."/new.png"));
/* define image style */
if (!e_QUERY || $_GET['elan'])
{
require_once(HEADERF);
// no qs - render categories ...
if (!$DOWNLOAD_CAT_PARENT_TABLE)
{
if (is_readable(THEME."templates/download_template.php"))
{
require_once(THEME."templates/download_template.php");
}
elseif (is_readable(THEME."download_template.php"))
{
require_once(THEME."download_template.php");
}
else
{
require_once(e_BASE.$THEMES_DIRECTORY."templates/download_template.php");
}
}
if(!defined("DL_IMAGESTYLE")){ define("DL_IMAGESTYLE","border:1px solid blue");}
$qry = "
SELECT dc.*, SUM(d.download_filesize) AS d_size,
COUNT(d.download_id) AS d_count,
MAX(d.download_datestamp) as d_last,
SUM(d.download_requested) as d_requests,
COUNT(d2.download_id) AS d_subcount,
SUM(d2.download_filesize) AS d_subsize,
SUM(d2.download_requested) as d_subrequests
FROM #download_category AS dc
LEFT JOIN #download AS d ON dc.download_category_id = d.download_category AND d.download_active > 0 AND d.download_visible IN (".USERCLASS_LIST.")
LEFT JOIN #download_category as dc2 ON dc2.download_category_parent=dc.download_category_id
LEFT JOIN #download AS d2 ON dc2.download_category_id = d2.download_category AND d2.download_active > 0 AND d2.download_visible IN (".USERCLASS_LIST.")
WHERE dc.download_category_class IN (".USERCLASS_LIST.")
GROUP by dc.download_category_id ORDER by dc.download_category_order
";
if (!$sql->db_Select_gen($qry))
{
$ns->tablerender(LAN_dl_18, "
".LAN_dl_2."
");
require_once(FOOTERF);
exit;
}
else
{
while($row = $sql->db_Fetch())
{
$catList[$row['download_category_parent']][] = $row;
}
foreach($catList[0] as $row)
{
$download_cat_table_string .= parse_download_cat_parent_table($row);
foreach($catList[$row['download_category_id']] as $crow)
{
$download_cat_table_string .= parse_download_cat_child_table($crow, $catList[$crow['download_category_id']]);
}
}
}
$download_cat_table_start = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_CAT_TABLE_START);
$DOWNLOAD_CAT_NEWDOWNLOAD_TEXT = " ".LAN_dl_36;
$DOWNLOAD_CAT_SEARCH = "
";
$download_cat_table_end = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_CAT_TABLE_END);
$text .= $download_cat_table_start.$download_cat_table_string.$download_cat_table_end;
if($DOWNLOAD_CAT_TABLE_RENDERPLAIN) {
echo $text;
} else {
$ns->tablerender(LAN_dl_18.$type, $text);
}
require_once(FOOTERF);
exit;
}
$tmp = explode(".", e_QUERY);
if (is_numeric($tmp[0])) {
$from = intval($tmp[0]);
$action = preg_replace("#\W#", "", $tp -> toDB($tmp[1]));
$id = intval($tmp[2]);
$view = intval($tmp[3]);
$order = preg_replace("#\W#", "", $tp -> toDB($tmp[4]));
$sort = preg_replace("#\W#", "", $tp -> toDB($tmp[5]));
} else {
$action = preg_replace("#\W#", "", $tp -> toDB($tmp[0]));
$id = intval($tmp[1]);
}
if (isset($_POST['commentsubmit']))
{
if (!$sql->db_Select("download", "download_comment", "download_id = '{$id}' "))
{
header("location:".e_BASE."index.php");
exit;
}
else
{
$row = $sql->db_Fetch();
if ($row['download_comment'] && (ANON === TRUE || USER === TRUE))
{
$clean_authorname = $_POST['author_name'];
$clean_comment = $_POST['comment'];
$clean_subject = $_POST['subject'];
$cobj->enter_comment($clean_authorname, $clean_comment, "download", $id, $pid, $clean_subject);
$e107cache->clear("comment.download.{$sub_action}");
}
}
}
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------
if ($action == "list") {
if (isset($_POST['view'])) {
extract($_POST);
}
if (!$from) {
$from = 0;
}
if (!$order) {
$order = ($pref['download_order'] ? $pref['download_order'] : "download_datestamp");
}
if (!$sort) {
$sort = ($pref['download_sort'] ? $pref['download_sort'] : "DESC");
}
if (!$view) {
$view = ($pref['download_view'] ? $pref['download_view'] : "10");
}
$total_downloads = $sql->db_Count("download", "(*)", "WHERE download_category = '{$id}' AND download_active > 0 AND download_visible REGEXP '".e_CLASS_REGEXP."'");
/*
if (!$total_downloads) {
require_once(HEADERF);
require_once(FOOTERF);
exit;
}
*/
/* SHOW SUBCATS ... */
if($sql -> db_Select("download_category", "download_category_id", "download_category_parent='{$id}' "))
{
/* there are subcats - display them ... */
$qry = "
SELECT dc.*, dc2.download_category_name AS parent_name, dc2.download_category_icon as parent_icon, SUM(d.download_filesize) AS d_size,
COUNT(d.download_id) AS d_count,
MAX(d.download_datestamp) as d_last,
SUM(d.download_requested) as d_requests
FROM #download_category AS dc
LEFT JOIN #download AS d ON dc.download_category_id = d.download_category AND d.download_active > 0 AND d.download_visible IN (".USERCLASS_LIST.")
LEFT JOIN #download_category as dc2 ON dc2.download_category_id='{$id}'
WHERE dc.download_category_class IN (".USERCLASS_LIST.") AND dc.download_category_parent='{$id}'
GROUP by dc.download_category_id ORDER by dc.download_category_order
";
$sql->db_Select_gen($qry);
$scArray = $sql -> db_getList();
if (!$DOWNLOAD_CAT_PARENT_TABLE) {
if (file_exists(THEME."download_template.php")) {
require_once(THEME."download_template.php");
} else {
require_once(e_BASE.$THEMES_DIRECTORY."templates/download_template.php");
}
}
if(!defined("DL_IMAGESTYLE")){ define("DL_IMAGESTYLE","border:1px solid blue");}
foreach($scArray as $row) {
$download_cat_table_string .= parse_download_cat_child_table($row, FALSE);
}
require_once(HEADERF);
if(strstr($row['parent_icon'], chr(1))) {
list($download_category_icon, $download_category_icon_empty) = explode(chr(1), $row['parent_icon']);
}
$DOWNLOAD_CAT_MAIN_ICON = ($download_category_icon ? "" : " ");
$DOWNLOAD_CAT_MAIN_NAME = $tp->toHTML($row['parent_name']);
$download_cat_table_start = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_CAT_TABLE_START);
$DOWNLOAD_CAT_NEWDOWNLOAD_TEXT = " ".LAN_dl_36;
$download_cat_table_end = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_CAT_TABLE_END);
$text = $download_cat_table_start.$download_cat_table_string.$download_cat_table_end;
if($DOWNLOAD_CAT_TABLE_RENDERPLAIN) {
echo $text;
} else {
$ns->tablerender(LAN_dl_18.$type, $text);
}
require_once(FOOTERF);
exit;
}
$sql->db_Select("download_category", "*", "download_category_id='{$id}'");
$row = $sql->db_Fetch();
extract($row);
$core_total = $sql->db_Count("download WHERE download_category='{$id}' AND download_active > 0 AND download_visible IN (".USERCLASS_LIST.")");
$type = $download_category_name;
$type .= ($download_category_description) ? " [ ".$download_category_description." ]" : "";
define("e_PAGETITLE", PAGE_NAME." / ".$download_category_name);
require_once(HEADERF);
if (!check_class($download_category_class)) {
$ns->tablerender(LAN_dl_18, "".LAN_dl_3."
");
require_once(FOOTERF);
exit;
}
if(strstr($download_category_icon, chr(1)))
{
list($download_category_icon, $download_category_icon_empty) = explode(chr(1), $download_category_icon);
}
$DOWNLOAD_CATEGORY_ICON = ($download_category_icon ? "" : " ");
$DOWNLOAD_CATEGORY = $tp->toHTML($download_category_name);
$DOWNLOAD_CATEGORY_DESCRIPTION = $tp -> toHTML($download_category_description, TRUE);
if (!$DOWNLOAD_LIST_TABLE) {
if (file_exists(THEME."download_template.php")) {
require_once(THEME."download_template.php");
} else {
require_once(e_BASE.$THEMES_DIRECTORY."templates/download_template.php");
}
}
if(!defined("DL_IMAGESTYLE")){ define("DL_IMAGESTYLE","border:1px solid blue");}
$gen = new convert;
require_once(e_HANDLER."rate_class.php");
$rater = new rater;
$sql = new db;
$sql2 = new db;
$filetotal = $sql->db_Select("download", "*", "download_category='{$id}' AND download_active > 0 AND download_visible IN (".USERCLASS_LIST.") ORDER BY {$order} {$sort} LIMIT {$from}, {$view}");
$ft = ($filetotal < $view ? $filetotal : $view);
while ($row = $sql->db_Fetch()) {
extract($row);
$download_list_table_string .= parse_download_list_table($row);
$tdownloads += $download_requested;
}
$DOWNLOAD_LIST_TOTAL_AMOUNT = $tdownloads." ".LAN_dl_16;
$DOWNLOAD_LIST_TOTAL_FILES = $ft." ".LAN_dl_17;
$download_list_table_start = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_LIST_TABLE_START);
$download_list_table_end = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_LIST_TABLE_END);
$text .= $download_list_table_start.$download_list_table_string.$download_list_table_end;
if($DOWNLOAD_LIST_TABLE_RENDERPLAIN) {
echo $text;
} else {
$ns->tablerender($type, $text);
}
echo "".LAN_dl_9."";
$parms = $total_downloads.",".$view.",".$from.",".e_SELF."?[FROM].list.{$id}.{$view}.{$order}.{$sort}.";
echo ($total_downloads > $view) ? "
".$tp->parseTemplate("{NEXTPREV={$parms}}")."
" : "";
echo "
";
require_once(FOOTERF);
exit;
}
// -------------------------------------------------------------------------------------------------------------------------------------------------------------------
if ($action == "view") {
require_once(e_HANDLER."rate_class.php");
$gen = new convert;
$rater = new rater;
$sql2 = new db;
$highlight_search = FALSE;
if (isset($_POST['highlight_search'])) {
$highlight_search = TRUE;
}
$sql = new db;
if (!$sql->db_Select("download", "*", "download_id = {$id} AND download_active > 0 AND download_visible IN (".USERCLASS_LIST.")")) {
require_once(HEADERF);
require_once(FOOTERF);
exit;
}
if (!$DOWNLOAD_VIEW_TABLE) {
if (file_exists(THEME."download_template.php")) {
require_once(THEME."download_template.php");
} else {
require_once(e_BASE.$THEMES_DIRECTORY."templates/download_template.php");
}
}
if(!defined("DL_IMAGESTYLE")){ define("DL_IMAGESTYLE","border:0px");}
$gen = new convert;
$row = $sql->db_Fetch();
extract($row);
$comments_enabled = $row['download_comment'];
$subject = $download_name;
$sql2->db_Select("download_category", "*", "download_category_id='".intval($download_category)."' ");
$row = $sql2->db_Fetch();
extract($row);
$type = $download_category_name;
$type .= ($download_category_description) ? " [ ".$download_category_description." ]" : "";
define("e_PAGETITLE", PAGE_NAME." / ".$download_category_name." / ".$download_name);
require_once(HEADERF);
if (!check_class($download_category_class)) {
$ns->tablerender(LAN_dl_18, "".LAN_dl_3."
");
require_once(FOOTERF);
exit;
}
$DOWNLOAD_ADMIN_EDIT = (ADMIN && getperms('6')) ? "" : "";
$DOWNLOAD_REPORT_LINK = "".LAN_dl_45."";
$DOWNLOAD_CATEGORY = $download_category_name;
$DOWNLOAD_CATEGORY_DESCRIPTION = $tp -> toHTML($download_category_description, TRUE);
$DOWNLOAD_VIEW_NAME = $download_name;
$DOWNLOAD_VIEW_NAME_LINKED = "{$download_name}";
$DOWNLOAD_VIEW_AUTHOR_LAN = LAN_dl_24;
$DOWNLOAD_VIEW_AUTHOR = ($download_author ? $download_author : " ");
if ($download_author_email) {
$DOWNLOAD_VIEW_AUTHOREMAIL_LAN = LAN_dl_30;
$DOWNLOAD_VIEW_AUTHOREMAIL = $tp -> toHTML($download_author_email, TRUE);
}
if ($download_author_website) {
$DOWNLOAD_VIEW_AUTHORWEBSITE_LAN = LAN_dl_31;
$DOWNLOAD_VIEW_AUTHORWEBSITE = $tp -> toHTML($download_author_website, TRUE);
}
$DOWNLOAD_VIEW_DESCRIPTION_LAN = LAN_dl_7;
$DOWNLOAD_VIEW_DESCRIPTION = $tp->toHTML(($download_description ? $download_description : " "), TRUE);
$DOWNLOAD_VIEW_DATE_LAN = LAN_dl_22;
$DOWNLOAD_VIEW_DATE_SHORT = $gen->convert_date($download_datestamp, "short");
$DOWNLOAD_VIEW_DATE_LONG = $gen->convert_date($download_datestamp, "long");
$DOWNLOAD_VIEW_IMAGE_LAN = LAN_dl_11;
if ($download_thumb) {
$DOWNLOAD_VIEW_IMAGE = ($download_image ? "" : "");
}
else if($download_image) {
$DOWNLOAD_VIEW_IMAGE = "".LAN_dl_40."";
}
else
{
$DOWNLOAD_VIEW_IMAGE = LAN_dl_75;
}
$DOWNLOAD_VIEW_IMAGEFULL = ($download_image) ? "" : "";
if ($pref['agree_flag'] == 1) {
$dnld_link = "";
} else {
$dnld_link = "";
}
$DOWNLOAD_VIEW_ID = $download_id;
$DOWNLOAD_VIEW_FILESIZE_LAN = LAN_dl_10;
$DOWNLOAD_VIEW_FILESIZE = parsesize($download_filesize);
$DOWNLOAD_VIEW_REQUESTED_LAN = LAN_dl_18;
$DOWNLOAD_VIEW_REQUESTED = $download_requested;
$DOWNLOAD_VIEW_LINK_LAN = LAN_dl_32;
if($download_mirror)
{
if($download_mirror_type)
{
$DOWNLOAD_VIEW_LINK = "".LAN_dl_66."";
}
else
{
$DOWNLOAD_VIEW_LINK = $dnld_link." ";
}
}
else
{
$DOWNLOAD_VIEW_LINK = $dnld_link." ";
}
$DOWNLOAD_VIEW_RATING_LAN = LAN_dl_12;
$DOWNLOAD_VIEW_RATING = "
";
if ($ratearray = $rater->getrating("download", $download_id)) {
for($c = 1; $c <= $ratearray[1]; $c++) {
$DOWNLOAD_VIEW_RATING .= "";
}
if ($ratearray[2]) {
$DOWNLOAD_VIEW_RATING .= "";
}
if ($ratearray[2] == "") {
$ratearray[2] = 0;
}
$DOWNLOAD_VIEW_RATING .= " ".$ratearray[1].".".$ratearray[2]." - ".$ratearray[0]." ";
$DOWNLOAD_VIEW_RATING .= ($ratearray[0] == 1 ? LAN_dl_43 : LAN_dl_44);
} else {
$DOWNLOAD_VIEW_RATING .= LAN_dl_13;
}
$DOWNLOAD_VIEW_RATING .= " | ";
if (!$rater->checkrated("download", $download_id) && USER) {
$DOWNLOAD_VIEW_RATING .= $rater->rateselect(" ".LAN_dl_14, "download", $download_id)."";
}
else if(!USER) {
$DOWNLOAD_VIEW_RATING .= " ";
} else {
$DOWNLOAD_VIEW_RATING .= LAN_dl_15;
}
$DOWNLOAD_VIEW_RATING .= " |
";
$download_view_table_start = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_VIEW_TABLE_START);
$download_view_table_string = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_VIEW_TABLE);
$download_view_table_end = preg_replace("/\{(.*?)\}/e", '$\1', $DOWNLOAD_VIEW_TABLE_END);
$text .= $download_view_table_start.$download_view_table_string.$download_view_table_end;
$dl_id = intval($download_id);
if ($sql->db_Select("download", "*", "download_category='".intval($download_category_id)."' AND download_id < {$dl_id} AND download_active > 0 && download_visible IN (".USERCLASS_LIST.") ORDER BY download_datestamp DESC")) {
$row = $sql->db_Fetch();
extract($row);
$prev = "<< ".LAN_dl_33." [{$download_name}]\n";
} else {
$prev = " ";
}
if ($sql->db_Select("download", "*", "download_category='".intval($download_category_id)."' AND download_id > {$dl_id} AND download_active > 0 && download_visible IN (".USERCLASS_LIST.") ORDER BY download_datestamp ASC")) {
$row = $sql->db_Fetch();
extract($row);
$next = "[{$download_name}] ".LAN_dl_34." >>\n";
} else {
$next = " ";
}
if ($prev || $next) {
$text .= "
";
}
if($DOWNLOAD_VIEW_TABLE_RENDERPLAIN) {
echo $text;
} else {
$ns->tablerender($type, $text);
}
unset($text);
if ($comments_enabled) {
$cobj->compose_comment("download", "comment", $id, $width, $subject, $showrate=FALSE);
}
require_once(FOOTERF);
}
if ($action == "report") {
if (!$sql->db_Select("download", "*", "download_id = {$id} AND download_active > 0")) {
require_once(HEADERF);
require_once(FOOTERF);
exit;
}
$row = $sql -> db_Fetch();
extract($row);
if (isset($_POST['report_download'])) {
$report_add = $tp -> toDB($_POST['report_add']);
$download_name = $tp -> toDB($download_name);
$user = USER ? USERNAME : LAN_dl_52;
if ($pref['download_email']) {
require_once(e_HANDLER."mail.php");
$subject = LAN_dl_60." ".SITENAME;
$report = LAN_dl_58." ".SITENAME.":\n".(substr(SITEURL, -1) == "/" ? SITEURL : SITEURL."/")."download.php?view.".$download_id."\n
".LAN_dl_59." ".$user."\n".$report_add;
sendemail(SITEADMINEMAIL, $subject, $report);
}
$sql->db_Insert('generic', "0, 'Broken Download', ".time().",'".USERID."', '{$download_name}', {$id}, '{$report_add}'");
define("e_PAGETITLE", PAGE_NAME." / ".LAN_dl_47);
require_once(HEADERF);
$text = LAN_dl_48."
".LAN_dl_49."tablerender(LAN_dl_50, $text);
} else {
define("e_PAGETITLE", PAGE_NAME." / ".LAN_dl_51." ".$download_name);
require_once(HEADERF);
$text = "