Permalink
Browse files

Initial Commit

  • Loading branch information...
0 parents commit 7af0e9330bc097da05239929186a25e7ff4e76ea @k1LoW committed Oct 15, 2011
Showing with 2,106 additions and 0 deletions.
  1. +2 −0 .gitignore
  2. +5 −0 .htaccess
  3. +34 −0 app_controller.php
  4. +36 −0 app_helper.php
  5. +34 −0 app_model.php
  6. +70 −0 config/acl.ini.php
  7. +50 −0 config/bootstrap.php
  8. +304 −0 config/core.php
  9. +95 −0 config/database.php.default
  10. +33 −0 config/routes.php
  11. +73 −0 config/schema/db_acl.php
  12. +50 −0 config/schema/i18n.php
  13. +47 −0 config/schema/sessions.php
  14. +84 −0 controllers/cal_controller.php
  15. 0 controllers/components/empty
  16. +18 −0 index.php
  17. 0 libs/empty
  18. 0 locale/eng/LC_MESSAGES/empty
  19. 0 models/behaviors/empty
  20. 0 models/datasources/empty
  21. 0 plugins/empty
  22. 0 tests/cases/behaviors/empty
  23. 0 tests/cases/components/empty
  24. 0 tests/cases/controllers/empty
  25. 0 tests/cases/helpers/empty
  26. 0 tests/cases/models/empty
  27. 0 tests/fixtures/empty
  28. 0 tests/groups/empty
  29. 0 tmp/cache/models/empty
  30. 0 tmp/cache/persistent/empty
  31. 0 tmp/cache/views/empty
  32. 0 tmp/logs/empty
  33. 0 tmp/sessions/empty
  34. 0 tmp/tests/empty
  35. 0 vendors/shells/tasks/empty
  36. 0 vendors/shells/templates/empty
  37. +29 −0 views/cal/add.ctp
  38. +29 −0 views/cal/edit.ctp
  39. +77 −0 views/cal/index.ctp
  40. +90 −0 views/cal/view.ctp
  41. 0 views/elements/email/html/empty
  42. 0 views/elements/email/text/empty
  43. 0 views/elements/empty
  44. 0 views/errors/empty
  45. 0 views/helpers/empty
  46. 0 views/layouts/email/html/empty
  47. 0 views/layouts/email/text/empty
  48. 0 views/layouts/js/empty
  49. 0 views/layouts/rss/empty
  50. 0 views/layouts/xml/empty
  51. 0 views/pages/empty
  52. +101 −0 views/pages/home.ctp
  53. 0 views/scaffolds/empty
  54. +6 −0 webroot/.htaccess
  55. +96 −0 webroot/css.php
  56. +565 −0 webroot/css/cake.generic.css
  57. BIN webroot/favicon.ico
  58. 0 webroot/files/empty
  59. BIN webroot/img/cake.icon.png
  60. BIN webroot/img/cake.power.gif
  61. BIN webroot/img/test-error-icon.png
  62. BIN webroot/img/test-fail-icon.png
  63. BIN webroot/img/test-pass-icon.png
  64. BIN webroot/img/test-skip-icon.png
  65. +84 −0 webroot/index.php
  66. 0 webroot/js/empty
  67. +94 −0 webroot/test.php
