//
// Alternatively, the contents of this file may be used under the terms of
// either the GNU General Public License Version 2 or later (the "GPL"), or
// the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
// in which case the provisions of the GPL or the LGPL are applicable instead
// of those above. If you wish to allow use of your version of this file only
// under the terms of either the GPL or the LGPL, and not to allow others to
// use your version of this file under the terms of the MPL, indicate your
// decision by deleting the provisions above and replace them with the notice
// and other provisions required by the GPL or the LGPL. If you do not delete
// the provisions above, a recipient may use your version of this file under
// the terms of any one of the MPL, the GPL or the LGPL.
//
// ***** END LICENSE BLOCK *****
require"../core/config.php";
?>
"All Releases", "previews"=>"Preview Images", "comments"=>"User Comments", "staffreview"=>"Editor Review", "opinion"=>" My Opinion");
$pagetitle = $pagetitles[$_GET["page"]];
?>
= '".strtolower($app_version)."' ";
}
if ($OS) {
$sql .=" AND (TOS.OSName = '$OS' OR TOS.OSName = 'All') ";
}
}
$sql .= "\nORDER BY `Name` , `Version` DESC LIMIT 1";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
$row = mysql_fetch_array($sql_result);
$v++;
$vid = $row["vID"];
$name = $row["Name"];
$dateadded = $row["DateAdded"];
$dateupdated = $row["DateUpdated"];
$homepage = $row["Homepage"];
$description = $row["Description"];
$rating = $row["Rating"];
$authors = $authorarray[$name];
$appname = $row["AppName"];
$osname = $row["OSName"];
$verdateadded = $row["VerDateAdded"];
$verdateupdated = $row["VerDateUpdated"];
$filesize = $row["Size"];
$notes = $row["Notes"];
$version = $row["Version"];
$uri = $row["URI"];
$downloadcount = $row["TotalDownloads"];
$populardownloads = $row["downloadcount"];
if (!$_GET['vid']) {
$_GET['vid']=$vid;
}
if ($appvernames[$row["MinAppVer"]]) {
$minappver = $appvernames[$row["MinAppVer"]];
} else {
$minappver = $row["MinAppVer"];
}
if ($appvernames[$row["MaxAppVer"]]) {
$maxappver = $appvernames[$row["MaxAppVer"]];
} else {
$maxappver = $row["MaxAppVer"];
}
if ($verdateadded > $dateadded) {
$dateadded = $verdateadded;
}
if ($verdateupdated > $dateupdated) {
$dateupdated = $verdateupdated;
}
//Turn Authors Array into readable string...
$authorcount = count($authors);
if (!$authors) {
$authors = array();
}
foreach ($authors as $author) {
$userid = $authorids[$author];
$n++;
$authorstring .= "
$author";
if ($authorcount != $n) {
$authorstring .=", ";
}
}
$authors = $authorstring;
unset($authorstring, $n); // Clear used Vars..
// Create Date String
if ($dateupdated > $dateadded) {
$timestamp = $dateupdated;
$datetitle = "Last Updated: ";
} else {
$timestamp = $dateadded;
$datetitle = "Released On: ";
}
$date = date("F d, Y g:i:sa", strtotime("$timestamp"));
$releasedate = date("F d, Y", strtotime("$dateadded"));
$datestring = "$datetitle $date";
//Rating
if (!$rating) {
$rating="0";
}
//No Results Returned for Main Query, throw the Incompatible Error.
if (mysql_num_rows($sql_result)=="0") {
echo"
";
echo"
Incompatible Extension or Extension No Longer Available
\n";
echo"The extension you requested is either incompatible with the application selected, or the version of it is no longer available on Mozilla Update.
\n";
echo"To try your request again for a different application version, use the form below.
\n";
echo"";
echo"\n
\n";
include"$page_footer";
echo"\n\n";
exit;
}
//Get Preview Image URI
$sql3 = "SELECT `PreviewURI`, `caption` from `previews` WHERE `ID` = '$id' AND `preview`='YES' LIMIT 1";
$sql_result3 = mysql_query($sql3, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
$row3 = mysql_fetch_array($sql_result3);
$previewuri = $row3["PreviewURI"];
$caption = $row3["caption"];
?>
Stars out of 5">Rating: ";
}
if ($rating>floor($rating)) {
$val = ($rating-floor($rating))*10;
echo"
";
$i++;
}
for ($i = $i; $i <= 5; $i++) {
echo"
";
}
?>
-
">, by , released on
"0") {
?>
">
\n";
?>
"0") { ?>
">More Previews»
Quick Description
$notes\n";
}
?>
Requires:
\">";
}
?>
Extension Install Instructions for Thunderbird Users:
(1) Right-Click the link above and choose \"Save Link As...\" to Download and save the file to your hard disk.
(2) In Mozilla Thunderbird, open the extension manager (Tools Menu/Extensions)
(3) Click the Install button, and locate/select the file you downloaded and click \"OK\"";
}
?>
"0") {
$row = mysql_fetch_array($sql_result);
$title = $row["Title"];
$dateadded = $row["DateAdded"];
$body = nl2br($row["Body"]);
$extendedbody = $row["ExtendedBody"];
$pick = $row["Pick"];
$date = gmdate("F, Y", strtotime("$dateadded")); //Create Customizeable Timestamp
?>
Editor's Review
$title\n";
if ($pick=="YES") {
echo" — $date Editors Pick\n";
}
echo"
\n";
?>
More...";} ?>
Developer Comments:\n";
echo"
$devcomments
\n";
}
?>
">Add your own opinion »
\n";
echo"$commenttitle
\n";
echo"";
echo"by $commentname, ";
echo"$commentdate";
echo"
\n";
echo"$commentnotes
\n";
if ($rating != NULL) {
echo"";
for ($i = 1; $i <= $rating; $i++) {
echo"";
}
for ($i = $i; $i <= 5; $i++) {
echo"";
}
echo"
\n";
}
echo"\n";
}
if ($num_results=="0") {
echo"- \n";
echo"
Nobody's Commented on this Extension Yet
\n";
echo"Be the First! Rate It!
";
echo" \n";
}
?>
">Read all opinions »
Extension Details
$i ) {
$categories .= ", ";
}
}
?>
- Total Downloads: — Downloads this Week:
- See ">all previous releases of this extension.
- View the Author's ">homepage for this extension.
All Releases";
$sql = "SELECT TV.vID, TV.Version, TV.MinAppVer, TV.MaxAppVer, TV.Size, TV.URI, TV.Notes, TV.DateAdded AS VerDateAdded, TA.AppName, TOS.OSName
FROM `version` TV
INNER JOIN applications TA ON TV.AppID = TA.AppID
INNER JOIN os TOS ON TV.OSID = TOS.OSID
WHERE TV.ID = '$id' AND `approved` = 'YES' AND TA.AppName = '$application'
ORDER BY `Version` DESC, `OSName` ASC";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
while ($row = mysql_fetch_array($sql_result)) {
$vid = $row["vID"];
if ($appvernames[$row["MinAppVer"]]) {
$minappver = $appvernames[$row["MinAppVer"]];
} else {
$minappver = $row["MinAppVer"];
}
if ($appvernames[$row["MaxAppVer"]]) {
$maxappver = $appvernames[$row["MaxAppVer"]];
} else {
$maxappver = $row["MaxAppVer"];
}
$filesize = $row["Size"];
$notes = $row["Notes"];
$version = $row["Version"];
$uri = $row["URI"];
$osname = $row["OSName"];
$appname = $row["AppName"];
$filename = basename($uri);
$dateadded = $row["VerDateAdded"];
$releasedate = date("F d, Y", strtotime("$dateadded"));
echo"
"; //Open Version DIV
//Description & Version Notes
echo"
\n";
echo"Released on $releasedate
\n";
if ($notes) {
echo"$notes
\n";
}
//Icon Bar Modules
echo"
";
echo"
";
echo"
For $appname:
$minappver - $maxappver
";
if($osname !=="ALL") {
echo"
For $osname
only
";
}
echo"
\n";
echo"
";
}
} else if ($page=="comments") {
//Comments/Ratings Page
if ($_GET["numpg"]) {$items_per_page=escape_string($_GET["numpg"]); } else {$items_per_page="25";} //Default Num per Page is 25
if (!$_GET["pageid"]) {$pageid="1"; } else { $pageid = escape_string($_GET["pageid"]); } //Default PageID is 1
$startpoint = ($pageid-1)*$items_per_page;
$sql = "SELECT CommentID FROM `feedback` WHERE ID = '$id'";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
$num_pages = ceil(mysql_num_rows($sql_result)/$items_per_page);
echo"
User Comments:
";
if ($pageid <=$num_pages) {
$previd=$pageid-1;
if ($previd >"0") {
echo"
« Previous • ";
}
}
echo"Page $pageid of $num_pages";
$nextid=$pageid+1;
if ($pageid <$num_pages) {
echo" •
Next »";
}
echo"
\n";
?>
\n";
echo"\n";
echo"$title
\n";
echo"";
echo"by $name, ";
echo"$date";
echo"
\n";
echo"$notes
\n";
if ($rating != NULL) {
echo"";
for ($i = 1; $i <= $rating; $i++) {
echo"";
}
for ($i = $i; $i <= 5; $i++) {
echo"";
}
//XXX Meta-Ratings not Production Ready, disabled. Bug 247144.
// if ($helpful_yes>0 or $helpful_no>0) {
// $helpful_total=$helpful_yes+$helpful_no;
// echo"
$helpful_yes of $helpful_total people found this comment helpful.
\n";
// }
//echo"Was this comment helpful to you? Yes No";
echo" (Report Comment)";
echo"
";
echo"
\n";
}
echo"\n";
}
if ($num_results=="0") {
echo"- \n";
echo"
Nobody's Commented on this Extension Yet
\n";
echo"Be the First! Rate It!
";
echo" \n";
}
?>
"0") {
echo"
« Previous • ";
}
}
echo"Page $pageid of $num_pages";
$nextid=$pageid+1;
if ($pageid <$num_pages) {
echo" •
Next »";
}
echo"
\n";
//Skip to Page...
if ($num_pages>1) {
echo"Jump to Page: ";
$pagesperpage=9; //Plus 1 by default..
$i = 01;
//Dynamic Starting Point
if ($pageid>11) {
$nextpage=$pageid-10;
}
$i=$nextpage;
//Dynamic Ending Point
$maxpagesonpage=$pageid+$pagesperpage;
//Page #s
while ($i <= $maxpagesonpage && $i <= $num_pages) {
if ($i==$pageid) {
echo"
$i ";
} else {
echo"
$i ";
}
$i++;
}
}
if ($num_pages>1) {
echo"
\nComments per page: \n";
$perpagearray = array("25","50","100");
foreach ($perpagearray as $items_per_page) {
echo"
$items_per_page ";
}
}
} else if ($page=="previews") {
// Item Previews Tab
echo"
Previews for $name
\n";
$sql = "SELECT `PreviewURI`,`caption` from `previews` WHERE `ID`='$id' and `preview`='NO' ORDER BY `PreviewID` ASC";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
while ($row = mysql_fetch_array($sql_result)) {
$uri = $row["PreviewURI"];
$caption = $row["caption"];
echo"
$caption
";
list($src_width, $src_height, $type, $attr) = getimagesize("$websitepath/$uri");
//Scale Image Dimensions
$dest_width="690"; // Destination Width /$tn_size_width
$dest_height_fixed="520"; // Destination Height / $tn_size_height (Fixed)
if ($src_width<=$dest_width AND $src_height<=$dest_width) {
$dest_width = $src_width;
$dest_height = $src_height;
} else {
$dest_height= ($src_height * $dest_width) / $src_width; // (Aspect Ratio Variable Height
if ($dest_height>$dest_height_fixed) {
$dest_height = $dest_height_fixed;
$dest_width = ($src_width * $dest_height) / $src_height;
}
}
echo"
\n";
}
} else if ($page=="staffreview") {
//Staff/Editor Review Tab
echo"
Editor Review
\n";
$sql = "SELECT TR.ID, `Title`, TR.DateAdded, `Body`, `ExtendedBody`, `Type`, `Pick`, TU.UserID, TU.UserName FROM `reviews` TR
INNER JOIN main TM ON TR.ID = TM.ID
INNER JOIN userprofiles TU ON TR.AuthorID = TU.UserID
WHERE `Type` = 'E' AND TR.ID = '$id' ORDER BY `rID` DESC LIMIT 1";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
$num_results = mysql_num_rows($sql_result);
while ($row = mysql_fetch_array($sql_result)) {
$id = $row["ID"];
$title = $row["Title"];
$dateadded = $row["DateAdded"];
$body = nl2br($row["Body"]);
$extendedbody = nl2br($row["ExtendedBody"]);
$pick = $row["Pick"];
$username = $row["UserName"];
$userid = $row["UserID"];
$date = gmdate("F, Y", strtotime("$dateadded")); //Create Customizeable Timestamp
$posteddate = date("F j Y, g:i:sa", strtotime("$dateadded"));
echo"
$title\n";
if ($pick=="YES") {
echo" — $date Editors Pick\n";
}
echo"
\n";
echo"Posted on $posteddate by
$username\n";
echo"
$body
\n";
if ($extendedbody) {
echo"
\n";
echo"
$extendedbody
\n";
}
}
$typename = "extension";
if ($num_results=="0") {
echo"This $typename has not yet been reviewed.
To see what other users think of this $typename, view the
User Comments...
";
}
} else if ($page=="opinion") {
//My Opinion Tab
echo"
Your Comments about $name:
";
if ($_GET["error"]=="norating") {
echo"
\n
Your comment submission had the following error(s), please fix these errors and try again.
\n
Rating cannot be left blank.
\n
Review/Comments cannot be left blank.
\n
\n";
}
?>