diff --git a/site/.htaccess b/site/.htaccess
new file mode 100644
index 0000000..0ed8662
--- /dev/null
+++ b/site/.htaccess
@@ -0,0 +1,5 @@
+
+ RewriteEngine on
+ RewriteRule ^$ webroot/ [L]
+ RewriteRule (.*) webroot/$1 [L]
+
\ No newline at end of file
diff --git a/site/app_controller.php b/site/app_controller.php
new file mode 100644
index 0000000..87357ed
--- /dev/null
+++ b/site/app_controller.php
@@ -0,0 +1,39 @@
+
\ No newline at end of file
diff --git a/site/app_helper.php b/site/app_helper.php
new file mode 100644
index 0000000..eb23db7
--- /dev/null
+++ b/site/app_helper.php
@@ -0,0 +1,41 @@
+
\ No newline at end of file
diff --git a/site/app_model.php b/site/app_model.php
new file mode 100644
index 0000000..7d083b0
--- /dev/null
+++ b/site/app_model.php
@@ -0,0 +1,41 @@
+
\ No newline at end of file
diff --git a/site/config/acl.ini.php b/site/config/acl.ini.php
new file mode 100644
index 0000000..94a9a9a
--- /dev/null
+++ b/site/config/acl.ini.php
@@ -0,0 +1,74 @@
+;
+; SVN FILE: $Id: acl.ini.php 7945 2008-12-19 02:16:01Z gwoo $
+;/**
+; * Short description for file.
+; *
+; *
+; * PHP versions 4 and 5
+; *
+; * CakePHP(tm) : Rapid Development Framework http://www.cakephp.org/
+; * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
+; *
+; * Licensed under The MIT License
+; * Redistributions of files must retain the above copyright notice.
+; *
+; * @filesource
+; * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
+; * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
+; * @package cake
+; * @subpackage cake.app.config
+; * @since CakePHP(tm) v 0.10.0.1076
+; * @version $Revision: 7945 $
+; * @modifiedby $LastChangedBy: gwoo $
+; * @lastmodified $Date: 2008-12-18 18:16:01 -0800 (Thu, 18 Dec 2008) $
+; * @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/site/config/bootstrap.php b/site/config/bootstrap.php
new file mode 100644
index 0000000..2c89c74
--- /dev/null
+++ b/site/config/bootstrap.php
@@ -0,0 +1,44 @@
+
\ No newline at end of file
diff --git a/site/config/core.php b/site/config/core.php
new file mode 100644
index 0000000..3add95a
--- /dev/null
+++ b/site/config/core.php
@@ -0,0 +1,227 @@
+ admin_index() and /admin/controller/index
+ * 'superuser' -> superuser_index() and /superuser/controller/index
+ */
+ //Configure::write('Routing.admin', 'admin');
+
+/**
+ * Turn off all caching application-wide.
+ *
+ */
+ //Configure::write('Cache.disable', true);
+/**
+ * Enable cache checking.
+ *
+ * If set to true, for view caching you must still use the controller
+ * var $cacheAction inside your controllers to define caching settings.
+ * You can either set it controller-wide by setting var $cacheAction = true,
+ * or in each action using $this->cacheAction = true.
+ *
+ */
+ //Configure::write('Cache.check', true);
+/**
+ * Defines the default error type when using the log() function. Used for
+ * differentiating error logging and debugging. Currently PHP supports LOG_DEBUG.
+ */
+ define('LOG_ERROR', 2);
+/**
+ * The preferred session handling method. Valid values:
+ *
+ * 'php' Uses settings defined in your php.ini.
+ * 'cake' Saves session files in CakePHP's /tmp directory.
+ * 'database' Uses CakePHP's database sessions.
+ *
+ * To define a custom session handler, save it at /app/config/.php.
+ * Set the value of 'Session.save' to to utilize it in CakePHP.
+ *
+ * To use database sessions, execute the SQL file found at /app/config/sql/sessions.sql.
+ *
+ */
+ Configure::write('Session.save', 'php');
+/**
+ * The name of the table used to store CakePHP database sessions.
+ *
+ * 'Session.save' must be set to 'database' in order to utilize this constant.
+ *
+ * The table name set here should *not* include any table prefix defined elsewhere.
+ */
+ //Configure::write('Session.table', 'cake_sessions');
+/**
+ * The DATABASE_CONFIG::$var to use for database session handling.
+ *
+ * 'Session.save' must be set to 'database' in order to utilize this constant.
+ */
+ //Configure::write('Session.database', 'default');
+/**
+ * The name of CakePHP's session cookie.
+ */
+ Configure::write('Session.cookie', 'CAKEPHP');
+/**
+ * Session time out time (in seconds).
+ * Actual value depends on 'Security.level' setting.
+ */
+ Configure::write('Session.timeout', '120');
+/**
+ * If set to false, sessions are not automatically started.
+ */
+ Configure::write('Session.start', true);
+/**
+ * When set to false, HTTP_USER_AGENT will not be checked
+ * in the session
+ */
+ Configure::write('Session.checkAgent', true);
+/**
+ * The level of CakePHP security. The session timeout time defined
+ * in 'Session.timeout' is multiplied according to the settings here.
+ * Valid values:
+ *
+ * 'high' Session timeout in 'Session.timeout' x 10
+ * 'medium' Session timeout in 'Session.timeout' x 100
+ * 'low' Session timeout in 'Session.timeout' x 300
+ *
+ * CakePHP session IDs are also regenerated between requests if
+ * 'Security.level' is set to 'high'.
+ */
+ Configure::write('Security.level', 'high');
+/**
+ * A random string used in security hashing methods.
+ */
+ Configure::write('Security.salt', 'fbd497077ac32a7ab159333cd7e3eeb85db5c2a5');
+/**
+ * Compress CSS output by removing comments, whitespace, repeating tags, etc.
+ * This requires a/var/cache directory to be writable by the web server for caching.
+ * and /vendors/csspp/csspp.php
+ *
+ * To use, prefix the CSS link URL with '/ccss/' instead of '/css/' or use HtmlHelper::css().
+ */
+ //Configure::write('Asset.filter.css', 'css.php');
+/**
+ * Plug in your own custom JavaScript compressor by dropping a script in your webroot to handle the
+ * output, and setting the config below to the name of the script.
+ *
+ * To use, prefix your JavaScript link URLs with '/cjs/' instead of '/js/' or use JavaScriptHelper::link().
+ */
+ //Configure::write('Asset.filter.js', 'custom_javascript_output_filter.php');
+/**
+ * The classname and database used in CakePHP's
+ * access control lists.
+ */
+ Configure::write('Acl.classname', 'DbAcl');
+ Configure::write('Acl.database', 'default');
+/**
+ *
+ * Cache Engine Configuration
+ * Default settings provided below
+ *
+ * File storage engine.
+ *
+ * Cache::config('default', array(
+ * 'engine' => 'File', //[required]
+ * 'duration'=> 3600, //[optional]
+ * 'probability'=> 100, //[optional]
+ * 'path' => CACHE, //[optional] use system tmp directory - remember to use absolute path
+ * 'prefix' => 'cake_', //[optional] prefix every cache file with this string
+ * 'lock' => false, //[optional] use file locking
+ * 'serialize' => true, [optional]
+ * ));
+ *
+ *
+ * APC (http://pecl.php.net/package/APC)
+ *
+ * Cache::config('default', array(
+ * 'engine' => 'Apc', //[required]
+ * 'duration'=> 3600, //[optional]
+ * 'probability'=> 100, //[optional]
+ * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
+ * ));
+ *
+ * Xcache (http://xcache.lighttpd.net/)
+ *
+ * Cache::config('default', array(
+ * 'engine' => 'Xcache', //[required]
+ * 'duration'=> 3600, //[optional]
+ * 'probability'=> 100, //[optional]
+ * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
+ * 'user' => 'user', //user from xcache.admin.user settings
+ * 'password' => 'password', //plaintext password (xcache.admin.pass)
+ * ));
+ *
+ *
+ * Memcache (http://www.danga.com/memcached/)
+ *
+ * Cache::config('default', array(
+ * 'engine' => 'Memcache', //[required]
+ * 'duration'=> 3600, //[optional]
+ * 'probability'=> 100, //[optional]
+ * 'prefix' => Inflector::slug(APP_DIR) . '_', //[optional] prefix every cache file with this string
+ * 'servers' => array(
+ * '127.0.0.1:11211' // localhost, default port 11211
+ * ), //[optional]
+ * 'compress' => false, // [optional] compress data in Memcache (slower, but uses less memory)
+ * ));
+ *
+ */
+ Cache::config('default', array('engine' => 'File'));
+?>
\ No newline at end of file
diff --git a/site/config/database.php b/site/config/database.php
new file mode 100644
index 0000000..c875711
--- /dev/null
+++ b/site/config/database.php
@@ -0,0 +1,14 @@
+ 'mysql',
+ 'persistent' => false,
+ 'host' => 'localhost',
+ 'login' => 'pmgr',
+ 'password' => 'pmgruser',
+ 'database' => 'pmgr',
+ 'prefix' => 'pmgr_',
+ );
+}
+?>
\ No newline at end of file
diff --git a/site/config/database.php.default b/site/config/database.php.default
new file mode 100644
index 0000000..c20fd5d
--- /dev/null
+++ b/site/config/database.php.default
@@ -0,0 +1,101 @@
+ The name of a supported driver; valid options are as follows:
+ * mysql - MySQL 4 & 5,
+ * mysqli - MySQL 4 & 5 Improved Interface (PHP5 only),
+ * sqlite - SQLite (PHP5 only),
+ * postgres - PostgreSQL 7 and higher,
+ * mssql - Microsoft SQL Server 2000 and higher,
+ * db2 - IBM DB2, Cloudscape, and Apache Derby (http://php.net/ibm-db2)
+ * oracle - Oracle 8 and higher
+ * firebird - Firebird/Interbase
+ * sybase - Sybase ASE
+ * adodb-[drivername] - ADOdb interface wrapper (see below),
+ * odbc - ODBC DBO driver
+ *
+ * You can add custom database drivers (or override existing drivers) by adding the
+ * appropriate file to app/models/datasources/dbo. Drivers should be named 'dbo_x.php',
+ * where 'x' is the name of the database.
+ *
+ * persistent => true / false
+ * Determines whether or not the database should use a persistent connection
+ *
+ * connect =>
+ * 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)
+ * For all other databases, this setting is deprecated.
+ *
+ * host =>
+ * the host you connect to the database. To add a socket or port number, use 'port' => #
+ *
+ * prefix =>
+ * Uses the given prefix for all the tables in this database. This setting can be overridden
+ * on a per-table basis with the Model::$tablePrefix property.
+ *
+ * schema =>
+ * For Postgres and DB2, specifies which schema you would like to use the tables in. Postgres defaults to
+ * 'public', DB2 defaults to empty.
+ *
+ * encoding =>
+ * For MySQL, MySQLi, Postgres and DB2, specifies the character encoding to use when connecting to the
+ * database. Uses database default.
+ *
+ */
+class DATABASE_CONFIG {
+
+ var $default = array(
+ 'driver' => 'mysql',
+ 'persistent' => false,
+ 'host' => 'localhost',
+ 'login' => 'user',
+ 'password' => 'password',
+ 'database' => 'database_name',
+ 'prefix' => '',
+ );
+
+ var $test = array(
+ 'driver' => 'mysql',
+ 'persistent' => false,
+ 'host' => 'localhost',
+ 'login' => 'user',
+ 'password' => 'password',
+ 'database' => 'test_database_name',
+ 'prefix' => '',
+ );
+}
+?>
\ No newline at end of file
diff --git a/site/config/inflections.php b/site/config/inflections.php
new file mode 100644
index 0000000..429c085
--- /dev/null
+++ b/site/config/inflections.php
@@ -0,0 +1,70 @@
+ 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/site/config/routes.php b/site/config/routes.php
new file mode 100644
index 0000000..44e4c40
--- /dev/null
+++ b/site/config/routes.php
@@ -0,0 +1,39 @@
+ 'pages', 'action' => 'display', 'home'));
+/**
+ * ...and connect the rest of 'Pages' controller's urls.
+ */
+ Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
+?>
\ No newline at end of file
diff --git a/site/config/sql/db_acl.php b/site/config/sql/db_acl.php
new file mode 100644
index 0000000..5f24eab
--- /dev/null
+++ b/site/config/sql/db_acl.php
@@ -0,0 +1,79 @@
+ array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+ 'parent_id' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'model' => array('type'=>'string', 'null' => true),
+ 'foreign_key' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'alias' => array('type'=>'string', 'null' => true),
+ 'lft' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'rght' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
+ );
+
+ var $aros = array(
+ 'id' => array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+ 'parent_id' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'model' => array('type'=>'string', 'null' => true),
+ 'foreign_key' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'alias' => array('type'=>'string', 'null' => true),
+ 'lft' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'rght' => array('type'=>'integer', 'null' => true, 'default' => NULL, 'length' => 10),
+ 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
+ );
+
+ var $aros_acos = array(
+ 'id' => array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+ 'aro_id' => array('type'=>'integer', 'null' => false, 'length' => 10, 'key' => 'index'),
+ 'aco_id' => array('type'=>'integer', 'null' => false, 'length' => 10),
+ '_create' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+ '_read' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+ '_update' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+ '_delete' => array('type'=>'string', 'null' => false, 'default' => '0', 'length' => 2),
+ 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'ARO_ACO_KEY' => array('column' => array('aro_id', 'aco_id'), 'unique' => 1))
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/site/config/sql/db_acl.sql b/site/config/sql/db_acl.sql
new file mode 100644
index 0000000..6d507fe
--- /dev/null
+++ b/site/config/sql/db_acl.sql
@@ -0,0 +1,40 @@
+# $Id: db_acl.sql 7945 2008-12-19 02:16:01Z gwoo $
+#
+# Copyright 2005-2008, Cake Software Foundation, Inc.
+#
+# Licensed under The MIT License
+# Redistributions of files must retain the above copyright notice.
+# http://www.opensource.org/licenses/mit-license.php The MIT License
+
+CREATE TABLE acos (
+ id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ parent_id INTEGER(10) DEFAULT NULL,
+ model VARCHAR(255) DEFAULT '',
+ foreign_key INTEGER(10) UNSIGNED DEFAULT NULL,
+ alias VARCHAR(255) DEFAULT '',
+ lft INTEGER(10) DEFAULT NULL,
+ rght INTEGER(10) DEFAULT NULL,
+ PRIMARY KEY (id)
+);
+
+CREATE TABLE aros_acos (
+ id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ aro_id INTEGER(10) UNSIGNED NOT NULL,
+ aco_id INTEGER(10) UNSIGNED NOT NULL,
+ _create CHAR(2) NOT NULL DEFAULT 0,
+ _read CHAR(2) NOT NULL DEFAULT 0,
+ _update CHAR(2) NOT NULL DEFAULT 0,
+ _delete CHAR(2) NOT NULL DEFAULT 0,
+ PRIMARY KEY(id)
+);
+
+CREATE TABLE aros (
+ id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
+ parent_id INTEGER(10) DEFAULT NULL,
+ model VARCHAR(255) DEFAULT '',
+ foreign_key INTEGER(10) UNSIGNED DEFAULT NULL,
+ alias VARCHAR(255) DEFAULT '',
+ lft INTEGER(10) DEFAULT NULL,
+ rght INTEGER(10) DEFAULT NULL,
+ PRIMARY KEY (id)
+);
\ No newline at end of file
diff --git a/site/config/sql/i18n.php b/site/config/sql/i18n.php
new file mode 100644
index 0000000..72233ff
--- /dev/null
+++ b/site/config/sql/i18n.php
@@ -0,0 +1,56 @@
+ array('type'=>'integer', 'null' => false, 'default' => NULL, 'length' => 10, 'key' => 'primary'),
+ 'locale' => array('type'=>'string', 'null' => false, 'length' => 6, 'key' => 'index'),
+ 'model' => array('type'=>'string', 'null' => false, 'key' => 'index'),
+ 'foreign_key' => array('type'=>'integer', 'null' => false, 'length' => 10, 'key' => 'index'),
+ 'field' => array('type'=>'string', 'null' => false, 'key' => 'index'),
+ 'content' => array('type'=>'text', 'null' => true, 'default' => NULL),
+ 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1), 'locale' => array('column' => 'locale', 'unique' => 0), 'model' => array('column' => 'model', 'unique' => 0), 'row_id' => array('column' => 'foreign_key', 'unique' => 0), 'field' => array('column' => 'field', 'unique' => 0))
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/site/config/sql/i18n.sql b/site/config/sql/i18n.sql
new file mode 100644
index 0000000..484d8a2
--- /dev/null
+++ b/site/config/sql/i18n.sql
@@ -0,0 +1,26 @@
+# $Id: i18n.sql 7945 2008-12-19 02:16:01Z gwoo $
+#
+# Copyright 2005-2008, Cake Software Foundation, Inc.
+#
+# Licensed under The MIT License
+# Redistributions of files must retain the above copyright notice.
+# http://www.opensource.org/licenses/mit-license.php The MIT License
+
+CREATE TABLE i18n (
+ id int(10) NOT NULL auto_increment,
+ locale varchar(6) NOT NULL,
+ model varchar(255) NOT NULL,
+ foreign_key int(10) NOT NULL,
+ field varchar(255) NOT NULL,
+ content mediumtext,
+ PRIMARY KEY (id),
+# UNIQUE INDEX I18N_LOCALE_FIELD(locale, model, foreign_key, field),
+# INDEX I18N_LOCALE_ROW(locale, model, foreign_key),
+# INDEX I18N_LOCALE_MODEL(locale, model),
+# INDEX I18N_FIELD(model, foreign_key, field),
+# INDEX I18N_ROW(model, foreign_key),
+ INDEX locale (locale),
+ INDEX model (model),
+ INDEX row_id (foreign_key),
+ INDEX field (field)
+);
\ No newline at end of file
diff --git a/site/config/sql/sessions.php b/site/config/sql/sessions.php
new file mode 100644
index 0000000..7f00a26
--- /dev/null
+++ b/site/config/sql/sessions.php
@@ -0,0 +1,53 @@
+ array('type'=>'string', 'null' => false, 'key' => 'primary'),
+ 'data' => array('type'=>'text', 'null' => true, 'default' => NULL),
+ 'expires' => array('type'=>'integer', 'null' => true, 'default' => NULL),
+ 'indexes' => array('PRIMARY' => array('column' => 'id', 'unique' => 1))
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/site/config/sql/sessions.sql b/site/config/sql/sessions.sql
new file mode 100644
index 0000000..23a1925
--- /dev/null
+++ b/site/config/sql/sessions.sql
@@ -0,0 +1,16 @@
+# $Id: sessions.sql 7118 2008-06-04 20:49:29Z gwoo $
+#
+# Copyright 2005-2008, 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.
+# http://www.opensource.org/licenses/mit-license.php The MIT License
+
+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/site/controllers/pages_controller.php b/site/controllers/pages_controller.php
new file mode 100644
index 0000000..0e17106
--- /dev/null
+++ b/site/controllers/pages_controller.php
@@ -0,0 +1,86 @@
+redirect('/');
+ }
+ $page = $subpage = $title = null;
+
+ if (!empty($path[0])) {
+ $page = $path[0];
+ }
+ if (!empty($path[1])) {
+ $subpage = $path[1];
+ }
+ if (!empty($path[$count - 1])) {
+ $title = Inflector::humanize($path[$count - 1]);
+ }
+ $this->set(compact('page', 'subpage', 'title'));
+ $this->render(join('/', $path));
+ }
+}
+
+?>
\ No newline at end of file
diff --git a/site/index.php b/site/index.php
new file mode 100644
index 0000000..4e60b84
--- /dev/null
+++ b/site/index.php
@@ -0,0 +1,24 @@
+
\ No newline at end of file
diff --git a/site/tmp/cache/models/cake_model_default_pmgr_list b/site/tmp/cache/models/cake_model_default_pmgr_list
new file mode 100644
index 0000000..fbaa15f
--- /dev/null
+++ b/site/tmp/cache/models/cake_model_default_pmgr_list
@@ -0,0 +1,2 @@
+1243395559
+a:36:{i:0;s:12:"pmgr_actions";i:1;s:27:"pmgr_actions_late_schedules";i:2;s:17:"pmgr_charge_types";i:3;s:19:"pmgr_config_options";i:4;s:18:"pmgr_config_system";i:5;s:20:"pmgr_config_versions";i:6;s:22:"pmgr_contact_addresses";i:7;s:19:"pmgr_contact_emails";i:8;s:20:"pmgr_contact_methods";i:9;s:19:"pmgr_contact_phones";i:10;s:13:"pmgr_contacts";i:11;s:18:"pmgr_group_options";i:12;s:22:"pmgr_group_permissions";i:13;s:11:"pmgr_groups";i:14;s:19:"pmgr_late_schedules";i:15;s:19:"pmgr_lease_contacts";i:16;s:16:"pmgr_lease_types";i:17;s:11:"pmgr_leases";i:18;s:14:"pmgr_map_units";i:19;s:9:"pmgr_maps";i:20;s:10:"pmgr_notes";i:21;s:18:"pmgr_payment_types";i:22;s:15:"pmgr_site_areas";i:23;s:21:"pmgr_site_memberships";i:24;s:17:"pmgr_site_options";i:25;s:10:"pmgr_sites";i:26;s:24:"pmgr_transaction_charges";i:27;s:25:"pmgr_transaction_payments";i:28;s:25:"pmgr_transaction_receipts";i:29;s:32:"pmgr_transaction_reconciliations";i:30;s:15:"pmgr_unit_sizes";i:31;s:15:"pmgr_unit_types";i:32;s:10:"pmgr_units";i:33;s:17:"pmgr_user_options";i:34;s:10:"pmgr_users";i:35;s:5:"posts";}
diff --git a/site/tmp/cache/persistent/cake_core_core_paths b/site/tmp/cache/persistent/cake_core_core_paths
new file mode 100644
index 0000000..f13836c
--- /dev/null
+++ b/site/tmp/cache/persistent/cake_core_core_paths
@@ -0,0 +1,2 @@
+1243395572
+a:10:{s:4:"libs";a:1:{i:0;s:39:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\";}s:5:"model";a:1:{i:0;s:45:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\";}s:8:"behavior";a:1:{i:0;s:55:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\behaviors\\\\";}s:10:"controller";a:1:{i:0;s:50:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\controller\\\\";}s:9:"component";a:1:{i:0;s:61:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\controller\\\\components\\\\";}s:4:"view";a:1:{i:0;s:44:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\";}s:6:"helper";a:1:{i:0;s:52:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\helpers\\\\";}s:4:"cake";a:1:{i:0;s:34:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\";}s:6:"vendor";a:1:{i:0;s:37:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\vendors\\\\";}s:5:"shell";a:1:{i:0;s:47:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\console\\\\libs\\\\";}}
diff --git a/site/tmp/cache/persistent/cake_core_default_en_us b/site/tmp/cache/persistent/cake_core_default_en_us
new file mode 100644
index 0000000..2c0aef8
--- /dev/null
+++ b/site/tmp/cache/persistent/cake_core_default_en_us
@@ -0,0 +1,2 @@
+1243395572
+a:1:{s:11:"LC_MESSAGES";a:1:{s:0:"";a:1:{s:7:"default";a:0:{}}}}
diff --git a/site/tmp/cache/persistent/cake_core_dir_map b/site/tmp/cache/persistent/cake_core_dir_map
new file mode 100644
index 0000000..1a91880
--- /dev/null
+++ b/site/tmp/cache/persistent/cake_core_dir_map
@@ -0,0 +1,2 @@
+1243395572
+a:3:{s:44:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model";a:4:{i:0;s:44:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model";i:1;s:56:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\datasources";i:2;s:60:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\datasources\\\\dbo";i:3;s:54:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\behaviors";}s:38:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs";a:24:{i:0;s:38:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs";i:1;s:43:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view";i:2;s:53:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\scaffolds";i:3;s:49:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\pages";i:4;s:51:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts";i:5;s:55:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts\\\\xml";i:6;s:55:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts\\\\rss";i:7;s:54:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts\\\\js";i:8;s:57:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts\\\\email";i:9;s:62:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts\\\\email\\\\text";i:10;s:62:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\layouts\\\\email\\\\html";i:11;s:51:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\helpers";i:12;s:50:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\errors";i:13;s:52:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\elements";i:14;s:58:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\elements\\\\email";i:15;s:63:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\elements\\\\email\\\\text";i:16;s:63:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\elements\\\\email\\\\html";i:17;s:44:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model";i:18;s:56:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\datasources";i:19;s:60:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\datasources\\\\dbo";i:20;s:54:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\behaviors";i:21;s:49:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\controller";i:22;s:60:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\controller\\\\components";i:23;s:44:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\cache";}s:44:"D:/Website/localhost/public_html\\\\pmgr\\\\models";a:3:{i:0;s:44:"D:/Website/localhost/public_html\\\\pmgr\\\\models";i:1;s:56:"D:\\\\Website\\\\localhost\\\\public_html\\\\pmgr\\\\models\\\\datasources";i:2;s:54:"D:\\\\Website\\\\localhost\\\\public_html\\\\pmgr\\\\models\\\\behaviors";}}
diff --git a/site/tmp/cache/persistent/cake_core_file_map b/site/tmp/cache/persistent/cake_core_file_map
new file mode 100644
index 0000000..e4a4928
--- /dev/null
+++ b/site/tmp/cache/persistent/cake_core_file_map
@@ -0,0 +1,2 @@
+1243395572
+a:2:{s:4:"Core";a:11:{s:12:"Overloadable";s:55:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\overloadable.php";s:10:"Validation";s:53:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\validation.php";s:8:"Behavior";s:57:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\behavior.php";s:17:"ConnectionManager";s:67:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\connection_manager.php";s:5:"Model";s:54:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\model\\\\model.php";s:9:"Component";s:63:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\controller\\\\component.php";s:6:"Helper";s:54:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\helper.php";s:4:"View";s:52:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\view\\\\view.php";s:10:"Controller";s:64:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\controller\\\\controller.php";s:4:"l10n";s:47:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\l10n.php";s:4:"i18n";s:47:"D:\\\\Website\\\\localhost\\\\CakePHP\\\\cake\\\\libs\\\\i18n.php";}s:5:"Model";a:1:{s:8:"AppModel";s:51:"D:/Website/localhost/public_html\\\\pmgr\\\\app_model.php";}}
diff --git a/site/views/elements/email/html/default.ctp b/site/views/elements/email/html/default.ctp
new file mode 100644
index 0000000..a217c80
--- /dev/null
+++ b/site/views/elements/email/html/default.ctp
@@ -0,0 +1,31 @@
+
+ ' . $line . '
';
+endforeach;
+?>
\ No newline at end of file
diff --git a/site/views/elements/email/text/default.ctp b/site/views/elements/email/text/default.ctp
new file mode 100644
index 0000000..70e05eb
--- /dev/null
+++ b/site/views/elements/email/text/default.ctp
@@ -0,0 +1,25 @@
+
+
\ No newline at end of file
diff --git a/site/views/layouts/ajax.ctp b/site/views/layouts/ajax.ctp
new file mode 100644
index 0000000..4857f18
--- /dev/null
+++ b/site/views/layouts/ajax.ctp
@@ -0,0 +1,25 @@
+
+
\ No newline at end of file
diff --git a/site/views/layouts/default.ctp b/site/views/layouts/default.ctp
new file mode 100644
index 0000000..db4d2aa
--- /dev/null
+++ b/site/views/layouts/default.ctp
@@ -0,0 +1,64 @@
+
+
+
+
+ charset(); ?>
+
+
+
+
+ meta('icon');
+
+ echo $html->css('cake.generic');
+
+ echo $scripts_for_layout;
+ ?>
+
+
+
+
+
+
+ flash(); ?>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/site/views/layouts/email/html/default.ctp b/site/views/layouts/email/html/default.ctp
new file mode 100644
index 0000000..72c5442
--- /dev/null
+++ b/site/views/layouts/email/html/default.ctp
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
+
+
+
+
+ This email was sent using the CakePHP Framework
+
+
diff --git a/site/views/layouts/email/text/default.ctp b/site/views/layouts/email/text/default.ctp
new file mode 100644
index 0000000..4c87cf7
--- /dev/null
+++ b/site/views/layouts/email/text/default.ctp
@@ -0,0 +1,29 @@
+
+
+
+
+This email was sent using the CakePHP Framework, http://cakephp.org.
+
diff --git a/site/views/layouts/flash.ctp b/site/views/layouts/flash.ctp
new file mode 100644
index 0000000..a1b56d7
--- /dev/null
+++ b/site/views/layouts/flash.ctp
@@ -0,0 +1,44 @@
+
+
+
+
+charset(); ?>
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/site/views/layouts/js/default.ctp b/site/views/layouts/js/default.ctp
new file mode 100644
index 0000000..d94dc90
--- /dev/null
+++ b/site/views/layouts/js/default.ctp
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/site/views/layouts/rss/default.ctp b/site/views/layouts/rss/default.ctp
new file mode 100644
index 0000000..94067f2
--- /dev/null
+++ b/site/views/layouts/rss/default.ctp
@@ -0,0 +1,17 @@
+header();
+
+if (!isset($channel)) {
+ $channel = array();
+}
+if (!isset($channel['title'])) {
+ $channel['title'] = $title_for_layout;
+}
+
+echo $rss->document(
+ $rss->channel(
+ array(), $channel, $content_for_layout
+ )
+);
+
+?>
\ No newline at end of file
diff --git a/site/views/layouts/xml/default.ctp b/site/views/layouts/xml/default.ctp
new file mode 100644
index 0000000..c688702
--- /dev/null
+++ b/site/views/layouts/xml/default.ctp
@@ -0,0 +1,2 @@
+header()); ?>
+
\ No newline at end of file
diff --git a/site/views/pages/home.ctp b/site/views/pages/home.ctp
new file mode 100644
index 0000000..f19d628
--- /dev/null
+++ b/site/views/pages/home.ctp
@@ -0,0 +1,80 @@
+Sweet, "Pmgr" got Baked by CakePHP!
+
+ 0):
+ Debugger::checkSessionKey();
+endif;
+?>
+
+';
+ __('Your tmp directory is writable.');
+ echo '';
+ else:
+ echo '';
+ __('Your tmp directory is NOT writable.');
+ echo '';
+ endif;
+?>
+
+
+';
+ echo sprintf(__('The %s is being used for caching. To change the config edit APP/config/core.php ', true), ''. $settings['engine'] . 'Engine');
+ echo '';
+ else:
+ echo '';
+ __('Your cache is NOT working. Please check the settings in APP/config/core.php');
+ echo '';
+ endif;
+?>
+
+
+';
+ __('Your database configuration file is present.');
+ $filePresent = true;
+ echo '';
+ else:
+ echo '';
+ __('Your database configuration file is NOT present.');
+ echo '
';
+ __('Rename config/database.php.default to config/database.php');
+ echo '';
+ endif;
+?>
+
+getDataSource('default');
+?>
+
+isConnected()):
+ echo '';
+ __('Cake is able to connect to the database.');
+ echo '';
+ else:
+ echo '';
+ __('Cake is NOT able to connect to the database.');
+ echo '';
+ endif;
+?>
+
+
+
+
+', APP . 'views' . DS . 'layouts' . DS . 'default.ctp.
', APP . 'webroot' . DS . 'css');
+?>
+
diff --git a/site/webroot/.htaccess b/site/webroot/.htaccess
new file mode 100644
index 0000000..f9d8b93
--- /dev/null
+++ b/site/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/site/webroot/css.php b/site/webroot/css.php
new file mode 100644
index 0000000..eb9be9f
--- /dev/null
+++ b/site/webroot/css.php
@@ -0,0 +1,102 @@
+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);
+ $templateModified = time();
+ }
+
+ 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: max-age=86400, must-revalidate"); // HTTP/1.1
+ header("Pragma: cache"); // HTTP/1.0
+ print $output;
+?>
\ No newline at end of file
diff --git a/site/webroot/css/cake.generic.css b/site/webroot/css/cake.generic.css
new file mode 100644
index 0000000..50ee79a
--- /dev/null
+++ b/site/webroot/css/cake.generic.css
@@ -0,0 +1,480 @@
+/* SVN FILE: $Id: cake.generic.css 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://www.cakephp.org)
+ * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @filesource
+ * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
+ * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.webroot.css
+ * @since CakePHP(tm)
+ * @version $Revision: 7945 $
+ * @modifiedby $LastChangedBy: gwoo $
+ * @lastmodified $Date: 2008-12-18 18:16:01 -0800 (Thu, 18 Dec 2008) $
+ * @license http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+
+
+* {
+ margin:0;
+ padding:0;
+}
+
+/* General Style Info */
+body {
+ background: #003d4c;
+ color: #fff;
+ font-family:'lucida grande',verdana,helvetica,arial,sans-serif;
+ font-size:90%;
+ margin: 0;
+}
+a {
+ background:#fff;
+ color: #003d4c;
+ text-decoration: underline;
+ font-weight: bold;
+}
+a:hover {
+ background:#fff;
+ color: #003d4c;
+ text-decoration:none;
+}
+a img {
+ border:none;
+}
+h1, h2, h3, h4 {
+ font-weight: normal;
+}
+h1 {
+ background:#fff;
+ color: #003d4c;
+ font-size: 100%;
+ margin: 0.1em 0;
+}
+h2 {
+ background:#fff;
+ color: #e32;
+ font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
+ font-size: 190%;
+ margin: 0.3em 0;
+ padding-top: 0.8em;
+}
+h3 {
+ color: #993;
+ font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif;
+ font-size: 165%;
+ padding-top: 1.5em;
+}
+h4 {
+ color: #993;
+ font-weight: normal;
+ padding-top: 0.5em;
+}
+ul, li {
+ margin: 0 12px;
+}
+
+/* Layout */
+#container {
+ text-align: left;
+}
+
+#header{
+ padding: 10px 20px;
+}
+#header h1 {
+ background: #003d4c url('../img/cake.icon.gif') no-repeat left;
+ color: #fff;
+ padding: 0px 30px;
+}
+#header h1 a {
+ color: #fff;
+ background: #003d4c;
+ font-weight: normal;
+ text-decoration: none;
+}
+#header h1 a:hover {
+ color: #fff;
+ background: #003d4c;
+ text-decoration: underline;
+}
+#content{
+ background: #fff;
+ clear: both;
+ color: #333;
+ padding: 10px 20px 40px 20px;
+ overflow: auto;
+}
+#footer {
+ clear: both;
+ padding: 6px 10px;
+ text-align: right;
+}
+
+/* Tables */
+table {
+ background: #fff;
+ border:1px solid #ccc;
+ border-right:0;
+ clear: both;
+ color: #333;
+ margin-bottom: 10px;
+ width: 100%;
+}
+th {
+ background: #f2f2f2;
+ border:1px solid #bbb;
+ border-top: 1px solid #fff;
+ border-left: 1px solid #fff;
+ text-align: center;
+}
+th a {
+ background:#f2f2f2;
+ display: block;
+ padding: 2px 4px;
+ text-decoration: none;
+}
+th a:hover {
+ background: #ccc;
+ color: #333;
+ text-decoration: none;
+}
+table tr td {
+ background: #fff;
+ border-right: 1px solid #ccc;
+ padding: 4px;
+ text-align: center;
+ vertical-align: top;
+}
+table tr.altrow td {
+ background: #f4f4f4;
+}
+td.actions {
+ text-align: center;
+ white-space: nowrap;
+}
+td.actions a {
+ margin: 0px 6px;
+}
+.cake-sql-log table {
+ background: #f4f4f4;
+}
+.cake-sql-log td {
+ padding: 4px 8px;
+ text-align: left;
+}
+
+/* Paging */
+div.paging {
+ background:#fff;
+ color: #ccc;
+ margin-bottom: 2em;
+}
+div.paging div.disabled {
+ color: #ddd;
+ display: inline;
+}
+div.paging span {
+}
+div.paging span.current {
+ color: #000;
+}
+div.paging span a {
+}
+
+/* Scaffold View */
+dl {
+ line-height: 2em;
+ margin: 0em 0em;
+ width: 60%;
+}
+dl.altrow {
+ background: #f4f4f4;
+}
+dt {
+ font-weight: bold;
+ padding-left: 4px;
+ vertical-align: top;
+}
+dd {
+ margin-left: 10em;
+ margin-top: -2em;
+ vertical-align: top;
+}
+
+/* Forms */
+form {
+ clear: both;
+ margin-right: 20px;
+ padding: 0;
+ width: 80%;
+}
+fieldset {
+ border: 1px solid #ccc;
+ margin-top: 30px;
+ padding: 16px 20px;
+}
+fieldset legend {
+ background:#fff;
+ color: #e32;
+ font-size: 160%;
+ font-weight: bold;
+}
+fieldset fieldset {
+ margin-top: 0px;
+ margin-bottom: 20px;
+ padding: 16px 10px;
+}
+fieldset fieldset legend {
+ font-size: 120%;
+ font-weight: normal;
+}
+fieldset fieldset div {
+ clear: left;
+ margin: 0 20px;
+}
+form div {
+ clear: both;
+ margin-bottom: 1em;
+ padding: .5em;
+ vertical-align: text-top;
+}
+form div.input {
+ color: #444;
+}
+form div.required {
+ color: #333;
+ font-weight: bold;
+}
+form div.submit {
+ border: 0;
+ clear: both;
+ margin-top: 10px;
+ margin-left: 140px;
+}
+label {
+ display: block;
+ font-size: 110%;
+ padding-right: 20px;
+}
+input, textarea {
+ clear: both;
+ font-size: 140%;
+ font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
+ padding: 2px;
+ width: 100%;
+}
+select {
+ clear: both;
+ font-size: 120%;
+ vertical-align: text-bottom;
+}
+select[multiple=multiple] {
+ width: 100%;
+}
+option {
+ font-size: 120%;
+ padding: 0 3px;
+}
+input[type=checkbox] {
+ clear: left;
+ float: left;
+ margin: 0px 6px 7px 2px;
+ width: auto;
+}
+input[type=radio] {
+ float:left;
+ width:auto;
+ margin: 0 3px 7px 0;
+}
+div.radio label {
+ margin: 0 0 6px 20px;
+}
+input[type=submit] {
+ display: inline;
+ font-size: 110%;
+ padding: 2px 5px;
+ width: auto;
+ vertical-align: bottom;
+}
+
+/* Notices and Errors */
+div.message {
+ clear: both;
+ color: #900;
+ font-size: 140%;
+ font-weight: bold;
+ margin: 1em 0;
+}
+div.error-message {
+ clear: both;
+ color: #900;
+ font-weight: bold;
+}
+p.error {
+ background-color: #e32;
+ color: #fff;
+ font-family: Courier, monospace;
+ font-size: 120%;
+ line-height: 140%;
+ padding: 0.8em;
+ margin: 1em 0;
+}
+p.error em {
+ color: #000;
+ font-weight: normal;
+ line-height: 140%;
+}
+.notice {
+ background: #ffcc00;
+ color: #000;
+ display: block;
+ font-family: Courier, monospace;
+ font-size: 120%;
+ line-height: 140%;
+ padding: 0.8em;
+ margin: 1em 0;
+}
+.success {
+ background: green;
+ color: #fff;
+}
+
+/* Actions */
+div.actions ul {
+ margin: 0px 0;
+ padding: 0;
+}
+div.actions li {
+ display: inline;
+ list-style-type: none;
+ line-height: 2em;
+ margin: 0 2em 0 0;
+ white-space: nowrap;
+}
+div.actions ul li a {
+ background:#fff;
+ color: #003d4c;
+ text-decoration: none;
+}
+div.actions ul li a:hover {
+ color: #333;
+ text-decoration: underline;
+}
+
+/* Related */
+div.related {
+ clear: both;
+ display: block;
+}
+
+/* Debugging */
+pre {
+ color: #000;
+ background: #f0f0f0;
+ padding: 1em;
+}
+pre.cake-debug {
+ background: #ffcc00;
+ font-size: 120%;
+ line-height: 140%;
+ margin-top: 1em;
+ overflow: auto;
+ position: relative;
+}
+div.cake-stack-trace {
+ background: #fff;
+ border: 4px dotted #ffcc00;
+ color: #333;
+ margin: 0px;
+ padding: 6px;
+ font-size: 120%;
+ line-height: 140%;
+ overflow: auto;
+ position: relative;
+}
+div.cake-code-dump pre {
+ position: relative;
+ overflow: auto;
+}
+div.cake-stack-trace pre, div.cake-code-dump pre {
+ color: #000;
+ background-color: #F0F0F0;
+ margin: 0px;
+ padding: 1em;
+ overflow: auto;
+}
+div.cake-code-dump pre, div.cake-code-dump pre code {
+ clear: both;
+ font-size: 12px;
+ line-height: 15px;
+ margin: 4px 2px;
+ padding: 4px;
+ overflow: auto;
+}
+div.cake-code-dump span.code-highlight {
+ background-color: #ff0;
+ padding: 4px;
+}
+div.code-coverage-results div.code-line {
+ padding-left:5px;
+ display:block;
+ margin-left:10px;
+}
+div.code-coverage-results div.uncovered span.content {
+ background:#ecc;
+}
+div.code-coverage-results div.covered span.content {
+ background:#cec;
+}
+div.code-coverage-results div.ignored span.content {
+ color:#aaa;
+}
+div.code-coverage-results span.line-num {
+ color:#666;
+ display:block;
+ float:left;
+ width:20px;
+ text-align:right;
+ margin-right:5px;
+}
+div.code-coverage-results span.line-num strong {
+ color:#666;
+}
+div.code-coverage-results div.start {
+ border:1px solid #aaa;
+ border-width:1px 1px 0px 1px;
+ margin-top:30px;
+ padding-top:5px;
+}
+div.code-coverage-results div.end {
+ border:1px solid #aaa;
+ border-width:0px 1px 1px 1px;
+ margin-bottom:30px;
+ padding-bottom:5px;
+}
+div.code-coverage-results div.realstart {
+ margin-top:0px;
+}
+div.code-coverage-results p.note {
+ color:#bbb;
+ padding:5px;
+ margin:5px 0 10px;
+ font-size:10px;
+}
+div.code-coverage-results span.result-bad {
+ color: #a00;
+}
+div.code-coverage-results span.result-ok {
+ color: #fa0;
+}
+div.code-coverage-results span.result-good {
+ color: #0a0;
+}
\ No newline at end of file
diff --git a/site/webroot/favicon.ico b/site/webroot/favicon.ico
new file mode 100644
index 0000000..b36e81f
Binary files /dev/null and b/site/webroot/favicon.ico differ
diff --git a/site/webroot/img/cake.icon.gif b/site/webroot/img/cake.icon.gif
new file mode 100644
index 0000000..f29f72e
Binary files /dev/null and b/site/webroot/img/cake.icon.gif differ
diff --git a/site/webroot/img/cake.power.gif b/site/webroot/img/cake.power.gif
new file mode 100644
index 0000000..8f8d570
Binary files /dev/null and b/site/webroot/img/cake.power.gif differ
diff --git a/site/webroot/index.php b/site/webroot/index.php
new file mode 100644
index 0000000..9c2e5a8
--- /dev/null
+++ b/site/webroot/index.php
@@ -0,0 +1,93 @@
+dispatch($url);
+ }
+ if (Configure::read() > 0) {
+ echo "";
+ }
+?>
\ No newline at end of file
diff --git a/site/webroot/js/vendors.php b/site/webroot/js/vendors.php
new file mode 100644
index 0000000..a6fcf32
--- /dev/null
+++ b/site/webroot/js/vendors.php
@@ -0,0 +1,42 @@
+
\ No newline at end of file
diff --git a/site/webroot/test.php b/site/webroot/test.php
new file mode 100644
index 0000000..485a68b
--- /dev/null
+++ b/site/webroot/test.php
@@ -0,0 +1,181 @@
+
+ * Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
+ *
+ * Licensed under The Open Group Test Suite License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @filesource
+ * @copyright Copyright 2005-2008, Cake Software Foundation, Inc. (http://www.cakefoundation.org)
+ * @link https://trac.cakephp.org/wiki/Developement/TestSuite CakePHP(tm) Tests
+ * @package cake
+ * @subpackage cake.cake.tests.libs
+ * @since CakePHP(tm) v 1.2.0.4433
+ * @version $Revision: 7945 $
+ * @modifiedby $LastChangedBy: gwoo $
+ * @lastmodified $Date: 2008-12-18 18:16:01 -0800 (Thu, 18 Dec 2008) $
+ * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License
+ */
+error_reporting(E_ALL);
+set_time_limit(0);
+ini_set('memory_limit','128M');
+ini_set('display_errors', 1);
+/**
+ * Use the DS to separate the directories in other defines
+ */
+ if (!defined('DS')) {
+ define('DS', DIRECTORY_SEPARATOR);
+ }
+/**
+ * These defines should only be edited if you have cake installed in
+ * a directory layout other than the way it is distributed.
+ * When using custom settings be sure to use the DS and do not add a trailing DS.
+ */
+
+/**
+ * The full path to the directory which holds "app", WITHOUT a trailing DS.
+ *
+ */
+ if (!defined('ROOT')) {
+ define('ROOT', dirname(dirname(dirname(__FILE__))));
+ }
+/**
+ * The actual directory name for the "app".
+ *
+ */
+ if (!defined('APP_DIR')) {
+ define('APP_DIR', basename(dirname(dirname(__FILE__))));
+ }
+/**
+ * The absolute path to the "cake" directory, WITHOUT a trailing DS.
+ *
+ */
+ if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+ define('CAKE_CORE_INCLUDE_PATH', 'D:\Website\localhost\CakePHP');
+ }
+
+/**
+ * Editing below this line should not be necessary.
+ * Change at your own risk.
+ *
+ */
+if (!defined('WEBROOT_DIR')) {
+ define('WEBROOT_DIR', basename(dirname(__FILE__)));
+}
+if (!defined('WWW_ROOT')) {
+ define('WWW_ROOT', dirname(__FILE__) . DS);
+}
+if (!defined('CORE_PATH')) {
+ if (function_exists('ini_set') && ini_set('include_path', CAKE_CORE_INCLUDE_PATH . PATH_SEPARATOR . ROOT . DS . APP_DIR . DS . PATH_SEPARATOR . ini_get('include_path'))) {
+ define('APP_PATH', null);
+ define('CORE_PATH', null);
+ } else {
+ define('APP_PATH', ROOT . DS . APP_DIR . DS);
+ define('CORE_PATH', CAKE_CORE_INCLUDE_PATH . DS);
+ }
+}
+if (!include(CORE_PATH . 'cake' . DS . 'bootstrap.php')) {
+ trigger_error("CakePHP core could not be found. Check the value of CAKE_CORE_INCLUDE_PATH in APP/webroot/index.php. It should point to the directory containing your " . DS . "cake core directory and your " . DS . "vendors root directory.", E_USER_ERROR);
+}
+
+$corePath = Configure::corePaths('cake');
+if (isset($corePath[0])) {
+ define('TEST_CAKE_CORE_INCLUDE_PATH', rtrim($corePath[0], DS) . DS);
+} else {
+ define('TEST_CAKE_CORE_INCLUDE_PATH', CAKE_CORE_INCLUDE_PATH);
+}
+
+require_once CAKE_TESTS_LIB . 'test_manager.php';
+
+if (Configure::read('debug') < 1) {
+ die(__('Debug setting does not allow access to this url.', true));
+}
+
+if (!isset($_SERVER['SERVER_NAME'])) {
+ $_SERVER['SERVER_NAME'] = '';
+}
+if (empty( $_GET['output'])) {
+ $_GET['output'] = 'html';
+}
+/**
+ *
+ * Used to determine output to display
+ */
+define('CAKE_TEST_OUTPUT_HTML', 1);
+define('CAKE_TEST_OUTPUT_TEXT', 2);
+
+if (isset($_GET['output']) && $_GET['output'] == 'html') {
+ define('CAKE_TEST_OUTPUT', CAKE_TEST_OUTPUT_HTML);
+} else {
+ Debugger::output('txt');
+ define('CAKE_TEST_OUTPUT', CAKE_TEST_OUTPUT_TEXT);
+}
+
+if (!App::import('Vendor', 'simpletest' . DS . 'reporter')) {
+ CakePHPTestHeader();
+ include CAKE_TESTS_LIB . 'simpletest.php';
+ CakePHPTestSuiteFooter();
+ exit();
+}
+
+$analyzeCodeCoverage = false;
+if (isset($_GET['code_coverage'])) {
+ $analyzeCodeCoverage = true;
+ require_once CAKE_TESTS_LIB . 'code_coverage_manager.php';
+ if (!extension_loaded('xdebug')) {
+ CakePHPTestHeader();
+ include CAKE_TESTS_LIB . 'xdebug.php';
+ CakePHPTestSuiteFooter();
+ exit();
+ }
+}
+
+CakePHPTestHeader();
+CakePHPTestSuiteHeader();
+define('RUN_TEST_LINK', $_SERVER['PHP_SELF']);
+
+if (isset($_GET['group'])) {
+ if ('all' == $_GET['group']) {
+ TestManager::runAllTests(CakeTestsGetReporter());
+ } else {
+ if ($analyzeCodeCoverage) {
+ CodeCoverageManager::start($_GET['group'], CakeTestsGetReporter());
+ }
+ TestManager::runGroupTest(ucfirst($_GET['group']), CakeTestsGetReporter());
+ if ($analyzeCodeCoverage) {
+ CodeCoverageManager::report();
+ }
+ }
+
+ CakePHPTestRunMore();
+ CakePHPTestAnalyzeCodeCoverage();
+} elseif (isset($_GET['case'])) {
+ if ($analyzeCodeCoverage) {
+ CodeCoverageManager::start($_GET['case'], CakeTestsGetReporter());
+ }
+
+ TestManager::runTestCase($_GET['case'], CakeTestsGetReporter());
+
+ if ($analyzeCodeCoverage) {
+ CodeCoverageManager::report();
+ }
+
+ CakePHPTestRunMore();
+ CakePHPTestAnalyzeCodeCoverage();
+} elseif (isset($_GET['show']) && $_GET['show'] == 'cases') {
+ CakePHPTestCaseList();
+} else {
+ CakePHPTestGroupTestList();
+}
+CakePHPTestSuiteFooter();
+$output = ob_get_clean();
+echo $output;
+?>
\ No newline at end of file