<?php
// File: $Id: dl-downloaddetails.php,v 1.3 2001/12/09 15:44:49 gregorrothfuss Exp $ $Name: $
// ----------------------------------------------------------------------
// POST-NUKE Content Management System
// Copyright (C) 2001 by the Post-Nuke Development Team.
// http://www.postnuke.com/
// ----------------------------------------------------------------------
// Based on:
// PHP-NUKE Web Portal System - http://phpnuke.org/
// Thatware - http://thatware.org/
// ----------------------------------------------------------------------
// LICENSE
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// To read the license please visit http://www.gnu.org/copyleft/gpl.html
// ----------------------------------------------------------------------
// Original Author of file: Francisco Burzi
// Purpose of file:
// ----------------------------------------------------------------------
/**
* @usedby index
*/
function viewdownloadcomments($lid, $ttitle) {
global $admin, $bgcolor2, $ModName, $pntable, $dbconn;
include("header.php");
include(WHERE_IS_PERSO."config.php");
menu(1);
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_READ))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
echo "<br>";
$column = &$pntable['downloads_votedata_column'];
$result=$dbconn->Execute("SELECT $column[ratinguser], $column[rating],
$column[ratingcomments], $column[ratingtimestamp]
FROM $pntable[downloads_votedata]
WHERE $column[ratinglid] = $lid
AND $column[ratingcomments] != ''
ORDER BY $column[ratingtimestamp] DESC");
$totalcomments = $result->PO_RecordCount();
$transfertitle = ereg_replace ("_", " ", $ttitle);
$displaytitle = $transfertitle;
OpenTable();
echo "<center><font class=\"pn-title\">"._DOWNLOADPROFILE.": $displaytitle</font><br><br>";
downloadinfomenu($lid, $ttitle);
echo "<br><br><br><font class=\"pn-normal\">"._TOTALOF." $totalcomments "._COMMENTS."</font></center><br>"
."<table align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"450\"><tr><td></td></tr>";
$x=0;
// FTO Check EOF and databse error
if (!$result) {
PN_DBMsgError($dbconn, __FILE__, __LINE__, "An error ocurred");
die();
}
while(!$result->EOF) {
list($ratinguser, $rating, $ratingcomments, $ratingtimestamp)=$result->fields;
$result->MoveNext();
$ratingcomments = stripslashes($ratingcomments);
ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2}) ([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2})", $ratingtimestamp, $ratingtime);
$timestamp = mktime($ratingtime[4],$ratingtime[5],$ratingtime[6],$ratingtime[2],$ratingtime[3],$ratingtime[1]);
$formatted_date = date("F d, Y", $timestamp);
/* Individual user information */
$result2=$dbconn->Execute("SELECT ".$pntable['downloads_votedata_column']['rating'].
" FROM ".$pntable['downloads_votedata'].
" WHERE ".$pntable['downloads_votedata_column']['ratinguser']." = '".$ratinguser."'");
$usertotalcomments = $result2->PO_RecordCount();
$useravgrating = 0;
// FTO Check EOF and databse error
if (!$result2) {
PN_DBMsgError($dbconn, __FILE__, __LINE__, "An error ocurred");
die();
}
while(!$result2->EOF) {
list($rating2)=$result2->fields;
$result2->MoveNext();
$useravgrating = $useravgrating + $rating2;
}
$useravgrating = $useravgrating / $usertotalcomments;
$useravgrating = number_format($useravgrating, 1);
echo "<tr><td bgcolor=\"$bgcolor2\">"
."<font class=\"pn-normal\"> "._USER.": <a class=\"pn-normal\" href=\"$nukeurl/user.php?op=userinfo&module=NS-User&uname=$ratinguser\">$ratinguser</a></font>"
."</td>"
."<td bgcolor=\"$bgcolor2\">"
."<font class=\"pn-normal\">"._RATING.": $rating</font>"
."</td>"
."<td bgcolor=\"$bgcolor2\" align=\"right\">"
."<font class=\"pn-normal\">$formatted_date</font>"
."</td>"
."</tr>"
."<tr>"
."<td valign=\"top\">"
."<font class=\"pn-normal\">"._USERAVGRATING.": $useravgrating</font>"
."</td>"
."<td valign=\"top\" colspan=\"2\">"
."<font class=\"pn-normal\">"._NUMRATINGS.": $usertotalcomments</font>"
."</td>"
."</tr>"
."<tr>"
."<td colspan=\"3\">"
."<font class=\"pn-normal\">";
if (authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_EDIT)) {
echo "<a class=\"pn-normal\" href=\"admin.php?op=DownloadsModDownload&lid=$lid\"><img src=\"modules/$ModName/images/editicon.gif\" border=\"0\" alt=\""._EDITTHISDOWNLOAD."\"></a>";
}
echo " $ratingcomments</font>"
."<br><br><br></td></tr>";
$x++;
}
echo "</table><br><br><center>";
downloadfooter($lid,$ttitle);
echo "</center>";
CloseTable();
include("footer.php");
}
/**
* @usedby index
*/
function outsidedownloadsetup($lid) {
global $ModName, $nukeurl, $sitename, $modurl;
include("header.php");
include(WHERE_IS_PERSO."config.php");
menu(1);
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_COMMENT))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
echo "<br>";
OpenTable();
echo "<center><font class=\"pn-title\">"._PROMOTEYOURSITE."</font></center><br><br>
<font class=\"pn-normal\">"._PROMOTE01."</font><br><br>
<font class=\"pn-normal\">1) "._TEXTLINK."</font><br><br>
<font class=\"pn-normal\">"._PROMOTE02."</font><br><br>
<center><a class=\"pn-normal\" href=\"$nukeurl/$modurl&req=ratedownload&lid=$lid\">"._RATETHISSITE." @ $sitename</a></center><br><br>
<center><font class=\"pn-normal\">"._HTMLCODE1."</center></font><br>
<center><font class=\"pn-normal\"><a href=\"$nukeurl/$modurl&req=ratedownload&lid=$lid\">"._RATETHISSITE."</a></font></center>
<br><br>
<font class=\"pn-normal\">"._THENUMBER." \"$lid\" "._IDREFER."</font><br><br>
<font class=\"pn-normal\">2) "._BUTTONLINK."</font><br><br>
<font class=\"pn-normal\">"._PROMOTE03."</font><br><br>
<center>
<form action=\"modules.php\" method=\"post\">\n
<input type=\"hidden\" name=\"op\" value=\"modload\">\n
<input type=\"hidden\" name=\"name\" value=\"$ModName\"><br>\n
<input type=\"hidden\" name=\"file\" value=\"index\">\n
<input type=\"hidden\" name=\"lid\" value=\"$lid\">\n
<input type=\"hidden\" name=\"req\" value=\"ratedownload\">\n
<input type=\"submit\" value=\""._RATEIT."\">\n
</form>\n
</center>
<center><font class=\"pn-normal\">"._HTMLCODE2."</center></font><br><br>
<table border=\"0\" align=\"center\"><tr><td align=\"left\"><font class=\"pn-normal\">
<form action=\"$nukeurl/$modurl\" method=\"post\"><br>\n
<input type=\"hidden\" name=\"lid\" value=\"$lid\"><br>\n
<input type=\"hidden\" name=\"req\" value=\"ratedownload\"><br>\n
<input type=\"submit\" value=\""._RATEIT."\"><br>\n
</form>\n
</font></td></tr></table>
<br><br>
<font class=\"pn-normal\">3) "._REMOTEFORM."</font><br><br>
<font class=\"pn-normal\">"._PROMOTE04."</font>
<center>
<form action=\"$nukeurl/modules.php\" method=\"post\">
<input type=\"hidden\" name=\"op\" value=\"modload\">\n
<input type=\"hidden\" name=\"name\" value=\"$ModName\">\n
<input type=\"hidden\" name=\"file\" value=\"index\">\n
<table align=\"center\" border=\"0\" width=\"175\" cellspacing=\"0\" cellpadding=\"0\">
<tr><td align=\"center\"><font class=\"pn-normal\">"._VOTE4THISSITE."<font></a></td></tr>
<tr><td>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">
<tr><td valign=\"top\">
<select name=\"rating\">
<option selected>--</option>";
for ($i=10; $i>=1; $i--) {
echo "<option>$i</option>";
}
echo "</select>
</td><td valign=\"top\">
<input type=\"hidden\" name=\"ratinglid\" value=\"$lid\">
<input type=\"hidden\" name=\"ratinguser\" value=\"outside\">
<input type=\"hidden\" name=\"req\" value=\"addrating\">
<input type=\"submit\" value=\""._DOWNLOADVOTE."\">
</td></tr></table>
</td></tr></table></form>
<br><font class=\"pn-normal\">"._HTMLCODE3."</font><br><br></center>
<font class=\"pn-normal\"><blockquote>
<form method=\"post\" action=\"$nukeurl/$modurl\"><br>
<table align=\"center\" border=\"0\" width=\"175\" cellspacing=\"0\" cellpadding=\"0\"><br>
<tr><td align=\"center\"><b>"._VOTE4THISSITE."</b></a></td></tr><br>
<tr><td><br>
<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\"><br>
<tr><td valign=\"top\"><br>
<select name=\"rating\"><br>
<option selected>--</option><br>";
for ($i=10; $i>=1; $i--) {
echo "<option>10</option><br>";
}
echo "</select><br>
</td><td valign=\"top\"><br>
<input type=\"hidden\" name=\"ratinglid\" value=\"$lid\"><br>
<input type=\"hidden\" name=\"ratinguser\" value=\"outside\"><br>
<input type=\"hidden\" name=\"req\" value=\"addrating\"><br>
<input type=\"submit\" value=\""._DOWNLOADVOTE."\"><br>
</td></tr></table><br>
</td></tr></table><br>
</form><br>
</blockquote></font>
<br><br><center>
<font class=\"pn-normal\">"._PROMOTE05."<br><br>
- $sitename "._STAFF."
<br><br></font></center>";
CloseTable();
include("footer.php");
}
/**
* @usedby index
*/
function viewdownloaddetails($lid, $ttitle) {
global $admin, $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $ModName, $pntable, $dbconn, $modurl;
include("header.php");
include(WHERE_IS_PERSO."config.php");
menu(1);
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_READ))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
$column = &$pntable['downloads_votedata_column'];
$voteresult = $dbconn->Execute("SELECT $column[rating], $column[ratinguser],
$column[ratingcomments]
FROM $pntable[downloads_votedata]
WHERE $column[ratinglid] = $lid");
$totalvotesDB = $voteresult->PO_RecordCount();
$anonvotes = 0;
$anonvoteval = 0;
$outsidevotes = 0;
$outsidevoteeval = 0;
$regvoteval = 0;
$topanon = 0;
$bottomanon = 11;
$topreg = 0;
$bottomreg = 11;
$topoutside = 0;
$bottomoutside = 11;
$avv = array(0,0,0,0,0,0,0,0,0,0,0);
$rvv = array(0,0,0,0,0,0,0,0,0,0,0);
$ovv = array(0,0,0,0,0,0,0,0,0,0,0);
$truecomments = $totalvotesDB;
// FTO Check EOF and databse error
if (!$voteresult) {
PN_DBMsgError($dbconn, __FILE__, __LINE__, "An error ocurred");
die();
}
while(!$voteresult->EOF) {
list($ratingDB, $ratinguserDB, $ratingcommentsDB) = $voteresult->fields;
$voteresult->MoveNext();
if ($ratingcommentsDB=="") {
$truecomments--;
}
if ($ratinguserDB==$anonymous) {
$anonvotes++;
$anonvoteval += $ratingDB;
}
if ($useoutsidevoting == 1) {
if ($ratinguserDB=='outside') {
$outsidevotes++;
$outsidevoteval += $ratingDB;
}
} else {
$outsidevotes = 0;
}
if ($ratinguserDB!=$anonymous && $ratinguserDB!="outside") {
$regvoteval += $ratingDB;
}
if ($ratinguserDB!=$anonymous && $ratinguserDB!="outside") {
if ($ratingDB > $topreg) {
$topreg = $ratingDB;
}
if ($ratingDB < $bottomreg) {
$bottomreg = $ratingDB;
}
for ($rcounter=1; $rcounter<11; $rcounter++) {
if ($ratingDB==$rcounter) {
$rvv[$rcounter]++;
}
}
}
if ($ratinguserDB==$anonymous) {
if ($ratingDB > $topanon) {
$topanon = $ratingDB;
}
if ($ratingDB < $bottomanon) {
$bottomanon = $ratingDB;
}
for ($rcounter=1; $rcounter<11; $rcounter++) {
if ($ratingDB==$rcounter) {
$avv[$rcounter]++;
}
}
}
if ($ratinguserDB=="outside") {
if ($ratingDB > $topoutside) {
$topoutside = $ratingDB;
}
if ($ratingDB < $bottomoutside) {
$bottomoutside = $ratingDB;
}
for ($rcounter=1; $rcounter<11; $rcounter++) {
if ($ratingDB==$rcounter) {
$ovv[$rcounter]++;
}
}
}
}
$regvotes = $totalvotesDB - $anonvotes - $outsidevotes;
if ($totalvotesDB == 0) {
$finalrating = 0;
} else if ($anonvotes == 0 && $regvotes == 0) {
/* Figure Outside Only Vote */
$finalrating = $outsidevoteval / $outsidevotes;
$finalrating = number_format($finalrating, $detailvotedecimal);
$avgOU = $outsidevoteval / $totalvotesDB;
$avgOU = number_format($avgOU, $detailvotedecimal);
} else if ($outsidevotes == 0 && $regvotes == 0) {
/* Figure Anon Only Vote */
$finalrating = $anonvoteval / $anonvotes;
$finalrating = number_format($finalrating, $detailvotedecimal);
$avgAU = $anonvoteval / $totalvotesDB;
$avgAU = number_format($avgAU, $detailvotedecimal);
} else if ($outsidevotes == 0 && $anonvotes == 0) {
/* Figure Reg Only Vote */
$finalrating = $regvoteval / $regvotes;
$finalrating = number_format($finalrating, $detailvotedecimal);
$avgRU = $regvoteval / $totalvotesDB;
$avgRU = number_format($avgRU, $detailvotedecimal);
} else if ($regvotes == 0 && $useoutsidevoting == 1 && $outsidevotes != 0 && $anonvotes != 0 ) {
/* Figure Reg and Anon Mix */
$avgAU = $anonvoteval / $anonvotes;
$avgOU = $outsidevoteval / $outsidevotes;
if ($anonweight > $outsideweight ) {
/* Anon is 'standard weight' */
$newimpact = $anonweight / $outsideweight;
$impactAU = $anonvotes;
$impactOU = $outsidevotes / $newimpact;
$finalrating = ((($avgOU * $impactOU) + ($avgAU * $impactAU)) / ($impactAU + $impactOU));
$finalrating = number_format($finalrating, $detailvotedecimal);
} else {
/* Outside is 'standard weight' */
$newimpact = $outsideweight / $anonweight;
$impactOU = $outsidevotes;
$impactAU = $anonvotes / $newimpact;
$finalrating = ((($avgOU * $impactOU) + ($avgAU * $impactAU)) / ($impactAU + $impactOU));
$finalrating = number_format($finalrating, $detailvotedecimal);
}
} else {
/* REG User vs. Anonymous vs. Outside User Weight Calutions */
$impact = $anonweight;
$outsideimpact = $outsideweight;
if ($regvotes == 0) {
$avgRU = 0;
} else {
$avgRU = $regvoteval / $regvotes;
}
if ($anonvotes == 0) {
$avgAU = 0;
} else {
$avgAU = $anonvoteval / $anonvotes;
}
if ($outsidevotes == 0 ) {
$avgOU = 0;
} else {
$avgOU = $outsidevoteval / $outsidevotes;
}
$impactRU = $regvotes;
$impactAU = $anonvotes / $impact;
$impactOU = $outsidevotes / $outsideimpact;
$finalrating = (($avgRU * $impactRU) + ($avgAU * $impactAU) + ($avgOU * $impactOU)) / ($impactRU + $impactAU + $impactOU);
$finalrating = number_format($finalrating, $detailvotedecimal);
}
if ($avgOU == 0 || $avgOU == "") {
$avgOU = "";
} else {
$avgOU = number_format($avgOU, $detailvotedecimal);
}
if ($avgRU == 0 || $avgRU == "") {
$avgRU = "";
} else {
$avgRU = number_format($avgRU, $detailvotedecimal);
}
if ($avgAU == 0 || $avgAU == "") {
$avgAU = "";
} else {
$avgAU = number_format($avgAU, $detailvotedecimal);
}
if ($topanon == 0) $topanon = "";
if ($bottomanon == 11) $bottomanon = "";
if ($topreg == 0) $topreg = "";
if ($bottomreg == 11) $bottomreg = "";
if ($topoutside == 0) $topoutside = "";
if ($bottomoutside == 11) $bottomoutside = "";
$totalchartheight = 70;
$chartunits = $totalchartheight / 10;
$avvper = array(0,0,0,0,0,0,0,0,0,0,0);
$rvvper = array(0,0,0,0,0,0,0,0,0,0,0);
$ovvper = array(0,0,0,0,0,0,0,0,0,0,0);
$avvpercent = array(0,0,0,0,0,0,0,0,0,0,0);
$rvvpercent = array(0,0,0,0,0,0,0,0,0,0,0);
$ovvpercent = array(0,0,0,0,0,0,0,0,0,0,0);
$avvchartheight = array(0,0,0,0,0,0,0,0,0,0,0);
$rvvchartheight = array(0,0,0,0,0,0,0,0,0,0,0);
$ovvchartheight = array(0,0,0,0,0,0,0,0,0,0,0);
$avvmultiplier = 0;
$rvvmultiplier = 0;
$ovvmultiplier = 0;
for ($rcounter=1; $rcounter<11; $rcounter++) {
if ($anonvotes != 0) $avvper[$rcounter] = $avv[$rcounter] / $anonvotes;
if ($regvotes != 0) $rvvper[$rcounter] = $rvv[$rcounter] / $regvotes;
if ($outsidevotes != 0) $ovvper[$rcounter] = $ovv[$rcounter] / $outsidevotes;
$avvpercent[$rcounter] = number_format($avvper[$rcounter] * 100, 1);
$rvvpercent[$rcounter] = number_format($rvvper[$rcounter] * 100, 1);
$ovvpercent[$rcounter] = number_format($ovvper[$rcounter] * 100, 1);
if ($avv[$rcounter] > $avvmultiplier) $avvmultiplier = $avv[$rcounter];
if ($rvv[$rcounter] > $rvvmultiplier) $rvvmultiplier = $rvv[$rcounter];
if ($ovv[$rcounter] > $ovvmultiplier) $ovvmultiplier = $ovv[$rcounter];
}
if ($avvmultiplier != 0) $avvmultiplier = 10 / $avvmultiplier;
if ($rvvmultiplier != 0) $rvvmultiplier = 10 / $rvvmultiplier;
if ($ovvmultiplier != 0) $ovvmultiplier = 10 / $ovvmultiplier;
for ($rcounter=1; $rcounter<11; $rcounter++) {
$avvchartheight[$rcounter] = ($avv[$rcounter] * $avvmultiplier) * $chartunits;
$rvvchartheight[$rcounter] = ($rvv[$rcounter] * $rvvmultiplier) * $chartunits;
$ovvchartheight[$rcounter] = ($ovv[$rcounter] * $ovvmultiplier) * $chartunits;
if ($avvchartheight[$rcounter]==0) $avvchartheight[$rcounter]=1;
if ($rvvchartheight[$rcounter]==0) $rvvchartheight[$rcounter]=1;
if ($ovvchartheight[$rcounter]==0) $ovvchartheight[$rcounter]=1;
}
$transfertitle = ereg_replace ("_", " ", $ttitle);
$displaytitle = $transfertitle;
$column = &$pntable['downloads_downloads_column'];
$res = $dbconn->Execute("SELECT $column[name], $column[email], $column[description],
$column[filesize], $column[version], $column[homepage]
FROM $pntable[downloads_downloads]
WHERE $column[lid]='$lid'");
list($name, $email, $description, $filesize, $version, $homepage) = $res->fields;
echo "<br>";
OpenTable();
echo "<center><font class=\"pn-title\">"._DOWNLOADPROFILE.": $displaytitle</font><br><br>";
downloadinfomenu($lid, $ttitle);
echo "<br><br><font class=\"pn-normal\">"._DOWNLOADRATINGDET."</font><br>"
."<font class=\"pn-normal\">"._TOTALVOTES." $totalvotesDB</font><br>"
."<font class=\"pn-normal\">"._OVERALLRATING.": $finalrating</font><br><br>"
."<font class=\"pn-normal\">$description</font><br>";
if ($name == "") {
$name = "<font class=\"pn-normal\">"._UNKNOWN."</font>";
} else {
if ($email == "") {
$name = "$name";
} else {
$email = ereg_replace("@"," at ",$email);
$email = ereg_replace("\."," dot ",$email);
$name = "$name ($email)";
}
}
echo "<br><font class=\"pn-normal\">"._AUTHOR.": $name</font><br>"
."<font class=\"pn-normal\">"._VERSION.": $version "._FILESIZE.": ".CoolSize($filesize)."</font><br><br>"
."[ <a class=\"pn-normal\" href=\"$modurl&req=getit&lid=$lid\">"._DOWNLOADNOW."</a> ";
if (($homepage == "") OR ($homepage == "http://")) {
echo "]<br><br>";
} else {
echo "| <a class=\"pn-normal\" href=\"$homepage\" target=\"new\">"._HOMEPAGE."</a> ]<br><br>";
}
echo "<table align=\"center\" border=\"1\" cellspacing=\"0\" cellpadding=\"2\" width=\"455\">";
// optimization start -- besfred
$regdraw = array (
'weight' => FALSE,
'users' => _REGISTEREDUSERS,
'votes' => $regvotes,
'novotes' => _NOREGUSERSVOTES,
'vv' => $rvv,
'vvpercent' => $rvvpercent,
'vvcharth' => $rvvchartheight,
'avg' => $avgRU,
'top' => $topreg,
'low' => $bottomreg,
'comments' => $truecomments
);
drawvotestats($regdraw);
$unregdraw = array (
'weight' => TRUE,
'weighnote' => _WEIGHNOTE,
'weightext' => $anonweight,
'users' => _UNREGISTEREDUSERS,
'votes' => $anonvotes,
'novotes' => _NOUNREGUSERSVOTES,
'vv' => $avv,
'vvpercent' => $avvpercent,
'vvcharth' => $avvchartheight,
'avg' => $avgAU,
'top' => $topanon,
'low' => $bottomanon
);
drawvotestats($unregdraw);
if ($useoutsidevoting == 1) {
$outsidedraw = array (
'weight' => TRUE,
'weighnote' => _WEIGHOUTNOTE,
'weightext' => $outsideweight,
'users' => _OUTSIDEVOTERS,
'votes' => $outsidevotes,
'novotes' => _NOOUTSIDEVOTES,
'vv' => $ovv,
'vvpercent' => $ovvpercent,
'vvcharth' => $ovvchartheight,
'avg' => $avgOU,
'top' => $topoutside,
'low' => $bottomoutside
);
drawvotestats($outsidedraw);
}
// optimization end -- besfred
echo "</table><br><br>";
downloadfooter($lid,$ttitle);
echo "</center>";
CloseTable();
include("footer.php");
}
/**
* @usedby index
*/
function brokendownload($lid) {
include("header.php");
include(WHERE_IS_PERSO."config.php");
global $user, $ModName;
if(is_user($user)) {
$user2 = base64_decode($user);
$cookie = explode(":", $user2);
cookiedecode($user);
$ratinguser = $cookie[1];
} else {
$ratinguser = "$anonymous";
}
menu(1);
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_READ))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
echo "<br>";
OpenTable();
echo "<center><font class=\"pn-title\">"._REPORTBROKEN."</font><br><br><br>";
echo "<form action=\"modules.php\" method=\"post\">\n"
."<input type=\"hidden\" name=\"op\" value=\"modload\">\n"
."<input type=\"hidden\" name=\"name\" value=\"$ModName\">\n"
."<input type=\"hidden\" name=\"file\" value=\"index\">\n";
echo "<font class=\"pn-normal\">";
echo "<input type=\"hidden\" name=\"lid\" value=\"$lid\">";
echo "<input type=\"hidden\" name=\"modifysubmitter\" value=\"$ratinguser\">";
echo "<font class=\"pn-normal\">"._THANKSBROKEN."<br>"._SECURITYBROKEN."</font><br><br>";
echo "<input type=\"hidden\" name=\"req\" value=\"brokendownloadS\"><input type=\"submit\" value=\""._REPORTBROKEN."\"></font></form></center>";
CloseTable();
include("footer.php");
}
function brokendownloadS($lid, $modifysubmitter) {
include(WHERE_IS_PERSO."config.php");
global $user, $ModName, $pntable, $dbconn;
csrfcheck();
if(is_user($user)) {
$user2 = base64_decode($user);
$cookie = explode(":", $user2);
cookiedecode($user);
$ratinguser = $cookie[1];
} else {
$ratinguser = "$anonymous";
}
include("header.php");
menu(1);
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_READ))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
echo "<br>";
OpenTable();
$column = &$pntable['downloads_modrequest_column'];
// FTO : Call the GenId function to support autoinc.
// FTO : Add SEQ suffix to avoid conflict name with ORACLE
$newid = $dbconn->GenId("{$pntable['downloads_modrequest']}_SEQ");
$dbconn->Execute("INSERT INTO $pntable[downloads_modrequest] ($column[requestid],
$column[lid], $column[modifysubmitter], $column[brokendownload],
$column[name], $column[email], $column[filesize], $column[version],
$column[homepage])
VALUES ($newid, $lid, '$ratinguser', 1, '$name', '$email',
'$filesize', '$version', '$homepage')");
echo "<br><center><font class=\"pn-normal\">"._THANKSFORINFO."<br><br>"._LOOKTOREQUEST."</font></center><br>";
CloseTable();
include("footer.php");
}
function modifydownloadrequest($lid) {
include("header.php");
global $user, $pntable, $ModName, $dbconn;
if(is_user($user)) {
$user2 = base64_decode($user);
$cookie = explode(":", $user2);
cookiedecode($user);
$ratinguser = $cookie[1];
} else {
$ratinguser = "$anonymous";
}
menu(1);
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_COMMENT))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
echo "<br>";
OpenTable();
$blocknow = 0;
if ($blockunregmodify == 1 && $ratinguser=="$anonymous") {
echo "<br><br><center><font class=\"pn-normal\">"._DONLYREGUSERSMODIFY."</center></font>";
$blocknow = 1;
}
if ($blocknow != 1) {
$column = &$pntable['downloads_downloads_column'];
$result = $dbconn->Execute("SELECT $column[cid], $column[sid], $column[title],
$column[url], $column[description], $column[name],
$column[email], $column[filesize], $column[version],
$column[homepage]
FROM $pntable[downloads_downloads]
WHERE $column[lid]=$lid");
echo "<center><font class=\"pn-title\">"._REQUESTDOWNLOADMOD."</font></center><br>";
// FTO Check EOF and databse error
if (!$result) {
PN_DBMsgError($dbconn, __FILE__, __LINE__, "An error ocurred");
die();
}
while(!$result->EOF) {
list($cid, $sid, $title, $url, $description, $name, $email, $filesize, $version, $homepage) = $result->fields;
$result->MoveNext();
$title = stripslashes($title);
$description = stripslashes($description);
echo "<form action=\"modules.php\" method=\"post\">"
."<input type=\"hidden\" name=\"op\" value=\"modload\">\n"
."<input type=\"hidden\" name=\"name\" value=\"$ModName\">\n"
."<input type=\"hidden\" name=\"file\" value=\"index\">\n"
."<center><font class=\"pn-normal\">"._DOWNLOADID.": $lid</font></center><br><br><br>"
."<font class=\"pn-normal\">"._DOWNLOADNAME.":</font><br><input type=\"text\" name=\"title\" value=\"$title\" size=\"50\" maxlength=\"100\"><br><br>"
."<font class=\"pn-normal\">"._URL.":</font><br><input type=\"text\" name=\"url\" value=\"$url\" size=\"50\" maxlength=\"100\"><br><br>"
."<font class=\"pn-normal\">"._DESCRIPTION.":</font> <br><textarea name=\"description\" cols=\"60\" rows=\"10\">$description</textarea><br><br>";
$column = &$pntable['downloads_categories_column'];
$result2=$dbconn->Execute("SELECT $column[cid], $column[title]
FROM $pntable[downloads_categories] ORDER BY $column[title]");
echo "<input type=\"hidden\" name=\"lid\" value=\"$lid\">"
."<input type=\"hidden\" name=\"modifysubmitter\" value=\"$ratinguser\">"
."<font class=\"pn-normal\">"._CATEGORY.":</font> <select name=\"cat\">";
// FTO Check EOF and databse error
if (!$result2) {
PN_DBMsgError($dbconn, __FILE__, __LINE__, "An error ocurred");
die();
}
while(!$result2->EOF) {
list($ccid, $ctitle) = $result2->fields;
$result2->MoveNext();
$sel = "";
if ($cid==$ccid AND $sid==0) {
$sel = "selected";
}
echo "<option value=\"$ccid\" $sel>$ctitle</option>";
$column = &$pntable['downloads_subcategories_column'];
$result3=$dbconn->Execute("SELECT $column[sid], $column[title]
FROM $pntable[downloads_subcategories]
WHERE $column[cid]=$ccid ORDER BY $column[title]");
// FTO Check EOF and databse error
if (!$result3) {
PN_DBMsgError($dbconn, __FILE__, __LINE__, "An error ocurred");
die();
}
while(!$result3->EOF) {
list($ssid, $stitle) = $result3->fields;
$result3->MoveNext();
$sel = "";
if ($sid==$ssid) {
$sel = "selected";
}
echo "<option value=\"$ccid-$ssid\" $sel>$ctitle / $stitle</option>";
}
}
echo "</select><br><br>"
."<font class=\"pn-normal\">"._AUTHORNAME.":</font><br><input type=\"text\" name=\"aname\" value=\"$name\" size=\"30\" maxlength=\"80\"><br><br>"
."<font class=\"pn-normal\">"._AUTHOREMAIL.":</font><br><input type=\"text\" name=\"email\" value=\"$email\" size=\"30\" maxlength=\"80\"><br><br>"
."<font class=\"pn-normal\">"._FILESIZE.": ("._INBYTES.")</font><br><input type=\"text\" name=\"filesize\" value=\"$filesize\" size=\"12\" maxlength=\"11\"><br><br>"
."<font class=\"pn-normal\">"._VERSION.":</font><br><input type=\"text\" name=\"version\" value=\"$version\" size=\"11\" maxlength=\"10\"><br><br>"
."<font class=\"pn-normal\">"._HOMEPAGE.":</font><br><input type=\"text\" name=\"homepage\" value=\"$homepage\" size=\"50\" maxlength=\"200\"><br><br>"
."<input type=\"hidden\" name=\"req\" value=\"modifydownloadrequestS\">"
."<input type=\"submit\" value=\""._SENDREQUEST."\"></form>";
}
}
CloseTable();
include("footer.php");
}
function modifydownloadrequestS($lid, $cat, $title, $url, $description, $modifysubmitter, $aname, $email, $filesize, $version, $homepage) {
include(WHERE_IS_PERSO."config.php");
global $user, $ModName,$pntable, $dbconn;
csrfcheck();
if(is_user($user)) {
$user2 = base64_decode($user);
$cookie = explode(":", $user2);
cookiedecode($user);
$ratinguser = $cookie[1];
} else {
$ratinguser = "$anonymous";
}
$itemname = downloads_ItemNameFromIID($lid);
$catname = downloads_CatNameFromIID($lid);
if (!(authorised(0, 'Downloads::Item', "$itemname:$catname:$lid", ACCESS_COMMENT))) {
echo _DOWNLOADSACCESSNOAUTH;
include 'footer.php';
return;
}
$blocknow = 0;
if ($blockunregmodify == 1 && $ratinguser=="$anonymous") {
include("header.php");
menu(1);
echo "<br>";
OpenTable();
echo "<center><font class=\"pn-normal\">"._DONLYREGUSERSMODIFY."</font></center>";
$blocknow = 1;
CloseTable();
include("footer.php");
}
if ($blocknow != 1) {
$cat = explode("-", $cat);
if ($cat[1]=="") {
$cat[1] = 0;
}
$title = stripslashes(FixQuotes($title));
$url = stripslashes(FixQuotes($url));
$description = stripslashes(FixQuotes($description));
$column = &$pntable['downloads_modrequest_column'];
// FTO : Call the GenId function to support autoinc.
// FTO : Add SEQ suffix to avoid conflict name with ORACLE
$newid = $dbconn->GenId("{$pntable['downloads_downloads']}_SEQ");
$dbconn->Execute("INSERT INTO $pntable[downloads_modrequest]
($column[requestid], $column[lid], $column[cid], $column[sid],
$column[title], $column[url], $column[description],
$column[modifysubmitter], $column[brokendownload],
$column[name], $column[email], $column[filesize],
$column[version], $column[homepage])
VALUES
($newid, $lid, $cat[0], $cat[1], '$title', '$url',
'$description', '$ratinguser', 0, '$aname', '$email',
'$filesize', '$version', '$homepage')");
include("header.php");
menu(1);
echo "<br>";
OpenTable();
echo "<center><font class=\"pn-normal\">"._THANKSFORINFO." "._LOOKTOREQUEST."</font></center>";
CloseTable();
include("footer.php");
}
}
?>