mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
Moving some files around for a more logical file structure, and to allow for using mod_rewrite to get friendly url's. While I'm at it, landing some theme related stuff.
This commit is contained in:
parent
ca2237cb3d
commit
31efd5f590
Binary file not shown.
Before Width: | Height: | Size: 6.6 KiB |
@ -1,117 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/security.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/smarty/libs/Smarty.class.php');
|
||||
|
||||
// Start Session
|
||||
session_name('reportSessID');
|
||||
session_start();
|
||||
header("Cache-control: private"); //IE 6 Fix
|
||||
printheaders();
|
||||
|
||||
$content = initializeTemplate();
|
||||
if(isset($_GET['report_description'])){
|
||||
$content->assign('report_description', $_GET['report_description']);
|
||||
}
|
||||
if(isset($_GET['report_useragent'])){
|
||||
$content->assign('report_useragent', $_GET['report_useragent']);
|
||||
}
|
||||
if(isset($_GET['report_gecko'])){
|
||||
$content->assign('report_gecko', $_GET['report_gecko']);
|
||||
}
|
||||
if(isset($_GET['report_language'])){
|
||||
$content->assign('report_language', $_GET['report_language']);
|
||||
}
|
||||
if(isset($_GET['report_platform'])){
|
||||
$content->assign('report_platform', $_GET['report_platform']);
|
||||
}
|
||||
if(isset($_GET['report_oscpu'])){
|
||||
$content->assign('report_oscpu', $_GET['report_oscpu']);
|
||||
}
|
||||
if(isset($config['products'])){
|
||||
$content->assign('product_options', $config['products']);
|
||||
}
|
||||
if(isset($_GET['report_product'])){
|
||||
$content->assign('report_product', $_GET['report_product']);
|
||||
}
|
||||
if(isset($_GET['report_file_date_start'])){
|
||||
$content->assign('report_file_date_start', $_GET['report_file_date_start']);
|
||||
}
|
||||
if(isset($_GET['report_file_date_end'])){
|
||||
$content->assign('report_file_date_end', $_GET['report_file_date_end']);
|
||||
}
|
||||
if(isset($_GET['show'])){
|
||||
$content->assign('show', $_GET['show']);
|
||||
}
|
||||
if(isset($_GET['count'])){
|
||||
$content->assign('count', $_GET['count']);
|
||||
}
|
||||
if(isset($_GET['host_hostname'])){
|
||||
$content->assign('host_hostname', $_GET['host_hostname']);
|
||||
}
|
||||
if(isset($_GET['report_problem_type'])){
|
||||
$content->assign('report_problem_type', $_GET['report_problem_type']);
|
||||
}
|
||||
if(isset($_GET['report_behind_login'])){
|
||||
$content->assign('report_behind_login', $_GET['report_behind_login']);
|
||||
}
|
||||
if(isset($products)){
|
||||
$content->assign('products', $products);
|
||||
}
|
||||
if(isset($problemTypes)){
|
||||
$content->assign('problem_types', $problemTypes);
|
||||
}
|
||||
|
||||
// Remove fields that you can't manually select
|
||||
foreach ($config['unselectablefields'] as $unselectableChild){
|
||||
unset($config['fields'][$unselectableChild]);
|
||||
}
|
||||
|
||||
$content->assign('selected_options', $config['fields']);
|
||||
if (isset($_GET['selected'])){
|
||||
$content->assign('selected', $_GET['selected']);
|
||||
}
|
||||
else {
|
||||
$content->assign('selected', array('report_id', 'host_hostname', 'report_file_date'));
|
||||
}
|
||||
|
||||
displayPage($content, 'index', 'index.tpl');
|
||||
?>
|
@ -1,78 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
require_once($config['base_path'].'/includes/db.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/smarty/libs/Smarty.class.php');
|
||||
require_once($config['base_path'].'/includes/security.inc.php');
|
||||
|
||||
// start the session
|
||||
session_name('reportSessID');
|
||||
session_start();
|
||||
header("Cache-control: private"); //IE 6 Fix
|
||||
printheaders();
|
||||
|
||||
if (!isset($_SESSION['login']) || $_SESSION['login'] != true){
|
||||
if(isset($_POST['do_login'])){
|
||||
$login = false;
|
||||
|
||||
$db = NewDBConnection($config['db_dsn']);
|
||||
$db->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
|
||||
$login = $securitylib->login($_POST['username'], $_POST['password']);
|
||||
|
||||
$db->Close();
|
||||
|
||||
if($login === true){
|
||||
header('Location: '.$config['base_url']);
|
||||
exit;
|
||||
}
|
||||
$content = initializeTemplate();
|
||||
$content->assign('error', 'Incorrect Username or Password');
|
||||
}
|
||||
|
||||
if(!isset($content)){
|
||||
$content = initializeTemplate();
|
||||
}
|
||||
displayPage($content, 'login', 'login.tpl');
|
||||
exit;
|
||||
} else {
|
||||
header('Location: '.$config['base_url']);
|
||||
}
|
||||
?>
|
@ -1,57 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
|
||||
// start the session
|
||||
session_name('reportSessID');
|
||||
session_start();
|
||||
header("Cache-control: private"); //IE 6 Fix
|
||||
printheaders();
|
||||
|
||||
$_SESSION = array();
|
||||
session_destroy();
|
||||
|
||||
if($_SESSION['username']){
|
||||
// not sure if this could ever happen, but just in case.
|
||||
echo 'Failed to logout';
|
||||
} else {
|
||||
header("Location: ".$config['base_url']);
|
||||
}
|
||||
?>
|
@ -1,134 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
require_once($config['base_path'].'/includes/db.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/smarty/libs/Smarty.class.php');
|
||||
require_once($config['base_path'].'/includes/security.inc.php');
|
||||
require_once($config['base_path'].'/includes/query.inc.php');
|
||||
|
||||
// start the session
|
||||
session_name('reportSessID');
|
||||
session_start();
|
||||
header("Cache-control: private"); //IE 6 Fix
|
||||
printheaders();
|
||||
|
||||
if(!$_GET['method']){
|
||||
$method = 'html';
|
||||
}
|
||||
|
||||
$title = "Searching Results";
|
||||
|
||||
$content = initializeTemplate();
|
||||
$content->assign('method', $method);
|
||||
|
||||
// Open DB
|
||||
$db = NewDBConnection($config['db_dsn']);
|
||||
$db->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
|
||||
$query = new query;
|
||||
$query_input = $query->getQueryInputs();
|
||||
|
||||
$continuityParams = $query->continuityParams($query_input, null);
|
||||
|
||||
$columnHeaders = $query->columnHeaders($query_input, $continuityParams);
|
||||
|
||||
$result = $query->doQuery($query_input['selected'],
|
||||
$query_input['where'],
|
||||
$query_input['orderby'],
|
||||
$query_input['show'],
|
||||
$query_input['page'],
|
||||
$query_input['count']
|
||||
);
|
||||
|
||||
$output = $query->outputHTML($result, $query_input, $continuityParams, $columnHeaders);
|
||||
|
||||
// disconnect database
|
||||
$db->Close();
|
||||
|
||||
if (sizeof($output['data']) == 0){
|
||||
$content->assign('error', 'No Results found');
|
||||
displayPage($content, 'query', 'query.tpl');
|
||||
exit;
|
||||
}
|
||||
|
||||
// Start Next/Prev Navigation
|
||||
/*******
|
||||
* We cap the navigation at 2000 items because php sometimes acts wierd
|
||||
* when sessions get to big. In most cases, this won't effect anyone.
|
||||
*******/
|
||||
if($result['totalResults'] < $config['max_nav_count']){
|
||||
$_SESSION['reportList'] = $result['reportList'];
|
||||
} else {
|
||||
unset($_SESSION['reportList']);
|
||||
$content->assign('notice', 'This query returned too many reports for next/previous navigation to work');
|
||||
}
|
||||
|
||||
$content->assign('column', $columnHeaders);
|
||||
$content->assign('row', $output['data']);
|
||||
|
||||
/* this particular continuity_params is for pagination (it doesn't include 'page') */
|
||||
$content->assign('continuity_params', $query->continuityParams($query_input, array('page')));
|
||||
|
||||
/* Pagination */
|
||||
$pages = ceil($result['totalResults']/$query_input['show']);
|
||||
|
||||
/* These variables are also used for pagination purposes */
|
||||
$content->assign('count', $result['totalResults']);
|
||||
$content->assign('show', $query_input['show']);
|
||||
$content->assign('page', $query_input['page']);
|
||||
$content->assign('pages', $pages);
|
||||
|
||||
if($query_input['page'] > 10){
|
||||
$start = $query_input['page']-10;
|
||||
}
|
||||
if($query_input['page'] < 10){
|
||||
$start = 1;
|
||||
}
|
||||
|
||||
$content->assign('start', $start);
|
||||
$content->assign('step', 1);
|
||||
if(ceil($result['totalResults']/$query_input['show']) < 20){
|
||||
$content->assign('amt', ceil($result['totalResults']/$query_input['show']));
|
||||
} else {
|
||||
$content->assign('amt', 20);
|
||||
}
|
||||
displayPage($content, 'query', 'query.tpl');
|
||||
|
||||
?>
|
@ -1,130 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
require_once($config['base_path'].'/includes/db.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/smarty/libs/Smarty.class.php');
|
||||
require_once($config['base_path'].'/includes/security.inc.php');
|
||||
require_once($config['base_path'].'/includes/query.inc.php');
|
||||
|
||||
|
||||
// Start Session
|
||||
session_name('reportSessID');
|
||||
session_start();
|
||||
header("Cache-control: private"); //IE 6 Fix
|
||||
printheaders();
|
||||
|
||||
// Open DB
|
||||
$db = NewDBConnection($config['db_dsn']);
|
||||
$db->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
|
||||
$query =& $db->Execute("SELECT *
|
||||
FROM report, host
|
||||
WHERE report.report_id = ".$db->quote($_GET['report_id'])."
|
||||
AND host.host_id = report_host_id");
|
||||
|
||||
// disconnect database
|
||||
$db->Close();
|
||||
|
||||
$content = initializeTemplate();
|
||||
|
||||
if (!$query->fields){
|
||||
$content->assign('error', 'No Report Found');
|
||||
displayPage($content, 'report', 'report.tpl', 'Mozilla Reporter - Error');
|
||||
exit;
|
||||
}
|
||||
|
||||
$title = "Report for ".$query->fields['host_hostname']." - ".$query->fields['report_id'];
|
||||
$content->assign('report_id', $query->fields['report_id']);
|
||||
$content->assign('report_url', $query->fields['report_url']);
|
||||
$content->assign('host_url', $config['base_url'].'/app/query/?host_hostname='.$query->fields['host_hostname'].'&submit_query=Query');
|
||||
$content->assign('host_hostname', $query->fields['host_hostname']);
|
||||
$content->assign('report_problem_type', resolveProblemTypes($query->fields['report_problem_type']));
|
||||
$content->assign('report_behind_login', resolveBehindLogin($query->fields['report_behind_login']));
|
||||
$content->assign('report_product', $query->fields['report_product']);
|
||||
$content->assign('report_gecko', $query->fields['report_gecko']);
|
||||
$content->assign('report_useragent', $query->fields['report_useragent']);
|
||||
$content->assign('report_buildconfig', $query->fields['report_buildconfig']);
|
||||
$content->assign('report_platform', $query->fields['report_platform']);
|
||||
$content->assign('report_oscpu', $query->fields['report_oscpu']);
|
||||
$content->assign('report_language', $query->fields['report_language']);
|
||||
$content->assign('report_file_date', $query->fields['report_file_date']);
|
||||
$content->assign('report_email', $query->fields['report_email']);
|
||||
$content->assign('report_ip', $query->fields['report_ip']);
|
||||
$content->assign('report_description', $query->fields['report_description']);
|
||||
|
||||
// Last/Next Functionality
|
||||
if(isset($_SESSION['reportList'])){
|
||||
$query = new query;
|
||||
$query_input = $query->getQueryInputs();
|
||||
|
||||
$continuity_params = $query->continuityParams($query_input, null);
|
||||
|
||||
$content->assign('continuity_params', $continuity_params);
|
||||
|
||||
$reportIndex = array_search($_GET['report_id'], $_SESSION['reportList']);
|
||||
|
||||
$content->assign('index', $reportIndex);
|
||||
$content->assign('total', sizeof($_SESSION['reportList']));
|
||||
|
||||
|
||||
|
||||
$content->assign('showReportNavigation', true);
|
||||
|
||||
if($reportIndex > 0){
|
||||
$content->assign('first_report', $_SESSION['reportList'][0]);
|
||||
$content->assign('previous_report', $_SESSION['reportList'][$reportIndex-1]);
|
||||
} else {
|
||||
$content->assign('first_report', 'disable');
|
||||
$content->assign('previous_report', 'disable');
|
||||
}
|
||||
if($reportIndex < sizeof($_SESSION['reportList'])-1){
|
||||
$content->assign('next_report', $_SESSION['reportList'][$reportIndex+1]);
|
||||
$content->assign('last_report', $_SESSION['reportList'][sizeof($_SESSION['reportList'])-1]);
|
||||
} else {
|
||||
$content->assign('next_report', 'disable');
|
||||
$content->assign('last_report', 'disable');
|
||||
}
|
||||
} else {
|
||||
$content->assign('showReportNavigation', false);
|
||||
}
|
||||
|
||||
displayPage($content, 'report', 'report.tpl', $title);
|
||||
?>
|
||||
|
@ -1,115 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
require_once($config['base_path'].'/includes/db.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/smarty/libs/Smarty.class.php');
|
||||
require_once($config['base_path'].'/includes/security.inc.php');
|
||||
|
||||
// Start Session
|
||||
session_name('reportSessID');
|
||||
session_start();
|
||||
header("Cache-control: private"); //IE 6 Fix
|
||||
|
||||
|
||||
// Open DB
|
||||
$db = NewADOConnection($config['db_dsn']);
|
||||
$db->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
|
||||
$content = initializeTemplate();
|
||||
|
||||
// Total Reports
|
||||
$reports_q =& $db->Execute("SELECT COUNT(*)
|
||||
FROM report");
|
||||
$reports = $reports_q->fields['COUNT(*)'];
|
||||
$content->assign('reports_quant', $reports);
|
||||
|
||||
// Total Unique Users
|
||||
$uniqueusers_q =& $db->Execute("SELECT COUNT(*)
|
||||
FROM sysid");
|
||||
$uniqueusers = $uniqueusers_q->fields['COUNT(*)'];
|
||||
$content->assign('users_quant', $uniqueusers);
|
||||
|
||||
// Average # of reports per user
|
||||
$avgRepPerUsr = $reports/$uniqueusers;
|
||||
$content->assign('avgRepPerUsr', $avgRepPerUsr);
|
||||
|
||||
// Top Users (by reports)
|
||||
// XXX TODO
|
||||
|
||||
// Total Reports per product
|
||||
// XXX TODO
|
||||
|
||||
// Total Reports per platform
|
||||
// XXX TODO
|
||||
|
||||
// Total Hosts
|
||||
$uniquehosts_q =& $db->Execute("SELECT COUNT(*)
|
||||
FROM host");
|
||||
$uniquehosts = $uniquehosts_q->fields['COUNT(*)'];
|
||||
$content->assign('hosts_quant', $uniquehosts);
|
||||
|
||||
// Reports in last 24 hours
|
||||
$yesterday = mktime(date("H"), date("i"), date("s"), date("m") , date("d")-1, date("Y"));
|
||||
$reports24_q =& $db->Execute("SELECT COUNT(*)
|
||||
FROM report
|
||||
WHERE report_file_date > "."'".date('Y-m-d H:i:s', $yesterday)."'");
|
||||
$reports24 = $reports24_q->fields['COUNT(*)'];
|
||||
$content->assign('reports24', $reports24);
|
||||
|
||||
// Reports in last week
|
||||
$last7days = mktime(date("H"), date("i"), date("s"), date("m") , date("d")-7, date("Y"));
|
||||
$last7days_q =& $db->Execute("SELECT COUNT(*)
|
||||
FROM report
|
||||
WHERE report_file_date > "."'".date('Y-m-d H:i:s', $last7days)."'");
|
||||
$last7days = $last7days_q->fields['COUNT(*)'];
|
||||
$content->assign('last7days', $last7days);
|
||||
|
||||
// Reports by month
|
||||
// XXX TODO
|
||||
|
||||
|
||||
// disconnect database
|
||||
$db->Close();
|
||||
|
||||
$title = "Statistics";
|
||||
|
||||
displayPage($content, 'stats', 'stats.tpl');
|
||||
?>
|
||||
|
@ -1,232 +0,0 @@
|
||||
body {
|
||||
margin: 0 30px 2em 30px;
|
||||
color: #333;
|
||||
background: #fff url("img/body_back.gif") repeat-x;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
body, td, th, h3, input, pre { /* redundant rules for bad browsers */
|
||||
font-family: verdana, sans-serif;
|
||||
voice-family: "\"}\"";
|
||||
voice-family: inherit;
|
||||
}
|
||||
|
||||
#container {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#page {
|
||||
padding: 15px 0 0 0;
|
||||
}
|
||||
|
||||
#content {
|
||||
background: url("img/page-background.gif") repeat-x top left;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
#mozilla-org {
|
||||
position: relative;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
#mozilla-org a {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
display: block;
|
||||
width: 110px;
|
||||
height: 25px;
|
||||
background: url("img/mozilla-org.gif") no-repeat;
|
||||
text-decoration: none;
|
||||
text-indent: -5000em;
|
||||
}
|
||||
|
||||
.skipLink {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#reporterSearch .label, #reporterSearch label {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#reporterQuery {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#reporterQuery .header {
|
||||
background-color: #ddd;
|
||||
color: #666;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#reporterQuery .header a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#reporterQuery td {
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 1px 0 1px 0;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#reporterReport .header{
|
||||
background-color: #eee;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 4px 0 4px 0;
|
||||
}
|
||||
|
||||
#reporterReport div {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
#reporterReport .title {
|
||||
float: left;
|
||||
width: 9em;
|
||||
padding: 0 .5em;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#reporterReport .data {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#header{
|
||||
margin: 20px 0 16px 0;
|
||||
bottom: 1px solid #eee;
|
||||
}
|
||||
#header h1 {
|
||||
display: inline;
|
||||
font-size: 2.2em;
|
||||
}
|
||||
#header #logo {
|
||||
margin: 0;
|
||||
float: left;
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
#header #logo a {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#header a img {
|
||||
border: 0;
|
||||
}
|
||||
#header #navbox {
|
||||
float: right;
|
||||
margin-top: 8px;
|
||||
margin-right: 15px;
|
||||
background-color: #eee;
|
||||
border: 1px solid #333;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
#navbox ul {
|
||||
padding: 0 0 0 8px;
|
||||
}
|
||||
#navbox li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0 8px 0 0;
|
||||
text-align: left;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
text-align: center;
|
||||
margin: 12px auto 5px auto;
|
||||
}
|
||||
|
||||
.navigation .currentPage {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.navigation a {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
.navigation a:hover {
|
||||
border-bottom: 2px solid #000;
|
||||
}
|
||||
|
||||
#login_form label{
|
||||
float: left;
|
||||
width: 9em;
|
||||
padding: 0 .5em;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#login_leftcol{
|
||||
float: left;
|
||||
width: 45%;
|
||||
padding: 2px 9px 5px 9px;
|
||||
|
||||
}
|
||||
|
||||
#login_rightcol {
|
||||
float: right;
|
||||
width: 45%;
|
||||
padding: 2px 9px 5px 9px;
|
||||
}
|
||||
/*
|
||||
|
||||
|
||||
|
||||
#reporter_note {
|
||||
border: 1px solid #ccc;
|
||||
background: #eee;
|
||||
padding: 5px 8px 5px 8px;
|
||||
}
|
||||
|
||||
#report_table, #query_table {
|
||||
border-spacing: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
#report_table tr {
|
||||
width: 200px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#report_table td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
#query_table .header{
|
||||
background-color: #e4ecec;
|
||||
}
|
||||
#query_table .header a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#query_table td {
|
||||
border: 1px dotted #eee;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#message {
|
||||
padding: 4px;
|
||||
margin: 8px 3px 12px 3px;
|
||||
background: #FFD1D1;
|
||||
border: 1px solid #FF0000;
|
||||
}
|
||||
|
||||
.rmo_error {
|
||||
border: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#header h1 a {
|
||||
background: transparent url("/app/img/logo.gif") no-repeat;
|
||||
}
|
||||
*/
|
@ -1,232 +0,0 @@
|
||||
body {
|
||||
margin: 0 30px 2em 30px;
|
||||
color: #333;
|
||||
background: #fff url("img/body_back.gif") repeat-x;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
body, td, th, h3, input, pre { /* redundant rules for bad browsers */
|
||||
font-family: verdana, sans-serif;
|
||||
voice-family: "\"}\"";
|
||||
voice-family: inherit;
|
||||
}
|
||||
|
||||
#container {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#page {
|
||||
padding: 15px 0 0 0;
|
||||
}
|
||||
|
||||
#content {
|
||||
background: url("img/page-background.gif") repeat-x top left;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
#mozilla-org {
|
||||
position: relative;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
#mozilla-org a {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
display: block;
|
||||
width: 110px;
|
||||
height: 25px;
|
||||
background: url("img/mozilla-org.gif") no-repeat;
|
||||
text-decoration: none;
|
||||
text-indent: -5000em;
|
||||
}
|
||||
|
||||
.skipLink {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#reporterSearch .label, #reporterSearch label {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#reporterQuery {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#reporterQuery .header {
|
||||
background-color: #ddd;
|
||||
color: #666;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#reporterQuery .header a {
|
||||
color: #666;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#reporterQuery td {
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 1px 0 1px 0;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#reporterReport .header{
|
||||
background-color: #eee;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 4px 0 4px 0;
|
||||
}
|
||||
|
||||
#reporterReport div {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
#reporterReport .title {
|
||||
float: left;
|
||||
width: 9em;
|
||||
padding: 0 .5em;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#reporterReport .data {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
#header{
|
||||
margin: 20px 0 16px 0;
|
||||
bottom: 1px solid #eee;
|
||||
}
|
||||
#header h1 {
|
||||
display: inline;
|
||||
font-size: 2.2em;
|
||||
}
|
||||
#header #logo {
|
||||
margin: 0;
|
||||
float: left;
|
||||
width: 500px;
|
||||
}
|
||||
|
||||
#header #logo a {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#header a img {
|
||||
border: 0;
|
||||
}
|
||||
#header #navbox {
|
||||
float: right;
|
||||
margin-top: 8px;
|
||||
margin-right: 15px;
|
||||
background-color: #eee;
|
||||
border: 1px solid #333;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
#navbox ul {
|
||||
padding: 0 0 0 8px;
|
||||
}
|
||||
#navbox li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0 8px 0 0;
|
||||
text-align: left;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
text-align: center;
|
||||
margin: 12px auto 5px auto;
|
||||
}
|
||||
|
||||
.navigation .currentPage {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.navigation a {
|
||||
text-decoration: none;
|
||||
color: #000;
|
||||
}
|
||||
.navigation a:hover {
|
||||
border-bottom: 2px solid #000;
|
||||
}
|
||||
|
||||
#login_form label{
|
||||
float: left;
|
||||
width: 9em;
|
||||
padding: 0 .5em;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#login_leftcol{
|
||||
float: left;
|
||||
width: 45%;
|
||||
padding: 2px 9px 5px 9px;
|
||||
|
||||
}
|
||||
|
||||
#login_rightcol {
|
||||
float: right;
|
||||
width: 45%;
|
||||
padding: 2px 9px 5px 9px;
|
||||
}
|
||||
/*
|
||||
|
||||
|
||||
|
||||
#reporter_note {
|
||||
border: 1px solid #ccc;
|
||||
background: #eee;
|
||||
padding: 5px 8px 5px 8px;
|
||||
}
|
||||
|
||||
#report_table, #query_table {
|
||||
border-spacing: 0px;
|
||||
width: 100%;
|
||||
}
|
||||
#report_table tr {
|
||||
width: 200px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#report_table td {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
#query_table .header{
|
||||
background-color: #e4ecec;
|
||||
}
|
||||
#query_table .header a {
|
||||
color: #000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#query_table td {
|
||||
border: 1px dotted #eee;
|
||||
}
|
||||
|
||||
.navigation {
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
#message {
|
||||
padding: 4px;
|
||||
margin: 8px 3px 12px 3px;
|
||||
background: #FFD1D1;
|
||||
border: 1px solid #FF0000;
|
||||
}
|
||||
|
||||
.rmo_error {
|
||||
border: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#header h1 a {
|
||||
background: transparent url("/app/img/logo.gif") no-repeat;
|
||||
}
|
||||
*/
|
545
tools/reporter/htdocs/styles/theme/mozilla/base/content.css
Normal file
545
tools/reporter/htdocs/styles/theme/mozilla/base/content.css
Normal file
@ -0,0 +1,545 @@
|
||||
/* mozilla.org Base Styles
|
||||
* maintained by fantasai
|
||||
* (classes defined in the Markup Guide - http://mozilla.org/contribute/writing/markup )
|
||||
*/
|
||||
/* Suggested order:
|
||||
* display
|
||||
* list-style
|
||||
* position
|
||||
* float
|
||||
* clear
|
||||
* width
|
||||
* height
|
||||
* margin
|
||||
* padding
|
||||
* border
|
||||
* background
|
||||
* color
|
||||
* font
|
||||
* text-decoration
|
||||
* text-align
|
||||
* vertical-align
|
||||
* white-space
|
||||
* other text
|
||||
* content
|
||||
*
|
||||
*/
|
||||
|
||||
/* TOC:
|
||||
Random HTML Styles
|
||||
Forms
|
||||
General Structure
|
||||
Navigation
|
||||
Quotations
|
||||
Comments and Other Asides
|
||||
Emphasis
|
||||
Computers - General
|
||||
Code
|
||||
Examples and Figures
|
||||
Q and A (FAQ)
|
||||
Tables
|
||||
Headers
|
||||
Meta
|
||||
Specific to Products Pages
|
||||
*/
|
||||
/* Random HTML Styles */
|
||||
|
||||
dt {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 1em 1em;
|
||||
}
|
||||
|
||||
li {
|
||||
margin-top: 0.2em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
sup {
|
||||
font-size: 70%;
|
||||
}
|
||||
|
||||
form {
|
||||
margin: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
label {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* General Structure */
|
||||
|
||||
.subtitle {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
div.para {
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
div.para > ul,
|
||||
div.para > ol,
|
||||
div.para > blockquote {
|
||||
margin-top: 0.2em;
|
||||
margin-bottom: 0.2em;
|
||||
}
|
||||
|
||||
div.section {
|
||||
display: block;
|
||||
padding-left: 3%;
|
||||
}
|
||||
|
||||
div.section > h2,
|
||||
div.section > h3,
|
||||
div.section > h4,
|
||||
div.section > h5,
|
||||
div.section > h6 {
|
||||
margin-left: -1.3%;
|
||||
}
|
||||
|
||||
.block {
|
||||
display: block;
|
||||
margin: 0.1em 1em;
|
||||
}
|
||||
|
||||
.imgright {
|
||||
float: right;
|
||||
margin: 0 0 2em 2em;
|
||||
}
|
||||
|
||||
.first {
|
||||
margin-top: 0; /* For IE not understanding first:child */
|
||||
}
|
||||
|
||||
/* Navigation */
|
||||
|
||||
:link img,
|
||||
:visited img {
|
||||
border: 0;
|
||||
}
|
||||
.deepLevel #mainContent :link img,
|
||||
.deepLevel #mainContent :visited img {
|
||||
border: medium solid;
|
||||
}
|
||||
.deepLevel #mainContent #buttons :link img,
|
||||
.deepLevel #mainContent #buttons :visited img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.ex-ref {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
dl.toc dt {
|
||||
margin-top: 1em;
|
||||
font-size: 110%;
|
||||
}
|
||||
dl.toc p {
|
||||
margin: 0;
|
||||
text-indent: 1em;
|
||||
}
|
||||
dl.toc p:first-child {
|
||||
text-indent: 0;
|
||||
}
|
||||
dl.toc > dd {
|
||||
margin-left: 1em;
|
||||
}
|
||||
|
||||
ol.toc ol {
|
||||
list-style-type: circle;
|
||||
}
|
||||
ol.toc > li > ol {
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
ul.snav {/* section navigation or short navigation, whichever you prefer */
|
||||
margin: 0.7em 10%;
|
||||
padding: .2em;
|
||||
text-align: center;
|
||||
list-style-type: none;
|
||||
}
|
||||
ul.snav > li {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
ul.snav > li {
|
||||
display: inline;
|
||||
}
|
||||
ul.snav > li:before {
|
||||
content: " | ";
|
||||
}
|
||||
ul.snav > li:first-child:before {
|
||||
content: "";
|
||||
}
|
||||
|
||||
a.cont {
|
||||
display: block;
|
||||
margin-right: 0;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* Quotations */
|
||||
|
||||
blockquote > address {
|
||||
padding-left: 1em;
|
||||
text-indent: -1em;
|
||||
}
|
||||
blockquote > address:before {
|
||||
content: "\2015";
|
||||
}
|
||||
|
||||
div.quote,
|
||||
div.epigraph {
|
||||
margin: 1em;
|
||||
}
|
||||
div.quote q,
|
||||
div.epigraph q {
|
||||
display: block;
|
||||
margin: 0 .5em;
|
||||
text-indent: -0.5em;
|
||||
}
|
||||
div.quote cite,
|
||||
div.epigraph cite {
|
||||
display: block;
|
||||
padding: 0 1em;
|
||||
text-align: right;
|
||||
text-indent: -1em;
|
||||
}
|
||||
div.quote cite:before,
|
||||
div.epigraph cite:before {
|
||||
content: "\2015";
|
||||
}
|
||||
|
||||
blockquote.epigraph,
|
||||
div.epigraph q {
|
||||
font-style: italic;
|
||||
text-align: right;
|
||||
}
|
||||
blockquote.epigraph em,
|
||||
div.epigraph q em {
|
||||
font-style: normal;
|
||||
}
|
||||
blockquote.epigraph address,
|
||||
div.epigraph cite {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Comments and other Asides */
|
||||
|
||||
.note {
|
||||
font-style: italic;
|
||||
}
|
||||
.note:before {
|
||||
content: "Note: ";
|
||||
}
|
||||
|
||||
.remark {
|
||||
font-size: smaller;
|
||||
}
|
||||
.remark:before {
|
||||
content: "[";
|
||||
}
|
||||
.remark:after {
|
||||
content: "]";
|
||||
}
|
||||
|
||||
.sidenote {
|
||||
clear: both;
|
||||
margin: 0.75em 0.5em;
|
||||
padding: 0.2em;
|
||||
border: 1px solid;
|
||||
|
||||
/* Block NS4 from floating */ /*/*/
|
||||
float: right;
|
||||
width: 30%;
|
||||
min-width: 15em;
|
||||
/* */
|
||||
}
|
||||
/* Reduce main header sizes */
|
||||
.sidenote h1 {font-size: 1.40em;}
|
||||
.sidenote h2 {font-size: 1.25em;}
|
||||
.sidenote h3 {font-size: 1.10em;}
|
||||
|
||||
.key-point > h1:first-child,
|
||||
.key-point > h2:first-child,
|
||||
.key-point > h3:first-child,
|
||||
.key-point > h4:first-child,
|
||||
.key-point > h5:first-child,
|
||||
.key-point > h6:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
/* Emphasis */
|
||||
|
||||
/* em, strong */
|
||||
|
||||
strong.stronger {
|
||||
font-style: italic;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
strong.very-strong {
|
||||
font-weight: bold;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
*.important,
|
||||
div.important,
|
||||
p.important {
|
||||
margin: 1em;
|
||||
padding: 0.1em;
|
||||
border: solid #F00;
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
span.important {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
border: 0;
|
||||
font-size: smaller;
|
||||
color: #c00;
|
||||
}
|
||||
|
||||
/* Computers - General */
|
||||
|
||||
pre.screen {
|
||||
overflow: auto;
|
||||
margin: 1em 0.5em;
|
||||
padding: 0.2em;
|
||||
border: solid 1px;
|
||||
font-family: monospace;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
div.screen {
|
||||
margin: 1em .5em;
|
||||
padding: 0.2em;
|
||||
border: solid 1px;
|
||||
}
|
||||
|
||||
span.application {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
kbd.long {
|
||||
display: block;
|
||||
margin: 0.1em 1em;
|
||||
}
|
||||
|
||||
kbd.command,
|
||||
code.command {
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
code.filename {
|
||||
font-style: italic;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Code */
|
||||
|
||||
code, pre {
|
||||
/* override IE6 default */
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
code {
|
||||
white-space: nowrap;
|
||||
}
|
||||
code.long {
|
||||
display: block;
|
||||
margin: 0.1em 1em;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
pre.code {
|
||||
overflow: auto;
|
||||
margin: 1em .5em;
|
||||
padding: .2em;
|
||||
border: solid 1px;
|
||||
}
|
||||
|
||||
pre.code .remark {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* turn off content generation */
|
||||
pre.code .remark:before,
|
||||
pre.code .remark:after,
|
||||
pre.code .note:before {
|
||||
content: "";
|
||||
}
|
||||
|
||||
|
||||
/* Examples and Figures */
|
||||
|
||||
.example {
|
||||
margin: 1em 3%;
|
||||
padding: .25em;
|
||||
border: solid;
|
||||
}
|
||||
.example:before {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
content: "Example";
|
||||
}
|
||||
.example[title]:before {
|
||||
content: "Example: " attr(title);
|
||||
}
|
||||
|
||||
pre.bad,
|
||||
div.bad {
|
||||
border: dashed red 3px;
|
||||
}
|
||||
.bad.example:before {
|
||||
content: "Incorrect Example";
|
||||
}
|
||||
.bad.example[title]:before {
|
||||
content: "Incorrect Example: " attr(title);
|
||||
}
|
||||
|
||||
pre.good,
|
||||
div.good {
|
||||
border: double lime 3px;
|
||||
}
|
||||
.good.example:before {
|
||||
content: "Correct Example";
|
||||
}
|
||||
.good.example[title]:before {
|
||||
content: "Correct Example: " attr(title);
|
||||
}
|
||||
|
||||
.figure,
|
||||
.screenshot {
|
||||
display: block;
|
||||
margin: .75em auto;
|
||||
}
|
||||
object.figure object,
|
||||
object.screenshot object,
|
||||
object.figure img,
|
||||
object.screenshot object {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.screenshot[title]:after,
|
||||
.figure[title]:after {
|
||||
display: block;
|
||||
margin: 0 8% .05em;
|
||||
font-style: italic;
|
||||
font-size: small;
|
||||
text-align: right;
|
||||
content: attr(title);
|
||||
}
|
||||
|
||||
.co,
|
||||
.callout {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Q and A (FAQ) */
|
||||
|
||||
.qandaset .question {
|
||||
font-size: large;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.qandaset .answer {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
/* Tables */
|
||||
|
||||
table.data {
|
||||
border-collapse: collapse;
|
||||
margin: 0.5em auto;
|
||||
border: 1px solid;
|
||||
}
|
||||
|
||||
table.data caption {
|
||||
margin: 1em auto 0.2em;
|
||||
font-size: small;
|
||||
font-style: italic;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.data th,
|
||||
table.data td {
|
||||
padding: 0.2em;
|
||||
border: 1px solid;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
table.data tbody th:first-child {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.data thead th {
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
/* Meta */
|
||||
|
||||
address {
|
||||
text-align: right;
|
||||
}
|
||||
.author {
|
||||
margin-bottom: 1em;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
/* Headers */
|
||||
|
||||
#mainContent > h1:first-child,
|
||||
#mainContent > h2:first-child,
|
||||
#mainContent > h3:first-child,
|
||||
#mainContent > h4:first-child,
|
||||
#mainContent > h5:first-child,
|
||||
#mainContent > h6:first-child,
|
||||
#side > h1:first-child,
|
||||
#side > h2:first-child,
|
||||
#side > h3:first-child,
|
||||
#side > h4:first-child,
|
||||
#side > h5:first-child,
|
||||
#side > h6:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
|
||||
/* Specific to Products Pages */
|
||||
|
||||
.productlist {
|
||||
margin: 0;
|
||||
padding: 0 0 0 5px;
|
||||
}
|
||||
|
||||
.productlist li {
|
||||
clear: left;
|
||||
list-style: none;
|
||||
padding: 0 0 1em 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.productlist h3 {
|
||||
margin: 0 0 0.2em 0;
|
||||
}
|
||||
|
||||
.productlist img {
|
||||
float: left;
|
||||
margin: 0 0.5em 1em 0;
|
||||
}
|
||||
|
||||
/* Random Stuff That Needs To Be Cleaned Up / Deprecated */
|
||||
|
||||
.flLeft {
|
||||
float: left;
|
||||
margin: 5px 10px 5px 0;
|
||||
}
|
||||
.flRight {
|
||||
float: right;
|
||||
margin: 5px 0 5px 10px;
|
||||
}
|
105
tools/reporter/htdocs/styles/theme/mozilla/base/template.css
Normal file
105
tools/reporter/htdocs/styles/theme/mozilla/base/template.css
Normal file
@ -0,0 +1,105 @@
|
||||
/* mozilla.org Base Template Styles
|
||||
* Initial Design by Dave Shea
|
||||
* Severely tweaked by David Baron
|
||||
* Reorganized by fantasai
|
||||
* Large Changes for new Cavendish default by Daniel Burka and Steven Garrity
|
||||
*/
|
||||
|
||||
/* Basic Structure */
|
||||
body {
|
||||
min-width: 610px;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
#container {
|
||||
max-width: 70em;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
#mBody {
|
||||
clear: both;
|
||||
padding: 0 0 1em 0;
|
||||
}
|
||||
|
||||
#side {
|
||||
float: left;
|
||||
width: 23%;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
#mainContent {
|
||||
float: right;
|
||||
width: 75%;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
.nomenu #mainContent {
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
.bodyleft {
|
||||
float: right !important;
|
||||
width: 75% !important;
|
||||
}
|
||||
#mainContent.right {
|
||||
float: left;
|
||||
width: 62%;
|
||||
}
|
||||
|
||||
#side.right {
|
||||
float: right;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
|
||||
#header { margin-bottom: 1em; }
|
||||
#header ul {
|
||||
margin: 0 0 1em 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#header li {
|
||||
display: inline;
|
||||
padding: 0 20px 0 0;
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
#getcd {
|
||||
margin: 1em 0 0 45px;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
|
||||
#footer {
|
||||
clear: both;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
#footer ul {
|
||||
margin: 0 0 1em 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#footer li {
|
||||
display: inline;
|
||||
padding: 0 20px 0 0;
|
||||
margin: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#footer p {
|
||||
margin: 0.6em 0;
|
||||
}
|
||||
|
||||
/*accessibility tweaks*/
|
||||
.skipLink {
|
||||
position: absolute;
|
||||
left: -999px;
|
||||
width: 990px;
|
||||
}
|
||||
hr.hide {
|
||||
display: none;
|
||||
}
|
416
tools/reporter/htdocs/styles/theme/mozilla/cavendish/content.css
Normal file
416
tools/reporter/htdocs/styles/theme/mozilla/cavendish/content.css
Normal file
@ -0,0 +1,416 @@
|
||||
/* mozilla.org Cavendish Content Styles
|
||||
* Design by SilverOrange
|
||||
* Markup Reference classes organized by fantasai
|
||||
*/
|
||||
|
||||
/* Suggested order:
|
||||
* display
|
||||
* list-style
|
||||
* position
|
||||
* float
|
||||
* clear
|
||||
* width
|
||||
* height
|
||||
* margin
|
||||
* padding
|
||||
* border
|
||||
* background
|
||||
* color
|
||||
* font
|
||||
* text-decoration
|
||||
* text-align
|
||||
* vertical-align
|
||||
* white-space
|
||||
* other text
|
||||
* content
|
||||
*
|
||||
*/
|
||||
|
||||
/* TOC:
|
||||
Body
|
||||
Random HTML Styles
|
||||
Forms
|
||||
General Structure
|
||||
Navigation
|
||||
Quotations
|
||||
Comments and Other Asides
|
||||
Emphasis
|
||||
Computers - General
|
||||
Code
|
||||
Examples and Figures
|
||||
Q and A (FAQ)
|
||||
Tables
|
||||
Meta
|
||||
*/
|
||||
|
||||
/* Body */
|
||||
|
||||
body {
|
||||
background: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#mainContent, #side {
|
||||
background: #fff;
|
||||
line-height: 1.3; /* value other than 'normal' needed for WinIE */
|
||||
color: #000;
|
||||
}
|
||||
.deepLevel #mainContent {
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
#nav {
|
||||
line-height: 1em;
|
||||
}
|
||||
|
||||
/* Random HTML Styles */
|
||||
|
||||
hr {
|
||||
height: 1px;
|
||||
background-color: #000;
|
||||
color: #000;
|
||||
margin: 2em 0;
|
||||
}
|
||||
|
||||
input[type="submit"] {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* General Structure */
|
||||
body, td, th, input { /* redundant rules for bad browsers */
|
||||
font-family: verdana, sans-serif;
|
||||
font-size: x-small;
|
||||
voice-family: "\"}\"";
|
||||
voice-family: inherit;
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 1em 0 0.2em 0;
|
||||
border-bottom: 1px solid #ccc;
|
||||
font-family: arial, verdana, sans-serif;
|
||||
}
|
||||
li h1, li h2, li h3, li h4, li h5, li h6 {
|
||||
border: none;
|
||||
}
|
||||
|
||||
#header h1 { border: 0; }
|
||||
|
||||
h1 { font-size: 160%; font-weight: normal; }
|
||||
h2 { font-size: 150%; font-weight: normal; }
|
||||
h3 { font-size: 120%; }
|
||||
h4 { font-size: 100%; }
|
||||
h5 { font-size: 90%; }
|
||||
h6 { font-size: 90%; border: 0; }
|
||||
|
||||
/* Navigation */
|
||||
|
||||
:link { color: #039; }
|
||||
:visited { color: #636; }
|
||||
:link:hover, :visited:hover { color: #333; }
|
||||
:link:active, :link:active { color: #000; }
|
||||
|
||||
/* Quotations */
|
||||
|
||||
|
||||
/* Comments and other Asides */
|
||||
|
||||
.note {
|
||||
color: #666;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
.remark {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.sidenote {
|
||||
border: #666;
|
||||
}
|
||||
|
||||
.key-point:before {
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
background: transparent url("../../images/key-point_tr.gif") no-repeat top right;
|
||||
margin: -15px -15px 0 -15px;
|
||||
height: 15px;
|
||||
display: block;
|
||||
border: none;
|
||||
content: url("../../images/key-point_tl.gif");
|
||||
}
|
||||
.key-point {
|
||||
background: #e4ecec url("../../images/key-point_back.gif") right repeat-y;
|
||||
padding: 15px;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
.key-point:after {
|
||||
display: block;
|
||||
clear: both;
|
||||
padding-top: 15px;
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
content: url("../../images/key-point_bl.gif");
|
||||
margin: -15px;
|
||||
height: 8px;
|
||||
background: transparent url("../../images/key-point_br.gif") scroll no-repeat bottom right ;
|
||||
}
|
||||
|
||||
.key-point h2, .key-point h3, .key-point h4, .key-point h5 {
|
||||
border: none;
|
||||
margin-top: 0;
|
||||
color: #4C5C5C;
|
||||
}
|
||||
|
||||
.news dt {
|
||||
font-weight: normal;
|
||||
color: #666;
|
||||
}
|
||||
.news dt a {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul.compact {
|
||||
margin-left: 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
/* Emphasis */
|
||||
|
||||
/* Computers - General */
|
||||
|
||||
kbd {
|
||||
margin: 0.1em;
|
||||
padding: 0.1em;
|
||||
border: 1px #ccc;
|
||||
}
|
||||
|
||||
kbd.command,
|
||||
code.command {
|
||||
color: #6B5839;
|
||||
}
|
||||
|
||||
/* Code */
|
||||
|
||||
pre.code {
|
||||
background: #EEECF6;
|
||||
}
|
||||
|
||||
code > em,
|
||||
code > strong,
|
||||
pre.code > em,
|
||||
pre.code > strong {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* Examples and Figures */
|
||||
|
||||
div.example {
|
||||
border-color: #554FA0;
|
||||
}
|
||||
div.example:before {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* Q and A (FAQ) */
|
||||
|
||||
ol.faq li a {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px dotted #6C98EE;
|
||||
}
|
||||
|
||||
ol.faq li a:hover {
|
||||
border-color: #039;
|
||||
}
|
||||
|
||||
|
||||
/* Tables */
|
||||
|
||||
table.data thead th {
|
||||
background: #e4ecec;
|
||||
empty-cells: hide;
|
||||
}
|
||||
|
||||
table.data th,
|
||||
table.data td {
|
||||
border: 1px solid #ccc;
|
||||
}
|
||||
|
||||
tr.odd {
|
||||
background: #F5F5F5;
|
||||
}
|
||||
|
||||
/* Meta */
|
||||
|
||||
address {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
/* Product Specific CSS */
|
||||
|
||||
.productlist h3 {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.key-point h1, .key-point h3 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#product-desc h2 {
|
||||
text-indent: -700em;
|
||||
height: 25px;
|
||||
line-height: 2px;
|
||||
font-size: 2px;
|
||||
}
|
||||
|
||||
#product-desc p {
|
||||
padding-left: 170px;
|
||||
}
|
||||
|
||||
#product-desc ul, #key-desc {
|
||||
padding-left: 190px;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#product-side, #key-side {
|
||||
margin-left: 65%;
|
||||
}
|
||||
|
||||
#product-side ul, #key-side ul {
|
||||
margin-left: 0;
|
||||
padding-bottom: 0;
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
#product-side li, #key-side {
|
||||
padding-bottom: 0.2em;
|
||||
}
|
||||
|
||||
#product-desc, #key-desc {
|
||||
padding: 40px 0 25px 0;
|
||||
color: #4C5C5C;
|
||||
width: 60%;
|
||||
float: left;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
#key-desc {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#key-side {
|
||||
color: #4C5C5C;
|
||||
}
|
||||
|
||||
.product-firefox {
|
||||
background: url("../../images/product-firefox-screen.png") no-repeat;
|
||||
}
|
||||
.product-thunderbird {
|
||||
background: url("../../images/product-thunderbird-screen.png") no-repeat;
|
||||
}
|
||||
.product-camino {
|
||||
background: url("../../images/product-camino-screen.png") no-repeat;
|
||||
}
|
||||
.product-mozilla {
|
||||
background: url("../../images/product-mozilla-screen.png") no-repeat;
|
||||
}
|
||||
|
||||
#product-side .download h3 {
|
||||
color: #1D9101;
|
||||
font-weight: bold;
|
||||
margin: 0;
|
||||
font-size: 140%;
|
||||
}
|
||||
|
||||
.download h3 :link,
|
||||
.download h3 :visited,
|
||||
.download h3 :link:active, .download h3 :visited:active {
|
||||
color: #1D9101;
|
||||
}
|
||||
|
||||
.download h3 :link:hover, .download h3 :visited:hover {
|
||||
color: #156B01;
|
||||
}
|
||||
|
||||
.download li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
.download ul {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
.other a:link, .other a:visited { color: #666; }
|
||||
.download .other a:hover { color: #000; }
|
||||
.download:before {
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
margin: -15px -15px 0 -15px;
|
||||
height: 15px;
|
||||
display: block;
|
||||
border: none;
|
||||
content: url("../../images/download_tl.gif");
|
||||
}
|
||||
.download {
|
||||
background: #C4EFA1 url("../../images/download_back.gif") top right no-repeat;
|
||||
padding: 15px 45px 15px 15px;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
.download:after {
|
||||
display: block;
|
||||
padding-top: 15px;
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
content: url("../../images/download_bl.gif");
|
||||
margin: -10px -45px -15px -15px;
|
||||
height: 8px;
|
||||
background: transparent url("../../images/download_br.gif") scroll no-repeat bottom right ;
|
||||
}
|
||||
.configParent {
|
||||
display: block;
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
.shop:before, .shopmoz:before {
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
margin: -15px -15px 0 -15px;
|
||||
height: 15px;
|
||||
display: block;
|
||||
border: none;
|
||||
content: url("../../images/shop_tl.gif");
|
||||
}
|
||||
.shop {
|
||||
background: #C0DCDC url("../../images/shop_back.gif") top right no-repeat;
|
||||
padding: 15px 70px 15px 15px;
|
||||
}
|
||||
.shopmoz {
|
||||
background: #C0DCDC url("../../images/shopmoz_back.gif") top right no-repeat;
|
||||
padding: 15px 70px 15px 15px;
|
||||
}
|
||||
.shop:after, .shopmoz:after {
|
||||
display: block;
|
||||
padding-top: 15px;
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
content: url("../../images/shop_bl.gif");
|
||||
margin: -10px -70px -15px -15px;
|
||||
height: 8px;
|
||||
background: transparent url("../../images/shop_br.gif") scroll no-repeat bottom right ;
|
||||
}
|
||||
|
||||
/* Firefox Central styles */
|
||||
#ffcentral-desc {
|
||||
background: url("../../products/firefox/t-welcomefirefox.gif") no-repeat;
|
||||
width: 60%;
|
||||
float: left;
|
||||
line-height: 140%;
|
||||
}
|
||||
#ffcentral-desc div {
|
||||
padding: 40px 0 0 100px;
|
||||
}
|
||||
#ffcentral h3, #ffcentral h2, #ffcentral p, #ffcentral ul {
|
||||
margin-top: 0;
|
||||
color: #4C5C5C;
|
||||
}
|
||||
|
@ -0,0 +1,259 @@
|
||||
/* mozilla.org Cavendish Template Styles
|
||||
* Initial Design by Daniel Burka and Steven Garrity
|
||||
*/
|
||||
|
||||
/* Basic Structure */
|
||||
body {
|
||||
background: #fff url("../../../../img/theme/mozilla/body_back.gif") repeat-x;
|
||||
}
|
||||
|
||||
/* Header */
|
||||
#header {
|
||||
background: #455372 url("../../../../img/theme/mozilla/header_bl.png") bottom left repeat-x;
|
||||
position: relative;
|
||||
min-height: 39px;
|
||||
height: 5em;
|
||||
padding: 0;
|
||||
voice-family: "\"}\"";
|
||||
voice-family: inherit;
|
||||
height: 3em;
|
||||
padding: 15px 0;
|
||||
} #ignored {}
|
||||
|
||||
#header h1 {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
margin: 0;
|
||||
font-size: 2px;
|
||||
background: url("../../../../img/theme/mozilla/header_tl.gif") no-repeat;
|
||||
height: 8px;
|
||||
z-index: 100; /* above the UL */
|
||||
}
|
||||
#header h1 a {
|
||||
display: block;
|
||||
width: 268px;
|
||||
height: 64px;
|
||||
background: transparent url("../../../../img/theme/mozilla/header_logo.gif") no-repeat;
|
||||
text-indent: -700em;
|
||||
text-decoration: none;
|
||||
}
|
||||
#header ul {
|
||||
width: auto;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
margin: 0;
|
||||
padding: 0 15px 0 0;
|
||||
list-style: none;
|
||||
background: url("../../../../img/theme/mozilla/header_br.gif") no-repeat bottom right;
|
||||
z-index: 90; /* below the H1 */
|
||||
}
|
||||
#header li {
|
||||
float: right;
|
||||
background: transparent url("../../../../img/theme/mozilla/header_tab.gif") 100% -600px no-repeat;
|
||||
padding: 0 6px 0 0;
|
||||
margin: 0 1px 0 0;
|
||||
border-bottom: 1px solid #515358;
|
||||
}
|
||||
#header ul a {
|
||||
float: left;
|
||||
display: block;
|
||||
padding: 4px 4px 4px 10px;
|
||||
background: transparent url("../../../../img/theme/mozilla/header_tab.gif") 0% -600px no-repeat;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
}
|
||||
#header ul li:hover a { background-position: 0% -400px; }
|
||||
#header ul li:hover { background-position: 100% -400px; }
|
||||
|
||||
body.sectionAbout li#menu_aboutus a,
|
||||
body.sectionProducts li#menu_products a,
|
||||
body.sectionSupport li#menu_support a,
|
||||
body.sectionDevelopers li#menu_developers a,
|
||||
body.sectionStore li#menu_store a {
|
||||
background-position: 0% -200px;
|
||||
color: #039;
|
||||
}
|
||||
|
||||
body.sectionAbout li#menu_aboutus,
|
||||
body.sectionProducts li#menu_products,
|
||||
body.sectionSupport li#menu_support,
|
||||
body.sectionDevelopers li#menu_developers,
|
||||
body.sectionStore li#menu_store {
|
||||
background-position: 100% -200px;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
|
||||
body.sectionAbout li#menu_aboutus:hover,
|
||||
body.sectionProducts li#menu_products:hover,
|
||||
body.sectionSupport li#menu_support:hover,
|
||||
body.sectionDevelopers li#menu_developers:hover,
|
||||
body.sectionStore li#menu_store:hover {
|
||||
background-position: 100% 0%;
|
||||
}
|
||||
|
||||
body.sectionAbout li#menu_aboutus:hover a,
|
||||
body.sectionProducts li#menu_products:hover a,
|
||||
body.sectionSupport li#menu_support:hover a,
|
||||
body.sectionDevelopers li#menu_developers:hover a,
|
||||
body.sectionStore li#menu_store:hover a {
|
||||
background-position: 0% 0%;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
/* Search Field */
|
||||
|
||||
#header form {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 12px 20px 0 0;
|
||||
background: url("../../../../img/theme/mozilla/header_tr.gif") no-repeat top right;
|
||||
margin: 0; /* need for IE Mac */
|
||||
text-align: right; /* need for IE Mac */
|
||||
white-space: nowrap; /* for Opera */
|
||||
}
|
||||
#header form label { color: #fff; font-size: 85%; }
|
||||
#header form input { font-size: 85%; }
|
||||
|
||||
#header form #submit {
|
||||
font-size: 85%;
|
||||
background: #6A7389;
|
||||
color: #fff;
|
||||
padding: 1px 4px;
|
||||
border-right: 1px solid #283043;
|
||||
border-bottom: 1px solid #283043;
|
||||
border-top: 1px solid #9097A2;
|
||||
border-left: 1px solid #9097A2;
|
||||
}
|
||||
|
||||
#header form #q {
|
||||
width: 170px;
|
||||
font-size: 85%;
|
||||
border: 1px solid #9097A2;
|
||||
background: #D9DBE1;
|
||||
padding: 2px;
|
||||
}
|
||||
#header form #q:hover, #header form #q:focus {
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
/* Sidebar */
|
||||
|
||||
#nav:before {
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
background: transparent url("../../../../img/theme/mozilla/menu_tr.gif") no-repeat top right;
|
||||
margin: 0;
|
||||
height: 9px;
|
||||
display: block;
|
||||
border-bottom: 1px solid #ddd;
|
||||
content: url("../../../../img/theme/mozilla/key-point_tl.gif");
|
||||
}
|
||||
#nav {
|
||||
background: #E0E9E9 url("../../../../img/theme/mozilla/menu_back.gif") right repeat-y;
|
||||
}
|
||||
#nav:after {
|
||||
display: block;
|
||||
padding-top: 0;
|
||||
line-height: 0.1;
|
||||
font-size: 1px;
|
||||
content: url("../../../../img/theme/mozilla/key-point_bl.gif");
|
||||
margin: 0 0 0 0;
|
||||
height: 8px;
|
||||
background: transparent url("../../../../img/theme/mozilla/menu_br.gif") scroll no-repeat bottom right ;
|
||||
border-top: 1px solid #fff;
|
||||
}
|
||||
|
||||
#nav, #nav ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
#nav {
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
#nav li {
|
||||
display: inline;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#nav li span { /* used for un-linked menu items */
|
||||
display: block;
|
||||
padding: 6px 10px;
|
||||
font-weight: bold;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#nav li span#configParent, #nav li span #configuration {
|
||||
display: inline;
|
||||
font-weight: normal;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
#nav li a {
|
||||
display: block;
|
||||
padding: 8px 10px;
|
||||
text-decoration: none;
|
||||
background: #EDF2F2;
|
||||
border-bottom: 1px solid #ddd;
|
||||
border-top: 1px solid #fff;
|
||||
border-right: 1px solid #ddd;
|
||||
}
|
||||
|
||||
#nav li a:hover {
|
||||
background: #E0E9E9;
|
||||
}
|
||||
|
||||
#nav li li span { /* used for un-linked menu items */
|
||||
padding: 4px 8px 4px 20px;
|
||||
}
|
||||
|
||||
#nav li li a {
|
||||
padding: 6px 8px 6px 20px;
|
||||
}
|
||||
|
||||
#oN {
|
||||
background-color: #E0E9E9;
|
||||
}
|
||||
#oN:hover {
|
||||
background-color: #C6DCDC;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
|
||||
#footer {
|
||||
border-top: 1px solid #999;
|
||||
margin: 2em 0;
|
||||
padding: 1em 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#footer ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
#footer li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
#footer a {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#footer p,#footer p a {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
#footer p a:hover {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
#footer p span {
|
||||
padding-right: 1em;
|
||||
}
|
84
tools/reporter/htdocs/styles/theme/mozilla/print.css
Normal file
84
tools/reporter/htdocs/styles/theme/mozilla/print.css
Normal file
@ -0,0 +1,84 @@
|
||||
/* mozilla.com print css
|
||||
by dave shea, http://www.mezzoblue.com/ */
|
||||
|
||||
/*html elements*/
|
||||
body {
|
||||
background: #fff;
|
||||
font: 12pt Verdana,Sans-serif;
|
||||
}
|
||||
|
||||
a img {
|
||||
border: 0;
|
||||
}
|
||||
form {
|
||||
margin: 0;
|
||||
display: inline;
|
||||
}
|
||||
label, input {
|
||||
font-weight: bold;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 0;
|
||||
}
|
||||
h1 {
|
||||
font-size: 120%;
|
||||
color: #955322;
|
||||
}
|
||||
h2 {
|
||||
font-size: 110%;
|
||||
color: #B26C38;
|
||||
}
|
||||
h2 a:visited {
|
||||
text-decoration: none;
|
||||
}
|
||||
h3 {
|
||||
color: #EC361D;
|
||||
font-size: 110%;
|
||||
}
|
||||
h4 {
|
||||
font-size: 110%;
|
||||
color: #666;
|
||||
}
|
||||
h5 {
|
||||
font-size: 100%;
|
||||
color: #955322;
|
||||
}
|
||||
h6 {
|
||||
color: #EC361D;
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
p, li, dt, dd {
|
||||
font-size: 92%;
|
||||
}
|
||||
p {
|
||||
line-height: 150%;
|
||||
}
|
||||
sup {
|
||||
font-size: 70%;
|
||||
}
|
||||
a:link, a:visited {
|
||||
color: #554FA0;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
dt.im {
|
||||
float: left;
|
||||
}
|
||||
|
||||
#mainContent a:link:after, #mainContent a:visited:after {
|
||||
content: " (" attr(href) ") ";
|
||||
font-size: 70%;
|
||||
color: #000;
|
||||
}
|
||||
#mainContent a[href^="/"]:after {
|
||||
content: " (http://www.mozilla.org" attr(href) ") ";
|
||||
}
|
||||
|
||||
#tools, #search, #ad, #bn, #int, .skipLink, #brd, ul#nav, .hide {
|
||||
display: none;
|
||||
}
|
||||
#header + hr {
|
||||
display: none;
|
||||
}
|
138
tools/reporter/htdocs/styles/theme/mozilla/reporter.css
Normal file
138
tools/reporter/htdocs/styles/theme/mozilla/reporter.css
Normal file
@ -0,0 +1,138 @@
|
||||
|
||||
/**************** Mozilla.org */
|
||||
body {
|
||||
margin: 0 30px 2em 30px;
|
||||
}
|
||||
#mozilla-org {
|
||||
position: relative;
|
||||
height: 25px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
#mozilla-org a {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
display: block;
|
||||
width: 110px;
|
||||
height: 25px;
|
||||
background: url("../../../../img/theme/mozilla/mozilla-org.gif") no-repeat;
|
||||
text-decoration: none;
|
||||
text-indent: -5000em;
|
||||
}
|
||||
|
||||
|
||||
/**************** Pagination Navigation */
|
||||
#reporter-content .navigation {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#reporter-content .navigation .currentPage {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/**************** Notices */
|
||||
#reporter-content .notice {
|
||||
border: 1px solid #FFFF00;
|
||||
background-color: #FFFFE8;
|
||||
padding: 6px;
|
||||
margin: 12px;
|
||||
}
|
||||
|
||||
#reporter-content .notice h3 {
|
||||
border-bottom: 0;
|
||||
margin: 0;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
#reporter-content .notice p {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
/**************** Help */
|
||||
#reporter-content #reporterSearch .label,
|
||||
#reporter-content #reporterSearch legend,
|
||||
#reporter-content #reporterSearch label {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
|
||||
}
|
||||
|
||||
#reporter-content #reporter_note {
|
||||
border: 1px solid #2E2ED5;
|
||||
background-color: #E8E8FA;
|
||||
padding: 7px;
|
||||
}
|
||||
|
||||
#reporter-content #reporter_note h3 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
|
||||
/**************** Table */
|
||||
#reporter-content #reporterQuery tr:hover {
|
||||
background-color: #FFFFEC;
|
||||
}
|
||||
#reporter-content #reporterQuery .header:hover {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
#reporter-content #reporterQuery .header {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#reporter-content #reporterQuery .header a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#reporter-content #reporterQuery td {
|
||||
border-bottom: 1px solid #eee;
|
||||
padding: 1px 0 1px 0;
|
||||
font-size: 0.9em;
|
||||
}
|
||||
|
||||
/**************** Report */
|
||||
#reporter-content #reporterReport .header{
|
||||
background-color: #eee;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
padding: 4px 0 4px 0;
|
||||
}
|
||||
|
||||
#reporter-content #reporterReport div {
|
||||
margin-bottom: 3px;
|
||||
}
|
||||
#reporter-content #reporterReport .title {
|
||||
float: left;
|
||||
width: 9em;
|
||||
padding: 0 .5em;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#reporter-content #reporterReport .data {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
|
||||
#reporter-content #login_form label{
|
||||
float: left;
|
||||
width: 9em;
|
||||
padding: 0 .5em;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#reporter-content #login_leftcol{
|
||||
float: left;
|
||||
width: 45%;
|
||||
padding: 2px 9px 5px 9px;
|
||||
|
||||
}
|
||||
|
||||
#reporter-content #login_rightcol {
|
||||
float: right;
|
||||
width: 45%;
|
||||
padding: 2px 9px 5px 9px;
|
||||
}
|
@ -1,51 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
|
||||
if (!isset($_GET['plain'])) {
|
||||
// URL for page formatted version
|
||||
header("Location: ".$config['privacy_policy_web']);
|
||||
exit;
|
||||
} else {
|
||||
// Plain version for inline use
|
||||
header("Location: ".$config['privacy_policy_inline']);
|
||||
exit;
|
||||
}
|
||||
?>
|
@ -1,283 +0,0 @@
|
||||
<?php
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
* http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Mozilla Reporter (r.m.o).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Robert Accettura <robert@accettura.com>.
|
||||
*
|
||||
* Portions created by the Initial Developer are Copyright (C) 2004
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* 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_once('../config.inc.php');
|
||||
require_once($config['base_path'].'/includes/iolib.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/adodb/adodb.inc.php');
|
||||
require_once($config['base_path'].'/includes/contrib/nusoap/lib/nusoap.php');
|
||||
|
||||
// Create the server instance
|
||||
$server = new soap_server;
|
||||
|
||||
// Register the method to expose
|
||||
// Note: with NuSOAP 0.6.3, only method name is used w/o WSDL
|
||||
$server->register(
|
||||
'register', // method name
|
||||
array('language' => 'xsd:string',), // input parameters
|
||||
array('return' => 'xsd:string'), // output parameters
|
||||
'uri:MozillaReporter', // namespace
|
||||
'uri:MozillaReporter/register', // SOAPAction
|
||||
'rpc', // style
|
||||
'encoded' // use
|
||||
);
|
||||
|
||||
$server->register(
|
||||
'submitReport', // method name
|
||||
array('rmoVers' => 'xsd:string',
|
||||
'url' => 'xsd:string',
|
||||
'problem_type' => 'xsd:string',
|
||||
'description' => 'xsd:string',
|
||||
'behind_login' => 'xsd:string',
|
||||
'platform' => 'xsd:string',
|
||||
'oscpu' => 'xsd:string',
|
||||
'gecko' => 'xsd:string',
|
||||
'product' => 'xsd:string',
|
||||
'useragent' => 'xsd:string',
|
||||
'buildconfig' => 'xsd:string',
|
||||
'language' => 'xsd:string',
|
||||
'email' => 'xsd:string',
|
||||
'sysid' => 'xsd:string'), // input parameters
|
||||
array('return' => 'xsd:string'), // output parameters
|
||||
'uri:MozillaReporter', // namespace
|
||||
'uri:MozillaReporter/submitReport', // SOAPAction
|
||||
'rpc', // style
|
||||
'encoded' // use
|
||||
);
|
||||
function submitReport($rmoVers, $url, $problem_type, $description, $behind_login, $platform, $oscpu, $gecko, $product, $useragent, $buildconfig, $language, $email, $sysid) {
|
||||
global $config;
|
||||
|
||||
// Remove any HTML tags and whitespace
|
||||
$rmoVers = trim(strip_all_tags($rmoVers));
|
||||
$url = trim(strip_all_tags($url));
|
||||
$problem_type = trim(strip_all_tags($problem_type));
|
||||
$description = trim(strip_all_tags($description));
|
||||
$behind_login = trim(strip_all_tags($behind_login));
|
||||
$platform = trim(strip_all_tags($platform));
|
||||
$oscpu = trim(strip_all_tags($oscpu));
|
||||
$gecko = trim(strip_all_tags($gecko));
|
||||
$product = trim(strip_all_tags($product));
|
||||
$useragent = trim(strip_all_tags($useragent));
|
||||
$buildconfig = trim(strip_all_tags($buildconfig));
|
||||
$language = trim(strip_all_tags($language));
|
||||
$email = trim(strip_all_tags($email));
|
||||
$sysid = trim(strip_all_tags($sysid));
|
||||
|
||||
// check verison
|
||||
if ($rmoVers < $config['min_vers']){
|
||||
return new soap_fault('Client', '', 'Your product is out of date, please upgrade. See http://reporter-test.mozilla.org/install for details.', $rmoVers);
|
||||
}
|
||||
|
||||
$parsedURL = parse_url($url);
|
||||
if (!$url || !$parsedURL['host']){
|
||||
return new soap_fault('Client', '', 'url must use a valid URL syntax http://domain.tld/foo', $url);
|
||||
}
|
||||
if (!$problem_type || $problem_type == -1 || $problem_type == "0") {
|
||||
}
|
||||
if ($behind_login != 1 && $behind_login != 0) {
|
||||
return new soap_fault('Client', '', 'behind_login must be type bool int', $behind_login);
|
||||
}
|
||||
if (!$platform) {
|
||||
return new soap_fault('Client', '', 'Invalid Platform Type', $platform);
|
||||
}
|
||||
if (!$product) {
|
||||
return new soap_fault('Client', '', 'Invalid Product', $product);
|
||||
}
|
||||
if (!$language) {
|
||||
return new soap_fault('Client', '', 'Invalid Localization', $language);
|
||||
}
|
||||
/* not used until we have a way to gather this info
|
||||
if (!$gecko) {
|
||||
return new soap_fault('Client', '', 'Invalid Gecko ID', $gecko);
|
||||
}*/
|
||||
if (!$oscpu) {
|
||||
return new soap_fault('Client', '', 'Invalid OS CPU', $oscpu);
|
||||
}
|
||||
if (!$useragent) {
|
||||
return new soap_fault('Client', '', 'Invalid Useragent', $useragent);
|
||||
}
|
||||
if (!$buildconfig) {
|
||||
return new soap_fault('Client', '', 'Invalid Build Config', $buildconfig);
|
||||
}
|
||||
|
||||
if (!$sysid) {
|
||||
return new soap_fault('Client', '', 'No SysID Entered', $sysid);
|
||||
}
|
||||
/* we don't require email... it's optional
|
||||
if (!$email) {
|
||||
return new soap_fault('Client', '', 'Invalid Email', $email);
|
||||
}*/
|
||||
|
||||
// create report_id. We just MD5 it, becase we don't need people counting reports, since it's inaccurate.
|
||||
// we can have dup's, so it's not a good thing for people to be saying 'mozilla.org reports 500,000 incompatable sites'
|
||||
$report_id = 'RMO'.str_replace(".", "", array_sum(explode(' ', microtime())));
|
||||
|
||||
// Open DB
|
||||
$db = NewADOConnection($config['db_dsn']);
|
||||
if (!$db) die("Connection failed");
|
||||
$db->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
|
||||
$sysIDQuery = $db->Execute("SELECT `sysid_id` FROM `sysid` WHERE `sysid_id` = ".$db->quote($sysid));
|
||||
$sysidCount = $sysIDQuery->RecordCount();
|
||||
if ($sysidCount != 1){
|
||||
return new soap_fault('Client', '', 'Invalid SysID', $sysid);
|
||||
}
|
||||
|
||||
$queryURL = $db->Execute("SELECT `host_id` FROM `host` WHERE `host_hostname` = ".$db->quote($parsedURL['host']));
|
||||
$resultURL = $queryURL->RecordCount();
|
||||
if ($resultURL <= 0) {
|
||||
// generate hash
|
||||
$host_id = md5($parsedURL['host'].microtime());
|
||||
// We add the URL
|
||||
$addURL = $db->Execute("INSERT INTO `host` (`host_id`, `host_hostname`, `host_date_added`)
|
||||
VALUES (
|
||||
".$db->quote($host_id).",
|
||||
".$db->quote($parsedURL['host']).",
|
||||
now()
|
||||
)
|
||||
");
|
||||
if (!$addURL) {
|
||||
return new soap_fault('SERVER', '', 'Database Error');
|
||||
}
|
||||
}
|
||||
else if ($resultURL == 1) {
|
||||
// pull the hash from DB
|
||||
$host_id = $queryURL->fields['host_id'];
|
||||
} else{
|
||||
return new soap_fault('SERVER', '', 'Host Exception Error');
|
||||
}
|
||||
$addReport = $db->Execute("INSERT INTO `report` (
|
||||
`report_id`,
|
||||
`report_url`,
|
||||
`report_host_id`,
|
||||
`report_problem_type`,
|
||||
`report_description`,
|
||||
`report_behind_login`,
|
||||
`report_useragent`,
|
||||
`report_platform`,
|
||||
`report_oscpu`,
|
||||
`report_language`,
|
||||
`report_gecko`,
|
||||
`report_buildconfig`,
|
||||
`report_product`,
|
||||
`report_email`,
|
||||
`report_ip`,
|
||||
`report_file_date`,
|
||||
`report_sysid`
|
||||
)
|
||||
VALUES (
|
||||
".$db->quote($report_id).",
|
||||
".$db->quote($url).",
|
||||
".$db->quote($host_id).",
|
||||
".$db->quote($problem_type).",
|
||||
".$db->quote($description).",
|
||||
".$db->quote($behind_login).",
|
||||
".$db->quote($useragent).",
|
||||
".$db->quote($platform).",
|
||||
".$db->quote($oscpu).",
|
||||
".$db->quote($language).",
|
||||
".$db->quote($gecko).",
|
||||
".$db->quote($buildconfig).",
|
||||
".$db->quote($product).",
|
||||
".$db->quote($email).",
|
||||
".$db->quote($_SERVER['REMOTE_ADDR']).",
|
||||
now(),
|
||||
".$db->quote($sysid)."
|
||||
)
|
||||
");
|
||||
|
||||
if (!$addReport) {
|
||||
return new soap_fault('SERVER', '', 'Database Error');
|
||||
} else {
|
||||
return $report_id;
|
||||
}
|
||||
}
|
||||
|
||||
function register($language){
|
||||
global $config;
|
||||
|
||||
// Open DB
|
||||
$db = NewADOConnection($config['db_dsn']);
|
||||
if (!$db) die("Connection failed");
|
||||
$db->SetFetchMode(ADODB_FETCH_ASSOC);
|
||||
|
||||
// generate an ID
|
||||
$unique = false;
|
||||
|
||||
// in theory a collision could happen, though unlikely. So just to make sure, we do this
|
||||
// since that would really suck
|
||||
while (!$unique) {
|
||||
$id = date("ymd").rand(1000,9999);
|
||||
|
||||
$query =& $db->Execute("SELECT sysid.sysid_id
|
||||
FROM sysid
|
||||
WHERE sysid.sysid_id = '$newid'
|
||||
");
|
||||
$numRows = $query->RecordCount();
|
||||
if ($numRows == 0) {
|
||||
// It's unique, stop the loop.
|
||||
$unique = true;
|
||||
}
|
||||
}
|
||||
|
||||
$addsysid = $db->Execute("INSERT INTO `sysid` (
|
||||
`sysid_id`,
|
||||
`sysid_created`,
|
||||
`sysid_created_ip`,
|
||||
`sysid_language`
|
||||
)
|
||||
VALUES (
|
||||
'".$id."',
|
||||
now(),
|
||||
'".$_SERVER['REMOTE_ADDR']."',
|
||||
".$db->quote($language)."
|
||||
)
|
||||
");
|
||||
// Disconnect Database
|
||||
$db->disconnect();
|
||||
|
||||
if (!$addsysid) {
|
||||
return new soap_fault('SERVER', '', 'Database Error');
|
||||
} else {
|
||||
return $id;
|
||||
}
|
||||
}
|
||||
|
||||
// Use the request to (try to) invoke the service
|
||||
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
|
||||
$server->service($HTTP_RAW_POST_DATA);
|
||||
?>
|
138
tools/reporter/templates/mozilla/index.tpl
Normal file
138
tools/reporter/templates/mozilla/index.tpl
Normal file
@ -0,0 +1,138 @@
|
||||
<fieldset>
|
||||
<legend>Look up Report</legend>
|
||||
<form method="get" action ="{$app_url}/report/" id="getReport">
|
||||
<p>
|
||||
<label for="report_id">Report ID</label>
|
||||
<input type="text" id="report_id" name="report_id" />
|
||||
<input type="submit" id="submit_reportID" name="submit_reportID" value="Lookup Report" />
|
||||
</p>
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<!-- Query -->
|
||||
<fieldset>
|
||||
<legend>Search for a Report</legend>
|
||||
<form method="get" action="{$app_url}/query/" id="detailQuery">
|
||||
<table id="reporterSearch">
|
||||
<tr>
|
||||
<td class="label"><label for="report_description">Description:</label></td>
|
||||
<td><input id="report_description" name="report_description" type="text" size="35" value="{$report_description}"></td>
|
||||
<td rowspan="5">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="label"><label for="report_useragent">User Agent:</label></td>
|
||||
<td><input id="report_useragent" name="report_useragent" type="text" size="35" value="{$report_useragent}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="report_gecko">Gecko Version:</label></td>
|
||||
<td><input id="report_gecko" name="report_gecko" type="text" value="{$report_gecko}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="report_language">Language (ex. en-US):</label></td>
|
||||
<td><input id="report_language" name="report_language" type="text" value="{$report_language}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Platform:</td>
|
||||
<td>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="report_platform" id="AllPlatforms" value=""><label for="AllPlatforms">All</label><br>
|
||||
<input type="radio" name="report_platform" id="Win32" value="Win32"><label for="Win32">Windows (32)</label><br>
|
||||
<input type="radio" name="report_platform" id="Windows" value="Windows"><label for="Windows">Windows (64 Bit)</label><br>
|
||||
<input type="radio" name="report_platform" id="MacPPC" value="MacPPC"><label for="MacPPC">MacOS X</label><br>
|
||||
<input type="radio" name="report_platform" id="X11" value="X11"><label for="X11">X11</label><br>
|
||||
</td><td>
|
||||
<input type="radio" name="report_platform" id="OS2" value="OS/2"><label for="OS2">OS/2</label><br>
|
||||
<input type="radio" name="report_platform" id="Photon" value="Photon"><label for="Photon">Photon</label><br>
|
||||
<input type="radio" name="report_platform" id="BeOS" value="BeOS"><label for="BeOS">BeOS</label><br>
|
||||
<input type="radio" name="report_platform" id="unknown" value="?"><label for="unknown">unknown</label><br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="report_oscpu" title="oscpu">OS:</label></td>
|
||||
<td><input id="report_oscpu" name="report_oscpu" type="text" size="35" value="{$report_oscpu}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="report_product">Product:</label></td>
|
||||
<td>
|
||||
<select name="report_product" id="report_product">
|
||||
<option value="-1">Any</option>
|
||||
{html_options values=$product_options output=$product_options selected=$report_product}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="report_file_date_start">File Date starts:</label></td>
|
||||
<td><input id="report_file_date_start" name="report_file_date_start" value="{if $report_file_date_start != null}{$report_file_date_start}{else}YYYY-MM-DD{/if}" {literal}onfocus="if(this.value=='YYYY-MM-DD'){this.value=''}"{/literal} type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="report_file_date_end">ends:</label></td>
|
||||
<td><input id="report_file_date_end" name="report_file_date_end" value="{if $report_file_date_end != null}{$report_file_date_end}{else}YYYY-MM-DD{/if}" {literal}onfocus="if(this.value=='YYYY-MM-DD'){this.value=''}"{/literal} type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="show">Results Per Page:</label></td>
|
||||
<td><input id="show" name="show" value="{if $show != null}{$show}{else}25{/if}" type="text"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="count">Get Aggregate:</label></td>
|
||||
<td><input type="checkbox" id="count" name="count"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="host_hostname">Host:</label></td>
|
||||
<td><input id="host_hostname" name="host_hostname" type="text" size="35" value="{$host_hostname}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Problem Type:</td>
|
||||
<td>
|
||||
<input type="radio" name="report_problem_type" id="problem_type_all" value="0" {if $report_problem_type == '0' || $report_problem_type == null}checked="checked"{/if}><label for="problem_type_all">All types</label><br>
|
||||
{html_radios name="report_problem_type" options=$problem_types selected=$report_problem_type separator="<br />"}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label">Site requires login:</td>
|
||||
<td>
|
||||
<input type="radio" name="report_behind_login" id="behind_login_null" value="-1" {if $report_behind_login == '-1' || $report_behind_login == ''}checked="checked"{/if}><label for="behind_login_null">Any</label>
|
||||
<input type="radio" name="report_behind_login" id="behind_login_yes" value="0" {if $report_behind_login == '0'}checked="checked"{/if}><label for="behind_login_yes">Yes</label>
|
||||
<input type="radio" name="report_behind_login" id="behind_login_no" value="1" {if $report_behind_login == '1'}checked="checked"{/if}><label for="behind_login_no">No</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="label"><label for="selected">View:</label></td>
|
||||
<td>
|
||||
<select name="selected[]" id="selected" multiple="multiple" size="5">
|
||||
{html_options options=$selected_options selected=$selected}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td colspan="2">
|
||||
<input id="submit_query" name="submit_query" value="Search" type="submit">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</fieldset>
|
||||
{*
|
||||
<div id="login">
|
||||
<?php if ($userlib->isLoggedIn()){ ?>
|
||||
Welcome <?php print $_SESSION['user_realname']; ?> | <a href="logout">Logout</a>
|
||||
<?php } else { ?>
|
||||
You are not <a href="login">logged in</a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
*}
|
||||
<br /><br />
|
||||
<div id="reporter_note">
|
||||
<h3>Wildcards</h3>
|
||||
<p><em>Description</em>, <em>Hostname</em>, <em>Useragent</em> support wildcards.</p>
|
||||
<p><code>%</code> will search for 0+ characters, <code>_</code> (underscore) is for a single character.</p>
|
||||
</div>
|
||||
|
90
tools/reporter/templates/mozilla/layout.tpl
Normal file
90
tools/reporter/templates/mozilla/layout.tpl
Normal file
@ -0,0 +1,90 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
||||
<link rel="top" title="Home" href="http://www.mozilla.org/">
|
||||
<link rel="stylesheet" type="text/css" href="{$base_url}/styles/theme/mozilla/print.css" media="print">
|
||||
<link rel="stylesheet" type="text/css" href="{$base_url}/styles/theme/mozilla/base/content.css" media="all">
|
||||
<link rel="stylesheet" type="text/css" href="{$base_url}/styles/theme/mozilla/cavendish/content.css" title="Cavendish" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="{$base_url}/styles/theme/mozilla/base/template.css" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="{$base_url}/styles/theme/mozilla/cavendish/template.css" title="Cavendish" media="screen">
|
||||
<link rel="stylesheet" type="text/css" href="{$base_url}/styles/theme/mozilla/reporter.css" title="Cavendish" media="screen">
|
||||
|
||||
<link rel="icon" href="http://www.mozilla.org/images/mozilla-16.png" type="image/png">
|
||||
|
||||
<title>{$title}</title>
|
||||
|
||||
<meta name="robots" content="all">
|
||||
<meta name="author" content="Robert Accettura http://robert.accettura.com/ design by http://www.mezzoblue.com/">
|
||||
<meta name="keywords" content="mozilla, reporter, broken website">
|
||||
|
||||
<link rel="author" href="http://robert.accettura.com/">
|
||||
<link rel="designer" href="http://www.mezzoblue.com/">
|
||||
|
||||
</head>
|
||||
<body id="www-mozilla-org" class="secondLevel reporter">
|
||||
<div id="content">
|
||||
<p class="skipLink"><a href="#mainContent" accesskey="2">Skip to main content</a></p>
|
||||
<div id="mozilla-org"><a href="http://mozilla.org/">Visit mozilla.org</a></div>
|
||||
|
||||
<div id="header">
|
||||
<h1><a href="{$base_url}/app" title="Return to home page" accesskey="1">Mozilla</a></h1>
|
||||
|
||||
<ul>
|
||||
<li id="login">{strip}
|
||||
{if $is_admin == true}
|
||||
<a href="{$base_url}/app/logout" title="Admin Logout">Logout</a>
|
||||
{else}
|
||||
<a href="{$base_url}/app/login" title="Admin Login">Login</a>
|
||||
{/if}
|
||||
{/strip}</li>
|
||||
<li id="stats"><a href="{$base_url}/app/stats/" title="View Statistics">Stats</a></li>
|
||||
<li id="top_25"><a href="{$base_url}/app/query/?show=25&count=on&submit_query=Search" title="Top 25 Hosts">Top 25</a></li>
|
||||
<li id="query"><a href="{$base_url}/app" title="Create a new Query">Query</a></li>
|
||||
</ul>
|
||||
<form id="search" method="get" action="http://www.google.com/custom" title="mozilla.org Search">
|
||||
<div>
|
||||
<label for="q" title="Search mozilla.org's sites">search mozilla:</label>
|
||||
<input type="hidden" name="cof" value="LW:174;LH:60;L:http://www.mozilla.org/images/mlogosm.gif;GIMP:#cc0000;T:black;ALC:#0000ff;GFNT:grey;LC:#990000;BGC:white;AH:center;VLC:purple;GL:0;GALT:#666633;AWFID:9262c37cefe23a86;">
|
||||
|
||||
<input type="hidden" name="domains" value="mozilla.org">
|
||||
<input type="hidden" name="sitesearch" value="mozilla.org">
|
||||
<input type="text" id="q" name="q" accesskey="s" size="30">
|
||||
<input type="submit" id="submit" value="Go">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<hr class="hide">
|
||||
<div id="mBody">
|
||||
<hr class="hide">
|
||||
<div>
|
||||
|
||||
<h1>Mozilla Reporter</h1>
|
||||
|
||||
<!--
|
||||
reporter.mozilla.org by:
|
||||
Robert Accettura <http://robert.accettura.com>
|
||||
-->
|
||||
<div id="reporter-content">
|
||||
{$content}
|
||||
</div>
|
||||
|
||||
<hr class="hide">
|
||||
</div>
|
||||
</div>
|
||||
<div id="footer">
|
||||
<ul>
|
||||
<li><a href="../sitemap.html">Site Map</a></li>
|
||||
<li><a href="../security/">Security Updates</a></li>
|
||||
<li><a href="../contact/">Contact Us</a></li>
|
||||
<li><a href="../foundation/donate.html">Donate</a></li>
|
||||
</ul>
|
||||
|
||||
<p class="copyright">
|
||||
Portions of this content are © 1998–2006 by individual mozilla.org
|
||||
contributors; content available under a Creative Commons license | <a
|
||||
href="http://www.mozilla.org/foundation/licensing/website-content.html">Details</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
26
tools/reporter/templates/mozilla/login.tpl
Normal file
26
tools/reporter/templates/mozilla/login.tpl
Normal file
@ -0,0 +1,26 @@
|
||||
<div id="login_leftcol">
|
||||
<form method="post" action="{$base_url}/app/login/" id="login_form">
|
||||
<fieldset>
|
||||
<legend>Login</legend>
|
||||
{if $error != ''}
|
||||
<p>{$error}</p>
|
||||
{/if}
|
||||
<div>
|
||||
<label for="username">Username:</label>
|
||||
<input type="text" name="username" id="username" />
|
||||
</div>
|
||||
<div>
|
||||
<label for="password">Password:</label>
|
||||
<input type="password" name="password" id="password" />
|
||||
</div>
|
||||
<div>
|
||||
<input type="submit" name="do_login" id="do_login" value="Login" />
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
<div id="login_rightcol">
|
||||
<p>If you need access to this system, contact <a href="http://robert.accettura.com/contact">Robert Accettura</a>.</p>
|
||||
<p>Login Access is only given in special circumstances.</p>
|
||||
</div>
|
||||
<br style="clear: both;" />
|
79
tools/reporter/templates/mozilla/query.tpl
Normal file
79
tools/reporter/templates/mozilla/query.tpl
Normal file
@ -0,0 +1,79 @@
|
||||
{if $error != ''}
|
||||
<div class="error">
|
||||
<h3>Error</h3>
|
||||
<p>{$error}. <a href="javascript:history.go(-1);">Back</a></p>
|
||||
</div>
|
||||
{else}
|
||||
{if $notice != ''}
|
||||
<div class="notice">
|
||||
<h3>Notice:</h3>
|
||||
<p>{$notice}</p>
|
||||
</div>
|
||||
{/if}
|
||||
<table id="reporterQuery" class="fixedTable" cellspacing="0" cellpadding="0" style="width:100%">
|
||||
<tr class="header">
|
||||
{section name=mysec loop=$column}
|
||||
<th>{if $column[mysec].url != null}<a href="{$column[mysec].url}">{/if}{$column[mysec].text}{if $column[mysec].url != null}</a>{/if}</th>
|
||||
{/section}
|
||||
</tr>
|
||||
{if $method == 'html'}
|
||||
{section name=mysec2 loop=$row}
|
||||
<tr class="data{cycle values=', alt'}">
|
||||
{section name=col loop=$row[mysec2]}
|
||||
<td>
|
||||
{strip}
|
||||
{if $row[mysec2][col].url != null}
|
||||
<a href="{$base_url}/app{$row[mysec2][col].url}">
|
||||
{/if}
|
||||
{if $row[mysec2][col].col == 'report_url'}
|
||||
{$row[mysec2][col].text|truncate:50}
|
||||
{else}
|
||||
{$row[mysec2][col].text|truncate:100}
|
||||
{/if}
|
||||
{if $row[mysec2][col].url != null}
|
||||
</a>
|
||||
{/if}
|
||||
{/strip}
|
||||
</td>
|
||||
{/section}
|
||||
</tr>
|
||||
{/section}
|
||||
{/if}
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
{if $method == 'html'}
|
||||
{if $count > $show}
|
||||
<div class="navigation">
|
||||
{strip}
|
||||
{if $page > 1}
|
||||
<a href="?{$continuity_params}&page={$page-1}"><</a>
|
||||
{/if}
|
||||
{/strip}
|
||||
{section name=pageLoop start=$start loop=$start+$amt step=$step}
|
||||
{strip} <a href="{$base_url}/app/query/?{$continuity_params}&page={$smarty.section.pageLoop.index}"
|
||||
{if $smarty.section.pageLoop.index == $page}class="currentPage"{/if}
|
||||
>{$smarty.section.pageLoop.index}</a>
|
||||
{/strip}
|
||||
{/section}
|
||||
{strip}
|
||||
{if $page < $pages}
|
||||
<a href="{$base_url}/app/query/?{$continuity_params}&page={$page+1}">></a>
|
||||
{/if}
|
||||
{/strip}
|
||||
<!-- <hr /> -->
|
||||
{*
|
||||
<pre>
|
||||
Count: {$count}
|
||||
Page: {$page}
|
||||
Show: {$show}
|
||||
Start: {$start}
|
||||
Max: {$max}
|
||||
TotPage: {$pages}
|
||||
</pre>
|
||||
*}
|
||||
<!-- <br /> -->
|
||||
<p><small>Your query returned {$count} reports</small></p>
|
||||
</div>
|
||||
{/if}
|
||||
{/if}
|
127
tools/reporter/templates/mozilla/report.tpl
Normal file
127
tools/reporter/templates/mozilla/report.tpl
Normal file
@ -0,0 +1,127 @@
|
||||
{if $error != ''}
|
||||
<div class="error">
|
||||
<h3>Error</h3>
|
||||
<p>{$error}. <a href="javascript:history.go(-1);">Back</a></p>
|
||||
</div>
|
||||
{else}
|
||||
<div id="reporterReport">
|
||||
<div class="header">Report RMO11301752363661</div>
|
||||
<div>
|
||||
<div class="title">URL:</div>
|
||||
<div class="data"><a href="{$report_url}" rel="nofollow external" title="Visit Page">{$report_url|truncate:60}</a></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Host:</div>
|
||||
<div class="data"><a href="{$host_url}" title="see all reports for {$host_hostname}">Reports for {$host_hostname}</a></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Problem Type:</div>
|
||||
<div class="data">{$report_problem_type}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Behind Login:</div>
|
||||
<div class="data">{$report_behind_login}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Product:</div>
|
||||
<div class="data">{$report_product}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Gecko Version:</div>
|
||||
<div class="data">{$report_gecko}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Platform:</div>
|
||||
<div class="data">{$report_platform}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">OS/CPU:</div>
|
||||
<div class="data">{$report_oscpu}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Language:</div>
|
||||
<div class="data">{$report_language}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">User Agent:</div>
|
||||
<div class="data">{$report_useragent}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Build Config:</div>
|
||||
<div class="data">{$report_buildconfig}</div>
|
||||
</div>
|
||||
{if $is_admin == true}
|
||||
<div>
|
||||
<div class="title">Email:</div>
|
||||
<div class="data">{$report_email} {*this space at the end fixes some formatting issues with no text in this optional field *}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">IP Address:</div>
|
||||
<div class="data"><a href="http://ws.arin.net/cgi-bin/whois.pl?queryinput={$report_ip}" rel="external" target="_blank" title="Lookup IP: {$report_ip}">{$report_ip}</a> {*this space at the end fixes some formatting issues with no text in this optional field *}</div>
|
||||
</div>
|
||||
{/if}
|
||||
<div>
|
||||
<div class="title">Description:</div>
|
||||
<div class="data">{$report_description} {*this space at the end fixes some formatting issues with no text in this optional field *}</div>
|
||||
</div>
|
||||
<div id="reportNavigation">
|
||||
<p>
|
||||
{if $showReportNavigation == true}
|
||||
<strong>Report List ({$index+1} of {$total}):</strong>
|
||||
{strip}
|
||||
{if $first_report != 'disable'}
|
||||
<a href="{$base_url}/app/report/?report_id={$first_report}&{$continuity_params}" accesskey="f" title="First Report in List (Access Key 'F')">
|
||||
{/if}
|
||||
First
|
||||
{if $first_report != 'disable'}
|
||||
</a>
|
||||
{/if}
|
||||
{/strip}
|
||||
|
||||
|
|
||||
|
||||
{strip}
|
||||
{if $previous_report != 'disable'}
|
||||
<a href="{$base_url}/app/report/?report_id={$previous_report}&{$continuity_params}" accesskey="p" title="Previous Report in List (Access Key 'p')">
|
||||
{/if}
|
||||
Previous
|
||||
{if $previous_report != 'disable'}
|
||||
</a>
|
||||
{/if}
|
||||
{/strip}
|
||||
|
||||
|
|
||||
|
||||
{strip}
|
||||
{if $next_report != 'disable'}
|
||||
<a href="{$base_url}/app/report/?report_id={$next_report}&{$continuity_params}" accesskey="n" title="Next Report in List (Access Key 'N')">
|
||||
{/if}
|
||||
Next
|
||||
{if $next_report != 'disable'}
|
||||
</a>
|
||||
{/if}
|
||||
{/strip}
|
||||
|
||||
|
|
||||
|
||||
{strip}
|
||||
{if $last_report != 'disable'}
|
||||
<a href="{$base_url}/app/report/?report_id={$last_report}&{$continuity_params}" accesskey="l" title="Last Report in List (Access Key 'L')">
|
||||
{/if}
|
||||
Last
|
||||
{if $last_report != 'disable'}
|
||||
</a>
|
||||
{/if}
|
||||
{/strip}
|
||||
{/if}
|
||||
|
||||
|
|
||||
<a href="{$base_url}/app/query/?{$continuity_params}" accesskey="b" title="Back to the Query List (Access Key 'B')">Back To List</a>
|
||||
|
||||
|
|
||||
<a href="{$base_url}/app/" accesskey="q" title="New Search (Access Key 'Q')">New Search</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
{/if}
|
||||
|
29
tools/reporter/templates/mozilla/rss.tpl
Normal file
29
tools/reporter/templates/mozilla/rss.tpl
Normal file
@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- generator="Mozilla Reporter" -->
|
||||
<rss version="2.0"
|
||||
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
||||
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
>
|
||||
|
||||
<channel>
|
||||
<title>{$title}</title>
|
||||
<link>{$url}</link>
|
||||
<description>{description}</description>
|
||||
<pubDate>Mon, 16 Jan 2006 15:59:06 +0000</pubDate>
|
||||
<generator>Mozilla Reporter</generator>
|
||||
|
||||
<language>en</language>
|
||||
|
||||
{section name=mysec2 loop=$row}
|
||||
<item>
|
||||
<title>{$row[mysec2][report_id]}</title>
|
||||
<link>{$row[mysec2][report_url]}/</link>
|
||||
<pubDate>{$row[mysec2][report_file_date]}</pubDate>
|
||||
<category>{$row[mysec2][report_type]}</category>
|
||||
<guid isPermaLink="false">{$row[mysec2][report_url]}</guid>
|
||||
<description><![CDATA[{$row[mysec2][report_description]}]]></content:encoded>
|
||||
</item>
|
||||
{/section}
|
||||
</channel>
|
||||
</rss>
|
28
tools/reporter/templates/mozilla/stats.tpl
Normal file
28
tools/reporter/templates/mozilla/stats.tpl
Normal file
@ -0,0 +1,28 @@
|
||||
<div id="reporterReport">
|
||||
<div class="header">Statistics</div>
|
||||
<div>
|
||||
<div class="title">Unique Users:</div>
|
||||
<div class="data">{$users_quant}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Total Reports:</div>
|
||||
<div class="data">{$reports_quant}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Reports/User:</div>
|
||||
<div class="data">{$avgRepPerUsr}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Hostnames:</div>
|
||||
<div class="data">{$hosts_quant}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Reports (24hr):</div>
|
||||
<div class="data">{$reports24}</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title">Reports (7d):</div>
|
||||
<div class="data">{$last7days}</div>
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
Loading…
Reference in New Issue
Block a user