зеркало из https://github.com/mozilla/pjs.git
Initial import for the firefox survey project
This commit is contained in:
Родитель
7408fe7b69
Коммит
3141907e1b
|
@ -0,0 +1,5 @@
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteRule ^$ webroot/ [L]
|
||||||
|
RewriteRule (.*) webroot/$1 [L]
|
||||||
|
</IfModule>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: app_controller.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Short description for file.
|
||||||
|
*
|
||||||
|
* This file is application-wide controller file. You can put all
|
||||||
|
* application-wide controller-related methods here.
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.cake
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Short description for class.
|
||||||
|
*
|
||||||
|
* Add your application-wide methods in the class below, your controllers
|
||||||
|
* will inherit them.
|
||||||
|
*
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.cake
|
||||||
|
*/
|
||||||
|
|
||||||
|
class AppController extends Controller {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,46 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: app_model.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Application model for Cake.
|
||||||
|
*
|
||||||
|
* This file is application-wide model file. You can put all
|
||||||
|
* application-wide model-related methods here.
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.cake
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Application model for Cake.
|
||||||
|
*
|
||||||
|
* Add your application-wide methods in the class below, your models
|
||||||
|
* will inherit them.
|
||||||
|
*
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.cake
|
||||||
|
*/
|
||||||
|
|
||||||
|
class AppModel extends Model {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,76 @@
|
||||||
|
;<?php die() ?>
|
||||||
|
; SVN FILE: $Id: acl.ini.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $
|
||||||
|
;/**
|
||||||
|
; * Short description for file.
|
||||||
|
; *
|
||||||
|
; *
|
||||||
|
; * PHP versions 4 and 5
|
||||||
|
; *
|
||||||
|
; * CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
; * Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
; * 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
; * Las Vegas, Nevada 89104
|
||||||
|
; *
|
||||||
|
; * Licensed under The MIT License
|
||||||
|
; * Redistributions of files must retain the above copyright notice.
|
||||||
|
; *
|
||||||
|
; * @filesource
|
||||||
|
; * @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
; * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
; * @package cake
|
||||||
|
; * @subpackage cake.app.config
|
||||||
|
; * @since CakePHP v 0.10.0.1076
|
||||||
|
; * @version $Revision: 1.1 $
|
||||||
|
; * @modifiedby $LastChangedBy: phpnut $
|
||||||
|
; * @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
; * @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
; */
|
||||||
|
|
||||||
|
; acl.ini.php - Cake ACL Configuration
|
||||||
|
; ---------------------------------------------------------------------
|
||||||
|
; Use this file to specify user permissions.
|
||||||
|
; aco = access control object (something in your application)
|
||||||
|
; aro = access request object (something requesting access)
|
||||||
|
;
|
||||||
|
; User records are added as follows:
|
||||||
|
;
|
||||||
|
; [uid]
|
||||||
|
; groups = group1, group2, group3
|
||||||
|
; allow = aco1, aco2, aco3
|
||||||
|
; deny = aco4, aco5, aco6
|
||||||
|
;
|
||||||
|
; Group records are added in a similar manner:
|
||||||
|
;
|
||||||
|
; [gid]
|
||||||
|
; allow = aco1, aco2, aco3
|
||||||
|
; deny = aco4, aco5, aco6
|
||||||
|
;
|
||||||
|
; The allow, deny, and groups sections are all optional.
|
||||||
|
; NOTE: groups names *cannot* ever be the same as usernames!
|
||||||
|
;
|
||||||
|
; ACL permissions are checked in the following order:
|
||||||
|
; 1. Check for user denies (and DENY if specified)
|
||||||
|
; 2. Check for user allows (and ALLOW if specified)
|
||||||
|
; 3. Gather user's groups
|
||||||
|
; 4. Check group denies (and DENY if specified)
|
||||||
|
; 5. Check group allows (and ALLOW if specified)
|
||||||
|
; 6. If no aro, aco, or group information is found, DENY
|
||||||
|
;
|
||||||
|
; ---------------------------------------------------------------------
|
||||||
|
|
||||||
|
;-------------------------------------
|
||||||
|
;Users
|
||||||
|
;-------------------------------------
|
||||||
|
|
||||||
|
[username-goes-here]
|
||||||
|
groups = group1, group2
|
||||||
|
deny = aco1, aco2
|
||||||
|
allow = aco3, aco4
|
||||||
|
|
||||||
|
;-------------------------------------
|
||||||
|
;Groups
|
||||||
|
;-------------------------------------
|
||||||
|
|
||||||
|
[groupname-goes-here]
|
||||||
|
deny = aco5, aco6
|
||||||
|
allow = aco7, aco8
|
|
@ -0,0 +1,72 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: bootstrap.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Short description for file.
|
||||||
|
*
|
||||||
|
* Long description for file
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.config
|
||||||
|
* @since CakePHP v 0.10.8.2117
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* This file is loaded automatically by the app/webroot/index.php file after the core bootstrap.php is loaded
|
||||||
|
* This is an application wide file to load any function that is not used within a class define.
|
||||||
|
* You can also use this to include or require any files in your application.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The settings below can be used to set additional paths to models, views and controllers.
|
||||||
|
* This is related to Ticket #470 (https://trac.cakephp.org/ticket/470)
|
||||||
|
*
|
||||||
|
* $modelPaths = array('full path to models', 'second full path to models', 'etc...');
|
||||||
|
* $viewPaths = array('this path to views', 'second full path to views', 'etc...');
|
||||||
|
* $controllerPaths = array('this path to controllers', 'second full path to controllers', 'etc...');
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Default application. If there isn't something in $_GET we'll fall back on this.
|
||||||
|
* 1) Make sure this thing exists in the database
|
||||||
|
* 2) This isn't escaped at all when used in SQL queries. If a single quote appears
|
||||||
|
* in an application name in the future and you need to use it here, be sure to
|
||||||
|
* escape it.
|
||||||
|
*/
|
||||||
|
define('DEFAULT_APP_NAME','Mozilla Firefox');
|
||||||
|
|
||||||
|
define('DEFAULT_APP_VERSION','1.5');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* We are adding applications dynamically based on the URL. If a version of firefox
|
||||||
|
* comes in that we haven't dealt with yet, we want to ask a default set of
|
||||||
|
* questions (rather than just a comment box). This is that default set. Same
|
||||||
|
* rules apply as the default application above.
|
||||||
|
*/
|
||||||
|
define('DEFAULT_FIREFOX_INTENTION_SET_ID','2');
|
||||||
|
define('DEFAULT_FIREFOX_ISSUE_SET_ID','1');
|
||||||
|
define('DEFAULT_THUNDERBIRD_INTENTION_SET_ID','4');
|
||||||
|
define('DEFAULT_THUNDERBIRD_ISSUE_SET_ID','3');
|
||||||
|
|
||||||
|
//EOF
|
||||||
|
?>
|
|
@ -0,0 +1,153 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: core.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is core configuration file.
|
||||||
|
*
|
||||||
|
* Use it to configure core behaviour ofCake.
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.config
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If you do not have mod rewrite on your system
|
||||||
|
* or if you prefer to use CakePHP pretty urls.
|
||||||
|
* uncomment the line below.
|
||||||
|
* Note: If you do have mod rewrite but prefer the
|
||||||
|
* CakePHP pretty urls, you also have to remove the
|
||||||
|
* .htaccess files
|
||||||
|
* release/.htaccess
|
||||||
|
* release/app/.htaccess
|
||||||
|
* release/app/webroot/.htaccess
|
||||||
|
*/
|
||||||
|
//define ('BASE_URL', env('SCRIPT_NAME'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set debug level here:
|
||||||
|
* - 0: production
|
||||||
|
* - 1: development
|
||||||
|
* - 2: full debug with sql
|
||||||
|
* - 3: full debug with sql and dump of the current object
|
||||||
|
*
|
||||||
|
* In production, the "flash messages" redirect after a time interval.
|
||||||
|
* With the other debug levels you get to click the "flash message" to continue.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
define('DEBUG', 0);
|
||||||
|
/**
|
||||||
|
* Turn of caching checking wide.
|
||||||
|
* You must still use the controller var cacheAction inside you controller class.
|
||||||
|
* You can either set it controller wide, or in each controller method.
|
||||||
|
* use var $cacheAction = true; or in the controller method $this->cacheAction = true;
|
||||||
|
*/
|
||||||
|
define ('CACHE_CHECK', false);
|
||||||
|
/**
|
||||||
|
* Error constant. Used for differentiating error logging and debugging.
|
||||||
|
* Currently PHP supports LOG_DEBUG
|
||||||
|
*/
|
||||||
|
define ('LOG_ERROR', 2);
|
||||||
|
/**
|
||||||
|
* CakePHP includes 3 types of session saves
|
||||||
|
* database or file. Set this to your preferred method.
|
||||||
|
* If you want to use your own save handler place it in
|
||||||
|
* app/config/name.php DO NOT USE file or database as the name.
|
||||||
|
* and use just the name portion below.
|
||||||
|
*
|
||||||
|
* Setting this to cake will save files to /cakedistro/tmp directory
|
||||||
|
* Setting it to php will use the php default save path
|
||||||
|
* Setting it to database will use the database
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
define('CAKE_SESSION_SAVE', 'php');
|
||||||
|
/**
|
||||||
|
* Set a random string of used in session.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
define('CAKE_SESSION_STRING', 'DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi');
|
||||||
|
/**
|
||||||
|
* Set the name of session cookie
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
define('CAKE_SESSION_COOKIE', 'CAKEPHP');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set level of Cake security.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
define('CAKE_SECURITY', 'high');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Cake Session time out.
|
||||||
|
* If CAKE_SECURITY define is set
|
||||||
|
* high: multiplied by 10
|
||||||
|
* medium: is multiplied by 100
|
||||||
|
* low is: multiplied by 300
|
||||||
|
*
|
||||||
|
* Number below is seconds.
|
||||||
|
*/
|
||||||
|
define('CAKE_SESSION_TIMEOUT', '120');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Uncomment the define below to use cake built in admin routes.
|
||||||
|
* You can set this value to anything you want.
|
||||||
|
* All methods related to the admin route should be prefixed with the
|
||||||
|
* name you set CAKE_ADMIN to.
|
||||||
|
* For example: admin_index, admin_edit
|
||||||
|
*/
|
||||||
|
//define('CAKE_ADMIN', 'admin');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The define below is used to turn cake built webservices
|
||||||
|
* on or off. Default setting is off.
|
||||||
|
*/
|
||||||
|
define('WEBSERVICES', 'off');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compress output CSS (removing comments, whitespace, repeating tags etc.)
|
||||||
|
* This requires a/var/cache directory to be writable by the web server (caching).
|
||||||
|
* To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use Controller::cssTag().
|
||||||
|
*/
|
||||||
|
define('COMPRESS_CSS', false);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If set to true, helpers would output data instead of returning it.
|
||||||
|
*/
|
||||||
|
define('AUTO_OUTPUT', false);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* If set to false, session would not automatically be started.
|
||||||
|
*/
|
||||||
|
define('AUTO_SESSION', true);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the max size of file to use md5() .
|
||||||
|
*/
|
||||||
|
define('MAX_MD5SIZE', (5*1024)*1024 );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* To use Access Control Lists with Cake...
|
||||||
|
*/
|
||||||
|
define('ACL_CLASSNAME', 'DB_ACL');
|
||||||
|
define('ACL_FILENAME', 'dbacl'.DS.'db_acl');
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,79 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: database.php.default,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is core configuration file.
|
||||||
|
*
|
||||||
|
* Use it to configure core behaviour ofCake.
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.config
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In this file you set up your database connection details.
|
||||||
|
*
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.config
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Database configuration class.
|
||||||
|
* You can specify multiple configurations for production, development and testing.
|
||||||
|
*
|
||||||
|
* driver =>
|
||||||
|
* mysql, postgres, sqlite, adodb-drivername, pear-drivername
|
||||||
|
*
|
||||||
|
* connect =>
|
||||||
|
* MySQL set the connect to either mysql_pconnect of mysql_connect
|
||||||
|
* PostgreSQL set the connect to either pg_pconnect of pg_connect
|
||||||
|
* SQLite set the connect to sqlite_popen sqlite_open
|
||||||
|
* ADOdb set the connect to one of these
|
||||||
|
* (http://phplens.com/adodb/supported.databases.html) and
|
||||||
|
* append it '|p' for persistent connection. (mssql|p for example, or just mssql for not persistent)
|
||||||
|
*
|
||||||
|
* host =>
|
||||||
|
* the host you connect to the database
|
||||||
|
* MySQL 'localhost' to add a port number use 'localhost:port#'
|
||||||
|
* PostgreSQL 'localhost' to add a port number use 'localhost port=5432'
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
class DATABASE_CONFIG
|
||||||
|
{
|
||||||
|
var $default = array('driver' => 'mysql',
|
||||||
|
'connect' => 'mysql_connect',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'login' => 'user',
|
||||||
|
'password' => 'password',
|
||||||
|
'database' => 'project_name',
|
||||||
|
'prefix' => '');
|
||||||
|
|
||||||
|
var $test = array('driver' => 'mysql',
|
||||||
|
'connect' => 'mysql_connect',
|
||||||
|
'host' => 'localhost',
|
||||||
|
'login' => 'user',
|
||||||
|
'password' => 'password',
|
||||||
|
'database' => 'project_name-test',
|
||||||
|
'prefix' => '');
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
if (!defined('DS'))
|
||||||
|
{
|
||||||
|
define('DS', DIRECTORY_SEPARATOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!defined('ROOT'))
|
||||||
|
{
|
||||||
|
//define('ROOT', 'FULL PATH TO DIRECTORY WHERE APP DIRECTORY IS LOCATED DO NOT ADD A TRAILING DIRECTORY SEPARATOR';
|
||||||
|
//You should also use the DS define to seperate your directories
|
||||||
|
define('ROOT', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!defined('APP_DIR'))
|
||||||
|
{
|
||||||
|
//define('APP_DIR', 'DIRECTORY NAME OF APPLICATION';
|
||||||
|
define ('APP_DIR', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!defined('CAKE_CORE_INCLUDE_PATH'))
|
||||||
|
{
|
||||||
|
//define ('CAKE_CORE_INCLUDE_PATH', FULL PATH TO DIRECTORY WHERE CAKE CORE IS INSTALLED DO NOT ADD A TRAILING DIRECTORY SEPARATOR';
|
||||||
|
//You should also use the DS define to seperate your directories
|
||||||
|
define('CAKE_CORE_INCLUDE_PATH', '');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,74 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: inflections.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Custom Inflected Words.
|
||||||
|
*
|
||||||
|
* This file is used to hold words that are not matched in the normail Inflector::pluralize() and
|
||||||
|
* Inflector::singularize()
|
||||||
|
*
|
||||||
|
* PHP versions 4 and %
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.config
|
||||||
|
* @since CakePHP v 1.0.0.2312
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This is a key => value array of regex used to match words.
|
||||||
|
* If key matches then the value is returned.
|
||||||
|
*
|
||||||
|
* $pluralRules = array('/(s)tatus$/i' => '\1\2tatuses', '/^(ox)$/i' => '\1\2en', '/([m|l])ouse$/i' => '\1ice');
|
||||||
|
*/
|
||||||
|
$pluralRules = array();
|
||||||
|
/**
|
||||||
|
* This is a key only array of plural words that should not be inflected.
|
||||||
|
* Notice the last comma
|
||||||
|
*
|
||||||
|
* $uninflectedPlural = array('.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox');
|
||||||
|
*/
|
||||||
|
$uninflectedPlural = array();
|
||||||
|
/**
|
||||||
|
* This is a key => value array of plural irregular words.
|
||||||
|
* If key matches then the value is returned.
|
||||||
|
*
|
||||||
|
* $irregularPlural = array('atlas' => 'atlases', 'beef' => 'beefs', 'brother' => 'brothers')
|
||||||
|
*/
|
||||||
|
$irregularPlural = array();
|
||||||
|
/**
|
||||||
|
* This is a key => value array of regex used to match words.
|
||||||
|
* If key matches then the value is returned.
|
||||||
|
*
|
||||||
|
* $singularRules = array('/(s)tatuses$/i' => '\1\2tatus', '/(matr)ices$/i' =>'\1ix','/(vert|ind)ices$/i')
|
||||||
|
*/
|
||||||
|
$singularRules = array();
|
||||||
|
/**
|
||||||
|
* This is a key only array of singular words that should not be inflected.
|
||||||
|
* You should not have to change this value below if you do change it use same format
|
||||||
|
* as the $uninflectedPlural above.
|
||||||
|
*/
|
||||||
|
$uninflectedSingular = $uninflectedPlural;
|
||||||
|
/**
|
||||||
|
* This is a key => value array of singular irregular words.
|
||||||
|
* Most of the time this will be a reverse of the above $irregularPlural array
|
||||||
|
* You should not have to change this value below if you do change it use same format
|
||||||
|
*
|
||||||
|
* $irregularSingular = array('atlases' => 'atlas', 'beefs' => 'beef', 'brothers' => 'brother')
|
||||||
|
*/
|
||||||
|
$irregularSingular = array_flip($irregularPlural);
|
||||||
|
?>
|
|
@ -0,0 +1,51 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: routes.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Short description for file.
|
||||||
|
*
|
||||||
|
* In this file, you set up routes to your controllers and their actions.
|
||||||
|
* Routes are very important mechanism that allows you to freely connect
|
||||||
|
* different urls to chosen controllers and their actions (functions).
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.config
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Here, we are connecting '/' (base path) to controller called 'Pages',
|
||||||
|
* its action called 'display', and we pass a param to select the view file
|
||||||
|
* to use (in this case, /app/views/pages/home.thtml)...
|
||||||
|
*/
|
||||||
|
$Route->connect ('/', array('controller'=>'Users', 'action'=>'add', ''));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ...and connect the rest of 'Pages' controller's urls.
|
||||||
|
*/
|
||||||
|
//$Route->connect ('/pages/*', array('controller'=>'pages', 'action'=>'display'));
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Then we connect url '/test' to our test controller. This is helpfull in
|
||||||
|
* developement.
|
||||||
|
*/
|
||||||
|
//$Route->connect ('/tests', array('controller'=>'tests', 'action'=>'index'));
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,30 @@
|
||||||
|
CREATE TABLE `acos` (
|
||||||
|
`id` int(11) NOT NULL auto_increment,
|
||||||
|
`model` varchar(255) NOT NULL default '',
|
||||||
|
`object_id` int(11) default NULL,
|
||||||
|
`alias` varchar(255) NOT NULL default '',
|
||||||
|
`lft` int(11) default NULL,
|
||||||
|
`rght` int(11) default NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `aros` (
|
||||||
|
`id` int(11) NOT NULL auto_increment,
|
||||||
|
`model` varchar(255) NOT NULL default '',
|
||||||
|
`user_id` int(11) default NULL,
|
||||||
|
`alias` varchar(255) NOT NULL default '',
|
||||||
|
`lft` int(11) default NULL,
|
||||||
|
`rght` int(11) default NULL,
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE `aros_acos` (
|
||||||
|
`id` int(11) NOT NULL auto_increment,
|
||||||
|
`aro_id` int(11) default NULL,
|
||||||
|
`aco_id` int(11) default NULL,
|
||||||
|
`_create` int(1) NOT NULL default '0',
|
||||||
|
`_read` int(1) NOT NULL default '0',
|
||||||
|
`_update` int(1) NOT NULL default '0',
|
||||||
|
`_delete` int(11) NOT NULL default '0',
|
||||||
|
PRIMARY KEY (`id`)
|
||||||
|
);
|
|
@ -0,0 +1,11 @@
|
||||||
|
-- @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
-- @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
-- @since CakePHP v 0.10.8.1997
|
||||||
|
-- @version $Revision: 1.1 $
|
||||||
|
|
||||||
|
CREATE TABLE cake_sessions (
|
||||||
|
id varchar(255) NOT NULL default '',
|
||||||
|
data text,
|
||||||
|
expires int(11) default NULL,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
);
|
|
@ -0,0 +1,108 @@
|
||||||
|
<?php
|
||||||
|
vendor('mail/mail');
|
||||||
|
class UsersController extends AppController {
|
||||||
|
|
||||||
|
var $name = 'Users';
|
||||||
|
|
||||||
|
var $helpers = array('html');
|
||||||
|
|
||||||
|
function index()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
function add()
|
||||||
|
{
|
||||||
|
if (empty($this->params['data']))
|
||||||
|
{
|
||||||
|
$this->render();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// If they've already signed up, send them another email
|
||||||
|
if ($this->User->findByEmail($this->params['data']['User']['email'])) {
|
||||||
|
$mail_params = array(
|
||||||
|
'from' => 'nobody@mozilla.com',
|
||||||
|
'to' => $this->params['data']['User']['email'],
|
||||||
|
'subject' => 'Firefox Surveys',
|
||||||
|
'message' => "
|
||||||
|
<p>Thanks for signing up for the Firefox Survey, Summer '06 edition. We'll start with
|
||||||
|
this profile survey and go from there. We'll send out a few more surveys in the
|
||||||
|
following weeks to certain groups of survey takers. Thanks again for making the
|
||||||
|
browser a better place!</p>
|
||||||
|
|
||||||
|
<p><a href=\"http://is4.instantsurvey.com/FirefoxSurveyNumeroUno?email={$this->params['data']['User']['email']}&first={$this->params['data']['User']['firstname']}&last={$this->params['data']['User']['lastname']}\">Start the first survey</a>
|
||||||
|
Survey conducted by Mozilla and hosted by <a href=\"http://www.instantsurvey.com/\">Instant Survey</a></p>
|
||||||
|
|
||||||
|
<p>Mozilla continues to take security and privacy issues seriously. Any data or
|
||||||
|
information provided will never be given or sold to any other outside company for its
|
||||||
|
use in marketing or solicitation.</p>
|
||||||
|
|
||||||
|
<p>If you choose not to take this survey, you will be automatically unsubscribed from
|
||||||
|
the Firefox Survey list.</p>
|
||||||
|
|
||||||
|
<p>If you think you received this in error, please <a href=\"mailto:firefoxsurvey@mozilla.com\">let us know</a>.</p>
|
||||||
|
"
|
||||||
|
);
|
||||||
|
|
||||||
|
$mail = new mail($mail_params);
|
||||||
|
|
||||||
|
$mail->send();
|
||||||
|
|
||||||
|
// rather than just flash a screen, we want to show a page with
|
||||||
|
// some content. We do a little trickery here, but it gets the
|
||||||
|
// job done. content is in /views/layouts/flash.thtml
|
||||||
|
$this->Session->setFlash('
|
||||||
|
<p>You are already signed up for the Firefox Survey!</p>
|
||||||
|
|
||||||
|
<p>If you don\'t receive an email with a link to the survey
|
||||||
|
within 24 hours, please <a href="mailto:firefoxsurvey@mozilla.com?subject=invalid email - firefox survey">let us know</a>
|
||||||
|
and we\'ll send another copy.</p>
|
||||||
|
|
||||||
|
<p>Continue to the <a href="http://google.com/firefox/">Firefox Start Page</a></p>
|
||||||
|
');
|
||||||
|
$this->flash(null,null,0);
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
if ($this->User->save($this->params['data'])) {
|
||||||
|
$mail_params = array(
|
||||||
|
'from' => 'nobody@mozilla.com',
|
||||||
|
'to' => $this->params['data']['User']['email'],
|
||||||
|
'subject' => 'Firefox Surveys',
|
||||||
|
'message' => "
|
||||||
|
<p>Thanks for signing up for the Firefox Survey, Summer '06 edition. We'll start with
|
||||||
|
this profile survey and go from there. We'll send out a few more surveys in the
|
||||||
|
following weeks to certain groups of survey takers. Thanks again for making the
|
||||||
|
browser a better place!</p>
|
||||||
|
|
||||||
|
<p><a href=\"http://is4.instantsurvey.com/FirefoxSurveyNumeroUno?email={$this->params['data']['User']['email']}&first={$this->params['data']['User']['firstname']}&last={$this->params['data']['User']['lastname']}\">Start the first survey</a>
|
||||||
|
Survey conducted by Mozilla and hosted by <a href=\"http://www.instantsurvey.com/\">Instant Survey</a></p>
|
||||||
|
|
||||||
|
<p>Mozilla continues to take security and privacy issues seriously. Any data or
|
||||||
|
information provided will never be given or sold to any other outside company for its
|
||||||
|
use in marketing or solicitation.</p>
|
||||||
|
|
||||||
|
<p>If you choose not to take this survey, you will be automatically unsubscribed from
|
||||||
|
the Firefox Survey list.</p>
|
||||||
|
|
||||||
|
<p>If you think you received this in error, please <a href=\"mailto:firefoxsurvey@mozilla.com\">let us know</a>.</p>
|
||||||
|
"
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$mail = new mail($mail_params);
|
||||||
|
|
||||||
|
$mail->send();
|
||||||
|
|
||||||
|
// rather than just flash a screen, we want to show a page with
|
||||||
|
// some content. We do a little trickery here, but it gets the
|
||||||
|
// job done. content is in /views/layouts/flash.thtml
|
||||||
|
$this->Session->setFlash('Thanks for helping to make a better browsing experience.<br />Continue to the <a href="http://google.com/firefox/">Firefox Start Page</a>');
|
||||||
|
$this->flash(null,null,0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
?>
|
|
@ -0,0 +1,27 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: index.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app
|
||||||
|
* @since CakePHP v 0.10.0.1076
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
require 'webroot'.DIRECTORY_SEPARATOR.'index.php';
|
||||||
|
?>
|
|
@ -0,0 +1,13 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class User extends AppModel {
|
||||||
|
var $name = 'User';
|
||||||
|
|
||||||
|
var $validate = array(
|
||||||
|
'firstname' =>VALID_NOT_EMPTY,
|
||||||
|
'lastname' =>VALID_NOT_EMPTY,
|
||||||
|
'email' =>VALID_EMAIL
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,61 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class mail
|
||||||
|
{
|
||||||
|
|
||||||
|
var $from;
|
||||||
|
var $to;
|
||||||
|
var $subject;
|
||||||
|
var $message;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Everything coming in via $params should be validated already
|
||||||
|
*/
|
||||||
|
function mail($params)
|
||||||
|
{
|
||||||
|
if (array_key_exists('from', $params)) {
|
||||||
|
$this->from = $params['from'];
|
||||||
|
}
|
||||||
|
if (array_key_exists('to', $params)) {
|
||||||
|
$this->to = $params['to'];
|
||||||
|
}
|
||||||
|
if (array_key_exists('subject', $params)) {
|
||||||
|
$this->subject = $params['subject'];
|
||||||
|
}
|
||||||
|
if (array_key_exists('message', $params)) {
|
||||||
|
$this->message = $params['message'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function make_headers($type='html')
|
||||||
|
{
|
||||||
|
$headers = '';
|
||||||
|
|
||||||
|
switch($type)
|
||||||
|
{
|
||||||
|
case 'html':
|
||||||
|
$headers .= 'MIME-Version: 1.0' . "\r\n";
|
||||||
|
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($this->from)) {
|
||||||
|
$headers .= "From: {$this->from}\r\n";
|
||||||
|
$headers .= "Reply-To: {$this->from}\r\n";
|
||||||
|
}
|
||||||
|
return $headers;
|
||||||
|
}
|
||||||
|
function make_additional_parameters()
|
||||||
|
{
|
||||||
|
if (!empty($this->from)) {
|
||||||
|
return '-f'.$this->from;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function send()
|
||||||
|
{
|
||||||
|
mail($this->to, $this->subject, $this->message, $this->make_headers(), $this->make_additional_parameters());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,29 @@
|
||||||
|
|
||||||
|
<!-- content -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="footer">
|
||||||
|
<div id="footer-contents">
|
||||||
|
<ul id="footer-menu">
|
||||||
|
<li><a href="http://mozilla.com/about/">About Us</a></li>
|
||||||
|
<li><a href="http://mozilla.com/privacy-policy.html">Privacy Policy</a></li>
|
||||||
|
<li><a href="http://mozilla.com/about/legal.html">Legal Notices</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
<p class="small-print">International Affiliates:
|
||||||
|
<a href="http://www.mozilla-europe.org/">Mozilla Europe</a>
|
||||||
|
<a href="http://www.mozilla-japan.org/">Mozilla Japan</a>
|
||||||
|
<a href="http://www.mozilla.org.cn/">Mozilla China</a>
|
||||||
|
</p>
|
||||||
|
<p class="small-print">Mozilla Corporation is a wholly-owned subsidiary of the <a href="http://www.mozillafoundation.org">Mozilla Foundation</a>.</p>
|
||||||
|
|
||||||
|
<p class="small-print">Copyright © 2005–2006 Mozilla Corporation. All rights reserved.</p>
|
||||||
|
<ul class="site-tools">
|
||||||
|
<li><a href="http://cvs-www.mozilla.org/webtools/bonsai/cvslog.cgi?file=mozilla-com/src/index.html&rev=&root=/cvsroot/">Document History</a></li>
|
||||||
|
<li><a href="http://doctor-test.mozilla.org/doctor.cgi?action=edit&file=mozilla-com%2Fsrc%2Findex.html">Edit</a></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,43 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<head>
|
||||||
|
<title>Mozilla Firefox Survey</title>
|
||||||
|
<meta name="author" content="Mozilla Corporation" />
|
||||||
|
<meta name="copyright" content="Mozilla Corporation" />
|
||||||
|
<?php echo $html->charset('UTF-8'); ?>
|
||||||
|
<?php echo $html->css('rustico/template'); ?>
|
||||||
|
<?php echo $html->css('rustico/content'); ?>
|
||||||
|
<?php echo $html->css('screen'); ?>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="header">
|
||||||
|
<div>
|
||||||
|
<h1>
|
||||||
|
<?php
|
||||||
|
echo $html->link(
|
||||||
|
$html->image('moz-com-logo.png', array('alt'=>'Mozilla Corporation', 'height'=>38,'width'=>89)),
|
||||||
|
'http://mozilla.com/', array('title'=>'Return to home page', 'accesskey'=>'1'),false,false
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
</h1>
|
||||||
|
<ul>
|
||||||
|
<li id="menu-products"><a href="http://mozilla.com/products/">Products</a></li>
|
||||||
|
<li id="menu-extensions"><a href="http://mozilla.com/extensions/">Extensions</a></li>
|
||||||
|
<li id="menu-support"><a href="http://mozilla.com/support/">Support</a></li>
|
||||||
|
<li id="menu-developers"><a href="http://mozilla.com/developers/">Developers</a></li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="breadcrumbs">
|
||||||
|
<?php if (isset($breadcrumb) && isset($breadcrumbs)): ?>
|
||||||
|
<div>
|
||||||
|
<?php $breadcrumb->addLinks($breadcrumbs); ?>
|
||||||
|
<?php echo $breadcrumb->showLinks(); ?>
|
||||||
|
</div>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
<hr class="hide" />
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
<?php echo $this->renderElement( 'header' ); ?>
|
||||||
|
<?php echo $content_for_layout;?>
|
||||||
|
<?php echo $this->renderElement( 'footer' ); ?>
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?php echo $this->renderElement( 'header' ); ?>
|
||||||
|
<div class="center">
|
||||||
|
<?php echo $this->controller->Session->flash(); ?>
|
||||||
|
</div>
|
||||||
|
<?php echo $this->renderElement( 'footer' ); ?>
|
|
@ -0,0 +1,14 @@
|
||||||
|
<h1>Firefox Survey</h1>
|
||||||
|
<p>You're on your way to taking the Firefox Survey, Summer '06 edition!</p>
|
||||||
|
<p>After you supply your name (optional) and email address (required) we'll send you the first profile survey.</p>
|
||||||
|
<div id="UsersAdd">
|
||||||
|
<?php echo $html->formTag('/users/add')?>
|
||||||
|
<p><label for="UserFirstname">First Name:</label> <?php echo $html->input('User/firstname', array('size' => '40'))?></p>
|
||||||
|
<p><label for="UserLastname">Last Name:</label> <?php echo $html->input('User/lastname', array('size' => '40'))?></p>
|
||||||
|
<p><label for="UserEmail">Email Address:<span class="required">*</span></label>
|
||||||
|
<?php echo $html->input('User/email', array('size' => '40'))?>
|
||||||
|
<?php echo $html->tagErrorMsg('User/email', 'A properly formatted email address is required.') ?>
|
||||||
|
</p>
|
||||||
|
<p><?php echo $html->submit('Send') ?></p>
|
||||||
|
</form>
|
||||||
|
</div>
|
|
@ -0,0 +1,7 @@
|
||||||
|
<IfModule mod_rewrite.c>
|
||||||
|
RewriteEngine On
|
||||||
|
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-d
|
||||||
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
|
||||||
|
</IfModule>
|
|
@ -0,0 +1,116 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: css.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Short description for file.
|
||||||
|
*
|
||||||
|
* Long description for file
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.webroot
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enter description here...
|
||||||
|
*/
|
||||||
|
require(CONFIGS.'paths.php');
|
||||||
|
require(CAKE.'basics.php');
|
||||||
|
require(LIBS.'folder.php');
|
||||||
|
require(LIBS.'file.php');
|
||||||
|
require(LIBS.'legacy.php');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enter description here...
|
||||||
|
*
|
||||||
|
* @param unknown_type $path
|
||||||
|
* @param unknown_type $name
|
||||||
|
* @return unknown
|
||||||
|
*/
|
||||||
|
function make_clean_css ($path, $name)
|
||||||
|
{
|
||||||
|
require(VENDORS.'csspp'.DS.'csspp.php');
|
||||||
|
|
||||||
|
$data = file_get_contents($path);
|
||||||
|
$csspp = new csspp();
|
||||||
|
$output = $csspp->compress($data);
|
||||||
|
|
||||||
|
$ratio = 100-(round(strlen($output)/strlen($data), 3)*100);
|
||||||
|
$output = " /* file: $name, ratio: $ratio% */ " . $output;
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enter description here...
|
||||||
|
*
|
||||||
|
* @param unknown_type $path
|
||||||
|
* @param unknown_type $content
|
||||||
|
* @return unknown
|
||||||
|
*/
|
||||||
|
function write_css_cache ($path, $content)
|
||||||
|
{
|
||||||
|
if (!is_dir(dirname($path)))
|
||||||
|
mkdir(dirname($path));
|
||||||
|
|
||||||
|
$cache = new File($path);
|
||||||
|
return $cache->write($content);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match('|\.\.|', $url) || !preg_match('|^ccss/(.+)$|i', $url, $regs))
|
||||||
|
die('Wrong file name.');
|
||||||
|
|
||||||
|
$filename = 'css/'.$regs[1];
|
||||||
|
$filepath = CSS.$regs[1];
|
||||||
|
$cachepath = CACHE.'css'.DS.str_replace(array('/','\\'), '-', $regs[1]);
|
||||||
|
|
||||||
|
if (!file_exists($filepath))
|
||||||
|
die('Wrong file name.');
|
||||||
|
|
||||||
|
|
||||||
|
if (file_exists($cachepath))
|
||||||
|
{
|
||||||
|
$templateModified = filemtime($filepath);
|
||||||
|
$cacheModified = filemtime($cachepath);
|
||||||
|
|
||||||
|
if ($templateModified > $cacheModified)
|
||||||
|
{
|
||||||
|
$output = make_clean_css ($filepath, $filename);
|
||||||
|
write_css_cache ($cachepath, $output);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$output = file_get_contents($cachepath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$output = make_clean_css ($filepath, $filename);
|
||||||
|
write_css_cache ($cachepath, $output);
|
||||||
|
}
|
||||||
|
|
||||||
|
header("Date: ".date("D, j M Y G:i:s ", $templateModified).'GMT');
|
||||||
|
header("Content-Type: text/css");
|
||||||
|
header("Expires: ".gmdate("D, j M Y H:i:s", time()+DAY)." GMT");
|
||||||
|
header("Cache-Control: cache");// HTTP/1.1
|
||||||
|
header("Pragma: cache");// HTTP/1.0
|
||||||
|
print $output;
|
||||||
|
|
||||||
|
?>
|
|
@ -0,0 +1,562 @@
|
||||||
|
/* mozilla.org Rustico Theme 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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Random HTML Styles */
|
||||||
|
|
||||||
|
hr {
|
||||||
|
height: 1px;
|
||||||
|
background-color: #000;
|
||||||
|
color: #000;
|
||||||
|
margin: 2em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hide { display: none; }
|
||||||
|
|
||||||
|
ul.spaced li, ol.spaced li {
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 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 */
|
||||||
|
#main-feature {
|
||||||
|
margin-top: -24px;
|
||||||
|
background: #EFF3F7 url("/images/template/feature-back.png") bottom repeat-x;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature h2 {
|
||||||
|
margin: 10px 0 0 0;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature p.product-intro {
|
||||||
|
margin: 0 0 10px 0;
|
||||||
|
line-height: 145%;
|
||||||
|
color: #414D66;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .feature-contents {
|
||||||
|
padding: 15px 50px 65px 50px;
|
||||||
|
position: relative; /* this is required to absolutely position contained elements */
|
||||||
|
background: url("/images/home/feature-sun.png") bottom right no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .feature-contents { height: 250px; }
|
||||||
|
body>#main-feature .feature-contents { height: auto; min-height: 260px; }
|
||||||
|
|
||||||
|
#main-feature .brief-feature { height: auto !important; min-height: 10px !important; }
|
||||||
|
* html #main-feature .brief-feature { padding-bottom: 5px !important }
|
||||||
|
|
||||||
|
/* this hack is required for IE6 */
|
||||||
|
/* Hides from IE-mac \*/
|
||||||
|
* html #main-feature { height: 1%;}
|
||||||
|
/* End hide from IE-mac */
|
||||||
|
|
||||||
|
#main-feature a.download-link {
|
||||||
|
display: block;
|
||||||
|
padding: 0 0 12px 0;
|
||||||
|
margin-bottom: 0.2em;
|
||||||
|
text-decoration: none;
|
||||||
|
color: #256504;
|
||||||
|
width: 285px;
|
||||||
|
margin-left: -8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-firefox {
|
||||||
|
background: url("/images/template/download-firefox.png") 0 100% no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-thunderbird {
|
||||||
|
background: url("/images/template/download-thunderbird.png") 0 100% no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .brief-feature a.download-firefox {
|
||||||
|
background: url("/images/template/download-firefox-white.png") 0 100% no-repeat;
|
||||||
|
margin-right: 40px;
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-link span {
|
||||||
|
display: block;
|
||||||
|
padding: 9px 10px 0 58px;
|
||||||
|
min-height: 43px;
|
||||||
|
} * html #main-feature a.download-link span { height: 43px; }
|
||||||
|
|
||||||
|
#main-feature a.download-firefox span {
|
||||||
|
background: url("/images/template/download-firefox.png") 0 0 no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-thunderbird span {
|
||||||
|
background: url("/images/template/download-thunderbird.png") 0 0 no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .brief-feature a.download-firefox span {
|
||||||
|
background: url("/images/template/download-firefox-white.png") 0 0 no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#main-feature a.download-link strong {
|
||||||
|
font: 140% sans-serif;
|
||||||
|
letter-spacing: -0.02em;
|
||||||
|
text-decoration: underline;
|
||||||
|
color: #256504;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-link em {
|
||||||
|
font-style: normal;
|
||||||
|
color: #367D10;
|
||||||
|
letter-spacing: 0;
|
||||||
|
display: block;
|
||||||
|
padding-top: 3px;
|
||||||
|
font-size: 85%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-link:hover, #main-feature a.download-link:hover span, #main-feature a.download-link:hover strong {
|
||||||
|
color: #143802;
|
||||||
|
cursor: pointer; /* need for IE6 */
|
||||||
|
background-position: 100% 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature a.download-link:hover span {
|
||||||
|
background-position: 100% 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .download-info {
|
||||||
|
font-size: 85%;
|
||||||
|
color: #666;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .download-other {
|
||||||
|
font-size: 85%;
|
||||||
|
color: #515F78;
|
||||||
|
padding-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.brief-feature .home-download {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature .product-image {
|
||||||
|
float: right;
|
||||||
|
margin-left: 1.5em;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#main-feature h2, #main-feature h3, #main-feature h4 {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.note {
|
||||||
|
color: #666;
|
||||||
|
font-style: normal;
|
||||||
|
}
|
||||||
|
|
||||||
|
.first {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remark {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sidenote {
|
||||||
|
border: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
.key-point:before {
|
||||||
|
line-height: 0.1;
|
||||||
|
font-size: 1px;
|
||||||
|
background: transparent url("/images/box/key-point_tr.gif") no-repeat top right;
|
||||||
|
margin: -15px -15px 0 -15px;
|
||||||
|
height: 15px;
|
||||||
|
display: block;
|
||||||
|
border: none;
|
||||||
|
content: url("/images/box/key-point_tl.gif");
|
||||||
|
}
|
||||||
|
.key-point {
|
||||||
|
background: #e4ecec url("/images/box/key-point_back.gif") right repeat-y;
|
||||||
|
padding: 15px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
} * html .key-point { height: 1px; }
|
||||||
|
.key-point:after {
|
||||||
|
display: block;
|
||||||
|
clear: both;
|
||||||
|
padding-top: 15px;
|
||||||
|
line-height: 0.1;
|
||||||
|
font-size: 1px;
|
||||||
|
content: url("/images/box/key-point_bl.gif");
|
||||||
|
margin: -15px;
|
||||||
|
height: 8px;
|
||||||
|
background: transparent url("/images/box/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 {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border: none;
|
||||||
|
margin: 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
background: #ddd;
|
||||||
|
padding: 5px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.table-title th {
|
||||||
|
font: 130% sans-serif;
|
||||||
|
font-weight: normal;
|
||||||
|
background: #666;
|
||||||
|
color: #fff;
|
||||||
|
border-top: 1px solid #666;
|
||||||
|
padding: 0.5em 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
border-top: 1px solid #ddd;
|
||||||
|
font-size: 85%;
|
||||||
|
padding: 5px;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.data thead th {
|
||||||
|
background: #e4ecec;
|
||||||
|
empty-cells: hide;
|
||||||
|
}
|
||||||
|
|
||||||
|
table.data th,
|
||||||
|
table.data td {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
font-size: 100%;
|
||||||
|
line-height: 130%;
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.odd {
|
||||||
|
background: #F5F5F5;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Meta */
|
||||||
|
|
||||||
|
address {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Product Specific CSS */
|
||||||
|
|
||||||
|
.productlist img.product-logo {
|
||||||
|
float: left;
|
||||||
|
margin: 0 10px 1em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.productlist h3 {
|
||||||
|
border: none;
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.productlist p {
|
||||||
|
margin: 0.2em 0 2em 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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-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 {
|
||||||
|
padding-top: 3px;
|
||||||
|
}
|
||||||
|
.other a:link, .other a:visited { color: #515F78; }
|
||||||
|
.other a:hover { color: #000; }
|
||||||
|
|
||||||
|
.configParent {
|
||||||
|
display: block;
|
||||||
|
font-size: 85%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Lists */
|
||||||
|
|
||||||
|
dl {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
dt {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin: 0.2em 0 1em 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Simple Logo Boxes */
|
||||||
|
|
||||||
|
.firefox-logo, .thunderbird-logo {
|
||||||
|
padding-left: 72px;
|
||||||
|
min-height: 70px;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
display: block; /* so this can be used for links */
|
||||||
|
}
|
||||||
|
|
||||||
|
* html .firefox-logo, * html .thunderbird-logo { height: 70px; } /* min-height for IE */
|
||||||
|
|
||||||
|
.firefox-logo h2, .firefox-logo h3, .firefox-logo h4, .thunderbird-logo h2, .thunderbird-logo h3, .thunderbird-logo h4 {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.firefox-logo {
|
||||||
|
background: url("/images/firefox-logo-64x64.png") no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thunderbird-logo {
|
||||||
|
background: url("/images/thunderbird-logo-64x64.png") no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Firefox Page Styles */
|
||||||
|
|
||||||
|
.product-thumb {
|
||||||
|
display: block;
|
||||||
|
margin: 15px 0 5px 0;
|
||||||
|
height: 70px;
|
||||||
|
border: 1px solid #666;
|
||||||
|
text-decoration: none;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-thumb:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumb-firefox-tabs { background: url("/images/firefox-tabbedbrowsing-thumb.png") 0 0 no-repeat; }
|
||||||
|
.thumb-firefox-live { background: url("/images/firefox-livebookmarks-thumb.png") 0 0 no-repeat; }
|
||||||
|
.thumb-firefox-search { background: url("/images/firefox-searchbar-thumb.png") 100% 0 no-repeat; }
|
||||||
|
|
||||||
|
.firefox-awards {
|
||||||
|
margin-top: 1em;
|
||||||
|
text-align: center;
|
||||||
|
}
|
|
@ -0,0 +1,280 @@
|
||||||
|
body {
|
||||||
|
margin: 0 0 1em 0;
|
||||||
|
padding: 0; /* need for Opera */
|
||||||
|
background: #fff;
|
||||||
|
color: #333;
|
||||||
|
min-width: 610px;
|
||||||
|
}
|
||||||
|
|
||||||
|
form { margin: 0; }
|
||||||
|
img { border: 0; }
|
||||||
|
|
||||||
|
|
||||||
|
/* Core site element widths */
|
||||||
|
|
||||||
|
/*#header, #breadcrumbs, #content, #footer {
|
||||||
|
max-width: 1000px;
|
||||||
|
margin: 0 auto;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
#header { padding: 0 50px; }
|
||||||
|
#header ul { right: 0; }
|
||||||
|
* html #header ul { right: 50px; }
|
||||||
|
#breadcrumbs { padding: 0 50px; }
|
||||||
|
#content { padding: 0 50px; }
|
||||||
|
#footer { padding: 0 20px; margin: 0 50px; }
|
||||||
|
|
||||||
|
#header div, #content, #breadcrumbs div, #footer, #main-feature .feature-contents {
|
||||||
|
max-width: 900px; margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header div { position: relative; }
|
||||||
|
|
||||||
|
/* header */
|
||||||
|
|
||||||
|
#header {
|
||||||
|
height: 38px;
|
||||||
|
position: relative;
|
||||||
|
border-bottom: 1px solid #A1A6B1;
|
||||||
|
background: #33415D url("../../img/header-background.png") top repeat-x;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header h1 { margin: 0; }
|
||||||
|
|
||||||
|
#header h1 img {
|
||||||
|
font-weight: bold;
|
||||||
|
color: #7f7c45;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header ul {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
list-style: none;
|
||||||
|
border-left: 1px solid #576178;
|
||||||
|
border-right: 1px solid #1f2635;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header li {
|
||||||
|
float: left;
|
||||||
|
padding: 0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header ul a:link, #header ul a:visited {
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
padding: 10px 15px;
|
||||||
|
text-decoration: none;
|
||||||
|
border-right: 1px solid #576178;
|
||||||
|
border-left: 1px solid #1f2635;
|
||||||
|
color: #dee0e5;
|
||||||
|
height: 36px;
|
||||||
|
voice-family: "\"}\"";
|
||||||
|
voice-family: inherit;
|
||||||
|
height: 16px;
|
||||||
|
} #ignored {}
|
||||||
|
|
||||||
|
#header ul li a:hover {
|
||||||
|
background: #475470;
|
||||||
|
color: #fff;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* breadcrumbs */
|
||||||
|
|
||||||
|
#breadcrumbs {
|
||||||
|
background: #F7F8F8 url("../../img/breadcrumbs-background.png") bottom repeat-x;
|
||||||
|
padding-top: 4px;
|
||||||
|
padding-bottom: 30px;
|
||||||
|
font-size: 85%;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#breadcrumbs a:link,
|
||||||
|
#breadcrumbs a:visited {
|
||||||
|
color: #666;
|
||||||
|
}
|
||||||
|
|
||||||
|
#breadcrumbs a:hover,
|
||||||
|
#breadcrumbs a:active {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* content */
|
||||||
|
|
||||||
|
#content {
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sidebar */
|
||||||
|
|
||||||
|
#nav:before {
|
||||||
|
line-height: 0.1;
|
||||||
|
font-size: 1px;
|
||||||
|
background: transparent url("/images/template/menu_tr.gif") no-repeat top right;
|
||||||
|
margin: 0;
|
||||||
|
height: 9px;
|
||||||
|
display: block;
|
||||||
|
border-bottom: 1px solid #ddd;
|
||||||
|
content: url("/images/box/key-point_tl.gif");
|
||||||
|
}
|
||||||
|
#nav {
|
||||||
|
background: #E0E9E9 url("/images/template/menu_back.gif") right repeat-y;
|
||||||
|
}
|
||||||
|
#nav:after {
|
||||||
|
display: block;
|
||||||
|
padding-top: 0;
|
||||||
|
line-height: 0.1;
|
||||||
|
font-size: 1px;
|
||||||
|
content: url("/images/box/key-point_bl.gif");
|
||||||
|
margin: 0 0 0 0;
|
||||||
|
height: 8px;
|
||||||
|
background: transparent url("/images/template/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 {
|
||||||
|
clear: both;
|
||||||
|
margin-top: 3em;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
color: #888;
|
||||||
|
padding: 25px 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer-contents {
|
||||||
|
padding: 0;
|
||||||
|
border-top: 1px solid #C9D0E0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer ul#footer-menu {
|
||||||
|
position: relative;
|
||||||
|
top: -0.8em;
|
||||||
|
margin: 0 1em 0 1em;
|
||||||
|
padding: 0;
|
||||||
|
list-style-type: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer ul#footer-menu li {
|
||||||
|
display: inline;
|
||||||
|
background: #fff;
|
||||||
|
margin: 0 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer ul#footer-menu li a {
|
||||||
|
margin: 0 1em;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer p {
|
||||||
|
margin: 0.3em;
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer .site-tools {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small-print {
|
||||||
|
font-size: 85%;
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small-print a:link,
|
||||||
|
.small-print a:visited {
|
||||||
|
color: #888;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small-print a:hover,
|
||||||
|
.small-print a:active {
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
#locales {
|
||||||
|
margin: 0 auto 1.5em auto;
|
||||||
|
width: 610px;
|
||||||
|
line-height: 160%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#locales p {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0 0.3em 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#locales ul {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#locales li {
|
||||||
|
padding: 0 0.3em 0 0;
|
||||||
|
display: inline;
|
||||||
|
}
|
||||||
|
|
||||||
|
#locales li a {
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
|
@ -0,0 +1,14 @@
|
||||||
|
/* Screen Stylesheet */
|
||||||
|
|
||||||
|
.required {
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
div#UsersAdd label {
|
||||||
|
float:left;
|
||||||
|
width:12em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
text-align:center;
|
||||||
|
}
|
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 1.4 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 992 B |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 3.0 KiB |
Двоичный файл не отображается.
После Ширина: | Высота: | Размер: 2.2 KiB |
|
@ -0,0 +1,118 @@
|
||||||
|
<?php
|
||||||
|
/* SVN FILE: $Id: index.php,v 1.1 2006-07-07 18:09:28 wclouser%mozilla.com Exp $ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Short description for file.
|
||||||
|
*
|
||||||
|
* Long description for file
|
||||||
|
*
|
||||||
|
* PHP versions 4 and 5
|
||||||
|
*
|
||||||
|
* CakePHP : Rapid Development Framework <http://www.cakephp.org/>
|
||||||
|
* Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* 1785 E. Sahara Avenue, Suite 490-204
|
||||||
|
* Las Vegas, Nevada 89104
|
||||||
|
*
|
||||||
|
* Licensed under The MIT License
|
||||||
|
* Redistributions of files must retain the above copyright notice.
|
||||||
|
*
|
||||||
|
* @filesource
|
||||||
|
* @copyright Copyright (c) 2006, Cake Software Foundation, Inc.
|
||||||
|
* @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project
|
||||||
|
* @package cake
|
||||||
|
* @subpackage cake.app.webroot
|
||||||
|
* @since CakePHP v 0.2.9
|
||||||
|
* @version $Revision: 1.1 $
|
||||||
|
* @modifiedby $LastChangedBy: phpnut $
|
||||||
|
* @lastmodified $Date: 2006-07-07 18:09:28 $
|
||||||
|
* @license http://www.opensource.org/licenses/mit-license.php The MIT License
|
||||||
|
*/
|
||||||
|
#apd_set_pprof_trace('/tmp/survey.trace');
|
||||||
|
|
||||||
|
require_once '../config/defines.php';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Do not change
|
||||||
|
*/
|
||||||
|
if (!defined('DS'))
|
||||||
|
{
|
||||||
|
define('DS', DIRECTORY_SEPARATOR);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* These defines should only be edited if you have cake installed in
|
||||||
|
* a directory layout other than the way it is distributed.
|
||||||
|
* Each define has a commented line of code that explains what you would change.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
if (!defined('ROOT'))
|
||||||
|
{
|
||||||
|
//define('ROOT', 'FULL PATH TO DIRECTORY WHERE APP DIRECTORY IS LOCATED DO NOT ADD A TRAILING DIRECTORY SEPARATOR';
|
||||||
|
//You should also use the DS define to seperate your directories
|
||||||
|
define('ROOT', dirname(dirname(dirname(__FILE__))));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!defined('APP_DIR'))
|
||||||
|
{
|
||||||
|
//define('APP_DIR', 'DIRECTORY NAME OF APPLICATION';
|
||||||
|
define('APP_DIR', basename(dirname(dirname(__FILE__))));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This only needs to be changed if the cake installed libs are located
|
||||||
|
* outside of the distributed directory structure.
|
||||||
|
*/
|
||||||
|
if (!defined('CAKE_CORE_INCLUDE_PATH'))
|
||||||
|
{
|
||||||
|
//define ('CAKE_CORE_INCLUDE_PATH', FULL PATH TO DIRECTORY WHERE CAKE CORE IS INSTALLED DO NOT ADD A TRAILING DIRECTORY SEPARATOR';
|
||||||
|
//You should also use the DS define to seperate your directories
|
||||||
|
define('CAKE_CORE_INCLUDE_PATH', ROOT);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////
|
||||||
|
//DO NOT EDIT BELOW THIS LINE//
|
||||||
|
///////////////////////////////
|
||||||
|
|
||||||
|
if (!defined('WEBROOT_DIR'))
|
||||||
|
{
|
||||||
|
define ('WEBROOT_DIR', basename(dirname(__FILE__)));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!defined('WWW_ROOT'))
|
||||||
|
{
|
||||||
|
define('WWW_ROOT', dirname(__FILE__).DS);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!defined('CORE_PATH'))
|
||||||
|
{
|
||||||
|
if(function_exists('ini_set'))
|
||||||
|
{
|
||||||
|
ini_set('include_path',ini_get('include_path').PATH_SEPARATOR.CAKE_CORE_INCLUDE_PATH.PATH_SEPARATOR.ROOT.DS.APP_DIR.DS);
|
||||||
|
define('APP_PATH', null);
|
||||||
|
define('CORE_PATH', null);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
define('APP_PATH', ROOT.DS.APP_DIR.DS);
|
||||||
|
define('CORE_PATH', CAKE_CORE_INCLUDE_PATH.DS);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
require CORE_PATH.'cake'.DS.'bootstrap.php';
|
||||||
|
|
||||||
|
if(isset($_GET['url']) && $_GET['url'] === 'favicon.ico')
|
||||||
|
{
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$Dispatcher= new Dispatcher ();
|
||||||
|
$Dispatcher->dispatch($url);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (DEBUG)
|
||||||
|
{
|
||||||
|
echo "<!-- ". round(getMicrotime() - $TIME_START, 4) ."s -->";
|
||||||
|
}
|
||||||
|
?>
|
Загрузка…
Ссылка в новой задаче