// // ------------------------------------------------------------------------- // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License, or // // (at your option) any later version. // // // // You may not change or alter any portion of this comment or credits // // of supporting developers from this source code or any supporting // // source code which is considered copyrighted (c) material of the // // original comment or credit authors. // // // // 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. // // // // You should have received a copy of the GNU General Public License // // along with this program; if not, write to the Free Software // // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------ // include '../../../include/cp_header.php'; if ( file_exists("../language/".$xoopsConfig['language']."/main.php") ) { include "../language/".$xoopsConfig['language']."/main.php"; } else { include "../language/english/main.php"; } include "../include/functions.php"; include_once XOOPS_ROOT_PATH."/class/xoopstree.php"; include_once XOOPS_ROOT_PATH."/class/xoopslists.php"; include_once XOOPS_ROOT_PATH."/include/xoopscodes.php"; include_once XOOPS_ROOT_PATH."/class/module.errorhandler.php"; $myts =& MyTextSanitizer::getInstance(); $eh = new ErrorHandler; $mytree = new XoopsTree($xoopsDB->prefix("mydownloads_cat"),"cid","pid"); function mydownloads() { global $xoopsDB, $xoopsModule; xoops_cp_header(); echo "

"._MD_DLCONF."

"; echo"" ."
"; // Temporarily 'homeless' downloads (to be revised in index.php breakup) $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_broken").""); list($totalbrokendownloads) = $xoopsDB->fetchRow($result); if($totalbrokendownloads>0){ $totalbrokendownloads = "$totalbrokendownloads"; } $result2 = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_mod").""); list($totalmodrequests) = $xoopsDB->fetchRow($result2); if($totalmodrequests>0){ $totalmodrequests = "$totalmodrequests"; } $result3 = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE status=0"); list($totalnewdownloads) = $xoopsDB->fetchRow($result3); if($totalnewdownloads>0){ $totalnewdownloads = "$totalnewdownloads"; } echo " - "._MD_GENERALSET.""; echo "

"; echo " - "._MD_ADDMODDELETE.""; echo "

"; echo " - "._MD_DLSWAITING." ($totalnewdownloads)"; echo "

"; echo " - "._MD_BROKENREPORTS." ($totalbrokendownloads)"; echo "

"; echo " - "._MD_MODREQUESTS." ($totalmodrequests)"; $result=$xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE status>0"); list($numrows) = $xoopsDB->fetchRow($result); echo "

"; printf(_MD_THEREARE,$numrows); echo "
"; echo"
"; xoops_cp_footer(); } function listNewDownloads() { global $xoopsDB, $myts, $eh, $mytree; // List downloads waiting for validation $downimg_array = XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH."/modules/mydownloads/images/shots/"); $result = $xoopsDB->query("SELECT lid, cid, title, url, homepage, version, size, platform, logourl, submitter FROM ".$xoopsDB->prefix("mydownloads_downloads")." where status=0 ORDER BY date DESC"); $numrows = $xoopsDB->getRowsNum($result); xoops_cp_header(); echo "

"._MD_DLCONF."

"; echo"" ."
"; echo "

"._MD_DLSWAITING." ($numrows)


"; if ($numrows>0) { while(list($lid, $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, $uid) = $xoopsDB->fetchRow($result)) { $result2 = $xoopsDB->query("SELECT description FROM ".$xoopsDB->prefix("mydownloads_text")." WHERE lid=$lid"); list($description) = $xoopsDB->fetchRow($result2); $title = $myts->makeTboxData4Edit($title); $url = $myts->makeTboxData4Edit($url); $homepage = $myts->makeTboxData4Edit($homepage); $version = $myts->makeTboxData4Edit($version); $size = $myts->makeTboxData4Edit($size); $platform = $myts->makeTboxData4Edit($platform); $description = $myts->makeTareaData4Edit($description); $submitter = XoopsUser::getUnameFromId($uid); echo "
\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"._MD_SUBMITTER."\n"; echo "$submitter"; echo "
"._MD_FILETITLE.""; echo ""; echo "
"._MD_DLURL.""; echo ""; echo " [ "._MD_DOWNLOAD." ]"; echo "
"._MD_CATEGORYC.""; $mytree->makeMySelBox("title", "title", $cid); echo "
"._MD_HOMEPAGEC."\n"; echo "
"._MD_VERSIONC."\n"; echo "
"._MD_FILESIZEC."\n"; echo ""._MD_BYTES."
"._MD_PLATFORMC."\n"; echo "
"._MD_DESCRIPTIONC."\n"; echo "\n"; echo "
"._MD_SHOTIMAGE."\n"; //echo "\n"; echo ""; echo "
"; $directory = XOOPS_URL."/modules/mydownloads/images/shots/"; printf(_MD_MUSTBEVALID,$directory); echo "
\n"; echo "
"; echo ""; echo "
\n"; echo myTextForm("index.php?op=delNewDownload&lid=$lid",_MD_DELETE); echo "