2 .gitignore
@@ -0,0 +1,2 @@
+*~
+*#
5 .htaccess
@@ -0,0 +1,5 @@
+<IfModule mod_rewrite.c>
+ RewriteEngine on
+ RewriteRule ^$ webroot/ [L]
+ RewriteRule (.*) webroot/$1 [L]
+ </IfModule>
34 app_controller.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Application level Controller
+ *
+ * This file is application-wide controller file. You can put all
+ * application-wide controller-related methods here.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * Application Controller
+ *
+ * Add your application-wide methods in the class below, your controllers
+ * will inherit them.
+ *
+ * @package cake
+ * @subpackage cake.app
+ */
+class AppController extends Controller {
+}
36 app_helper.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Application level View Helper
+ *
+ * This file is application-wide helper file. You can put all
+ * application-wide helper-related methods here.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.cake
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+App::import('Helper', 'Helper', false);
+
+/**
+ * This is a placeholder class.
+ * Create the same file in app/app_helper.php
+ *
+ * Add your application-wide methods in the class below, your helpers
+ * will inherit them.
+ *
+ * @package cake
+ * @subpackage cake.cake
+ */
+class AppHelper extends Helper {
+}
34 app_model.php
@@ -0,0 +1,34 @@
+<?php
+/**
+ * Application model for Cake.
+ *
+ * This file is application-wide model file. You can put all
+ * application-wide model-related methods here.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * Application model for Cake.
+ *
+ * Add your application-wide methods in the class below, your models
+ * will inherit them.
+ *
+ * @package cake
+ * @subpackage cake.app
+ */
+class AppModel extends Model {
+}
70 config/acl.ini.php
@@ -0,0 +1,70 @@
+;<?php die() ?>
+; SVN FILE: $Id$
+;/**
+; * ACL configuration
+; *
+; *
+; * PHP versions 4 and 5
+; *
+; * CakePHP(tm) : Rapid Development Framework http://cakephp.org
+; * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+; *
+; * Licensed under The MIT License
+; * Redistributions of files must retain the above copyright notice.
+; *
+; * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+; * @link http://cakephp.org CakePHP(tm) Project
+; * @package cake
+; * @subpackage cake.app.config
+; * @since CakePHP(tm) v 0.10.0.1076
+; * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+; */
+
+; 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
50 config/bootstrap.php
@@ -0,0 +1,50 @@
+<?php
+/**
+ * This file is loaded automatically by the app/webroot/index.php file after the core bootstrap.php
+ *
+ * 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.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config
+ * @since CakePHP(tm) v 0.10.8.2117
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * 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)
+ *
+ * App::build(array(
+ * 'plugins' => array('/full/path/to/plugins/', '/next/full/path/to/plugins/'),
+ * 'models' => array('/full/path/to/models/', '/next/full/path/to/models/'),
+ * 'views' => array('/full/path/to/views/', '/next/full/path/to/views/'),
+ * 'controllers' => array('/full/path/to/controllers/', '/next/full/path/to/controllers/'),
+ * 'datasources' => array('/full/path/to/datasources/', '/next/full/path/to/datasources/'),
+ * 'behaviors' => array('/full/path/to/behaviors/', '/next/full/path/to/behaviors/'),
+ * 'components' => array('/full/path/to/components/', '/next/full/path/to/components/'),
+ * 'helpers' => array('/full/path/to/helpers/', '/next/full/path/to/helpers/'),
+ * 'vendors' => array('/full/path/to/vendors/', '/next/full/path/to/vendors/'),
+ * 'shells' => array('/full/path/to/shells/', '/next/full/path/to/shells/'),
+ * 'locales' => array('/full/path/to/locale/', '/next/full/path/to/locale/')
+ * ));
+ *
+ */
+
+/**
+ * As of 1.3, additional rules for the inflector are added below
+ *
+ * Inflector::rules('singular', array('rules' => array(), 'irregular' => array(), 'uninflected' => array()));
+ * Inflector::rules('plural', array('rules' => array(), 'irregular' => array(), 'uninflected' => array()));
+ *
+ */
304 config/core.php
@@ -0,0 +1,304 @@
+<?php
+/**
+ * This is core configuration file.
+ *
+ * Use it to configure core behavior of Cake.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+/**
+ * CakePHP Debug Level:
+ *
+ * Production Mode:
+ * 0: No error messages, errors, or warnings shown. Flash messages redirect.
+ *
+ * Development Mode:
+ * 1: Errors and warnings shown, model caches refreshed, flash messages halted.
+ * 2: As in 1, but also with full debug messages and SQL output.
+ *
+ * In production mode, flash messages redirect after a time interval.
+ * In development mode, you need to click the flash message to continue.
+ */
+ Configure::write('debug', 2);
+
+/**
+ * CakePHP Log Level:
+ *
+ * In case of Production Mode CakePHP gives you the possibility to continue logging errors.
+ *
+ * The following parameters can be used:
+ * Boolean: Set true/false to activate/deactivate logging
+ * Configure::write('log', true);
+ *
+ * Integer: Use built-in PHP constants to set the error level (see error_reporting)
+ * Configure::write('log', E_ERROR | E_WARNING);
+ * Configure::write('log', E_ALL ^ E_NOTICE);
+ */
+ Configure::write('log', true);
+
+/**
+ * Application wide charset encoding
+ */
+ Configure::write('App.encoding', 'UTF-8');
+
+/**
+ * To configure CakePHP *not* to use mod_rewrite and to
+ * use CakePHP pretty URLs, remove these .htaccess
+ * files:
+ *
+ * /.htaccess
+ * /app/.htaccess
+ * /app/webroot/.htaccess
+ *
+ * And uncomment the App.baseUrl below:
+ */
+ //Configure::write('App.baseUrl', env('SCRIPT_NAME'));
+
+/**
+ * Uncomment the define below to use CakePHP prefix routes.
+ *
+ * The value of the define determines the names of the routes
+ * and their associated controller actions:
+ *
+ * Set to an array of prefixes you want to use in your application. Use for
+ * admin or other prefixed routes.
+ *
+ * Routing.prefixes = array('admin', 'manager');
+ *
+ * Enables:
+ * `admin_index()` and `/admin/controller/index`
+ * `manager_index()` and `/manager/controller/index`
+ *
+ * [Note Routing.admin is deprecated in 1.3. Use Routing.prefixes instead]
+ */
+ //Configure::write('Routing.prefixes', array('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/<name>.php.
+ * Set the value of 'Session.save' to <name> to utilize it in CakePHP.
+ *
+ * To use database sessions, run the app/config/schema/sessions.php schema using
+ * the cake shell command: cake schema create Sessions
+ *
+ */
+ Configure::write('Session.save', 'php');
+
+/**
+ * The model name to be used for the session model.
+ *
+ * 'Session.save' must be set to 'database' in order to utilize this constant.
+ *
+ * The model name set here should *not* be used elsewhere in your application.
+ */
+ //Configure::write('Session.model', 'Session');
+
+/**
+ * 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.
+ *
+ * Please note that if you set a value for Session.model (above), any value set for
+ * Session.table will be ignored.
+ *
+ * [Note: Session.table is deprecated as of CakePHP 1.3]
+ */
+ //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.
+ *
+ * Note the guidelines for Session names states: "The session name references
+ * the session id in cookies and URLs. It should contain only alphanumeric
+ * characters."
+ * @link http://php.net/session_name
+ */
+ 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. You might want to set the value to false, when dealing with
+ * older versions of IE, Chrome Frame or certain web-browsing devices and AJAX
+ */
+ 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', 'medium');
+
+/**
+ * A random string used in security hashing methods.
+ */
+ Configure::write('Security.salt', 'e0fc27eda423f0877a5c20f8666bf76018f263c8');
+
+/**
+ * A random numeric string (digits only) used to encrypt/decrypt strings.
+ */
+ Configure::write('Security.cipherSeed', '636637376436626132373233656333');
+
+/**
+ * Apply timestamps with the last modified time to static assets (js, css, images).
+ * Will append a querystring parameter containing the time the file was modified. This is
+ * useful for invalidating browser caches.
+ *
+ * Set to `true` to apply timestamps, when debug = 0, or set to 'force' to always enable
+ * timestamping.
+ */
+ //Configure::write('Asset.timestamp', true);
+/**
+ * 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');
+
+/**
+ * If you are on PHP 5.3 uncomment this line and correct your server timezone
+ * to fix the date & time related errors.
+ */
+ //date_default_timezone_set('UTC');
+
+/**
+ *
+ * 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)
+ * 'persistent' => true, // [optional] set this to false for non-persistent connections
+ * ));
+ *
+ */
+ Cache::config('default', array('engine' => 'File'));
95 config/database.php.default
@@ -0,0 +1,95 @@
+<?php
+/**
+ * This is core configuration file.
+ *
+ * Use it to configure core behaviour ofCake.
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/**
+ * 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 => 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' => '',
+ );
+}
33 config/routes.php
@@ -0,0 +1,33 @@
+<?php
+/**
+ * Routes configuration
+ *
+ * In this file, you set up routes to your controllers and their actions.
+ * Routes are very important mechanism that allows you to freely connect
+ * different urls to chosen controllers and their actions (functions).
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/**
+ * 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.ctp)...
+ */
+ Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
+/**
+ * ...and connect the rest of 'Pages' controller's urls.
+ */
+ Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
73 config/schema/db_acl.php
@@ -0,0 +1,73 @@
+<?php
+/*DbAcl schema generated on: 2007-11-24 15:11:13 : 1195945453*/
+/**
+ * This is Acl Schema file
+ *
+ * Use it to configure database for ACL
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config.sql
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/*
+ *
+ * Using the Schema command line utility
+ * cake schema run create DbAcl
+ *
+ */
+class DbAclSchema extends CakeSchema {
+
+ var $name = 'DbAcl';
+
+ function before($event = array()) {
+ return true;
+ }
+
+ function after($event = array()) {
+ }
+
+ var $acos = 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 = 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))
+ );
+
+}
50 config/schema/i18n.php
@@ -0,0 +1,50 @@
+<?php
+/*i18n schema generated on: 2007-11-25 07:11:25 : 1196004805*/
+/**
+ * This is i18n Schema file
+ *
+ * Use it to configure database for i18n
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config.sql
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/*
+ *
+ * Using the Schema command line utility
+ * cake schema run create i18n
+ *
+ */
+class i18nSchema extends CakeSchema {
+
+ var $name = 'i18n';
+
+ function before($event = array()) {
+ return true;
+ }
+
+ function after($event = array()) {
+ }
+
+ var $i18n = array(
+ 'id' => 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))
+ );
+
+}
47 config/schema/sessions.php
@@ -0,0 +1,47 @@
+<?php
+/*Sessions schema generated on: 2007-11-25 07:11:54 : 1196004714*/
+/**
+ * This is Sessions Schema file
+ *
+ * Use it to configure database for Sessions
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.config.sql
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+/*
+ *
+ * Using the Schema command line utility
+ * cake schema run create Sessions
+ *
+ */
+class SessionsSchema extends CakeSchema {
+
+ var $name = 'Sessions';
+
+ function before($event = array()) {
+ return true;
+ }
+
+ function after($event = array()) {
+ }
+
+ var $cake_sessions = array(
+ 'id' => 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))
+ );
+
+}
84 controllers/cal_controller.php
@@ -0,0 +1,84 @@
+<?php
+class CalController extends AppController {
+
+ var $name = 'Cal';
+ var $uses = array('Calendar.Vevent');
+
+ /**
+ * beforeFilter
+ *
+ * @return
+ */
+ function beforeFilter(){
+ parent::beforeFilter();
+ $this->set(array('rrule_freqs' => array('daily' => 'daily',
+ 'weekly' => 'weekly',
+ 'monthly' => 'monthly',
+ 'yearly' => 'yearly',
+ )));
+ }
+
+ function index($year = null, $month = null) {
+ if (!$year) {
+ $year = date('Y');
+ }
+ if (!$month) {
+ $month = date('m');
+ }
+ $events = $this->Vevent->findByMonth($month, $year);
+ $this->set(array('year' => $year,
+ 'month' => $month,
+ 'events' => $events,
+ ));
+ }
+
+ function view($uid = null) {
+ if (!$uid) {
+ $this->Session->setFlash(__('Invalid vevent', true));
+ $this->redirect(array('action' => 'index'));
+ }
+ $this->set('vevent', $this->Vevent->findByUid($uid));
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ if ($this->Vevent->setEvent($this->data)) {
+ $this->Session->setFlash(__('The vevent has been saved', true));
+ $this->redirect(array('action' => 'index'));
+ } else {
+ $this->Session->setFlash(__('The vevent could not be saved. Please, try again.', true));
+ }
+ }
+ }
+
+ function edit($uid = null) {
+ if (!$uid && empty($this->data)) {
+ $this->Session->setFlash(__('Invalid vevent', true));
+ $this->redirect(array('action' => 'index'));
+ }
+ if (!empty($this->data)) {
+ if ($this->Vevent->setEvent($this->data)) {
+ $this->Session->setFlash(__('The vevent has been saved', true));
+ $this->redirect(array('action' => 'index'));
+ } else {
+ $this->Session->setFlash(__('The vevent could not be saved. Please, try again.', true));
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Vevent->findByUid($uid);
+ }
+ }
+
+ function delete($uid = null) {
+ if (!$uid) {
+ $this->Session->setFlash(__('Invalid id for vevent', true));
+ $this->redirect(array('action'=>'index'));
+ }
+ if ($this->Vevent->dropEvent($uid)) {
+ $this->Session->setFlash(__('Vevent deleted', true));
+ $this->redirect(array('action'=>'index'));
+ }
+ $this->Session->setFlash(__('Vevent was not deleted', true));
+ $this->redirect(array('action' => 'index'));
+ }
+}
0 controllers/components/empty
No changes.
18 index.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app
+ * @since CakePHP(tm) v 0.10.0.1076
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
0 libs/empty
No changes.
0 locale/eng/LC_MESSAGES/empty
No changes.
0 models/behaviors/empty
No changes.
0 models/datasources/empty
No changes.
0 plugins/empty
No changes.
0 tests/cases/behaviors/empty
No changes.
0 tests/cases/components/empty
No changes.
0 tests/cases/controllers/empty
No changes.
0 tests/cases/helpers/empty
No changes.
0 tests/cases/models/empty
No changes.
0 tests/fixtures/empty
No changes.
0 tests/groups/empty
No changes.
0 tmp/cache/models/empty
No changes.
0 tmp/cache/persistent/empty
No changes.
0 tmp/cache/views/empty
No changes.
0 tmp/logs/empty
No changes.
0 tmp/sessions/empty
No changes.
0 tmp/tests/empty
No changes.
0 vendors/shells/tasks/empty
No changes.
0 vendors/shells/templates/empty
No changes.
29 views/cal/add.ctp
@@ -0,0 +1,29 @@
+<div class="vevents form">
+<?php echo $this->Form->create('Vevent',
+ array('url' => array('controller' => 'cal'), 'inputDefaults' => array('dateFormat' => 'YMD', 'timeFormat' => 24)));?>
+ <fieldset>
+ <legend><?php __('Add Vevent'); ?></legend>
+ <?php
+ echo $this->Form->input('summary', array('type' => 'text'));
+ echo $this->Form->input('description');
+ echo $this->Form->input('location', array('type' => 'text'));
+ echo $this->Form->input('categories', array('type' => 'text'));
+ echo $this->Form->input('dtstart');
+ echo $this->Form->input('dtend');
+ echo $this->Form->input('rrule_freq', array('type' => 'select', 'options' => $rrule_freqs, 'empty' => true));
+ echo $this->Form->input('rrule_count', array('type' => 'text'));
+ echo $this->Form->input('rrule_interval', array('type' => 'text'));
+ echo $this->Form->input('rrule_byday', array('type' => 'text'));
+ echo $this->Form->input('rrule_bymonth', array('type' => 'text'));
+ echo $this->Form->input('rrule_until', array('empty' => true));
+ ?>
+ </fieldset>
+<?php echo $this->Form->end(__('Submit', true));?>
+</div>
+<div class="actions">
+ <h3><?php __('Actions'); ?></h3>
+ <ul>
+
+ <li><?php echo $this->Html->link(__('List Vevents', true), array('action' => 'index'));?></li>
+ </ul>
+</div>
29 views/cal/edit.ctp
@@ -0,0 +1,29 @@
+<div class="vevents form">
+<?php echo $this->Form->create('Vevent',
+ array('url' => array('controller' => 'cal'), 'inputDefaults' => array('dateFormat' => 'YMD', 'timeFormat' => 24)));?>
+ <fieldset>
+ <legend><?php __('Edit Vevent'); ?></legend>
+ <?php
+ echo $this->Form->input('id');
+ echo $this->Form->input('summary', array('type' => 'text'));
+ echo $this->Form->input('description');
+ echo $this->Form->input('location', array('type' => 'text'));
+ echo $this->Form->input('dtstart');
+ echo $this->Form->input('dtend');
+ echo $this->Form->input('rrule_freq', array('type' => 'select', 'options' => $rrule_freqs, 'empty' => true));
+ echo $this->Form->input('rrule_count', array('type' => 'text'));
+ echo $this->Form->input('rrule_interval', array('type' => 'text'));
+ echo $this->Form->input('rrule_byday', array('type' => 'text'));
+ echo $this->Form->input('rrule_bymonth', array('type' => 'text'));
+ echo $this->Form->input('rrule_until', array('empty' => true));
+ ?>
+ </fieldset>
+<?php echo $this->Form->end(__('Submit', true));?>
+</div>
+<div class="actions">
+ <h3><?php __('Actions'); ?></h3>
+ <ul>
+ <li><?php echo $this->Html->link(__('Delete', true), array('action' => 'delete', $this->Form->value('Vevent.uid')), null, sprintf(__('Are you sure you want to delete # %s?', true), $this->Form->value('Vevent.uid'))); ?></li>
+ <li><?php echo $this->Html->link(__('List Vevents', true), array('action' => 'index'));?></li>
+ </ul>
+</div>
77 views/cal/index.ctp
@@ -0,0 +1,77 @@
+<div class="vevents index">
+ <h2><?php __('Vevents');?></h2>
+ <table cellpadding="0" cellspacing="0">
+ <thead>
+ <th>
+ Sun
+ </th>
+ <th>
+ Mon
+ </th>
+ <th>
+ Tue
+ </th>
+ <th>
+ Wed
+ </th>
+ <th>
+ Thu
+ </th>
+ <th>
+ Fri
+ </th>
+ <th>
+ Sat
+ </th>
+ </thead>
+ <tbody>
+ <?php
+ $cal = range(0,6);
+ $w = date('w', mktime(0, 0, 0, $month, 1, $year));
+ for($i = 0; $i < $w; $i++) {
+ $cal[$i] = array(array());
+ }
+ foreach($events as $date => $event) {
+ $w = date('w', strtotime($date));
+ if (!is_array($cal[$w])) {
+ $cal[$w] = array();
+ }
+ $cal[$w][]= array($date => $event);
+ }
+ ?>
+ <?php for($i = 0;$i < 6;$i++): ?>
+ <tr>
+ <?php for($j = 0;$j < 7;$j++): ?>
+ <td>
+ <?php if(!empty($cal[$j][$i])): ?>
+ <?php $date = key($cal[$j][$i]); ?>
+ <div class="date">
+ <?php echo $date; ?>
+ </div>
+ <?php foreach($cal[$j][$i][$date] as $event): ?>
+ <div class="event <?php if($event['id'] % 2 == 0): ?>even<?php else: ?>odd<?php endif; ?>">
+ <strong><?php echo $this->Html->link($event['summary'], array('controller' => 'cal', 'action' => 'view', $event['uid'])); ?></strong>
+ <p>
+ <strong>Start: </strong><?php echo $event['dtstart']; ?>
+ </p>
+ <p>
+ <strong>End&nbsp;&nbsp;: </strong><?php echo $event['dtend']; ?>
+ </p>
+ </div>
+ <?php endforeach; ?>
+ <?php else: ?>
+ -
+ <?php endif; ?>
+ </td>
+ <?php endfor; ?>
+ </tr>
+ <?php endfor; ?>
+ </tbody>
+ </table>
+</div>
+<div class="actions">
+ <h3><?php __('Actions'); ?></h3>
+ <ul>
+ <li><?php echo $this->Html->link(__('New Vevent', true), array('action' => 'add')); ?></li>
+ </ul>
+</div>
90 views/cal/view.ctp
@@ -0,0 +1,90 @@
+<div class="vevents view">
+<h2><?php __('Vevent');?></h2>
+ <dl><?php $i = 0; $class = ' class="altrow"';?>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Uid'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['uid']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Summary'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['summary']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Description'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['description']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Location'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['location']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Categories'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['categories']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Dtstart'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['dtstart']; ?>
+ -
+ <?php echo $vevent['Vevent']['dtend']; ?>
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Freq'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_freq']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Interval'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_interval']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Byday'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_byday']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Bymonth'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_bymonth']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Bymonthday'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_bymonthday']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Count'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_count']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Rrule Until'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['rrule_until']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Created'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['created']; ?>
+ &nbsp;
+ </dd>
+ <dt<?php if ($i % 2 == 0) echo $class;?>><?php __('Modified'); ?></dt>
+ <dd<?php if ($i++ % 2 == 0) echo $class;?>>
+ <?php echo $vevent['Vevent']['modified']; ?>
+ &nbsp;
+ </dd>
+ </dl>
+</div>
+<div class="actions">
+ <h3><?php __('Actions'); ?></h3>
+ <ul>
+ <li><?php echo $this->Html->link(__('Edit Vevent', true), array('action' => 'edit', $vevent['Vevent']['uid'])); ?> </li>
+ <li><?php echo $this->Html->link(__('Delete Vevent', true), array('action' => 'delete', $vevent['Vevent']['uid']), null, sprintf(__('Are you sure you want to delete # %s?', true), $vevent['Vevent']['id'])); ?> </li>
+ <li><?php echo $this->Html->link(__('List Vevents', true), array('action' => 'index')); ?> </li>
+ <li><?php echo $this->Html->link(__('New Vevent', true), array('action' => 'add')); ?> </li>
+ </ul>
+</div>
0 views/elements/email/html/empty
No changes.
0 views/elements/email/text/empty
No changes.
0 views/elements/empty
No changes.
0 views/errors/empty
No changes.
0 views/helpers/empty
No changes.
0 views/layouts/email/html/empty
No changes.
0 views/layouts/email/text/empty
No changes.
0 views/layouts/js/empty
No changes.
0 views/layouts/rss/empty
No changes.
0 views/layouts/xml/empty
No changes.
0 views/pages/empty
No changes.
101 views/pages/home.ctp
@@ -0,0 +1,101 @@
+
+<iframe src="http://cakephp.org/bake-banner" width="830" height="160" style="overflow:hidden; border:none;">
+ <p>For updates and important announcements, visit http://cakefest.org</p>
+</iframe>
+<h2>Sweet, "App" got Baked by CakePHP!</h2>
+
+<?php
+if (Configure::read() > 0):
+ Debugger::checkSecurityKeys();
+endif;
+?>
+<p>
+<?php
+ if (is_writable(TMP)):
+ echo '<span class="notice success">';
+ __('Your tmp directory is writable.');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ __('Your tmp directory is NOT writable.');
+ echo '</span>';
+ endif;
+?>
+</p>
+<div id="url-rewriting-warning" style="background-color:#e32; color:#fff; padding:3px; margin: 20px 0">
+ <?php __('URL rewriting is not properly configured on your server. '); ?>
+ <ol style="padding-left:20px">
+ <li>
+ <a target="_blank" href="http://book.cakephp.org/view/917/Apache-and-mod_rewrite-and-htaccess" style="color:#fff;">
+ <?php __('Help me configure it')?>
+ </a>
+ </li>
+ <li>
+ <a target="_blank" href="http://book.cakephp.org/view/931/CakePHP-Core-Configuration-Variables" style="color:#fff;">
+ <?php __('I don\'t / can\'t use URL rewriting')?>
+ </a>
+ </li>
+ </ol>
+</div>
+<p>
+<?php
+ $settings = Cache::settings();
+ if (!empty($settings)):
+ echo '<span class="notice success">';
+ printf(__('The %s is being used for caching. To change the config edit APP/config/core.php ', true), '<em>'. $settings['engine'] . 'Engine</em>');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ __('Your cache is NOT working. Please check the settings in APP/config/core.php');
+ echo '</span>';
+ endif;
+?>
+</p>
+<p>
+<?php
+ $filePresent = null;
+ if (file_exists(CONFIGS . 'database.php')):
+ echo '<span class="notice success">';
+ __('Your database configuration file is present.');
+ $filePresent = true;
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ __('Your database configuration file is NOT present.');
+ echo '<br/>';
+ __('Rename config/database.php.default to config/database.php');
+ echo '</span>';
+ endif;
+?>
+</p>
+<?php
+if (!empty($filePresent)):
+ if (!class_exists('ConnectionManager')) {
+ require LIBS . 'model' . DS . 'connection_manager.php';
+ }
+ $db = ConnectionManager::getInstance();
+ $connected = $db->getDataSource('default');
+?>
+<p>
+<?php
+ if ($connected->isConnected()):
+ echo '<span class="notice success">';
+ __('Cake is able to connect to the database.');
+ echo '</span>';
+ else:
+ echo '<span class="notice">';
+ __('Cake is NOT able to connect to the database.');
+ echo '</span>';
+ endif;
+?>
+</p>
+<?php endif;?>
+<h3><?php __('Editing this Page') ?></h3>
+<p>
+<?php
+ printf(__('To change the content of this page, edit: %s
+ To change its layout, edit: %s
+ You can also add some CSS styles for your pages at: %s', true),
+ APP . 'views' . DS . 'pages' . DS . 'home.ctp.<br />', APP . 'views' . DS . 'layouts' . DS . 'default.ctp.<br />', APP . 'webroot' . DS . 'css');
+?>
+</p>
0 views/scaffolds/empty
No changes.
6 webroot/.htaccess
@@ -0,0 +1,6 @@
+<IfModule mod_rewrite.c>
+ RewriteEngine On
+ RewriteCond %{REQUEST_FILENAME} !-d
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
+</IfModule>
96 webroot/css.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * CSS helping functions
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.webroot
+ * @since CakePHP(tm) v 0.2.9
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+ header('HTTP/1.1 404 Not Found');
+ exit('File Not Found');
+}
+
+/**
+ * Ensure required classes are available.
+ */
+if (!class_exists('File')) {
+ uses('file');
+}
+
+/**
+ * Make clean CSS
+ *
+ * @param unknown_type $path
+ * @param unknown_type $name
+ * @return unknown
+ */
+ function make_clean_css($path, $name) {
+ App::import('Vendor', 'csspp' . DS . 'csspp');
+ $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;
+ }
+/**
+ * Write CSS cache
+ *
+ * @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, d 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;
565 webroot/css/cake.generic.css
@@ -0,0 +1,565 @@
+/**
+ *
+ * Generic CSS for CakePHP
+ *
+ * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
+ * Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright Copyright 2005-2011, Cake Software Foundation, Inc. (http://cakefoundation.org)
+ * @link http://cakephp.org CakePHP(tm) Project
+ * @package cake
+ * @subpackage cake.app.webroot.css
+ * @since CakePHP(tm)
+ * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
+ */
+
+* {
+ 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 {
+ color: #003d4c;
+ text-decoration: underline;
+ font-weight: bold;
+}
+a:hover {
+ color: #367889;
+ text-decoration:none;
+}
+a img {
+ border:none;
+}
+h1, h2, h3, h4 {
+ font-weight: normal;
+ margin-bottom:0.5em;
+}
+h1 {
+ background:#fff;
+ color: #003d4c;
+ font-size: 100%;
+}
+h2 {
+ background:#fff;
+ color: #e32;
+ font-family:'Gill Sans','lucida grande', helvetica, arial, sans-serif;
+ font-size: 190%;
+}
+h3 {
+ color: #993;
+ font-family:'Gill Sans','lucida grande', helvetica, arial, sans-serif;
+ font-size: 165%;
+}
+h4 {
+ color: #993;
+ font-weight: normal;
+}
+ul, li {
+ margin: 0 12px;
+}
+
+/** Layout **/
+#container {
+ text-align: left;
+}
+
+#header{
+ padding: 10px 20px;
+}
+#header h1 {
+ line-height:20px;
+ background: #003d4c url('../img/cake.icon.png') 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;
+}
+
+/** containers **/
+div.form,
+div.index,
+div.view {
+ float:right;
+ width:76%;
+ border-left:1px solid #666;
+ padding:10px 2%;
+}
+div.actions {
+ float:left;
+ width:16%;
+ padding:10px 1.5%;
+}
+div.actions h3 {
+ padding-top:0;
+ color:#777;
+}
+
+
+/** Tables **/
+table {
+ background: #fff;
+ border-right:0;
+ clear: both;
+ color: #333;
+ margin-bottom: 10px;
+ width: 100%;
+}
+th {
+ border:0;
+ border-bottom:2px solid #555;
+ text-align: left;
+ padding:4px;
+}
+th a {
+ display: block;
+ padding: 2px 4px;
+ text-decoration: none;
+}
+th a.asc:after {
+ content: '';
+}
+th a.desc:after {
+ content: '';
+}
+table tr td {
+ background: #fff;
+ padding: 6px;
+ text-align: left;
+ vertical-align: top;
+ border-bottom:1px solid #ddd;
+}
+table tr:nth-child(2n) td {
+ background: #f5f5f5;
+}
+table .altrow td {
+ background: #f5f5f5;
+}
+td.actions {
+ text-align: center;
+ white-space: nowrap;
+}
+table td.actions a {
+ margin: 0px 6px;
+ padding:2px 5px;
+}
+.cake-sql-log table {
+ background: #f4f4f4;
+}
+.cake-sql-log td {
+ padding: 4px 8px;
+ text-align: left;
+ font-family: Monaco, Consolas, "Courier New", monospaced;
+}
+.cake-sql-log caption {
+ color:#fff;
+}
+
+/** Paging **/
+div.paging {
+ background:#fff;
+ color: #ccc;
+ margin-top: 1em;
+ clear:both;
+}
+div.paging span.disabled {
+ color: #ddd;
+ display: inline;
+}
+div.paging span.current {
+ color: #c73e14;
+}
+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;
+ width: 10em;
+}
+dd {
+ margin-left: 10em;
+ margin-top: -2em;
+ vertical-align: top;
+}
+
+/** Forms **/
+form {
+ clear: both;
+ margin-right: 20px;
+ padding: 0;
+ width: 95%;
+}
+fieldset {
+ border: 1px solid #ccc;
+ margin-bottom: 1em;
+ 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 .input {
+ color: #444;
+}
+form .required {
+ font-weight: bold;
+}
+form .required label:after {
+ color: #e32;
+ content: '*';
+ display:inline;
+}
+form div.submit {
+ border: 0;
+ clear: both;
+ margin-top: 10px;
+}
+label {
+ display: block;
+ font-size: 110%;
+ margin-bottom:3px;
+}
+input, textarea {
+ clear: both;
+ font-size: 140%;
+ font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
+ padding: 1%;
+ width:98%;
+}
+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;
+}
+div.checkbox label {
+ display: inline;
+}
+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%;
+ width: auto;
+}
+form .submit input[type=submit] {
+ background:#62af56;
+ background: -webkit-gradient(linear, left top, left bottom, from(#a8ea9c), to(#62af56));
+ background-image: -moz-linear-gradient(top, #a8ea9c, #62af56);
+ border-color: #2d6324;
+ color: #000;
+ text-shadow: #8cee7c 0px 1px 0px;
+}
+form .submit input[type=submit]:hover {
+ background:#4ca83d;
+ background: -webkit-gradient(linear, left top, left bottom, from(#85e573), to(#4ca83d));
+ background-image: -moz-linear-gradient(top, #85e573, #4ca83d);
+}
+
+/** Notices and Errors **/
+div.message {
+ clear: both;
+ color: #fff;
+ font-size: 140%;
+ font-weight: bold;
+ margin: 0 0 1em 0;
+ background: #c73e14;
+ padding: 5px;
+}
+div.error-message {
+ clear: both;
+ color: #fff;
+ font-weight: bold;
+ background: #c73e14;
+}
+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: 0;
+ padding: 0;
+}
+div.actions li {
+ margin:0 0 0.5em 0;
+ list-style-type: none;
+ white-space: nowrap;
+ padding: 0;
+}
+div.actions ul li a {
+ font-weight: normal;
+ display: block;
+ clear: both;
+}
+div.actions ul li a:hover {
+ text-decoration: underline;
+}
+
+input[type=submit],
+div.actions ul li a,
+td.actions a {
+ font-weight:normal;
+ padding: 4px 8px;
+ background:#e6e49f;
+ background: -webkit-gradient(linear, left top, left bottom, from(#f1f1d4), to(#e6e49f));
+ background-image: -moz-linear-gradient(top, #f1f1d4, #e6e49f);
+ color:#333;
+ border:1px solid #aaac62;
+ -webkit-border-radius:8px;
+ -moz-border-radius:8px;
+ border-radius:8px;
+ text-decoration:none;
+ text-shadow: #fff 0px 1px 0px;
+ min-width: 0;
+}
+input[type=submit]:hover,
+div.actions ul li a:hover,
+td.actions a:hover {
+ background: #f0f09a;
+ background: -webkit-gradient(linear, left top, left bottom, from(#f7f7e1), to(#eeeca9));
+}
+
+/** 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;
+ 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;
+}
+
+/** Elements **/
+#url-rewriting-warning {
+ display: none;
+}
+
+/** custom **/
+div.date{
+ border: 3px solid #003d4c;
+ background-color: #003d4c;
+ padding: 5px;
+ color: #FFFFFF;
+ }
+div.odd {
+ margin: 3px 0px;
+ padding: 5px;
+ border: 3px solid #F08127;
+ background-color: #EDCAAF;
+ }
+div.even {
+ margin: 3px 0px;
+ padding: 5px;
+ border: 3px solid #003D4C;
+ background-color: #9DDCEA;
+ }
+
+.event p {
+ font-size:0.5em;
+ }