\n";
+echo"Current application data: $application - $app_version - $OS ";
+}
+?>
diff --git a/webtools/update/core/inc_global.php b/webtools/update/core/inc_global.php
index 91c344c9cb04..e0676a82a8b1 100644
--- a/webtools/update/core/inc_global.php
+++ b/webtools/update/core/inc_global.php
@@ -38,6 +38,26 @@
//inc_global.php -- Stuff that needs to be done globally to all of Mozilla Update
+// ---------------------------
+// quote_smart() -- Quote a variable to make it safe
+// ---------------------------
+function quote_smart($value)
+{
+ // Stripslashes if we need to
+ if (get_magic_quotes_gpc()) {
+ $value = stripslashes($value);
+ }
+
+ // Quote it if it's not an integer
+ if (!is_int($value)) {
+ $value = "'" . mysql_real_escape_string($value) . "'";
+ }
+
+ return $value;
+}
+
+
+
//Attempt to fix Bug 246743 (strip_tags) and Bug 248242 (htmlentities)
foreach ($_GET as $key => $val) {
$_GET["$key"] = htmlentities(str_replace("\\","",strip_tags($_GET["$key"])));
@@ -49,7 +69,7 @@ if ($_GET["debug"]=="true") {$_SESSION["debug"]=$_GET["debug"]; } else if ($_GET
// Bug 250596 Fixes for incoming $_GET variables.
if ($_GET["application"]) {
$_GET["application"] = strtolower($_GET["application"]);
-$sql = "SELECT AppID FROM `t_applications` WHERE `AppName` = '".ucwords(strtolower($_GET["application"]))."' LIMIT 1";
+$sql = "SELECT AppID FROM `t_applications` WHERE `AppName` = ".quote_smart(ucwords(strtolower($_GET["application"])))." LIMIT 1";
$sql_result = mysql_query($sql, $connection) or trigger_error("MySQL Error ".mysql_errno().": ".mysql_error()."", E_USER_NOTICE);
if (mysql_num_rows($sql_result)===0) {unset($_GET["application"]);}
}
diff --git a/webtools/update/core/inc_header.php b/webtools/update/core/inc_header.php
index c6aa1311b2cf..efe93377b02d 100644
--- a/webtools/update/core/inc_header.php
+++ b/webtools/update/core/inc_header.php
@@ -1,82 +1,121 @@
-
-//
-// 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 *****
-
-$pos = strpos($_SERVER["REQUEST_URI"], "/admin");
-if ($pos !== false) {
-echo'';
-$application="login"; $_SESSION["application"]="login"; unset($_SESSION["app_version"], $_SESSION["app_os"]);
- }
-?>
-
-
+//
+// 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 *****
+?>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webtools/update/core/update.css b/webtools/update/core/update.css
index d093495fe1ea..c302a87e34b6 100644
--- a/webtools/update/core/update.css
+++ b/webtools/update/core/update.css
@@ -35,192 +35,57 @@
*
* ***** END LICENSE BLOCK ***** */
-BODY {
- MARGIN: 0px 0px 5px; FONT-FAMILY: Arial; BACKGROUND-COLOR: #fff
-}
A {
+ text-decoration: none;
+ }
+
+#item A {
COLOR: #00129c; TEXT-DECORATION: none
}
-A:visited {
+#item A:visited {
COLOR: #00129c; TEXT-DECORATION: none
}
-A:hover {
+#item A:hover {
COLOR: #fc5900
}
-DIV.header {
- BACKGROUND-IMAGE: url(/images/header.png); BACKGROUND-REPEAT: repeat-x; HEIGHT: 77px
-}
-DIV.header-top {
- HEIGHT: 57px
-}
-DIV.logo {
- z-index: 1; position: absolute; right: 0px
-}
-DIV.tabbar {
- PADDING-LEFT: 26px; HEIGHT: 20px
+
+
+#item {
+ BORDER: #D2D6D6 1px solid; PADDING-RIGHT: 6px; PADDING-LEFT: 5px; PADDING-BOTTOM: 0px; MARGIN-bottom: 10px; -moz-border-radius: 10px
}
-DIV.nav {
- BACKGROUND-IMAGE: url(/images/orangebar.png); background-repeat: repeat-x; PADDING-TOP: 3px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; MARGIN-BOTTOM: 10px; COLOR: #fff; BACKGROUND-COLOR: #0F67C1; a:VISITED: #fff
+ #item h5 {
+ margin: 0.4em 0.4em 0.2em 0.4em;
+ border-bottom: 1px solid #ccc;
+ }
+
+
+ .title A {
+ FONT-WEIGHT: bold; FONT-SIZE: 14pt; COLOR: #fc5900
}
-DIV.nav A:visited {
- COLOR: #FFF;
-}
-DIV.nav A {
- COLOR: #fff
-}
-DIV.adminheading {
- FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN-RIGHT: 10px; HEIGHT: 25px; TEXT-ALIGN: right
-}
-.box {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 2px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN-BOTTOM: 15px; PADDING-BOTTOM: 5px; POSITION: relative; LEFT: 150px; BORDER-LEFT: #ccc 2px solid; WIDTH: 78%; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 2px solid; -moz-border-radius: 10px
-}
-.boxheader {
- MARGIN-BOTTOM: 6px; BORDER-BOTTOM: #000 1px solid
-}
-.boxcolumns {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 2px solid; PADDING-LEFT: 2px; FONT-SIZE: 12pt; MIN-HEIGHT: 200px; FLOAT: left; PADDING-BOTTOM: 2px; MARGIN-LEFT: 2px; BORDER-LEFT: #ccc 2px solid; WIDTH: 31%; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 2px solid; -moz-border-radius: 10px
-}
-DIV.sidelinks {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 2px solid; MARGIN-TOP: 10px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN-LEFT: 3px; BORDER-LEFT: #ccc 2px solid; WIDTH: 135px; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 2px solid; POSITION: absolute; -moz-border-radius: 10px
-}
-.sidebartitle {
- FONT-WEIGHT: bold
-}
-.sidebartext {
- MARGIN-LEFT: 4px
-}
-.updatebox {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 2px solid; MARGIN-TOP: 3px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 14pt; MIN-HEIGHT: 200px; MARGIN-BOTTOM: 15px; PADDING-BOTTOM: 5px; MARGIN-LEFT: 1px; BORDER-LEFT: #ccc 2px solid; WIDTH: 230px; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 2px solid; POSITION: absolute; -moz-border-radius: 10px
-}
-.frontpagecontainer {
- MIN-HEIGHT: 360px; WIDTH: 100%
-}
-.contentbox {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 2px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 14pt; PADDING-BOTTOM: 5px; MARGIN: 0px 5px 15px 0px; BORDER-LEFT: #ccc 2px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 2px solid; -moz-border-radius: 10px
-}
-.contentcolumns {
- FLOAT: left; WIDTH: 48%
+ .title A:visited {
+ FONT-WEIGHT: bold; FONT-SIZE: 14pt; COLOR: #fc5900
}
-#content {
- PADDING-LEFT: 5px; POSITION: relative; LEFT: 145px; WIDTH: 85%;
+ .authorline {
+ MARGIN-LEFT: 15px
}
-DIV.item {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 8px; BORDER-TOP: #ccc 2px solid; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px auto 15px; BORDER-LEFT: #ccc 2px solid; WIDTH: 95%; PADDING-TOP: 8px; BORDER-BOTTOM: #ccc 2px solid; -moz-border-radius: 10px
-}
-#listnav {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 6px; BORDER-TOP: #ccc 2px solid; PADDING-LEFT: 6px; FONT-WEIGHT: bold; FONT-SIZE: 10pt; PADDING-BOTTOM: 6px; MARGIN: 3px auto; BORDER-LEFT: #ccc 2px solid; WIDTH: 95%; PADDING-TOP: 6px; BORDER-BOTTOM: #ccc 2px solid; TEXT-ALIGN: left; -moz-border-radius: 10px
-}
-.listform {
- BORDER-RIGHT: #3d97c0 1px dotted; PADDING-RIGHT: 2px; BORDER-TOP: #3d97c0 1px dotted; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; MARGIN: 10px auto auto; BORDER-LEFT: #3d97c0 1px dotted; WIDTH: 90%; PADDING-TOP: 2px; BORDER-BOTTOM: #3d97c0 1px dotted; HEIGHT: 25px; BACKGROUND-COLOR: #d4e9f2; TEXT-ALIGN: center
-}
-.title A {
- COLOR: #fc5900
-}
-.title A:visited {
- COLOR: #fc5900
-}
-.liststars {
- FLOAT: right; WIDTH: 80px; HEIGHT: 20px
-}
-.listtitle {
- FONT-WEIGHT: bold; FONT-SIZE: 11pt
-}
-.itemtitle {
- FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN-BOTTOM: 10px; MARGIN-LEFT: 30px
-}
-.authorline {
- FONT-SIZE: 10pt; MARGIN-LEFT: 15px
-}
-.itemdescription {
- FONT-SIZE: 10pt
-}
-.iconbar {
- PADDING-RIGHT: 5px; FONT-WEIGHT: normal; FONT-SIZE: 9pt; FLOAT: right; WIDTH: 115px; HEIGHT: 34px; TEXT-ALIGN: left
-}
-.filesize {
- FONT-WEIGHT: bold; FONT-SIZE: 8pt
-}
-.smallfont {
- FONT-WEIGHT: bold; FONT-SIZE: 8pt
+.selected A, .selected A:visited {
+ COLOR: #fc5900
}
+
.baseline {
- BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 10px; FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: #333
+ BORDER-TOP: #ccc 1px solid; PADDING: 3px; PADDING-LEFT: 10px; FONT-SIZE: 8pt; COLOR: #333
}
+
+.iconbar {
+ PADDING-RIGHT: 15px; FLOAT: left; WIDTH: auto; HEIGHT: 34px; TEXT-align: top
+}
+.iconbar IMG { float:left; }
+
.noitems {
- FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 60px; TEXT-ALIGN: center
-}
-.pagenum {
- FONT-SIZE: 9pt; FLOAT: right
-}
-DIV.tabbar {
- PADDING-RIGHT: 8px; PADDING-LEFT: 8px; PADDING-BOTTOM: 0px; MARGIN: 0px auto auto; WIDTH: 85%; PADDING-TOP: 0px; HEIGHT: 20px
-}
-DIV.tab {
- BORDER-RIGHT: #ccc 2px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 2px solid; PADDING-LEFT: 3px; FONT-SIZE: 11pt; FLOAT: left; MARGIN: 0px 3px; VERTICAL-ALIGN: middle; BORDER-LEFT: #ccc 2px solid; BORDER-BOTTOM: #ccc 2px solid; HEIGHT: 20px; BACKGROUND-COLOR: #ddd; TEXT-ALIGN: center; -moz-border-radius: 10px
-}
-.downloadbox {
- BORDER-RIGHT: #ccc 1px dotted; BORDER-TOP: #ccc 1px dotted; FONT-WEIGHT: bold; FLOAT: left; BORDER-LEFT: #ccc 1px dotted; BORDER-BOTTOM: #ccc 1px dotted; max-width: 395px;
-}
-.moreinfoinstall {
- MARGIN-LEFT: 18px; WIDTH: 250px; HEIGHT: 34px
-}
-.commentbox {
- BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; FONT-SIZE: 10pt; MIN-HEIGHT: 260px; PADDING-BOTTOM: 6px; MARGIN: auto 0px 5px auto; BORDER-LEFT: #ccc 1px solid; WIDTH: 50%; PADDING-TOP: 2px; BORDER-BOTTOM: #ccc 1px solid
-}
-.commenttitlebar {
- PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 11pt; HEIGHT: 20px; BACKGROUND-COLOR: #eee
-}
-.commenttitle {
- PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: 11pt; POSITION: absolute
-}
-.commentfooter {
- PADDING-RIGHT: 5px; FONT-SIZE: 8pt; TEXT-ALIGN: right
-}
-.nocomment {
- MARGIN-LEFT: 30px
-}
-.mipageheading {
- BORDER-TOP: #ccc 1px solid; MARGIN-TOP: 5px; PADDING-LEFT: 4px; FONT-WEIGHT: bold; FONT-SIZE: 11pt; MARGIN-BOTTOM: 5px; COLOR: #333
-}
-.reviewbox {
- BORDER-RIGHT: #bbb 1px dotted; BORDER-TOP: #bbb 1px dotted; FONT-WEIGHT: bold; MARGIN: auto auto 10px; BORDER-LEFT: #bbb 1px dotted; WIDTH: 70%; BORDER-BOTTOM: #bbb 1px dotted
-};
-.opinionform {
- FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN: auto 30px; WIDTH: 80%; LINE-HEIGHT: 30px
-}
-.errorbox {
- BORDER-RIGHT: #f00 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #f00 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: auto auto 20px; BORDER-LEFT: #f00 1px solid; WIDTH: 80%; PADDING-TOP: 3px; BORDER-BOTTOM: #f00 1px solid
-}
-.boxheader2 {
- BORDER-TOP: #2e64ff 4px solid; HEIGHT: 4px
-}
-.boldfont {
- FONT-WEIGHT: bold
-}
-.disabled {
- FONT-WEIGHT: bold; FONT-SIZE: 10pt; COLOR: #ccc; FONT-STYLE: italic
-}
-.emailactive {
- FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-STYLE: italic
-}
-.profileitemdesc {
- FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN-BOTTOM: 4px; MARGIN-LEFT: 20px
-}
-.mailresult {
- FONT-WEIGHT: bold; FONT-SIZE: 14pt; MARGIN: auto; WIDTH: 650px; HEIGHT: 30px; TEXT-ALIGN: center
-}
-.faqtitle {
- FONT-WEIGHT: normal; FONT-SIZE: 24pt; COLOR: #0065CA; TEXT-ALIGN: center
-}
-.faqitemtitle {
- FONT-WEIGHT: bold; FONT-SIZE: 12pt
-}
-.faqitemtext {
- MARGIN-LEFT: 5px
-}
-.footer {
- PADDING-RIGHT: 30px; FONT-WEIGHT: bold; FONT-SIZE: 10pt; MARGIN-LEFT: 200px; TEXT-ALIGN: right
+ FONT-WEIGHT: bold; FONT-SIZE: 12pt; min-height: 80px; TEXT-ALIGN: center;
}
+
+.newsSubline { font-size: 8pt }
diff --git a/webtools/update/extensions/authorprofiles.php b/webtools/update/extensions/authorprofiles.php
index daf55d770b91..6ceddfc10912 100644
--- a/webtools/update/extensions/authorprofiles.php
+++ b/webtools/update/extensions/authorprofiles.php
@@ -1,194 +1,188 @@
-
-//
-// 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 *****
-?>
-
-
-
-
-
-
-
-
-
-
-Mozilla Update :: Extensions - Author Profile:
-
-
-
-
-
-
-
-
-Profile for
-
-Homepage: $userwebsite";
- } else {
-echo"Not Available for this Author";
-}
-?>
-E-Mail: Not Disclosed by Author";
-} else {
-echo"Contact this Author via the E-Mail form below";
-}
-?>
-
-
-
-All Extensions and Themes by
-
-";
-echo"$name ";
-echo"
No Extensions or Themes in the Database for $username yet...
";
-}
-?>
-
-
-
-
-
-Send an E-Mail to
-
-";
-if ($mail=="successful") {
-echo"Your message has been sent successfully...";
-} else if ($mail=="unsuccessful") {
-echo"An error occured, your message was not sent... Please try again...";
-}
-echo"
\n";
-}
-?>
-
-
-
-
-
-
-
+
+//
+// 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 *****
+?>
+
+
+
+
+
+
+
+
+
+
+Mozilla Update :: Extensions - Author Profile:
+
+
+
+
+
+
+
+
+
Author Profile »
+
+Homepage: $userwebsite";
+ } else {
+echo"Not Available for this Author";
+}
+?>
+E-Mail: E-Mail form below";
+}
+?>
+
+
+
All Extensions and Themes by
+$name";
+echo"$description \n";
+}
+}
+if ($numresults=="0") {
+echo"No Extensions or Themes in the Database for $username";
+}
+?>
+
+
+
+
+
+
Send an E-Mail to
+
+";
+if ($mail=="successful") {
+echo"Your message has been sent successfully...";
+} else if ($mail=="unsuccessful") {
+echo"An error occured, your message was not sent... Please try again...";
+}
+echo"
\n";
+}
+?>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/webtools/update/index.php b/webtools/update/index.php
index 334d6997d039..01fc22f54f24 100644
--- a/webtools/update/index.php
+++ b/webtools/update/index.php
@@ -39,49 +39,65 @@
-
-
-
-
-
-
+
+
+
+
+ Mozilla Update
-Mozilla Update
-
-
-
-
-
Welcome to Mozilla Update
-
-Mozilla Update hosts Extensions and Themes for Mozilla software. On this site you can find Extensions and Themes for Mozilla Firefox,
-Mozilla Thunderbird and the Mozilla 1.x suite, with more to come. The site is broken up into sections for each product, with the
-extensions and themes categorized to be easy to find. They're also sorted by what version of the product you're using, so you can
-browse only for Firefox 0.9 compatible extensions, for example. For more information about Mozilla Update, please read our Frequently Asked Questions...
-
-
-