"; } }else{ echo _MD_NOSUBMITTED; } echo"
"; xoops_cp_footer(); } function downloadsConfigMenu() { global $xoopsDB, $myts, $eh, $mytree; // Add a New Main Category xoops_cp_header(); $downimg_array = XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH."/modules/mydownloads/images/shots/"); echo "

"._MD_DLCONF."

"; echo"" ."
"; echo "
\n"; echo "

"._MD_ADDMAIN."


"._MD_TITLEC."
"; echo _MD_IMGURL."


"; echo "\n"; echo ""; echo "
"; echo"
"; echo "
"; // Add a New Sub-Category $result=$xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_cat").""); list($numrows)=$xoopsDB->fetchRow($result); if($numrows>0) { echo"" ."
"; echo "
"; echo "

"._MD_ADDSUB."


"._MD_TITLEC." "._MD_IN." "; $mytree->makeMySelBox("title", "title"); # echo "
"._MD_IMGURL."
\n"; echo "

"; echo "
"; echo"
"; echo "
"; // If there is a category, add a New Download echo"" ."
"; echo "
\n"; echo "

"._MD_ADDNEWFILE."


\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
"._MD_FILETITLE.""; echo ""; echo "
"._MD_DLURL.""; echo ""; echo "
"._MD_CATEGORYC.""; $mytree->makeMySelBox("title", "title"); echo "
"._MD_HOMEPAGEC."\n"; echo "
"._MD_VERSIONC."\n"; echo "
"._MD_FILESIZEC."\n"; echo ""._MD_BYTES."
"._MD_PLATFORMC."\n"; echo "
"._MD_DESCRIPTIONC."\n"; xoopsCodeTarea("description",60,8); xoopsSmilies("description"); //echo "\n"; echo "
"._MD_SHOTIMAGE."\n"; echo ""; //echo ""; echo "
"; $directory = XOOPS_URL."/modules/mydownloads/images/shots/"; printf(_MD_MUSTBEVALID,$directory); echo "
\n
"; echo ""; echo "\n"; echo "
"; echo"
"; echo "
"; // Modify Category echo"" ."
"; echo "

"._MD_MODCAT."


"; echo _MD_CATEGORYC; $mytree->makeMySelBox("title", "title"); echo "

\n"; echo "\n"; echo "\n"; echo "
"; echo"
"; echo "
"; } // Modify Download $result2 = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_downloads").""); list($numrows2) = $xoopsDB->fetchRow($result2); if ($numrows2>0) { echo"" ."
"; echo "
\n"; echo "

"._MD_MODDL."


\n"; echo _MD_FILEID."\n"; echo "\n"; echo "

\n"; echo "
\n"; echo"
"; } xoops_cp_footer(); } function modDownload() { global $xoopsDB, $HTTP_GET_VARS, $myts, $eh, $mytree; $downimg_array = XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH."/modules/mydownloads/images/shots/"); $lid = $HTTP_GET_VARS['lid']; xoops_cp_header(); echo "

"._MD_DLCONF."

"; echo"" ."
"; $result = $xoopsDB->query("SELECT cid, title, url, homepage, version, size, platform, logourl FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE lid=$lid") or $eh->show("0013"); echo "

"._MD_MODDL."


"; list($cid, $title, $url, $homepage, $version, $size, $platform, $logourl) = $xoopsDB->fetchRow($result); $title = $myts->makeTboxData4Edit($title); $url = $myts->makeTboxData4Edit($url); $homepage = $myts->makeTboxData4Edit($homepage); $version = $myts->makeTboxData4Edit($version); $size = $myts->makeTboxData4Edit($size); $platform = $myts->makeTboxData4Edit($platform); $logourl = $myts->makeTboxData4Edit($logourl); $result2 = $xoopsDB->query("SELECT description FROM ".$xoopsDB->prefix("mydownloads_text")." WHERE lid=$lid"); list($description)=$xoopsDB->fetchRow($result2); $GLOBALS['description'] = $myts->makeTareaData4Edit($description); echo ""; echo ""; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "
"._MD_FILEID."$lid
"._MD_FILETITLE."
"._MD_DLURL."
"._MD_HOMEPAGEC."
"._MD_VERSIONC."
"._MD_FILESIZEC.""._MD_BYTES."
"._MD_PLATFORMC."
"._MD_DESCRIPTIONC.""; xoopsCodeTarea("description",60,8); xoopsSmilies("description"); //echo ""; echo "
"._MD_CATEGORYC.""; $mytree->makeMySelBox("title", "title", $cid); echo "
"._MD_SHOTIMAGE.""; //echo ""; echo ""; echo "
"; $directory = XOOPS_URL."/modules/mydownloads/images/shots/"; printf(_MD_MUSTBEVALID,$directory); echo "
"; echo "

\n"; echo ""; echo "\n"; echo "
\n"; echo myTextForm("index.php?op=delDownload&lid=".$lid , _MD_DELETE); echo "\n"; echo myTextForm("index.php?op=downloadsConfigMenu", _MD_CANCEL); echo "
\n"; echo "
"; $result5=$xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_votedata").""); list($totalvotes) = $xoopsDB->getRowsNum($result5); echo "\n"; echo "\n"; // Show Registered Users Votes $result5=$xoopsDB->query("SELECT ratingid, ratinguser, rating, ratinghostname, ratingtimestamp FROM ".$xoopsDB->prefix("mydownloads_votedata")." WHERE lid = $lid AND ratinguser != 0 ORDER BY ratingtimestamp DESC"); $votes = $xoopsDB->getRowsNum($result5); echo "\n"; echo "\n"; if ($votes == 0){ echo "\n"; } $x=0; $colorswitch="dddddd"; while(list($ratingid, $ratinguser, $rating, $ratinghostname, $ratingtimestamp)=$xoopsDB->fetchRow($result5)) { $formatted_date = formatTimestamp($ratingtimestamp); //Individual user information $result2=$xoopsDB->query("SELECT rating FROM ".$xoopsDB->prefix("mydownloads_votedata")." WHERE ratinguser = $ratinguser"); $uservotes = $xoopsDB->getRowsNum($result2); $useravgrating = 0; while(list($rating2) = $xoopsDB->fetchRow($result2)){ $useravgrating = $useravgrating + $rating2; } $useravgrating = $useravgrating / $uservotes; $useravgrating = number_format($useravgrating, 1); $ratinguname = XoopsUser::getUnameFromId($ratinguser); // echo "\n"; // echo "\n"; $x++; if ($colorswitch=="dddddd"){ $colorswitch="ffffff"; } else { $colorswitch="dddddd"; } } // Show Unregistered Users Votes $result5=$xoopsDB->query("SELECT ratingid, rating, ratinghostname, ratingtimestamp FROM ".$xoopsDB->prefix("mydownloads_votedata")." WHERE lid = $lid AND ratinguser = 0 ORDER BY ratingtimestamp DESC"); $votes = $xoopsDB->getRowsNum($result5); echo "\n"; echo "
"; if ($votes == 0) { echo ""; } $x=0; $colorswitch="dddddd"; while(list($ratingid, $rating, $ratinghostname, $ratingtimestamp)=$xoopsDB->fetchRow($result5)) { $formatted_date = formatTimestamp($ratingtimestamp); // echo ""; echo ""; $x++; if ($colorswitch=="dddddd") { $colorswitch="ffffff"; } else { $colorswitch="dddddd"; } } echo "\n"; echo "
"; printf(_MD_DLRATINGS,$totalvotes); echo "



