diff --git a/webtools/uninstall_survey/.htaccess b/webtools/uninstall_survey/.htaccess new file mode 100644 index 00000000000..e129ef0e173 --- /dev/null +++ b/webtools/uninstall_survey/.htaccess @@ -0,0 +1,5 @@ + + RewriteEngine on + RewriteRule ^$ webroot/ [L] + RewriteRule (.*) webroot/$1 [L] + diff --git a/webtools/uninstall_survey/app_controller.php b/webtools/uninstall_survey/app_controller.php new file mode 100644 index 00000000000..abe07867cde --- /dev/null +++ b/webtools/uninstall_survey/app_controller.php @@ -0,0 +1,69 @@ + + * 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-05-24 19:14:24 $ + * @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 + */ + +uses('Sanitize'); + +class AppController extends Controller { + + /** + * This function is intended to be used with url parameters when passing them to + * a view. (This is useful when echoing values out in tags, etc. + * Note that the keys to the arrays are escaped as well. + * + * @param array dirty parameters + * @return array cleaned values + */ + function decodeAndSanitize($params) + { + $clean = array(); + + foreach ($params as $var => $val) { + $var = $this->Sanitize->html(urldecode($var)); + $val = $this->Sanitize->html(urldecode($val)); + + $clean[$var] = $val; + } + + return $clean; + } +} + +?> diff --git a/webtools/uninstall_survey/app_model.php b/webtools/uninstall_survey/app_model.php new file mode 100644 index 00000000000..3475d279e80 --- /dev/null +++ b/webtools/uninstall_survey/app_model.php @@ -0,0 +1,72 @@ + + * 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-05-24 19:14:24 $ + * @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 + */ + +uses('sanitize'); + +class AppModel extends Model { + + /** + * Will clean arrays for input into SQL. + * Note that the array keys are getting cleaned here as well. If you're using strings + * (with escapable characters in them) as keys to your array, be extra careful. + * + * @access public + * @param array to be cleaned + * @return array with sql escaped + */ + function cleanArrayForSql($array) + { + $sanitize = new Sanitize(); + $clean = array(); + + foreach ($array as $var => $val) + { + $var = $sanitize->sql($var); + $val = $sanitize->sql($val); + $clean[$var] = $val; + } + + return $clean; + } + +} + +?> diff --git a/webtools/uninstall_survey/config/acl.ini.php b/webtools/uninstall_survey/config/acl.ini.php new file mode 100644 index 00000000000..366a7add6f2 --- /dev/null +++ b/webtools/uninstall_survey/config/acl.ini.php @@ -0,0 +1,76 @@ +; +; SVN FILE: $Id: acl.ini.php,v 1.1 2006-05-24 19:14:24 uid815 Exp $ +;/** +; * Short description for file. +; * +; * +; * PHP versions 4 and 5 +; * +; * CakePHP : Rapid Development Framework +; * 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-05-24 19:14:24 $ +; * @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 \ No newline at end of file diff --git a/webtools/uninstall_survey/config/bootstrap.php b/webtools/uninstall_survey/config/bootstrap.php new file mode 100644 index 00000000000..0d9bed2ed97 --- /dev/null +++ b/webtools/uninstall_survey/config/bootstrap.php @@ -0,0 +1,50 @@ + + * 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-05-24 19:14:24 $ + * @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...'); + * + */ + +//EOF +?> diff --git a/webtools/uninstall_survey/config/core.php b/webtools/uninstall_survey/config/core.php new file mode 100644 index 00000000000..42a07481c59 --- /dev/null +++ b/webtools/uninstall_survey/config/core.php @@ -0,0 +1,153 @@ + + * 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-05-24 19:14:24 $ + * @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'); + +?> diff --git a/webtools/uninstall_survey/config/database.php.default b/webtools/uninstall_survey/config/database.php.default new file mode 100644 index 00000000000..85ef0dd07a8 --- /dev/null +++ b/webtools/uninstall_survey/config/database.php.default @@ -0,0 +1,79 @@ + + * 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-05-24 19:14:24 $ + * @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' => ''); +} + +?> \ No newline at end of file diff --git a/webtools/uninstall_survey/config/inflections.php b/webtools/uninstall_survey/config/inflections.php new file mode 100644 index 00000000000..be906a719ff --- /dev/null +++ b/webtools/uninstall_survey/config/inflections.php @@ -0,0 +1,74 @@ + + * 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-05-24 19:14:24 $ + * @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); +?> \ No newline at end of file diff --git a/webtools/uninstall_survey/config/routes.php b/webtools/uninstall_survey/config/routes.php new file mode 100644 index 00000000000..4c4013b9892 --- /dev/null +++ b/webtools/uninstall_survey/config/routes.php @@ -0,0 +1,51 @@ + + * 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-05-24 19:14:24 $ + * @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'=>'results', 'action'=>'', '')); + +/** + * ...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')); + +?> diff --git a/webtools/uninstall_survey/config/sql/db_acl.sql b/webtools/uninstall_survey/config/sql/db_acl.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/config/sql/sessions.sql b/webtools/uninstall_survey/config/sql/sessions.sql new file mode 100644 index 00000000000..3488faf8e3a --- /dev/null +++ b/webtools/uninstall_survey/config/sql/sessions.sql @@ -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) +); \ No newline at end of file diff --git a/webtools/uninstall_survey/controllers/applications_controller.php b/webtools/uninstall_survey/controllers/applications_controller.php new file mode 100644 index 00000000000..40c9bf29bef --- /dev/null +++ b/webtools/uninstall_survey/controllers/applications_controller.php @@ -0,0 +1,7 @@ + diff --git a/webtools/uninstall_survey/controllers/intentions_controller.php b/webtools/uninstall_survey/controllers/intentions_controller.php new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/controllers/issues_controller.php b/webtools/uninstall_survey/controllers/issues_controller.php new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/controllers/results_controller.php b/webtools/uninstall_survey/controllers/results_controller.php new file mode 100644 index 00000000000..22eecb82ae9 --- /dev/null +++ b/webtools/uninstall_survey/controllers/results_controller.php @@ -0,0 +1,122 @@ +Sanitize = new Sanitize(); + + // Pagination Stuff + $this->pagination_parameters['show'] = empty($_GET['show'])? '10' : $this->Sanitize->paranoid($_GET['show']); + $this->pagination_parameters['sortBy'] = empty($_GET['sort'])? 'created' : $this->Sanitize->paranoid($_GET['sort']); + $this->pagination_parameters['direction'] = empty($_GET['direction'])? 'desc': $this->Sanitize->paranoid($_GET['direction']); + $this->pagination_parameters['page'] = empty($_GET['page'])? '1': $this->Sanitize->paranoid($_GET['page']); + $this->pagination_parameters['order'] = $this->modelClass.'.'.$this->pagination_parameters['sortBy'].' '.strtoupper($this->pagination_parameters['direction']); + } + + /** + * Front page will show the graph + */ + function index() + { + // Products dropdown + $this->set('products', $this->Application->getApplications()); + + // Fill in all the data passed in $_GET + $this->set('url_params',$this->decodeAndSanitize($this->params['url'])); + + // We'll need to include the graphing libraries + $this->set('include_graph_libraries', true); + + // Core data to show on page + $this->set('descriptionAndTotalsData',$this->Result->getDescriptionAndTotalsData($this->params['url'])); + } + + /** + * Display a table of user comments + */ + function comments() + { + // Products dropdown + $this->set('products', $this->Application->getApplications()); + + // Fill in all the data passed in $_GET + $this->set('url_params',$this->decodeAndSanitize($this->params['url'])); + + // Pagination settings + $paging['style'] = 'html'; + $paging['link'] = "/results/comments/?product=".urlencode($this->params['url']['product'])."&start_date=".urlencode($this->params['url']['start_date'])."&end_date=".urlencode($this->params['url']['end_date'])."&show={$this->pagination_parameters['show']}&sort={$this->pagination_parameters['sortBy']}&direction={$this->pagination_parameters['direction']}&page="; + $paging['count'] = $this->Result->getCommentCount($this->params['url']); + $paging['page'] = $this->pagination_parameters['page']; + $paging['limit'] = $this->pagination_parameters['show']; + $paging['show'] = array('10','25','50'); + + // No point in showing them an error if they click on "show 50" but they are + // already on the last page. + if ($paging['count'] < ($this->pagination_parameters['page'] * ($this->pagination_parameters['show']/2))) { + $this->pagination_parameters['page'] = $paging['page'] = 1; + } + + // Set pagination array + $this->set('paging',$paging); + + // Core data to show on page + $this->set('commentsData',$this->Result->getComments($this->params['url'], $this->pagination_parameters)); + + + } + + /** + * Display a csv + */ + function csv() + { + // Get rid of the header/footer/etc. + $this->layout = null; + + // Our CSV library sends headers and everything. Keep the view empty! + csv_send_csv($this->Result->getCsvExportData($this->params['url'])); + + // I'm not exiting here in case someone is going to use post callback stuff. + // In development, that means extra lines get added to our CSVs, but in + // production it should be clean. + } + + +} +?> diff --git a/webtools/uninstall_survey/index.php b/webtools/uninstall_survey/index.php new file mode 100644 index 00000000000..6c3696d8ed3 --- /dev/null +++ b/webtools/uninstall_survey/index.php @@ -0,0 +1,27 @@ + + * 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-05-24 19:14:24 $ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ +require 'webroot'.DIRECTORY_SEPARATOR.'index.php'; +?> \ No newline at end of file diff --git a/webtools/uninstall_survey/models/application.php b/webtools/uninstall_survey/models/application.php new file mode 100644 index 00000000000..e282e8a60e0 --- /dev/null +++ b/webtools/uninstall_survey/models/application.php @@ -0,0 +1,24 @@ + array('className' => 'Intention'), + 'Issue' => array('className' => 'Issue') + ); + + /** + * This was added because running findAll() on this model does a left join on the + * results table which takes around 10 seconds to grab all the data. All I want + * is a list of the applications... + * + * @return array rows representing each application + */ + function getApplications() + { + return $this->query('SELECT * FROM `applications` ORDER BY `id`'); + } +} +?> diff --git a/webtools/uninstall_survey/models/intention.php b/webtools/uninstall_survey/models/intention.php new file mode 100644 index 00000000000..374750fc3b7 --- /dev/null +++ b/webtools/uninstall_survey/models/intention.php @@ -0,0 +1,12 @@ + + array('className' => 'Application') + ); + +} +?> diff --git a/webtools/uninstall_survey/models/issue.php b/webtools/uninstall_survey/models/issue.php new file mode 100644 index 00000000000..008a3b8933f --- /dev/null +++ b/webtools/uninstall_survey/models/issue.php @@ -0,0 +1,10 @@ + array('className' => 'Application'), + 'Result' => array('className' => 'Result') + ); +} +?> diff --git a/webtools/uninstall_survey/models/result.php b/webtools/uninstall_survey/models/result.php new file mode 100644 index 00000000000..fac4d348d75 --- /dev/null +++ b/webtools/uninstall_survey/models/result.php @@ -0,0 +1,339 @@ + + array('className' => 'Issue') + ); + + /** + * Count's all the comments, according to the parameters. + * @param array URL parameters + * @return Cake's findCount() value + */ + function getCommentCount($params) + { + // Clean parameters + $params = $this->cleanArrayForSql($params); + + // We only want to see rows with comments + $_conditions = array("comments NOT LIKE ''"); + + if (!empty($params['start_date'])) { + $_timestamp = strtotime($params['start_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + array_push($_conditions, "`created` >= '{$_date}'"); + } + } + if (!empty($params['end_date'])) { + $_timestamp = strtotime($params['end_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + array_push($_conditions, "`created` <= '{$_date}'"); + } + } + + if (!empty($params['product'])) { + // product's come in looking like: + // Mozilla Firefox 1.5.0.1 + $_exp = explode(' ',urldecode($params['product'])); + + if(count($_exp) == 3) { + $_product = $_exp[0].' '.$_exp[1]; + + $_version = $_exp[2]; + + /* Note that 'Application' is not the actual name of the table! You can + * thank cake for that.*/ + array_push($_conditions, "`Application`.`name` LIKE '%{$_product}%'"); + array_push($_conditions, "`Application`.`version` LIKE '%{$_version}%'"); + } else { + // defaults I guess? + array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'"); + array_push($_conditions, "`Application`.`version` LIKE '1.5'"); + } + + } else { + // I'm providing a default here, because otherwise all results will be + // returned (across all applications) and that is not desired + array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'"); + array_push($_conditions, "`Application`.`version` LIKE '1.5'"); + } + + // Do the actual query + $comments = $this->findCount($_conditions); + + return $comments; + } + + /** + * Will retrieve all the comments within param's and pagination's parameters + * @param array URL parameters + * @param array pagination values from the controller + * @param boolean if privacy is true phone numbers and email addresses will be + * masked + * @return cake result set + */ + function getComments($params, $pagination, $privacy=true) + { + $params = $this->cleanArrayForSql($params); + + // We only want to see rows with comments + $_conditions = array("comments NOT LIKE ''"); + + if (!empty($params['start_date'])) { + $_timestamp = strtotime($params['start_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + array_push($_conditions, "`created` >= '{$_date}'"); + } + } + if (!empty($params['end_date'])) { + $_timestamp = strtotime($params['end_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + array_push($_conditions, "`created` <= '{$_date}'"); + } + } + + if (!empty($params['product'])) { + // product's come in looking like: + // Mozilla Firefox 1.5.0.1 + $_exp = explode(' ',urldecode($params['product'])); + + if(count($_exp) == 3) { + $_product = $_exp[0].' '.$_exp[1]; + + $_version = $_exp[2]; + + /* Note that 'Application' is not the actual name of the table! You can + * thank cake for that.*/ + array_push($_conditions, "`Application`.`name` LIKE '%{$_product}%'"); + array_push($_conditions, "`Application`.`version` LIKE '%{$_version}%'"); + } else { + // defaults I guess? + array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'"); + array_push($_conditions, "`Application`.`version` LIKE '1.5'"); + } + + } else { + // I'm providing a default here, because otherwise all results will be + // returned (across all applications) and that is not desired + array_push($_conditions, "`Application`.`name` LIKE 'Mozilla Firefox'"); + array_push($_conditions, "`Application`.`version` LIKE '1.5'"); + } + + $comments = $this->findAll($_conditions, null, $pagination['order'], $pagination['show'], $pagination['page']); + + if ($privacy) { + // Pull out all the email addresses and phone numbers + foreach ($comments as $var => $val) { + + // Handle foo@bar.com + $_email_regex = '/\ ?(.+)?@(.+)?\.(.+)?\ ?/'; + $comments[$var]['Result']['comments'] = preg_replace($_email_regex,'$1@****.$3',$comments[$var]['Result']['comments']); + $comments[$var]['Result']['intention_text'] = preg_replace($_email_regex,'$1@****.$3',$comments[$var]['Result']['intention_text']); + + // Handle xxx-xxx-xxxx + $_phone_regex = '/([0-9]{3})[ .-]?[0-9]{4}/'; + $comments[$var]['Result']['comments'] = preg_replace($_phone_regex,'$1-****',$comments[$var]['Result']['comments']); + $comments[$var]['Result']['intention_text'] = preg_replace($_phone_regex,'$1-****',$comments[$var]['Result']['intention_text']); + } + } + + + return $comments; + } + + + /** + * This function runs the query to get the export data for the CSV file. + * + * @param array URL parameters + * @param boolean if privacy is true phone numbers and email addresses will be + * masked + * @return array two dimensional array that should be pretty easy to transform + * into a CSV. + */ + function getCsvExportData($params, $privacy=true) + { + $params = $this->cleanArrayForSql($params); + + // We have to use a left join here because there isn't always an intention + $_query = " + SELECT + `results`.`id`, + `results`.`created`, + `results`.`intention_text` as `intention_other`, + `results`.`comments`, + `intentions`.`description` as `intention` + FROM `results` + LEFT JOIN `intentions` ON `results`.`intention_id`=`intentions`.`id` + INNER JOIN `applications` ON `applications`.`id` = `results`.`application_id` + WHERE + 1=1 + "; + + if (!empty($params['start_date'])) { + $_timestamp = strtotime($params['start_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + $_query .= " AND `results`.`created` >= '{$_date}'"; + } + } + + if (!empty($params['end_date'])) { + $_timestamp = strtotime($params['end_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + $_query .= " AND `results`.`created` <= '{$_date}'"; + } + } + + if (!empty($params['product'])) { + // product's come in looking like: + // Mozilla Firefox 1.5.0.1 + $_exp = explode(' ',urldecode($params['product'])); + + if(count($_exp) == 3) { + $_product = $_exp[0].' '.$_exp[1]; + + $_version = $_exp[2]; + + $_query .= " AND `applications`.`name` LIKE '{$_product}'"; + $_query .= " AND `applications`.`version` LIKE '{$_version}'"; + } else { + // defaults I guess? + $_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'"; + $_query .= " AND `applications`.`version` LIKE '1.5'"; + } + } else { + // I'm providing a default here, because otherwise all results will be + // returned (across all applications) and that is not desired + $_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'"; + $_query .= " AND `applications`.`version` LIKE '1.5'"; + } + + $_query .= " ORDER BY `results`.`created` ASC"; + + $res = $this->query($_query); + + // Since we're exporting to a CSV, we need to flatten the results into a 2 + // dimensional table array + $newdata = array(); + + foreach ($res as $result) { + + $newdata[] = array_merge($result['results'], $result['intentions']); + } + + if ($privacy) { + // Pull out all the email addresses and phone numbers + foreach ($newdata as $var => $val) { + + // Handle foo@bar.com + $_email_regex = '/\ ?(.+)?@(.+)?\.(.+)?\ ?/'; + $newdata[$var]['comments'] = preg_replace($_email_regex,'$1@****.$3',$newdata[$var]['comments']); + $newdata[$var]['intention_other'] = preg_replace($_email_regex,'$1@****.$3',$newdata[$var]['intention_other']); + + // Handle xxx-xxx-xxxx + $_phone_regex = '/([0-9]{3})[ .-]?[0-9]{4}/'; + $newdata[$var]['comments'] = preg_replace($_phone_regex,'$1-****',$newdata[$var]['comments']); + $newdata[$var]['intention_other'] = preg_replace($_phone_regex,'$1-****',$newdata[$var]['intention_other']); + } + } + + // Our CSV library just prints out everything in order, so we have to put the + // column labels on here ourselves + $newdata = array_merge(array(array_keys($newdata[0])), $newdata); + + return $newdata; + } + + /** + * Will retrieve the information used for graphing. + * @param the url parameters (unescaped) + * @return a result set + */ + function getDescriptionAndTotalsData($params) + { + // Clean parameters for inserting into SQL + $params = $this->cleanArrayForSql($params); + + /* It would be nice to drop something like this in the SELECT: + * + * CONCAT(COUNT(*)/(SELECT COUNT(*) FROM our_giant_query_all_over_again)*100,'%') AS `percentage` + */ + + $_query = " + SELECT + issues.description, + COUNT( DISTINCT results.id ) AS total + FROM + issues + LEFT JOIN + issues_results ON issues_results.issue_id=issues.id + LEFT JOIN results ON results.id=issues_results.result_id AND results.application_id=applications.id + JOIN applications_issues ON applications_issues.issue_id=issues.id + JOIN applications ON applications.id=applications_issues.application_id + WHERE 1=1 + "; + + if (!empty($params['start_date'])) { + $_timestamp = strtotime($params['start_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + $_query.= " AND `results`.`created` >= '{$_date}'"; + } + } + + if (!empty($params['end_date'])) { + $_timestamp = strtotime($params['end_date']); + + if (!($_timestamp == -1) || $_timestamp == false) { + $_date = date('Y-m-d H:i:s', $_timestamp);//sql format + $_query .= " AND `results`.`created` <= '{$_date}'"; + } + } + + if (!empty($params['product'])) { + // product's come in looking like: + // Mozilla Firefox 1.5.0.1 + $_exp = explode(' ',urldecode($params['product'])); + + if(count($_exp) == 3) { + $_product = $_exp[0].' '.$_exp[1]; + + $_version = $_exp[2]; + + $_query .= " AND `applications`.`name` LIKE '{$_product}'"; + $_query .= " AND `applications`.`version` LIKE '{$_version}'"; + } else { + // defaults I guess? + $_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'"; + $_query .= " AND `applications`.`version` LIKE '1.5'"; + } + } else { + // I'm providing a default here, because otherwise all results will be + // returned (across all applications) and that is not desired + $_query .= " AND `applications`.`name` LIKE 'Mozilla Firefox'"; + $_query .= " AND `applications`.`version` LIKE '1.5'"; + } + + $_query .= " GROUP BY `issues`.`description` + ORDER BY `issues`.`description` DESC"; + + return $this->query($_query); + } +} +?> diff --git a/webtools/uninstall_survey/vendors/csv/csv.php b/webtools/uninstall_survey/vendors/csv/csv.php new file mode 100644 index 00000000000..309d78bac3f --- /dev/null +++ b/webtools/uninstall_survey/vendors/csv/csv.php @@ -0,0 +1,188 @@ + + * if ($_GET['csv']) + * { + * $res=db_query("SELECT * FROM fic_courses"); + * csv_send_csv($res); + * exit; + * } + * + * @package libs + * @subpackage csv + * @author Richard Faaberg + * @author Mike Morgan + */ + +/** + * Use a resource or two dimensional array, then send the CSV results to user. + * @param mixed $res MySQL resource / result, or a two dimensional array + * @param string $name name of the export file + * @return bool true if file sent, false otherwise + */ +function csv_send_csv($res,$name=null) +{ + // set name of the export file + $filename=(is_null($name))?'export-'.date('Y-m-d').'.csv':$name.'.csv'; + // check for valid resource + if ( is_resource($res) ) + { + $csv=csv_export_to_csv($res); + } + elseif( is_array($res) && !empty($res) ) + { + foreach ($res as $row) + { + if ( !is_array($row) ) + ; + else + $csv[] = csv_array_to_csv($row)."\n"; + } + } + + if ( is_array($csv) ) + { + // stream csv to user + header("Content-type: application/x-csv"); + header('Content-disposition: inline; filename="'.$filename.'"'); + header('Cache-Control: private'); + header('Pragma: public'); + foreach ($csv as $row) + { + echo $row; + } + return true; + } + + return false; +} + +/** + * Replace quotes inside of a field with double quotes, which is something CSV requires. + * @param string $string unquoted quotes + * @return string $string quoted quotes + */ +function csv_fix_quotes($string) +{ + return preg_replace('/"/','""',$string); +} + +/** + * Replace line breaks with commas trailed by a space. + * @param string $string string containing line breaks + * @param string string without line breaks + */ +function csv_fix_line_breaks($string) +{ + return preg_replace('/(\n\r|\r)/','\n',$string); +} + +/** + * Replaces instances of double quotes in a string with a single quote. + * @param string $string the string to perform the replacement on + * @return string the string with "" replaced by " + */ +function csv_unfix_quotes($string) +{ + return preg_replace('/""/', '"', $string); +} + +/** + * Place quotes outside of every field, which inherently solves space, line break issues. + * @param string $string + * @return string $string with quotes around it + */ +function csv_add_quotes($string) +{ + return '"'.$string.'"'; +} + +/** + * Removes quotes from the beginning and the end of a string. + * @param string $string the string to remove the quotes from + * @return string the string, sans quotes at the beginning and end + */ +function csv_remove_quotes($string) +{ + $pattern = "/^\"(.*)\"$/"; + $replacement = "$1"; + return preg_replace($pattern, $replacement, $string); +} + +/** + * Convert an array into a CSV string with quotes around each value. + * @param array $array + * @return string the values in $array surrounded by quotes and separated by commas + */ +function csv_array_to_csv($array) +{ + $csv_arr = array(); + foreach ($array as $value) + { + $csv_arr[]=csv_add_quotes(csv_fix_quotes(csv_fix_line_breaks($value))); + } + $csv_string=implode(',',$csv_arr); + + return $csv_string; +} + +/** + * Convert a CSV string into an array. + * Please use sparingly - this creates temp files + * @param string $string the CSV string + * @return array the elements from the CSV string in an array + */ +function csv_csv_to_array($string) +{ + $return = array(); + $length = strlen($string); + + // create a temp file and write the string to it + $tmpfname = tempnam('/tmp', 'csvlib'); + $fh = fopen($tmpfname, 'w'); + fwrite($fh, $string); + fclose($fh); + + // open the file for csv parsing + $csvh = fopen($tmpfname, 'r'); + while (($arraydata = fgetcsv($csvh, $length, ',')) !== false) + { + $return = array_merge($return, $arraydata); + } + + fclose($csvh); + unlink($tmpfname); + + return $return; +} + +/** + * Read a CSV file into a two dimensional array + * It returns all the rows in the file, so if the first row are headers, you'd need to take care of that in the returned array + * @param string $filepath the path to the csv file + * @param string $delimiter delimiter, default to ',' + * @param string $enclosure enclosure character, default to '"' + * @return &array the two dimensional array with the csv file content, or an empty if an error occured + */ +function &csv_csv_file_to_array($filepath, $delimiter=',', $enclosure='"') +{ + $return = array(); + + if (!file_exists($filepath) || !is_readable($filepath)) + return $return; + + $fh =& fopen($filepath, 'r'); + $size = filesize($filepath)+1; + + while ($data =& fgetcsv($fh, $size, $delimiter, $enclosure)) + { + $return[] = $data; + } + + fclose($fh); + + return $return; +} +?> diff --git a/webtools/uninstall_survey/views/elements/footer.thtml b/webtools/uninstall_survey/views/elements/footer.thtml new file mode 100644 index 00000000000..83a8a338e44 --- /dev/null +++ b/webtools/uninstall_survey/views/elements/footer.thtml @@ -0,0 +1,11 @@ + + + + + + + + + + diff --git a/webtools/uninstall_survey/views/elements/header.thtml b/webtools/uninstall_survey/views/elements/header.thtml new file mode 100644 index 00000000000..1c13b209034 --- /dev/null +++ b/webtools/uninstall_survey/views/elements/header.thtml @@ -0,0 +1,26 @@ + + + + Mozilla Uninstall Survey Data + + + charset('UTF-8'); ?> + css('screen'); ?> + link('mochikit/MochiKit.js'); + echo $javascript->link('plotkit/Base.js'); + echo $javascript->link('plotkit/Layout.js'); + echo $javascript->link('plotkit/Canvas.js'); + echo $javascript->link('plotkit/SweetCanvas.js'); + endif; ?> + + +
+
+ Skip Navigation Links +
+
+