"; printf(_MD_REGUSERVOTES,$votes); echo "

" ._MD_USER." " ._MD_IP." " ._MD_RATING." " ._MD_USERAVG." " ._MD_TOTALRATE." " ._MD_DATE." " ._MD_DELETE."
" ._MD_NOREGVOTES."
$ratinguname$ratinghostname$rating$useravgrating$uservotes$formatted_dateX
$ratinguname$ratinghostname$rating$useravgrating$uservotes$formatted_date"; echo "
$ratinguname$ratinghostname$rating$useravgrating$uservotes$formatted_date"; //echo "
\n"; echo myTextForm("index.php?op=delVote&lid=$lid&rid=$ratingid" , "X"); // echo "
\n"; echo "


"; printf(_MD_ANONUSERVOTES,$votes); echo "


" ._MD_IP." " ._MD_RATING." " ._MD_DATE." " ._MD_DELETE."
" ._MD_NOUNREGVOTES."
$ratinghostname$rating$formatted_dateX
$ratinghostname$rating$formatted_date"; //echo "
\n"; //align=\"center\" echo myTextForm("index.php?op=delVote&lid=$lid&rid=$ratingid" , "X"); //echo "
\n"; echo "
 
\n"; echo"
"; xoops_cp_footer(); } function delVote() { global $xoopsDB, $HTTP_GET_VARS, $eh; $rid = $HTTP_GET_VARS['rid']; $lid = $HTTP_GET_VARS['lid']; $sql = sprintf("DELETE FROM %s WHERE ratingid = %u", $xoopsDB->prefix("mydownloads_votedata"), $rid); $xoopsDB->query($sql) or $eh->show("0013"); updaterating($lid); redirect_header("index.php",1,_MD_VOTEDELETED); } function listBrokenDownloads() { global $xoopsDB, $eh; $result = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix("mydownloads_broken")." ORDER BY reportid"); $totalbrokendownloads = $xoopsDB->getRowsNum($result); xoops_cp_header(); echo "

"._MD_DLCONF."

"; echo"" ."
"; echo "

"._MD_BROKENREPORTS." ($totalbrokendownloads)


"; if ($totalbrokendownloads==0) { echo _MD_NOBROKEN; } else { echo "
"._MD_IGNOREDESC."
"._MD_DELETEDESC."



"; $colorswitch="#dddddd"; echo ""; echo " "; while(list($reportid, $lid, $sender, $ip)=$xoopsDB->fetchRow($result)){ $result2 = $xoopsDB->query("SELECT title, url, submitter FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE lid=$lid"); if ($sender != 0) { $result3 = $xoopsDB->query("SELECT uname, email FROM ".$xoopsDB->prefix("users")." WHERE uid=".$sender.""); list($sendername, $email)=$xoopsDB->fetchRow($result3); } list($title, $url, $owner)=$xoopsDB->fetchRow($result2); $result4 = $xoopsDB->query("SELECT uname, email FROM ".$xoopsDB->prefix("users")." WHERE uid=".$owner.""); list($ownername, $owneremail)=$xoopsDB->fetchRow($result4); echo ""; if ($email=="") { echo ""; if ($owneremail=='') { echo "\n"; if ($colorswitch=="#dddddd") { $colorswitch="#ffffff"; } else { $colorswitch="#dddddd"; } } echo "
"._MD_FILETITLE." " ._MD_REPORTER." " ._MD_FILESUBMITTER." " ._MD_IGNORE." " ._EDIT." " ._MD_DELETE."
$title$sendername ($ip)"; } else { echo "$sendername ($ip)"; } echo "$ownername"; } else { echo "$ownername"; } echo "\n"; echo myTextForm("index.php?op=ignoreBrokenDownloads&lid=$lid" , "X"); echo "\n"; echo myTextForm("index.php?op=modDownload&lid=$lid" , "X"); echo "\n"; echo myTextForm("index.php?op=delBrokenDownloads&lid=$lid" , "X"); echo "
"; } echo"
"; xoops_cp_footer(); } function delBrokenDownloads() { global $xoopsDB, $HTTP_GET_VARS, $eh; $lid = $HTTP_GET_VARS['lid']; $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_broken"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); redirect_header("index.php",1,_MD_FILEDELETED); } function ignoreBrokenDownloads() { global $xoopsDB, $HTTP_GET_VARS, $eh; $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_broken"), $HTTP_GET_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); redirect_header("index.php",1,_MD_BROKENDELETED); } function listModReq() { global $xoopsDB, $myts, $eh, $mytree, $xoopsModuleConfig; $result = $xoopsDB->query("SELECT * FROM ".$xoopsDB->prefix("mydownloads_mod")." ORDER BY requestid"); $totalmodrequests = $xoopsDB->getRowsNum($result); xoops_cp_header(); echo "

"._MD_DLCONF."

"; echo"" ."
"; echo "

"._MD_USERMODREQ." ($totalmodrequests)


"; if($totalmodrequests>0){ echo "
"; $lookup_lid = array(); while(list($requestid, $lid, $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, $description, $modifysubmitter)=$xoopsDB->fetchRow($result)) { $lookup_lid[$requestid] = $lid; $result2 = $xoopsDB->query("SELECT cid, title, url, homepage, version, size, platform, logourl, submitter FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE lid=$lid"); list($origcid, $origtitle, $origurl, $orighomepage, $origversion, $origsize, $origplatform, $origlogourl, $owner)=$xoopsDB->fetchRow($result2); $result2 = $xoopsDB->query("SELECT description FROM ".$xoopsDB->prefix("mydownloads_text")." WHERE lid=$lid"); list($origdescription) = $xoopsDB->fetchRow($result2); $result7 = $xoopsDB->query("SELECT uname, email FROM ".$xoopsDB->prefix("users")." WHERE uid=$modifysubmitter"); $result8 = $xoopsDB->query("SELECT uname, email FROM ".$xoopsDB->prefix("users")." WHERE uid=$owner"); $cidtitle=$mytree->getPathFromId($cid, "title"); $origcidtitle=$mytree->getPathFromId($origcid, "title"); list($submittername, $submitteremail)=$xoopsDB->fetchRow($result7); list($ownername, $owneremail)=$xoopsDB->fetchRow($result8); $title = $myts->makeTboxData4Show($title); $url = $myts->makeTboxData4Show($url); $homepage = $myts->makeTboxData4Show($homepage); $version = $myts->makeTboxData4Show($version); $size = $myts->makeTboxData4Show($size); $platform = $myts->makeTboxData4Show($platform); // use original image file to prevent users from changing screen shots file $origlogourl = $myts->makeTboxData4Edit($origlogourl); $logourl = $origlogourl; $description = $myts->makeTareaData4Show($description, 0); $origurl = $myts->makeTboxData4Show($origurl); $orighomepage = $myts->makeTboxData4Show($orighomepage); $origversion = $myts->makeTboxData4Show($origversion); $origsize = $myts->makeTboxData4Show($origsize); $origplatform = $myts->makeTboxData4Show($origplatform); $origdescription = $myts->makeTareaData4Show($origdescription, 0); if (empty($ownername)) { $ownername = "administration"; } echo "
"._MD_ORIGINAL."
"._MD_DESCRIPTIONC."
$origdescription
"._MD_FILETITLE." ".$origtitle."
"._MD_DLURL." ".$origurl."
"._MD_CATEGORYC." ".$origcidtitle."
"._MD_HOMEPAGEC." ".$orighomepage."
"._MD_VERSIONC." ".$origversion."
"._MD_FILESIZEC." ".$origsize."
"._MD_PLATFORMC." ".$origplatform."
"._MD_SHOTIMAGE." "; if ( $xoopsModuleConfig['useshots'] && !empty($origlogourl) ){ echo ""; }else{ echo " "; } echo "
"._MD_PROPOSED."
"._MD_DESCRIPTIONC."
$description
"._MD_FILETITLE." ".$title."
"._MD_DLURL." ".$url."
"._MD_CATEGORYC." ".$cidtitle."
"._MD_HOMEPAGEC." ".$homepage."
"._MD_VERSIONC." ".$version."
"._MD_FILESIZEC." ".$size."
"._MD_PLATFORMC." ".$platform."
"._MD_SHOTIMAGE." "; if ( $xoopsModuleConfig['useshots'] && !empty($logourl) ){ echo ""; } else { echo " "; } echo "
"; if ( $submitteremail=="" ) { echo ""; } else { echo ""; } if ($owneremail=="") { echo ""; } else { echo ""; } echo "\n"; echo "
"._MD_SUBMITTER." $submittername"._MD_SUBMITTER." $submittername"._MD_OWNER." $ownername"._MD_OWNER." $ownername\n"; echo "
\n"; echo myTextForm("index.php?op=changeModReq&requestid=$requestid" , _MD_APPROVE); echo "\n"; echo myTextForm("index.php?op=modDownload&lid=$lookup_lid[$requestid]", _EDIT); echo "\n"; echo myTextForm("index.php?op=ignoreModReq&requestid=$requestid", _MD_IGNORE); echo "
\n"; echo "


"; } echo "
"; }else { echo _MD_NOMODREQ; } echo"
"; xoops_cp_footer(); } function changeModReq() { global $xoopsDB, $HTTP_GET_VARS, $eh, $myts; $requestid = $HTTP_GET_VARS['requestid']; $query = "SELECT lid, cid, title, url, homepage, version, size, platform, logourl, description FROM ".$xoopsDB->prefix("mydownloads_mod")." WHERE requestid=$requestid"; $result = $xoopsDB->query($query); while(list($lid, $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, $description)=$xoopsDB->fetchRow($result)) { if (get_magic_quotes_runtime()) { $title = stripslashes($title); $url = stripslashes($url); $homepage = stripslashes($homepage); $logourl = stripslashes($logourl); $description = stripslashes($description); } $title = addslashes($title); $url = addslashes($url); $homepage = addslashes($homepage); $logourl = addslashes($logourl); $description = addslashes($description); $sql = sprintf("UPDATE %s SET cid = %u,title = '%s', url = '%s', homepage = '%s', version = '%s', size = %u, platform = '%s', logourl = '%s', status = %u, date = %u WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, 2, time(), $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("UPDATE %s SET description = '%s' WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $description, $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE requestid = %u", $xoopsDB->prefix("mydownloads_mod"), $requestid); $xoopsDB->query($sql) or $eh->show("0013"); } redirect_header("index.php",1,_MD_DBUPDATED); } function ignoreModReq() { global $xoopsDB, $HTTP_GET_VARS, $eh; $sql = sprintf("DELETE FROM %s WHERE requestid = %u", $xoopsDB->prefix("mydownloads_mod"), $HTTP_GET_VARS['requestid']); $xoopsDB->query($sql) or $eh->show("0013"); redirect_header("index.php",1,_MD_MODREQDELETED); } function modDownloadS() { global $xoopsDB, $HTTP_POST_VARS, $myts, $eh; $cid = $HTTP_POST_VARS["cid"]; if (($HTTP_POST_VARS["url"]) || ($HTTP_POST_VARS["url"]!="")) { $url = $myts->makeTboxData4Save($HTTP_POST_VARS["url"]); } $logourl = $myts->makeTboxData4Save($HTTP_POST_VARS["logourl"]); $title = $myts->makeTboxData4Save($HTTP_POST_VARS["title"]); $homepage = $myts->makeTboxData4Save($HTTP_POST_VARS["homepage"]); $version = $myts->makeTboxData4Save($HTTP_POST_VARS["version"]); $size = $myts->makeTboxData4Save($HTTP_POST_VARS["size"]); $platform = $myts->makeTboxData4Save($HTTP_POST_VARS["platform"]); $description = $myts->makeTareaData4Save($HTTP_POST_VARS["description"]); $sql = sprintf("UPDATE %s SET cid = %u, title = '%s', url = '%s', homepage = '%s', version = '%s', size = %u, platform = '%s', logourl = '%s', status = %u, date = %u WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, 2, time(), $HTTP_POST_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("UPDATE %s SET description = '%s' WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $description, $HTTP_POST_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); redirect_header("index.php",1,_MD_DBUPDATED); } function delDownload() { global $xoopsDB, $HTTP_GET_VARS, $eh, $xoopsModule; $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $HTTP_GET_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $HTTP_GET_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_votedata"), $HTTP_GET_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); // delete comments xoops_comment_delete($xoopsModule->getVar('mid'), $HTTP_GET_VARS['lid']); redirect_header("index.php",1,_MD_FILEDELETED); } function modCat() { global $xoopsDB, $HTTP_POST_VARS, $myts, $eh, $mytree; $cid = $HTTP_POST_VARS["cid"]; xoops_cp_header(); echo "

"._MD_DLCONF."

"; echo"" ."
"; echo "

"._MD_MODCAT."


"; $result=$xoopsDB->query("SELECT pid, title, imgurl FROM ".$xoopsDB->prefix("mydownloads_cat")." WHERE cid=$cid"); list($pid,$title,$imgurl) = $xoopsDB->fetchRow($result); $title = $myts->makeTboxData4Edit($title); $imgurl = $myts->makeTboxData4Edit($imgurl); echo "
"._MD_TITLEC."

"._MD_IMGURLMAIN."


"._MD_PARENT." "; $mytree->makeMySelBox("title", "title", $pid, 1, "pid"); echo "
"; echo " "; echo "
"; echo"
"; xoops_cp_footer(); } function modCatS() { global $xoopsDB, $HTTP_POST_VARS, $myts, $eh; $cid = $HTTP_POST_VARS['cid']; $sid = $HTTP_POST_VARS['pid']; $title = $myts->makeTboxData4Save($HTTP_POST_VARS['title']); if (empty($title)) { redirect_header("index.php", 2, _MD_ERRORTITLE); exit(); } if (($HTTP_POST_VARS["imgurl"]) || ($HTTP_POST_VARS["imgurl"]!="")) { $imgurl = $myts->makeTboxData4Save($HTTP_POST_VARS["imgurl"]); } $sql = sprintf("UPDATE %s SET title = '%s', imgurl = '%s', pid = %u WHERE cid = %u", $xoopsDB->prefix("mydownloads_cat"), $title, $imgurl, $sid, $cid); $xoopsDB->query($sql) or $eh->show("0013"); redirect_header("index.php",1,_MD_DBUPDATED); } function delCat() { global $xoopsDB, $HTTP_GET_VARS, $HTTP_POST_VARS, $eh, $mytree, $xoopsModule; $cid = isset($HTTP_POST_VARS['cid']) ? intval($HTTP_POST_VARS['cid']) : intval($HTTP_GET_VARS['cid']); $ok = isset($HTTP_POST_VARS['ok']) ? intval($HTTP_POST_VARS['ok']) : 0; if ($ok == 1) { //get all subcategories under the specified category $arr=$mytree->getAllChildId($cid); $lcount = count($arr); for ($i = 0; $i < $lcount; $i++) { //get all downloads in each subcategory $result=$xoopsDB->query("SELECT lid FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE cid=".$arr[$i]."") or $eh->show("0013"); //now for each download, delete the text data and vote ata associated with the download while ( list($lid)=$xoopsDB->fetchRow($result) ) { $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_votedata"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); // delete comments xoops_comment_delete($xoopsModule->getVar('mid'), $lid); } //all downloads for each subcategory is deleted, now delete the subcategory data $sql = sprintf("DELETE FROM %s WHERE cid = %u", $xoopsDB->prefix("mydownloads_cat"), $arr[$i]); $xoopsDB->query($sql) or $eh->show("0013"); } //all subcategory and associated data are deleted, now delete category data and its associated data $result=$xoopsDB->query("SELECT lid FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE cid=".$cid."") or $eh->show("0013"); while(list($lid)=$xoopsDB->fetchRow($result)){ $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); // delete comments xoops_comment_delete($xoopsModule->getVar('mid'), $lid); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_votedata"), $lid); $xoopsDB->query($sql) or $eh->show("0013"); } $sql = sprintf("DELETE FROM %s WHERE cid = %u", $xoopsDB->prefix("mydownloads_cat"), $cid); $xoopsDB->query($sql) or $eh->show("0013"); redirect_header("index.php",1,_MD_CATDELETED); exit(); } else { xoops_cp_header(); echo "