Mozilla Firefox Uninstall Survey Data

+
+
+ diff --git a/webtools/uninstall_survey/views/elements/nav.thtml b/webtools/uninstall_survey/views/elements/nav.thtml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/views/helpers/export.php b/webtools/uninstall_survey/views/helpers/export.php new file mode 100644 index 00000000000..6686840812e --- /dev/null +++ b/webtools/uninstall_survey/views/helpers/export.php @@ -0,0 +1,36 @@ +sanitize->html($url_parameters); + * @param string string to put between url and arguments (probably either '?' or + * '&') + * @param array array of strings which will be ignored + * @return string string with the url variables appeneded to it + */ + function buildUrlString($url, $params, $seperator='?', $ignore=array('url')) + { + $arguments = ''; + + foreach ($params as $var => $val) { + if (!in_array($var, $ignore)) { + $arguments .= empty($arguments) ? "{$var}={$val}" : "&{$var}={$val}"; + } + } + + return "{$url}{$seperator}{$arguments}"; + } +} +?> diff --git a/webtools/uninstall_survey/views/helpers/pagination.php b/webtools/uninstall_survey/views/helpers/pagination.php new file mode 100644 index 00000000000..341fead538c --- /dev/null +++ b/webtools/uninstall_survey/views/helpers/pagination.php @@ -0,0 +1,196 @@ +link = $paging['link']; + $this->show = $paging['show']; + $this->page = $paging['page']; + $this->style = $paging['style']; + + $pageCount = ceil($paging['count'] / $paging['limit'] ); + + $this->_pageDetails = array( + 'page'=>$paging['page'], + 'recordCount'=>$paging['count'], + 'pageCount' =>$pageCount, + 'nextPage'=> ($paging['page'] < $pageCount) ? $paging['page']+1 : '', + 'previousPage'=> ($paging['page']>1) ? $paging['page']-1 : '', + 'limit'=>$paging['limit'] + ); + + return true; + } + return false; + } + /** + * Displays limits for the query + * + * @param string $text - text to display before limits + * @param string $separator - display a separate between limits + * + **/ + function show($text=null, $separator=null) + { + if (empty($this->_pageDetails)) { return false; } + if ( !empty($this->_pageDetails['recordCount']) ) + { + $t = ''; + if(is_array($this->show)) + { + $t = $text.$separator; + foreach($this->show as $value) + { + $link = preg_replace('/show=(.*?)&/','show='.$value.'&',$this->link); + if($this->_pageDetails['limit'] == $value) + { + $t .= ''.$value.''.$separator; + } + else + { + if($this->style == 'ajax') + { + $t .= $this->Ajax->linkToRemote($value, array("fallback"=>$this->action."#","url" => $link.$this->_pageDetails['page'],"update" => "ajax_update","method"=>"get")).$separator; + } + else + { + $t .= $this->Html->link($value,$link.$this->_pageDetails['page']).$separator; + } + } + } + } + return $t; + } + return false; + + } + /** + * Displays current result information + * + * @param string $text - text to preceeding the number of results + * + **/ + function result($text) + { + if (empty($this->_pageDetails)) { return false; } + if ( !empty($this->_pageDetails['recordCount']) ) + { + if($this->_pageDetails['recordCount'] > $this->_pageDetails['limit']) + { + $start_row = $this->_pageDetails['page'] > 1 ? (($this->_pageDetails['page']-1)*$this->_pageDetails['limit'])+1:'1'; + $end_row = ($this->_pageDetails['recordCount'] < ($start_row + $this->_pageDetails['limit']-1)) ? $this->_pageDetails['recordCount'] : ($start_row + $this->_pageDetails['limit']-1); + $t = $text.$start_row.'-'.$end_row.' of '.$this->_pageDetails['recordCount']; + } + else + { + $t = $text.$this->_pageDetails['recordCount']; + } + return $t; + } + return false; + } + /** + * Returns a list of page numbers separated by $separator + * + * @param string $separator - defaults to null + * + **/ + function pageNumbers($separator=null) + { + if (empty($this->_pageDetails) || $this->_pageDetails['pageCount'] == 1) { return false; } + $t = array(); + $text = ''; + $pc = 1; + do + { + if($pc == $this->_pageDetails['page']) + { + $text = ''.$pc.''; + } + else + { + if($this->style == 'ajax') + { + $text = $this->Ajax->linkToRemote($pc, array("fallback"=>$this->action."#","url" =>$this->link.$pc,"update" => "ajax_update","method"=>"get")); + } + else + { + $text = $this->Html->link($pc,$this->link.$pc); + } + } + + $t[] = $text; + $pc++; + } + while ($pc<=$this->_pageDetails['pageCount']); + + $t = implode($separator, $t); + + return $t; + } + /** + * Displays a link to the previous page, where the page doesn't exist then + * display the $text + * + * @param string $text - text display: defaults to next + * + **/ + function prevPage($text='prev') + { + if (empty($this->_pageDetails)) { return false; } + if ( !empty($this->_pageDetails['previousPage']) ) + { + if($this->style == 'ajax') + { + $t = $this->Ajax->linkToRemote($text, array("fallback"=>$this->action."#","url" => $this->link.$this->_pageDetails['previousPage'],"update" => "ajax_update","method"=>"get")); + } + else + { + $t = $this->Html->link($text,$this->link.$this->_pageDetails['previousPage']); + } + return $t; + } + return false; + } + /** + * Displays a link to the next page, where the page doesn't exist then + * display the $text + * + * @param string $text - text to display: defaults to next + * + **/ + function nextPage($text='next') + { + if (empty($this->_pageDetails)) { return false; } + if (!empty($this->_pageDetails['nextPage'])) + { + if($this->style == 'ajax') + { + $t = $this->Ajax->linkToRemote($text, array("fallback"=>$this->action."#","url" => $this->link.$this->_pageDetails['nextPage'],"update" => "ajax_update","method"=>"get")); + } + else + { + $t = $this->Html->link($text,$this->link.$this->_pageDetails['nextPage']); + } + return $t; + } + return false; + } + +} +?> diff --git a/webtools/uninstall_survey/views/layouts/default.thtml b/webtools/uninstall_survey/views/layouts/default.thtml new file mode 100644 index 00000000000..31b5a3973a5 --- /dev/null +++ b/webtools/uninstall_survey/views/layouts/default.thtml @@ -0,0 +1,8 @@ +renderElement( 'header' ); ?> +renderElement( 'nav' ); ?> +
+
+ +
+
+renderElement( 'footer'); ?> diff --git a/webtools/uninstall_survey/views/pages/home.thtml b/webtools/uninstall_survey/views/pages/home.thtml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/views/results/comments.thtml b/webtools/uninstall_survey/views/results/comments.thtml new file mode 100644 index 00000000000..6deb653c598 --- /dev/null +++ b/webtools/uninstall_survey/views/results/comments.thtml @@ -0,0 +1,51 @@ +

name); ?>

+ +
+ formTag('/results/comments/','get'); ?> + + + + + + + + + + + + +
+ Date format is yyyy-mm-dd. A blank date will use the largest possible range. +
+ + + + + + $val) : ?> + + +
Date RecordedComment
niceShort($val['Result']['created']); ?>
+ + setPaging($paging)):?> +
    +
  • show('Show ', ' '); ?>
  • +
  • result('Results: '); ?>
  • +
  • pageNumbers(' '); ?>
  • +
+ + + + +
There is no data available for your parameters. Please review your search criteria.
+ + diff --git a/webtools/uninstall_survey/views/results/csv.thtml b/webtools/uninstall_survey/views/results/csv.thtml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/views/results/index.thtml b/webtools/uninstall_survey/views/results/index.thtml new file mode 100644 index 00000000000..cab3e5f63bd --- /dev/null +++ b/webtools/uninstall_survey/views/results/index.thtml @@ -0,0 +1,91 @@ +

name); ?>

+ +
+ formTag('/results/','get'); ?> + + + + + + + + + + + + +
+ Date format is yyyy-mm-dd. A blank date will use the largest possible range. +
+ + + $val) { + $_total += $val[0]['total']; + } + foreach ($descriptionAndTotalsData as $var => $val) { + // We're putting this in a js string, so escape the double quotes + $_description = str_replace('"','\"',$val['issues']['description']); + $_percentage = intval(($val[0]['total'] / $_total)*100); + + $_dataset .= "[{$_count}, {$val[0]['total']}, \"{$_description} (n={$val[0]['total']}, {$_percentage}%)\"], "; + $_count++; + } + $_dataset = "[{$_dataset}]"; + ?> +
+ + + + $val) : ?> + + +
Reason for uninstallingTotal
+
+
+ + + + + + + +
There is no data available for your parameters. Please review your search criteria.
+ + diff --git a/webtools/uninstall_survey/webroot/.htaccess b/webtools/uninstall_survey/webroot/.htaccess new file mode 100644 index 00000000000..f9d8b938bdb --- /dev/null +++ b/webtools/uninstall_survey/webroot/.htaccess @@ -0,0 +1,6 @@ + + RewriteEngine On + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] + \ No newline at end of file diff --git a/webtools/uninstall_survey/webroot/css.php b/webtools/uninstall_survey/webroot/css.php new file mode 100644 index 00000000000..6ed0cfb4ebe --- /dev/null +++ b/webtools/uninstall_survey/webroot/css.php @@ -0,0 +1,116 @@ + + * 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-05-24 19:14:24 $ + * @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; + +?> \ No newline at end of file diff --git a/webtools/uninstall_survey/webroot/css/cake.default.css b/webtools/uninstall_survey/webroot/css/cake.default.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/css/cake.forms.css b/webtools/uninstall_survey/webroot/css/cake.forms.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/css/cake.ie.css b/webtools/uninstall_survey/webroot/css/cake.ie.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/css/screen.css b/webtools/uninstall_survey/webroot/css/screen.css new file mode 100644 index 00000000000..6e9c5704744 --- /dev/null +++ b/webtools/uninstall_survey/webroot/css/screen.css @@ -0,0 +1,133 @@ + /* Screen Stylesheet */ + + /* This is temporary while we use the scaffolding */ + @import url("cake.default.css"); + table { clear:none; } + + /* CORE STYLES */ + + body{ + background-color:#788; + } + div#t_title{ + background-color:#ddd; + height:50px; + padding-left:8px; + } + div#t_title h1{ + font-size:1.7em; + padding-top:10px; + color:#677; + } + div#t_content_container{ + } + div#t_content{ + padding: 20px 10px 100px 10px; + margin-left:151px; + background-image:url('../img/bg.jpg'); + background-position:bottom right; + background-repeat:no-repeat; + min-height:200px; + } + div#t_wrapper{ + margin:0px; + padding:0px; + background-color:#fff; + } + + div#t_border{ + border-left:1px solid #111; + border-right:1px solid #111; + border-bottom:1px solid #111; + margin:0px 30px 0px 30px; + } + + div#t_nav { + padding:20px 0px 50px 0px; + float:left; + width:151px; + } + div#t_nav ul { + list-style-type:none; + padding:2px 0px 0px 0px; + margin:0px; + } + div#t_nav ul li{ + padding:2px 0px 2px 0px; + } + div#t_nav ul li a{ + text-decoration:none; + font-size:.8em; + padding:6px 0px 6px 8px; + margin:0px 0px 0px 0px; + color:#566; + border:none; + } + div#t_nav ul li a:hover{ + color:#f80; + } + div#t_nav h3 { + padding:5px 0px 0px 5px; + font-size:.9em; + } + div#t_footer { + clear:both; + border-top:1px solid #111; + } + + div#t_content h1 { + margin-bottom:100px; + font-size:1.6em; + } + + a.skipnav { + position:absolute; + visibility:hidden; + } + + div#queryform { + margin: 5px 20px 5px 20px; + padding-bottom:20px; + width:700px; + } + div#queryform label { + font-size:.8em; + font-weight:bold; + } + div#queryform input[type="text"]{ + width:7em; + } + + div#exportbox { + } + +/* Classes for graph/table data. (Generally just padding) */ + .results { + padding: 5px 5px 5px 5px; + margin: 5px 5px 5px 5px; + } + + div#notice { + background-color:#ecc; + border:1px dashed #daa; + text-align:center; + padding:6px 6px 6px 6px; + margin:6px 20px 6px 20px; + } + + table.comments tr { + } + + table.comments tr td{ + text-align:left; + border-bottom: 1px solid #222; + } + + div.bar_chart_label { + position: absolute; + text-align: left; + font-size: small; + color: #fff; + overflow: hidden; + z-index: 10; + } diff --git a/webtools/uninstall_survey/webroot/favicon.ico b/webtools/uninstall_survey/webroot/favicon.ico new file mode 100644 index 00000000000..8c5c557bf7b Binary files /dev/null and b/webtools/uninstall_survey/webroot/favicon.ico differ diff --git a/webtools/uninstall_survey/webroot/img/bg.jpg b/webtools/uninstall_survey/webroot/img/bg.jpg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/.htaccess b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/.htaccess new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/Changes b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/Changes new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/LICENSE.txt b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/LICENSE.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/MANIFEST b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/MANIFEST new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/META.json b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/META.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Async.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Async.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Base.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Base.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Color.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Color.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/DOM.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/DOM.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/DateTime.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/DateTime.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Format.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Format.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Iter.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Iter.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Logging.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Logging.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/LoggingPane.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/LoggingPane.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Signal.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Signal.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/VersionHistory.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/VersionHistory.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Visual.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/Visual.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/html/MochiKit/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/js/toc.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/js/toc.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Async.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Async.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Base.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Base.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Color.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Color.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/DOM.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/DOM.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/DateTime.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/DateTime.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Format.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Format.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Iter.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Iter.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Logging.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Logging.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/LoggingPane.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/LoggingPane.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Signal.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Signal.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/VersionHistory.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/VersionHistory.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Visual.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/Visual.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/index.rst b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/doc/rst/MochiKit/index.rst new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/ajax_tables.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/ajax_tables.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/ajax_tables.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/ajax_tables.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/domains.json b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/domains.json new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/domains.xml b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/domains.xml new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/ajax_tables/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/color_wheel/color_wheel.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/color_wheel/color_wheel.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/color_wheel/color_wheel.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/color_wheel/color_wheel.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/color_wheel/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/color_wheel/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/draggable/draggable.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/draggable/draggable.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/draggable/draggable.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/draggable/draggable.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/draggable/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/draggable/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/interpreter/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/interpreter/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/interpreter/interpreter.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/interpreter/interpreter.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/interpreter/interpreter.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/interpreter/interpreter.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/key_events/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/key_events/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/key_events/key_events.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/key_events/key_events.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/key_events/key_events.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/key_events/key_events.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/logging_pane/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/logging_pane/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/logging_pane/logging_pane.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/logging_pane/logging_pane.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/logging_pane/logging_pane.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/logging_pane/logging_pane.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/mochiregexp/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/mochiregexp/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/mochiregexp/mochiregexp.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/mochiregexp/mochiregexp.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/mochiregexp/mochiregexp.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/mochiregexp/mochiregexp.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/rounded_corners/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/rounded_corners/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/rounded_corners/rounded_corners.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/rounded_corners/rounded_corners.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/rounded_corners/rounded_corners.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/rounded_corners/rounded_corners.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/sortable_tables/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/sortable_tables/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/sortable_tables/sortable_tables.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/sortable_tables/sortable_tables.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/sortable_tables/sortable_tables.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/sortable_tables/sortable_tables.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/SyntaxHighlighter.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/SyntaxHighlighter.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/Tests.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/Tests.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushCSharp.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushDelphi.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushJScript.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushPhp.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushPython.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushPython.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushSql.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushSql.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushVb.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushVb.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushXml.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shBrushXml.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shCore.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/lib/SyntaxHighlighter/shCore.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/view-source.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/view-source.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/view-source.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/view-source.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/view-source.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/examples/view-source/view-source.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/include/css/documentation.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/include/css/documentation.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/include/css/general.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/include/css/general.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Async.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Async.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Base.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Base.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Color.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Color.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/DOM.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/DOM.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/DateTime.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/DateTime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Format.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Format.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Iter.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Iter.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Logging.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Logging.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/LoggingPane.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/LoggingPane.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/MochiKit.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/MochiKit.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/MockDOM.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/MockDOM.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Signal.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Signal.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Test.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Test.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Visual.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/Visual.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/__package__.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/lib/MochiKit/__package__.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/packed/MochiKit/MochiKit.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/packed/MochiKit/MochiKit.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/packed/MochiKit/__package__.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/packed/MochiKit/__package__.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/SimpleTest/SimpleTest.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/SimpleTest/SimpleTest.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/SimpleTest/TestRunner.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/SimpleTest/TestRunner.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/SimpleTest/test.css b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/SimpleTest/test.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/index.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Base.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Base.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Color.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Color.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_DateTime.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_DateTime.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Format.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Format.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Iter.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Iter.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Logging.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Logging.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Async.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Async.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Base.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Base.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Color.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Color.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-DOM.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-DOM.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-DateTime.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-DateTime.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Format.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Format.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Iter.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Iter.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-JSAN.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-JSAN.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Logging.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Logging.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-MochiKit.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-MochiKit.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Signal.html b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_MochiKit-Signal.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Signal.js b/webtools/uninstall_survey/webroot/js/MochiKit-1.3.1/tests/test_Signal.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/.htaccess b/webtools/uninstall_survey/webroot/js/plotkit-0.8/.htaccess new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/COPYING b/webtools/uninstall_survey/webroot/js/plotkit-0.8/COPYING new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/Base.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/Base.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/Canvas.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/Canvas.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/Layout.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/Layout.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/SVG.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/SVG.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/SweetCanvas.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/SweetCanvas.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/SweetSVG.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/SweetSVG.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/dummy.svg b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/dummy.svg new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/iecanvas.htc b/webtools/uninstall_survey/webroot/js/plotkit-0.8/PlotKit/iecanvas.htc new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/README b/webtools/uninstall_survey/webroot/js/plotkit-0.8/README new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/MochiKitAdditions.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/MochiKitAdditions.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/MochiKitAdditions.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/MochiKitAdditions.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Base.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Base.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Base.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Base.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Canvas.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Canvas.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Canvas.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Canvas.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Layout.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Layout.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Layout.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Layout.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.QuickStart.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.QuickStart.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.QuickStart.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.QuickStart.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Renderer.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Renderer.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Renderer.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.Renderer.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SVG.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SVG.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SVG.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SVG.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetCanvas.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetCanvas.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetCanvas.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetCanvas.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetSVG.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetSVG.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetSVG.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.SweetSVG.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/PlotKit.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/SVGCanvasCompat.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/SVGCanvasCompat.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/SVGCanvasCompat.txt b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/SVGCanvasCompat.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/barsample.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/barsample.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/black.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/black.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/blue.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/blue.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/cyan.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/cyan.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/doc.css b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/doc.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/generate.py b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/generate.py new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/green.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/green.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/orange.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/orange.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/piesample.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/piesample.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/purple.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/purple.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/red.png b/webtools/uninstall_survey/webroot/js/plotkit-0.8/doc/red.png new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/basic.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/basic.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/basic.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/basic.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo-svg.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo-svg.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo-svg.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo-svg.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/demo.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg-sweet.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg-sweet.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg-sweet.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg-sweet.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/svg.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/sweet.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/sweet.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/sweet.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/sweet.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/tests.css b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/tests.css new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/testsvg.html b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/testsvg.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/testsvg.js b/webtools/uninstall_survey/webroot/js/plotkit-0.8/tests/testsvg.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/prototype-1.4.0.js b/webtools/uninstall_survey/webroot/js/prototype-1.4.0.js new file mode 100644 index 00000000000..e69de29bb2d diff --git a/webtools/uninstall_survey/webroot/js/vendors.php b/webtools/uninstall_survey/webroot/js/vendors.php new file mode 100644 index 00000000000..ac2f6373919 --- /dev/null +++ b/webtools/uninstall_survey/webroot/js/vendors.php @@ -0,0 +1,40 @@ + + * 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.js + * @since CakePHP v 0.2.9 + * @version $Revision: 1.1 $ + * @modifiedby $LastChangedBy: phpnut $ + * @lastmodified $Date: 2006-05-24 19:14:24 $ + * @license http://www.opensource.org/licenses/mit-license.php The MIT License + */ + +/** + * Enter description here... + */ +if(is_file('../../vendors/javascript/'.$_GET['file']) && (preg_match('/(.+)\\.js/', $_GET['file']))) +{ + readfile('../../vendors/javascript/'.$_GET['file']); +} + +?>