"._MD_DLCONF."

"; xoops_confirm(array('op' => 'delCat', 'cid' => $cid, 'ok' => 1), 'index.php', _MD_WARNING); xoops_cp_footer(); } } function delNewDownload() { global $xoopsDB, $HTTP_GET_VARS, $eh, $xoopsModule; $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $HTTP_GET_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("DELETE FROM %s WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $HTTP_GET_VARS['lid']); $xoopsDB->query($sql) or $eh->show("0013"); // delete comments xoops_comment_delete($xoopsModule->getVar('mid'), $HTTP_GET_VARS['lid']); redirect_header("index.php",1,_MD_FILEDELETED); } function addCat() { global $xoopsDB, $HTTP_POST_VARS, $myts, $eh; $pid = $HTTP_POST_VARS["cid"]; $title = $myts->makeTboxData4Save($HTTP_POST_VARS["title"]); if (empty($title)) { redirect_header("index.php", 2, _MD_ERRORTITLE); } if (($HTTP_POST_VARS["imgurl"]) || ($HTTP_POST_VARS["imgurl"]!="")) { $imgurl = $myts->makeTboxData4Save($HTTP_POST_VARS["imgurl"]); } $newid = $xoopsDB->genId($xoopsDB->prefix("mydownloads_cat")."_cid_seq"); $sql = sprintf("INSERT INTO %s (cid, pid, title, imgurl) VALUES (%u, %u, '%s', '%s')", $xoopsDB->prefix("mydownloads_cat"), $newid, $pid, $title, $imgurl); $xoopsDB->query($sql) or $eh->show("0013"); if ($newid == 0) { $newid = $xoopsDB->getInsertId(); } // Notify of new category global $xoopsModule; $tags = array(); $tags['CATEGORY_NAME'] = $title; $tags['CATEGORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' . $newid; $notification_handler =& xoops_gethandler('notification'); $notification_handler->triggerEvent('global', 0, 'new_category', $tags); redirect_header("index.php",1,_MD_NEWCATADDED); } function addDownload() { global $xoopsDB, $xoopsUser, $xoopsModule, $HTTP_POST_VARS, $myts, $eh; $url = $myts->makeTboxData4Save(formatURL($HTTP_POST_VARS["url"])); $logourl = $myts->makeTboxData4Save($HTTP_POST_VARS["logourl"]); $title = $myts->makeTboxData4Save($HTTP_POST_VARS["title"]); $homepage = $myts->makeTboxData4Save(formatURL($HTTP_POST_VARS["homepage"])); $version = $myts->makeTboxData4Save($HTTP_POST_VARS["version"]); $size = $myts->makeTboxData4Save($HTTP_POST_VARS["size"]); $platform = $myts->makeTboxData4Save($HTTP_POST_VARS["platform"]); $description = $myts->makeTareaData4Save($HTTP_POST_VARS["description"]); $submitter = $xoopsUser->uid(); $result = $xoopsDB->query("SELECT COUNT(*) FROM ".$xoopsDB->prefix("mydownloads_downloads")." WHERE url='$url'"); list($numrows) = $xoopsDB->fetchRow($result); $error = 0; $errormsg = ""; if ($numrows>0) { $errormsg .= "

"; $errormsg .= _MD_ERROREXIST."


"; $error = 1; } // Check if Title exist if ($title=="") { $errormsg .= "

"; $errormsg .= _MD_ERRORTITLE."


"; $error =1; } if( empty($size) || !is_numeric($size) ){ $size = 0; } // Check if Description exist if ($description=="") { $errormsg .= "

"; $errormsg .= _MD_ERRORDESC."


"; $error =1; } if($error == 1) { xoops_cp_header(); echo $errormsg; xoops_cp_footer(); exit(); } if ( !empty($HTTP_POST_VARS['cid']) ) { $cid = $HTTP_POST_VARS['cid']; } else { $cid = 0; } $newid = $xoopsDB->genId($xoopsDB->prefix("mydownloads_downloads")."_lid_seq"); $sql = sprintf("INSERT INTO %s (lid, cid, title, url, homepage, version, size, platform, logourl, submitter, status, date, hits, rating, votes, comments) VALUES (%u, %u, '%s', '%s', '%s', '%s', %u, '%s', '%s', %u, %u, %u, %u, %u, %u, %u)", $xoopsDB->prefix("mydownloads_downloads"), $newid, $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, $submitter, 1, time(), 0, 0, 0, 0); $xoopsDB->query($sql) or $eh->show("0013"); if( $newid == 0 ) { $newid = $xoopsDB->getInsertId(); } $sql = sprintf("INSERT INTO %s (lid, description) VALUES (%u, '%s')", $xoopsDB->prefix("mydownloads_text"), $newid, $description); $xoopsDB->query($sql) or $eh->show("0013"); $tags = array(); $tags['FILE_NAME'] = $title; $tags['FILE_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/singlefile.php?cid=' . $cid . '&lid=' . $newid; $sql = "SELECT title FROM " . $xoopsDB->prefix("mydownloads_cat") . " WHERE cid=" . $cid; $result = $xoopsDB->query($sql); $row = $xoopsDB->fetchArray($result); $tags['CATEGORY_NAME'] = $row['title']; $tags['CATEGORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' . $cid; $notification_handler =& xoops_gethandler('notification'); $notification_handler->triggerEvent('global', 0, 'new_file', $tags); $notification_handler->triggerEvent('category', $cid, 'new_file', $tags); redirect_header("index.php?op=downloadsConfigMenu",1,_MD_NEWDLADDED); } function approve() { global $xoopsConfig, $xoopsDB, $HTTP_POST_VARS, $myts, $eh; $lid = $HTTP_POST_VARS['lid']; $title = $HTTP_POST_VARS['title']; $cid = $HTTP_POST_VARS['cid']; if ( empty($cid) ) { $cid = 0; } $homepage = $HTTP_POST_VARS['homepage']; $version = $HTTP_POST_VARS['version']; $size = $HTTP_POST_VARS['size']; $platform = $HTTP_POST_VARS['platform']; $description = $HTTP_POST_VARS['description']; if (($HTTP_POST_VARS["url"]) || ($HTTP_POST_VARS["url"]!="")) { $url = $myts->makeTboxData4Save($HTTP_POST_VARS["url"]); } $logourl = $myts->makeTboxData4Save($HTTP_POST_VARS["logourl"]); $title = $myts->makeTboxData4Save($title); $homepage = $myts->makeTboxData4Save($homepage); $version = $myts->makeTboxData4Save($HTTP_POST_VARS["version"]); $size = $myts->makeTboxData4Save($HTTP_POST_VARS["size"]); $platform = $myts->makeTboxData4Save($HTTP_POST_VARS["platform"]); $description = $myts->makeTareaData4Save($description); $sql = sprintf("UPDATE %s SET cid = %u, title = '%s', url = '%s', homepage = '%s', version = '%s', size = %u, platform = '%s', logourl = '%s', status = %u, date = %u WHERE lid = %u", $xoopsDB->prefix("mydownloads_downloads"), $cid, $title, $url, $homepage, $version, $size, $platform, $logourl, 1, time(), $lid); $xoopsDB->query($sql) or $eh->show("0013"); $sql = sprintf("UPDATE %s SET description = '%s' WHERE lid = %u", $xoopsDB->prefix("mydownloads_text"), $description, $lid); $xoopsDB->query($sql) or $eh->show("0013"); global $xoopsModule; $tags = array(); $tags['FILE_NAME'] = $title; $tags['FILE_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/singlefile.php?cid=' . $cid . '&lid=' . $lid; $sql = "SELECT title FROM " . $xoopsDB->prefix('mydownloads_cat') . " WHERE cid=" . $cid; $result = $xoopsDB->query($sql); $row = $xoopsDB->fetchArray($result); $tags['CATEGORY_NAME'] = $row['title']; $tags['CATEGORY_URL'] = XOOPS_URL . '/modules/' . $xoopsModule->getVar('dirname') . '/viewcat.php?cid=' . $cid; $notification_handler =& xoops_gethandler('notification'); $notification_handler->triggerEvent('global', 0, 'new_file', $tags); $notification_handler->triggerEvent('category', $cid, 'new_file', $tags); $notification_handler->triggerEvent('file', $lid, 'approve', $tags); redirect_header("index.php",1,_MD_NEWDLADDED); } if(!isset($HTTP_POST_VARS['op'])) { $op = isset($HTTP_GET_VARS['op']) ? $HTTP_GET_VARS['op'] : 'main'; } else { $op = $HTTP_POST_VARS['op']; } switch ($op) { case "delNewDownload": delNewDownload(); break; case "approve": approve(); break; case "addCat": addCat(); break; case "addSubCat": addSubCat(); break; case "addDownload": addDownload(); break; case "listBrokenDownloads": listBrokenDownloads(); break; case "delBrokenDownloads": delBrokenDownloads(); break; case "ignoreBrokenDownloads": ignoreBrokenDownloads(); break; case "listModReq": listModReq(); break; case "changeModReq": changeModReq(); break; case "ignoreModReq": ignoreModReq(); break; case "delCat": delCat(); break; case "modCat": modCat(); break; case "modCatS": modCatS(); break; case "modDownload": modDownload(); break; case "modDownloadS": modDownloadS(); break; case "delDownload": delDownload(); break; case "delVote": delVote(); break; case "downloadsConfigMenu": downloadsConfigMenu(); break; case "listNewDownloads": listNewDownloads(); break; case 'main': default: mydownloads(); break; } ?>