945aba96e0313bbdd303d056231041afee1eb25f
Author: Theaxiom
Date: 2009-04-15 17:43:32 -0700
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..0ed8662
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,5 @@
+<IfModule mod_rewrite.c>
+ RewriteEngine on
+ RewriteRule ^$ webroot/ [L]
+ RewriteRule (.*) webroot/$1 [L]
+ </IfModule>
\ No newline at end of file
diff --git a/app_controller.php b/app_controller.php
new file mode 100644
index 0000000..847d9a7
--- /dev/null
+++ b/app_controller.php
@@ -0,0 +1,230 @@
+<?php
+class AppController extends Controller {
+
+ var $components = array('Acl', 'Auth');
+ var $passed = null;
+ var $icons = null;
+ var $events = null;
+ var $users = null;
+
+ function beforeFilter() {
+ $this->Configuration = ClassRegistry::init('Configuration');
+ if (isset($this->Configuration) && !empty($this->Configuration->table)) {
+ $this->Configuration->load();
+ }
+
+ // auth component stuff
+ $this->Auth->authorize = 'actions';
+ //$this->Auth->enabled = false;
+ $this->Auth->loginRedirect = array('controller' => 'projects', 'action' => 'index');
+ $this->Auth->allowedActions = array('logout', 'login', 'display');
+ //$this->Auth->allowedActions = array('*');
+ $this->Auth->authError = 'Access Denied. Please contact the administrator.';
+ $this->Auth->actionPath = 'controllers/';
+
+ // if the user is logged in and see if they have open timeclocks and projects
+ if ($this->Auth->user()) {
+ $left['OpenTimeclocks'] = ClassRegistry::init('Timeclock')->openTimeclocks($this->Auth->user('id'));
+ $left['UserProjects'] = ClassRegistry::init('Project')->userProjects($this->Auth->user('id'), $this->Auth->user('group_id'));
+ //$left['userEvents'] = ClassRegistry::init('User')->find('all', array('conditions' => array('User.id' =>$this->Auth->user('id'))));
+ $this->set(compact('left'));
+
+ // get icons
+ $this->icons = ClassRegistry::init('Icon')->find('list');
+ $this->set('icons', $this->icons);
+
+
+ // log the user's actions
+ foreach ($this->params['pass'] as $pass) {
+ $this->passed .= $pass . ',';
+ }
+
+ $this->passed = rtrim($this->passed, ",");
+ $this->logAction();
+ }
+
+ //$this->buildAcl();
+
+ // set our default page title into our view based off the current controller name
+ $this->pageTitle = Inflector::humanize($this->params['controller']) . ' : ' . Inflector::humanize($this->params['action']);
+ }
+
+ // this function tracks our user's actions
+ function logAction ()
+ {
+ // prepare the data variable
+ $this->data['ActionLog']['user_id'] = $this->Auth->user('id');
+ $this->data['ActionLog']['controller'] = $this->params['controller'];
+ $this->data['ActionLog']['action'] = $this->params['action'];
+ $this->data['ActionLog']['params'] = $this->passed;
+
+ // insert new log
+ $actionLog = ClassRegistry::init('ActionLog');
+ $actionLog->create();
+ $actionLog->save($this->data);
+
+ unset($this->data['ActionLog']);
+ }
+
+ // our custom flash function that makes life easier
+ function flash($message, $url)
+ {
+ $controllerName = Inflector::humanize(Inflector::singularize($this->params['controller']));
+
+ if ($url == 'dashboard') {
+ $url = array('controller'=>'projects', 'action'=>'index');
+ } elseif ($url == 'index') {
+ $url = array('action'=>'index');
+ }
+
+ switch ($message) {
+ case 'saved':
+ $message = 'The ' . $controllerName . ' has been saved.';
+ break;
+ case 'deleted':
+ $message = 'The ' . $controllerName . ' has been deleted.';
+ break;
+ case 'failed':
+ $message = 'The ' . $controllerName . ' could not be saved. Please try again';
+ break;
+ case 'invalid':
+ $message = 'Invalid ' . $controllerName . '.';
+ break;
+ case 'noid':
+ $message = 'Invalid ID.';
+ break;
+ }
+
+ $this->Session->setFlash($message);
+ if (!empty($url)) {
+ $this->redirect($url);
+ }
+ }
+
+/**
+ * Rebuild the Acl based on the current controllers in the application
+ *
+ * @return void
+ */
+ function buildAcl() {
+ $log = array();
+
+ $aco =& $this->Acl->Aco;
+ $root = $aco->node('controllers');
+ if (!$root) {
+ $aco->create(array('parent_id' => null, 'model' => null, 'alias' => 'controllers'));
+ $root = $aco->save();
+ $root['Aco']['id'] = $aco->id;
+ $log[] = 'Created Aco node for controllers';
+ } else {
+ $root = $root[0];
+ }
+
+ App::import('Core', 'File');
+ $Controllers = Configure::listObjects('controller');
+ $appIndex = array_search('App', $Controllers);
+ if ($appIndex !== false ) {
+ unset($Controllers[$appIndex]);
+ }
+ $baseMethods = get_class_methods('Controller');
+ $baseMethods[] = 'buildAcl';
+
+ $Plugins = $this->_get_plugin_controller_names();
+ $Controllers = array_merge($Controllers, $Plugins);
+
+ // look at each controller in app/controllers
+ foreach ($Controllers as $ctrlName) {
+ App::import('Controller', $ctrlName);
+ $ctrlclass = $ctrlName . 'Controller';
+ $methods = get_class_methods($ctrlclass);
+
+ // find / make controller node
+ $controllerNode = $aco->node('controllers/'.$ctrlName);
+ if (!$controllerNode) {
+ $aco->create(array('parent_id' => $root['Aco']['id'], 'model' => null, 'alias' => $ctrlName));
+ $controllerNode = $aco->save();
+ $controllerNode['Aco']['id'] = $aco->id;
+ $log[] = 'Created Aco node for '.$ctrlName;
+ } else {
+ $controllerNode = $controllerNode[0];
+ }
+
+ //clean the methods. to remove those in Controller and private actions.
+ foreach ($methods as $k => $method) {
+ if (strpos($method, '_', 0) === 0) {
+ unset($methods[$k]);
+ continue;
+ }
+ if (in_array($method, $baseMethods)) {
+ unset($methods[$k]);
+ continue;
+ }
+ $methodNode = $aco->node('controllers/'.$ctrlName.'/'.$method);
+ if (!$methodNode) {
+ $aco->create(array('parent_id' => $controllerNode['Aco']['id'], 'model' => null, 'alias' => $method));
+ $methodNode = $aco->save();
+ $log[] = 'Created Aco node for '. $method;
+ }
+ }
+ }
+ debug($log);
+ }
+
+ /**
+ * Get the names of the plugin controllers ...
+ *
+ * This function will get an array of the plugin controller names, and
+ * also makes sure the controllers are available for us to get the
+ * method names by doing an App::import for each plugin controller.
+ *
+ * @return array of plugin names.
+ *
+ */
+ function _get_plugin_controller_names(){
+ App::import('Core', 'File', 'Folder');
+ $paths = Configure::getInstance();
+ $folder =& new Folder();
+ // Change directory to the plugins
+ $folder->cd(APP.'plugins');
+ // Get a list of the files that have a file name that ends
+ // with controller.php
+ $files = $folder->findRecursive('.*_controller\.php');
+ // Get the list of plugins
+ $Plugins = Configure::listObjects('plugin');
+
+ // Loop through the controllers we found int the plugins directory
+ foreach($files as $f => $fileName)
+ {
+ // Get the base file name
+ $file = basename($fileName);
+
+ // Get the controller name
+ $file = Inflector::camelize(substr($file, 0, strlen($file)-strlen('_controller.php')));
+
+ // Loop through the plugins
+ foreach($Plugins as $pluginName){
+ if (preg_match('/^'.$pluginName.'/', $file)){
+ // First get rid of the App controller for the plugin
+ // We do this because the app controller is never called
+ // directly ...
+ if (preg_match('/^'.$pluginName.'App/', $file)){
+ unset($files[$f]);
+ } else {
+ if (!App::import('Controller', $pluginName.'.'.$file))
+ {
+ debug('Error importing '.$file.' for plugin '.$pluginName);
+ }
+
+ /// Now prepend the Plugin name ...
+ // This is required to allow us to fetch the method names.
+ $files[$f] = $file;
+ }
+ break;
+ }
+ }
+ }
+
+ return $files;
+ }
+}
+?>
diff --git a/app_helper.php b/app_helper.php
new file mode 100644
index 0000000..eb23db7
--- /dev/null
+++ b/app_helper.php
@@ -0,0 +1,41 @@
+<?php
+/* SVN FILE: $Id: app_helper.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * 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://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.cake
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+App::import('Core', 'Helper');
+/**
+ * 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 {
+}
+?>
\ No newline at end of file
diff --git a/app_model.php b/app_model.php
new file mode 100644
index 0000000..7d083b0
--- /dev/null
+++ b/app_model.php
@@ -0,0 +1,41 @@
+<?php
+/* SVN FILE: $Id: app_model.php 7945 2008-12-19 02:16:01Z gwoo $ */
+
+/**
+ * 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://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
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+
+/**
+ * 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 {
+}
+?>
\ No newline at end of file
diff --git a/config/acl.ini.php b/config/acl.ini.php
new file mode 100644
index 0000000..94a9a9a
--- /dev/null
+++ b/config/acl.ini.php
@@ -0,0 +1,74 @@
+;<?php die() ?>
+; 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/config/bootstrap.php b/config/bootstrap.php
new file mode 100644
index 0000000..2c89c74
--- /dev/null
+++ b/config/bootstrap.php
@@ -0,0 +1,44 @@
+<?php
+/* SVN FILE: $Id: bootstrap.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * Long 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.8.2117
+ * @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
+ */
+/**
+ *
+ * This file is loaded automatically by the app/webroot/index.php file after the core bootstrap.php is loaded
+ * This is an application wide file to load any function that is not used within a class define.
+ * You can also use this to include or require any files in your application.
+ *
+ */
+/**
+ * The settings below can be used to set additional paths to models, views and controllers.
+ * This is related to Ticket #470 (https://trac.cakephp.org/ticket/470)
+ *
+ * $modelPaths = array('full path to models', 'second full path to models', 'etc...');
+ * $viewPaths = array('this path to views', 'second full path to views', 'etc...');
+ * $controllerPaths = array('this path to controllers', 'second full path to controllers', 'etc...');
+ *
+ */
+//EOF
+?>
\ No newline at end of file
diff --git a/config/core.php b/config/core.php
new file mode 100644
index 0000000..111c75e
--- /dev/null
+++ b/config/core.php
@@ -0,0 +1,227 @@
+<?php
+/* SVN FILE: $Id: core.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * This is core configuration file.
+ *
+ * Use it to configure core behavior of Cake.
+ *
+ * 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.2.9
+ * @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
+ */
+/**
+ * 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.
+ * 3: As in 2, but also with full controller dump.
+ *
+ * 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', 1);
+/**
+ * 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 admin routes.
+ *
+ * The value of the define determines the name of the route
+ * and its associated controller actions:
+ *
+ * 'admin' -> 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/<name>.php.
+ * Set the value of 'Session.save' to <name> 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', 'low');
+/**
+ * A random string used in security hashing methods.
+ */
+ Configure::write('Security.salt', '89037fe9742b08e3676c45792c0ccc84001d8cac');
+/**
+ * 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'));
+?>
diff --git a/config/database.php.default b/config/database.php.default
new file mode 100644
index 0000000..c20fd5d
--- /dev/null
+++ b/config/database.php.default
@@ -0,0 +1,101 @@
+<?php
+/* SVN FILE: $Id: database.php.default 8004 2009-01-16 20:15:21Z gwoo $ */
+/**
+ * This is core configuration file.
+ *
+ * Use it to configure core behaviour ofCake.
+ *
+ * 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.2.9
+ * @version $Revision: 8004 $
+ * @modifiedby $LastChangedBy: gwoo $
+ * @lastmodified $Date: 2009-01-16 12:15:21 -0800 (Fri, 16 Jan 2009) $
+ * @license http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+/**
+ * In this file you set up your database connection details.
+ *
+ * @package cake
+ * @subpackage cake.config
+ */
+/**
+ * Database configuration class.
+ * You can specify multiple configurations for production, development and testing.
+ *
+ * driver => 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/config/inflections.php b/config/inflections.php
new file mode 100644
index 0000000..429c085
--- /dev/null
+++ b/config/inflections.php
@@ -0,0 +1,70 @@
+<?php
+/* SVN FILE: $Id: inflections.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Custom Inflected Words.
+ *
+ * This file is used to hold words that are not matched in the normail Inflector::pluralize() and
+ * Inflector::singularize()
+ *
+ * PHP versions 4 and %
+ *
+ * CakePHP(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 1.0.0.2312
+ * @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
+ */
+/**
+ * This is a key => value array of regex used to match words.
+ * If key matches then the value is returned.
+ *
+ * $pluralRules = array('/(s)tatus$/i' => '\1\2tatuses', '/^(ox)$/i' => '\1\2en', '/([m|l])ouse$/i' => '\1ice');
+ */
+ $pluralRules = array();
+/**
+ * This is a key only array of plural words that should not be inflected.
+ * Notice the last comma
+ *
+ * $uninflectedPlural = array('.*[nrlm]ese', '.*deer', '.*fish', '.*measles', '.*ois', '.*pox');
+ */
+ $uninflectedPlural = array();
+/**
+ * This is a key => value array of plural irregular words.
+ * If key matches then the value is returned.
+ *
+ * $irregularPlural = array('atlas' => 'atlases', 'beef' => 'beefs', 'brother' => 'brothers')
+ */
+ $irregularPlural = array();
+/**
+ * This is a key => value array of regex used to match words.
+ * If key matches then the value is returned.
+ *
+ * $singularRules = array('/(s)tatuses$/i' => '\1\2tatus', '/(matr)ices$/i' =>'\1ix','/(vert|ind)ices$/i')
+ */
+ $singularRules = array();
+/**
+ * This is a key only array of singular words that should not be inflected.
+ * You should not have to change this value below if you do change it use same format
+ * as the $uninflectedPlural above.
+ */
+ $uninflectedSingular = $uninflectedPlural;
+/**
+ * This is a key => value array of singular irregular words.
+ * Most of the time this will be a reverse of the above $irregularPlural array
+ * You should not have to change this value below if you do change it use same format
+ *
+ * $irregularSingular = array('atlases' => 'atlas', 'beefs' => 'beef', 'brothers' => 'brother')
+ */
+ $irregularSingular = array_flip($irregularPlural);
+?>
\ No newline at end of file
diff --git a/config/routes.php b/config/routes.php
new file mode 100644
index 0000000..04c7afb
--- /dev/null
+++ b/config/routes.php
@@ -0,0 +1,39 @@
+<?php
+/* SVN FILE: $Id: routes.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * In this file, you set up routes to your controllers and their actions.
+ * Routes are very important mechanism that allows you to freely connect
+ * different urls to chosen controllers and their actions (functions).
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(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.2.9
+ * @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
+ */
+/**
+ * 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' => 'users', 'action' => 'login'));
+/**
+ * ...and connect the rest of 'Pages' controller's urls.
+ */
+ Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
+?>
diff --git a/config/sql/db_acl.php b/config/sql/db_acl.php
new file mode 100644
index 0000000..5f24eab
--- /dev/null
+++ b/config/sql/db_acl.php
@@ -0,0 +1,79 @@
+<?php
+/* SVN FILE: $Id: db_acl.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/*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://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.sql
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+/*
+ *
+ * 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))
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/config/sql/db_acl.sql b/config/sql/db_acl.sql
new file mode 100644
index 0000000..6d507fe
--- /dev/null
+++ b/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/config/sql/i18n.php b/config/sql/i18n.php
new file mode 100644
index 0000000..72233ff
--- /dev/null
+++ b/config/sql/i18n.php
@@ -0,0 +1,56 @@
+<?php
+/* SVN FILE: $Id: i18n.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/*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://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.sql
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+/*
+ *
+ * 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))
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/config/sql/i18n.sql b/config/sql/i18n.sql
new file mode 100644
index 0000000..484d8a2
--- /dev/null
+++ b/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/config/sql/kinspire.sql b/config/sql/kinspire.sql
new file mode 100644
index 0000000..cd1f76a
--- /dev/null
+++ b/config/sql/kinspire.sql
@@ -0,0 +1,1635 @@
+-- phpMyAdmin SQL Dump
+-- version 2.8.2.4
+-- http://www.phpmyadmin.net
+--
+-- Host: localhost:3306
+-- Generation Time: Mar 23, 2009 at 02:05 AM
+-- Server version: 5.0.68
+-- PHP Version: 5.2.6
+--
+-- Database: `exqsoft_kinspiredemo`
+--
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `acos`
+--
+
+CREATE TABLE `acos` (
+ `id` int(10) NOT NULL auto_increment,
+ `parent_id` int(10) default NULL,
+ `model` varchar(255) default NULL,
+ `foreign_key` int(10) default NULL,
+ `alias` varchar(255) default NULL,
+ `lft` int(10) default NULL,
+ `rght` int(10) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1 AUTO_INCREMENT=102 ;
+
+--
+-- Dumping data for table `acos`
+--
+
+INSERT INTO `acos` (`id`, `parent_id`, `model`, `foreign_key`, `alias`, `lft`, `rght`) VALUES (1, NULL, NULL, NULL, 'controllers', 1, 202),
+(2, 1, NULL, NULL, 'Pages', 2, 7),
+(3, 2, NULL, NULL, 'display', 3, 4),
+(4, 2, NULL, NULL, 'logAction', 5, 6),
+(5, 1, NULL, NULL, 'Priorities', 8, 19),
+(6, 5, NULL, NULL, 'index', 9, 10),
+(7, 5, NULL, NULL, 'add', 11, 12),
+(8, 5, NULL, NULL, 'edit', 13, 14),
+(9, 5, NULL, NULL, 'delete', 15, 16),
+(10, 5, NULL, NULL, 'logAction', 17, 18),
+(11, 1, NULL, NULL, 'Icons', 20, 23),
+(12, 11, NULL, NULL, 'logAction', 21, 22),
+(13, 1, NULL, NULL, 'Projects', 24, 35),
+(14, 13, NULL, NULL, 'index', 25, 26),
+(15, 13, NULL, NULL, 'tasks', 27, 28),
+(16, 13, NULL, NULL, 'add', 29, 30),
+(17, 13, NULL, NULL, 'edit', 31, 32),
+(18, 13, NULL, NULL, 'logAction', 33, 34),
+(19, 1, NULL, NULL, 'ActionLogs', 36, 39),
+(20, 19, NULL, NULL, 'logAction', 37, 38),
+(21, 1, NULL, NULL, 'Versions', 40, 51),
+(22, 21, NULL, NULL, 'index', 41, 42),
+(23, 21, NULL, NULL, 'add', 43, 44),
+(24, 21, NULL, NULL, 'edit', 45, 46),
+(25, 21, NULL, NULL, 'delete', 47, 48),
+(26, 21, NULL, NULL, 'logAction', 49, 50),
+(27, 1, NULL, NULL, 'Groups', 52, 63),
+(28, 27, NULL, NULL, 'index', 53, 54),
+(29, 27, NULL, NULL, 'add', 55, 56),
+(30, 27, NULL, NULL, 'edit', 57, 58),
+(31, 27, NULL, NULL, 'delete', 59, 60),
+(32, 27, NULL, NULL, 'logAction', 61, 62),
+(33, 1, NULL, NULL, 'Events', 64, 77),
+(34, 33, NULL, NULL, 'index', 65, 66),
+(35, 33, NULL, NULL, 'add', 67, 68),
+(36, 33, NULL, NULL, 'edit', 69, 70),
+(37, 33, NULL, NULL, 'view', 71, 72),
+(38, 33, NULL, NULL, 'delete', 73, 74),
+(39, 33, NULL, NULL, 'logAction', 75, 76),
+(40, 1, NULL, NULL, 'Tasks', 78, 89),
+(41, 40, NULL, NULL, 'index', 79, 80),
+(42, 40, NULL, NULL, 'view', 81, 82),
+(43, 40, NULL, NULL, 'add', 83, 84),
+(44, 40, NULL, NULL, 'edit', 85, 86),
+(45, 40, NULL, NULL, 'logAction', 87, 88),
+(46, 1, NULL, NULL, 'Milestones', 90, 103),
+(47, 46, NULL, NULL, 'index', 91, 92),
+(48, 46, NULL, NULL, 'add', 93, 94),
+(49, 46, NULL, NULL, 'edit', 95, 96),
+(50, 46, NULL, NULL, 'complete', 97, 98),
+(51, 46, NULL, NULL, 'delete', 99, 100),
+(52, 46, NULL, NULL, 'logAction', 101, 102),
+(53, 1, NULL, NULL, 'Severities', 104, 115),
+(54, 53, NULL, NULL, 'index', 105, 106),
+(55, 53, NULL, NULL, 'add', 107, 108),
+(56, 53, NULL, NULL, 'edit', 109, 110),
+(57, 53, NULL, NULL, 'delete', 111, 112),
+(58, 53, NULL, NULL, 'logAction', 113, 114),
+(59, 1, NULL, NULL, 'TaskChanges', 116, 121),
+(60, 59, NULL, NULL, 'add', 117, 118),
+(61, 59, NULL, NULL, 'logAction', 119, 120),
+(62, 1, NULL, NULL, 'TaskComments', 122, 127),
+(63, 62, NULL, NULL, 'add', 123, 124),
+(64, 62, NULL, NULL, 'logAction', 125, 126),
+(65, 1, NULL, NULL, 'Configurations', 128, 131),
+(66, 65, NULL, NULL, 'logAction', 129, 130),
+(67, 1, NULL, NULL, 'Users', 132, 151),
+(68, 67, NULL, NULL, 'initDB', 133, 134),
+(69, 67, NULL, NULL, 'login', 135, 136),
+(70, 67, NULL, NULL, 'logout', 137, 138),
+(71, 67, NULL, NULL, 'index', 139, 140),
+(72, 67, NULL, NULL, 'view', 141, 142),
+(73, 67, NULL, NULL, 'add', 143, 144),
+(74, 67, NULL, NULL, 'edit', 145, 146),
+(75, 67, NULL, NULL, 'delete', 147, 148),
+(76, 67, NULL, NULL, 'logAction', 149, 150),
+(77, 1, NULL, NULL, 'Elements', 152, 163),
+(78, 77, NULL, NULL, 'index', 153, 154),
+(79, 77, NULL, NULL, 'add', 155, 156),
+(80, 77, NULL, NULL, 'edit', 157, 158),
+(81, 77, NULL, NULL, 'delete', 159, 160),
+(82, 77, NULL, NULL, 'logAction', 161, 162),
+(83, 1, NULL, NULL, 'Types', 164, 175),
+(84, 83, NULL, NULL, 'index', 165, 166),
+(85, 83, NULL, NULL, 'add', 167, 168),
+(86, 83, NULL, NULL, 'edit', 169, 170),
+(87, 83, NULL, NULL, 'delete', 171, 172),
+(88, 83, NULL, NULL, 'logAction', 173, 174),
+(89, 1, NULL, NULL, 'Statuses', 176, 187),
+(90, 89, NULL, NULL, 'index', 177, 178),
+(91, 89, NULL, NULL, 'add', 179, 180),
+(92, 89, NULL, NULL, 'edit', 181, 182),
+(93, 89, NULL, NULL, 'delete', 183, 184),
+(94, 89, NULL, NULL, 'logAction', 185, 186),
+(95, 1, NULL, NULL, 'Timeclocks', 188, 201),
+(96, 95, NULL, NULL, 'index', 189, 190),
+(97, 95, NULL, NULL, 'add', 191, 192),
+(98, 95, NULL, NULL, 'edit', 193, 194),
+(99, 95, NULL, NULL, 'out', 195, 196),
+(100, 95, NULL, NULL, 'delete', 197, 198),
+(101, 95, NULL, NULL, 'logAction', 199, 200);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `action_logs`
+--
+
+CREATE TABLE `action_logs` (
+ `id` int(11) NOT NULL auto_increment,
+ `user_id` int(11) NOT NULL default '0',
+ `controller` varchar(255) NOT NULL default '',
+ `action` varchar(255) NOT NULL default '',
+ `params` varchar(255) NOT NULL default '',
+ `created` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+
+--
+-- Dumping data for table `action_logs`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `aros`
+--
+
+CREATE TABLE `aros` (
+ `id` int(10) NOT NULL auto_increment,
+ `parent_id` int(10) default NULL,
+ `model` varchar(255) default NULL,
+ `foreign_key` int(10) default NULL,
+ `alias` varchar(255) default NULL,
+ `lft` int(10) default NULL,
+ `rght` int(10) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
+
+--
+-- Dumping data for table `aros`
+--
+
+INSERT INTO `aros` (`id`, `parent_id`, `model`, `foreign_key`, `alias`, `lft`, `rght`) VALUES (1, 0, 'Group', 1, 'Group:1', 1, 6),
+(2, 1, 'Group', 2, 'Group:2', 2, 3),
+(3, 1, 'User', 1, 'User:1', 4, 5);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `aros_acos`
+--
+
+CREATE TABLE `aros_acos` (
+ `id` int(10) NOT NULL auto_increment,
+ `aro_id` int(10) NOT NULL default '0',
+ `aco_id` int(10) NOT NULL default '0',
+ `_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`),
+ UNIQUE KEY `ARO_ACO_KEY` (`aro_id`,`aco_id`)
+) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
+
+--
+-- Dumping data for table `aros_acos`
+--
+
+INSERT INTO `aros_acos` (`id`, `aro_id`, `aco_id`, `_create`, `_read`, `_update`, `_delete`) VALUES (1, 1, 1, '1', '1', '1', '1'),
+(2, 2, 1, '1', '1', '1', '1');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `configurations`
+--
+
+CREATE TABLE `configurations` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(50) NOT NULL default '',
+ `value` text NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `name` (`name`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+
+--
+-- Dumping data for table `configurations`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `elements`
+--
+
+CREATE TABLE `elements` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `description` varchar(255) NOT NULL default '',
+ `project_id` int(11) NOT NULL default '0',
+ `owner_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=38 DEFAULT CHARSET=latin1 AUTO_INCREMENT=38 ;
+
+--
+-- Dumping data for table `elements`
+--
+
+INSERT INTO `elements` (`id`, `name`, `description`, `project_id`, `owner_id`) VALUES (1, 'General', '', 0, NULL),
+(4, 'Forms', '', 0, NULL),
+(5, 'Models', '', 0, NULL),
+(6, 'Views', '', 0, NULL),
+(7, 'Database', '', 0, NULL),
+(10, 'Permissions', '', 0, NULL),
+(11, 'Users', '', 0, NULL),
+(14, 'None', '', 0, NULL),
+(22, 'Controllers', '', 0, NULL);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `events`
+--
+
+CREATE TABLE `events` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) default NULL,
+ `event_date` datetime default NULL,
+ `alert_date` date default NULL,
+ `notes` text,
+ `created` datetime default NULL,
+ `updated` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
+
+--
+-- Dumping data for table `events`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `events_users`
+--
+
+CREATE TABLE `events_users` (
+ `id` int(11) NOT NULL auto_increment,
+ `event_id` int(11) default NULL,
+ `user_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=MyISAM AUTO_INCREMENT=32 DEFAULT CHARSET=latin1 AUTO_INCREMENT=32 ;
+
+--
+-- Dumping data for table `events_users`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `groups`
+--
+
+CREATE TABLE `groups` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `parent_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
+
+--
+-- Dumping data for table `groups`
+--
+
+INSERT INTO `groups` (`id`, `name`, `parent_id`) VALUES (1, 'Developers', NULL),
+(2, 'Clients', NULL);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `icons`
+--
+
+CREATE TABLE `icons` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1001 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1001 ;
+
+--
+-- Dumping data for table `icons`
+--
+
+INSERT INTO `icons` (`id`, `name`) VALUES (1, 'accept.png'),
+(2, 'add.png'),
+(3, 'anchor.png'),
+(4, 'application.png'),
+(5, 'application_add.png'),
+(6, 'application_cascade.png'),
+(7, 'application_delete.png'),
+(8, 'application_double.png'),
+(9, 'application_edit.png'),
+(10, 'application_error.png'),
+(11, 'application_form.png'),
+(12, 'application_form_add.png'),
+(13, 'application_form_delete.png'),
+(14, 'application_form_edit.png'),
+(15, 'application_form_magnify.png'),
+(16, 'application_get.png'),
+(17, 'application_go.png'),
+(18, 'application_home.png'),
+(19, 'application_key.png'),
+(20, 'application_lightning.png'),
+(21, 'application_link.png'),
+(22, 'application_osx.png'),
+(23, 'application_osx_terminal.png'),
+(24, 'application_put.png'),
+(25, 'application_side_boxes.png'),
+(26, 'application_side_contract.png'),
+(27, 'application_side_expand.png'),
+(28, 'application_side_list.png'),
+(29, 'application_side_tree.png'),
+(30, 'application_split.png'),
+(31, 'application_tile_horizontal.png'),
+(32, 'application_tile_vertical.png'),
+(33, 'application_view_columns.png'),
+(34, 'application_view_detail.png'),
+(35, 'application_view_gallery.png'),
+(36, 'application_view_icons.png'),
+(37, 'application_view_list.png'),
+(38, 'application_view_tile.png'),
+(39, 'application_xp.png'),
+(40, 'application_xp_terminal.png'),
+(41, 'arrow_branch.png'),
+(42, 'arrow_divide.png'),
+(43, 'arrow_down.png'),
+(44, 'arrow_in.png'),
+(45, 'arrow_inout.png'),
+(46, 'arrow_join.png'),
+(47, 'arrow_left.png'),
+(48, 'arrow_merge.png'),
+(49, 'arrow_out.png'),
+(50, 'arrow_redo.png'),
+(51, 'arrow_refresh.png'),
+(52, 'arrow_refresh_small.png'),
+(53, 'arrow_right.png'),
+(54, 'arrow_rotate_anticlockwise.png'),
+(55, 'arrow_rotate_clockwise.png'),
+(56, 'arrow_switch.png'),
+(57, 'arrow_turn_left.png'),
+(58, 'arrow_turn_right.png'),
+(59, 'arrow_undo.png'),
+(60, 'arrow_up.png'),
+(61, 'asterisk_orange.png'),
+(62, 'asterisk_yellow.png'),
+(63, 'attach.png'),
+(64, 'award_star_add.png'),
+(65, 'award_star_bronze_1.png'),
+(66, 'award_star_bronze_2.png'),
+(67, 'award_star_bronze_3.png'),
+(68, 'award_star_delete.png'),
+(69, 'award_star_gold_1.png'),
+(70, 'award_star_gold_2.png'),
+(71, 'award_star_gold_3.png'),
+(72, 'award_star_silver_1.png'),
+(73, 'award_star_silver_2.png'),
+(74, 'award_star_silver_3.png'),
+(75, 'basket.png'),
+(76, 'basket_add.png'),
+(77, 'basket_delete.png'),
+(78, 'basket_edit.png'),
+(79, 'basket_error.png'),
+(80, 'basket_go.png'),
+(81, 'basket_put.png'),
+(82, 'basket_remove.png'),
+(83, 'bell.png'),
+(84, 'bell_add.png'),
+(85, 'bell_delete.png'),
+(86, 'bell_error.png'),
+(87, 'bell_go.png'),
+(88, 'bell_link.png'),
+(89, 'bin.png'),
+(90, 'bin_closed.png'),
+(91, 'bin_empty.png'),
+(92, 'bomb.png'),
+(93, 'book.png'),
+(94, 'book_add.png'),
+(95, 'book_addresses.png'),
+(96, 'book_delete.png'),
+(97, 'book_edit.png'),
+(98, 'book_error.png'),
+(99, 'book_go.png'),
+(100, 'book_key.png'),
+(101, 'book_link.png'),
+(102, 'book_next.png'),
+(103, 'book_open.png'),
+(104, 'book_previous.png'),
+(105, 'box.png'),
+(106, 'brick.png'),
+(107, 'bricks.png'),
+(108, 'brick_add.png'),
+(109, 'brick_delete.png'),
+(110, 'brick_edit.png'),
+(111, 'brick_error.png'),
+(112, 'brick_go.png'),
+(113, 'brick_link.png'),
+(114, 'briefcase.png'),
+(115, 'bug.png'),
+(116, 'bug_add.png'),
+(117, 'bug_delete.png'),
+(118, 'bug_edit.png'),
+(119, 'bug_error.png'),
+(120, 'bug_go.png'),
+(121, 'bug_link.png'),
+(122, 'building.png'),
+(123, 'building_add.png'),
+(124, 'building_delete.png'),
+(125, 'building_edit.png'),
+(126, 'building_error.png'),
+(127, 'building_go.png'),
+(128, 'building_key.png'),
+(129, 'building_link.png'),
+(130, 'bullet_add.png'),
+(131, 'bullet_arrow_bottom.png'),
+(132, 'bullet_arrow_down.png'),
+(133, 'bullet_arrow_top.png'),
+(134, 'bullet_arrow_up.png'),
+(135, 'bullet_black.png'),
+(136, 'bullet_blue.png'),
+(137, 'bullet_delete.png'),
+(138, 'bullet_disk.png'),
+(139, 'bullet_error.png'),
+(140, 'bullet_feed.png'),
+(141, 'bullet_go.png'),
+(142, 'bullet_green.png'),
+(143, 'bullet_key.png'),
+(144, 'bullet_orange.png'),
+(145, 'bullet_picture.png'),
+(146, 'bullet_pink.png'),
+(147, 'bullet_purple.png'),
+(148, 'bullet_red.png'),
+(149, 'bullet_star.png'),
+(150, 'bullet_toggle_minus.png'),
+(151, 'bullet_toggle_plus.png'),
+(152, 'bullet_white.png'),
+(153, 'bullet_wrench.png'),
+(154, 'bullet_yellow.png'),
+(155, 'cake.png'),
+(156, 'calculator.png'),
+(157, 'calculator_add.png'),
+(158, 'calculator_delete.png'),
+(159, 'calculator_edit.png'),
+(160, 'calculator_error.png'),
+(161, 'calculator_link.png'),
+(162, 'calendar.png'),
+(163, 'calendar_add.png'),
+(164, 'calendar_delete.png'),
+(165, 'calendar_edit.png'),
+(166, 'calendar_link.png'),
+(167, 'calendar_view_day.png'),
+(168, 'calendar_view_month.png'),
+(169, 'calendar_view_week.png'),
+(170, 'camera.png'),
+(171, 'camera_add.png'),
+(172, 'camera_delete.png'),
+(173, 'camera_edit.png'),
+(174, 'camera_error.png'),
+(175, 'camera_go.png'),
+(176, 'camera_link.png'),
+(177, 'camera_small.png'),
+(178, 'cancel.png'),
+(179, 'car.png'),
+(180, 'cart.png'),
+(181, 'cart_add.png'),
+(182, 'cart_delete.png'),
+(183, 'cart_edit.png'),
+(184, 'cart_error.png'),
+(185, 'cart_go.png'),
+(186, 'cart_put.png'),
+(187, 'cart_remove.png'),
+(188, 'car_add.png'),
+(189, 'car_delete.png'),
+(190, 'cd.png'),
+(191, 'cd_add.png'),
+(192, 'cd_burn.png'),
+(193, 'cd_delete.png'),
+(194, 'cd_edit.png'),
+(195, 'cd_eject.png'),
+(196, 'cd_go.png'),
+(197, 'chart_bar.png'),
+(198, 'chart_bar_add.png'),
+(199, 'chart_bar_delete.png'),
+(200, 'chart_bar_edit.png'),
+(201, 'chart_bar_error.png'),
+(202, 'chart_bar_link.png'),
+(203, 'chart_curve.png'),
+(204, 'chart_curve_add.png'),
+(205, 'chart_curve_delete.png'),
+(206, 'chart_curve_edit.png'),
+(207, 'chart_curve_error.png'),
+(208, 'chart_curve_go.png'),
+(209, 'chart_curve_link.png'),
+(210, 'chart_line.png'),
+(211, 'chart_line_add.png'),
+(212, 'chart_line_delete.png'),
+(213, 'chart_line_edit.png'),
+(214, 'chart_line_error.png'),
+(215, 'chart_line_link.png'),
+(216, 'chart_organisation.png'),
+(217, 'chart_organisation_add.png'),
+(218, 'chart_organisation_delete.png'),
+(219, 'chart_pie.png'),
+(220, 'chart_pie_add.png'),
+(221, 'chart_pie_delete.png'),
+(222, 'chart_pie_edit.png'),
+(223, 'chart_pie_error.png'),
+(224, 'chart_pie_link.png'),
+(225, 'clock.png'),
+(226, 'clock_add.png'),
+(227, 'clock_delete.png'),
+(228, 'clock_edit.png'),
+(229, 'clock_error.png'),
+(230, 'clock_go.png'),
+(231, 'clock_link.png'),
+(232, 'clock_pause.png'),
+(233, 'clock_play.png'),
+(234, 'clock_red.png'),
+(235, 'clock_stop.png'),
+(236, 'cog.png'),
+(237, 'cog_add.png'),
+(238, 'cog_delete.png'),
+(239, 'cog_edit.png'),
+(240, 'cog_error.png'),
+(241, 'cog_go.png'),
+(242, 'coins.png'),
+(243, 'coins_add.png'),
+(244, 'coins_delete.png'),
+(245, 'color_swatch.png'),
+(246, 'color_wheel.png'),
+(247, 'comment.png'),
+(248, 'comments.png'),
+(249, 'comments_add.png'),
+(250, 'comments_delete.png'),
+(251, 'comment_add.png'),
+(252, 'comment_delete.png'),
+(253, 'comment_edit.png'),
+(254, 'compress.png'),
+(255, 'computer.png'),
+(256, 'computer_add.png'),
+(257, 'computer_delete.png'),
+(258, 'computer_edit.png'),
+(259, 'computer_error.png'),
+(260, 'computer_go.png'),
+(261, 'computer_key.png'),
+(262, 'computer_link.png'),
+(263, 'connect.png'),
+(264, 'contrast.png'),
+(265, 'contrast_decrease.png'),
+(266, 'contrast_high.png'),
+(267, 'contrast_increase.png'),
+(268, 'contrast_low.png'),
+(269, 'controller.png'),
+(270, 'controller_add.png'),
+(271, 'controller_delete.png'),
+(272, 'controller_error.png'),
+(273, 'control_eject.png'),
+(274, 'control_eject_blue.png'),
+(275, 'control_end.png'),
+(276, 'control_end_blue.png'),
+(277, 'control_equalizer.png'),
+(278, 'control_equalizer_blue.png'),
+(279, 'control_fastforward.png'),
+(280, 'control_fastforward_blue.png'),
+(281, 'control_pause.png'),
+(282, 'control_pause_blue.png'),
+(283, 'control_play.png'),
+(284, 'control_play_blue.png'),
+(285, 'control_repeat.png'),
+(286, 'control_repeat_blue.png'),
+(287, 'control_rewind.png'),
+(288, 'control_rewind_blue.png'),
+(289, 'control_start.png'),
+(290, 'control_start_blue.png'),
+(291, 'control_stop.png'),
+(292, 'control_stop_blue.png'),
+(293, 'creditcards.png'),
+(294, 'cross.png'),
+(295, 'css.png'),
+(296, 'css_add.png'),
+(297, 'css_delete.png'),
+(298, 'css_go.png'),
+(299, 'css_valid.png'),
+(300, 'cup.png'),
+(301, 'cup_add.png'),
+(302, 'cup_delete.png'),
+(303, 'cup_edit.png'),
+(304, 'cup_error.png'),
+(305, 'cup_go.png'),
+(306, 'cup_key.png'),
+(307, 'cup_link.png'),
+(308, 'cursor.png'),
+(309, 'cut.png'),
+(310, 'cut_red.png'),
+(311, 'database.png'),
+(312, 'database_add.png'),
+(313, 'database_connect.png'),
+(314, 'database_delete.png'),
+(315, 'database_edit.png'),
+(316, 'database_error.png'),
+(317, 'database_gear.png'),
+(318, 'database_go.png'),
+(319, 'database_key.png'),
+(320, 'database_lightning.png'),
+(321, 'database_link.png'),
+(322, 'database_refresh.png'),
+(323, 'database_save.png'),
+(324, 'database_table.png'),
+(325, 'date.png'),
+(326, 'date_add.png'),
+(327, 'date_delete.png'),
+(328, 'date_edit.png'),
+(329, 'date_error.png'),
+(330, 'date_go.png'),
+(331, 'date_link.png'),
+(332, 'date_magnify.png'),
+(333, 'date_next.png'),
+(334, 'date_previous.png'),
+(335, 'delete.png'),
+(336, 'disconnect.png'),
+(337, 'disk.png'),
+(338, 'disk_multiple.png'),
+(339, 'door.png'),
+(340, 'door_in.png'),
+(341, 'door_open.png'),
+(342, 'door_out.png'),
+(343, 'drink.png'),
+(344, 'drink_empty.png'),
+(345, 'drive.png'),
+(346, 'drive_add.png'),
+(347, 'drive_burn.png'),
+(348, 'drive_cd.png'),
+(349, 'drive_cd_empty.png'),
+(350, 'drive_delete.png'),
+(351, 'drive_disk.png'),
+(352, 'drive_edit.png'),
+(353, 'drive_error.png'),
+(354, 'drive_go.png'),
+(355, 'drive_key.png'),
+(356, 'drive_link.png'),
+(357, 'drive_magnify.png'),
+(358, 'drive_network.png'),
+(359, 'drive_rename.png'),
+(360, 'drive_user.png'),
+(361, 'drive_web.png'),
+(362, 'dvd.png'),
+(363, 'dvd_add.png'),
+(364, 'dvd_delete.png'),
+(365, 'dvd_edit.png'),
+(366, 'dvd_error.png'),
+(367, 'dvd_go.png'),
+(368, 'dvd_key.png'),
+(369, 'dvd_link.png'),
+(370, 'email.png'),
+(371, 'email_add.png'),
+(372, 'email_attach.png'),
+(373, 'email_delete.png'),
+(374, 'email_edit.png'),
+(375, 'email_error.png'),
+(376, 'email_go.png'),
+(377, 'email_link.png'),
+(378, 'email_open.png'),
+(379, 'email_open_image.png'),
+(380, 'emoticon_evilgrin.png'),
+(381, 'emoticon_grin.png'),
+(382, 'emoticon_happy.png'),
+(383, 'emoticon_smile.png'),
+(384, 'emoticon_surprised.png'),
+(385, 'emoticon_tongue.png'),
+(386, 'emoticon_unhappy.png'),
+(387, 'emoticon_waii.png'),
+(388, 'emoticon_wink.png'),
+(389, 'error.png'),
+(390, 'error_add.png'),
+(391, 'error_delete.png'),
+(392, 'error_go.png'),
+(393, 'exclamation.png'),
+(394, 'eye.png'),
+(395, 'feed.png'),
+(396, 'feed_add.png'),
+(397, 'feed_delete.png'),
+(398, 'feed_disk.png'),
+(399, 'feed_edit.png'),
+(400, 'feed_error.png'),
+(401, 'feed_go.png'),
+(402, 'feed_key.png'),
+(403, 'feed_link.png'),
+(404, 'feed_magnify.png'),
+(405, 'female.png'),
+(406, 'film.png'),
+(407, 'film_add.png'),
+(408, 'film_delete.png'),
+(409, 'film_edit.png'),
+(410, 'film_error.png'),
+(411, 'film_go.png'),
+(412, 'film_key.png'),
+(413, 'film_link.png'),
+(414, 'film_save.png'),
+(415, 'find.png'),
+(416, 'flag_blue.png'),
+(417, 'flag_green.png'),
+(418, 'flag_orange.png'),
+(419, 'flag_pink.png'),
+(420, 'flag_purple.png'),
+(421, 'flag_red.png'),
+(422, 'flag_yellow.png'),
+(423, 'folder.png'),
+(424, 'folder_add.png'),
+(425, 'folder_bell.png'),
+(426, 'folder_brick.png'),
+(427, 'folder_bug.png'),
+(428, 'folder_camera.png'),
+(429, 'folder_database.png'),
+(430, 'folder_delete.png'),
+(431, 'folder_edit.png'),
+(432, 'folder_error.png'),
+(433, 'folder_explore.png'),
+(434, 'folder_feed.png'),
+(435, 'folder_find.png'),
+(436, 'folder_go.png'),
+(437, 'folder_heart.png'),
+(438, 'folder_image.png'),
+(439, 'folder_key.png'),
+(440, 'folder_lightbulb.png'),
+(441, 'folder_link.png'),
+(442, 'folder_magnify.png'),
+(443, 'folder_page.png'),
+(444, 'folder_page_white.png'),
+(445, 'folder_palette.png'),
+(446, 'folder_picture.png'),
+(447, 'folder_star.png'),
+(448, 'folder_table.png'),
+(449, 'folder_user.png'),
+(450, 'folder_wrench.png'),
+(451, 'font.png'),
+(452, 'font_add.png'),
+(453, 'font_delete.png'),
+(454, 'font_go.png'),
+(455, 'group.png'),
+(456, 'group_add.png'),
+(457, 'group_delete.png'),
+(458, 'group_edit.png'),
+(459, 'group_error.png'),
+(460, 'group_gear.png'),
+(461, 'group_go.png'),
+(462, 'group_key.png'),
+(463, 'group_link.png'),
+(464, 'heart.png'),
+(465, 'heart_add.png'),
+(466, 'heart_delete.png'),
+(467, 'help.png'),
+(468, 'hourglass.png'),
+(469, 'hourglass_add.png'),
+(470, 'hourglass_delete.png'),
+(471, 'hourglass_go.png'),
+(472, 'hourglass_link.png'),
+(473, 'house.png'),
+(474, 'house_go.png'),
+(475, 'house_link.png'),
+(476, 'html.png'),
+(477, 'html_add.png'),
+(478, 'html_delete.png'),
+(479, 'html_go.png'),
+(480, 'html_valid.png'),
+(481, 'image.png'),
+(482, 'images.png'),
+(483, 'image_add.png'),
+(484, 'image_delete.png'),
+(485, 'image_edit.png'),
+(486, 'image_link.png'),
+(487, 'information.png'),
+(488, 'ipod.png'),
+(489, 'ipod_cast.png'),
+(490, 'ipod_cast_add.png'),
+(491, 'ipod_cast_delete.png'),
+(492, 'ipod_sound.png'),
+(493, 'joystick.png'),
+(494, 'joystick_add.png'),
+(495, 'joystick_delete.png'),
+(496, 'joystick_error.png'),
+(497, 'key.png'),
+(498, 'keyboard.png'),
+(499, 'keyboard_add.png'),
+(500, 'keyboard_delete.png'),
+(501, 'keyboard_magnify.png'),
+(502, 'key_add.png'),
+(503, 'key_delete.png'),
+(504, 'key_go.png'),
+(505, 'layers.png'),
+(506, 'layout.png'),
+(507, 'layout_add.png'),
+(508, 'layout_content.png'),
+(509, 'layout_delete.png'),
+(510, 'layout_edit.png'),
+(511, 'layout_error.png'),
+(512, 'layout_header.png'),
+(513, 'layout_link.png'),
+(514, 'layout_sidebar.png'),
+(515, 'lightbulb.png'),
+(516, 'lightbulb_add.png'),
+(517, 'lightbulb_delete.png'),
+(518, 'lightbulb_off.png'),
+(519, 'lightning.png'),
+(520, 'lightning_add.png'),
+(521, 'lightning_delete.png'),
+(522, 'lightning_go.png'),
+(523, 'link.png'),
+(524, 'link_add.png'),
+(525, 'link_break.png'),
+(526, 'link_delete.png'),
+(527, 'link_edit.png'),
+(528, 'link_error.png'),
+(529, 'link_go.png'),
+(530, 'lock.png'),
+(531, 'lock_add.png'),
+(532, 'lock_break.png'),
+(533, 'lock_delete.png'),
+(534, 'lock_edit.png'),
+(535, 'lock_go.png'),
+(536, 'lock_open.png'),
+(537, 'lorry.png'),
+(538, 'lorry_add.png'),
+(539, 'lorry_delete.png'),
+(540, 'lorry_error.png'),
+(541, 'lorry_flatbed.png'),
+(542, 'lorry_go.png'),
+(543, 'lorry_link.png'),
+(544, 'magifier_zoom_out.png'),
+(545, 'magnifier.png'),
+(546, 'magnifier_zoom_in.png'),
+(547, 'male.png'),
+(548, 'map.png'),
+(549, 'map_add.png'),
+(550, 'map_delete.png'),
+(551, 'map_edit.png'),
+(552, 'map_go.png'),
+(553, 'map_magnify.png'),
+(554, 'medal_bronze_1.png'),
+(555, 'medal_bronze_2.png'),
+(556, 'medal_bronze_3.png'),
+(557, 'medal_bronze_add.png'),
+(558, 'medal_bronze_delete.png'),
+(559, 'medal_gold_1.png'),
+(560, 'medal_gold_2.png'),
+(561, 'medal_gold_3.png'),
+(562, 'medal_gold_add.png'),
+(563, 'medal_gold_delete.png'),
+(564, 'medal_silver_1.png'),
+(565, 'medal_silver_2.png'),
+(566, 'medal_silver_3.png'),
+(567, 'medal_silver_add.png'),
+(568, 'medal_silver_delete.png'),
+(569, 'money.png'),
+(570, 'money_add.png'),
+(571, 'money_delete.png'),
+(572, 'money_dollar.png'),
+(573, 'money_euro.png'),
+(574, 'money_pound.png'),
+(575, 'money_yen.png'),
+(576, 'monitor.png'),
+(577, 'monitor_add.png'),
+(578, 'monitor_delete.png'),
+(579, 'monitor_edit.png'),
+(580, 'monitor_error.png'),
+(581, 'monitor_go.png'),
+(582, 'monitor_lightning.png'),
+(583, 'monitor_link.png'),
+(584, 'mouse.png'),
+(585, 'mouse_add.png'),
+(586, 'mouse_delete.png'),
+(587, 'mouse_error.png'),
+(588, 'music.png'),
+(589, 'new.png'),
+(590, 'newspaper.png'),
+(591, 'newspaper_add.png'),
+(592, 'newspaper_delete.png'),
+(593, 'newspaper_go.png'),
+(594, 'newspaper_link.png'),
+(595, 'note.png'),
+(596, 'note_add.png'),
+(597, 'note_delete.png'),
+(598, 'note_edit.png'),
+(599, 'note_error.png'),
+(600, 'note_go.png'),
+(601, 'overlays.png'),
+(602, 'package.png'),
+(603, 'package_add.png'),
+(604, 'package_delete.png'),
+(605, 'package_go.png'),
+(606, 'package_green.png'),
+(607, 'package_link.png'),
+(608, 'page.png'),
+(609, 'page_add.png'),
+(610, 'page_attach.png'),
+(611, 'page_code.png'),
+(612, 'page_copy.png'),
+(613, 'page_delete.png'),
+(614, 'page_edit.png'),
+(615, 'page_error.png'),
+(616, 'page_excel.png'),
+(617, 'page_find.png'),
+(618, 'page_gear.png'),
+(619, 'page_go.png'),
+(620, 'page_green.png'),
+(621, 'page_key.png'),
+(622, 'page_lightning.png'),
+(623, 'page_link.png'),
+(624, 'page_paintbrush.png'),
+(625, 'page_paste.png'),
+(626, 'page_red.png'),
+(627, 'page_refresh.png'),
+(628, 'page_save.png'),
+(629, 'page_white.png'),
+(630, 'page_white_acrobat.png'),
+(631, 'page_white_actionscript.png'),
+(632, 'page_white_add.png'),
+(633, 'page_white_c.png'),
+(634, 'page_white_camera.png'),
+(635, 'page_white_cd.png'),
+(636, 'page_white_code.png'),
+(637, 'page_white_code_red.png'),
+(638, 'page_white_coldfusion.png'),
+(639, 'page_white_compressed.png'),
+(640, 'page_white_copy.png'),
+(641, 'page_white_cplusplus.png'),
+(642, 'page_white_csharp.png'),
+(643, 'page_white_cup.png'),
+(644, 'page_white_database.png'),
+(645, 'page_white_delete.png'),
+(646, 'page_white_dvd.png'),
+(647, 'page_white_edit.png'),
+(648, 'page_white_error.png'),
+(649, 'page_white_excel.png'),
+(650, 'page_white_find.png'),
+(651, 'page_white_flash.png'),
+(652, 'page_white_freehand.png'),
+(653, 'page_white_gear.png'),
+(654, 'page_white_get.png'),
+(655, 'page_white_go.png'),
+(656, 'page_white_h.png'),
+(657, 'page_white_horizontal.png'),
+(658, 'page_white_key.png'),
+(659, 'page_white_lightning.png'),
+(660, 'page_white_link.png'),
+(661, 'page_white_magnify.png'),
+(662, 'page_white_medal.png'),
+(663, 'page_white_office.png'),
+(664, 'page_white_paint.png'),
+(665, 'page_white_paintbrush.png'),
+(666, 'page_white_paste.png'),
+(667, 'page_white_php.png'),
+(668, 'page_white_picture.png'),
+(669, 'page_white_powerpoint.png'),
+(670, 'page_white_put.png'),
+(671, 'page_white_ruby.png'),
+(672, 'page_white_stack.png'),
+(673, 'page_white_star.png'),
+(674, 'page_white_swoosh.png'),
+(675, 'page_white_text.png'),
+(676, 'page_white_text_width.png'),
+(677, 'page_white_tux.png'),
+(678, 'page_white_vector.png'),
+(679, 'page_white_visualstudio.png'),
+(680, 'page_white_width.png'),
+(681, 'page_white_word.png'),
+(682, 'page_white_world.png'),
+(683, 'page_white_wrench.png'),
+(684, 'page_white_zip.png'),
+(685, 'page_word.png'),
+(686, 'page_world.png'),
+(687, 'paintbrush.png'),
+(688, 'paintcan.png'),
+(689, 'palette.png'),
+(690, 'paste_plain.png'),
+(691, 'paste_word.png'),
+(692, 'pencil.png'),
+(693, 'pencil_add.png'),
+(694, 'pencil_delete.png'),
+(695, 'pencil_go.png'),
+(696, 'phone.png'),
+(697, 'phone_add.png'),
+(698, 'phone_delete.png'),
+(699, 'phone_sound.png'),
+(700, 'photo.png'),
+(701, 'photos.png'),
+(702, 'photo_add.png'),
+(703, 'photo_delete.png'),
+(704, 'photo_link.png'),
+(705, 'picture.png'),
+(706, 'pictures.png'),
+(707, 'picture_add.png'),
+(708, 'picture_delete.png'),
+(709, 'picture_edit.png'),
+(710, 'picture_empty.png'),
+(711, 'picture_error.png'),
+(712, 'picture_go.png'),
+(713, 'picture_key.png'),
+(714, 'picture_link.png'),
+(715, 'picture_save.png'),
+(716, 'pilcrow.png'),
+(717, 'pill.png'),
+(718, 'pill_add.png'),
+(719, 'pill_delete.png'),
+(720, 'pill_go.png'),
+(721, 'plugin.png'),
+(722, 'plugin_add.png'),
+(723, 'plugin_delete.png'),
+(724, 'plugin_disabled.png'),
+(725, 'plugin_edit.png'),
+(726, 'plugin_error.png'),
+(727, 'plugin_go.png'),
+(728, 'plugin_link.png'),
+(729, 'printer.png'),
+(730, 'printer_add.png'),
+(731, 'printer_delete.png'),
+(732, 'printer_empty.png'),
+(733, 'printer_error.png'),
+(734, 'rainbow.png'),
+(735, 'report.png'),
+(736, 'report_add.png'),
+(737, 'report_delete.png'),
+(738, 'report_disk.png'),
+(739, 'report_edit.png'),
+(740, 'report_go.png'),
+(741, 'report_key.png'),
+(742, 'report_link.png'),
+(743, 'report_magnify.png'),
+(744, 'report_picture.png'),
+(745, 'report_user.png'),
+(746, 'report_word.png'),
+(747, 'resultset_first.png'),
+(748, 'resultset_last.png'),
+(749, 'resultset_next.png'),
+(750, 'resultset_previous.png'),
+(751, 'rosette.png'),
+(752, 'rss.png'),
+(753, 'rss_add.png'),
+(754, 'rss_delete.png'),
+(755, 'rss_go.png'),
+(756, 'rss_valid.png'),
+(757, 'ruby.png'),
+(758, 'ruby_add.png'),
+(759, 'ruby_delete.png'),
+(760, 'ruby_gear.png'),
+(761, 'ruby_get.png'),
+(762, 'ruby_go.png'),
+(763, 'ruby_key.png'),
+(764, 'ruby_link.png'),
+(765, 'ruby_put.png'),
+(766, 'script.png'),
+(767, 'script_add.png'),
+(768, 'script_code.png'),
+(769, 'script_code_red.png'),
+(770, 'script_delete.png'),
+(771, 'script_edit.png'),
+(772, 'script_error.png'),
+(773, 'script_gear.png'),
+(774, 'script_go.png'),
+(775, 'script_key.png'),
+(776, 'script_lightning.png'),
+(777, 'script_link.png'),
+(778, 'script_palette.png'),
+(779, 'script_save.png'),
+(780, 'server.png'),
+(781, 'server_add.png'),
+(782, 'server_chart.png'),
+(783, 'server_compressed.png'),
+(784, 'server_connect.png'),
+(785, 'server_database.png'),
+(786, 'server_delete.png'),
+(787, 'server_edit.png'),
+(788, 'server_error.png'),
+(789, 'server_go.png'),
+(790, 'server_key.png'),
+(791, 'server_lightning.png'),
+(792, 'server_link.png'),
+(793, 'server_uncompressed.png'),
+(794, 'shading.png'),
+(795, 'shape_align_bottom.png'),
+(796, 'shape_align_center.png'),
+(797, 'shape_align_left.png'),
+(798, 'shape_align_middle.png'),
+(799, 'shape_align_right.png'),
+(800, 'shape_align_top.png'),
+(801, 'shape_flip_horizontal.png'),
+(802, 'shape_flip_vertical.png'),
+(803, 'shape_group.png'),
+(804, 'shape_handles.png'),
+(805, 'shape_move_back.png'),
+(806, 'shape_move_backwards.png'),
+(807, 'shape_move_forwards.png'),
+(808, 'shape_move_front.png'),
+(809, 'shape_rotate_anticlockwise.png'),
+(810, 'shape_rotate_clockwise.png'),
+(811, 'shape_square.png'),
+(812, 'shape_square_add.png'),
+(813, 'shape_square_delete.png'),
+(814, 'shape_square_edit.png'),
+(815, 'shape_square_error.png'),
+(816, 'shape_square_go.png'),
+(817, 'shape_square_key.png'),
+(818, 'shape_square_link.png'),
+(819, 'shape_ungroup.png'),
+(820, 'shield.png'),
+(821, 'shield_add.png'),
+(822, 'shield_delete.png'),
+(823, 'shield_go.png'),
+(824, 'sitemap.png'),
+(825, 'sitemap_color.png'),
+(826, 'sound.png'),
+(827, 'sound_add.png'),
+(828, 'sound_delete.png'),
+(829, 'sound_low.png'),
+(830, 'sound_mute.png'),
+(831, 'sound_none.png'),
+(832, 'spellcheck.png'),
+(833, 'sport_8ball.png'),
+(834, 'sport_basketball.png'),
+(835, 'sport_football.png'),
+(836, 'sport_golf.png'),
+(837, 'sport_raquet.png'),
+(838, 'sport_shuttlecock.png'),
+(839, 'sport_soccer.png'),
+(840, 'sport_tennis.png'),
+(841, 'star.png'),
+(842, 'status_away.png'),
+(843, 'status_busy.png'),
+(844, 'status_offline.png'),
+(845, 'status_online.png'),
+(846, 'stop.png'),
+(847, 'style.png'),
+(848, 'style_add.png'),
+(849, 'style_delete.png'),
+(850, 'style_edit.png'),
+(851, 'style_go.png'),
+(852, 'sum.png'),
+(853, 'tab.png'),
+(854, 'table.png'),
+(855, 'table_add.png'),
+(856, 'table_delete.png'),
+(857, 'table_edit.png'),
+(858, 'table_error.png'),
+(859, 'table_gear.png'),
+(860, 'table_go.png'),
+(861, 'table_key.png'),
+(862, 'table_lightning.png'),
+(863, 'table_link.png'),
+(864, 'table_multiple.png'),
+(865, 'table_refresh.png'),
+(866, 'table_relationship.png'),
+(867, 'table_row_delete.png'),
+(868, 'table_row_insert.png'),
+(869, 'table_save.png'),
+(870, 'table_sort.png'),
+(871, 'tab_add.png'),
+(872, 'tab_delete.png'),
+(873, 'tab_edit.png'),
+(874, 'tab_go.png'),
+(875, 'tag.png'),
+(876, 'tag_blue.png'),
+(877, 'tag_blue_add.png'),
+(878, 'tag_blue_delete.png'),
+(879, 'tag_blue_edit.png'),
+(880, 'tag_green.png'),
+(881, 'tag_orange.png'),
+(882, 'tag_pink.png'),
+(883, 'tag_purple.png'),
+(884, 'tag_red.png'),
+(885, 'tag_yellow.png'),
+(886, 'telephone.png'),
+(887, 'telephone_add.png'),
+(888, 'telephone_delete.png'),
+(889, 'telephone_edit.png'),
+(890, 'telephone_error.png'),
+(891, 'telephone_go.png'),
+(892, 'telephone_key.png'),
+(893, 'telephone_link.png'),
+(894, 'television.png'),
+(895, 'television_add.png'),
+(896, 'television_delete.png'),
+(897, 'textfield.png'),
+(898, 'textfield_add.png'),
+(899, 'textfield_delete.png'),
+(900, 'textfield_key.png'),
+(901, 'textfield_rename.png'),
+(902, 'text_align_center.png'),
+(903, 'text_align_justify.png'),
+(904, 'text_align_left.png'),
+(905, 'text_align_right.png'),
+(906, 'text_allcaps.png'),
+(907, 'text_bold.png'),
+(908, 'text_columns.png'),
+(909, 'text_dropcaps.png'),
+(910, 'text_heading_1.png'),
+(911, 'text_heading_2.png'),
+(912, 'text_heading_3.png'),
+(913, 'text_heading_4.png'),
+(914, 'text_heading_5.png'),
+(915, 'text_heading_6.png'),
+(916, 'text_horizontalrule.png'),
+(917, 'text_indent.png'),
+(918, 'text_indent_remove.png'),
+(919, 'text_italic.png'),
+(920, 'text_kerning.png'),
+(921, 'text_letterspacing.png'),
+(922, 'text_letter_omega.png'),
+(923, 'text_linespacing.png'),
+(924, 'text_list_bullets.png'),
+(925, 'text_list_numbers.png'),
+(926, 'text_lowercase.png'),
+(927, 'text_padding_bottom.png'),
+(928, 'text_padding_left.png'),
+(929, 'text_padding_right.png'),
+(930, 'text_padding_top.png'),
+(931, 'text_replace.png'),
+(932, 'text_signature.png'),
+(933, 'text_smallcaps.png'),
+(934, 'text_strikethrough.png'),
+(935, 'text_subscript.png'),
+(936, 'text_superscript.png'),
+(937, 'text_underline.png'),
+(938, 'text_uppercase.png'),
+(939, 'thumb_down.png'),
+(940, 'thumb_up.png'),
+(941, 'tick.png'),
+(942, 'time.png'),
+(943, 'timeline_marker.png'),
+(944, 'time_add.png'),
+(945, 'time_delete.png'),
+(946, 'time_go.png'),
+(947, 'transmit.png'),
+(948, 'transmit_add.png'),
+(949, 'transmit_blue.png'),
+(950, 'transmit_delete.png'),
+(951, 'transmit_edit.png'),
+(952, 'transmit_error.png'),
+(953, 'transmit_go.png'),
+(954, 'tux.png'),
+(955, 'user.png'),
+(956, 'user_add.png'),
+(957, 'user_comment.png'),
+(958, 'user_delete.png'),
+(959, 'user_edit.png'),
+(960, 'user_female.png'),
+(961, 'user_go.png'),
+(962, 'user_gray.png'),
+(963, 'user_green.png'),
+(964, 'user_orange.png'),
+(965, 'user_red.png'),
+(966, 'user_suit.png'),
+(967, 'vcard.png'),
+(968, 'vcard_add.png'),
+(969, 'vcard_delete.png'),
+(970, 'vcard_edit.png'),
+(971, 'vector.png'),
+(972, 'vector_add.png'),
+(973, 'vector_delete.png'),
+(974, 'wand.png'),
+(975, 'weather_clouds.png'),
+(976, 'weather_cloudy.png'),
+(977, 'weather_lightning.png'),
+(978, 'weather_rain.png'),
+(979, 'weather_snow.png'),
+(980, 'weather_sun.png'),
+(981, 'webcam.png'),
+(982, 'webcam_add.png'),
+(983, 'webcam_delete.png'),
+(984, 'webcam_error.png'),
+(985, 'world.png'),
+(986, 'world_add.png'),
+(987, 'world_delete.png'),
+(988, 'world_edit.png'),
+(989, 'world_go.png'),
+(990, 'world_link.png'),
+(991, 'wrench.png'),
+(992, 'wrench_orange.png'),
+(993, 'xhtml.png'),
+(994, 'xhtml_add.png'),
+(995, 'xhtml_delete.png'),
+(996, 'xhtml_go.png'),
+(997, 'xhtml_valid.png'),
+(998, 'zoom.png'),
+(999, 'zoom_in.png'),
+(1000, 'zoom_out.png');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `milestones`
+--
+
+CREATE TABLE `milestones` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `codename` varchar(255) NOT NULL default '',
+ `description` longtext NOT NULL,
+ `project_id` int(11) NOT NULL default '0',
+ `owner_id` int(11) default NULL,
+ `due` datetime default NULL,
+ `completed` datetime default NULL,
+ `created` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
+
+--
+-- Dumping data for table `milestones`
+--
+
+INSERT INTO `milestones` (`id`, `name`, `codename`, `description`, `project_id`, `owner_id`, `due`, `completed`, `created`) VALUES (1, '0.1b', 'beta', 'Here is a description for this milestone, we plan on completing things on this one!', 1, 1, '2009-04-01 01:57:00', NULL, '2009-03-23 01:58:13'),
+(2, '0.1b', '', '', 2, 1, '2009-03-23 02:03:00', NULL, '2009-03-23 02:03:52');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `priorities`
+--
+
+CREATE TABLE `priorities` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `order` int(11) NOT NULL default '0',
+ `icon_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
+
+--
+-- Dumping data for table `priorities`
+--
+
+INSERT INTO `priorities` (`id`, `name`, `order`, `icon_id`) VALUES (1, 'Very Low', 1, 417),
+(2, 'Low', 2, 416),
+(3, 'Medium', 3, 422),
+(4, 'High', 4, 418),
+(5, 'Critical', 5, 421);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `projects`
+--
+
+CREATE TABLE `projects` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `description` longtext NOT NULL,
+ `client_id` int(11) NOT NULL default '0',
+ `owner_id` int(11) NOT NULL default '0',
+ `is_active` tinyint(1) NOT NULL default '0',
+ `task_count` int(11) NOT NULL default '0',
+ `open_task_count` int(11) NOT NULL default '0',
+ `created` datetime default NULL,
+ `updated` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
+
+--
+-- Dumping data for table `projects`
+--
+
+INSERT INTO `projects` (`id`, `name`, `description`, `client_id`, `owner_id`, `is_active`, `task_count`, `open_task_count`, `created`, `updated`) VALUES (1, 'Test Project 1', 'This is a description for test project 1.', 1, 1, 1, 3, 2, '2009-03-23 01:56:40', '2009-03-23 02:03:21'),
+(2, 'Test Project 2', 'Here is my second test project, with nothing added to it yet.', 1, 1, 1, 0, 0, '2009-03-23 02:02:14', '2009-03-23 02:02:14');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `severities`
+--
+
+CREATE TABLE `severities` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `order` int(11) NOT NULL default '0',
+ `icon_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
+
+--
+-- Dumping data for table `severities`
+--
+
+INSERT INTO `severities` (`id`, `name`, `order`, `icon_id`) VALUES (1, 'Trivial', 1, 417),
+(2, 'Minor', 2, 416),
+(3, 'Normal', 3, 422),
+(4, 'Major', 4, 418),
+(5, 'Critical', 5, 421);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `statuses`
+--
+
+CREATE TABLE `statuses` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `order` int(11) NOT NULL default '0',
+ `icon_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
+
+--
+-- Dumping data for table `statuses`
+--
+
+INSERT INTO `statuses` (`id`, `name`, `order`, `icon_id`) VALUES (1, 'New', 1, 589),
+(4, 'Resolved', 8, 464),
+(5, 'Duplicate', 3, 6),
+(6, 'Reopened', 5, 846),
+(7, 'Assigned', 2, 1),
+(8, 'Won''t Fix', 4, 335),
+(9, 'Pending', 6, 487),
+(10, 'To Merge', 7, 48);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `task_changes`
+--
+
+CREATE TABLE `task_changes` (
+ `id` int(11) NOT NULL auto_increment,
+ `task_id` int(11) NOT NULL default '0',
+ `user_id` int(11) NOT NULL default '0',
+ `type_id` int(11) NOT NULL default '0',
+ `element_id` int(11) NOT NULL default '0',
+ `severity_id` int(11) NOT NULL default '0',
+ `priority_id` int(11) NOT NULL default '0',
+ `version_id` int(11) NOT NULL default '0',
+ `milestone_id` int(11) NOT NULL default '0',
+ `description` longtext,
+ `resolution` longtext,
+ `status_id` int(11) NOT NULL default '0',
+ `is_active` tinyint(1) NOT NULL default '0',
+ `due` datetime default NULL,
+ `completed` datetime default NULL,
+ `created` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
+
+--
+-- Dumping data for table `task_changes`
+--
+
+INSERT INTO `task_changes` (`id`, `task_id`, `user_id`, `type_id`, `element_id`, `severity_id`, `priority_id`, `version_id`, `milestone_id`, `description`, `resolution`, `status_id`, `is_active`, `due`, `completed`, `created`) VALUES (1, 1, 1, 3, 1, 3, 4, 1, 1, 'Here is a description for my test task.', NULL, 1, 1, NULL, NULL, '2009-03-23 01:59:07'),
+(2, 2, 1, 1, 1, 5, 5, 1, 1, 'Here is my test bug.', NULL, 1, 1, NULL, NULL, '2009-03-23 02:01:48'),
+(3, 3, 1, 1, 1, 1, 1, 1, 1, NULL, NULL, 1, 0, NULL, NULL, '2009-03-23 02:03:11'),
+(4, 3, 1, 1, 1, 1, 1, 1, 1, NULL, NULL, 4, 1, NULL, NULL, '2009-03-23 02:03:21');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `task_comments`
+--
+
+CREATE TABLE `task_comments` (
+ `id` int(11) NOT NULL auto_increment,
+ `task_id` int(11) NOT NULL default '0',
+ `user_id` int(11) NOT NULL default '0',
+ `title` varchar(255) NOT NULL default '',
+ `body` longtext NOT NULL,
+ `created` datetime default NULL,
+ `updated` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
+
+--
+-- Dumping data for table `task_comments`
+--
+
+INSERT INTO `task_comments` (`id`, `task_id`, `user_id`, `title`, `body`, `created`, `updated`) VALUES (1, 1, 1, 'oh by the way', 'I need to add some comments to this one.', '2009-03-23 01:59:25', '2009-03-23 01:59:25');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tasks`
+--
+
+CREATE TABLE `tasks` (
+ `id` int(11) NOT NULL auto_increment,
+ `title` varchar(255) NOT NULL default '',
+ `project_id` int(11) NOT NULL default '0',
+ `reporter_id` int(11) NOT NULL default '0',
+ `owner_id` int(11) default NULL,
+ `is_open` tinyint(1) NOT NULL default '0',
+ `created` datetime default NULL,
+ `updated` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
+
+--
+-- Dumping data for table `tasks`
+--
+
+INSERT INTO `tasks` (`id`, `title`, `project_id`, `reporter_id`, `owner_id`, `is_open`, `created`, `updated`) VALUES (1, 'Test Task', 1, 1, NULL, 1, '2009-03-23 01:59:07', '2009-03-23 01:59:07'),
+(2, 'Test bug', 1, 1, NULL, 1, '2009-03-23 02:01:48', '2009-03-23 02:01:48'),
+(3, 'task to close', 1, 1, 1, 0, '2009-03-23 02:03:11', '2009-03-23 02:03:21');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `timeclocks`
+--
+
+CREATE TABLE `timeclocks` (
+ `id` int(11) NOT NULL auto_increment,
+ `user_id` int(11) NOT NULL default '0',
+ `project_id` int(11) NOT NULL default '0',
+ `milestone_id` int(11) NOT NULL default '0',
+ `element_id` int(11) NOT NULL default '0',
+ `clocked_in` datetime default NULL,
+ `clocked_out` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
+
+--
+-- Dumping data for table `timeclocks`
+--
+
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `types`
+--
+
+CREATE TABLE `types` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `order` int(11) NOT NULL default '0',
+ `icon_id` int(11) default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
+
+--
+-- Dumping data for table `types`
+--
+
+INSERT INTO `types` (`id`, `name`, `order`, `icon_id`) VALUES (1, 'Bug', 1, 115),
+(2, 'Enhancement', 2, 381),
+(3, 'Key Feature', 3, 497),
+(4, 'Wish', 4, 841),
+(5, 'General Task', 5, 991);
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `users`
+--
+
+CREATE TABLE `users` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `username` varchar(255) NOT NULL default '',
+ `password` varchar(255) NOT NULL default '',
+ `group_id` int(11) NOT NULL default '0',
+ `created` datetime default NULL,
+ `updated` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
+
+--
+-- Dumping data for table `users`
+--
+
+INSERT INTO `users` (`id`, `name`, `username`, `password`, `group_id`, `created`, `updated`) VALUES (1, 'Demo Developer', 'demo', 'b1f19797031a9f073b6afcf03bf5c7a6d1e09b26', 1, '2009-03-23 01:51:50', '2009-03-23 01:51:50');
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `versions`
+--
+
+CREATE TABLE `versions` (
+ `id` int(11) NOT NULL auto_increment,
+ `name` varchar(255) NOT NULL default '',
+ `description` varchar(255) NOT NULL default '',
+ `project_id` int(11) NOT NULL default '0',
+ `owner_id` int(11) default NULL,
+ `created` datetime default NULL,
+ `updated` datetime default NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
+
+--
+-- Dumping data for table `versions`
+--
+
+INSERT INTO `versions` (`id`, `name`, `description`, `project_id`, `owner_id`, `created`, `updated`) VALUES (1, '0.1a', 'alpha', 1, 1, '2009-03-23 01:57:39', '2009-03-23 01:57:39'),
+(2, '0.1a', '', 2, 1, '2009-03-23 02:04:02', '2009-03-23 02:04:02');
diff --git a/config/sql/sessions.php b/config/sql/sessions.php
new file mode 100644
index 0000000..7f00a26
--- /dev/null
+++ b/config/sql/sessions.php
@@ -0,0 +1,53 @@
+<?php
+/* SVN FILE: $Id: sessions.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/*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://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.sql
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+/*
+ *
+ * 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))
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/config/sql/sessions.sql b/config/sql/sessions.sql
new file mode 100644
index 0000000..23a1925
--- /dev/null
+++ b/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/controllers/action_logs_controller.php b/controllers/action_logs_controller.php
new file mode 100644
index 0000000..d9b012a
--- /dev/null
+++ b/controllers/action_logs_controller.php
@@ -0,0 +1,6 @@
+<?php
+class ActionLogsController extends AppController {
+
+ var $name = 'ActionLogs';
+}
+?>
\ No newline at end of file
diff --git a/controllers/configurations_controller.php b/controllers/configurations_controller.php
new file mode 100644
index 0000000..ff64c69
--- /dev/null
+++ b/controllers/configurations_controller.php
@@ -0,0 +1,6 @@
+<?php
+class ConfigurationsController extends AppController {
+
+ var $name = 'Configurations';
+}
+?>
\ No newline at end of file
diff --git a/controllers/elements_controller.php b/controllers/elements_controller.php
new file mode 100644
index 0000000..3b0bf01
--- /dev/null
+++ b/controllers/elements_controller.php
@@ -0,0 +1,60 @@
+<?php
+class ElementsController extends AppController {
+
+ var $name = 'Elements';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Element->recursive = 0;
+ $this->set('elements', $this->paginate());
+ }
+
+ function add($projectId = null) {
+ if (!$projectId && empty($this->data)) {
+ $this->flash('noid', 'index');
+ }
+
+ if (!empty($this->data)) {
+ $this->Element->create();
+ if ($this->Element->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['Element']['project_id'] = $projectId;
+ $projects = $this->Element->Project->find('list', array('conditions' => array('id' => $this->data['Element']['project_id'])));
+ $owners = $this->Element->Owner->find('list', array('fields'=>array('username')));
+ $this->set(compact('projects', 'owners'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Element->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Element->read(null, $id);
+ }
+ $projects = $this->Element->Project->find('list');
+ $owners = $this->Element->Owner->find('list', array('fields'=>array('username')));
+ $this->set(compact('projects','owners'));
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Element->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/events_controller.php b/controllers/events_controller.php
new file mode 100644
index 0000000..f40c833
--- /dev/null
+++ b/controllers/events_controller.php
@@ -0,0 +1,169 @@
+<?php
+/*
+ * Calendar Events File Controller Class
+ *
+ * PHP versions 4 and 5
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright ExqSoft, http://www.exqsoft.com
+ * @package kinpire
+ * @subpackage kinspire.controllers
+ * @license http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+class EventsController extends AppController {
+ var $name = 'Events';
+ //var $uses = array('Event.User');
+
+ var $helpers = array('Html', 'Form', 'Calendar');
+
+ /**
+ * the idea is that the calendar helper itself is purely a shell
+ * the calendar will just display whatever is sent to it
+ * anything you want to do to it is put togthere here in the controller or in a component when I get around to writing it
+ *
+ * @param $year string
+ * @param $month string
+ *
+ **/
+
+ function index($year = null, $month = null) {
+
+ $this->Event->recursive = 0;
+
+ $month_list = array('january', 'febuary', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december');
+ $day_list = array('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');
+ $base_url = $this->webroot . 'events/index'; // NOT not used in the current helper version but used in the data array
+ $view_base_url = $this->webroot. 'events';
+
+ $data = null;
+
+ if(!$year || !$month) {
+ $year = date('Y');
+ $month = date('M');
+ $month_num = date('n');
+ $item = null;
+ }
+
+ $flag = 0;
+
+ for($i = 0; $i < 12; $i++) { // check the month is valid if set
+ if(strtolower($month) == $month_list[$i]) {
+ if(intval($year) != 0) {
+ $flag = 1;
+ $month_num = $i + 1;
+ $month_name = $month_list[$i];
+ break;
+ }
+ }
+ }
+
+ if($flag == 0) { // if no date set, then use the default values
+ $year = date('Y');
+ $month = date('M');
+ $month_name = date('F');
+ $month_num = date('m');
+ }
+
+ $fields = array('id', 'name', 'DAY(event_date) AS event_day');
+
+ $var = $this->Event->findAll('MONTH(Event.event_date) = ' . $month_num . ' AND YEAR(Event.event_date) = ' . $year, $fields, 'Event.event_date ASC');
+
+ /**
+ * loop through the returned data and build an array of 'events' that is passes to the view
+ * array key is the day of month
+ *
+ */
+
+ foreach($var as $v) {
+
+ if(isset($v[0]['event_day'])) {
+
+ $day = $v[0]['event_day'];
+
+ if(isset($data[$day])) {
+ $data[$day] .= '<br /><a href="' . $view_base_url . '/view/' . $v['Event']['id'] . '">' . $v['Event']['name'] . '</a>';
+ } else {
+ $data[$day] = '<a href="' . $view_base_url . '/view/' . $v['Event']['id'] . '">' . $v['Event']['name'] . '</a>';
+ }
+ }
+ }
+
+ $this->set('year', $year);
+ $this->set('month', $month);
+ $this->set('base_url', $base_url);
+ $this->set('data', $data);
+
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Event->create();
+ if ($this->Event->save($this->data)) {
+ $this->Session->setFlash(__('The Calendar Event has been saved' , true));
+ $this->redirect(array('action'=>'index'));
+ } else {
+ $this->Session->setFlash(__('The Calendar Event could not be saved. Please, try again.', true));
+ }
+ }
+ $users = $this->Event->User->find('list');
+ $this->set(compact('users'));
+ }
+
+ function edit($id=null) {
+ if (!$id && empty($this->data)) {
+ $this->Session->setFlash(__('Invalid Calendar Event', true));
+ $this->redirect(array('action'=>'index'));
+ }
+
+ if (!empty($this->data)) {
+ if ($this->Event->save($this->data)) {
+ $this->Session->setFlash(__('The Calendar Event has been saved', true));
+ $this->redirect(array('action'=>'index'));
+ } else {
+ $this->Session->setFlash(__('The Calendar Event could not be saved. Please, try again.', true));
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Event->read(null, $id);
+ }
+
+ $users = $this->Event->User->find('list');
+ $this->set(compact('users'));
+
+ }
+
+ function view($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ $this->set('event', $this->Event->read(null, $id));
+ }
+ /**
+ * Action for deleting events
+ * @access - private
+ * @var $id = event.id
+ **/
+ function delete($id = null) {
+ // if $id is invalid
+ if (!$id) {
+ // display error message
+ $this->Session->setFlash(__('Invalid id for Event', true));
+ $this->redirect(array('action'=>'index'));
+ // if event $id is valid then delete post
+ } elseif ($this->Event->del($id)) {
+ // display delete message upon success
+ $this->Session->setFlash(__('Event deleted', true));
+ $this->redirect(array('action'=>'index'));
+ // if $id is invalid or cannot delete the event
+ } else {
+ // display message
+ $this->Session->setFlash(__('Invalid Event', true));
+ // redirect
+ $this->redirect(array('action'=>'index'));
+ }
+ }
+
+}
+?>
diff --git a/controllers/groups_controller.php b/controllers/groups_controller.php
new file mode 100644
index 0000000..b7bcaed
--- /dev/null
+++ b/controllers/groups_controller.php
@@ -0,0 +1,54 @@
+<?php
+class GroupsController extends AppController {
+
+ var $name = 'Groups';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Group->recursive = 0;
+ $this->set('groups', $this->paginate());
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Group->create();
+ if ($this->Group->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ // for the group parent listing
+ $groups = $this->Group->find('list');
+ $this->set( 'parents', $groups );
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Group->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Group->read(null, $id);
+ }
+ // for the parent group
+ $groups = $this->Group->find('list');
+ $this->set( 'parents', $groups );
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Group->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+}
+?>
diff --git a/controllers/icons_controller.php b/controllers/icons_controller.php
new file mode 100644
index 0000000..8cdbe0c
--- /dev/null
+++ b/controllers/icons_controller.php
@@ -0,0 +1,6 @@
+<?php
+class IconsController extends AppController {
+
+ var $name = 'Icons';
+}
+?>
\ No newline at end of file
diff --git a/controllers/milestones_controller.php b/controllers/milestones_controller.php
new file mode 100644
index 0000000..0767a6a
--- /dev/null
+++ b/controllers/milestones_controller.php
@@ -0,0 +1,72 @@
+<?php
+class MilestonesController extends AppController {
+
+ var $name = 'Milestones';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Milestone->recursive = 0;
+ $this->set('milestones', $this->paginate());
+ }
+
+ function add($projectId = null) {
+ if (!$projectId && empty($this->data)) {
+ $this->flash('noid', 'index');
+ }
+
+ if (!empty($this->data)) {
+ $this->Milestone->create();
+ if ($this->Milestone->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['Milestone']['project_id'] = $projectId;
+ $owners = $this->Milestone->Owner->find('list', array('fields'=>array('username')));
+ $projects = $this->Milestone->Project->find('list', array('conditions' => array('id' => $this->data['Milestone']['project_id'])));
+ $this->set(compact('projects', 'owners'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Milestone->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Milestone->read(null, $id);
+ }
+ $owners = $this->Milestone->Owner->find('list', array('fields'=>array('username')));
+ $projects = $this->Milestone->Project->find('list');
+ $this->set(compact('projects', 'owners'));
+ }
+
+ function complete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ $this->data['Milestone']['completed'] = date('Y-m-d H:i:s');
+ if ($this->Milestone->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed', 'index');
+ }
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Milestone->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/priorities_controller.php b/controllers/priorities_controller.php
new file mode 100644
index 0000000..7cc0b42
--- /dev/null
+++ b/controllers/priorities_controller.php
@@ -0,0 +1,49 @@
+<?php
+class PrioritiesController extends AppController {
+
+ var $name = 'Priorities';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Priority->recursive = 0;
+ $this->set('priorities', $this->paginate());
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Priority->create();
+ if ($this->Priority->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Priority->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Priority->read(null, $id);
+ }
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Priority->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/projects_controller.php b/controllers/projects_controller.php
new file mode 100644
index 0000000..d17f930
--- /dev/null
+++ b/controllers/projects_controller.php
@@ -0,0 +1,113 @@
+<?php
+class ProjectsController extends AppController {
+
+ var $name = 'Projects';
+ var $helpers = array('Html', 'Form');
+ var $paginate = array();
+
+ function index() {
+ if ($this->Auth->user('group_id') != 1) {
+ $this->paginate = array(
+ 'conditions' => array(
+ 'Project.client_id' => $this->Auth->user('id')
+ )
+ );
+ }
+
+ $this->Project->recursive = 0;
+ $this->set('projects', $this->paginate());
+ }
+
+ function tasks($projectId = null, $taskStatus = null) {
+ switch ($taskStatus) {
+ case 'all':
+ $this->paginate = array(
+ 'conditions' => array(
+ 'Task.project_id' => $projectId
+ )
+ );
+ break;
+
+
+ case 'mine':
+ $this->paginate = array(
+ 'conditions' => array(
+ 'Task.is_open' => 1,
+ 'Task.owner_id' => $this->Auth->user('id'),
+ 'Task.project_id' => $projectId
+ )
+ );
+ break;
+
+ default:
+ $this->paginate = array(
+ 'conditions' => array(
+ 'Task.is_open' => 1,
+ 'Task.project_id' => $projectId
+ )
+ );
+ break;
+ }
+
+ if ($projectId) {
+ $elements = $this->Project->Task->TaskChange->Element->find('list');
+
+ // Below you will see some bad code because I can't figure out a beter way to do it at this point in time.
+ /****************************************************************************************************************/
+ $types = $this->Project->Task->TaskChange->Type->find('list');
+ $typeIcons = $this->Project->Task->TaskChange->Type->find('list', array('fields'=>array('icon_id')));
+ $severities = $this->Project->Task->TaskChange->Severity->find('list');
+ $severityIcons = $this->Project->Task->TaskChange->Severity->find('list', array('fields'=>array('icon_id')));
+ $priorities = $this->Project->Task->TaskChange->Priority->find('list');
+ $priorityIcons = $this->Project->Task->TaskChange->Priority->find('list', array('fields'=>array('icon_id')));
+ $statuses = $this->Project->Task->TaskChange->Status->find('list');
+ $statusIcons = $this->Project->Task->TaskChange->Status->find('list', array('fields'=>array('icon_id')));
+ /****************************************************************************************************************/
+
+ $versions = $this->Project->Task->TaskChange->Version->find('list');
+ $milestones = $this->Project->Task->TaskChange->Milestone->find('list');
+ $owners = $this->Project->Task->Owner->find('list', array('fields'=>array('username')));
+ $this->set(compact('types', 'typeIcons', 'elements', 'severities', 'severityIcons', 'priorities', 'priorityIcons', 'versions', 'milestones', 'statuses', 'statusIcons', 'owners'));
+ $this->set('tasks', $this->paginate('Task'));
+ $this->render(null, null, '/tasks/index');
+ }
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Project->create();
+ if ($this->Project->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['Project']['is_active'] = 1;
+ if ($this->Auth->user('group_id') == 1) {
+ $clients = $owners = $this->Project->Client->find('list', array('fields'=>array('username')));
+ } else {
+ $clients = $owners = $this->Project->Client->find('list', array('fields'=>array('username'), 'conditions' => array('id' => array($this->Auth->user('id')))));
+ }
+ $this->set(compact('clients', 'owners'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Project->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Project->read(null, $id);
+ }
+ $clients = $owners = $this->Project->Client->find('list', array('fields'=>array('username')));
+ $this->set(compact('clients','owners'));
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/severities_controller.php b/controllers/severities_controller.php
new file mode 100644
index 0000000..1a3ea7b
--- /dev/null
+++ b/controllers/severities_controller.php
@@ -0,0 +1,49 @@
+<?php
+class SeveritiesController extends AppController {
+
+ var $name = 'Severities';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Severity->recursive = 0;
+ $this->set('severities', $this->paginate());
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Severity->create();
+ if ($this->Severity->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Severity->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Severity->read(null, $id);
+ }
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Severity->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/statuses_controller.php b/controllers/statuses_controller.php
new file mode 100644
index 0000000..0cc593f
--- /dev/null
+++ b/controllers/statuses_controller.php
@@ -0,0 +1,49 @@
+<?php
+class StatusesController extends AppController {
+
+ var $name = 'Statuses';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Status->recursive = 0;
+ $this->set('statuses', $this->paginate());
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Status->create();
+ if ($this->Status->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Status->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Status->read(null, $id);
+ }
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Status->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/task_changes_controller.php b/controllers/task_changes_controller.php
new file mode 100644
index 0000000..846bec9
--- /dev/null
+++ b/controllers/task_changes_controller.php
@@ -0,0 +1,69 @@
+<?php
+class TaskChangesController extends AppController {
+
+ var $name = 'TaskChanges';
+ var $helpers = array('Html', 'Form');
+
+ function add($taskId = null) {
+ if (!$taskId && empty($this->data)) {
+ $this->flash('noid', 'index');
+ }
+
+ if (!empty($this->data)) {
+ $this->data['Task']['id'] = $this->data['TaskChange']['task_id'];
+ if ($this->data['TaskChange']['is_completed'] == 0) {
+ $this->data['TaskChange']['completed'] = null;
+ $this->data['Task']['is_open'] = '1';
+ } else {
+ $this->data['Task']['is_open'] = '0';
+ }
+ if ($this->data['TaskChange']['is_due'] == 0) {
+ $this->data['TaskChange']['due'] = null;
+ }
+ if ($this->data['TaskChange']['description'] == '') {
+ $this->data['TaskChange']['description'] = null;
+ }
+ if ($this->data['TaskChange']['resolution'] == '') {
+ $this->data['TaskChange']['resolution'] = null;
+ }
+ $this->data['TaskChange']['is_active'] = 1;
+ $this->TaskChange->updateAll(
+ array('TaskChange.is_active' => '0'),
+ array('TaskChange.task_id' => $this->data['TaskChange']['task_id'])
+ );
+ $projectId = $this->TaskChange->Task->findById($this->data['Task']['id']);
+ $projectId = $projectId['Task']['project_id'];
+ $this->TaskChange->create();
+ if ($this->TaskChange->saveAll($this->data, array('validate'=>'last')) && $this->TaskChange->Task->updateOpenCount($projectId)) {
+ $this->flash('saved', array('controller'=>'tasks', 'action'=>'view', $this->data['TaskChange']['task_id']));
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $conditions = array(
+ 'conditions' => array('TaskChange.task_id' => $taskId, 'TaskChange.is_active' => 1)
+ );
+ $this->data = $this->TaskChange->find('first', $conditions);
+ if (empty($this->data)) {
+ $this->data = $this->TaskChange->Task->findById($taskId);
+ $projectId = $this->data['Project']['id'];
+ $this->data['TaskChange']['due'] = null;
+ $this->data['TaskChange']['completed'] = null;
+ } else {
+ $projectId = $this->data['Task']['project_id'];
+ }
+ $tasks = $this->TaskChange->Task->find('list', array('fields'=>array('title'), 'conditions' => array('id' => array($taskId))));
+ $statuses = $this->TaskChange->Status->find('list', array('order' => 'order'));
+ $types = $this->TaskChange->Type->find('list');
+ $elements = $this->TaskChange->Element->find('list', array('conditions' => array('project_id' => array($projectId, 0))));
+ $severities = $this->TaskChange->Severity->find('list');
+ $priorities = $this->TaskChange->Priority->find('list', array('order' => 'order'));
+ $users = $this->TaskChange->Task->Owner->find('list', array('fields'=>array('username'), 'conditions' => array('id' => array($this->Auth->user('id')))));
+ $owners = $this->TaskChange->Task->Owner->find('list', array('fields'=>array('username')));
+ $versions = $this->TaskChange->Version->find('list', array('conditions' => array('project_id' => array($projectId, 0))));
+ $milestones = $this->TaskChange->Milestone->find('list', array('conditions' => array('project_id' => array($projectId, 0))));
+ $this->set(compact('tasks', 'statuses', 'types', 'elements', 'severities', 'priorities', 'owners', 'users', 'versions', 'milestones'));
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/task_comments_controller.php b/controllers/task_comments_controller.php
new file mode 100644
index 0000000..90b993b
--- /dev/null
+++ b/controllers/task_comments_controller.php
@@ -0,0 +1,26 @@
+<?php
+class TaskCommentsController extends AppController {
+
+ var $name = 'TaskComments';
+ var $helpers = array('Html', 'Form');
+
+ function add($taskId = null) {
+ if (!$taskId && empty($this->data)) {
+ $this->flash('noid', 'index');
+ }
+
+ if (!empty($this->data)) {
+ $this->TaskComment->create();
+ if ($this->TaskComment->save($this->data)) {
+ $this->flash('saved', array('controller'=>'tasks', 'action'=>'view', $this->data['TaskComment']['task_id']));
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['TaskComment']['task_id'] = $taskId;
+ $tasks = $this->TaskComment->Task->find('list', array('conditions' => array('id' => array($this->data['TaskComment']['task_id']))));
+ $users = $this->TaskComment->User->find('list', array('fields'=>array('username'), 'conditions' => array('id' => array($this->Auth->user('id')))));
+ $this->set(compact('tasks', 'users'));
+ }
+}
+?>
diff --git a/controllers/tasks_controller.php b/controllers/tasks_controller.php
new file mode 100644
index 0000000..c1fbd4c
--- /dev/null
+++ b/controllers/tasks_controller.php
@@ -0,0 +1,92 @@
+<?php
+class TasksController extends AppController {
+
+ var $name = 'Tasks';
+ var $helpers = array('Html', 'Form');
+ var $paginate = array();
+
+ function index() {
+ $elements = $this->Task->TaskChange->Element->find('list');
+ $versions = $this->Task->TaskChange->Version->find('list');
+ $milestones = $this->Task->TaskChange->Milestone->find('list');
+ $this->set(compact('elements', 'versions', 'milestones'));
+
+ // Below you will see some bad code because I can't figure out a beter way to do it at this point in time.
+ /****************************************************************************************************************/
+ $types = $this->Task->TaskChange->Type->find('list');
+ $typeIcons = $this->Task->TaskChange->Type->find('list', array('fields'=>array('icon_id')));
+ $severities = $this->Task->TaskChange->Severity->find('list');
+ $severityIcons = $this->Task->TaskChange->Severity->find('list', array('fields'=>array('icon_id')));
+ $priorities = $this->Task->TaskChange->Priority->find('list');
+ $priorityIcons = $this->Task->TaskChange->Priority->find('list', array('fields'=>array('icon_id')));
+ $statuses = $this->Task->TaskChange->Status->find('list');
+ $statusIcons = $this->Task->TaskChange->Status->find('list', array('fields'=>array('icon_id')));
+ $this->set(compact('types', 'typeIcons', 'severities', 'severityIcons', 'priorities', 'priorityIcons', 'statuses', 'statusIcons'));
+ /****************************************************************************************************************/
+
+ $this->set('tasks', $this->paginate());
+ }
+
+ function view($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ $this->Task->recursive = 2;
+ $this->set('task', $this->Task->read(null, $id));
+ }
+
+ function add($projectId = null) {
+ if (!$projectId && empty($this->data)) {
+ $this->flash('noid', 'index');
+ }
+
+ if (!empty($this->data)) {
+ if ($this->data['TaskChange']['0']['description'] == '') {
+ $this->data['TaskChange']['0']['description'] = null;
+ }
+
+ if ($this->data['Task']['is_due'] == 0) {
+ $this->data['TaskChange']['0']['due'] = null;
+ }
+
+ $this->data['TaskChange']['0']['is_active'] = 1;
+ $this->data['TaskChange']['0']['resolution'] = null;
+ $this->data['TaskChange']['0']['user_id'] = $this->Auth->user('id');
+ $this->data['Task']['is_open'] = '1';
+ if ($this->Task->saveAll($this->data, array('validate'=>'first')) && $this->Task->updateOpenCount($this->data['Task']['project_id'])) {
+ $this->flash('saved', array('action'=>'view', $this->Task->id));
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['Task']['project_id'] = $projectId;
+ $projects = $this->Task->Project->find('list', array('conditions' => array('id' => $this->data['Task']['project_id'])));
+ $types = $this->Task->TaskChange->Type->find('list');
+ $elements = $this->Task->TaskChange->Element->find('list', array('conditions' => array('project_id' => array($this->data['Task']['project_id'], 0))));
+ $severities = $this->Task->TaskChange->Severity->find('list');
+ $priorities = $this->Task->TaskChange->Priority->find('list', array('order' => 'order'));
+ $reporters = $task_owners = $this->Task->Reporter->find('list', array('fields'=>array('username'), 'conditions' => array('id' => array($this->Auth->user('id')))));
+ $versions = $this->Task->TaskChange->Version->find('list', array('conditions' => array('project_id' => array($this->data['Task']['project_id'], 0))));
+ $milestones = $this->Task->TaskChange->Milestone->find('list', array('conditions' => array('project_id' => array($this->data['Task']['project_id'], 0))));
+ $statuses = $this->Task->TaskChange->Status->find('list', array('order' => 'order'));
+ $this->set(compact('projects', 'types', 'elements', 'severities', 'priorities', 'task_owners', 'reporters', 'versions', 'milestones', 'statuses'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Task->save($this->data)) {
+ $this->flash('saved', array('action'=>'view', $this->Task->id));
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Task->read(null, $id);
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/timeclocks_controller.php b/controllers/timeclocks_controller.php
new file mode 100644
index 0000000..df8c89a
--- /dev/null
+++ b/controllers/timeclocks_controller.php
@@ -0,0 +1,73 @@
+<?php
+class TimeclocksController extends AppController {
+
+ var $name = 'Timeclocks';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Timeclock->recursive = 0;
+ $this->set('timeclocks', $this->paginate());
+ }
+
+ function add($projectId = null) {
+ if (!$projectId && empty($this->data)) {
+ $this->flash('noid', 'dashboard');
+ }
+
+ if (!empty($this->data)) {
+ $this->data['Timeclock']['clocked_in'] = date('Y-m-d H:i:s');
+ $this->Timeclock->create();
+ if ($this->Timeclock->out($this->Auth->user('id')) && $this->Timeclock->save($this->data)) {
+ $this->flash('saved', 'dashboard');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['Timeclock']['project_id'] = $projectId;
+ $projects = $this->Timeclock->Project->find('list', array('conditions' => array('id' => array($this->data['Timeclock']['project_id']))));
+ $users = $this->Timeclock->User->find('list', array('fields'=>array('username'), 'conditions' => array('id' => array($this->Auth->user('id')))));
+ $milestones = $this->Timeclock->Milestone->find('list', array('conditions' => array('project_id' => array($this->data['Timeclock']['project_id'], 0))));
+ $elements = $this->Timeclock->Element->find('list', array('conditions' => array('project_id' => array($this->data['Timeclock']['project_id'], 0))));
+ $this->set(compact('projects', 'users', 'milestones', 'elements'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'dashboard');
+ }
+ if (!empty($this->data)) {
+ if ($this->Timeclock->save($this->data)) {
+ $this->flash('saved', 'dashboard');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Timeclock->read(null, $id);
+ }
+ $projects = $this->Timeclock->Project->find('list');
+ $users = $this->Timeclock->User->find('list', array('fields'=>array('username')));
+ $milestones = $this->Timeclock->Milestone->find('list');
+ $elements = $this->Timeclock->Element->find('list');
+ $this->set(compact('projects', 'users', 'milestones', 'elements'));
+ }
+
+ function out() {
+ if ($this->Timeclock->out($this->Auth->user('id'))) {
+ $this->flash('saved', 'dashboard');
+ } else {
+ $this->flash('failed', 'dashboard');
+ }
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'dashboard');
+ }
+ if ($this->Timeclock->del($id)) {
+ $this->flash('deleted', 'dashboard');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/types_controller.php b/controllers/types_controller.php
new file mode 100644
index 0000000..b369b0b
--- /dev/null
+++ b/controllers/types_controller.php
@@ -0,0 +1,49 @@
+<?php
+class TypesController extends AppController {
+
+ var $name = 'Types';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Type->recursive = 0;
+ $this->set('types', $this->paginate());
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->Type->create();
+ if ($this->Type->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Type->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Type->read(null, $id);
+ }
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Type->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/controllers/users_controller.php b/controllers/users_controller.php
new file mode 100644
index 0000000..1cb839c
--- /dev/null
+++ b/controllers/users_controller.php
@@ -0,0 +1,101 @@
+<?php
+class UsersController extends AppController {
+
+ var $name = 'Users';
+ var $helpers = array('Html', 'Form');
+
+ function initDB() {
+ $group =& $this->User->Group;
+ //Allow developers to everything
+ $group->id = 1;
+ $this->Acl->allow($group, 'controllers');
+ //Allow clients to everything
+ $group->id = 2;
+ $this->Acl->allow($group, 'controllers');
+ }
+
+ function login() {
+ }
+
+ function logout() {
+ $this->Session->setFlash('You have successfully logged out.');
+ $this->redirect($this->Auth->logout());
+ }
+
+ function index() {
+ $this->User->recursive = 0;
+ $this->set('users', $this->paginate());
+ }
+
+ function view($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ $this->set('user', $this->User->read(null, $id));
+ }
+
+ function add() {
+ if (!empty($this->data)) {
+ $this->User->create();
+ if ($this->User->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $groups = $this->User->Group->find('list');
+ $this->set(compact('groups'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ $this->__convertPasswords();
+ if ($this->User->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ //$this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->User->read(null, $id);
+ }
+ $groups = $this->User->Group->find('list');
+ $this->set(compact('groups'));
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->User->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+ /**
+ * Hash submitted passwords according to the scheme used by the Auth component
+ *
+ * We need to keep a copy of the string submitted by the user, so we can
+ * use built-in validation rules on it. However, we also need to convert this value
+ * to the hashed string that will be stored in the database.
+ *
+ * @access private
+ * @return null
+ *
+ */
+ function __convertPasswords()
+ {
+ if(!empty( $this->data['User']['new_password'] ) ){
+ // we still want to validate the value entered in new_passwd
+ // so we store the hashed value in a new data field which
+ // we will later pass on to the passwd field in an
+ // afterSave() function
+ $this->data['User']['password'] = $this->Auth->password( $this->data['User']['new_password'] );
+ }
+ }
+
+}
+?>
diff --git a/controllers/versions_controller.php b/controllers/versions_controller.php
new file mode 100644
index 0000000..cd919a6
--- /dev/null
+++ b/controllers/versions_controller.php
@@ -0,0 +1,60 @@
+<?php
+class VersionsController extends AppController {
+
+ var $name = 'Versions';
+ var $helpers = array('Html', 'Form');
+
+ function index() {
+ $this->Version->recursive = 0;
+ $this->set('versions', $this->paginate());
+ }
+
+ function add($projectId = null) {
+ if (!$projectId && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+
+ if (!empty($this->data)) {
+ $this->Version->create();
+ if ($this->Version->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ $this->data['Version']['project_id'] = $projectId;
+ $owners = $this->Version->Owner->find('list', array('fields'=>array('username')));
+ $projects = $this->Version->Project->find('list', array('conditions' => array('id' => $this->data['Version']['project_id'])));
+ $this->set(compact('projects', 'owners'));
+ }
+
+ function edit($id = null) {
+ if (!$id && empty($this->data)) {
+ $this->flash('invalid', 'index');
+ }
+ if (!empty($this->data)) {
+ if ($this->Version->save($this->data)) {
+ $this->flash('saved', 'index');
+ } else {
+ $this->flash('failed');
+ }
+ }
+ if (empty($this->data)) {
+ $this->data = $this->Version->read(null, $id);
+ }
+ $owners = $this->Version->Owner->find('list', array('fields'=>array('username')));
+ $projects = $this->Version->Project->find('list');
+ $this->set(compact('projects', 'owners'));
+ }
+
+ function delete($id = null) {
+ if (!$id) {
+ $this->flash('invalid', 'index');
+ }
+ if ($this->Version->del($id)) {
+ $this->flash('deleted', 'index');
+ }
+ }
+
+}
+?>
\ No newline at end of file
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..4e60b84
--- /dev/null
+++ b/index.php
@@ -0,0 +1,24 @@
+<?php
+/* SVN FILE: $Id: index.php 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
+ * @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
+ */
+require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
+?>
\ No newline at end of file
diff --git a/models/configuration.php b/models/configuration.php
new file mode 100644
index 0000000..7fde478
--- /dev/null
+++ b/models/configuration.php
@@ -0,0 +1,26 @@
+<?php
+class Configuration extends AppModel {
+
+ var $name = 'Configuration';
+ //var $useTable = 'configuration';
+
+ var $validate = array(
+ 'name' => array(
+ 'rule' => VALID_NOT_EMPTY,
+ 'message' => 'FATAL: No variable name specified'
+ )
+ );
+
+ function load()
+ {
+ $settings = $this->find('all');
+
+ foreach ($settings as $variable) {
+ Configure::write (
+ 'DBC.' . $variable['Configuration']['name'],
+ $variable['Configuration']['value']
+ );
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/models/element.php b/models/element.php
new file mode 100644
index 0000000..4920d63
--- /dev/null
+++ b/models/element.php
@@ -0,0 +1,28 @@
+<?php
+class Element extends AppModel {
+
+ var $name = 'Element';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Project' => array('className' => 'Project',
+ 'foreignKey' => 'project_id'
+ ),
+ 'Owner' => array('className' => 'User',
+ 'foreignKey' => 'owner_id'
+ )
+ );
+
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'element_id',
+ 'dependent' => false
+ ),
+ 'Timeclock' => array('className' => 'Timeclock',
+ 'foreignKey' => 'element_id',
+ 'dependent' => false
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/event.php b/models/event.php
new file mode 100644
index 0000000..8fad79e
--- /dev/null
+++ b/models/event.php
@@ -0,0 +1,23 @@
+<?php
+/*
+ * Calendar Event Model Class
+ *
+ * PHP versions 4 and 5
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright ExqSoft, http://www.exqsoft.com
+ * @package kinpire
+ * @subpackage kinspire.models
+ * @license http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+class Event extends AppModel{
+ var $name = 'Event';
+
+ var $hasAndBelongsToMany = array('User' => array(
+ 'dependent' => true)
+ );
+
+}
+?>
diff --git a/models/group.php b/models/group.php
new file mode 100644
index 0000000..961bc93
--- /dev/null
+++ b/models/group.php
@@ -0,0 +1,79 @@
+<?php
+class Group extends AppModel {
+
+ var $name = 'Group';
+ var $actsAs = array('Acl' => array('requester'));
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'User' => array('className' => 'User',
+ 'foreignKey' => 'group_id',
+ 'dependent' => false
+ )
+ );
+
+var $validate = array( 'name' => VALID_NOT_EMPTY );
+
+ function afterSave($created) {
+
+ if ( $created ) {
+
+ // its a creation
+
+ $id = $this->getLastInsertID();
+
+ $aro = new Aro();
+
+ $aro->updateAll( array('alias'=>'\'Group:'.$id.'\''),
+ array( 'Aro.model'=>'Group',
+ 'Aro.foreign_key'=>$id)
+ );
+ }
+ else {
+
+ // its an edit, we have to update the tree
+ $data = $this->read();
+ $parent_id = $data['Group']['parent_id'];
+
+ $aro = new Aro();
+
+ $aro_record = $aro->findByForeignKey( $this->id );
+ $parent_record = $aro->findByForeignKey( $parent_id );
+
+ if ( empty( $aro_record ) ) {
+
+ // orphaned child
+ $this->Aro->save( array(
+ 'model' => $this->name,
+ 'foreign_key' => $this->id,
+ 'alias' => $this->name.':'.$this->id,
+ 'parent_id' => $parent_record['Aro']['id']
+ ) );
+ }
+ else {
+
+ // just moving nodes
+ $this->Aro->save( array(
+ 'model' => $this->name,
+ 'foreign_key' => $this->id,
+ 'alias' => $this->name.':'.$this->id,
+ 'parent_id' => $parent_record['Aro']['id'],
+ 'id' => $aro_record['Aro']['id']
+ ) );
+ }
+ }
+
+ return true;
+ }
+
+ function parentNode(){
+
+ // This should be the alias of the parent $model::$id
+ $data = $this->read();
+
+ // This needs to be unique
+ return 'Group:'.$data['Group']['parent_id'];
+ }
+
+}
+?>
diff --git a/models/icon.php b/models/icon.php
new file mode 100644
index 0000000..7215e14
--- /dev/null
+++ b/models/icon.php
@@ -0,0 +1,7 @@
+<?php
+class Icon extends AppModel {
+
+ var $name = 'Icon';
+
+}
+?>
\ No newline at end of file
diff --git a/models/milestone.php b/models/milestone.php
new file mode 100644
index 0000000..20f930f
--- /dev/null
+++ b/models/milestone.php
@@ -0,0 +1,28 @@
+<?php
+class Milestone extends AppModel {
+
+ var $name = 'Milestone';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'milestone_id',
+ 'dependent' => false
+ ),
+ 'Timeclock' => array('className' => 'Timeclock',
+ 'foreignKey' => 'milestone_id',
+ 'dependent' => false
+ )
+ );
+
+ var $belongsTo = array(
+ 'Project' => array('className' => 'Project',
+ 'foreignKey' => 'project_id'
+ ),
+ 'Owner' => array('className' => 'User',
+ 'foreignKey' => 'owner_id'
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/priority.php b/models/priority.php
new file mode 100644
index 0000000..e16a438
--- /dev/null
+++ b/models/priority.php
@@ -0,0 +1,15 @@
+<?php
+class Priority extends AppModel {
+
+ var $name = 'Priority';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'priority_id',
+ 'dependent' => false
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/project.php b/models/project.php
new file mode 100644
index 0000000..3a85aaa
--- /dev/null
+++ b/models/project.php
@@ -0,0 +1,59 @@
+<?php
+class Project extends AppModel {
+
+ var $name = 'Project';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Client' => array('className' => 'User',
+ 'foreignKey' => 'client_id'
+ ),
+ 'Owner' => array('className' => 'User',
+ 'foreignKey' => 'owner_id'
+ )
+ );
+
+ var $hasMany = array(
+ 'Elements' => array('className' => 'Milestone',
+ 'foreignKey' => 'project_id',
+ 'dependent' => false
+ ),
+ 'Milestone' => array('className' => 'Milestone',
+ 'foreignKey' => 'project_id',
+ 'dependent' => false
+ ),
+ 'Task' => array('className' => 'Task',
+ 'foreignKey' => 'project_id',
+ 'dependent' => false
+ ),
+ 'Timeclock' => array('className' => 'Timeclock',
+ 'foreignKey' => 'project_id',
+ 'dependent' => false
+ ),
+ 'Version' => array('className' => 'Version',
+ 'foreignKey' => 'project_id',
+ 'dependent' => false
+ )
+ );
+
+ function userProjects($userId = null, $groupId = null) {
+ if ($groupId == 1) {
+ $conditions = array(
+ 'conditions' => array('is_active' => 1)
+ );
+ } else {
+ $conditions = array(
+ 'conditions' => array('is_active' => 1, 'client_id' => $userId)
+ );
+ }
+
+ $projects = $this->find('all', $conditions);
+
+ if ($projects) {
+ return $projects;
+ } else {
+ return;
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/models/severity.php b/models/severity.php
new file mode 100644
index 0000000..229d3e8
--- /dev/null
+++ b/models/severity.php
@@ -0,0 +1,15 @@
+<?php
+class Severity extends AppModel {
+
+ var $name = 'Severity';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'severity_id',
+ 'dependent' => false
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/status.php b/models/status.php
new file mode 100644
index 0000000..42cbaca
--- /dev/null
+++ b/models/status.php
@@ -0,0 +1,15 @@
+<?php
+class Status extends AppModel {
+
+ var $name = 'Status';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'status_id',
+ 'dependent' => false
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/task.php b/models/task.php
new file mode 100644
index 0000000..8b40040
--- /dev/null
+++ b/models/task.php
@@ -0,0 +1,45 @@
+<?php
+class Task extends AppModel {
+
+ var $name = 'Task';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Project' => array('className' => 'Project',
+ 'foreignKey' => 'project_id',
+ 'counterCache' => true
+ ),
+ 'Owner' => array('className' => 'User',
+ 'foreignKey' => 'owner_id'
+ ),
+ 'Reporter' => array('className' => 'User',
+ 'foreignKey' => 'reporter_id'
+ )
+ );
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'task_id',
+ 'dependent' => false
+ ),
+ 'TaskComment' => array('className' => 'TaskComment',
+ 'foreignKey' => 'task_id',
+ 'dependent' => false
+ )
+ );
+
+ function updateOpenCount($projectId) {
+ $conditions = array(
+ 'conditions' => array('Task.is_open' => 1, 'Task.project_id' => $projectId));
+
+ $count = $this->find('count', $conditions);
+ $this->Project->id = $projectId;
+
+ if ($this->Project->saveField('open_task_count', $count)) {
+ return true;
+ }
+
+ return;
+ }
+
+}
+?>
diff --git a/models/task_change.php b/models/task_change.php
new file mode 100644
index 0000000..56cc022
--- /dev/null
+++ b/models/task_change.php
@@ -0,0 +1,38 @@
+<?php
+class TaskChange extends AppModel {
+
+ var $name = 'TaskChange';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Task' => array('className' => 'Task',
+ 'foreignKey' => 'task_id'
+ ),
+ 'User' => array('className' => 'User',
+ 'foreignKey' => 'user_id'
+ ),
+ 'Status' => array('className' => 'Status',
+ 'foreignKey' => 'status_id'
+ ),
+ 'Type' => array('className' => 'Type',
+ 'foreignKey' => 'type_id'
+ ),
+ 'Element' => array('className' => 'Element',
+ 'foreignKey' => 'element_id'
+ ),
+ 'Severity' => array('className' => 'Severity',
+ 'foreignKey' => 'severity_id'
+ ),
+ 'Priority' => array('className' => 'Priority',
+ 'foreignKey' => 'priority_id'
+ ),
+ 'Version' => array('className' => 'Version',
+ 'foreignKey' => 'version_id'
+ ),
+ 'Milestone' => array('className' => 'Milestone',
+ 'foreignKey' => 'milestone_id'
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/task_comment.php b/models/task_comment.php
new file mode 100644
index 0000000..fc810b8
--- /dev/null
+++ b/models/task_comment.php
@@ -0,0 +1,16 @@
+<?php
+class TaskComment extends AppModel {
+
+ var $name = 'TaskComment';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Task' => array('className' => 'Task',
+ 'foreignKey' => 'task_id'
+ ),
+ 'User' => array('className' => 'User',
+ 'foreignKey' => 'user_id'
+ )
+ );
+}
+?>
diff --git a/models/timeclock.php b/models/timeclock.php
new file mode 100644
index 0000000..9eaba9b
--- /dev/null
+++ b/models/timeclock.php
@@ -0,0 +1,49 @@
+<?php
+class Timeclock extends AppModel {
+
+ var $name = 'Timeclock';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Project' => array('className' => 'Project',
+ 'foreignKey' => 'project_id'
+ ),
+ 'User' => array('className' => 'User',
+ 'foreignKey' => 'user_id'
+ ),
+ 'Milestone' => array('className' => 'Milestone',
+ 'foreignKey' => 'milestone_id'
+ ),
+ 'Element' => array('className' => 'Element',
+ 'foreignKey' => 'element_id'
+ )
+ );
+
+ function out($userId = null) {
+ if ($userId) {
+ $this->updateAll(
+ array('clocked_out' => "'" . date('Y-m-d H:i:s') . "'"),
+ array('user_id' => $userId, 'clocked_out' => null)
+ );
+
+ return true;
+ } else {
+ return false;
+ }
+ }
+
+ function openTimeclocks($userId) {
+ $conditions = array(
+ 'conditions' => array('user_id' => $userId, 'clocked_out' => null)
+ );
+
+ $count = $this->find('count', $conditions);
+
+ if ($count > 0) {
+ return true;
+ } else {
+ return;
+ }
+ }
+}
+?>
\ No newline at end of file
diff --git a/models/type.php b/models/type.php
new file mode 100644
index 0000000..acffcdd
--- /dev/null
+++ b/models/type.php
@@ -0,0 +1,15 @@
+<?php
+class Type extends AppModel {
+
+ var $name = 'Type';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'type_id',
+ 'dependent' => false
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/models/user.php b/models/user.php
new file mode 100644
index 0000000..78f5764
--- /dev/null
+++ b/models/user.php
@@ -0,0 +1,167 @@
+<?php
+class User extends AppModel {
+
+ var $name = 'User';
+ var $actsAs = array('Acl' => array('requester'));
+
+ var $validate = array(
+ 'new_password' => array(
+ 'equalTo' => array(
+ 'rule' => array('equalTo', 'confirm_password' ),
+ 'message' => 'Please re-enter your password twice so that the values match',
+ 'allowEmpty' => true
+ )
+ )
+ );
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $belongsTo = array(
+ 'Group' => array('className' => 'Group',
+ 'foreignKey' => 'group_id'
+ )
+ );
+
+ var $hasMany = array(
+ 'Application' => array('className' => 'Project',
+ 'foreignKey' => 'client_id',
+ 'dependent' => false
+ ),
+ 'Project' => array('className' => 'Project',
+ 'foreignKey' => 'owner_id',
+ 'dependent' => false
+ ),
+ 'Element' => array('className' => 'Element',
+ 'foreignKey' => 'owner_id',
+ 'dependent' => false
+ ),
+ 'Task' => array('className' => 'Task',
+ 'foreignKey' => 'reporter_id',
+ 'dependent' => false
+ ),
+ 'OwnedTasks' => array('className' => 'Task',
+ 'foreignKey' => 'owner_id',
+ 'dependent' => false
+ ),
+ 'TaskComment' => array('className' => 'TaskComment',
+ 'foreignKey' => 'user_id',
+ 'dependent' => false
+ ),
+ 'Timeclock' => array('className' => 'Timeclock',
+ 'foreignKey' => 'user_id',
+ 'dependent' => false
+ ),
+ 'Version' => array('className' => 'Version',
+ 'foreignKey' => 'owner_id',
+ 'dependent' => false
+ ),
+ 'Milestone' => array('className' => 'Milestone',
+ 'foreignKey' => 'owner_id',
+ 'dependent' => false
+ )
+ );
+
+ var $hasAndBelongsToMany = array('Event');
+
+ function afterSave($created) {
+
+ if($created) {
+
+ // its a creation
+
+ $id = $this->getLastInsertID();
+
+ $aro = new Aro();
+
+ $aro->updateAll( array('alias'=>'\'User:'.$id.'\''),
+ array( 'Aro.model'=>'User',
+ 'Aro.foreign_key'=>$id)
+ );
+ }
+ else {
+
+ // its an edit, we have to update the tree
+ $data = $this->read();
+ $parent_id = $data['User']['group_id'];
+
+ $aro = new Aro();
+
+ $aro_record = $aro->findByAlias( $this->name.':'.$this->id );
+ $parent_record = $aro->findByAlias( 'Group:'.$parent_id );
+
+ if ( !empty( $aro_record ) ) {
+
+ $parent_id = '0';
+
+ if ( !empty( $parent_record ) ) {
+ $parent_id = $parent_record['Aro']['id'];
+ }
+
+ // just changing parents
+ $this->Aro->save( array(
+ 'parent_id' => $parent_id,
+ 'id' => $aro_record['Aro']['id']
+ ) );
+ }
+ }
+
+ return true;
+ }
+
+ function beforeSave(){
+ $this->setNewPassword();
+ return true;
+ }
+
+ function parentNode(){
+
+ // This should be the alias of the parent $model::$id
+ $data = $this->read();
+
+ // This needs to be unique
+ return 'Group:'.$data['User']['group_id'];
+ }
+
+ /**
+ * sets the password to be equal to the verified value from the temporary password field
+ *
+ * Under AuthComponent, any time a form is submitted with a field name that matches the
+ * expected password field, it is hashed before any other operation can be done. This
+ * prevents the equalTo() rule check from working, so we take the password in a form input
+ * named something else. Then after verification, but before saving the record, we pass
+ * the hashed value to the correct password field.
+ *
+ * @return boolean TRUE
+ */
+ function setNewPassword()
+ {
+ if( !empty( $this->data['User']['new_passwd_hash'] ) ){
+ $this->data['User']['password'] = $this->data['User']['new_passwd_hash'];
+ }
+ return TRUE;
+ }
+
+ /**
+ * Overrides core equalTo() to verify that two form fields are equal
+ *
+ * @param array $field contains the name of the primary field and the value of that field
+ * @param string $compare_field contains the name of the field to compare the primary field to
+ * @access public
+ * @return boolean FALSE if the fields do not match TRUE if they do
+ */
+ function equalTo( $field=array(), $compare_field=null )
+ {
+ foreach( $field as $key => $value ){
+ $v1 = $value;
+ $v2 = $this->data[$this->name][ $compare_field ];
+ if($v1 !== $v2) {
+ return FALSE;
+ } else {
+ continue;
+ }
+ }
+ return TRUE;
+
+ }
+
+}
+?>
diff --git a/models/version.php b/models/version.php
new file mode 100644
index 0000000..6778f84
--- /dev/null
+++ b/models/version.php
@@ -0,0 +1,24 @@
+<?php
+class Version extends AppModel {
+
+ var $name = 'Version';
+
+ //The Associations below have been created with all possible keys, those that are not needed can be removed
+ var $hasMany = array(
+ 'TaskChange' => array('className' => 'TaskChange',
+ 'foreignKey' => 'version_id',
+ 'dependent' => false
+ )
+ );
+
+ var $belongsTo = array(
+ 'Project' => array('className' => 'Project',
+ 'foreignKey' => 'project_id'
+ ),
+ 'Owner' => array('className' => 'User',
+ 'foreignKey' => 'owner_id'
+ )
+ );
+
+}
+?>
\ No newline at end of file
diff --git a/tmp/logs/empty b/tmp/logs/empty
new file mode 100644
index 0000000..e69de29
diff --git a/tmp/sessions/empty b/tmp/sessions/empty
new file mode 100644
index 0000000..e69de29
diff --git a/tmp/tests/empty b/tmp/tests/empty
new file mode 100644
index 0000000..e69de29
diff --git a/vendors/xcrypt/xcrypt.php b/vendors/xcrypt/xcrypt.php
new file mode 100644
index 0000000..0a9bd06
--- /dev/null
+++ b/vendors/xcrypt/xcrypt.php
@@ -0,0 +1,22 @@
+<?php
+
+include ('../config/database.php');
+class xCrypt {
+
+ var $salt = '';
+ var $key = '';
+ var $hash = '';
+ var $bit = '';
+ var $pass = '';
+
+ function __construct() {
+ $this->__setVars();
+ }
+
+ function __setK() {
+ $var['database'] =
+ $var['salt'] = implode('', $_SERVER['SERVER_NAME']);
+ $var['name'] = $_SERVER['SERVER_NAME'];
+ }
+}
+?>
\ No newline at end of file
diff --git a/views/elements/add.ctp b/views/elements/add.ctp
new file mode 100644
index 0000000..5da23d2
--- /dev/null
+++ b/views/elements/add.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('Element');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/elements/box/bottom.ctp b/views/elements/box/bottom.ctp
new file mode 100644
index 0000000..67befba
--- /dev/null
+++ b/views/elements/box/bottom.ctp
@@ -0,0 +1,3 @@
+ </div><div class="<?php echo $type; ?>boxbottom">
+ <div class="<?php echo $type; ?>boxbottominner"></div></div>
+</div>
\ No newline at end of file
diff --git a/views/elements/box/top.ctp b/views/elements/box/top.ctp
new file mode 100644
index 0000000..ef18217
--- /dev/null
+++ b/views/elements/box/top.ctp
@@ -0,0 +1,3 @@
+<div class="<?php if(isset($size)) { echo $size; } ?>boxwrapper <?php echo $type; ?>box<?php if(isset($locale)) { echo ' ' . $locale; } ?>">
+ <div class="<?php echo $type; ?>boxtop"><div class="<?php echo $type; ?>boxtopinner"></div></div>
+ <div class="<?php echo $type; ?>boxinner">
\ No newline at end of file
diff --git a/views/elements/edit.ctp b/views/elements/edit.ctp
new file mode 100644
index 0000000..5da23d2
--- /dev/null
+++ b/views/elements/edit.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('Element');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/elements/email/html/default.ctp b/views/elements/email/html/default.ctp
new file mode 100644
index 0000000..a217c80
--- /dev/null
+++ b/views/elements/email/html/default.ctp
@@ -0,0 +1,31 @@
+<?php
+/* SVN FILE: $Id: default.ctp 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.cake.libs.view.templates.elements.email.html
+ * @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
+ */
+?>
+<?php
+$content = explode("\n", $content);
+
+foreach ($content as $line):
+ echo '<p> ' . $line . '</p>';
+endforeach;
+?>
\ No newline at end of file
diff --git a/views/elements/email/text/default.ctp b/views/elements/email/text/default.ctp
new file mode 100644
index 0000000..70e05eb
--- /dev/null
+++ b/views/elements/email/text/default.ctp
@@ -0,0 +1,25 @@
+<?php
+/* SVN FILE: $Id: default.ctp 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.cake.libs.view.templates.elements.email.text
+ * @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
+ */
+?>
+<?php echo $content; ?>
\ No newline at end of file
diff --git a/views/elements/index.ctp b/views/elements/index.ctp
new file mode 100644
index 0000000..fd63ac7
--- /dev/null
+++ b/views/elements/index.ctp
@@ -0,0 +1,39 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('project_id');?></th>
+ <th><?php echo $paginator->sort('owner_id');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($elements as $element):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $element['Element']['id']; ?>
+ </td>
+ <td>
+ <?php echo $element['Element']['name']; ?>
+ </td>
+ <td>
+ <?php echo $html->link($element['Project']['name'], array('controller'=> 'projects', 'action'=>'view', $element['Project']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($element['Owner']['username'], array('controller'=> 'users', 'action'=>'view', $element['Owner']['id'])); ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $element['Element']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $element['Element']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $element['Element']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
diff --git a/views/elements/pagination_links.ctp b/views/elements/pagination_links.ctp
new file mode 100644
index 0000000..61b69ea
--- /dev/null
+++ b/views/elements/pagination_links.ctp
@@ -0,0 +1,17 @@
+<?php $paginator->options(array('url' => $this->passedArgs)); ?>
+
+<?php echo $this->element('box/top', array('type'=>'title')); ?><p><div align="center">
+ <?php
+ echo $paginator->counter(array(
+ 'format' => __('Page %page% of %pages%, showing %current% items out of %count% total.', true)
+ ));
+ ?>
+</div></p><?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+
+<?php echo $this->element('box/top', array('type'=>'body')); ?><p><div align="center">
+ <div class="paging">
+ <?php echo $paginator->prev('<< '.__('previous', true), array(), null, array('class'=>'disabled'));?>
+ | <?php echo $paginator->numbers();?>
+ <?php echo $paginator->next(__('next', true).' >>', array(), null, array('class'=>'disabled'));?>
+ </div>
+</div></p><?php echo $this->element('box/bottom', array('type'=>'body')); ?>
\ No newline at end of file
diff --git a/views/elements/toolbar.ctp b/views/elements/toolbar.ctp
new file mode 100644
index 0000000..cd65df8
--- /dev/null
+++ b/views/elements/toolbar.ctp
@@ -0,0 +1,32 @@
+<!-- toolbar -->
+
+<div id="toolbar" class="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('Projects', array('controller'=> 'projects', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <li><div align="center"><?php echo $html->link('New User', array('controller'=> 'users', 'action'=>'add', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-selected')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('New Project', array('controller'=> 'projects', 'action'=>'add', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-selected')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Elements', array('controller'=> 'elements', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Groups', array('controller'=> 'groups', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Milestones', array('controller'=> 'milestones', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Priorities', array('controller'=> 'priorities', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Severities', array('controller'=> 'severities', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Statuses', array('controller'=> 'statuses', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Tasks', array('controller'=> 'tasks', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Timeclocks', array('controller'=> 'timeclocks', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Types', array('controller'=> 'types', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Users', array('controller'=> 'users', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Versions', array('controller'=> 'versions', 'action'=>'index', 'plugin'=>null), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <?php else : ?>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <li><div align="center"><a id="tb-button" class="tb-disabled"></a></div></li>
+ <?php endif; ?>
+ </ul>
+</div>
\ No newline at end of file
diff --git a/views/elements/user_left_navigation.ctp b/views/elements/user_left_navigation.ctp
new file mode 100644
index 0000000..b2f263f
--- /dev/null
+++ b/views/elements/user_left_navigation.ctp
@@ -0,0 +1,40 @@
+<div class="left leftnav">
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'small')); ?>
+ <div align="center">
+ <h3 class="pagetitle">Welcome <?php echo $session->read('Auth.User.username'); ?></h3>
+ <?php if (!$session->read('Auth.User.id')) {$loginLink = 'login';} else {$loginLink = 'logout';} ?>
+ <h3>[ <?php echo $html->link(__($loginLink, true), array('controller'=> 'users', 'action'=>$loginLink, 'plugin'=>null)); ?> ]</h3>
+ <?php if (isset($left['OpenTimeclocks'])) : ?>
+ <h3>[ <?php echo $html->link(__('Clock Out', true), array('controller'=> 'timeclocks', 'action'=>'out', 'plugin'=>null)); ?> ]</h3>
+ <?php endif; ?>
+ </div>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+
+ <?php if ($session->read('Auth.User.id')) : ?>
+ <?php if (isset($left['UserProjects'])) : ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'small')); ?>
+ <div align="center">
+ <h3 class="pagetitle">Projects</h3>
+ </div>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+
+ <?php echo $this->element('box/top', array('type'=>'body','size'=>'small')); ?>
+ <div class="leftnav">
+ <ul>
+ <?php foreach($left['UserProjects'] as $project) : ?>
+ <li><div class="pagetitle"><?php echo $project['Project']['name']; ?></div></li>
+ <li><div class="small"><?php echo $html->link('Open Tasks', array('controller'=> 'projects', 'action'=>'tasks', $project['Project']['id'], 'plugin'=>null)); ?> <?php echo $project['Project']['open_task_count']; ?> of <?php echo $html->link($project['Project']['task_count'], array('controller'=> 'projects', 'action'=>'tasks', $project['Project']['id'], 'all', 'plugin'=>null)); ?></div></li>
+ <ul>
+ <li><?php echo $html->link(__('My Tasks', true), array('controller'=> 'projects', 'action'=>'tasks', $project['Project']['id'], 'mine', 'plugin'=>null)); ?></li>
+ <li><?php echo $html->link(__('New Task', true), array('controller'=> 'tasks', 'action'=>'add', $project['Project']['id'], 'plugin'=>null)); ?></li>
+ <?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <li><?php echo $html->link(__('New Timeclock', true), array('controller'=> 'timeclocks', 'action'=>'add', $project['Project']['id'], 'plugin'=>null)); ?></li>
+ <?php endif; ?>
+ </ul>
+ <?php endforeach; ?>
+ </ul>
+ </div>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <?php endif; ?>
+ <?php endif; ?>
+</div>
\ No newline at end of file
diff --git a/views/events/add.ctp b/views/events/add.ctp
new file mode 100644
index 0000000..80db7f4
--- /dev/null
+++ b/views/events/add.ctp
@@ -0,0 +1,19 @@
+<?php echo $form->create('Event');?>
+<?php
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('name', array('class' => 'form', 'label' => null));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('event_date', array('class' => 'form', 'label' => 'Event Date/Time'));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('notes', array('class' => 'form', 'label' => null));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('alert_date', array('class' => 'form', 'label' => 'Alert Date'));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('User', array('class' => 'form', 'label' => 'Recipients'));
+ echo $this->element('box/bottom', array('type'=>'body'));
+?>
+<?=$form->end('Submit');?>
diff --git a/views/events/edit.ctp b/views/events/edit.ctp
new file mode 100644
index 0000000..b5de485
--- /dev/null
+++ b/views/events/edit.ctp
@@ -0,0 +1,20 @@
+<?php echo $form->create('Event');?>
+<?php
+ echo $form->input('id', array('type' => 'hidden'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('name', array('class' => 'form', 'label' => null));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('event_date', array('class' => 'form', 'label' => 'Event Date/Time'));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('notes', array('class' => 'form', 'label' => null));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('alert_date', array('class' => 'form', 'label' => 'Alert Date'));
+ echo $this->element('box/bottom', array('type'=>'body'));
+ echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('User', array('class' => 'form', 'label' => 'Recipients'));
+ echo $this->element('box/bottom', array('type'=>'body'));
+?>
+<? echo $form->end('Submit');?>
diff --git a/views/events/index.ctp b/views/events/index.ctp
new file mode 100644
index 0000000..ed612e9
--- /dev/null
+++ b/views/events/index.ctp
@@ -0,0 +1,8 @@
+<?php
+ echo $calendar->calendar($year, $month, $data, $base_url);
+?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Event', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
diff --git a/views/events/view.ctp b/views/events/view.ctp
new file mode 100644
index 0000000..a192cc3
--- /dev/null
+++ b/views/events/view.ctp
@@ -0,0 +1,80 @@
+<?php if ($event['Event']['name']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Event Name
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $event['Event']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if ($event['Event']['id']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Id
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $event['Event']['id']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($event['Event']['event_date']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Event Date and Time
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo date('jS F, Y h:i a', strtotime($event['Event']['event_date'])); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($event['Event']['notes']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Notes
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $event['Event']['notes']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($event['Event']['alert_date']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Alert Date
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo date('jS F, Y', strtotime($event['Event']['alert_date'])); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Recipients
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+<? foreach($event['User'] as $user):?>
+ <? echo $user['name']; ?><br />
+<? endforeach;?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php if ($event['Event']['created']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Created
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $event['Event']['created']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($event['Event']['updated']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Updated
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $event['Event']['updated']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Event', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Edit Event', array('action'=>'edit', $event['Event']['id']), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ <li><div align="center"><?php echo $html->link('Delete Event', array('action'=>'delete', $event['Event']['id']), array('id'=>'tb-button', 'class'=>'tb-normal'), sprintf(__('Are you sure you want to delete # %s?', true), $event['Event']['id']));?></div></li>
+ <li><div align="center"><?php echo $html->link('Calendar', array('action'=>'index'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
diff --git a/views/groups/add.ctp b/views/groups/add.ctp
new file mode 100644
index 0000000..d7b7dbd
--- /dev/null
+++ b/views/groups/add.ctp
@@ -0,0 +1,29 @@
+<?php echo $form->create('Group');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this group.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Parent</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a parent for this group.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('parent_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/groups/edit.ctp b/views/groups/edit.ctp
new file mode 100644
index 0000000..d7b7dbd
--- /dev/null
+++ b/views/groups/edit.ctp
@@ -0,0 +1,29 @@
+<?php echo $form->create('Group');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this group.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Parent</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a parent for this group.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('parent_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/groups/index.ctp b/views/groups/index.ctp
new file mode 100644
index 0000000..fcfe32e
--- /dev/null
+++ b/views/groups/index.ctp
@@ -0,0 +1,36 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($groups as $group):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $group['Group']['id']; ?>
+ </td>
+ <td>
+ <?php echo $group['Group']['name']; ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $group['Group']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $group['Group']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $group['Group']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Group', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
diff --git a/views/helpers/calendar.php b/views/helpers/calendar.php
new file mode 100644
index 0000000..9b30b60
--- /dev/null
+++ b/views/helpers/calendar.php
@@ -0,0 +1,161 @@
+<?php
+/*
+ * Calendar Helper Class
+ *
+ * PHP versions 4 and 5
+ *
+ * Licensed under The MIT License
+ * Redistributions of files must retain the above copyright notice.
+ *
+ * @copyright ExqSoft, http://www.exqsoft.com
+ * @package kinpire
+ * @subpackage kinspire.plugins.file.views.helpers
+ * @from John Elliott http://www.flipflops.org
+ * @license http://www.opensource.org/licenses/mit-license.php The MIT License
+ */
+
+class CalendarHelper extends Helper
+{
+
+ var $helpers = array('Html', 'Form');
+
+/**
+* Generates a Calendar for the specified by the month and year params and populates it with the content of the data array
+*
+* @param $year string
+* @param $month string
+* @param $data array
+* @param $base_url
+* @return string - HTML code to display calendar in view
+*
+*/
+
+function calendar($year = '', $month = '', $data = '', $base_url ='')
+ {
+ $str = '';
+ $month_list = array('january', 'febuary', 'march', 'april', 'may', 'june', 'july', 'august', 'september', 'october', 'november', 'december');
+ $day_list = array('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun');
+ $day = 1;
+ $today = 0;
+
+ if($year == '' || $month == '') { // just use current yeear & month
+ $year = date('Y');
+ $month = date('M');
+ }
+
+
+
+ $flag = 0;
+
+ for($i = 0; $i < 12; $i++) {
+ if(strtolower($month) == $month_list[$i]) {
+ if(intval($year) != 0) {
+ $flag = 1;
+ $month_num = $i + 1;
+ break;
+ }
+ }
+ }
+
+
+ if($flag == 0) {
+ $year = date('Y');
+ $month = date('F');
+ $month_num = date('m');
+ }
+
+ $next_year = $year;
+ $prev_year = $year;
+
+ $next_month = intval($month_num) + 1;
+ $prev_month = intval($month_num) - 1;
+
+ if($next_month == 13) {
+ $next_month = 'january';
+ $next_year = intval($year) + 1;
+ } else {
+ $next_month = $month_list[$next_month -1];
+ }
+
+ if($prev_month == 0) {
+ $prev_month = 'december';
+ $prev_year = intval($year) - 1;
+ } else {
+ $prev_month = $month_list[$prev_month - 1];
+ }
+
+ if($year == date('Y') && strtolower($month) == strtolower(date('F'))) {
+ // set the flag that shows todays date but only in the current month - not past or future...
+ $today = date('j');
+ }
+
+ $days_in_month = date("t", mktime(0, 0, 0, $month_num, 1, $year));
+
+ $first_day_in_month = date('D', mktime(0,0,0, $month_num, 1, $year));
+
+ $str .= '<table class="calendar">';
+
+ $str .= '<thead>';
+
+ $str .= '<tr><th class="cell-prev">';
+
+ $str .= $this->Html->link(__('prev', true), 'index/' . $prev_year . '/' . $prev_month);
+
+ $str .= '</th><th colspan="5">' . ucfirst($month) . ' ' . $year . '</th><th class="cell-next">';
+
+ $str .= $this->Html->link(__('next', true), 'index/' . $next_year . '/' . $next_month);
+
+ $str .= '</th></tr>';
+
+ $str .= '<tr>';
+
+ for($i = 0; $i < 7;$i++) {
+ $str .= '<th class="cell-header">' . $day_list[$i] . '</th>';
+ }
+
+ $str .= '</tr>';
+
+ $str .= '</thead>';
+
+ $str .= '<tbody>';
+
+ while($day <= $days_in_month) {
+ $str .= '<tr>';
+
+ for($i = 0; $i < 7; $i ++) {
+
+ $cell = ' ';
+
+ if(isset($data[$day])) {
+ $cell = $data[$day];
+ }
+
+ $class = '';
+
+ if($i > 4) {
+ $class = ' class="cell-weekend" ';
+ }
+
+ if($day == $today) {
+ $class = ' class="cell-today" ';
+ }
+
+ if(($first_day_in_month == $day_list[$i] || $day > 1) && ($day <= $days_in_month)) {
+ $str .= '<td ' . $class . '><div class="cell-number">' . $day . '</div><div class="cell-data">' . $cell . '</div></td>';
+ $day++;
+ } else {
+ $str .= '<td ' . $class . '> </td>';
+ }
+ }
+ $str .= '</tr>';
+ }
+
+ $str .= '</tbody>';
+
+ $str .= '</table>';
+
+ return $str;
+ }
+}
+
+?>
diff --git a/views/layouts/ajax.ctp b/views/layouts/ajax.ctp
new file mode 100644
index 0000000..4857f18
--- /dev/null
+++ b/views/layouts/ajax.ctp
@@ -0,0 +1,25 @@
+<?php
+/* SVN FILE: $Id: ajax.ctp 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.cake.libs.view.templates.layouts
+ * @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
+ */
+?>
+<?php echo $content_for_layout; ?>
\ No newline at end of file
diff --git a/views/layouts/default.ctp b/views/layouts/default.ctp
new file mode 100644
index 0000000..33fefed
--- /dev/null
+++ b/views/layouts/default.ctp
@@ -0,0 +1,81 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <?php echo $html->charset(); ?>
+ <title>
+ <?php __('kÄn-spÄ«r\' - Development Project Management System:'); ?>
+ <?php echo $title_for_layout; ?>
+ </title>
+ <?php
+ echo $html->meta('icon');
+ echo $html->css('kinspire.default.css');
+ echo $scripts_for_layout;
+ ?>
+</head>
+<body>
+
+<div id="wrapper">
+
+<!-- banner -->
+
+<?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $html->image('logo-transp.gif'); ?>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<div class="reset"></div>
+
+<?php if ($session->read('Auth.User.id')) : ?>
+ <!-- toolbar goes here -->
+ <div align="center">
+ <?php echo $this->element('toolbar'); ?>
+ </div>
+<?php endif; ?>
+
+<!-- divider -->
+
+<div class="divider"></div>
+
+<?php if($session->check('Message.flash')): ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <div align="center"><h4><font color="red">
+ <?php
+ if ($session->check('Message.flash')) {
+ $session->flash();
+ }
+ ?>
+ </font></h4></div>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+
+<div id="main">
+ <?php echo $this->element('user_left_navigation'); ?>
+ <div id="content_wrapper">
+ <?php if(isset($this->pageTitle)): ?>
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <?php echo $this->pageTitle; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php endif; ?>
+ <?php echo $content_for_layout;?>
+ </div>
+ <div class="reset"></div>
+</div>
+
+<!-- divider + reset -->
+
+<div class="divider reset"></div>
+
+<div id="footer" class="cbox">
+ <div class="bodyboxtop"><div class="bodyboxtopinner"></div></div>
+ <div class="bodyboxinner">
+ <div align="center">kInspire Copyright © 2009 <a href="mailto:travis.rowland@gmail.com" target="blank">Exquisite Software LLC</a> |
+ Design and Code Copyright © 2009 <a href="mailto:travis.rowland@gmail.com" target="blank">Exquisite Software LLC</a><br>
+ <?php echo $html->image('apache.gif'); ?> <?php echo $html->image('cake.gif'); ?> <?php echo $html->image('mysql.gif'); ?> <?php echo $html->image('php.gif'); ?></div>
+ </div><div class="bodyboxbottom">
+ <div class="bodyboxbottominner"></div></div>
+</div>
+
+
+<!-- end wrapper -->
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/views/layouts/email/html/default.ctp b/views/layouts/email/html/default.ctp
new file mode 100644
index 0000000..72c5442
--- /dev/null
+++ b/views/layouts/email/html/default.ctp
@@ -0,0 +1,37 @@
+<?php
+/* SVN FILE: $Id: default.ctp 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.cake.libs.view.templates.layouts.email.html
+ * @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
+ */
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+
+<html>
+<head>
+ <title><?php echo $title_for_layout;?></title>
+</head>
+
+<body>
+ <?php echo $content_for_layout;?>
+
+ <p>This email was sent using the <a href="http://cakephp.org">CakePHP Framework</a></p>
+</body>
+</html>
diff --git a/views/layouts/email/text/default.ctp b/views/layouts/email/text/default.ctp
new file mode 100644
index 0000000..4c87cf7
--- /dev/null
+++ b/views/layouts/email/text/default.ctp
@@ -0,0 +1,29 @@
+<?php
+/* SVN FILE: $Id: default.ctp 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.cake.libs.view.templates.layouts.email.text
+ * @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
+ */
+?>
+
+<?php echo $content_for_layout;?>
+
+This email was sent using the CakePHP Framework, http://cakephp.org.
+
diff --git a/views/layouts/flash.ctp b/views/layouts/flash.ctp
new file mode 100644
index 0000000..a1b56d7
--- /dev/null
+++ b/views/layouts/flash.ctp
@@ -0,0 +1,44 @@
+<?php
+/* SVN FILE: $Id: flash.ctp 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.cake.libs.view.templates.layouts
+ * @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
+ */
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<?php echo $html->charset(); ?>
+<title><?php echo $page_title; ?></title>
+
+
+<?php if (Configure::read() == 0) { ?>
+<meta http-equiv="Refresh" content="<?php echo $pause?>;url=<?php echo $url?>"/>
+<?php } ?>
+<style><!--
+P { text-align:center; font:bold 1.1em sans-serif }
+A { color:#444; text-decoration:none }
+A:HOVER { text-decoration: underline; color:#44E }
+--></style>
+</head>
+<body>
+<p><a href="<?php echo $url?>"><?php echo $message?></a></p>
+</body>
+</html>
\ No newline at end of file
diff --git a/views/layouts/js/default.ctp b/views/layouts/js/default.ctp
new file mode 100644
index 0000000..d94dc90
--- /dev/null
+++ b/views/layouts/js/default.ctp
@@ -0,0 +1,2 @@
+<?php echo $scripts_for_layout; ?>
+<script type="text/javascript"><?php echo $content_for_layout; ?></script>
\ No newline at end of file
diff --git a/views/layouts/json.ctp b/views/layouts/json.ctp
new file mode 100644
index 0000000..a15f075
--- /dev/null
+++ b/views/layouts/json.ctp
@@ -0,0 +1,3 @@
+<?php
+echo $content_for_layout;
+?>
\ No newline at end of file
diff --git a/views/layouts/rss/default.ctp b/views/layouts/rss/default.ctp
new file mode 100644
index 0000000..94067f2
--- /dev/null
+++ b/views/layouts/rss/default.ctp
@@ -0,0 +1,17 @@
+<?php
+echo $rss->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/views/layouts/xml.ctp b/views/layouts/xml.ctp
new file mode 100644
index 0000000..02dd762
--- /dev/null
+++ b/views/layouts/xml.ctp
@@ -0,0 +1,5 @@
+<?php
+header('Content-type: text/xml');
+echo '<?xml version="1.0" encoding="UTF-8"?>';
+echo $content_for_layout;
+?>
\ No newline at end of file
diff --git a/views/layouts/xml/default.ctp b/views/layouts/xml/default.ctp
new file mode 100644
index 0000000..c688702
--- /dev/null
+++ b/views/layouts/xml/default.ctp
@@ -0,0 +1,2 @@
+<?php e($xml->header()); ?>
+<?php echo $content_for_layout; ?>
\ No newline at end of file
diff --git a/views/milestones/add.ctp b/views/milestones/add.ctp
new file mode 100644
index 0000000..d08d7db
--- /dev/null
+++ b/views/milestones/add.ctp
@@ -0,0 +1,81 @@
+<?php echo $form->create('Milestone');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Codename</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a codename for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('codename', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Due</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a due date for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('due', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/milestones/edit.ctp b/views/milestones/edit.ctp
new file mode 100644
index 0000000..d08d7db
--- /dev/null
+++ b/views/milestones/edit.ctp
@@ -0,0 +1,81 @@
+<?php echo $form->create('Milestone');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Codename</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a codename for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('codename', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Due</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a due date for this milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('due', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/milestones/index.ctp b/views/milestones/index.ctp
new file mode 100644
index 0000000..f2fca81
--- /dev/null
+++ b/views/milestones/index.ctp
@@ -0,0 +1,52 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('codename');?></th>
+ <th><?php echo $paginator->sort('owner_id');?></th>
+ <th><?php echo $paginator->sort('project_id');?></th>
+ <th><?php echo $paginator->sort('due');?></th>
+ <th><?php echo $paginator->sort('completed');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($milestones as $milestone):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $milestone['Milestone']['id']; ?>
+ </td>
+ <td>
+ <?php echo $milestone['Milestone']['name']; ?>
+ </td>
+ <td>
+ <?php echo $milestone['Milestone']['codename']; ?>
+ </td>
+ <td>
+ <?php echo $html->link($milestone['Owner']['username'], array('controller'=> 'users', 'action'=>'view', $milestone['Owner']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($milestone['Project']['name'], array('controller'=> 'projects', 'action'=>'view', $milestone['Project']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $milestone['Milestone']['due']; ?>
+ </td>
+ <td>
+ <?php echo $milestone['Milestone']['completed']; ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Complete', true), array('action'=>'complete', $milestone['Milestone']['id']), null, sprintf(__('Are you sure you want to complete # %s?', true), $milestone['Milestone']['id'])); ?>
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $milestone['Milestone']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $milestone['Milestone']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $milestone['Milestone']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
\ No newline at end of file
diff --git a/views/priorities/add.ctp b/views/priorities/add.ctp
new file mode 100644
index 0000000..9da8f97
--- /dev/null
+++ b/views/priorities/add.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Priority');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this priority.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this priority.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this priority.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/priorities/edit.ctp b/views/priorities/edit.ctp
new file mode 100644
index 0000000..9da8f97
--- /dev/null
+++ b/views/priorities/edit.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Priority');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this priority.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this priority.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this priority.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/priorities/index.ctp b/views/priorities/index.ctp
new file mode 100644
index 0000000..149df4e
--- /dev/null
+++ b/views/priorities/index.ctp
@@ -0,0 +1,44 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('order');?></th>
+ <th><?php echo $paginator->sort('icon');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($priorities as $priority):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $priority['Priority']['id']; ?>
+ </td>
+ <td>
+ <?php echo $priority['Priority']['name']; ?>
+ </td>
+ <td>
+ <?php echo $priority['Priority']['order']; ?>
+ </td>
+ <td>
+ <?php echo $html->image('icons/' . $icons[$priority['Priority']['icon_id']]); ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $priority['Priority']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $priority['Priority']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $priority['Priority']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Priority', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
\ No newline at end of file
diff --git a/views/projects/add.ctp b/views/projects/add.ctp
new file mode 100644
index 0000000..4d94ce7
--- /dev/null
+++ b/views/projects/add.ctp
@@ -0,0 +1,68 @@
+<?php echo $form->create('Project');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Client</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a client for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('client_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Is this project active?</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Check this box to make the project active.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('is_active', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/projects/edit.ctp b/views/projects/edit.ctp
new file mode 100644
index 0000000..4d94ce7
--- /dev/null
+++ b/views/projects/edit.ctp
@@ -0,0 +1,68 @@
+<?php echo $form->create('Project');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Client</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a client for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('client_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this project.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Is this project active?</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Check this box to make the project active.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('is_active', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/projects/index.ctp b/views/projects/index.ctp
new file mode 100644
index 0000000..1a310a5
--- /dev/null
+++ b/views/projects/index.ctp
@@ -0,0 +1,60 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('client_id');?></th>
+ <th><?php echo $paginator->sort('owner_id');?></th>
+ <th><?php echo $paginator->sort('is_active');?></th>
+ <th><?php echo $paginator->sort('created');?></th>
+ <?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <th class="actions"><?php __('Actions');?></th>
+ <?php endif; ?>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($projects as $project):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $project['Project']['id']; ?>
+ </td>
+ <td>
+ <?php echo $project['Project']['name']; ?>
+ </td>
+ <td>
+ <?php echo $html->link($project['Client']['username'], array('controller'=> 'users', 'action'=>'view', $project['Client']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($project['Owner']['username'], array('controller'=> 'users', 'action'=>'view', $project['Owner']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $project['Project']['is_active']; ?>
+ </td>
+ <td>
+ <?php echo $project['Project']['created']; ?>
+ </td>
+ <?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <td class="actions">
+ <?php echo $html->link(__('New Element', true), array('controller'=> 'elements', 'action'=>'add', $project['Project']['id'], 'plugin'=>null)); ?>
+ <?php echo $html->link(__('New Milestone', true), array('controller'=> 'milestones', 'action'=>'add', $project['Project']['id'], 'plugin'=>null)); ?>
+ <?php echo $html->link(__('New Version', true), array('controller'=> 'versions', 'action'=>'add', $project['Project']['id'], 'plugin'=>null)); ?>
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $project['Project']['id'])); ?>
+ </td>
+ <?php endif; ?>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Project', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+ </div>
+<?php endif; ?>
\ No newline at end of file
diff --git a/views/severities/add.ctp b/views/severities/add.ctp
new file mode 100644
index 0000000..ee913b4
--- /dev/null
+++ b/views/severities/add.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Severity');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this severity.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this severity.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this severity.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/severities/edit.ctp b/views/severities/edit.ctp
new file mode 100644
index 0000000..ee913b4
--- /dev/null
+++ b/views/severities/edit.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Severity');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this severity.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this severity.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this severity.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/severities/index.ctp b/views/severities/index.ctp
new file mode 100644
index 0000000..e72c15c
--- /dev/null
+++ b/views/severities/index.ctp
@@ -0,0 +1,44 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('order');?></th>
+ <th><?php echo $paginator->sort('icon');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($severities as $severity):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $severity['Severity']['id']; ?>
+ </td>
+ <td>
+ <?php echo $severity['Severity']['name']; ?>
+ </td>
+ <td>
+ <?php echo $severity['Severity']['order']; ?>
+ </td>
+ <td>
+ <?php echo $html->image('icons/' . $icons[$severity['Severity']['icon_id']]); ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $severity['Severity']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $severity['Severity']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $severity['Severity']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Severity', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
\ No newline at end of file
diff --git a/views/statuses/add.ctp b/views/statuses/add.ctp
new file mode 100644
index 0000000..d1d3337
--- /dev/null
+++ b/views/statuses/add.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Status');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this status.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this status.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this status.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/statuses/edit.ctp b/views/statuses/edit.ctp
new file mode 100644
index 0000000..d1d3337
--- /dev/null
+++ b/views/statuses/edit.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Status');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this status.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this status.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this status.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/statuses/index.ctp b/views/statuses/index.ctp
new file mode 100644
index 0000000..95d1719
--- /dev/null
+++ b/views/statuses/index.ctp
@@ -0,0 +1,44 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('order');?></th>
+ <th><?php echo $paginator->sort('icon');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($statuses as $status):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $status['Status']['id']; ?>
+ </td>
+ <td>
+ <?php echo $status['Status']['name']; ?>
+ </td>
+ <td>
+ <?php echo $status['Status']['order']; ?>
+ </td>
+ <td>
+ <?php echo $html->image('icons/' . $icons[$status['Status']['icon_id']]); ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $status['Status']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $status['Status']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $status['Status']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Status', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
\ No newline at end of file
diff --git a/views/task_changes/add.ctp b/views/task_changes/add.ctp
new file mode 100644
index 0000000..0876ff0
--- /dev/null
+++ b/views/task_changes/add.ctp
@@ -0,0 +1,224 @@
+<?php echo $form->create('TaskChange', array('action'=>'add'));?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Task</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task for this update.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('task_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('Task.owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>User</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ The name of the user updating this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('user_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Resolution</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a resolution for this task if applicable.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('resolution', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Type</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task type.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('type_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Severity</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task severity.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('severity_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Priority</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task priority.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('priority_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Element</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('element_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Version</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('version_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Milestone</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('milestone_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Status</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task status.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('status_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Has a Due Date?</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Check this box to assign the due date below.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php
+ if ($this->data['TaskChange']['due']) {
+ echo $form->input('is_due', array('type'=>'checkbox', 'checked'=>'true', 'class'=>'form', 'label'=>''));
+ } else {
+ echo $form->input('is_due', array('type'=>'checkbox', 'class'=>'form', 'label'=>''));
+ }
+ ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Due</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a due date if applicable.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('due', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Is The Task Complete?</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Check this box to complete the task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php
+ if ($this->data['TaskChange']['completed']) {
+ echo $form->input('is_completed', array('type'=>'checkbox', 'checked'=>'true', 'class'=>'form', 'label'=>''));
+ } else {
+ echo $form->input('is_completed', array('type'=>'checkbox', 'class'=>'form', 'label'=>''));
+ }
+ ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Completed</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a due date if applicable.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('due', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+<?php echo $form->end('Submit');?>
diff --git a/views/task_comments/add.ctp b/views/task_comments/add.ctp
new file mode 100644
index 0000000..5ecde41
--- /dev/null
+++ b/views/task_comments/add.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('TaskComment');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Task</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task for this comment.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('task_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>User</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ The user submitting this comment.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('user_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Title</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a title for this comment.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('title', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Bod</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter content for this comment.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('body', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/tasks/add.ctp b/views/tasks/add.ctp
new file mode 100644
index 0000000..46df0a5
--- /dev/null
+++ b/views/tasks/add.ctp
@@ -0,0 +1,173 @@
+<?php echo $form->create('Task');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Reporter</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ The name of the user reporting this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('reporter_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Title</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a title for this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('title', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this task.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Type</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task type.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.type_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Severity</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task severity.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.severity_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Priority</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task priority.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.priority_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Status</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a task status.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.status_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Element</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project element.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.element_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Version</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.version_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Milestone</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project milestone.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.milestone_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Has a Due Date?</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Check this box to assign the due date below.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('is_due', array('type'=>'checkbox', 'class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Milestone</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a due date if applicable.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('TaskChange.0.due', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+<?php echo $form->end('Submit');?>
diff --git a/views/tasks/edit.ctp b/views/tasks/edit.ctp
new file mode 100644
index 0000000..93247ff
--- /dev/null
+++ b/views/tasks/edit.ctp
@@ -0,0 +1,8 @@
+<?php echo $form->create('Task');?>
+ <?php
+echo $this->element('box/top', array('type'=>'body'));
+ echo $form->input('title', array('class'=>'form', 'label'=>null));
+echo $this->element('box/bottom', array('type'=>'body'));
+ echo $form->input('id', array('type'=>'hidden'));
+ ?>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/tasks/index.ctp b/views/tasks/index.ctp
new file mode 100644
index 0000000..174f82d
--- /dev/null
+++ b/views/tasks/index.ctp
@@ -0,0 +1,86 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('title');?></th>
+ <th><?php echo $paginator->sort('owner');?></th>
+ <th>Status</th>
+ <th>Severity</th>
+ <th>Priority</th>
+ <th>Type</th>
+ <th>Version</th>
+ <th>Milestone</th>
+ <?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <th class="actions"><?php __('Actions');?></th>
+ <?php endif; ?>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($tasks as $task):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+
+ $taskChange = null;
+ foreach ($task['TaskChange'] as $taskChange) {
+ if ($taskChange['is_active']) {
+ break;
+ }
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $task['Task']['id']; ?>
+ </td>
+ <td>
+ <?php echo $html->link($task['Task']['title'], array('controller'=>'tasks', 'action'=>'view', $task['Task']['id'])); ?>
+ </td>
+ <td>
+ <?php if(isset($task['Task']['owner_id'])): ?>
+ <?php echo $html->link($task['Owner']['username'], array('controller'=> 'users', 'action'=>'view', $task['Owner']['id'])); ?>
+ <?php else: ?>
+ <?php echo $html->image('icons/status_busy.png'); ?>
+ <?php endif; ?>
+ </td>
+ <td>
+ <?php if(isset($taskChange['status_id'])): ?>
+ <?php echo $html->image('icons/' . $icons[$statusIcons[$taskChange['status_id']]], array('title'=>$statuses[$taskChange['status_id']])); ?>
+ <?php endif; ?>
+ </td>
+ <td>
+ <?php if(isset($taskChange['severity_id'])): ?>
+ <?php echo $html->image('icons/' . $icons[$severityIcons[$taskChange['severity_id']]], array('title'=>$severities[$taskChange['severity_id']])); ?>
+ <?php endif; ?>
+ </td>
+ <td>
+ <?php if(isset($taskChange['priority_id'])): ?>
+ <?php echo $html->image('icons/' . $icons[$priorityIcons[$taskChange['priority_id']]], array('title'=>$priorities[$taskChange['priority_id']])); ?>
+ <?php endif; ?>
+ </td>
+ <td>
+ <?php if(isset($taskChange['type_id'])): ?>
+ <?php echo $html->image('icons/' . $icons[$typeIcons[$taskChange['type_id']]], array('title'=>$types[$taskChange['type_id']])); ?>
+ <?php endif; ?>
+ </td>
+ <td>
+ <?php if(isset($taskChange['version_id'])): ?>
+ <?php echo $versions[$taskChange['version_id']]; ?>
+ <?php endif; ?>
+ </td>
+ <td>
+ <?php if(isset($taskChange['milestone_id'])): ?>
+ <?php echo $milestones[$taskChange['milestone_id']]; ?>
+ <?php endif; ?>
+ </td>
+ <?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <td class="actions">
+ <?php echo $html->link(__('Update', true), array('controller'=>'task_changes', 'action'=>'add', $task['Task']['id'])); ?>
+ <?php echo $html->link(__('Edit', true), array('controller'=>'tasks', 'action'=>'edit', $task['Task']['id'])); ?>
+ </td>
+ <?php endif; ?>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
diff --git a/views/tasks/view.ctp b/views/tasks/view.ctp
new file mode 100644
index 0000000..282c47a
--- /dev/null
+++ b/views/tasks/view.ctp
@@ -0,0 +1,213 @@
+<?php
+foreach ($task['TaskChange'] as $taskChange) {
+ if ($taskChange['is_active']) {
+ break;
+ }
+}
+?>
+
+<?php if ($task['Task']['id']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Id
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $task['Task']['id']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($task['Task']['title']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Title
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $task['Task']['title']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if (isset($taskChange['description'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Description
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['description']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if (isset($taskChange['resolution'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Resolution
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['resolution']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($task['Task']['created']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Created
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $task['Task']['created']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if (isset($taskChange['due'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Due
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['due']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($task['Task']['updated']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Updated
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $task['Task']['updated']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if (isset($taskChange['completed'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Completed
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['completed']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($task['Task']['is_open']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Is Open
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $task['Task']['is_open']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($task['Project']['name']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Project
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $task['Project']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Type']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Type
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Type']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Element']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Element
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Element']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Severity']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Severity
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Severity']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Priority']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Priority
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Priority']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if ($task['Owner']['id']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Owner
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $html->link($task['Owner']['username'], array('controller'=> 'users', 'action'=>'view', $task['Owner']['id'])); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if ($task['Reporter']['id']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Reporter
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $html->link($task['Reporter']['name'], array('controller'=> 'users', 'action'=>'view', $task['Reporter']['id'])); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Version']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Version
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Version']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Milestone']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Milestone
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Milestone']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if (isset($taskChange['Status']['name'])): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Status
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $taskChange['Status']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if ($session->read('Auth.User.group_id') == 1) : ?>
+ <div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('Update Task', array('controller'=>'task_changes', 'action'=>'add', $task['Task']['id']), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+ </div>
+ <div class="reset"></div>
+<?php endif; ?>
+
+<?php if (!empty($task['TaskComment'])):?>
+ <br>
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <?php __('Comments');?> <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <table cellpadding = "0" cellspacing = "0">
+ <tr>
+ <th><?php __('User Id'); ?></th>
+ <th><?php __('Title'); ?></th>
+ <th><?php __('Body'); ?></th>
+ <th><?php __('Created'); ?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($task['TaskComment'] as $taskComment):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td><?php echo $taskComment['user_id'];?></td>
+ <td><?php echo $taskComment['title'];?></td>
+ <td><?php echo $taskComment['body'];?></td>
+ <td><?php echo $taskComment['created'];?></td>
+ </tr>
+ <?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('Add Comment', array('controller'=>'task_comments', 'action'=>'add', $task['Task']['id']), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
diff --git a/views/timeclocks/add.ctp b/views/timeclocks/add.ctp
new file mode 100644
index 0000000..8fbb1b9
--- /dev/null
+++ b/views/timeclocks/add.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('Timeclock');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>User</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a user for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('user_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Milestone</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a milestone for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('milestone_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Element</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an element for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('element_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/timeclocks/edit.ctp b/views/timeclocks/edit.ctp
new file mode 100644
index 0000000..a0b47d2
--- /dev/null
+++ b/views/timeclocks/edit.ctp
@@ -0,0 +1,85 @@
+<?php echo $form->create('Timeclock');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>User</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a user for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('user_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Milestone</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a milestone for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('milestone_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Element</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an element for this time clock.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('element_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Clocked In</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select the date and time the user clocked in.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('clocked_in', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Clocked Out</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select the date and time the user clocked out.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('clocked_out', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
+
+<?php echo $form->create('Timeclock');?>
\ No newline at end of file
diff --git a/views/timeclocks/index.ctp b/views/timeclocks/index.ctp
new file mode 100644
index 0000000..b479ffc
--- /dev/null
+++ b/views/timeclocks/index.ctp
@@ -0,0 +1,51 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('user_id');?></th>
+ <th><?php echo $paginator->sort('project_id');?></th>
+ <th><?php echo $paginator->sort('milestone_id');?></th>
+ <th><?php echo $paginator->sort('element_id');?></th>
+ <th><?php echo $paginator->sort('clocked_in');?></th>
+ <th><?php echo $paginator->sort('clocked_out');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($timeclocks as $timeclock):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $timeclock['Timeclock']['id']; ?>
+ </td>
+ <td>
+ <?php echo $html->link($timeclock['User']['username'], array('controller'=> 'users', 'action'=>'view', $timeclock['User']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($timeclock['Project']['name'], array('controller'=> 'projects', 'action'=>'view', $timeclock['Project']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($timeclock['Milestone']['name'], array('controller'=> 'milestones', 'action'=>'view', $timeclock['Milestone']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($timeclock['Element']['name'], array('controller'=> 'elements', 'action'=>'view', $timeclock['Element']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $timeclock['Timeclock']['clocked_in']; ?>
+ </td>
+ <td>
+ <?php echo $timeclock['Timeclock']['clocked_out']; ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $timeclock['Timeclock']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $timeclock['Timeclock']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $timeclock['Timeclock']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
\ No newline at end of file
diff --git a/views/types/add.ctp b/views/types/add.ctp
new file mode 100644
index 0000000..46ff36d
--- /dev/null
+++ b/views/types/add.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Type');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this type.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this type.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this type.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/types/edit.ctp b/views/types/edit.ctp
new file mode 100644
index 0000000..46ff36d
--- /dev/null
+++ b/views/types/edit.ctp
@@ -0,0 +1,43 @@
+<?php echo $form->create('Type');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this type.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter an order for this type.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('order', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Icon</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an icon for this type.<br>
+ <?php echo $html->link('View Icons', '/img/icons/index_abc.png', array('target'=>'_blank')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('icon_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/types/index.ctp b/views/types/index.ctp
new file mode 100644
index 0000000..5608e25
--- /dev/null
+++ b/views/types/index.ctp
@@ -0,0 +1,44 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('order');?></th>
+ <th><?php echo $paginator->sort('icon');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($types as $type):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $type['Type']['id']; ?>
+ </td>
+ <td>
+ <?php echo $type['Type']['name']; ?>
+ </td>
+ <td>
+ <?php echo $type['Type']['order']; ?>
+ </td>
+ <td>
+ <?php echo $html->image('icons/' . $icons[$type['Type']['icon_id']]); ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $type['Type']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $type['Type']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $type['Type']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New Type', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
\ No newline at end of file
diff --git a/views/users/add.ctp b/views/users/add.ctp
new file mode 100644
index 0000000..b30f10b
--- /dev/null
+++ b/views/users/add.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('User');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Username</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a username for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('username', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Password</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a password for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('password', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Group</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a group for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('group_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/users/edit.ctp b/views/users/edit.ctp
new file mode 100644
index 0000000..2d06cfd
--- /dev/null
+++ b/views/users/edit.ctp
@@ -0,0 +1,68 @@
+<?php echo $form->create('User');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Username</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a username for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('username', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>New Password</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a password for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('new_password', array('class' => 'form', 'type' => 'password', 'size' => '20', 'label' =>'') ); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Confirmation Password</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Re-Enter the password for this user for confirmation.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('confirm_password', array('class' => 'form', 'type' => 'password', 'size' => '20', 'label' =>'') ); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Group</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a group for this user.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('group_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
\ No newline at end of file
diff --git a/views/users/index.ctp b/views/users/index.ctp
new file mode 100644
index 0000000..c88e496
--- /dev/null
+++ b/views/users/index.ctp
@@ -0,0 +1,49 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('username');?></th>
+ <th><?php echo $paginator->sort('group_id');?></th>
+ <th><?php echo $paginator->sort('created');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($users as $user):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $user['User']['id']; ?>
+ </td>
+ <td>
+ <?php echo $user['User']['name']; ?>
+ </td>
+ <td>
+ <?php echo $user['User']['username']; ?>
+ </td>
+ <td>
+ <?php echo $user['Group']['name']; ?>
+ </td>
+ <td>
+ <?php echo $user['User']['created']; ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('View', true), array('action'=>'view', $user['User']['id'])); ?>
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $user['User']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $user['User']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $user['User']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
+<div id="toolbar">
+ <ul>
+ <li><div align="center"><?php echo $html->link('New User', array('action'=>'add'), array('id'=>'tb-button', 'class'=>'tb-normal')); ?></div></li>
+ </ul>
+</div>
diff --git a/views/users/login.ctp b/views/users/login.ctp
new file mode 100644
index 0000000..2185ac5
--- /dev/null
+++ b/views/users/login.ctp
@@ -0,0 +1,17 @@
+<?php if ($session->check('Message.auth')) $session->flash('auth'); ?>
+
+<?php echo $form->create('User', array('action' => 'login')); ?>
+
+<?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php
+ echo $form->input('username', array('class'=>'form'));
+ ?>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+
+<?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php
+ echo $form->input('password', array('class'=>'form'));
+ ?>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+
+<?php echo $form->end('Login'); ?>
\ No newline at end of file
diff --git a/views/users/logout.ctp b/views/users/logout.ctp
new file mode 100644
index 0000000..e69de29
diff --git a/views/users/view.ctp b/views/users/view.ctp
new file mode 100644
index 0000000..1744dc5
--- /dev/null
+++ b/views/users/view.ctp
@@ -0,0 +1,53 @@
+<?php if ($user['Group']['name']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Group
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $user['Group']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php endif; ?>
+<?php if ($user['User']['id']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Id
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $user['User']['id']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($user['User']['name']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Name
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $user['User']['name']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($user['User']['username']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Username
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $user['User']['username']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($user['User']['created']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Created
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $user['User']['created']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
+<?php if ($user['User']['updated']): ?>
+ <?php echo $this->element('box/top', array('type'=>'title','size'=>'medium','locale'=>'left')); ?>
+ Updated
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ <?php echo $user['User']['updated']; ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php endif; ?>
diff --git a/views/versions/add.ctp b/views/versions/add.ctp
new file mode 100644
index 0000000..a93f47d
--- /dev/null
+++ b/views/versions/add.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('Version');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/versions/edit.ctp b/views/versions/edit.ctp
new file mode 100644
index 0000000..a93f47d
--- /dev/null
+++ b/views/versions/edit.ctp
@@ -0,0 +1,55 @@
+<?php echo $form->create('Version');?>
+<div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Name</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a name for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('name', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Description</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Enter a description for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('description', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Owner</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select an owner for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('owner_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+
+ <div class="labels">
+ <?php echo $this->element('box/top', array('type'=>'title')); ?>
+ <strong>Project</strong>
+ <?php echo $this->element('box/bottom', array('type'=>'title')); ?>
+ <?php echo $this->element('box/top', array('type'=>'body')); ?>
+ Select a project for this version.
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ </div>
+ <?php echo $this->element('box/top', array('type'=>'body',)); ?>
+ <?php echo $form->input('project_id', array('class'=>'form', 'label'=>'')); ?>
+ <?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+ <div class="reset"></div>
+<?php echo $form->end('Submit');?>
diff --git a/views/versions/index.ctp b/views/versions/index.ctp
new file mode 100644
index 0000000..8c0c27e
--- /dev/null
+++ b/views/versions/index.ctp
@@ -0,0 +1,43 @@
+<?php echo $this->element('pagination_links'); ?>
+<?php echo $this->element('box/top', array('type'=>'body')); ?> <table cellpadding="0" cellspacing="0">
+ <tr>
+ <th><?php echo $paginator->sort('id');?></th>
+ <th><?php echo $paginator->sort('name');?></th>
+ <th><?php echo $paginator->sort('owner_id');?></th>
+ <th><?php echo $paginator->sort('project_id');?></th>
+ <th><?php echo $paginator->sort('created');?></th>
+ <th class="actions"><?php __('Actions');?></th>
+ </tr>
+ <?php
+ $i = 0;
+ foreach ($versions as $version):
+ $class = null;
+ if ($i++ % 2 == 0) {
+ $class = ' class="altrow"';
+ }
+ ?>
+ <tr<?php echo $class;?>>
+ <td>
+ <?php echo $version['Version']['id']; ?>
+ </td>
+ <td>
+ <?php echo $version['Version']['name']; ?>
+ </td>
+ <td>
+ <?php echo $html->link($version['Owner']['username'], array('controller'=> 'users', 'action'=>'view', $version['Owner']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $html->link($version['Project']['name'], array('controller'=> 'projects', 'action'=>'view', $version['Project']['id'])); ?>
+ </td>
+ <td>
+ <?php echo $version['Version']['created']; ?>
+ </td>
+ <td class="actions">
+ <?php echo $html->link(__('Edit', true), array('action'=>'edit', $version['Version']['id'])); ?>
+ <?php echo $html->link(__('Delete', true), array('action'=>'delete', $version['Version']['id']), null, sprintf(__('Are you sure you want to delete # %s?', true), $version['Version']['id'])); ?>
+ </td>
+ </tr>
+<?php endforeach; ?>
+ </table>
+<?php echo $this->element('box/bottom', array('type'=>'body')); ?>
+<?php echo $this->element('pagination_links'); ?>
\ No newline at end of file
diff --git a/webroot/.htaccess b/webroot/.htaccess
new file mode 100644
index 0000000..f9d8b93
--- /dev/null
+++ b/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>
\ No newline at end of file
diff --git a/webroot/css.php b/webroot/css.php
new file mode 100644
index 0000000..eb9be9f
--- /dev/null
+++ b/webroot/css.php
@@ -0,0 +1,102 @@
+<?php
+/* SVN FILE: $Id: css.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * Long 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.webroot
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+if (!defined('CAKE_CORE_INCLUDE_PATH')) {
+ header('HTTP/1.1 404 Not Found');
+ exit('File Not Found');
+}
+/**
+ * Enter description here...
+ */
+if (!class_exists('File')) {
+ uses('file');
+}
+/**
+ * Enter description here...
+ *
+ * @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;
+ }
+/**
+ * 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/webroot/css/images/Thumbs.db b/webroot/css/images/Thumbs.db
new file mode 100644
index 0000000..ba28d01
Binary files /dev/null and b/webroot/css/images/Thumbs.db differ
diff --git a/webroot/css/images/boxcreambody.gif b/webroot/css/images/boxcreambody.gif
new file mode 100644
index 0000000..8323c01
Binary files /dev/null and b/webroot/css/images/boxcreambody.gif differ
diff --git a/webroot/css/images/boxcreambottom.gif b/webroot/css/images/boxcreambottom.gif
new file mode 100644
index 0000000..0d42084
Binary files /dev/null and b/webroot/css/images/boxcreambottom.gif differ
diff --git a/webroot/css/images/boxcreamtop.gif b/webroot/css/images/boxcreamtop.gif
new file mode 100644
index 0000000..a035064
Binary files /dev/null and b/webroot/css/images/boxcreamtop.gif differ
diff --git a/webroot/css/images/boxyellowbody.gif b/webroot/css/images/boxyellowbody.gif
new file mode 100644
index 0000000..0680707
Binary files /dev/null and b/webroot/css/images/boxyellowbody.gif differ
diff --git a/webroot/css/images/boxyellowbottom.gif b/webroot/css/images/boxyellowbottom.gif
new file mode 100644
index 0000000..cff0a82
Binary files /dev/null and b/webroot/css/images/boxyellowbottom.gif differ
diff --git a/webroot/css/images/boxyellowtop.gif b/webroot/css/images/boxyellowtop.gif
new file mode 100644
index 0000000..a035064
Binary files /dev/null and b/webroot/css/images/boxyellowtop.gif differ
diff --git a/webroot/css/images/divider.gif b/webroot/css/images/divider.gif
new file mode 100644
index 0000000..d0c4bc2
Binary files /dev/null and b/webroot/css/images/divider.gif differ
diff --git a/webroot/css/images/toolbar/Thumbs.db b/webroot/css/images/toolbar/Thumbs.db
new file mode 100644
index 0000000..c3582e7
Binary files /dev/null and b/webroot/css/images/toolbar/Thumbs.db differ
diff --git a/webroot/css/images/toolbar/tb-button.gif b/webroot/css/images/toolbar/tb-button.gif
new file mode 100644
index 0000000..bfe047a
Binary files /dev/null and b/webroot/css/images/toolbar/tb-button.gif differ
diff --git a/webroot/css/kinspire.default.css b/webroot/css/kinspire.default.css
new file mode 100644
index 0000000..0781da4
--- /dev/null
+++ b/webroot/css/kinspire.default.css
@@ -0,0 +1,636 @@
+.pagetitle {
+ /*letter-spacing:0.2em;*/
+ color: #555555;
+ font-variant: small-caps;
+}
+
+#content_wrapper {
+ /* border:1 px solid black; */
+ float:left;
+ width: 745px;
+}
+
+/** LAYOUT 951 CENTERED **/
+
+#wrapper {
+ width: 951px;
+ margin: 0px auto;
+}
+
+/* ----- TYPOGRAPHY AND COLORS ----- */
+
+body {
+ background-color: #FFFFFF;
+ margin: 10px 0px 10px 0px;
+ padding: 0;
+ font-family: "Trebuchet Ms", Helvetica;
+ font-size: 12px;
+ color: #333333;
+}
+
+/* default links */
+
+
+a {
+ text-decoration : none;
+ color: #91A946;
+}
+
+a:hover {
+ text-decoration : underline;
+ color: #A6C150;
+}
+
+/* remove default margins from paragraphs and headings, just leave 5px at the bottom */
+
+h1, h2, h3, h4, h5 {
+ margin: 0px 0px 0px 0px;
+}
+
+p {
+ margin: 0px 0px 0px 0px;
+}
+
+/* classes for fast styling */
+
+.small {
+ font-size: 12px;
+}
+
+/* ----- HELPER CLASSES ----- */
+
+/* FLOAT LEFT */
+
+.left {
+ float: left;
+}
+
+/* FLOAT RIGHT */
+
+.right {
+ float: right;
+}
+
+/* CLASS="RESET" : to be used after floats, to reset */
+
+.reset {
+ clear: both;
+ height: 1px;
+ overflow: hidden;
+}
+
+/* removes annoying borders from all linked images */
+
+img {
+ border: 0px;
+}
+
+div.hidden
+{
+ margin: 0px 0px 0px 0px;
+ display: none;
+}
+
+/* ---------- TOOLBAR ---------- */
+
+.toolbar {
+ width: 936px;
+}
+
+#toolbar ul {
+ margin: 0px 0px 0px 0px;
+ padding: 0px 0px 0px 0px;
+ list-style: none;
+}
+
+#toolbar ul li {
+ float: left;
+ padding-left: 5px;
+ padding-right: 5px;
+ padding-top: 5px;
+}
+
+
+/* ------ TOOLBAR LINKS ------- */
+
+#toolbar a {
+ display: block;
+ width: 107px;
+ height: 20px;
+ background-position: 0px 0px;
+ text-transform: uppercase;
+ text-decoration: none;
+ font-weight: bold;
+ color: #FFF;
+}
+
+#toolbar a.tb-selected:hover {
+ background-position: 0px -20px !important;
+}
+
+#toolbar a.tb-disabled {
+ background-position: 0px -80px !important;
+}
+
+#toolbar a.tb-normal {
+ background-position: 0px -40px !important;
+}
+
+#toolbar a.tb-normal:hover {
+ background-position: 0px -60px !important;
+}
+
+
+/* ------ TOOLBAR BUTTONS ------- */
+
+#toolbar a#tb-button {
+ background: url(images/toolbar/tb-button.gif);
+}
+
+/* ------- MAIN ----------- */
+
+#main {
+ float:left;
+}
+
+.boxwrapper {
+ margin-top: 5px;
+}
+
+.smallboxwrapper {
+ width: 200px;
+ margin-top: 5px;
+ margin-right: 5px;
+}
+
+.mediumboxwrapper {
+ width: 200px;
+ margin-top: 5px;
+ margin-right: 5px;
+}
+
+/* ------- FOOTER ----------- */
+
+#footer {
+ margin-top: 5px;
+}
+
+/* ------ GLOBAL CLASSES -------- */
+
+/* DIVIDER */
+
+.divider {
+ background: url(images/divider.gif) repeat-x;
+ width:950px;
+ height: 10px;
+ overflow: hidden; /* IE HACK */
+}
+
+/* BODY BOX */
+
+.bodybox {
+ background: url(images/boxcreambody.gif) repeat-y top left;
+ overflow: hidden; /* IE HACK */
+}
+
+.bodyboxinner {
+ background: url(images/boxcreambody.gif) repeat-y top right;
+ margin: 0px 0px 0px 6px;
+ overflow: auto; /* IE HACK */
+
+}
+
+.bodyboxtop {
+ background: url(images/boxcreamtop.gif) no-repeat top left;
+ height: 4px;
+ margin: 0px;
+ padding: 0px;
+ overflow: hidden; /* IE HACK */
+}
+
+.bodyboxtopinner {
+ background: url(images/boxcreamtop.gif) no-repeat top right;
+ height: 4px;
+ margin: 0px 0px 0px 4px;
+ padding: 0px;
+ overflow: hidden; /* IE6 HACK */
+}
+
+.bodyboxbottom {
+ background: url(images/boxcreambottom.gif) no-repeat bottom left;
+ height: 5px;
+ margin: 0px;
+ padding: 0px;
+ overflow: hidden; /* IE HACK */
+}
+
+.bodyboxbottominner {
+ background: url(images/boxcreambottom.gif) no-repeat top right;
+ height: 5px;
+ margin: 0px 0px 0px 4px;
+ overflow: hidden; /* IE6 HACK */
+}
+
+/* TITLE BOX */
+
+.titlebox {
+ background: url(images/boxyellowbody.gif) repeat-y top left;
+ overflow: hidden; /* IE HACK */
+}
+
+.titleboxinner {
+ background: url(images/boxyellowbody.gif) repeat-y top right;
+ margin: 0px 0px 0px 6px;
+ overflow: hidden; /* IE HACK */
+
+}
+
+.titleboxtop {
+ background: url(images/boxyellowtop.gif) no-repeat top left;
+ height: 4px;
+ margin: 0px;
+ padding: 0px;
+ overflow: hidden; /* IE HACK */
+}
+
+.titleboxtopinner {
+ background: url(images/boxyellowtop.gif) no-repeat top right;
+ height: 4px;
+ margin: 0px 0px 0px 4px;
+ padding: 0px;
+ overflow: hidden; /* IE6 HACK */
+}
+
+.titleboxbottom {
+ background: url(images/boxyellowbottom.gif) no-repeat bottom left;
+ height: 5px;
+ margin: 0px;
+ padding: 0px;
+ overflow: hidden; /* IE HACK */
+}
+
+.titleboxbottominner {
+ background: url(images/boxyellowbottom.gif) no-repeat top right;
+ height: 5px;
+ margin: 0px 0px 0px 4px;
+ overflow: hidden; /* IE6 HACK */
+}
+
+/* Tables */
+table {
+ background: #fff;
+ border:1px solid #ccc;
+ border-right:0;
+ clear: both;
+ color: #333;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ margin-left:auto;
+ margin-right:auto;
+ width: 95%;
+}
+
+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 {
+ /*margin-bottom: 2em;*/
+}
+div.paging div.disabled {
+ color: #bbb;
+ display: inline;
+}
+
+
+/* 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;
+}
+
+div.leftnav ul {
+ font-size: 14px;
+ margin: 5px 5px;
+ list-style: none;
+ padding: 0;
+}
+div.hidden ul {
+ font-weight: normal;
+ font-variant: normal;
+}
+
+/* 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 {
+ color: #91A946;
+ text-decoration: none;
+}
+div.actions ul li a:hover {
+ color: #A6C150;
+ 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;
+}
+
+/* Forms */
+form {
+ border: 0px;
+ padding: 0px;
+ margin: 0px;
+}
+.labels {
+ width: 300px;
+ padding-right: 5px;
+ float: left;
+}
+label {
+ display: block;
+ padding-right: 20px;
+}
+input:hover, select:hover, textarea:hover {
+ background: #EDF2DC;
+}
+ input:focus, select:focus, textarea:focus {
+ background: #f9f9f1;
+}
+input.form, textarea.form {
+ border-top:1px dotted #999999;
+ border-bottom:1px dotted #999999;
+ border-left:1px dotted #999999;
+ border-right:1px dotted #999999;
+ display: block;
+ font-family: "frutiger linotype", "lucida grande", "verdana", sans-serif;
+ width: 98%;
+}
+input[type=checkbox] {
+ clear: left;
+ float: left;
+ width: auto;
+}
+div.submit input {
+ color: #FFF;
+ border:0;
+ height:20px;
+ margin: 6px;
+ font-size:12px;
+ text-transform: uppercase;
+ background: url(images/toolbar/tb-button.gif);
+ background-position: 0px -40px !important;
+ width: 107px;
+}
+div.submit input:hover {
+ background-position: 0px -60px !important;
+}
+input hidden {
+ border-top:none;
+ border-bottom:none;
+ border-left:none;
+ border-right:none;
+}
+
+/* calendar CSS */
+
+table.calendar {
+ width: 99%;
+ border: 1px solid #cccccc;
+ border-collapse: collapse;
+ margin: 5px;
+ padding: 2px;
+ background-color: #ffffff;
+}
+table.calendar th {
+ background-color: #eeeeee;
+ text-transform: none;
+ color: #444444;
+ padding: 4px;
+ text-align: center;
+ border: 1px solid #eeeeee;
+}
+table.calendar th.cell-prev {
+ text-align: left;
+}
+table.calendar th.cell-next {
+ text-align: right;
+}
+table.calendar th.cell-header {
+ width: 70px;
+ border-bottom: 1px solid #cccccc;
+}
+table.calendar td.cell-today {
+ background-color: #e2e8f6;
+} /* today in the current month */
+table.calendar td.cell-weekend {
+ background-color: #F3F5EB;
+}
+table.calendar td {
+ border: 1px solid #cccccc;
+}
+table.calendar td div.cell-number {
+ text-align: right;
+ font-size: 10px;
+ color: #444444;
+ display: block;
+}
+table.calendar td div {
+ display: block;
+ font-size: 10px;
+ text-align: left;
+}
+table.calendar thead th {
+ border: 1px solid #cccccc;
+}
diff --git a/webroot/favicon.ico b/webroot/favicon.ico
new file mode 100644
index 0000000..b36e81f
Binary files /dev/null and b/webroot/favicon.ico differ
diff --git a/webroot/img/apache.gif b/webroot/img/apache.gif
new file mode 100644
index 0000000..ab3e8c9
Binary files /dev/null and b/webroot/img/apache.gif differ
diff --git a/webroot/img/cake.gif b/webroot/img/cake.gif
new file mode 100644
index 0000000..8f8d570
Binary files /dev/null and b/webroot/img/cake.gif differ
diff --git a/webroot/img/cake.icon.gif b/webroot/img/cake.icon.gif
new file mode 100644
index 0000000..f29f72e
Binary files /dev/null and b/webroot/img/cake.icon.gif differ
diff --git a/webroot/img/cake.power.gif b/webroot/img/cake.power.gif
new file mode 100644
index 0000000..8f8d570
Binary files /dev/null and b/webroot/img/cake.power.gif differ
diff --git a/webroot/img/icons/accept.png b/webroot/img/icons/accept.png
new file mode 100644
index 0000000..89c8129
Binary files /dev/null and b/webroot/img/icons/accept.png differ
diff --git a/webroot/img/icons/add.png b/webroot/img/icons/add.png
new file mode 100644
index 0000000..6332fef
Binary files /dev/null and b/webroot/img/icons/add.png differ
diff --git a/webroot/img/icons/anchor.png b/webroot/img/icons/anchor.png
new file mode 100644
index 0000000..9b3422c
Binary files /dev/null and b/webroot/img/icons/anchor.png differ
diff --git a/webroot/img/icons/application.png b/webroot/img/icons/application.png
new file mode 100644
index 0000000..1dee9e3
Binary files /dev/null and b/webroot/img/icons/application.png differ
diff --git a/webroot/img/icons/application_add.png b/webroot/img/icons/application_add.png
new file mode 100644
index 0000000..2e94507
Binary files /dev/null and b/webroot/img/icons/application_add.png differ
diff --git a/webroot/img/icons/application_cascade.png b/webroot/img/icons/application_cascade.png
new file mode 100644
index 0000000..da5c622
Binary files /dev/null and b/webroot/img/icons/application_cascade.png differ
diff --git a/webroot/img/icons/application_delete.png b/webroot/img/icons/application_delete.png
new file mode 100644
index 0000000..0a335ac
Binary files /dev/null and b/webroot/img/icons/application_delete.png differ
diff --git a/webroot/img/icons/application_double.png b/webroot/img/icons/application_double.png
new file mode 100644
index 0000000..647592f
Binary files /dev/null and b/webroot/img/icons/application_double.png differ
diff --git a/webroot/img/icons/application_edit.png b/webroot/img/icons/application_edit.png
new file mode 100644
index 0000000..fb2efb8
Binary files /dev/null and b/webroot/img/icons/application_edit.png differ
diff --git a/webroot/img/icons/application_error.png b/webroot/img/icons/application_error.png
new file mode 100644
index 0000000..b35fa57
Binary files /dev/null and b/webroot/img/icons/application_error.png differ
diff --git a/webroot/img/icons/application_form.png b/webroot/img/icons/application_form.png
new file mode 100644
index 0000000..807b862
Binary files /dev/null and b/webroot/img/icons/application_form.png differ
diff --git a/webroot/img/icons/application_form_add.png b/webroot/img/icons/application_form_add.png
new file mode 100644
index 0000000..28c2175
Binary files /dev/null and b/webroot/img/icons/application_form_add.png differ
diff --git a/webroot/img/icons/application_form_delete.png b/webroot/img/icons/application_form_delete.png
new file mode 100644
index 0000000..cd305ec
Binary files /dev/null and b/webroot/img/icons/application_form_delete.png differ
diff --git a/webroot/img/icons/application_form_edit.png b/webroot/img/icons/application_form_edit.png
new file mode 100644
index 0000000..af486c9
Binary files /dev/null and b/webroot/img/icons/application_form_edit.png differ
diff --git a/webroot/img/icons/application_form_magnify.png b/webroot/img/icons/application_form_magnify.png
new file mode 100644
index 0000000..7b7fbd1
Binary files /dev/null and b/webroot/img/icons/application_form_magnify.png differ
diff --git a/webroot/img/icons/application_get.png b/webroot/img/icons/application_get.png
new file mode 100644
index 0000000..28e41ea
Binary files /dev/null and b/webroot/img/icons/application_get.png differ
diff --git a/webroot/img/icons/application_go.png b/webroot/img/icons/application_go.png
new file mode 100644
index 0000000..5cc2b0d
Binary files /dev/null and b/webroot/img/icons/application_go.png differ
diff --git a/webroot/img/icons/application_home.png b/webroot/img/icons/application_home.png
new file mode 100644
index 0000000..b60d0c8
Binary files /dev/null and b/webroot/img/icons/application_home.png differ
diff --git a/webroot/img/icons/application_key.png b/webroot/img/icons/application_key.png
new file mode 100644
index 0000000..998d65c
Binary files /dev/null and b/webroot/img/icons/application_key.png differ
diff --git a/webroot/img/icons/application_lightning.png b/webroot/img/icons/application_lightning.png
new file mode 100644
index 0000000..7e91545
Binary files /dev/null and b/webroot/img/icons/application_lightning.png differ
diff --git a/webroot/img/icons/application_link.png b/webroot/img/icons/application_link.png
new file mode 100644
index 0000000..f8fbb3e
Binary files /dev/null and b/webroot/img/icons/application_link.png differ
diff --git a/webroot/img/icons/application_osx.png b/webroot/img/icons/application_osx.png
new file mode 100644
index 0000000..9f022ec
Binary files /dev/null and b/webroot/img/icons/application_osx.png differ
diff --git a/webroot/img/icons/application_osx_terminal.png b/webroot/img/icons/application_osx_terminal.png
new file mode 100644
index 0000000..b3d8ce0
Binary files /dev/null and b/webroot/img/icons/application_osx_terminal.png differ
diff --git a/webroot/img/icons/application_put.png b/webroot/img/icons/application_put.png
new file mode 100644
index 0000000..c30cf59
Binary files /dev/null and b/webroot/img/icons/application_put.png differ
diff --git a/webroot/img/icons/application_side_boxes.png b/webroot/img/icons/application_side_boxes.png
new file mode 100644
index 0000000..efbf3c4
Binary files /dev/null and b/webroot/img/icons/application_side_boxes.png differ
diff --git a/webroot/img/icons/application_side_contract.png b/webroot/img/icons/application_side_contract.png
new file mode 100644
index 0000000..3585f94
Binary files /dev/null and b/webroot/img/icons/application_side_contract.png differ
diff --git a/webroot/img/icons/application_side_expand.png b/webroot/img/icons/application_side_expand.png
new file mode 100644
index 0000000..030cf7c
Binary files /dev/null and b/webroot/img/icons/application_side_expand.png differ
diff --git a/webroot/img/icons/application_side_list.png b/webroot/img/icons/application_side_list.png
new file mode 100644
index 0000000..248eaf1
Binary files /dev/null and b/webroot/img/icons/application_side_list.png differ
diff --git a/webroot/img/icons/application_side_tree.png b/webroot/img/icons/application_side_tree.png
new file mode 100644
index 0000000..f04a52b
Binary files /dev/null and b/webroot/img/icons/application_side_tree.png differ
diff --git a/webroot/img/icons/application_split.png b/webroot/img/icons/application_split.png
new file mode 100644
index 0000000..a91c78a
Binary files /dev/null and b/webroot/img/icons/application_split.png differ
diff --git a/webroot/img/icons/application_tile_horizontal.png b/webroot/img/icons/application_tile_horizontal.png
new file mode 100644
index 0000000..8a1191c
Binary files /dev/null and b/webroot/img/icons/application_tile_horizontal.png differ
diff --git a/webroot/img/icons/application_tile_vertical.png b/webroot/img/icons/application_tile_vertical.png
new file mode 100644
index 0000000..1d40383
Binary files /dev/null and b/webroot/img/icons/application_tile_vertical.png differ
diff --git a/webroot/img/icons/application_view_columns.png b/webroot/img/icons/application_view_columns.png
new file mode 100644
index 0000000..dc2e9d5
Binary files /dev/null and b/webroot/img/icons/application_view_columns.png differ
diff --git a/webroot/img/icons/application_view_detail.png b/webroot/img/icons/application_view_detail.png
new file mode 100644
index 0000000..aba044b
Binary files /dev/null and b/webroot/img/icons/application_view_detail.png differ
diff --git a/webroot/img/icons/application_view_gallery.png b/webroot/img/icons/application_view_gallery.png
new file mode 100644
index 0000000..851950d
Binary files /dev/null and b/webroot/img/icons/application_view_gallery.png differ
diff --git a/webroot/img/icons/application_view_icons.png b/webroot/img/icons/application_view_icons.png
new file mode 100644
index 0000000..6a93cda
Binary files /dev/null and b/webroot/img/icons/application_view_icons.png differ
diff --git a/webroot/img/icons/application_view_list.png b/webroot/img/icons/application_view_list.png
new file mode 100644
index 0000000..acc30b8
Binary files /dev/null and b/webroot/img/icons/application_view_list.png differ
diff --git a/webroot/img/icons/application_view_tile.png b/webroot/img/icons/application_view_tile.png
new file mode 100644
index 0000000..3bc0bd3
Binary files /dev/null and b/webroot/img/icons/application_view_tile.png differ
diff --git a/webroot/img/icons/application_xp.png b/webroot/img/icons/application_xp.png
new file mode 100644
index 0000000..d22860a
Binary files /dev/null and b/webroot/img/icons/application_xp.png differ
diff --git a/webroot/img/icons/application_xp_terminal.png b/webroot/img/icons/application_xp_terminal.png
new file mode 100644
index 0000000..c28dd63
Binary files /dev/null and b/webroot/img/icons/application_xp_terminal.png differ
diff --git a/webroot/img/icons/arrow_branch.png b/webroot/img/icons/arrow_branch.png
new file mode 100644
index 0000000..7542db1
Binary files /dev/null and b/webroot/img/icons/arrow_branch.png differ
diff --git a/webroot/img/icons/arrow_divide.png b/webroot/img/icons/arrow_divide.png
new file mode 100644
index 0000000..61a7b1d
Binary files /dev/null and b/webroot/img/icons/arrow_divide.png differ
diff --git a/webroot/img/icons/arrow_down.png b/webroot/img/icons/arrow_down.png
new file mode 100644
index 0000000..2c4e279
Binary files /dev/null and b/webroot/img/icons/arrow_down.png differ
diff --git a/webroot/img/icons/arrow_in.png b/webroot/img/icons/arrow_in.png
new file mode 100644
index 0000000..745c651
Binary files /dev/null and b/webroot/img/icons/arrow_in.png differ
diff --git a/webroot/img/icons/arrow_inout.png b/webroot/img/icons/arrow_inout.png
new file mode 100644
index 0000000..1b76367
Binary files /dev/null and b/webroot/img/icons/arrow_inout.png differ
diff --git a/webroot/img/icons/arrow_join.png b/webroot/img/icons/arrow_join.png
new file mode 100644
index 0000000..a128413
Binary files /dev/null and b/webroot/img/icons/arrow_join.png differ
diff --git a/webroot/img/icons/arrow_left.png b/webroot/img/icons/arrow_left.png
new file mode 100644
index 0000000..5dc6967
Binary files /dev/null and b/webroot/img/icons/arrow_left.png differ
diff --git a/webroot/img/icons/arrow_merge.png b/webroot/img/icons/arrow_merge.png
new file mode 100644
index 0000000..7502dbb
Binary files /dev/null and b/webroot/img/icons/arrow_merge.png differ
diff --git a/webroot/img/icons/arrow_out.png b/webroot/img/icons/arrow_out.png
new file mode 100644
index 0000000..2e9bc42
Binary files /dev/null and b/webroot/img/icons/arrow_out.png differ
diff --git a/webroot/img/icons/arrow_redo.png b/webroot/img/icons/arrow_redo.png
new file mode 100644
index 0000000..fdc394c
Binary files /dev/null and b/webroot/img/icons/arrow_redo.png differ
diff --git a/webroot/img/icons/arrow_refresh.png b/webroot/img/icons/arrow_refresh.png
new file mode 100644
index 0000000..0de2656
Binary files /dev/null and b/webroot/img/icons/arrow_refresh.png differ
diff --git a/webroot/img/icons/arrow_refresh_small.png b/webroot/img/icons/arrow_refresh_small.png
new file mode 100644
index 0000000..d3087df
Binary files /dev/null and b/webroot/img/icons/arrow_refresh_small.png differ
diff --git a/webroot/img/icons/arrow_right.png b/webroot/img/icons/arrow_right.png
new file mode 100644
index 0000000..b1a1819
Binary files /dev/null and b/webroot/img/icons/arrow_right.png differ
diff --git a/webroot/img/icons/arrow_rotate_anticlockwise.png b/webroot/img/icons/arrow_rotate_anticlockwise.png
new file mode 100644
index 0000000..46c75aa
Binary files /dev/null and b/webroot/img/icons/arrow_rotate_anticlockwise.png differ
diff --git a/webroot/img/icons/arrow_rotate_clockwise.png b/webroot/img/icons/arrow_rotate_clockwise.png
new file mode 100644
index 0000000..aa65210
Binary files /dev/null and b/webroot/img/icons/arrow_rotate_clockwise.png differ
diff --git a/webroot/img/icons/arrow_switch.png b/webroot/img/icons/arrow_switch.png
new file mode 100644
index 0000000..258c16c
Binary files /dev/null and b/webroot/img/icons/arrow_switch.png differ
diff --git a/webroot/img/icons/arrow_turn_left.png b/webroot/img/icons/arrow_turn_left.png
new file mode 100644
index 0000000..a3d6c9e
Binary files /dev/null and b/webroot/img/icons/arrow_turn_left.png differ
diff --git a/webroot/img/icons/arrow_turn_right.png b/webroot/img/icons/arrow_turn_right.png
new file mode 100644
index 0000000..629f20d
Binary files /dev/null and b/webroot/img/icons/arrow_turn_right.png differ
diff --git a/webroot/img/icons/arrow_undo.png b/webroot/img/icons/arrow_undo.png
new file mode 100644
index 0000000..6972c5e
Binary files /dev/null and b/webroot/img/icons/arrow_undo.png differ
diff --git a/webroot/img/icons/arrow_up.png b/webroot/img/icons/arrow_up.png
new file mode 100644
index 0000000..1ebb193
Binary files /dev/null and b/webroot/img/icons/arrow_up.png differ
diff --git a/webroot/img/icons/asterisk_orange.png b/webroot/img/icons/asterisk_orange.png
new file mode 100644
index 0000000..1ebebde
Binary files /dev/null and b/webroot/img/icons/asterisk_orange.png differ
diff --git a/webroot/img/icons/asterisk_yellow.png b/webroot/img/icons/asterisk_yellow.png
new file mode 100644
index 0000000..bab7cc9
Binary files /dev/null and b/webroot/img/icons/asterisk_yellow.png differ
diff --git a/webroot/img/icons/attach.png b/webroot/img/icons/attach.png
new file mode 100644
index 0000000..ea897cc
Binary files /dev/null and b/webroot/img/icons/attach.png differ
diff --git a/webroot/img/icons/award_star_add.png b/webroot/img/icons/award_star_add.png
new file mode 100644
index 0000000..9c4be9b
Binary files /dev/null and b/webroot/img/icons/award_star_add.png differ
diff --git a/webroot/img/icons/award_star_bronze_1.png b/webroot/img/icons/award_star_bronze_1.png
new file mode 100644
index 0000000..658c711
Binary files /dev/null and b/webroot/img/icons/award_star_bronze_1.png differ
diff --git a/webroot/img/icons/award_star_bronze_2.png b/webroot/img/icons/award_star_bronze_2.png
new file mode 100644
index 0000000..e47babd
Binary files /dev/null and b/webroot/img/icons/award_star_bronze_2.png differ
diff --git a/webroot/img/icons/award_star_bronze_3.png b/webroot/img/icons/award_star_bronze_3.png
new file mode 100644
index 0000000..396e4b3
Binary files /dev/null and b/webroot/img/icons/award_star_bronze_3.png differ
diff --git a/webroot/img/icons/award_star_delete.png b/webroot/img/icons/award_star_delete.png
new file mode 100644
index 0000000..4721b15
Binary files /dev/null and b/webroot/img/icons/award_star_delete.png differ
diff --git a/webroot/img/icons/award_star_gold_1.png b/webroot/img/icons/award_star_gold_1.png
new file mode 100644
index 0000000..97a22b7
Binary files /dev/null and b/webroot/img/icons/award_star_gold_1.png differ
diff --git a/webroot/img/icons/award_star_gold_2.png b/webroot/img/icons/award_star_gold_2.png
new file mode 100644
index 0000000..0eaa571
Binary files /dev/null and b/webroot/img/icons/award_star_gold_2.png differ
diff --git a/webroot/img/icons/award_star_gold_3.png b/webroot/img/icons/award_star_gold_3.png
new file mode 100644
index 0000000..124c991
Binary files /dev/null and b/webroot/img/icons/award_star_gold_3.png differ
diff --git a/webroot/img/icons/award_star_silver_1.png b/webroot/img/icons/award_star_silver_1.png
new file mode 100644
index 0000000..028a546
Binary files /dev/null and b/webroot/img/icons/award_star_silver_1.png differ
diff --git a/webroot/img/icons/award_star_silver_2.png b/webroot/img/icons/award_star_silver_2.png
new file mode 100644
index 0000000..e487c3a
Binary files /dev/null and b/webroot/img/icons/award_star_silver_2.png differ
diff --git a/webroot/img/icons/award_star_silver_3.png b/webroot/img/icons/award_star_silver_3.png
new file mode 100644
index 0000000..1d72d47
Binary files /dev/null and b/webroot/img/icons/award_star_silver_3.png differ
diff --git a/webroot/img/icons/basket.png b/webroot/img/icons/basket.png
new file mode 100644
index 0000000..b0686d7
Binary files /dev/null and b/webroot/img/icons/basket.png differ
diff --git a/webroot/img/icons/basket_add.png b/webroot/img/icons/basket_add.png
new file mode 100644
index 0000000..3554368
Binary files /dev/null and b/webroot/img/icons/basket_add.png differ
diff --git a/webroot/img/icons/basket_delete.png b/webroot/img/icons/basket_delete.png
new file mode 100644
index 0000000..1349974
Binary files /dev/null and b/webroot/img/icons/basket_delete.png differ
diff --git a/webroot/img/icons/basket_edit.png b/webroot/img/icons/basket_edit.png
new file mode 100644
index 0000000..8138bbd
Binary files /dev/null and b/webroot/img/icons/basket_edit.png differ
diff --git a/webroot/img/icons/basket_error.png b/webroot/img/icons/basket_error.png
new file mode 100644
index 0000000..3978b29
Binary files /dev/null and b/webroot/img/icons/basket_error.png differ
diff --git a/webroot/img/icons/basket_go.png b/webroot/img/icons/basket_go.png
new file mode 100644
index 0000000..ed8b9a5
Binary files /dev/null and b/webroot/img/icons/basket_go.png differ
diff --git a/webroot/img/icons/basket_put.png b/webroot/img/icons/basket_put.png
new file mode 100644
index 0000000..be62faa
Binary files /dev/null and b/webroot/img/icons/basket_put.png differ
diff --git a/webroot/img/icons/basket_remove.png b/webroot/img/icons/basket_remove.png
new file mode 100644
index 0000000..04dd7fd
Binary files /dev/null and b/webroot/img/icons/basket_remove.png differ
diff --git a/webroot/img/icons/bell.png b/webroot/img/icons/bell.png
new file mode 100644
index 0000000..6e0015d
Binary files /dev/null and b/webroot/img/icons/bell.png differ
diff --git a/webroot/img/icons/bell_add.png b/webroot/img/icons/bell_add.png
new file mode 100644
index 0000000..7db01d6
Binary files /dev/null and b/webroot/img/icons/bell_add.png differ
diff --git a/webroot/img/icons/bell_delete.png b/webroot/img/icons/bell_delete.png
new file mode 100644
index 0000000..23907bb
Binary files /dev/null and b/webroot/img/icons/bell_delete.png differ
diff --git a/webroot/img/icons/bell_error.png b/webroot/img/icons/bell_error.png
new file mode 100644
index 0000000..a0ddc00
Binary files /dev/null and b/webroot/img/icons/bell_error.png differ
diff --git a/webroot/img/icons/bell_go.png b/webroot/img/icons/bell_go.png
new file mode 100644
index 0000000..b89bb34
Binary files /dev/null and b/webroot/img/icons/bell_go.png differ
diff --git a/webroot/img/icons/bell_link.png b/webroot/img/icons/bell_link.png
new file mode 100644
index 0000000..b8c64af
Binary files /dev/null and b/webroot/img/icons/bell_link.png differ
diff --git a/webroot/img/icons/bin.png b/webroot/img/icons/bin.png
new file mode 100644
index 0000000..ebad933
Binary files /dev/null and b/webroot/img/icons/bin.png differ
diff --git a/webroot/img/icons/bin_closed.png b/webroot/img/icons/bin_closed.png
new file mode 100644
index 0000000..afe22ba
Binary files /dev/null and b/webroot/img/icons/bin_closed.png differ
diff --git a/webroot/img/icons/bin_empty.png b/webroot/img/icons/bin_empty.png
new file mode 100644
index 0000000..375b8bf
Binary files /dev/null and b/webroot/img/icons/bin_empty.png differ
diff --git a/webroot/img/icons/bomb.png b/webroot/img/icons/bomb.png
new file mode 100644
index 0000000..1be3797
Binary files /dev/null and b/webroot/img/icons/bomb.png differ
diff --git a/webroot/img/icons/book.png b/webroot/img/icons/book.png
new file mode 100644
index 0000000..b0f4dd7
Binary files /dev/null and b/webroot/img/icons/book.png differ
diff --git a/webroot/img/icons/book_add.png b/webroot/img/icons/book_add.png
new file mode 100644
index 0000000..e2f0847
Binary files /dev/null and b/webroot/img/icons/book_add.png differ
diff --git a/webroot/img/icons/book_addresses.png b/webroot/img/icons/book_addresses.png
new file mode 100644
index 0000000..b73419b
Binary files /dev/null and b/webroot/img/icons/book_addresses.png differ
diff --git a/webroot/img/icons/book_delete.png b/webroot/img/icons/book_delete.png
new file mode 100644
index 0000000..d9a6340
Binary files /dev/null and b/webroot/img/icons/book_delete.png differ
diff --git a/webroot/img/icons/book_edit.png b/webroot/img/icons/book_edit.png
new file mode 100644
index 0000000..6e756cc
Binary files /dev/null and b/webroot/img/icons/book_edit.png differ
diff --git a/webroot/img/icons/book_error.png b/webroot/img/icons/book_error.png
new file mode 100644
index 0000000..f3fbed0
Binary files /dev/null and b/webroot/img/icons/book_error.png differ
diff --git a/webroot/img/icons/book_go.png b/webroot/img/icons/book_go.png
new file mode 100644
index 0000000..cd4e196
Binary files /dev/null and b/webroot/img/icons/book_go.png differ
diff --git a/webroot/img/icons/book_key.png b/webroot/img/icons/book_key.png
new file mode 100644
index 0000000..d8e23ec
Binary files /dev/null and b/webroot/img/icons/book_key.png differ
diff --git a/webroot/img/icons/book_link.png b/webroot/img/icons/book_link.png
new file mode 100644
index 0000000..dd0820e
Binary files /dev/null and b/webroot/img/icons/book_link.png differ
diff --git a/webroot/img/icons/book_next.png b/webroot/img/icons/book_next.png
new file mode 100644
index 0000000..ff2ea1a
Binary files /dev/null and b/webroot/img/icons/book_next.png differ
diff --git a/webroot/img/icons/book_open.png b/webroot/img/icons/book_open.png
new file mode 100644
index 0000000..7d863f9
Binary files /dev/null and b/webroot/img/icons/book_open.png differ
diff --git a/webroot/img/icons/book_previous.png b/webroot/img/icons/book_previous.png
new file mode 100644
index 0000000..2e53c69
Binary files /dev/null and b/webroot/img/icons/book_previous.png differ
diff --git a/webroot/img/icons/box.png b/webroot/img/icons/box.png
new file mode 100644
index 0000000..8443c23
Binary files /dev/null and b/webroot/img/icons/box.png differ
diff --git a/webroot/img/icons/brick.png b/webroot/img/icons/brick.png
new file mode 100644
index 0000000..7851cf3
Binary files /dev/null and b/webroot/img/icons/brick.png differ
diff --git a/webroot/img/icons/brick_add.png b/webroot/img/icons/brick_add.png
new file mode 100644
index 0000000..fac186b
Binary files /dev/null and b/webroot/img/icons/brick_add.png differ
diff --git a/webroot/img/icons/brick_delete.png b/webroot/img/icons/brick_delete.png
new file mode 100644
index 0000000..3a8c373
Binary files /dev/null and b/webroot/img/icons/brick_delete.png differ
diff --git a/webroot/img/icons/brick_edit.png b/webroot/img/icons/brick_edit.png
new file mode 100644
index 0000000..eb06df3
Binary files /dev/null and b/webroot/img/icons/brick_edit.png differ
diff --git a/webroot/img/icons/brick_error.png b/webroot/img/icons/brick_error.png
new file mode 100644
index 0000000..18ab01e
Binary files /dev/null and b/webroot/img/icons/brick_error.png differ
diff --git a/webroot/img/icons/brick_go.png b/webroot/img/icons/brick_go.png
new file mode 100644
index 0000000..fe0d335
Binary files /dev/null and b/webroot/img/icons/brick_go.png differ
diff --git a/webroot/img/icons/brick_link.png b/webroot/img/icons/brick_link.png
new file mode 100644
index 0000000..9ebf013
Binary files /dev/null and b/webroot/img/icons/brick_link.png differ
diff --git a/webroot/img/icons/bricks.png b/webroot/img/icons/bricks.png
new file mode 100644
index 0000000..0905f93
Binary files /dev/null and b/webroot/img/icons/bricks.png differ
diff --git a/webroot/img/icons/briefcase.png b/webroot/img/icons/briefcase.png
new file mode 100644
index 0000000..05c5649
Binary files /dev/null and b/webroot/img/icons/briefcase.png differ
diff --git a/webroot/img/icons/bug.png b/webroot/img/icons/bug.png
new file mode 100644
index 0000000..2d5fb90
Binary files /dev/null and b/webroot/img/icons/bug.png differ
diff --git a/webroot/img/icons/bug_add.png b/webroot/img/icons/bug_add.png
new file mode 100644
index 0000000..ced7817
Binary files /dev/null and b/webroot/img/icons/bug_add.png differ
diff --git a/webroot/img/icons/bug_delete.png b/webroot/img/icons/bug_delete.png
new file mode 100644
index 0000000..e81d757
Binary files /dev/null and b/webroot/img/icons/bug_delete.png differ
diff --git a/webroot/img/icons/bug_edit.png b/webroot/img/icons/bug_edit.png
new file mode 100644
index 0000000..e5c7dc0
Binary files /dev/null and b/webroot/img/icons/bug_edit.png differ
diff --git a/webroot/img/icons/bug_error.png b/webroot/img/icons/bug_error.png
new file mode 100644
index 0000000..c4e8c28
Binary files /dev/null and b/webroot/img/icons/bug_error.png differ
diff --git a/webroot/img/icons/bug_go.png b/webroot/img/icons/bug_go.png
new file mode 100644
index 0000000..4e4ae99
Binary files /dev/null and b/webroot/img/icons/bug_go.png differ
diff --git a/webroot/img/icons/bug_link.png b/webroot/img/icons/bug_link.png
new file mode 100644
index 0000000..30e25ab
Binary files /dev/null and b/webroot/img/icons/bug_link.png differ
diff --git a/webroot/img/icons/building.png b/webroot/img/icons/building.png
new file mode 100644
index 0000000..11a017c
Binary files /dev/null and b/webroot/img/icons/building.png differ
diff --git a/webroot/img/icons/building_add.png b/webroot/img/icons/building_add.png
new file mode 100644
index 0000000..d88e2b9
Binary files /dev/null and b/webroot/img/icons/building_add.png differ
diff --git a/webroot/img/icons/building_delete.png b/webroot/img/icons/building_delete.png
new file mode 100644
index 0000000..db6455d
Binary files /dev/null and b/webroot/img/icons/building_delete.png differ
diff --git a/webroot/img/icons/building_edit.png b/webroot/img/icons/building_edit.png
new file mode 100644
index 0000000..646db36
Binary files /dev/null and b/webroot/img/icons/building_edit.png differ
diff --git a/webroot/img/icons/building_error.png b/webroot/img/icons/building_error.png
new file mode 100644
index 0000000..a342eef
Binary files /dev/null and b/webroot/img/icons/building_error.png differ
diff --git a/webroot/img/icons/building_go.png b/webroot/img/icons/building_go.png
new file mode 100644
index 0000000..cdcbcb3
Binary files /dev/null and b/webroot/img/icons/building_go.png differ
diff --git a/webroot/img/icons/building_key.png b/webroot/img/icons/building_key.png
new file mode 100644
index 0000000..8b79e30
Binary files /dev/null and b/webroot/img/icons/building_key.png differ
diff --git a/webroot/img/icons/building_link.png b/webroot/img/icons/building_link.png
new file mode 100644
index 0000000..a340629
Binary files /dev/null and b/webroot/img/icons/building_link.png differ
diff --git a/webroot/img/icons/bullet_add.png b/webroot/img/icons/bullet_add.png
new file mode 100644
index 0000000..41ff833
Binary files /dev/null and b/webroot/img/icons/bullet_add.png differ
diff --git a/webroot/img/icons/bullet_arrow_bottom.png b/webroot/img/icons/bullet_arrow_bottom.png
new file mode 100644
index 0000000..1a28d82
Binary files /dev/null and b/webroot/img/icons/bullet_arrow_bottom.png differ
diff --git a/webroot/img/icons/bullet_arrow_down.png b/webroot/img/icons/bullet_arrow_down.png
new file mode 100644
index 0000000..9b23c06
Binary files /dev/null and b/webroot/img/icons/bullet_arrow_down.png differ
diff --git a/webroot/img/icons/bullet_arrow_top.png b/webroot/img/icons/bullet_arrow_top.png
new file mode 100644
index 0000000..0ce86d2
Binary files /dev/null and b/webroot/img/icons/bullet_arrow_top.png differ
diff --git a/webroot/img/icons/bullet_arrow_up.png b/webroot/img/icons/bullet_arrow_up.png
new file mode 100644
index 0000000..24df0f4
Binary files /dev/null and b/webroot/img/icons/bullet_arrow_up.png differ
diff --git a/webroot/img/icons/bullet_black.png b/webroot/img/icons/bullet_black.png
new file mode 100644
index 0000000..5761970
Binary files /dev/null and b/webroot/img/icons/bullet_black.png differ
diff --git a/webroot/img/icons/bullet_blue.png b/webroot/img/icons/bullet_blue.png
new file mode 100644
index 0000000..a7651ec
Binary files /dev/null and b/webroot/img/icons/bullet_blue.png differ
diff --git a/webroot/img/icons/bullet_delete.png b/webroot/img/icons/bullet_delete.png
new file mode 100644
index 0000000..bd6271b
Binary files /dev/null and b/webroot/img/icons/bullet_delete.png differ
diff --git a/webroot/img/icons/bullet_disk.png b/webroot/img/icons/bullet_disk.png
new file mode 100644
index 0000000..209c6a7
Binary files /dev/null and b/webroot/img/icons/bullet_disk.png differ
diff --git a/webroot/img/icons/bullet_error.png b/webroot/img/icons/bullet_error.png
new file mode 100644
index 0000000..bca2b49
Binary files /dev/null and b/webroot/img/icons/bullet_error.png differ
diff --git a/webroot/img/icons/bullet_feed.png b/webroot/img/icons/bullet_feed.png
new file mode 100644
index 0000000..1a0e0f1
Binary files /dev/null and b/webroot/img/icons/bullet_feed.png differ
diff --git a/webroot/img/icons/bullet_go.png b/webroot/img/icons/bullet_go.png
new file mode 100644
index 0000000..bc4faa7
Binary files /dev/null and b/webroot/img/icons/bullet_go.png differ
diff --git a/webroot/img/icons/bullet_green.png b/webroot/img/icons/bullet_green.png
new file mode 100644
index 0000000..058ad26
Binary files /dev/null and b/webroot/img/icons/bullet_green.png differ
diff --git a/webroot/img/icons/bullet_key.png b/webroot/img/icons/bullet_key.png
new file mode 100644
index 0000000..3d37f2e
Binary files /dev/null and b/webroot/img/icons/bullet_key.png differ
diff --git a/webroot/img/icons/bullet_orange.png b/webroot/img/icons/bullet_orange.png
new file mode 100644
index 0000000..fa63024
Binary files /dev/null and b/webroot/img/icons/bullet_orange.png differ
diff --git a/webroot/img/icons/bullet_picture.png b/webroot/img/icons/bullet_picture.png
new file mode 100644
index 0000000..386cb30
Binary files /dev/null and b/webroot/img/icons/bullet_picture.png differ
diff --git a/webroot/img/icons/bullet_pink.png b/webroot/img/icons/bullet_pink.png
new file mode 100644
index 0000000..0c9f73e
Binary files /dev/null and b/webroot/img/icons/bullet_pink.png differ
diff --git a/webroot/img/icons/bullet_purple.png b/webroot/img/icons/bullet_purple.png
new file mode 100644
index 0000000..52ba503
Binary files /dev/null and b/webroot/img/icons/bullet_purple.png differ
diff --git a/webroot/img/icons/bullet_red.png b/webroot/img/icons/bullet_red.png
new file mode 100644
index 0000000..0cd8031
Binary files /dev/null and b/webroot/img/icons/bullet_red.png differ
diff --git a/webroot/img/icons/bullet_star.png b/webroot/img/icons/bullet_star.png
new file mode 100644
index 0000000..fab774a
Binary files /dev/null and b/webroot/img/icons/bullet_star.png differ
diff --git a/webroot/img/icons/bullet_toggle_minus.png b/webroot/img/icons/bullet_toggle_minus.png
new file mode 100644
index 0000000..b47ce55
Binary files /dev/null and b/webroot/img/icons/bullet_toggle_minus.png differ
diff --git a/webroot/img/icons/bullet_toggle_plus.png b/webroot/img/icons/bullet_toggle_plus.png
new file mode 100644
index 0000000..9ab4a89
Binary files /dev/null and b/webroot/img/icons/bullet_toggle_plus.png differ
diff --git a/webroot/img/icons/bullet_white.png b/webroot/img/icons/bullet_white.png
new file mode 100644
index 0000000..a9af8d4
Binary files /dev/null and b/webroot/img/icons/bullet_white.png differ
diff --git a/webroot/img/icons/bullet_wrench.png b/webroot/img/icons/bullet_wrench.png
new file mode 100644
index 0000000..67817e6
Binary files /dev/null and b/webroot/img/icons/bullet_wrench.png differ
diff --git a/webroot/img/icons/bullet_yellow.png b/webroot/img/icons/bullet_yellow.png
new file mode 100644
index 0000000..6469cea
Binary files /dev/null and b/webroot/img/icons/bullet_yellow.png differ
diff --git a/webroot/img/icons/cake.png b/webroot/img/icons/cake.png
new file mode 100644
index 0000000..4ef151a
Binary files /dev/null and b/webroot/img/icons/cake.png differ
diff --git a/webroot/img/icons/calculator.png b/webroot/img/icons/calculator.png
new file mode 100644
index 0000000..701a60a
Binary files /dev/null and b/webroot/img/icons/calculator.png differ
diff --git a/webroot/img/icons/calculator_add.png b/webroot/img/icons/calculator_add.png
new file mode 100644
index 0000000..fd377bd
Binary files /dev/null and b/webroot/img/icons/calculator_add.png differ
diff --git a/webroot/img/icons/calculator_delete.png b/webroot/img/icons/calculator_delete.png
new file mode 100644
index 0000000..ac96170
Binary files /dev/null and b/webroot/img/icons/calculator_delete.png differ
diff --git a/webroot/img/icons/calculator_edit.png b/webroot/img/icons/calculator_edit.png
new file mode 100644
index 0000000..63b06b9
Binary files /dev/null and b/webroot/img/icons/calculator_edit.png differ
diff --git a/webroot/img/icons/calculator_error.png b/webroot/img/icons/calculator_error.png
new file mode 100644
index 0000000..0bc4288
Binary files /dev/null and b/webroot/img/icons/calculator_error.png differ
diff --git a/webroot/img/icons/calculator_link.png b/webroot/img/icons/calculator_link.png
new file mode 100644
index 0000000..a2a8fe6
Binary files /dev/null and b/webroot/img/icons/calculator_link.png differ
diff --git a/webroot/img/icons/calendar.png b/webroot/img/icons/calendar.png
new file mode 100644
index 0000000..6589138
Binary files /dev/null and b/webroot/img/icons/calendar.png differ
diff --git a/webroot/img/icons/calendar_add.png b/webroot/img/icons/calendar_add.png
new file mode 100644
index 0000000..17679db
Binary files /dev/null and b/webroot/img/icons/calendar_add.png differ
diff --git a/webroot/img/icons/calendar_delete.png b/webroot/img/icons/calendar_delete.png
new file mode 100644
index 0000000..69a3b10
Binary files /dev/null and b/webroot/img/icons/calendar_delete.png differ
diff --git a/webroot/img/icons/calendar_edit.png b/webroot/img/icons/calendar_edit.png
new file mode 100644
index 0000000..d1d2d6e
Binary files /dev/null and b/webroot/img/icons/calendar_edit.png differ
diff --git a/webroot/img/icons/calendar_link.png b/webroot/img/icons/calendar_link.png
new file mode 100644
index 0000000..6b106b9
Binary files /dev/null and b/webroot/img/icons/calendar_link.png differ
diff --git a/webroot/img/icons/calendar_view_day.png b/webroot/img/icons/calendar_view_day.png
new file mode 100644
index 0000000..9740f76
Binary files /dev/null and b/webroot/img/icons/calendar_view_day.png differ
diff --git a/webroot/img/icons/calendar_view_month.png b/webroot/img/icons/calendar_view_month.png
new file mode 100644
index 0000000..6cff76c
Binary files /dev/null and b/webroot/img/icons/calendar_view_month.png differ
diff --git a/webroot/img/icons/calendar_view_week.png b/webroot/img/icons/calendar_view_week.png
new file mode 100644
index 0000000..8fe695f
Binary files /dev/null and b/webroot/img/icons/calendar_view_week.png differ
diff --git a/webroot/img/icons/camera.png b/webroot/img/icons/camera.png
new file mode 100644
index 0000000..8536d1a
Binary files /dev/null and b/webroot/img/icons/camera.png differ
diff --git a/webroot/img/icons/camera_add.png b/webroot/img/icons/camera_add.png
new file mode 100644
index 0000000..08b5da9
Binary files /dev/null and b/webroot/img/icons/camera_add.png differ
diff --git a/webroot/img/icons/camera_delete.png b/webroot/img/icons/camera_delete.png
new file mode 100644
index 0000000..3846d74
Binary files /dev/null and b/webroot/img/icons/camera_delete.png differ
diff --git a/webroot/img/icons/camera_edit.png b/webroot/img/icons/camera_edit.png
new file mode 100644
index 0000000..b5015b1
Binary files /dev/null and b/webroot/img/icons/camera_edit.png differ
diff --git a/webroot/img/icons/camera_error.png b/webroot/img/icons/camera_error.png
new file mode 100644
index 0000000..3c1bc95
Binary files /dev/null and b/webroot/img/icons/camera_error.png differ
diff --git a/webroot/img/icons/camera_go.png b/webroot/img/icons/camera_go.png
new file mode 100644
index 0000000..94ce2b2
Binary files /dev/null and b/webroot/img/icons/camera_go.png differ
diff --git a/webroot/img/icons/camera_link.png b/webroot/img/icons/camera_link.png
new file mode 100644
index 0000000..d2ac9f9
Binary files /dev/null and b/webroot/img/icons/camera_link.png differ
diff --git a/webroot/img/icons/camera_small.png b/webroot/img/icons/camera_small.png
new file mode 100644
index 0000000..454b0b0
Binary files /dev/null and b/webroot/img/icons/camera_small.png differ
diff --git a/webroot/img/icons/cancel.png b/webroot/img/icons/cancel.png
new file mode 100644
index 0000000..c149c2b
Binary files /dev/null and b/webroot/img/icons/cancel.png differ
diff --git a/webroot/img/icons/car.png b/webroot/img/icons/car.png
new file mode 100644
index 0000000..4f3a770
Binary files /dev/null and b/webroot/img/icons/car.png differ
diff --git a/webroot/img/icons/car_add.png b/webroot/img/icons/car_add.png
new file mode 100644
index 0000000..1215a51
Binary files /dev/null and b/webroot/img/icons/car_add.png differ
diff --git a/webroot/img/icons/car_delete.png b/webroot/img/icons/car_delete.png
new file mode 100644
index 0000000..2803b56
Binary files /dev/null and b/webroot/img/icons/car_delete.png differ
diff --git a/webroot/img/icons/cart.png b/webroot/img/icons/cart.png
new file mode 100644
index 0000000..1baf7b9
Binary files /dev/null and b/webroot/img/icons/cart.png differ
diff --git a/webroot/img/icons/cart_add.png b/webroot/img/icons/cart_add.png
new file mode 100644
index 0000000..45c2900
Binary files /dev/null and b/webroot/img/icons/cart_add.png differ
diff --git a/webroot/img/icons/cart_delete.png b/webroot/img/icons/cart_delete.png
new file mode 100644
index 0000000..ac5bce5
Binary files /dev/null and b/webroot/img/icons/cart_delete.png differ
diff --git a/webroot/img/icons/cart_edit.png b/webroot/img/icons/cart_edit.png
new file mode 100644
index 0000000..b94ff88
Binary files /dev/null and b/webroot/img/icons/cart_edit.png differ
diff --git a/webroot/img/icons/cart_error.png b/webroot/img/icons/cart_error.png
new file mode 100644
index 0000000..144c835
Binary files /dev/null and b/webroot/img/icons/cart_error.png differ
diff --git a/webroot/img/icons/cart_go.png b/webroot/img/icons/cart_go.png
new file mode 100644
index 0000000..20ee058
Binary files /dev/null and b/webroot/img/icons/cart_go.png differ
diff --git a/webroot/img/icons/cart_put.png b/webroot/img/icons/cart_put.png
new file mode 100644
index 0000000..3aec353
Binary files /dev/null and b/webroot/img/icons/cart_put.png differ
diff --git a/webroot/img/icons/cart_remove.png b/webroot/img/icons/cart_remove.png
new file mode 100644
index 0000000..360217b
Binary files /dev/null and b/webroot/img/icons/cart_remove.png differ
diff --git a/webroot/img/icons/cd.png b/webroot/img/icons/cd.png
new file mode 100644
index 0000000..ef43223
Binary files /dev/null and b/webroot/img/icons/cd.png differ
diff --git a/webroot/img/icons/cd_add.png b/webroot/img/icons/cd_add.png
new file mode 100644
index 0000000..b0254ef
Binary files /dev/null and b/webroot/img/icons/cd_add.png differ
diff --git a/webroot/img/icons/cd_burn.png b/webroot/img/icons/cd_burn.png
new file mode 100644
index 0000000..157cb0b
Binary files /dev/null and b/webroot/img/icons/cd_burn.png differ
diff --git a/webroot/img/icons/cd_delete.png b/webroot/img/icons/cd_delete.png
new file mode 100644
index 0000000..7d7b3d5
Binary files /dev/null and b/webroot/img/icons/cd_delete.png differ
diff --git a/webroot/img/icons/cd_edit.png b/webroot/img/icons/cd_edit.png
new file mode 100644
index 0000000..b0dc194
Binary files /dev/null and b/webroot/img/icons/cd_edit.png differ
diff --git a/webroot/img/icons/cd_eject.png b/webroot/img/icons/cd_eject.png
new file mode 100644
index 0000000..762932f
Binary files /dev/null and b/webroot/img/icons/cd_eject.png differ
diff --git a/webroot/img/icons/cd_go.png b/webroot/img/icons/cd_go.png
new file mode 100644
index 0000000..13e0499
Binary files /dev/null and b/webroot/img/icons/cd_go.png differ
diff --git a/webroot/img/icons/chart_bar.png b/webroot/img/icons/chart_bar.png
new file mode 100644
index 0000000..9051fbc
Binary files /dev/null and b/webroot/img/icons/chart_bar.png differ
diff --git a/webroot/img/icons/chart_bar_add.png b/webroot/img/icons/chart_bar_add.png
new file mode 100644
index 0000000..d283e84
Binary files /dev/null and b/webroot/img/icons/chart_bar_add.png differ
diff --git a/webroot/img/icons/chart_bar_delete.png b/webroot/img/icons/chart_bar_delete.png
new file mode 100644
index 0000000..259f686
Binary files /dev/null and b/webroot/img/icons/chart_bar_delete.png differ
diff --git a/webroot/img/icons/chart_bar_edit.png b/webroot/img/icons/chart_bar_edit.png
new file mode 100644
index 0000000..df64d97
Binary files /dev/null and b/webroot/img/icons/chart_bar_edit.png differ
diff --git a/webroot/img/icons/chart_bar_error.png b/webroot/img/icons/chart_bar_error.png
new file mode 100644
index 0000000..bdacea5
Binary files /dev/null and b/webroot/img/icons/chart_bar_error.png differ
diff --git a/webroot/img/icons/chart_bar_link.png b/webroot/img/icons/chart_bar_link.png
new file mode 100644
index 0000000..bf18aed
Binary files /dev/null and b/webroot/img/icons/chart_bar_link.png differ
diff --git a/webroot/img/icons/chart_curve.png b/webroot/img/icons/chart_curve.png
new file mode 100644
index 0000000..01e933a
Binary files /dev/null and b/webroot/img/icons/chart_curve.png differ
diff --git a/webroot/img/icons/chart_curve_add.png b/webroot/img/icons/chart_curve_add.png
new file mode 100644
index 0000000..f9e2050
Binary files /dev/null and b/webroot/img/icons/chart_curve_add.png differ
diff --git a/webroot/img/icons/chart_curve_delete.png b/webroot/img/icons/chart_curve_delete.png
new file mode 100644
index 0000000..b411391
Binary files /dev/null and b/webroot/img/icons/chart_curve_delete.png differ
diff --git a/webroot/img/icons/chart_curve_edit.png b/webroot/img/icons/chart_curve_edit.png
new file mode 100644
index 0000000..bd07673
Binary files /dev/null and b/webroot/img/icons/chart_curve_edit.png differ
diff --git a/webroot/img/icons/chart_curve_error.png b/webroot/img/icons/chart_curve_error.png
new file mode 100644
index 0000000..906dd03
Binary files /dev/null and b/webroot/img/icons/chart_curve_error.png differ
diff --git a/webroot/img/icons/chart_curve_go.png b/webroot/img/icons/chart_curve_go.png
new file mode 100644
index 0000000..ac9eda5
Binary files /dev/null and b/webroot/img/icons/chart_curve_go.png differ
diff --git a/webroot/img/icons/chart_curve_link.png b/webroot/img/icons/chart_curve_link.png
new file mode 100644
index 0000000..144eafe
Binary files /dev/null and b/webroot/img/icons/chart_curve_link.png differ
diff --git a/webroot/img/icons/chart_line.png b/webroot/img/icons/chart_line.png
new file mode 100644
index 0000000..85020f3
Binary files /dev/null and b/webroot/img/icons/chart_line.png differ
diff --git a/webroot/img/icons/chart_line_add.png b/webroot/img/icons/chart_line_add.png
new file mode 100644
index 0000000..5571a5e
Binary files /dev/null and b/webroot/img/icons/chart_line_add.png differ
diff --git a/webroot/img/icons/chart_line_delete.png b/webroot/img/icons/chart_line_delete.png
new file mode 100644
index 0000000..5b0aa90
Binary files /dev/null and b/webroot/img/icons/chart_line_delete.png differ
diff --git a/webroot/img/icons/chart_line_edit.png b/webroot/img/icons/chart_line_edit.png
new file mode 100644
index 0000000..9cf6607
Binary files /dev/null and b/webroot/img/icons/chart_line_edit.png differ
diff --git a/webroot/img/icons/chart_line_error.png b/webroot/img/icons/chart_line_error.png
new file mode 100644
index 0000000..ff23c03
Binary files /dev/null and b/webroot/img/icons/chart_line_error.png differ
diff --git a/webroot/img/icons/chart_line_link.png b/webroot/img/icons/chart_line_link.png
new file mode 100644
index 0000000..f3727d2
Binary files /dev/null and b/webroot/img/icons/chart_line_link.png differ
diff --git a/webroot/img/icons/chart_organisation.png b/webroot/img/icons/chart_organisation.png
new file mode 100644
index 0000000..c32d25c
Binary files /dev/null and b/webroot/img/icons/chart_organisation.png differ
diff --git a/webroot/img/icons/chart_organisation_add.png b/webroot/img/icons/chart_organisation_add.png
new file mode 100644
index 0000000..f0dba4a
Binary files /dev/null and b/webroot/img/icons/chart_organisation_add.png differ
diff --git a/webroot/img/icons/chart_organisation_delete.png b/webroot/img/icons/chart_organisation_delete.png
new file mode 100644
index 0000000..7dc8dca
Binary files /dev/null and b/webroot/img/icons/chart_organisation_delete.png differ
diff --git a/webroot/img/icons/chart_pie.png b/webroot/img/icons/chart_pie.png
new file mode 100644
index 0000000..fe00fa0
Binary files /dev/null and b/webroot/img/icons/chart_pie.png differ
diff --git a/webroot/img/icons/chart_pie_add.png b/webroot/img/icons/chart_pie_add.png
new file mode 100644
index 0000000..bf0822e
Binary files /dev/null and b/webroot/img/icons/chart_pie_add.png differ
diff --git a/webroot/img/icons/chart_pie_delete.png b/webroot/img/icons/chart_pie_delete.png
new file mode 100644
index 0000000..5ab9efd
Binary files /dev/null and b/webroot/img/icons/chart_pie_delete.png differ
diff --git a/webroot/img/icons/chart_pie_edit.png b/webroot/img/icons/chart_pie_edit.png
new file mode 100644
index 0000000..3debc12
Binary files /dev/null and b/webroot/img/icons/chart_pie_edit.png differ
diff --git a/webroot/img/icons/chart_pie_error.png b/webroot/img/icons/chart_pie_error.png
new file mode 100644
index 0000000..7344174
Binary files /dev/null and b/webroot/img/icons/chart_pie_error.png differ
diff --git a/webroot/img/icons/chart_pie_link.png b/webroot/img/icons/chart_pie_link.png
new file mode 100644
index 0000000..c072f8e
Binary files /dev/null and b/webroot/img/icons/chart_pie_link.png differ
diff --git a/webroot/img/icons/clock.png b/webroot/img/icons/clock.png
new file mode 100644
index 0000000..e2672c2
Binary files /dev/null and b/webroot/img/icons/clock.png differ
diff --git a/webroot/img/icons/clock_add.png b/webroot/img/icons/clock_add.png
new file mode 100644
index 0000000..598b839
Binary files /dev/null and b/webroot/img/icons/clock_add.png differ
diff --git a/webroot/img/icons/clock_delete.png b/webroot/img/icons/clock_delete.png
new file mode 100644
index 0000000..8bf9efe
Binary files /dev/null and b/webroot/img/icons/clock_delete.png differ
diff --git a/webroot/img/icons/clock_edit.png b/webroot/img/icons/clock_edit.png
new file mode 100644
index 0000000..7d35718
Binary files /dev/null and b/webroot/img/icons/clock_edit.png differ
diff --git a/webroot/img/icons/clock_error.png b/webroot/img/icons/clock_error.png
new file mode 100644
index 0000000..a7c461b
Binary files /dev/null and b/webroot/img/icons/clock_error.png differ
diff --git a/webroot/img/icons/clock_go.png b/webroot/img/icons/clock_go.png
new file mode 100644
index 0000000..a1a24d3
Binary files /dev/null and b/webroot/img/icons/clock_go.png differ
diff --git a/webroot/img/icons/clock_link.png b/webroot/img/icons/clock_link.png
new file mode 100644
index 0000000..481cf04
Binary files /dev/null and b/webroot/img/icons/clock_link.png differ
diff --git a/webroot/img/icons/clock_pause.png b/webroot/img/icons/clock_pause.png
new file mode 100644
index 0000000..ba74725
Binary files /dev/null and b/webroot/img/icons/clock_pause.png differ
diff --git a/webroot/img/icons/clock_play.png b/webroot/img/icons/clock_play.png
new file mode 100644
index 0000000..fb4ebc8
Binary files /dev/null and b/webroot/img/icons/clock_play.png differ
diff --git a/webroot/img/icons/clock_red.png b/webroot/img/icons/clock_red.png
new file mode 100644
index 0000000..2842cc3
Binary files /dev/null and b/webroot/img/icons/clock_red.png differ
diff --git a/webroot/img/icons/clock_stop.png b/webroot/img/icons/clock_stop.png
new file mode 100644
index 0000000..6fe8a6f
Binary files /dev/null and b/webroot/img/icons/clock_stop.png differ
diff --git a/webroot/img/icons/cog.png b/webroot/img/icons/cog.png
new file mode 100644
index 0000000..67de2c6
Binary files /dev/null and b/webroot/img/icons/cog.png differ
diff --git a/webroot/img/icons/cog_add.png b/webroot/img/icons/cog_add.png
new file mode 100644
index 0000000..04f22ba
Binary files /dev/null and b/webroot/img/icons/cog_add.png differ
diff --git a/webroot/img/icons/cog_delete.png b/webroot/img/icons/cog_delete.png
new file mode 100644
index 0000000..8ce71c4
Binary files /dev/null and b/webroot/img/icons/cog_delete.png differ
diff --git a/webroot/img/icons/cog_edit.png b/webroot/img/icons/cog_edit.png
new file mode 100644
index 0000000..47b75a4
Binary files /dev/null and b/webroot/img/icons/cog_edit.png differ
diff --git a/webroot/img/icons/cog_error.png b/webroot/img/icons/cog_error.png
new file mode 100644
index 0000000..4766743
Binary files /dev/null and b/webroot/img/icons/cog_error.png differ
diff --git a/webroot/img/icons/cog_go.png b/webroot/img/icons/cog_go.png
new file mode 100644
index 0000000..3262767
Binary files /dev/null and b/webroot/img/icons/cog_go.png differ
diff --git a/webroot/img/icons/coins.png b/webroot/img/icons/coins.png
new file mode 100644
index 0000000..0ca9074
Binary files /dev/null and b/webroot/img/icons/coins.png differ
diff --git a/webroot/img/icons/coins_add.png b/webroot/img/icons/coins_add.png
new file mode 100644
index 0000000..cdff5d3
Binary files /dev/null and b/webroot/img/icons/coins_add.png differ
diff --git a/webroot/img/icons/coins_delete.png b/webroot/img/icons/coins_delete.png
new file mode 100644
index 0000000..18e0c0f
Binary files /dev/null and b/webroot/img/icons/coins_delete.png differ
diff --git a/webroot/img/icons/color_swatch.png b/webroot/img/icons/color_swatch.png
new file mode 100644
index 0000000..6e6e852
Binary files /dev/null and b/webroot/img/icons/color_swatch.png differ
diff --git a/webroot/img/icons/color_wheel.png b/webroot/img/icons/color_wheel.png
new file mode 100644
index 0000000..809fb00
Binary files /dev/null and b/webroot/img/icons/color_wheel.png differ
diff --git a/webroot/img/icons/comment.png b/webroot/img/icons/comment.png
new file mode 100644
index 0000000..7bc9233
Binary files /dev/null and b/webroot/img/icons/comment.png differ
diff --git a/webroot/img/icons/comment_add.png b/webroot/img/icons/comment_add.png
new file mode 100644
index 0000000..75e78de
Binary files /dev/null and b/webroot/img/icons/comment_add.png differ
diff --git a/webroot/img/icons/comment_delete.png b/webroot/img/icons/comment_delete.png
new file mode 100644
index 0000000..643fdbe
Binary files /dev/null and b/webroot/img/icons/comment_delete.png differ
diff --git a/webroot/img/icons/comment_edit.png b/webroot/img/icons/comment_edit.png
new file mode 100644
index 0000000..73db110
Binary files /dev/null and b/webroot/img/icons/comment_edit.png differ
diff --git a/webroot/img/icons/comments.png b/webroot/img/icons/comments.png
new file mode 100644
index 0000000..39433cf
Binary files /dev/null and b/webroot/img/icons/comments.png differ
diff --git a/webroot/img/icons/comments_add.png b/webroot/img/icons/comments_add.png
new file mode 100644
index 0000000..b325634
Binary files /dev/null and b/webroot/img/icons/comments_add.png differ
diff --git a/webroot/img/icons/comments_delete.png b/webroot/img/icons/comments_delete.png
new file mode 100644
index 0000000..6df7376
Binary files /dev/null and b/webroot/img/icons/comments_delete.png differ
diff --git a/webroot/img/icons/compress.png b/webroot/img/icons/compress.png
new file mode 100644
index 0000000..8606ff0
Binary files /dev/null and b/webroot/img/icons/compress.png differ
diff --git a/webroot/img/icons/computer.png b/webroot/img/icons/computer.png
new file mode 100644
index 0000000..9bc37dc
Binary files /dev/null and b/webroot/img/icons/computer.png differ
diff --git a/webroot/img/icons/computer_add.png b/webroot/img/icons/computer_add.png
new file mode 100644
index 0000000..db604ee
Binary files /dev/null and b/webroot/img/icons/computer_add.png differ
diff --git a/webroot/img/icons/computer_delete.png b/webroot/img/icons/computer_delete.png
new file mode 100644
index 0000000..5e9b268
Binary files /dev/null and b/webroot/img/icons/computer_delete.png differ
diff --git a/webroot/img/icons/computer_edit.png b/webroot/img/icons/computer_edit.png
new file mode 100644
index 0000000..34c72fe
Binary files /dev/null and b/webroot/img/icons/computer_edit.png differ
diff --git a/webroot/img/icons/computer_error.png b/webroot/img/icons/computer_error.png
new file mode 100644
index 0000000..b2c3ed5
Binary files /dev/null and b/webroot/img/icons/computer_error.png differ
diff --git a/webroot/img/icons/computer_go.png b/webroot/img/icons/computer_go.png
new file mode 100644
index 0000000..0b26144
Binary files /dev/null and b/webroot/img/icons/computer_go.png differ
diff --git a/webroot/img/icons/computer_key.png b/webroot/img/icons/computer_key.png
new file mode 100644
index 0000000..eca5430
Binary files /dev/null and b/webroot/img/icons/computer_key.png differ
diff --git a/webroot/img/icons/computer_link.png b/webroot/img/icons/computer_link.png
new file mode 100644
index 0000000..3859db2
Binary files /dev/null and b/webroot/img/icons/computer_link.png differ
diff --git a/webroot/img/icons/connect.png b/webroot/img/icons/connect.png
new file mode 100644
index 0000000..024138e
Binary files /dev/null and b/webroot/img/icons/connect.png differ
diff --git a/webroot/img/icons/contrast.png b/webroot/img/icons/contrast.png
new file mode 100644
index 0000000..adcc004
Binary files /dev/null and b/webroot/img/icons/contrast.png differ
diff --git a/webroot/img/icons/contrast_decrease.png b/webroot/img/icons/contrast_decrease.png
new file mode 100644
index 0000000..0155bf5
Binary files /dev/null and b/webroot/img/icons/contrast_decrease.png differ
diff --git a/webroot/img/icons/contrast_high.png b/webroot/img/icons/contrast_high.png
new file mode 100644
index 0000000..d87c8cb
Binary files /dev/null and b/webroot/img/icons/contrast_high.png differ
diff --git a/webroot/img/icons/contrast_increase.png b/webroot/img/icons/contrast_increase.png
new file mode 100644
index 0000000..a3e7f52
Binary files /dev/null and b/webroot/img/icons/contrast_increase.png differ
diff --git a/webroot/img/icons/contrast_low.png b/webroot/img/icons/contrast_low.png
new file mode 100644
index 0000000..dc9f4b1
Binary files /dev/null and b/webroot/img/icons/contrast_low.png differ
diff --git a/webroot/img/icons/control_eject.png b/webroot/img/icons/control_eject.png
new file mode 100644
index 0000000..924d817
Binary files /dev/null and b/webroot/img/icons/control_eject.png differ
diff --git a/webroot/img/icons/control_eject_blue.png b/webroot/img/icons/control_eject_blue.png
new file mode 100644
index 0000000..2bd4963
Binary files /dev/null and b/webroot/img/icons/control_eject_blue.png differ
diff --git a/webroot/img/icons/control_end.png b/webroot/img/icons/control_end.png
new file mode 100644
index 0000000..036e04d
Binary files /dev/null and b/webroot/img/icons/control_end.png differ
diff --git a/webroot/img/icons/control_end_blue.png b/webroot/img/icons/control_end_blue.png
new file mode 100644
index 0000000..7207935
Binary files /dev/null and b/webroot/img/icons/control_end_blue.png differ
diff --git a/webroot/img/icons/control_equalizer.png b/webroot/img/icons/control_equalizer.png
new file mode 100644
index 0000000..4606087
Binary files /dev/null and b/webroot/img/icons/control_equalizer.png differ
diff --git a/webroot/img/icons/control_equalizer_blue.png b/webroot/img/icons/control_equalizer_blue.png
new file mode 100644
index 0000000..1b2e6a3
Binary files /dev/null and b/webroot/img/icons/control_equalizer_blue.png differ
diff --git a/webroot/img/icons/control_fastforward.png b/webroot/img/icons/control_fastforward.png
new file mode 100644
index 0000000..31f7fd3
Binary files /dev/null and b/webroot/img/icons/control_fastforward.png differ
diff --git a/webroot/img/icons/control_fastforward_blue.png b/webroot/img/icons/control_fastforward_blue.png
new file mode 100644
index 0000000..4a2f9d4
Binary files /dev/null and b/webroot/img/icons/control_fastforward_blue.png differ
diff --git a/webroot/img/icons/control_pause.png b/webroot/img/icons/control_pause.png
new file mode 100644
index 0000000..2d9ce9c
Binary files /dev/null and b/webroot/img/icons/control_pause.png differ
diff --git a/webroot/img/icons/control_pause_blue.png b/webroot/img/icons/control_pause_blue.png
new file mode 100644
index 0000000..ec61099
Binary files /dev/null and b/webroot/img/icons/control_pause_blue.png differ
diff --git a/webroot/img/icons/control_play.png b/webroot/img/icons/control_play.png
new file mode 100644
index 0000000..0846555
Binary files /dev/null and b/webroot/img/icons/control_play.png differ
diff --git a/webroot/img/icons/control_play_blue.png b/webroot/img/icons/control_play_blue.png
new file mode 100644
index 0000000..f8c8ec6
Binary files /dev/null and b/webroot/img/icons/control_play_blue.png differ
diff --git a/webroot/img/icons/control_repeat.png b/webroot/img/icons/control_repeat.png
new file mode 100644
index 0000000..1c4f57a
Binary files /dev/null and b/webroot/img/icons/control_repeat.png differ
diff --git a/webroot/img/icons/control_repeat_blue.png b/webroot/img/icons/control_repeat_blue.png
new file mode 100644
index 0000000..406ec33
Binary files /dev/null and b/webroot/img/icons/control_repeat_blue.png differ
diff --git a/webroot/img/icons/control_rewind.png b/webroot/img/icons/control_rewind.png
new file mode 100644
index 0000000..c029447
Binary files /dev/null and b/webroot/img/icons/control_rewind.png differ
diff --git a/webroot/img/icons/control_rewind_blue.png b/webroot/img/icons/control_rewind_blue.png
new file mode 100644
index 0000000..15d1584
Binary files /dev/null and b/webroot/img/icons/control_rewind_blue.png differ
diff --git a/webroot/img/icons/control_start.png b/webroot/img/icons/control_start.png
new file mode 100644
index 0000000..7dd1c07
Binary files /dev/null and b/webroot/img/icons/control_start.png differ
diff --git a/webroot/img/icons/control_start_blue.png b/webroot/img/icons/control_start_blue.png
new file mode 100644
index 0000000..6f11fcb
Binary files /dev/null and b/webroot/img/icons/control_start_blue.png differ
diff --git a/webroot/img/icons/control_stop.png b/webroot/img/icons/control_stop.png
new file mode 100644
index 0000000..893bb60
Binary files /dev/null and b/webroot/img/icons/control_stop.png differ
diff --git a/webroot/img/icons/control_stop_blue.png b/webroot/img/icons/control_stop_blue.png
new file mode 100644
index 0000000..e6f75d2
Binary files /dev/null and b/webroot/img/icons/control_stop_blue.png differ
diff --git a/webroot/img/icons/controller.png b/webroot/img/icons/controller.png
new file mode 100644
index 0000000..5cf76ed
Binary files /dev/null and b/webroot/img/icons/controller.png differ
diff --git a/webroot/img/icons/controller_add.png b/webroot/img/icons/controller_add.png
new file mode 100644
index 0000000..efecb38
Binary files /dev/null and b/webroot/img/icons/controller_add.png differ
diff --git a/webroot/img/icons/controller_delete.png b/webroot/img/icons/controller_delete.png
new file mode 100644
index 0000000..3d83bc7
Binary files /dev/null and b/webroot/img/icons/controller_delete.png differ
diff --git a/webroot/img/icons/controller_error.png b/webroot/img/icons/controller_error.png
new file mode 100644
index 0000000..7f17c0c
Binary files /dev/null and b/webroot/img/icons/controller_error.png differ
diff --git a/webroot/img/icons/creditcards.png b/webroot/img/icons/creditcards.png
new file mode 100644
index 0000000..4eae583
Binary files /dev/null and b/webroot/img/icons/creditcards.png differ
diff --git a/webroot/img/icons/cross.png b/webroot/img/icons/cross.png
new file mode 100644
index 0000000..1514d51
Binary files /dev/null and b/webroot/img/icons/cross.png differ
diff --git a/webroot/img/icons/css.png b/webroot/img/icons/css.png
new file mode 100644
index 0000000..23f3101
Binary files /dev/null and b/webroot/img/icons/css.png differ
diff --git a/webroot/img/icons/css_add.png b/webroot/img/icons/css_add.png
new file mode 100644
index 0000000..e8ea10f
Binary files /dev/null and b/webroot/img/icons/css_add.png differ
diff --git a/webroot/img/icons/css_delete.png b/webroot/img/icons/css_delete.png
new file mode 100644
index 0000000..326aba4
Binary files /dev/null and b/webroot/img/icons/css_delete.png differ
diff --git a/webroot/img/icons/css_go.png b/webroot/img/icons/css_go.png
new file mode 100644
index 0000000..6cdf38c
Binary files /dev/null and b/webroot/img/icons/css_go.png differ
diff --git a/webroot/img/icons/css_valid.png b/webroot/img/icons/css_valid.png
new file mode 100644
index 0000000..4c72ca5
Binary files /dev/null and b/webroot/img/icons/css_valid.png differ
diff --git a/webroot/img/icons/cup.png b/webroot/img/icons/cup.png
new file mode 100644
index 0000000..b7bfcd1
Binary files /dev/null and b/webroot/img/icons/cup.png differ
diff --git a/webroot/img/icons/cup_add.png b/webroot/img/icons/cup_add.png
new file mode 100644
index 0000000..4ecaece
Binary files /dev/null and b/webroot/img/icons/cup_add.png differ
diff --git a/webroot/img/icons/cup_delete.png b/webroot/img/icons/cup_delete.png
new file mode 100644
index 0000000..59a6d9c
Binary files /dev/null and b/webroot/img/icons/cup_delete.png differ
diff --git a/webroot/img/icons/cup_edit.png b/webroot/img/icons/cup_edit.png
new file mode 100644
index 0000000..0b8f1e1
Binary files /dev/null and b/webroot/img/icons/cup_edit.png differ
diff --git a/webroot/img/icons/cup_error.png b/webroot/img/icons/cup_error.png
new file mode 100644
index 0000000..6879874
Binary files /dev/null and b/webroot/img/icons/cup_error.png differ
diff --git a/webroot/img/icons/cup_go.png b/webroot/img/icons/cup_go.png
new file mode 100644
index 0000000..9527efb
Binary files /dev/null and b/webroot/img/icons/cup_go.png differ
diff --git a/webroot/img/icons/cup_key.png b/webroot/img/icons/cup_key.png
new file mode 100644
index 0000000..7ae160c
Binary files /dev/null and b/webroot/img/icons/cup_key.png differ
diff --git a/webroot/img/icons/cup_link.png b/webroot/img/icons/cup_link.png
new file mode 100644
index 0000000..41d1ace
Binary files /dev/null and b/webroot/img/icons/cup_link.png differ
diff --git a/webroot/img/icons/cursor.png b/webroot/img/icons/cursor.png
new file mode 100644
index 0000000..532f532
Binary files /dev/null and b/webroot/img/icons/cursor.png differ
diff --git a/webroot/img/icons/cut.png b/webroot/img/icons/cut.png
new file mode 100644
index 0000000..f215d6f
Binary files /dev/null and b/webroot/img/icons/cut.png differ
diff --git a/webroot/img/icons/cut_red.png b/webroot/img/icons/cut_red.png
new file mode 100644
index 0000000..85bb2f0
Binary files /dev/null and b/webroot/img/icons/cut_red.png differ
diff --git a/webroot/img/icons/database.png b/webroot/img/icons/database.png
new file mode 100644
index 0000000..3d09261
Binary files /dev/null and b/webroot/img/icons/database.png differ
diff --git a/webroot/img/icons/database_add.png b/webroot/img/icons/database_add.png
new file mode 100644
index 0000000..802bd6c
Binary files /dev/null and b/webroot/img/icons/database_add.png differ
diff --git a/webroot/img/icons/database_connect.png b/webroot/img/icons/database_connect.png
new file mode 100644
index 0000000..3a11197
Binary files /dev/null and b/webroot/img/icons/database_connect.png differ
diff --git a/webroot/img/icons/database_delete.png b/webroot/img/icons/database_delete.png
new file mode 100644
index 0000000..cce652e
Binary files /dev/null and b/webroot/img/icons/database_delete.png differ
diff --git a/webroot/img/icons/database_edit.png b/webroot/img/icons/database_edit.png
new file mode 100644
index 0000000..e501b66
Binary files /dev/null and b/webroot/img/icons/database_edit.png differ
diff --git a/webroot/img/icons/database_error.png b/webroot/img/icons/database_error.png
new file mode 100644
index 0000000..578221a
Binary files /dev/null and b/webroot/img/icons/database_error.png differ
diff --git a/webroot/img/icons/database_gear.png b/webroot/img/icons/database_gear.png
new file mode 100644
index 0000000..7c0ab2b
Binary files /dev/null and b/webroot/img/icons/database_gear.png differ
diff --git a/webroot/img/icons/database_go.png b/webroot/img/icons/database_go.png
new file mode 100644
index 0000000..61a8556
Binary files /dev/null and b/webroot/img/icons/database_go.png differ
diff --git a/webroot/img/icons/database_key.png b/webroot/img/icons/database_key.png
new file mode 100644
index 0000000..3334147
Binary files /dev/null and b/webroot/img/icons/database_key.png differ
diff --git a/webroot/img/icons/database_lightning.png b/webroot/img/icons/database_lightning.png
new file mode 100644
index 0000000..d9eefc2
Binary files /dev/null and b/webroot/img/icons/database_lightning.png differ
diff --git a/webroot/img/icons/database_link.png b/webroot/img/icons/database_link.png
new file mode 100644
index 0000000..4c8204a
Binary files /dev/null and b/webroot/img/icons/database_link.png differ
diff --git a/webroot/img/icons/database_refresh.png b/webroot/img/icons/database_refresh.png
new file mode 100644
index 0000000..ff803be
Binary files /dev/null and b/webroot/img/icons/database_refresh.png differ
diff --git a/webroot/img/icons/database_save.png b/webroot/img/icons/database_save.png
new file mode 100644
index 0000000..44c06dd
Binary files /dev/null and b/webroot/img/icons/database_save.png differ
diff --git a/webroot/img/icons/database_table.png b/webroot/img/icons/database_table.png
new file mode 100644
index 0000000..693709c
Binary files /dev/null and b/webroot/img/icons/database_table.png differ
diff --git a/webroot/img/icons/date.png b/webroot/img/icons/date.png
new file mode 100644
index 0000000..783c833
Binary files /dev/null and b/webroot/img/icons/date.png differ
diff --git a/webroot/img/icons/date_add.png b/webroot/img/icons/date_add.png
new file mode 100644
index 0000000..6a7ae02
Binary files /dev/null and b/webroot/img/icons/date_add.png differ
diff --git a/webroot/img/icons/date_delete.png b/webroot/img/icons/date_delete.png
new file mode 100644
index 0000000..969a6b7
Binary files /dev/null and b/webroot/img/icons/date_delete.png differ
diff --git a/webroot/img/icons/date_edit.png b/webroot/img/icons/date_edit.png
new file mode 100644
index 0000000..e681065
Binary files /dev/null and b/webroot/img/icons/date_edit.png differ
diff --git a/webroot/img/icons/date_error.png b/webroot/img/icons/date_error.png
new file mode 100644
index 0000000..442cd97
Binary files /dev/null and b/webroot/img/icons/date_error.png differ
diff --git a/webroot/img/icons/date_go.png b/webroot/img/icons/date_go.png
new file mode 100644
index 0000000..52dd9f3
Binary files /dev/null and b/webroot/img/icons/date_go.png differ
diff --git a/webroot/img/icons/date_link.png b/webroot/img/icons/date_link.png
new file mode 100644
index 0000000..9f0aada
Binary files /dev/null and b/webroot/img/icons/date_link.png differ
diff --git a/webroot/img/icons/date_magnify.png b/webroot/img/icons/date_magnify.png
new file mode 100644
index 0000000..cd05f19
Binary files /dev/null and b/webroot/img/icons/date_magnify.png differ
diff --git a/webroot/img/icons/date_next.png b/webroot/img/icons/date_next.png
new file mode 100644
index 0000000..48d740a
Binary files /dev/null and b/webroot/img/icons/date_next.png differ
diff --git a/webroot/img/icons/date_previous.png b/webroot/img/icons/date_previous.png
new file mode 100644
index 0000000..e117a83
Binary files /dev/null and b/webroot/img/icons/date_previous.png differ
diff --git a/webroot/img/icons/delete.png b/webroot/img/icons/delete.png
new file mode 100644
index 0000000..08f2493
Binary files /dev/null and b/webroot/img/icons/delete.png differ
diff --git a/webroot/img/icons/disconnect.png b/webroot/img/icons/disconnect.png
new file mode 100644
index 0000000..b335cb1
Binary files /dev/null and b/webroot/img/icons/disconnect.png differ
diff --git a/webroot/img/icons/disk.png b/webroot/img/icons/disk.png
new file mode 100644
index 0000000..99d532e
Binary files /dev/null and b/webroot/img/icons/disk.png differ
diff --git a/webroot/img/icons/disk_multiple.png b/webroot/img/icons/disk_multiple.png
new file mode 100644
index 0000000..fc5a52f
Binary files /dev/null and b/webroot/img/icons/disk_multiple.png differ
diff --git a/webroot/img/icons/door.png b/webroot/img/icons/door.png
new file mode 100644
index 0000000..369fc46
Binary files /dev/null and b/webroot/img/icons/door.png differ
diff --git a/webroot/img/icons/door_in.png b/webroot/img/icons/door_in.png
new file mode 100644
index 0000000..41676a0
Binary files /dev/null and b/webroot/img/icons/door_in.png differ
diff --git a/webroot/img/icons/door_open.png b/webroot/img/icons/door_open.png
new file mode 100644
index 0000000..64bab57
Binary files /dev/null and b/webroot/img/icons/door_open.png differ
diff --git a/webroot/img/icons/door_out.png b/webroot/img/icons/door_out.png
new file mode 100644
index 0000000..2541d2b
Binary files /dev/null and b/webroot/img/icons/door_out.png differ
diff --git a/webroot/img/icons/drink.png b/webroot/img/icons/drink.png
new file mode 100644
index 0000000..d98359c
Binary files /dev/null and b/webroot/img/icons/drink.png differ
diff --git a/webroot/img/icons/drink_empty.png b/webroot/img/icons/drink_empty.png
new file mode 100644
index 0000000..a40211e
Binary files /dev/null and b/webroot/img/icons/drink_empty.png differ
diff --git a/webroot/img/icons/drive.png b/webroot/img/icons/drive.png
new file mode 100644
index 0000000..37b7c9b
Binary files /dev/null and b/webroot/img/icons/drive.png differ
diff --git a/webroot/img/icons/drive_add.png b/webroot/img/icons/drive_add.png
new file mode 100644
index 0000000..29a35d5
Binary files /dev/null and b/webroot/img/icons/drive_add.png differ
diff --git a/webroot/img/icons/drive_burn.png b/webroot/img/icons/drive_burn.png
new file mode 100644
index 0000000..80fd79f
Binary files /dev/null and b/webroot/img/icons/drive_burn.png differ
diff --git a/webroot/img/icons/drive_cd.png b/webroot/img/icons/drive_cd.png
new file mode 100644
index 0000000..1850b70
Binary files /dev/null and b/webroot/img/icons/drive_cd.png differ
diff --git a/webroot/img/icons/drive_cd_empty.png b/webroot/img/icons/drive_cd_empty.png
new file mode 100644
index 0000000..8df38d9
Binary files /dev/null and b/webroot/img/icons/drive_cd_empty.png differ
diff --git a/webroot/img/icons/drive_delete.png b/webroot/img/icons/drive_delete.png
new file mode 100644
index 0000000..e6eb186
Binary files /dev/null and b/webroot/img/icons/drive_delete.png differ
diff --git a/webroot/img/icons/drive_disk.png b/webroot/img/icons/drive_disk.png
new file mode 100644
index 0000000..5a51e81
Binary files /dev/null and b/webroot/img/icons/drive_disk.png differ
diff --git a/webroot/img/icons/drive_edit.png b/webroot/img/icons/drive_edit.png
new file mode 100644
index 0000000..7923fad
Binary files /dev/null and b/webroot/img/icons/drive_edit.png differ
diff --git a/webroot/img/icons/drive_error.png b/webroot/img/icons/drive_error.png
new file mode 100644
index 0000000..309f639
Binary files /dev/null and b/webroot/img/icons/drive_error.png differ
diff --git a/webroot/img/icons/drive_go.png b/webroot/img/icons/drive_go.png
new file mode 100644
index 0000000..fc53379
Binary files /dev/null and b/webroot/img/icons/drive_go.png differ
diff --git a/webroot/img/icons/drive_key.png b/webroot/img/icons/drive_key.png
new file mode 100644
index 0000000..d0b3c67
Binary files /dev/null and b/webroot/img/icons/drive_key.png differ
diff --git a/webroot/img/icons/drive_link.png b/webroot/img/icons/drive_link.png
new file mode 100644
index 0000000..8679c4b
Binary files /dev/null and b/webroot/img/icons/drive_link.png differ
diff --git a/webroot/img/icons/drive_magnify.png b/webroot/img/icons/drive_magnify.png
new file mode 100644
index 0000000..0f0f444
Binary files /dev/null and b/webroot/img/icons/drive_magnify.png differ
diff --git a/webroot/img/icons/drive_network.png b/webroot/img/icons/drive_network.png
new file mode 100644
index 0000000..63d2d5d
Binary files /dev/null and b/webroot/img/icons/drive_network.png differ
diff --git a/webroot/img/icons/drive_rename.png b/webroot/img/icons/drive_rename.png
new file mode 100644
index 0000000..2a9f38b
Binary files /dev/null and b/webroot/img/icons/drive_rename.png differ
diff --git a/webroot/img/icons/drive_user.png b/webroot/img/icons/drive_user.png
new file mode 100644
index 0000000..0b4751c
Binary files /dev/null and b/webroot/img/icons/drive_user.png differ
diff --git a/webroot/img/icons/drive_web.png b/webroot/img/icons/drive_web.png
new file mode 100644
index 0000000..8850a83
Binary files /dev/null and b/webroot/img/icons/drive_web.png differ
diff --git a/webroot/img/icons/dvd.png b/webroot/img/icons/dvd.png
new file mode 100644
index 0000000..9d94de5
Binary files /dev/null and b/webroot/img/icons/dvd.png differ
diff --git a/webroot/img/icons/dvd_add.png b/webroot/img/icons/dvd_add.png
new file mode 100644
index 0000000..517d112
Binary files /dev/null and b/webroot/img/icons/dvd_add.png differ
diff --git a/webroot/img/icons/dvd_delete.png b/webroot/img/icons/dvd_delete.png
new file mode 100644
index 0000000..87bed22
Binary files /dev/null and b/webroot/img/icons/dvd_delete.png differ
diff --git a/webroot/img/icons/dvd_edit.png b/webroot/img/icons/dvd_edit.png
new file mode 100644
index 0000000..d6330aa
Binary files /dev/null and b/webroot/img/icons/dvd_edit.png differ
diff --git a/webroot/img/icons/dvd_error.png b/webroot/img/icons/dvd_error.png
new file mode 100644
index 0000000..8f6d4be
Binary files /dev/null and b/webroot/img/icons/dvd_error.png differ
diff --git a/webroot/img/icons/dvd_go.png b/webroot/img/icons/dvd_go.png
new file mode 100644
index 0000000..ef6959f
Binary files /dev/null and b/webroot/img/icons/dvd_go.png differ
diff --git a/webroot/img/icons/dvd_key.png b/webroot/img/icons/dvd_key.png
new file mode 100644
index 0000000..da9307f
Binary files /dev/null and b/webroot/img/icons/dvd_key.png differ
diff --git a/webroot/img/icons/dvd_link.png b/webroot/img/icons/dvd_link.png
new file mode 100644
index 0000000..caad726
Binary files /dev/null and b/webroot/img/icons/dvd_link.png differ
diff --git a/webroot/img/icons/email.png b/webroot/img/icons/email.png
new file mode 100644
index 0000000..7348aed
Binary files /dev/null and b/webroot/img/icons/email.png differ
diff --git a/webroot/img/icons/email_add.png b/webroot/img/icons/email_add.png
new file mode 100644
index 0000000..6c93368
Binary files /dev/null and b/webroot/img/icons/email_add.png differ
diff --git a/webroot/img/icons/email_attach.png b/webroot/img/icons/email_attach.png
new file mode 100644
index 0000000..1f99485
Binary files /dev/null and b/webroot/img/icons/email_attach.png differ
diff --git a/webroot/img/icons/email_delete.png b/webroot/img/icons/email_delete.png
new file mode 100644
index 0000000..a9932b1
Binary files /dev/null and b/webroot/img/icons/email_delete.png differ
diff --git a/webroot/img/icons/email_edit.png b/webroot/img/icons/email_edit.png
new file mode 100644
index 0000000..244f04a
Binary files /dev/null and b/webroot/img/icons/email_edit.png differ
diff --git a/webroot/img/icons/email_error.png b/webroot/img/icons/email_error.png
new file mode 100644
index 0000000..8bdd330
Binary files /dev/null and b/webroot/img/icons/email_error.png differ
diff --git a/webroot/img/icons/email_go.png b/webroot/img/icons/email_go.png
new file mode 100644
index 0000000..4a6c5d3
Binary files /dev/null and b/webroot/img/icons/email_go.png differ
diff --git a/webroot/img/icons/email_link.png b/webroot/img/icons/email_link.png
new file mode 100644
index 0000000..2c49f78
Binary files /dev/null and b/webroot/img/icons/email_link.png differ
diff --git a/webroot/img/icons/email_open.png b/webroot/img/icons/email_open.png
new file mode 100644
index 0000000..7b6f981
Binary files /dev/null and b/webroot/img/icons/email_open.png differ
diff --git a/webroot/img/icons/email_open_image.png b/webroot/img/icons/email_open_image.png
new file mode 100644
index 0000000..e588e2f
Binary files /dev/null and b/webroot/img/icons/email_open_image.png differ
diff --git a/webroot/img/icons/emoticon_evilgrin.png b/webroot/img/icons/emoticon_evilgrin.png
new file mode 100644
index 0000000..817bd50
Binary files /dev/null and b/webroot/img/icons/emoticon_evilgrin.png differ
diff --git a/webroot/img/icons/emoticon_grin.png b/webroot/img/icons/emoticon_grin.png
new file mode 100644
index 0000000..fc60c5e
Binary files /dev/null and b/webroot/img/icons/emoticon_grin.png differ
diff --git a/webroot/img/icons/emoticon_happy.png b/webroot/img/icons/emoticon_happy.png
new file mode 100644
index 0000000..6b7336e
Binary files /dev/null and b/webroot/img/icons/emoticon_happy.png differ
diff --git a/webroot/img/icons/emoticon_smile.png b/webroot/img/icons/emoticon_smile.png
new file mode 100644
index 0000000..ade4318
Binary files /dev/null and b/webroot/img/icons/emoticon_smile.png differ
diff --git a/webroot/img/icons/emoticon_surprised.png b/webroot/img/icons/emoticon_surprised.png
new file mode 100644
index 0000000..4520cfc
Binary files /dev/null and b/webroot/img/icons/emoticon_surprised.png differ
diff --git a/webroot/img/icons/emoticon_tongue.png b/webroot/img/icons/emoticon_tongue.png
new file mode 100644
index 0000000..ecafd2f
Binary files /dev/null and b/webroot/img/icons/emoticon_tongue.png differ
diff --git a/webroot/img/icons/emoticon_unhappy.png b/webroot/img/icons/emoticon_unhappy.png
new file mode 100644
index 0000000..fd5d030
Binary files /dev/null and b/webroot/img/icons/emoticon_unhappy.png differ
diff --git a/webroot/img/icons/emoticon_waii.png b/webroot/img/icons/emoticon_waii.png
new file mode 100644
index 0000000..458f936
Binary files /dev/null and b/webroot/img/icons/emoticon_waii.png differ
diff --git a/webroot/img/icons/emoticon_wink.png b/webroot/img/icons/emoticon_wink.png
new file mode 100644
index 0000000..a631949
Binary files /dev/null and b/webroot/img/icons/emoticon_wink.png differ
diff --git a/webroot/img/icons/error.png b/webroot/img/icons/error.png
new file mode 100644
index 0000000..628cf2d
Binary files /dev/null and b/webroot/img/icons/error.png differ
diff --git a/webroot/img/icons/error_add.png b/webroot/img/icons/error_add.png
new file mode 100644
index 0000000..4c97484
Binary files /dev/null and b/webroot/img/icons/error_add.png differ
diff --git a/webroot/img/icons/error_delete.png b/webroot/img/icons/error_delete.png
new file mode 100644
index 0000000..7f78bcc
Binary files /dev/null and b/webroot/img/icons/error_delete.png differ
diff --git a/webroot/img/icons/error_go.png b/webroot/img/icons/error_go.png
new file mode 100644
index 0000000..caa1838
Binary files /dev/null and b/webroot/img/icons/error_go.png differ
diff --git a/webroot/img/icons/exclamation.png b/webroot/img/icons/exclamation.png
new file mode 100644
index 0000000..c37bd06
Binary files /dev/null and b/webroot/img/icons/exclamation.png differ
diff --git a/webroot/img/icons/eye.png b/webroot/img/icons/eye.png
new file mode 100644
index 0000000..564a1a9
Binary files /dev/null and b/webroot/img/icons/eye.png differ
diff --git a/webroot/img/icons/feed.png b/webroot/img/icons/feed.png
new file mode 100644
index 0000000..315c4f4
Binary files /dev/null and b/webroot/img/icons/feed.png differ
diff --git a/webroot/img/icons/feed_add.png b/webroot/img/icons/feed_add.png
new file mode 100644
index 0000000..e77d46e
Binary files /dev/null and b/webroot/img/icons/feed_add.png differ
diff --git a/webroot/img/icons/feed_delete.png b/webroot/img/icons/feed_delete.png
new file mode 100644
index 0000000..5e332b4
Binary files /dev/null and b/webroot/img/icons/feed_delete.png differ
diff --git a/webroot/img/icons/feed_disk.png b/webroot/img/icons/feed_disk.png
new file mode 100644
index 0000000..a158c99
Binary files /dev/null and b/webroot/img/icons/feed_disk.png differ
diff --git a/webroot/img/icons/feed_edit.png b/webroot/img/icons/feed_edit.png
new file mode 100644
index 0000000..f1fde7a
Binary files /dev/null and b/webroot/img/icons/feed_edit.png differ
diff --git a/webroot/img/icons/feed_error.png b/webroot/img/icons/feed_error.png
new file mode 100644
index 0000000..c0a801c
Binary files /dev/null and b/webroot/img/icons/feed_error.png differ
diff --git a/webroot/img/icons/feed_go.png b/webroot/img/icons/feed_go.png
new file mode 100644
index 0000000..f2eed1e
Binary files /dev/null and b/webroot/img/icons/feed_go.png differ
diff --git a/webroot/img/icons/feed_key.png b/webroot/img/icons/feed_key.png
new file mode 100644
index 0000000..156bfa9
Binary files /dev/null and b/webroot/img/icons/feed_key.png differ
diff --git a/webroot/img/icons/feed_link.png b/webroot/img/icons/feed_link.png
new file mode 100644
index 0000000..c45a534
Binary files /dev/null and b/webroot/img/icons/feed_link.png differ
diff --git a/webroot/img/icons/feed_magnify.png b/webroot/img/icons/feed_magnify.png
new file mode 100644
index 0000000..3023695
Binary files /dev/null and b/webroot/img/icons/feed_magnify.png differ
diff --git a/webroot/img/icons/female.png b/webroot/img/icons/female.png
new file mode 100644
index 0000000..f92958e
Binary files /dev/null and b/webroot/img/icons/female.png differ
diff --git a/webroot/img/icons/film.png b/webroot/img/icons/film.png
new file mode 100644
index 0000000..b0ce7bb
Binary files /dev/null and b/webroot/img/icons/film.png differ
diff --git a/webroot/img/icons/film_add.png b/webroot/img/icons/film_add.png
new file mode 100644
index 0000000..40d681f
Binary files /dev/null and b/webroot/img/icons/film_add.png differ
diff --git a/webroot/img/icons/film_delete.png b/webroot/img/icons/film_delete.png
new file mode 100644
index 0000000..23a2508
Binary files /dev/null and b/webroot/img/icons/film_delete.png differ
diff --git a/webroot/img/icons/film_edit.png b/webroot/img/icons/film_edit.png
new file mode 100644
index 0000000..af66b73
Binary files /dev/null and b/webroot/img/icons/film_edit.png differ
diff --git a/webroot/img/icons/film_error.png b/webroot/img/icons/film_error.png
new file mode 100644
index 0000000..88f3d69
Binary files /dev/null and b/webroot/img/icons/film_error.png differ
diff --git a/webroot/img/icons/film_go.png b/webroot/img/icons/film_go.png
new file mode 100644
index 0000000..dd0168e
Binary files /dev/null and b/webroot/img/icons/film_go.png differ
diff --git a/webroot/img/icons/film_key.png b/webroot/img/icons/film_key.png
new file mode 100644
index 0000000..5892162
Binary files /dev/null and b/webroot/img/icons/film_key.png differ
diff --git a/webroot/img/icons/film_link.png b/webroot/img/icons/film_link.png
new file mode 100644
index 0000000..0f24e86
Binary files /dev/null and b/webroot/img/icons/film_link.png differ
diff --git a/webroot/img/icons/film_save.png b/webroot/img/icons/film_save.png
new file mode 100644
index 0000000..bc8c0d3
Binary files /dev/null and b/webroot/img/icons/film_save.png differ
diff --git a/webroot/img/icons/find.png b/webroot/img/icons/find.png
new file mode 100644
index 0000000..1547479
Binary files /dev/null and b/webroot/img/icons/find.png differ
diff --git a/webroot/img/icons/flag_blue.png b/webroot/img/icons/flag_blue.png
new file mode 100644
index 0000000..003924f
Binary files /dev/null and b/webroot/img/icons/flag_blue.png differ
diff --git a/webroot/img/icons/flag_green.png b/webroot/img/icons/flag_green.png
new file mode 100644
index 0000000..e4bc611
Binary files /dev/null and b/webroot/img/icons/flag_green.png differ
diff --git a/webroot/img/icons/flag_orange.png b/webroot/img/icons/flag_orange.png
new file mode 100644
index 0000000..e632024
Binary files /dev/null and b/webroot/img/icons/flag_orange.png differ
diff --git a/webroot/img/icons/flag_pink.png b/webroot/img/icons/flag_pink.png
new file mode 100644
index 0000000..5f15e52
Binary files /dev/null and b/webroot/img/icons/flag_pink.png differ
diff --git a/webroot/img/icons/flag_purple.png b/webroot/img/icons/flag_purple.png
new file mode 100644
index 0000000..d069866
Binary files /dev/null and b/webroot/img/icons/flag_purple.png differ
diff --git a/webroot/img/icons/flag_red.png b/webroot/img/icons/flag_red.png
new file mode 100644
index 0000000..e8a602d
Binary files /dev/null and b/webroot/img/icons/flag_red.png differ
diff --git a/webroot/img/icons/flag_yellow.png b/webroot/img/icons/flag_yellow.png
new file mode 100644
index 0000000..14c89a5
Binary files /dev/null and b/webroot/img/icons/flag_yellow.png differ
diff --git a/webroot/img/icons/folder.png b/webroot/img/icons/folder.png
new file mode 100644
index 0000000..784e8fa
Binary files /dev/null and b/webroot/img/icons/folder.png differ
diff --git a/webroot/img/icons/folder_add.png b/webroot/img/icons/folder_add.png
new file mode 100644
index 0000000..529fe8f
Binary files /dev/null and b/webroot/img/icons/folder_add.png differ
diff --git a/webroot/img/icons/folder_bell.png b/webroot/img/icons/folder_bell.png
new file mode 100644
index 0000000..d04dd7f
Binary files /dev/null and b/webroot/img/icons/folder_bell.png differ
diff --git a/webroot/img/icons/folder_brick.png b/webroot/img/icons/folder_brick.png
new file mode 100644
index 0000000..5dea976
Binary files /dev/null and b/webroot/img/icons/folder_brick.png differ
diff --git a/webroot/img/icons/folder_bug.png b/webroot/img/icons/folder_bug.png
new file mode 100644
index 0000000..4f791b6
Binary files /dev/null and b/webroot/img/icons/folder_bug.png differ
diff --git a/webroot/img/icons/folder_camera.png b/webroot/img/icons/folder_camera.png
new file mode 100644
index 0000000..c951941
Binary files /dev/null and b/webroot/img/icons/folder_camera.png differ
diff --git a/webroot/img/icons/folder_database.png b/webroot/img/icons/folder_database.png
new file mode 100644
index 0000000..5193e2e
Binary files /dev/null and b/webroot/img/icons/folder_database.png differ
diff --git a/webroot/img/icons/folder_delete.png b/webroot/img/icons/folder_delete.png
new file mode 100644
index 0000000..112b016
Binary files /dev/null and b/webroot/img/icons/folder_delete.png differ
diff --git a/webroot/img/icons/folder_edit.png b/webroot/img/icons/folder_edit.png
new file mode 100644
index 0000000..ad669cc
Binary files /dev/null and b/webroot/img/icons/folder_edit.png differ
diff --git a/webroot/img/icons/folder_error.png b/webroot/img/icons/folder_error.png
new file mode 100644
index 0000000..1af8809
Binary files /dev/null and b/webroot/img/icons/folder_error.png differ
diff --git a/webroot/img/icons/folder_explore.png b/webroot/img/icons/folder_explore.png
new file mode 100644
index 0000000..0ba9391
Binary files /dev/null and b/webroot/img/icons/folder_explore.png differ
diff --git a/webroot/img/icons/folder_feed.png b/webroot/img/icons/folder_feed.png
new file mode 100644
index 0000000..d06ee51
Binary files /dev/null and b/webroot/img/icons/folder_feed.png differ
diff --git a/webroot/img/icons/folder_find.png b/webroot/img/icons/folder_find.png
new file mode 100644
index 0000000..c64e2ee
Binary files /dev/null and b/webroot/img/icons/folder_find.png differ
diff --git a/webroot/img/icons/folder_go.png b/webroot/img/icons/folder_go.png
new file mode 100644
index 0000000..34a736f
Binary files /dev/null and b/webroot/img/icons/folder_go.png differ
diff --git a/webroot/img/icons/folder_heart.png b/webroot/img/icons/folder_heart.png
new file mode 100644
index 0000000..56d7da1
Binary files /dev/null and b/webroot/img/icons/folder_heart.png differ
diff --git a/webroot/img/icons/folder_image.png b/webroot/img/icons/folder_image.png
new file mode 100644
index 0000000..d5df75b
Binary files /dev/null and b/webroot/img/icons/folder_image.png differ
diff --git a/webroot/img/icons/folder_key.png b/webroot/img/icons/folder_key.png
new file mode 100644
index 0000000..fb9b4c2
Binary files /dev/null and b/webroot/img/icons/folder_key.png differ
diff --git a/webroot/img/icons/folder_lightbulb.png b/webroot/img/icons/folder_lightbulb.png
new file mode 100644
index 0000000..f367a51
Binary files /dev/null and b/webroot/img/icons/folder_lightbulb.png differ
diff --git a/webroot/img/icons/folder_link.png b/webroot/img/icons/folder_link.png
new file mode 100644
index 0000000..b9b75f6
Binary files /dev/null and b/webroot/img/icons/folder_link.png differ
diff --git a/webroot/img/icons/folder_magnify.png b/webroot/img/icons/folder_magnify.png
new file mode 100644
index 0000000..0a3e798
Binary files /dev/null and b/webroot/img/icons/folder_magnify.png differ
diff --git a/webroot/img/icons/folder_page.png b/webroot/img/icons/folder_page.png
new file mode 100644
index 0000000..1ef6e11
Binary files /dev/null and b/webroot/img/icons/folder_page.png differ
diff --git a/webroot/img/icons/folder_page_white.png b/webroot/img/icons/folder_page_white.png
new file mode 100644
index 0000000..14d6b61
Binary files /dev/null and b/webroot/img/icons/folder_page_white.png differ
diff --git a/webroot/img/icons/folder_palette.png b/webroot/img/icons/folder_palette.png
new file mode 100644
index 0000000..ba12fe8
Binary files /dev/null and b/webroot/img/icons/folder_palette.png differ
diff --git a/webroot/img/icons/folder_picture.png b/webroot/img/icons/folder_picture.png
new file mode 100644
index 0000000..052b336
Binary files /dev/null and b/webroot/img/icons/folder_picture.png differ
diff --git a/webroot/img/icons/folder_star.png b/webroot/img/icons/folder_star.png
new file mode 100644
index 0000000..448e46f
Binary files /dev/null and b/webroot/img/icons/folder_star.png differ
diff --git a/webroot/img/icons/folder_table.png b/webroot/img/icons/folder_table.png
new file mode 100644
index 0000000..473cee3
Binary files /dev/null and b/webroot/img/icons/folder_table.png differ
diff --git a/webroot/img/icons/folder_user.png b/webroot/img/icons/folder_user.png
new file mode 100644
index 0000000..f021c3e
Binary files /dev/null and b/webroot/img/icons/folder_user.png differ
diff --git a/webroot/img/icons/folder_wrench.png b/webroot/img/icons/folder_wrench.png
new file mode 100644
index 0000000..ea3404e
Binary files /dev/null and b/webroot/img/icons/folder_wrench.png differ
diff --git a/webroot/img/icons/font.png b/webroot/img/icons/font.png
new file mode 100644
index 0000000..b7960db
Binary files /dev/null and b/webroot/img/icons/font.png differ
diff --git a/webroot/img/icons/font_add.png b/webroot/img/icons/font_add.png
new file mode 100644
index 0000000..b709eba
Binary files /dev/null and b/webroot/img/icons/font_add.png differ
diff --git a/webroot/img/icons/font_delete.png b/webroot/img/icons/font_delete.png
new file mode 100644
index 0000000..1d6124d
Binary files /dev/null and b/webroot/img/icons/font_delete.png differ
diff --git a/webroot/img/icons/font_go.png b/webroot/img/icons/font_go.png
new file mode 100644
index 0000000..75eba80
Binary files /dev/null and b/webroot/img/icons/font_go.png differ
diff --git a/webroot/img/icons/group.png b/webroot/img/icons/group.png
new file mode 100644
index 0000000..7fb4e1f
Binary files /dev/null and b/webroot/img/icons/group.png differ
diff --git a/webroot/img/icons/group_add.png b/webroot/img/icons/group_add.png
new file mode 100644
index 0000000..06c5350
Binary files /dev/null and b/webroot/img/icons/group_add.png differ
diff --git a/webroot/img/icons/group_delete.png b/webroot/img/icons/group_delete.png
new file mode 100644
index 0000000..4489ca2
Binary files /dev/null and b/webroot/img/icons/group_delete.png differ
diff --git a/webroot/img/icons/group_edit.png b/webroot/img/icons/group_edit.png
new file mode 100644
index 0000000..c88b945
Binary files /dev/null and b/webroot/img/icons/group_edit.png differ
diff --git a/webroot/img/icons/group_error.png b/webroot/img/icons/group_error.png
new file mode 100644
index 0000000..7364a13
Binary files /dev/null and b/webroot/img/icons/group_error.png differ
diff --git a/webroot/img/icons/group_gear.png b/webroot/img/icons/group_gear.png
new file mode 100644
index 0000000..2544f2e
Binary files /dev/null and b/webroot/img/icons/group_gear.png differ
diff --git a/webroot/img/icons/group_go.png b/webroot/img/icons/group_go.png
new file mode 100644
index 0000000..1f52333
Binary files /dev/null and b/webroot/img/icons/group_go.png differ
diff --git a/webroot/img/icons/group_key.png b/webroot/img/icons/group_key.png
new file mode 100644
index 0000000..257f111
Binary files /dev/null and b/webroot/img/icons/group_key.png differ
diff --git a/webroot/img/icons/group_link.png b/webroot/img/icons/group_link.png
new file mode 100644
index 0000000..c77ed88
Binary files /dev/null and b/webroot/img/icons/group_link.png differ
diff --git a/webroot/img/icons/heart.png b/webroot/img/icons/heart.png
new file mode 100644
index 0000000..d9ee53e
Binary files /dev/null and b/webroot/img/icons/heart.png differ
diff --git a/webroot/img/icons/heart_add.png b/webroot/img/icons/heart_add.png
new file mode 100644
index 0000000..d4195ff
Binary files /dev/null and b/webroot/img/icons/heart_add.png differ
diff --git a/webroot/img/icons/heart_delete.png b/webroot/img/icons/heart_delete.png
new file mode 100644
index 0000000..ce523e3
Binary files /dev/null and b/webroot/img/icons/heart_delete.png differ
diff --git a/webroot/img/icons/help.png b/webroot/img/icons/help.png
new file mode 100644
index 0000000..5c87017
Binary files /dev/null and b/webroot/img/icons/help.png differ
diff --git a/webroot/img/icons/hourglass.png b/webroot/img/icons/hourglass.png
new file mode 100644
index 0000000..57b03ce
Binary files /dev/null and b/webroot/img/icons/hourglass.png differ
diff --git a/webroot/img/icons/hourglass_add.png b/webroot/img/icons/hourglass_add.png
new file mode 100644
index 0000000..170dfff
Binary files /dev/null and b/webroot/img/icons/hourglass_add.png differ
diff --git a/webroot/img/icons/hourglass_delete.png b/webroot/img/icons/hourglass_delete.png
new file mode 100644
index 0000000..4b1337b
Binary files /dev/null and b/webroot/img/icons/hourglass_delete.png differ
diff --git a/webroot/img/icons/hourglass_go.png b/webroot/img/icons/hourglass_go.png
new file mode 100644
index 0000000..b2d3a98
Binary files /dev/null and b/webroot/img/icons/hourglass_go.png differ
diff --git a/webroot/img/icons/hourglass_link.png b/webroot/img/icons/hourglass_link.png
new file mode 100644
index 0000000..ecc59b0
Binary files /dev/null and b/webroot/img/icons/hourglass_link.png differ
diff --git a/webroot/img/icons/house.png b/webroot/img/icons/house.png
new file mode 100644
index 0000000..fed6221
Binary files /dev/null and b/webroot/img/icons/house.png differ
diff --git a/webroot/img/icons/house_go.png b/webroot/img/icons/house_go.png
new file mode 100644
index 0000000..5457dbd
Binary files /dev/null and b/webroot/img/icons/house_go.png differ
diff --git a/webroot/img/icons/house_link.png b/webroot/img/icons/house_link.png
new file mode 100644
index 0000000..be2c271
Binary files /dev/null and b/webroot/img/icons/house_link.png differ
diff --git a/webroot/img/icons/html.png b/webroot/img/icons/html.png
new file mode 100644
index 0000000..55d1072
Binary files /dev/null and b/webroot/img/icons/html.png differ
diff --git a/webroot/img/icons/html_add.png b/webroot/img/icons/html_add.png
new file mode 100644
index 0000000..f1c08b7
Binary files /dev/null and b/webroot/img/icons/html_add.png differ
diff --git a/webroot/img/icons/html_delete.png b/webroot/img/icons/html_delete.png
new file mode 100644
index 0000000..1bd2848
Binary files /dev/null and b/webroot/img/icons/html_delete.png differ
diff --git a/webroot/img/icons/html_go.png b/webroot/img/icons/html_go.png
new file mode 100644
index 0000000..a95cede
Binary files /dev/null and b/webroot/img/icons/html_go.png differ
diff --git a/webroot/img/icons/html_valid.png b/webroot/img/icons/html_valid.png
new file mode 100644
index 0000000..71cec92
Binary files /dev/null and b/webroot/img/icons/html_valid.png differ
diff --git a/webroot/img/icons/image.png b/webroot/img/icons/image.png
new file mode 100644
index 0000000..fc3c393
Binary files /dev/null and b/webroot/img/icons/image.png differ
diff --git a/webroot/img/icons/image_add.png b/webroot/img/icons/image_add.png
new file mode 100644
index 0000000..fc5d613
Binary files /dev/null and b/webroot/img/icons/image_add.png differ
diff --git a/webroot/img/icons/image_delete.png b/webroot/img/icons/image_delete.png
new file mode 100644
index 0000000..c260e1d
Binary files /dev/null and b/webroot/img/icons/image_delete.png differ
diff --git a/webroot/img/icons/image_edit.png b/webroot/img/icons/image_edit.png
new file mode 100644
index 0000000..0aa4cc6
Binary files /dev/null and b/webroot/img/icons/image_edit.png differ
diff --git a/webroot/img/icons/image_link.png b/webroot/img/icons/image_link.png
new file mode 100644
index 0000000..4bdb354
Binary files /dev/null and b/webroot/img/icons/image_link.png differ
diff --git a/webroot/img/icons/images.png b/webroot/img/icons/images.png
new file mode 100644
index 0000000..184860d
Binary files /dev/null and b/webroot/img/icons/images.png differ
diff --git a/webroot/img/icons/index_abc.png b/webroot/img/icons/index_abc.png
new file mode 100644
index 0000000..1800909
Binary files /dev/null and b/webroot/img/icons/index_abc.png differ
diff --git a/webroot/img/icons/information.png b/webroot/img/icons/information.png
new file mode 100644
index 0000000..12cd1ae
Binary files /dev/null and b/webroot/img/icons/information.png differ
diff --git a/webroot/img/icons/ipod.png b/webroot/img/icons/ipod.png
new file mode 100644
index 0000000..3f768da
Binary files /dev/null and b/webroot/img/icons/ipod.png differ
diff --git a/webroot/img/icons/ipod_cast.png b/webroot/img/icons/ipod_cast.png
new file mode 100644
index 0000000..6f6d340
Binary files /dev/null and b/webroot/img/icons/ipod_cast.png differ
diff --git a/webroot/img/icons/ipod_cast_add.png b/webroot/img/icons/ipod_cast_add.png
new file mode 100644
index 0000000..c3257f5
Binary files /dev/null and b/webroot/img/icons/ipod_cast_add.png differ
diff --git a/webroot/img/icons/ipod_cast_delete.png b/webroot/img/icons/ipod_cast_delete.png
new file mode 100644
index 0000000..377ab69
Binary files /dev/null and b/webroot/img/icons/ipod_cast_delete.png differ
diff --git a/webroot/img/icons/ipod_sound.png b/webroot/img/icons/ipod_sound.png
new file mode 100644
index 0000000..fef6e8b
Binary files /dev/null and b/webroot/img/icons/ipod_sound.png differ
diff --git a/webroot/img/icons/joystick.png b/webroot/img/icons/joystick.png
new file mode 100644
index 0000000..62168f5
Binary files /dev/null and b/webroot/img/icons/joystick.png differ
diff --git a/webroot/img/icons/joystick_add.png b/webroot/img/icons/joystick_add.png
new file mode 100644
index 0000000..77e7107
Binary files /dev/null and b/webroot/img/icons/joystick_add.png differ
diff --git a/webroot/img/icons/joystick_delete.png b/webroot/img/icons/joystick_delete.png
new file mode 100644
index 0000000..5d44b59
Binary files /dev/null and b/webroot/img/icons/joystick_delete.png differ
diff --git a/webroot/img/icons/joystick_error.png b/webroot/img/icons/joystick_error.png
new file mode 100644
index 0000000..b32149e
Binary files /dev/null and b/webroot/img/icons/joystick_error.png differ
diff --git a/webroot/img/icons/key.png b/webroot/img/icons/key.png
new file mode 100644
index 0000000..4ec1a92
Binary files /dev/null and b/webroot/img/icons/key.png differ
diff --git a/webroot/img/icons/key_add.png b/webroot/img/icons/key_add.png
new file mode 100644
index 0000000..d407403
Binary files /dev/null and b/webroot/img/icons/key_add.png differ
diff --git a/webroot/img/icons/key_delete.png b/webroot/img/icons/key_delete.png
new file mode 100644
index 0000000..00dec80
Binary files /dev/null and b/webroot/img/icons/key_delete.png differ
diff --git a/webroot/img/icons/key_go.png b/webroot/img/icons/key_go.png
new file mode 100644
index 0000000..30b0dc3
Binary files /dev/null and b/webroot/img/icons/key_go.png differ
diff --git a/webroot/img/icons/keyboard.png b/webroot/img/icons/keyboard.png
new file mode 100644
index 0000000..898d402
Binary files /dev/null and b/webroot/img/icons/keyboard.png differ
diff --git a/webroot/img/icons/keyboard_add.png b/webroot/img/icons/keyboard_add.png
new file mode 100644
index 0000000..26938dd
Binary files /dev/null and b/webroot/img/icons/keyboard_add.png differ
diff --git a/webroot/img/icons/keyboard_delete.png b/webroot/img/icons/keyboard_delete.png
new file mode 100644
index 0000000..1786ed5
Binary files /dev/null and b/webroot/img/icons/keyboard_delete.png differ
diff --git a/webroot/img/icons/keyboard_magnify.png b/webroot/img/icons/keyboard_magnify.png
new file mode 100644
index 0000000..928fc17
Binary files /dev/null and b/webroot/img/icons/keyboard_magnify.png differ
diff --git a/webroot/img/icons/layers.png b/webroot/img/icons/layers.png
new file mode 100644
index 0000000..00818f6
Binary files /dev/null and b/webroot/img/icons/layers.png differ
diff --git a/webroot/img/icons/layout.png b/webroot/img/icons/layout.png
new file mode 100644
index 0000000..ea086b0
Binary files /dev/null and b/webroot/img/icons/layout.png differ
diff --git a/webroot/img/icons/layout_add.png b/webroot/img/icons/layout_add.png
new file mode 100644
index 0000000..6203722
Binary files /dev/null and b/webroot/img/icons/layout_add.png differ
diff --git a/webroot/img/icons/layout_content.png b/webroot/img/icons/layout_content.png
new file mode 100644
index 0000000..b4aaad9
Binary files /dev/null and b/webroot/img/icons/layout_content.png differ
diff --git a/webroot/img/icons/layout_delete.png b/webroot/img/icons/layout_delete.png
new file mode 100644
index 0000000..4bd45f1
Binary files /dev/null and b/webroot/img/icons/layout_delete.png differ
diff --git a/webroot/img/icons/layout_edit.png b/webroot/img/icons/layout_edit.png
new file mode 100644
index 0000000..ab3100b
Binary files /dev/null and b/webroot/img/icons/layout_edit.png differ
diff --git a/webroot/img/icons/layout_error.png b/webroot/img/icons/layout_error.png
new file mode 100644
index 0000000..5b5acea
Binary files /dev/null and b/webroot/img/icons/layout_error.png differ
diff --git a/webroot/img/icons/layout_header.png b/webroot/img/icons/layout_header.png
new file mode 100644
index 0000000..c6ea7f2
Binary files /dev/null and b/webroot/img/icons/layout_header.png differ
diff --git a/webroot/img/icons/layout_link.png b/webroot/img/icons/layout_link.png
new file mode 100644
index 0000000..3445d42
Binary files /dev/null and b/webroot/img/icons/layout_link.png differ
diff --git a/webroot/img/icons/layout_sidebar.png b/webroot/img/icons/layout_sidebar.png
new file mode 100644
index 0000000..3be27bb
Binary files /dev/null and b/webroot/img/icons/layout_sidebar.png differ
diff --git a/webroot/img/icons/lightbulb.png b/webroot/img/icons/lightbulb.png
new file mode 100644
index 0000000..d22fde8
Binary files /dev/null and b/webroot/img/icons/lightbulb.png differ
diff --git a/webroot/img/icons/lightbulb_add.png b/webroot/img/icons/lightbulb_add.png
new file mode 100644
index 0000000..0dd848b
Binary files /dev/null and b/webroot/img/icons/lightbulb_add.png differ
diff --git a/webroot/img/icons/lightbulb_delete.png b/webroot/img/icons/lightbulb_delete.png
new file mode 100644
index 0000000..f4781da
Binary files /dev/null and b/webroot/img/icons/lightbulb_delete.png differ
diff --git a/webroot/img/icons/lightbulb_off.png b/webroot/img/icons/lightbulb_off.png
new file mode 100644
index 0000000..e95b8c5
Binary files /dev/null and b/webroot/img/icons/lightbulb_off.png differ
diff --git a/webroot/img/icons/lightning.png b/webroot/img/icons/lightning.png
new file mode 100644
index 0000000..9680afd
Binary files /dev/null and b/webroot/img/icons/lightning.png differ
diff --git a/webroot/img/icons/lightning_add.png b/webroot/img/icons/lightning_add.png
new file mode 100644
index 0000000..dac3c90
Binary files /dev/null and b/webroot/img/icons/lightning_add.png differ
diff --git a/webroot/img/icons/lightning_delete.png b/webroot/img/icons/lightning_delete.png
new file mode 100644
index 0000000..dfe2770
Binary files /dev/null and b/webroot/img/icons/lightning_delete.png differ
diff --git a/webroot/img/icons/lightning_go.png b/webroot/img/icons/lightning_go.png
new file mode 100644
index 0000000..29039e6
Binary files /dev/null and b/webroot/img/icons/lightning_go.png differ
diff --git a/webroot/img/icons/link.png b/webroot/img/icons/link.png
new file mode 100644
index 0000000..25eacb7
Binary files /dev/null and b/webroot/img/icons/link.png differ
diff --git a/webroot/img/icons/link_add.png b/webroot/img/icons/link_add.png
new file mode 100644
index 0000000..00be352
Binary files /dev/null and b/webroot/img/icons/link_add.png differ
diff --git a/webroot/img/icons/link_break.png b/webroot/img/icons/link_break.png
new file mode 100644
index 0000000..5235753
Binary files /dev/null and b/webroot/img/icons/link_break.png differ
diff --git a/webroot/img/icons/link_delete.png b/webroot/img/icons/link_delete.png
new file mode 100644
index 0000000..f66e297
Binary files /dev/null and b/webroot/img/icons/link_delete.png differ
diff --git a/webroot/img/icons/link_edit.png b/webroot/img/icons/link_edit.png
new file mode 100644
index 0000000..5b3aed0
Binary files /dev/null and b/webroot/img/icons/link_edit.png differ
diff --git a/webroot/img/icons/link_error.png b/webroot/img/icons/link_error.png
new file mode 100644
index 0000000..ab694b1
Binary files /dev/null and b/webroot/img/icons/link_error.png differ
diff --git a/webroot/img/icons/link_go.png b/webroot/img/icons/link_go.png
new file mode 100644
index 0000000..ae8cae8
Binary files /dev/null and b/webroot/img/icons/link_go.png differ
diff --git a/webroot/img/icons/lock.png b/webroot/img/icons/lock.png
new file mode 100644
index 0000000..2ebc4f6
Binary files /dev/null and b/webroot/img/icons/lock.png differ
diff --git a/webroot/img/icons/lock_add.png b/webroot/img/icons/lock_add.png
new file mode 100644
index 0000000..a7b566b
Binary files /dev/null and b/webroot/img/icons/lock_add.png differ
diff --git a/webroot/img/icons/lock_break.png b/webroot/img/icons/lock_break.png
new file mode 100644
index 0000000..13578ab
Binary files /dev/null and b/webroot/img/icons/lock_break.png differ
diff --git a/webroot/img/icons/lock_delete.png b/webroot/img/icons/lock_delete.png
new file mode 100644
index 0000000..ecb50a9
Binary files /dev/null and b/webroot/img/icons/lock_delete.png differ
diff --git a/webroot/img/icons/lock_edit.png b/webroot/img/icons/lock_edit.png
new file mode 100644
index 0000000..116aa5b
Binary files /dev/null and b/webroot/img/icons/lock_edit.png differ
diff --git a/webroot/img/icons/lock_go.png b/webroot/img/icons/lock_go.png
new file mode 100644
index 0000000..8c7c89b
Binary files /dev/null and b/webroot/img/icons/lock_go.png differ
diff --git a/webroot/img/icons/lock_open.png b/webroot/img/icons/lock_open.png
new file mode 100644
index 0000000..a471765
Binary files /dev/null and b/webroot/img/icons/lock_open.png differ
diff --git a/webroot/img/icons/lorry.png b/webroot/img/icons/lorry.png
new file mode 100644
index 0000000..8f95f5a
Binary files /dev/null and b/webroot/img/icons/lorry.png differ
diff --git a/webroot/img/icons/lorry_add.png b/webroot/img/icons/lorry_add.png
new file mode 100644
index 0000000..a2c5124
Binary files /dev/null and b/webroot/img/icons/lorry_add.png differ
diff --git a/webroot/img/icons/lorry_delete.png b/webroot/img/icons/lorry_delete.png
new file mode 100644
index 0000000..66217f5
Binary files /dev/null and b/webroot/img/icons/lorry_delete.png differ
diff --git a/webroot/img/icons/lorry_error.png b/webroot/img/icons/lorry_error.png
new file mode 100644
index 0000000..3619ead
Binary files /dev/null and b/webroot/img/icons/lorry_error.png differ
diff --git a/webroot/img/icons/lorry_flatbed.png b/webroot/img/icons/lorry_flatbed.png
new file mode 100644
index 0000000..8b20f55
Binary files /dev/null and b/webroot/img/icons/lorry_flatbed.png differ
diff --git a/webroot/img/icons/lorry_go.png b/webroot/img/icons/lorry_go.png
new file mode 100644
index 0000000..1c296a6
Binary files /dev/null and b/webroot/img/icons/lorry_go.png differ
diff --git a/webroot/img/icons/lorry_link.png b/webroot/img/icons/lorry_link.png
new file mode 100644
index 0000000..5e6663e
Binary files /dev/null and b/webroot/img/icons/lorry_link.png differ
diff --git a/webroot/img/icons/magifier_zoom_out.png b/webroot/img/icons/magifier_zoom_out.png
new file mode 100644
index 0000000..81f2819
Binary files /dev/null and b/webroot/img/icons/magifier_zoom_out.png differ
diff --git a/webroot/img/icons/magnifier.png b/webroot/img/icons/magnifier.png
new file mode 100644
index 0000000..cf3d97f
Binary files /dev/null and b/webroot/img/icons/magnifier.png differ
diff --git a/webroot/img/icons/magnifier_zoom_in.png b/webroot/img/icons/magnifier_zoom_in.png
new file mode 100644
index 0000000..af4fe07
Binary files /dev/null and b/webroot/img/icons/magnifier_zoom_in.png differ
diff --git a/webroot/img/icons/male.png b/webroot/img/icons/male.png
new file mode 100644
index 0000000..25d6ea9
Binary files /dev/null and b/webroot/img/icons/male.png differ
diff --git a/webroot/img/icons/map.png b/webroot/img/icons/map.png
new file mode 100644
index 0000000..f90ef25
Binary files /dev/null and b/webroot/img/icons/map.png differ
diff --git a/webroot/img/icons/map_add.png b/webroot/img/icons/map_add.png
new file mode 100644
index 0000000..2b72da0
Binary files /dev/null and b/webroot/img/icons/map_add.png differ
diff --git a/webroot/img/icons/map_delete.png b/webroot/img/icons/map_delete.png
new file mode 100644
index 0000000..e74402f
Binary files /dev/null and b/webroot/img/icons/map_delete.png differ
diff --git a/webroot/img/icons/map_edit.png b/webroot/img/icons/map_edit.png
new file mode 100644
index 0000000..93d4d7e
Binary files /dev/null and b/webroot/img/icons/map_edit.png differ
diff --git a/webroot/img/icons/map_go.png b/webroot/img/icons/map_go.png
new file mode 100644
index 0000000..11eab26
Binary files /dev/null and b/webroot/img/icons/map_go.png differ
diff --git a/webroot/img/icons/map_magnify.png b/webroot/img/icons/map_magnify.png
new file mode 100644
index 0000000..7184c9d
Binary files /dev/null and b/webroot/img/icons/map_magnify.png differ
diff --git a/webroot/img/icons/medal_bronze_1.png b/webroot/img/icons/medal_bronze_1.png
new file mode 100644
index 0000000..5f8a6d6
Binary files /dev/null and b/webroot/img/icons/medal_bronze_1.png differ
diff --git a/webroot/img/icons/medal_bronze_2.png b/webroot/img/icons/medal_bronze_2.png
new file mode 100644
index 0000000..623d68c
Binary files /dev/null and b/webroot/img/icons/medal_bronze_2.png differ
diff --git a/webroot/img/icons/medal_bronze_3.png b/webroot/img/icons/medal_bronze_3.png
new file mode 100644
index 0000000..ed3f43e
Binary files /dev/null and b/webroot/img/icons/medal_bronze_3.png differ
diff --git a/webroot/img/icons/medal_bronze_add.png b/webroot/img/icons/medal_bronze_add.png
new file mode 100644
index 0000000..8487b2c
Binary files /dev/null and b/webroot/img/icons/medal_bronze_add.png differ
diff --git a/webroot/img/icons/medal_bronze_delete.png b/webroot/img/icons/medal_bronze_delete.png
new file mode 100644
index 0000000..d32aed7
Binary files /dev/null and b/webroot/img/icons/medal_bronze_delete.png differ
diff --git a/webroot/img/icons/medal_gold_1.png b/webroot/img/icons/medal_gold_1.png
new file mode 100644
index 0000000..87584dc
Binary files /dev/null and b/webroot/img/icons/medal_gold_1.png differ
diff --git a/webroot/img/icons/medal_gold_2.png b/webroot/img/icons/medal_gold_2.png
new file mode 100644
index 0000000..fa3a15d
Binary files /dev/null and b/webroot/img/icons/medal_gold_2.png differ
diff --git a/webroot/img/icons/medal_gold_3.png b/webroot/img/icons/medal_gold_3.png
new file mode 100644
index 0000000..ef1b08b
Binary files /dev/null and b/webroot/img/icons/medal_gold_3.png differ
diff --git a/webroot/img/icons/medal_gold_add.png b/webroot/img/icons/medal_gold_add.png
new file mode 100644
index 0000000..dcade0d
Binary files /dev/null and b/webroot/img/icons/medal_gold_add.png differ
diff --git a/webroot/img/icons/medal_gold_delete.png b/webroot/img/icons/medal_gold_delete.png
new file mode 100644
index 0000000..84b06d5
Binary files /dev/null and b/webroot/img/icons/medal_gold_delete.png differ
diff --git a/webroot/img/icons/medal_silver_1.png b/webroot/img/icons/medal_silver_1.png
new file mode 100644
index 0000000..75a64da
Binary files /dev/null and b/webroot/img/icons/medal_silver_1.png differ
diff --git a/webroot/img/icons/medal_silver_2.png b/webroot/img/icons/medal_silver_2.png
new file mode 100644
index 0000000..2e0fe75
Binary files /dev/null and b/webroot/img/icons/medal_silver_2.png differ
diff --git a/webroot/img/icons/medal_silver_3.png b/webroot/img/icons/medal_silver_3.png
new file mode 100644
index 0000000..e385b54
Binary files /dev/null and b/webroot/img/icons/medal_silver_3.png differ
diff --git a/webroot/img/icons/medal_silver_add.png b/webroot/img/icons/medal_silver_add.png
new file mode 100644
index 0000000..b0633fa
Binary files /dev/null and b/webroot/img/icons/medal_silver_add.png differ
diff --git a/webroot/img/icons/medal_silver_delete.png b/webroot/img/icons/medal_silver_delete.png
new file mode 100644
index 0000000..06cab46
Binary files /dev/null and b/webroot/img/icons/medal_silver_delete.png differ
diff --git a/webroot/img/icons/money.png b/webroot/img/icons/money.png
new file mode 100644
index 0000000..42c52d0
Binary files /dev/null and b/webroot/img/icons/money.png differ
diff --git a/webroot/img/icons/money_add.png b/webroot/img/icons/money_add.png
new file mode 100644
index 0000000..588fa9d
Binary files /dev/null and b/webroot/img/icons/money_add.png differ
diff --git a/webroot/img/icons/money_delete.png b/webroot/img/icons/money_delete.png
new file mode 100644
index 0000000..eae2c52
Binary files /dev/null and b/webroot/img/icons/money_delete.png differ
diff --git a/webroot/img/icons/money_dollar.png b/webroot/img/icons/money_dollar.png
new file mode 100644
index 0000000..59af163
Binary files /dev/null and b/webroot/img/icons/money_dollar.png differ
diff --git a/webroot/img/icons/money_euro.png b/webroot/img/icons/money_euro.png
new file mode 100644
index 0000000..b322ba9
Binary files /dev/null and b/webroot/img/icons/money_euro.png differ
diff --git a/webroot/img/icons/money_pound.png b/webroot/img/icons/money_pound.png
new file mode 100644
index 0000000..b711364
Binary files /dev/null and b/webroot/img/icons/money_pound.png differ
diff --git a/webroot/img/icons/money_yen.png b/webroot/img/icons/money_yen.png
new file mode 100644
index 0000000..228a677
Binary files /dev/null and b/webroot/img/icons/money_yen.png differ
diff --git a/webroot/img/icons/monitor.png b/webroot/img/icons/monitor.png
new file mode 100644
index 0000000..d040bd0
Binary files /dev/null and b/webroot/img/icons/monitor.png differ
diff --git a/webroot/img/icons/monitor_add.png b/webroot/img/icons/monitor_add.png
new file mode 100644
index 0000000..a818066
Binary files /dev/null and b/webroot/img/icons/monitor_add.png differ
diff --git a/webroot/img/icons/monitor_delete.png b/webroot/img/icons/monitor_delete.png
new file mode 100644
index 0000000..3733256
Binary files /dev/null and b/webroot/img/icons/monitor_delete.png differ
diff --git a/webroot/img/icons/monitor_edit.png b/webroot/img/icons/monitor_edit.png
new file mode 100644
index 0000000..f772c56
Binary files /dev/null and b/webroot/img/icons/monitor_edit.png differ
diff --git a/webroot/img/icons/monitor_error.png b/webroot/img/icons/monitor_error.png
new file mode 100644
index 0000000..270c501
Binary files /dev/null and b/webroot/img/icons/monitor_error.png differ
diff --git a/webroot/img/icons/monitor_go.png b/webroot/img/icons/monitor_go.png
new file mode 100644
index 0000000..8af3eda
Binary files /dev/null and b/webroot/img/icons/monitor_go.png differ
diff --git a/webroot/img/icons/monitor_lightning.png b/webroot/img/icons/monitor_lightning.png
new file mode 100644
index 0000000..06e53a9
Binary files /dev/null and b/webroot/img/icons/monitor_lightning.png differ
diff --git a/webroot/img/icons/monitor_link.png b/webroot/img/icons/monitor_link.png
new file mode 100644
index 0000000..a014b02
Binary files /dev/null and b/webroot/img/icons/monitor_link.png differ
diff --git a/webroot/img/icons/mouse.png b/webroot/img/icons/mouse.png
new file mode 100644
index 0000000..63a92fa
Binary files /dev/null and b/webroot/img/icons/mouse.png differ
diff --git a/webroot/img/icons/mouse_add.png b/webroot/img/icons/mouse_add.png
new file mode 100644
index 0000000..65bcab5
Binary files /dev/null and b/webroot/img/icons/mouse_add.png differ
diff --git a/webroot/img/icons/mouse_delete.png b/webroot/img/icons/mouse_delete.png
new file mode 100644
index 0000000..7286566
Binary files /dev/null and b/webroot/img/icons/mouse_delete.png differ
diff --git a/webroot/img/icons/mouse_error.png b/webroot/img/icons/mouse_error.png
new file mode 100644
index 0000000..bcc1562
Binary files /dev/null and b/webroot/img/icons/mouse_error.png differ
diff --git a/webroot/img/icons/music.png b/webroot/img/icons/music.png
new file mode 100644
index 0000000..a8b3ede
Binary files /dev/null and b/webroot/img/icons/music.png differ
diff --git a/webroot/img/icons/new.png b/webroot/img/icons/new.png
new file mode 100644
index 0000000..6a9bf03
Binary files /dev/null and b/webroot/img/icons/new.png differ
diff --git a/webroot/img/icons/newspaper.png b/webroot/img/icons/newspaper.png
new file mode 100644
index 0000000..6a2ecce
Binary files /dev/null and b/webroot/img/icons/newspaper.png differ
diff --git a/webroot/img/icons/newspaper_add.png b/webroot/img/icons/newspaper_add.png
new file mode 100644
index 0000000..8140e8c
Binary files /dev/null and b/webroot/img/icons/newspaper_add.png differ
diff --git a/webroot/img/icons/newspaper_delete.png b/webroot/img/icons/newspaper_delete.png
new file mode 100644
index 0000000..bde96ce
Binary files /dev/null and b/webroot/img/icons/newspaper_delete.png differ
diff --git a/webroot/img/icons/newspaper_go.png b/webroot/img/icons/newspaper_go.png
new file mode 100644
index 0000000..fd61428
Binary files /dev/null and b/webroot/img/icons/newspaper_go.png differ
diff --git a/webroot/img/icons/newspaper_link.png b/webroot/img/icons/newspaper_link.png
new file mode 100644
index 0000000..99e57cb
Binary files /dev/null and b/webroot/img/icons/newspaper_link.png differ
diff --git a/webroot/img/icons/note.png b/webroot/img/icons/note.png
new file mode 100644
index 0000000..244e6ca
Binary files /dev/null and b/webroot/img/icons/note.png differ
diff --git a/webroot/img/icons/note_add.png b/webroot/img/icons/note_add.png
new file mode 100644
index 0000000..abdad91
Binary files /dev/null and b/webroot/img/icons/note_add.png differ
diff --git a/webroot/img/icons/note_delete.png b/webroot/img/icons/note_delete.png
new file mode 100644
index 0000000..8a1f0ff
Binary files /dev/null and b/webroot/img/icons/note_delete.png differ
diff --git a/webroot/img/icons/note_edit.png b/webroot/img/icons/note_edit.png
new file mode 100644
index 0000000..291bfc7
Binary files /dev/null and b/webroot/img/icons/note_edit.png differ
diff --git a/webroot/img/icons/note_error.png b/webroot/img/icons/note_error.png
new file mode 100644
index 0000000..896dadf
Binary files /dev/null and b/webroot/img/icons/note_error.png differ
diff --git a/webroot/img/icons/note_go.png b/webroot/img/icons/note_go.png
new file mode 100644
index 0000000..49e54fd
Binary files /dev/null and b/webroot/img/icons/note_go.png differ
diff --git a/webroot/img/icons/overlays.png b/webroot/img/icons/overlays.png
new file mode 100644
index 0000000..ab3100b
Binary files /dev/null and b/webroot/img/icons/overlays.png differ
diff --git a/webroot/img/icons/package.png b/webroot/img/icons/package.png
new file mode 100644
index 0000000..da3c2a2
Binary files /dev/null and b/webroot/img/icons/package.png differ
diff --git a/webroot/img/icons/package_add.png b/webroot/img/icons/package_add.png
new file mode 100644
index 0000000..9c8a9da
Binary files /dev/null and b/webroot/img/icons/package_add.png differ
diff --git a/webroot/img/icons/package_delete.png b/webroot/img/icons/package_delete.png
new file mode 100644
index 0000000..86f7fbc
Binary files /dev/null and b/webroot/img/icons/package_delete.png differ
diff --git a/webroot/img/icons/package_go.png b/webroot/img/icons/package_go.png
new file mode 100644
index 0000000..aace63a
Binary files /dev/null and b/webroot/img/icons/package_go.png differ
diff --git a/webroot/img/icons/package_green.png b/webroot/img/icons/package_green.png
new file mode 100644
index 0000000..25b28bb
Binary files /dev/null and b/webroot/img/icons/package_green.png differ
diff --git a/webroot/img/icons/package_link.png b/webroot/img/icons/package_link.png
new file mode 100644
index 0000000..48e7ab5
Binary files /dev/null and b/webroot/img/icons/package_link.png differ
diff --git a/webroot/img/icons/page.png b/webroot/img/icons/page.png
new file mode 100644
index 0000000..03ddd79
Binary files /dev/null and b/webroot/img/icons/page.png differ
diff --git a/webroot/img/icons/page_add.png b/webroot/img/icons/page_add.png
new file mode 100644
index 0000000..d5bfa07
Binary files /dev/null and b/webroot/img/icons/page_add.png differ
diff --git a/webroot/img/icons/page_attach.png b/webroot/img/icons/page_attach.png
new file mode 100644
index 0000000..89ee2da
Binary files /dev/null and b/webroot/img/icons/page_attach.png differ
diff --git a/webroot/img/icons/page_code.png b/webroot/img/icons/page_code.png
new file mode 100644
index 0000000..f7ea904
Binary files /dev/null and b/webroot/img/icons/page_code.png differ
diff --git a/webroot/img/icons/page_copy.png b/webroot/img/icons/page_copy.png
new file mode 100644
index 0000000..195dc6d
Binary files /dev/null and b/webroot/img/icons/page_copy.png differ
diff --git a/webroot/img/icons/page_delete.png b/webroot/img/icons/page_delete.png
new file mode 100644
index 0000000..3141467
Binary files /dev/null and b/webroot/img/icons/page_delete.png differ
diff --git a/webroot/img/icons/page_edit.png b/webroot/img/icons/page_edit.png
new file mode 100644
index 0000000..046811e
Binary files /dev/null and b/webroot/img/icons/page_edit.png differ
diff --git a/webroot/img/icons/page_error.png b/webroot/img/icons/page_error.png
new file mode 100644
index 0000000..f07f449
Binary files /dev/null and b/webroot/img/icons/page_error.png differ
diff --git a/webroot/img/icons/page_excel.png b/webroot/img/icons/page_excel.png
new file mode 100644
index 0000000..eb6158e
Binary files /dev/null and b/webroot/img/icons/page_excel.png differ
diff --git a/webroot/img/icons/page_find.png b/webroot/img/icons/page_find.png
new file mode 100644
index 0000000..2f19388
Binary files /dev/null and b/webroot/img/icons/page_find.png differ
diff --git a/webroot/img/icons/page_gear.png b/webroot/img/icons/page_gear.png
new file mode 100644
index 0000000..8e83281
Binary files /dev/null and b/webroot/img/icons/page_gear.png differ
diff --git a/webroot/img/icons/page_go.png b/webroot/img/icons/page_go.png
new file mode 100644
index 0000000..80fe1ed
Binary files /dev/null and b/webroot/img/icons/page_go.png differ
diff --git a/webroot/img/icons/page_green.png b/webroot/img/icons/page_green.png
new file mode 100644
index 0000000..de8e003
Binary files /dev/null and b/webroot/img/icons/page_green.png differ
diff --git a/webroot/img/icons/page_key.png b/webroot/img/icons/page_key.png
new file mode 100644
index 0000000..d6626cb
Binary files /dev/null and b/webroot/img/icons/page_key.png differ
diff --git a/webroot/img/icons/page_lightning.png b/webroot/img/icons/page_lightning.png
new file mode 100644
index 0000000..7e56870
Binary files /dev/null and b/webroot/img/icons/page_lightning.png differ
diff --git a/webroot/img/icons/page_link.png b/webroot/img/icons/page_link.png
new file mode 100644
index 0000000..312eab0
Binary files /dev/null and b/webroot/img/icons/page_link.png differ
diff --git a/webroot/img/icons/page_paintbrush.png b/webroot/img/icons/page_paintbrush.png
new file mode 100644
index 0000000..246a2f0
Binary files /dev/null and b/webroot/img/icons/page_paintbrush.png differ
diff --git a/webroot/img/icons/page_paste.png b/webroot/img/icons/page_paste.png
new file mode 100644
index 0000000..968f073
Binary files /dev/null and b/webroot/img/icons/page_paste.png differ
diff --git a/webroot/img/icons/page_red.png b/webroot/img/icons/page_red.png
new file mode 100644
index 0000000..0b18247
Binary files /dev/null and b/webroot/img/icons/page_red.png differ
diff --git a/webroot/img/icons/page_refresh.png b/webroot/img/icons/page_refresh.png
new file mode 100644
index 0000000..cf347c7
Binary files /dev/null and b/webroot/img/icons/page_refresh.png differ
diff --git a/webroot/img/icons/page_save.png b/webroot/img/icons/page_save.png
new file mode 100644
index 0000000..caea546
Binary files /dev/null and b/webroot/img/icons/page_save.png differ
diff --git a/webroot/img/icons/page_white.png b/webroot/img/icons/page_white.png
new file mode 100644
index 0000000..8b8b1ca
Binary files /dev/null and b/webroot/img/icons/page_white.png differ
diff --git a/webroot/img/icons/page_white_acrobat.png b/webroot/img/icons/page_white_acrobat.png
new file mode 100644
index 0000000..8f8095e
Binary files /dev/null and b/webroot/img/icons/page_white_acrobat.png differ
diff --git a/webroot/img/icons/page_white_actionscript.png b/webroot/img/icons/page_white_actionscript.png
new file mode 100644
index 0000000..159b240
Binary files /dev/null and b/webroot/img/icons/page_white_actionscript.png differ
diff --git a/webroot/img/icons/page_white_add.png b/webroot/img/icons/page_white_add.png
new file mode 100644
index 0000000..aa23dde
Binary files /dev/null and b/webroot/img/icons/page_white_add.png differ
diff --git a/webroot/img/icons/page_white_c.png b/webroot/img/icons/page_white_c.png
new file mode 100644
index 0000000..34a05cc
Binary files /dev/null and b/webroot/img/icons/page_white_c.png differ
diff --git a/webroot/img/icons/page_white_camera.png b/webroot/img/icons/page_white_camera.png
new file mode 100644
index 0000000..f501a59
Binary files /dev/null and b/webroot/img/icons/page_white_camera.png differ
diff --git a/webroot/img/icons/page_white_cd.png b/webroot/img/icons/page_white_cd.png
new file mode 100644
index 0000000..848bdaf
Binary files /dev/null and b/webroot/img/icons/page_white_cd.png differ
diff --git a/webroot/img/icons/page_white_code.png b/webroot/img/icons/page_white_code.png
new file mode 100644
index 0000000..0c76bd1
Binary files /dev/null and b/webroot/img/icons/page_white_code.png differ
diff --git a/webroot/img/icons/page_white_code_red.png b/webroot/img/icons/page_white_code_red.png
new file mode 100644
index 0000000..87a6914
Binary files /dev/null and b/webroot/img/icons/page_white_code_red.png differ
diff --git a/webroot/img/icons/page_white_coldfusion.png b/webroot/img/icons/page_white_coldfusion.png
new file mode 100644
index 0000000..c66011f
Binary files /dev/null and b/webroot/img/icons/page_white_coldfusion.png differ
diff --git a/webroot/img/icons/page_white_compressed.png b/webroot/img/icons/page_white_compressed.png
new file mode 100644
index 0000000..2b6b100
Binary files /dev/null and b/webroot/img/icons/page_white_compressed.png differ
diff --git a/webroot/img/icons/page_white_copy.png b/webroot/img/icons/page_white_copy.png
new file mode 100644
index 0000000..a9f31a2
Binary files /dev/null and b/webroot/img/icons/page_white_copy.png differ
diff --git a/webroot/img/icons/page_white_cplusplus.png b/webroot/img/icons/page_white_cplusplus.png
new file mode 100644
index 0000000..a87cf84
Binary files /dev/null and b/webroot/img/icons/page_white_cplusplus.png differ
diff --git a/webroot/img/icons/page_white_csharp.png b/webroot/img/icons/page_white_csharp.png
new file mode 100644
index 0000000..ffb8fc9
Binary files /dev/null and b/webroot/img/icons/page_white_csharp.png differ
diff --git a/webroot/img/icons/page_white_cup.png b/webroot/img/icons/page_white_cup.png
new file mode 100644
index 0000000..0a7d6f4
Binary files /dev/null and b/webroot/img/icons/page_white_cup.png differ
diff --git a/webroot/img/icons/page_white_database.png b/webroot/img/icons/page_white_database.png
new file mode 100644
index 0000000..bddba1f
Binary files /dev/null and b/webroot/img/icons/page_white_database.png differ
diff --git a/webroot/img/icons/page_white_delete.png b/webroot/img/icons/page_white_delete.png
new file mode 100644
index 0000000..af1ecaf
Binary files /dev/null and b/webroot/img/icons/page_white_delete.png differ
diff --git a/webroot/img/icons/page_white_dvd.png b/webroot/img/icons/page_white_dvd.png
new file mode 100644
index 0000000..4cc537a
Binary files /dev/null and b/webroot/img/icons/page_white_dvd.png differ
diff --git a/webroot/img/icons/page_white_edit.png b/webroot/img/icons/page_white_edit.png
new file mode 100644
index 0000000..b93e776
Binary files /dev/null and b/webroot/img/icons/page_white_edit.png differ
diff --git a/webroot/img/icons/page_white_error.png b/webroot/img/icons/page_white_error.png
new file mode 100644
index 0000000..9fc5a0a
Binary files /dev/null and b/webroot/img/icons/page_white_error.png differ
diff --git a/webroot/img/icons/page_white_excel.png b/webroot/img/icons/page_white_excel.png
new file mode 100644
index 0000000..b977d7e
Binary files /dev/null and b/webroot/img/icons/page_white_excel.png differ
diff --git a/webroot/img/icons/page_white_find.png b/webroot/img/icons/page_white_find.png
new file mode 100644
index 0000000..5818436
Binary files /dev/null and b/webroot/img/icons/page_white_find.png differ
diff --git a/webroot/img/icons/page_white_flash.png b/webroot/img/icons/page_white_flash.png
new file mode 100644
index 0000000..5769120
Binary files /dev/null and b/webroot/img/icons/page_white_flash.png differ
diff --git a/webroot/img/icons/page_white_freehand.png b/webroot/img/icons/page_white_freehand.png
new file mode 100644
index 0000000..8d719df
Binary files /dev/null and b/webroot/img/icons/page_white_freehand.png differ
diff --git a/webroot/img/icons/page_white_gear.png b/webroot/img/icons/page_white_gear.png
new file mode 100644
index 0000000..106f5aa
Binary files /dev/null and b/webroot/img/icons/page_white_gear.png differ
diff --git a/webroot/img/icons/page_white_get.png b/webroot/img/icons/page_white_get.png
new file mode 100644
index 0000000..e4a1ecb
Binary files /dev/null and b/webroot/img/icons/page_white_get.png differ
diff --git a/webroot/img/icons/page_white_go.png b/webroot/img/icons/page_white_go.png
new file mode 100644
index 0000000..7e62a92
Binary files /dev/null and b/webroot/img/icons/page_white_go.png differ
diff --git a/webroot/img/icons/page_white_h.png b/webroot/img/icons/page_white_h.png
new file mode 100644
index 0000000..e902abb
Binary files /dev/null and b/webroot/img/icons/page_white_h.png differ
diff --git a/webroot/img/icons/page_white_horizontal.png b/webroot/img/icons/page_white_horizontal.png
new file mode 100644
index 0000000..1d2d0a4
Binary files /dev/null and b/webroot/img/icons/page_white_horizontal.png differ
diff --git a/webroot/img/icons/page_white_key.png b/webroot/img/icons/page_white_key.png
new file mode 100644
index 0000000..d616484
Binary files /dev/null and b/webroot/img/icons/page_white_key.png differ
diff --git a/webroot/img/icons/page_white_lightning.png b/webroot/img/icons/page_white_lightning.png
new file mode 100644
index 0000000..7215d1e
Binary files /dev/null and b/webroot/img/icons/page_white_lightning.png differ
diff --git a/webroot/img/icons/page_white_link.png b/webroot/img/icons/page_white_link.png
new file mode 100644
index 0000000..bf7bd1c
Binary files /dev/null and b/webroot/img/icons/page_white_link.png differ
diff --git a/webroot/img/icons/page_white_magnify.png b/webroot/img/icons/page_white_magnify.png
new file mode 100644
index 0000000..f6b74cc
Binary files /dev/null and b/webroot/img/icons/page_white_magnify.png differ
diff --git a/webroot/img/icons/page_white_medal.png b/webroot/img/icons/page_white_medal.png
new file mode 100644
index 0000000..d3fffb6
Binary files /dev/null and b/webroot/img/icons/page_white_medal.png differ
diff --git a/webroot/img/icons/page_white_office.png b/webroot/img/icons/page_white_office.png
new file mode 100644
index 0000000..a65bcb3
Binary files /dev/null and b/webroot/img/icons/page_white_office.png differ
diff --git a/webroot/img/icons/page_white_paint.png b/webroot/img/icons/page_white_paint.png
new file mode 100644
index 0000000..23a37b8
Binary files /dev/null and b/webroot/img/icons/page_white_paint.png differ
diff --git a/webroot/img/icons/page_white_paintbrush.png b/webroot/img/icons/page_white_paintbrush.png
new file mode 100644
index 0000000..f907e44
Binary files /dev/null and b/webroot/img/icons/page_white_paintbrush.png differ
diff --git a/webroot/img/icons/page_white_paste.png b/webroot/img/icons/page_white_paste.png
new file mode 100644
index 0000000..5b2cbb3
Binary files /dev/null and b/webroot/img/icons/page_white_paste.png differ
diff --git a/webroot/img/icons/page_white_php.png b/webroot/img/icons/page_white_php.png
new file mode 100644
index 0000000..7868a25
Binary files /dev/null and b/webroot/img/icons/page_white_php.png differ
diff --git a/webroot/img/icons/page_white_picture.png b/webroot/img/icons/page_white_picture.png
new file mode 100644
index 0000000..134b669
Binary files /dev/null and b/webroot/img/icons/page_white_picture.png differ
diff --git a/webroot/img/icons/page_white_powerpoint.png b/webroot/img/icons/page_white_powerpoint.png
new file mode 100644
index 0000000..c4eff03
Binary files /dev/null and b/webroot/img/icons/page_white_powerpoint.png differ
diff --git a/webroot/img/icons/page_white_put.png b/webroot/img/icons/page_white_put.png
new file mode 100644
index 0000000..884ffd6
Binary files /dev/null and b/webroot/img/icons/page_white_put.png differ
diff --git a/webroot/img/icons/page_white_ruby.png b/webroot/img/icons/page_white_ruby.png
new file mode 100644
index 0000000..f59b7c4
Binary files /dev/null and b/webroot/img/icons/page_white_ruby.png differ
diff --git a/webroot/img/icons/page_white_stack.png b/webroot/img/icons/page_white_stack.png
new file mode 100644
index 0000000..44084ad
Binary files /dev/null and b/webroot/img/icons/page_white_stack.png differ
diff --git a/webroot/img/icons/page_white_star.png b/webroot/img/icons/page_white_star.png
new file mode 100644
index 0000000..3a1441c
Binary files /dev/null and b/webroot/img/icons/page_white_star.png differ
diff --git a/webroot/img/icons/page_white_swoosh.png b/webroot/img/icons/page_white_swoosh.png
new file mode 100644
index 0000000..e770829
Binary files /dev/null and b/webroot/img/icons/page_white_swoosh.png differ
diff --git a/webroot/img/icons/page_white_text.png b/webroot/img/icons/page_white_text.png
new file mode 100644
index 0000000..813f712
Binary files /dev/null and b/webroot/img/icons/page_white_text.png differ
diff --git a/webroot/img/icons/page_white_text_width.png b/webroot/img/icons/page_white_text_width.png
new file mode 100644
index 0000000..d9cf132
Binary files /dev/null and b/webroot/img/icons/page_white_text_width.png differ
diff --git a/webroot/img/icons/page_white_tux.png b/webroot/img/icons/page_white_tux.png
new file mode 100644
index 0000000..52699bf
Binary files /dev/null and b/webroot/img/icons/page_white_tux.png differ
diff --git a/webroot/img/icons/page_white_vector.png b/webroot/img/icons/page_white_vector.png
new file mode 100644
index 0000000..4a05955
Binary files /dev/null and b/webroot/img/icons/page_white_vector.png differ
diff --git a/webroot/img/icons/page_white_visualstudio.png b/webroot/img/icons/page_white_visualstudio.png
new file mode 100644
index 0000000..a0a433d
Binary files /dev/null and b/webroot/img/icons/page_white_visualstudio.png differ
diff --git a/webroot/img/icons/page_white_width.png b/webroot/img/icons/page_white_width.png
new file mode 100644
index 0000000..1eb8809
Binary files /dev/null and b/webroot/img/icons/page_white_width.png differ
diff --git a/webroot/img/icons/page_white_word.png b/webroot/img/icons/page_white_word.png
new file mode 100644
index 0000000..ae8ecbf
Binary files /dev/null and b/webroot/img/icons/page_white_word.png differ
diff --git a/webroot/img/icons/page_white_world.png b/webroot/img/icons/page_white_world.png
new file mode 100644
index 0000000..6ed2490
Binary files /dev/null and b/webroot/img/icons/page_white_world.png differ
diff --git a/webroot/img/icons/page_white_wrench.png b/webroot/img/icons/page_white_wrench.png
new file mode 100644
index 0000000..fecadd0
Binary files /dev/null and b/webroot/img/icons/page_white_wrench.png differ
diff --git a/webroot/img/icons/page_white_zip.png b/webroot/img/icons/page_white_zip.png
new file mode 100644
index 0000000..fd4bbcc
Binary files /dev/null and b/webroot/img/icons/page_white_zip.png differ
diff --git a/webroot/img/icons/page_word.png b/webroot/img/icons/page_word.png
new file mode 100644
index 0000000..834cdfa
Binary files /dev/null and b/webroot/img/icons/page_word.png differ
diff --git a/webroot/img/icons/page_world.png b/webroot/img/icons/page_world.png
new file mode 100644
index 0000000..b8895dd
Binary files /dev/null and b/webroot/img/icons/page_world.png differ
diff --git a/webroot/img/icons/paintbrush.png b/webroot/img/icons/paintbrush.png
new file mode 100644
index 0000000..a3ecf87
Binary files /dev/null and b/webroot/img/icons/paintbrush.png differ
diff --git a/webroot/img/icons/paintcan.png b/webroot/img/icons/paintcan.png
new file mode 100644
index 0000000..f82a886
Binary files /dev/null and b/webroot/img/icons/paintcan.png differ
diff --git a/webroot/img/icons/palette.png b/webroot/img/icons/palette.png
new file mode 100644
index 0000000..73c5b3f
Binary files /dev/null and b/webroot/img/icons/palette.png differ
diff --git a/webroot/img/icons/paste_plain.png b/webroot/img/icons/paste_plain.png
new file mode 100644
index 0000000..c0490eb
Binary files /dev/null and b/webroot/img/icons/paste_plain.png differ
diff --git a/webroot/img/icons/paste_word.png b/webroot/img/icons/paste_word.png
new file mode 100644
index 0000000..f6b87f8
Binary files /dev/null and b/webroot/img/icons/paste_word.png differ
diff --git a/webroot/img/icons/pencil.png b/webroot/img/icons/pencil.png
new file mode 100644
index 0000000..0bfecd5
Binary files /dev/null and b/webroot/img/icons/pencil.png differ
diff --git a/webroot/img/icons/pencil_add.png b/webroot/img/icons/pencil_add.png
new file mode 100644
index 0000000..902bbe6
Binary files /dev/null and b/webroot/img/icons/pencil_add.png differ
diff --git a/webroot/img/icons/pencil_delete.png b/webroot/img/icons/pencil_delete.png
new file mode 100644
index 0000000..d8944e6
Binary files /dev/null and b/webroot/img/icons/pencil_delete.png differ
diff --git a/webroot/img/icons/pencil_go.png b/webroot/img/icons/pencil_go.png
new file mode 100644
index 0000000..937bded
Binary files /dev/null and b/webroot/img/icons/pencil_go.png differ
diff --git a/webroot/img/icons/phone.png b/webroot/img/icons/phone.png
new file mode 100644
index 0000000..c39f162
Binary files /dev/null and b/webroot/img/icons/phone.png differ
diff --git a/webroot/img/icons/phone_add.png b/webroot/img/icons/phone_add.png
new file mode 100644
index 0000000..d3555e0
Binary files /dev/null and b/webroot/img/icons/phone_add.png differ
diff --git a/webroot/img/icons/phone_delete.png b/webroot/img/icons/phone_delete.png
new file mode 100644
index 0000000..bbe4f8a
Binary files /dev/null and b/webroot/img/icons/phone_delete.png differ
diff --git a/webroot/img/icons/phone_sound.png b/webroot/img/icons/phone_sound.png
new file mode 100644
index 0000000..7fdf1c5
Binary files /dev/null and b/webroot/img/icons/phone_sound.png differ
diff --git a/webroot/img/icons/photo.png b/webroot/img/icons/photo.png
new file mode 100644
index 0000000..6c2aaaa
Binary files /dev/null and b/webroot/img/icons/photo.png differ
diff --git a/webroot/img/icons/photo_add.png b/webroot/img/icons/photo_add.png
new file mode 100644
index 0000000..63cc355
Binary files /dev/null and b/webroot/img/icons/photo_add.png differ
diff --git a/webroot/img/icons/photo_delete.png b/webroot/img/icons/photo_delete.png
new file mode 100644
index 0000000..18b67df
Binary files /dev/null and b/webroot/img/icons/photo_delete.png differ
diff --git a/webroot/img/icons/photo_link.png b/webroot/img/icons/photo_link.png
new file mode 100644
index 0000000..e6bb35f
Binary files /dev/null and b/webroot/img/icons/photo_link.png differ
diff --git a/webroot/img/icons/photos.png b/webroot/img/icons/photos.png
new file mode 100644
index 0000000..8836fe6
Binary files /dev/null and b/webroot/img/icons/photos.png differ
diff --git a/webroot/img/icons/picture.png b/webroot/img/icons/picture.png
new file mode 100644
index 0000000..4a158fe
Binary files /dev/null and b/webroot/img/icons/picture.png differ
diff --git a/webroot/img/icons/picture_add.png b/webroot/img/icons/picture_add.png
new file mode 100644
index 0000000..d6d3f85
Binary files /dev/null and b/webroot/img/icons/picture_add.png differ
diff --git a/webroot/img/icons/picture_delete.png b/webroot/img/icons/picture_delete.png
new file mode 100644
index 0000000..cca9f53
Binary files /dev/null and b/webroot/img/icons/picture_delete.png differ
diff --git a/webroot/img/icons/picture_edit.png b/webroot/img/icons/picture_edit.png
new file mode 100644
index 0000000..9a70c34
Binary files /dev/null and b/webroot/img/icons/picture_edit.png differ
diff --git a/webroot/img/icons/picture_empty.png b/webroot/img/icons/picture_empty.png
new file mode 100644
index 0000000..abd2b9b
Binary files /dev/null and b/webroot/img/icons/picture_empty.png differ
diff --git a/webroot/img/icons/picture_error.png b/webroot/img/icons/picture_error.png
new file mode 100644
index 0000000..d41d90d
Binary files /dev/null and b/webroot/img/icons/picture_error.png differ
diff --git a/webroot/img/icons/picture_go.png b/webroot/img/icons/picture_go.png
new file mode 100644
index 0000000..27c63c5
Binary files /dev/null and b/webroot/img/icons/picture_go.png differ
diff --git a/webroot/img/icons/picture_key.png b/webroot/img/icons/picture_key.png
new file mode 100644
index 0000000..667086c
Binary files /dev/null and b/webroot/img/icons/picture_key.png differ
diff --git a/webroot/img/icons/picture_link.png b/webroot/img/icons/picture_link.png
new file mode 100644
index 0000000..42dca74
Binary files /dev/null and b/webroot/img/icons/picture_link.png differ
diff --git a/webroot/img/icons/picture_save.png b/webroot/img/icons/picture_save.png
new file mode 100644
index 0000000..777fb5d
Binary files /dev/null and b/webroot/img/icons/picture_save.png differ
diff --git a/webroot/img/icons/pictures.png b/webroot/img/icons/pictures.png
new file mode 100644
index 0000000..d9591c1
Binary files /dev/null and b/webroot/img/icons/pictures.png differ
diff --git a/webroot/img/icons/pilcrow.png b/webroot/img/icons/pilcrow.png
new file mode 100644
index 0000000..95704fb
Binary files /dev/null and b/webroot/img/icons/pilcrow.png differ
diff --git a/webroot/img/icons/pill.png b/webroot/img/icons/pill.png
new file mode 100644
index 0000000..f2bdef6
Binary files /dev/null and b/webroot/img/icons/pill.png differ
diff --git a/webroot/img/icons/pill_add.png b/webroot/img/icons/pill_add.png
new file mode 100644
index 0000000..ac9c2df
Binary files /dev/null and b/webroot/img/icons/pill_add.png differ
diff --git a/webroot/img/icons/pill_delete.png b/webroot/img/icons/pill_delete.png
new file mode 100644
index 0000000..c61592e
Binary files /dev/null and b/webroot/img/icons/pill_delete.png differ
diff --git a/webroot/img/icons/pill_go.png b/webroot/img/icons/pill_go.png
new file mode 100644
index 0000000..e5c07d4
Binary files /dev/null and b/webroot/img/icons/pill_go.png differ
diff --git a/webroot/img/icons/plugin.png b/webroot/img/icons/plugin.png
new file mode 100644
index 0000000..6187b15
Binary files /dev/null and b/webroot/img/icons/plugin.png differ
diff --git a/webroot/img/icons/plugin_add.png b/webroot/img/icons/plugin_add.png
new file mode 100644
index 0000000..ae43690
Binary files /dev/null and b/webroot/img/icons/plugin_add.png differ
diff --git a/webroot/img/icons/plugin_delete.png b/webroot/img/icons/plugin_delete.png
new file mode 100644
index 0000000..d9c3376
Binary files /dev/null and b/webroot/img/icons/plugin_delete.png differ
diff --git a/webroot/img/icons/plugin_disabled.png b/webroot/img/icons/plugin_disabled.png
new file mode 100644
index 0000000..f4f6be5
Binary files /dev/null and b/webroot/img/icons/plugin_disabled.png differ
diff --git a/webroot/img/icons/plugin_edit.png b/webroot/img/icons/plugin_edit.png
new file mode 100644
index 0000000..b6cb0ec
Binary files /dev/null and b/webroot/img/icons/plugin_edit.png differ
diff --git a/webroot/img/icons/plugin_error.png b/webroot/img/icons/plugin_error.png
new file mode 100644
index 0000000..cff65d7
Binary files /dev/null and b/webroot/img/icons/plugin_error.png differ
diff --git a/webroot/img/icons/plugin_go.png b/webroot/img/icons/plugin_go.png
new file mode 100644
index 0000000..41da991
Binary files /dev/null and b/webroot/img/icons/plugin_go.png differ
diff --git a/webroot/img/icons/plugin_link.png b/webroot/img/icons/plugin_link.png
new file mode 100644
index 0000000..445c188
Binary files /dev/null and b/webroot/img/icons/plugin_link.png differ
diff --git a/webroot/img/icons/printer.png b/webroot/img/icons/printer.png
new file mode 100644
index 0000000..a350d18
Binary files /dev/null and b/webroot/img/icons/printer.png differ
diff --git a/webroot/img/icons/printer_add.png b/webroot/img/icons/printer_add.png
new file mode 100644
index 0000000..d228d05
Binary files /dev/null and b/webroot/img/icons/printer_add.png differ
diff --git a/webroot/img/icons/printer_delete.png b/webroot/img/icons/printer_delete.png
new file mode 100644
index 0000000..1d8605f
Binary files /dev/null and b/webroot/img/icons/printer_delete.png differ
diff --git a/webroot/img/icons/printer_empty.png b/webroot/img/icons/printer_empty.png
new file mode 100644
index 0000000..94e8c16
Binary files /dev/null and b/webroot/img/icons/printer_empty.png differ
diff --git a/webroot/img/icons/printer_error.png b/webroot/img/icons/printer_error.png
new file mode 100644
index 0000000..279ebb0
Binary files /dev/null and b/webroot/img/icons/printer_error.png differ
diff --git a/webroot/img/icons/rainbow.png b/webroot/img/icons/rainbow.png
new file mode 100644
index 0000000..5ede989
Binary files /dev/null and b/webroot/img/icons/rainbow.png differ
diff --git a/webroot/img/icons/readme.html b/webroot/img/icons/readme.html
new file mode 100644
index 0000000..810b21b
--- /dev/null
+++ b/webroot/img/icons/readme.html
@@ -0,0 +1,1495 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+ <!-- Document HEAD -->
+ <head>
+
+ <title>famfamfam.com: Silk Icons</title>
+
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <meta name="mssmarttagspreventparsing" content="true" />
+ <meta name="robots" content="all" />
+ <meta http-equiv="imagetoolbar" content="no" />
+
+ <meta name="author" content="Mark James" />
+ <meta name="copyright" content="Mark James" />
+ <meta name="revisit-after" content="7 days" />
+
+ <style type="text/css">
+<!--
+body {
+ font-family: Verdana, Arial, Helvetica, sans-serif;
+ font-size: 85%;
+}
+
+h1,h2,h3 {
+padding: 10px;
+background-color: #F0F0F0;
+border-bottom: 1px solid #DDD;
+}
+
+table td {
+padding: 5px;
+}
+
+td em {
+display: none;
+}
+-->
+ </style>
+ </head>
+
+ <!-- Document BODY -->
+ <body>
+
+ <div id="container-outer">
+ <div id="container-inner">
+ <div id="content-inner">
+
+ <h2>Silk Icons</h2>
+ <p><a href="http://www.famfamfam.com/lab/icons/silk/">http://www.famfamfam.com/lab/icons/silk/</a></p>
+ <p>
+ “Silk” is a smooth icon set, containing 1000 16-by-16 pixel icons in
+ strokably-soft PNG format. Containing a large variety of icons, you're sure to find something
+ that tickles your fancy. And all for a low low price of $0.00. You can't say fairer than that.
+
+ <br />
+ <br/>
+
+ <!--
+ <a class="download-link" href="famfamfam_mini_icons.zip">Download</a><br />
+ -->
+
+ Current version: <strong>1.3</strong></p>
+
+ <h3>License</h3>
+ <p>
+ <!-- Creative Commons License -->
+ I also love to hear of my work being used, feel encouraged to send an email
+ with a link or screenshot of the icons in their new home to
+ mjames <span class="email">at</span> gmail <span class="email">dot</span> com.
+ This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a>.
+ This means you may use it for any purpose, and make any changes you like.
+ All I ask is that you include a link back to <a href="http://www.famfamfam.com/lab/icons/silk/">http://www.famfamfam.com/lab/icons/silk/</a> in your credits (contact me to discuss licencing further).
+ <!-- /Creative Commons License -->
+
+
+ <!--
+
+ <rdf:RDF xmlns="http://web.resource.org/cc/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <Work rdf:about="">
+ <dc:title>Silk icons</dc:title>
+ <dc:date>2005</dc:date>
+ <dc:description>'Silk' icon set.</dc:description>
+ <dc:creator><Agent>
+ <dc:title>Mark James</dc:title>
+ </Agent></dc:creator>
+ <dc:rights><Agent>
+ <dc:title>Mark James</dc:title>
+ </Agent></dc:rights>
+ <dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:source rdf:resource="http://www.famfamfam.com/lab/icons/silk/"/>
+ <license rdf:resource="http://creativecommons.org/licenses/by/2.5/" />
+ </Work>
+
+ <License rdf:about="http://creativecommons.org/licenses/by/2.5/">
+ <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <permits rdf:resource="http://web.resource.org/cc/Distribution" />
+ <requires rdf:resource="http://web.resource.org/cc/Notice" />
+ <requires rdf:resource="http://web.resource.org/cc/Attribution" />
+ <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </License>
+
+ </rdf:RDF>
+
+ -->
+ </p>
+
+ <h3>Sightings</h3>
+
+ <p>
+ Do you use this set? <a href="http://www.famfamfam.com/about/?contact=Silk%20icons%20in%20the%20wild">Contact me!</a>.
+ </p>
+
+
+ <h3>Icons</h3>
+
+
+ <p><table>
+ <tr>
+ <td><img src="icons/accept.png" title="accept.png" alt="accept "/><em>accept.png</em></td>
+ <td><img src="icons/add.png" title="add.png" alt="add "/><em>add.png</em></td>
+
+ <td><img src="icons/anchor.png" title="anchor.png" alt="anchor "/><em>anchor.png</em></td>
+ <td><img src="icons/application.png" title="application.png" alt="application "/><em>application.png</em></td>
+ <td><img src="icons/application_add.png" title="application_add.png" alt="application add "/><em>application_add.png</em></td>
+ <td><img src="icons/application_cascade.png" title="application_cascade.png" alt="application cascade "/><em>application_cascade.png</em></td>
+ <td><img src="icons/application_delete.png" title="application_delete.png" alt="application delete "/><em>application_delete.png</em></td>
+ <td><img src="icons/application_double.png" title="application_double.png" alt="application double "/><em>application_double.png</em></td>
+
+ <td><img src="icons/application_edit.png" title="application_edit.png" alt="application edit "/><em>application_edit.png</em></td>
+ <td><img src="icons/application_error.png" title="application_error.png" alt="application error "/><em>application_error.png</em></td>
+ <td><img src="icons/application_form.png" title="application_form.png" alt="application form "/><em>application_form.png</em></td>
+ <td><img src="icons/application_form_add.png" title="application_form_add.png" alt="application form add "/><em>application_form_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/application_form_delete.png" title="application_form_delete.png" alt="application form delete "/><em>application_form_delete.png</em></td>
+
+ <td><img src="icons/application_form_edit.png" title="application_form_edit.png" alt="application form edit "/><em>application_form_edit.png</em></td>
+ <td><img src="icons/application_form_magnify.png" title="application_form_magnify.png" alt="application form magnify "/><em>application_form_magnify.png</em></td>
+ <td><img src="icons/application_get.png" title="application_get.png" alt="application get "/><em>application_get.png</em></td>
+ <td><img src="icons/application_go.png" title="application_go.png" alt="application go "/><em>application_go.png</em></td>
+ <td><img src="icons/application_home.png" title="application_home.png" alt="application home "/><em>application_home.png</em></td>
+ <td><img src="icons/application_key.png" title="application_key.png" alt="application key "/><em>application_key.png</em></td>
+
+ <td><img src="icons/application_lightning.png" title="application_lightning.png" alt="application lightning "/><em>application_lightning.png</em></td>
+ <td><img src="icons/application_link.png" title="application_link.png" alt="application link "/><em>application_link.png</em></td>
+ <td><img src="icons/application_osx.png" title="application_osx.png" alt="application osx "/><em>application_osx.png</em></td>
+ <td><img src="icons/application_osx_terminal.png" title="application_osx_terminal.png" alt="application osx terminal "/><em>application_osx_terminal.png</em></td>
+ <td><img src="icons/application_put.png" title="application_put.png" alt="application put "/><em>application_put.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/application_side_boxes.png" title="application_side_boxes.png" alt="application side boxes "/><em>application_side_boxes.png</em></td>
+ <td><img src="icons/application_side_contract.png" title="application_side_contract.png" alt="application side contract "/><em>application_side_contract.png</em></td>
+ <td><img src="icons/application_side_expand.png" title="application_side_expand.png" alt="application side expand "/><em>application_side_expand.png</em></td>
+ <td><img src="icons/application_side_list.png" title="application_side_list.png" alt="application side list "/><em>application_side_list.png</em></td>
+ <td><img src="icons/application_side_tree.png" title="application_side_tree.png" alt="application side tree "/><em>application_side_tree.png</em></td>
+
+ <td><img src="icons/application_split.png" title="application_split.png" alt="application split "/><em>application_split.png</em></td>
+ <td><img src="icons/application_tile_horizontal.png" title="application_tile_horizontal.png" alt="application tile horizontal "/><em>application_tile_horizontal.png</em></td>
+ <td><img src="icons/application_tile_vertical.png" title="application_tile_vertical.png" alt="application tile vertical "/><em>application_tile_vertical.png</em></td>
+ <td><img src="icons/application_view_columns.png" title="application_view_columns.png" alt="application view columns "/><em>application_view_columns.png</em></td>
+ <td><img src="icons/application_view_detail.png" title="application_view_detail.png" alt="application view detail "/><em>application_view_detail.png</em></td>
+ <td><img src="icons/application_view_gallery.png" title="application_view_gallery.png" alt="application view gallery "/><em>application_view_gallery.png</em></td>
+
+ <td><img src="icons/application_view_icons.png" title="application_view_icons.png" alt="application view icons "/><em>application_view_icons.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/application_view_list.png" title="application_view_list.png" alt="application view list "/><em>application_view_list.png</em></td>
+ <td><img src="icons/application_view_tile.png" title="application_view_tile.png" alt="application view tile "/><em>application_view_tile.png</em></td>
+ <td><img src="icons/application_xp.png" title="application_xp.png" alt="application xp "/><em>application_xp.png</em></td>
+ <td><img src="icons/application_xp_terminal.png" title="application_xp_terminal.png" alt="application xp terminal "/><em>application_xp_terminal.png</em></td>
+
+ <td><img src="icons/arrow_branch.png" title="arrow_branch.png" alt="arrow branch "/><em>arrow_branch.png</em></td>
+ <td><img src="icons/arrow_divide.png" title="arrow_divide.png" alt="arrow divide "/><em>arrow_divide.png</em></td>
+ <td><img src="icons/arrow_down.png" title="arrow_down.png" alt="arrow down "/><em>arrow_down.png</em></td>
+ <td><img src="icons/arrow_in.png" title="arrow_in.png" alt="arrow in "/><em>arrow_in.png</em></td>
+ <td><img src="icons/arrow_inout.png" title="arrow_inout.png" alt="arrow inout "/><em>arrow_inout.png</em></td>
+ <td><img src="icons/arrow_join.png" title="arrow_join.png" alt="arrow join "/><em>arrow_join.png</em></td>
+
+ <td><img src="icons/arrow_left.png" title="arrow_left.png" alt="arrow left "/><em>arrow_left.png</em></td>
+ <td><img src="icons/arrow_merge.png" title="arrow_merge.png" alt="arrow merge "/><em>arrow_merge.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/arrow_out.png" title="arrow_out.png" alt="arrow out "/><em>arrow_out.png</em></td>
+ <td><img src="icons/arrow_redo.png" title="arrow_redo.png" alt="arrow redo "/><em>arrow_redo.png</em></td>
+ <td><img src="icons/arrow_refresh.png" title="arrow_refresh.png" alt="arrow refresh "/><em>arrow_refresh.png</em></td>
+
+ <td><img src="icons/arrow_refresh_small.png" title="arrow_refresh_small.png" alt="arrow refresh small "/><em>arrow_refresh_small.png</em></td>
+ <td><img src="icons/arrow_right.png" title="arrow_right.png" alt="arrow right "/><em>arrow_right.png</em></td>
+ <td><img src="icons/arrow_rotate_anticlockwise.png" title="arrow_rotate_anticlockwise.png" alt="arrow rotate anticlockwise "/><em>arrow_rotate_anticlockwise.png</em></td>
+ <td><img src="icons/arrow_rotate_clockwise.png" title="arrow_rotate_clockwise.png" alt="arrow rotate clockwise "/><em>arrow_rotate_clockwise.png</em></td>
+ <td><img src="icons/arrow_switch.png" title="arrow_switch.png" alt="arrow switch "/><em>arrow_switch.png</em></td>
+ <td><img src="icons/arrow_turn_left.png" title="arrow_turn_left.png" alt="arrow turn left "/><em>arrow_turn_left.png</em></td>
+
+ <td><img src="icons/arrow_turn_right.png" title="arrow_turn_right.png" alt="arrow turn right "/><em>arrow_turn_right.png</em></td>
+ <td><img src="icons/arrow_undo.png" title="arrow_undo.png" alt="arrow undo "/><em>arrow_undo.png</em></td>
+ <td><img src="icons/arrow_up.png" title="arrow_up.png" alt="arrow up "/><em>arrow_up.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/asterisk_orange.png" title="asterisk_orange.png" alt="asterisk orange "/><em>asterisk_orange.png</em></td>
+ <td><img src="icons/asterisk_yellow.png" title="asterisk_yellow.png" alt="asterisk yellow "/><em>asterisk_yellow.png</em></td>
+
+ <td><img src="icons/attach.png" title="attach.png" alt="attach "/><em>attach.png</em></td>
+ <td><img src="icons/award_star_add.png" title="award_star_add.png" alt="award star add "/><em>award_star_add.png</em></td>
+ <td><img src="icons/award_star_bronze_1.png" title="award_star_bronze_1.png" alt="award star bronze 1 "/><em>award_star_bronze_1.png</em></td>
+ <td><img src="icons/award_star_bronze_2.png" title="award_star_bronze_2.png" alt="award star bronze 2 "/><em>award_star_bronze_2.png</em></td>
+ <td><img src="icons/award_star_bronze_3.png" title="award_star_bronze_3.png" alt="award star bronze 3 "/><em>award_star_bronze_3.png</em></td>
+ <td><img src="icons/award_star_delete.png" title="award_star_delete.png" alt="award star delete "/><em>award_star_delete.png</em></td>
+
+ <td><img src="icons/award_star_gold_1.png" title="award_star_gold_1.png" alt="award star gold 1 "/><em>award_star_gold_1.png</em></td>
+ <td><img src="icons/award_star_gold_2.png" title="award_star_gold_2.png" alt="award star gold 2 "/><em>award_star_gold_2.png</em></td>
+ <td><img src="icons/award_star_gold_3.png" title="award_star_gold_3.png" alt="award star gold 3 "/><em>award_star_gold_3.png</em></td>
+ <td><img src="icons/award_star_silver_1.png" title="award_star_silver_1.png" alt="award star silver 1 "/><em>award_star_silver_1.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/award_star_silver_2.png" title="award_star_silver_2.png" alt="award star silver 2 "/><em>award_star_silver_2.png</em></td>
+
+ <td><img src="icons/award_star_silver_3.png" title="award_star_silver_3.png" alt="award star silver 3 "/><em>award_star_silver_3.png</em></td>
+ <td><img src="icons/basket.png" title="basket.png" alt="basket "/><em>basket.png</em></td>
+ <td><img src="icons/basket_add.png" title="basket_add.png" alt="basket add "/><em>basket_add.png</em></td>
+ <td><img src="icons/basket_delete.png" title="basket_delete.png" alt="basket delete "/><em>basket_delete.png</em></td>
+ <td><img src="icons/basket_edit.png" title="basket_edit.png" alt="basket edit "/><em>basket_edit.png</em></td>
+ <td><img src="icons/basket_error.png" title="basket_error.png" alt="basket error "/><em>basket_error.png</em></td>
+
+ <td><img src="icons/basket_go.png" title="basket_go.png" alt="basket go "/><em>basket_go.png</em></td>
+ <td><img src="icons/basket_put.png" title="basket_put.png" alt="basket put "/><em>basket_put.png</em></td>
+ <td><img src="icons/basket_remove.png" title="basket_remove.png" alt="basket remove "/><em>basket_remove.png</em></td>
+ <td><img src="icons/bell.png" title="bell.png" alt="bell "/><em>bell.png</em></td>
+ <td><img src="icons/bell_add.png" title="bell_add.png" alt="bell add "/><em>bell_add.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/bell_delete.png" title="bell_delete.png" alt="bell delete "/><em>bell_delete.png</em></td>
+ <td><img src="icons/bell_error.png" title="bell_error.png" alt="bell error "/><em>bell_error.png</em></td>
+ <td><img src="icons/bell_go.png" title="bell_go.png" alt="bell go "/><em>bell_go.png</em></td>
+ <td><img src="icons/bell_link.png" title="bell_link.png" alt="bell link "/><em>bell_link.png</em></td>
+ <td><img src="icons/bin.png" title="bin.png" alt="bin "/><em>bin.png</em></td>
+
+ <td><img src="icons/bin_closed.png" title="bin_closed.png" alt="bin closed "/><em>bin_closed.png</em></td>
+ <td><img src="icons/bin_empty.png" title="bin_empty.png" alt="bin empty "/><em>bin_empty.png</em></td>
+ <td><img src="icons/bomb.png" title="bomb.png" alt="bomb "/><em>bomb.png</em></td>
+ <td><img src="icons/book.png" title="book.png" alt="book "/><em>book.png</em></td>
+ <td><img src="icons/book_add.png" title="book_add.png" alt="book add "/><em>book_add.png</em></td>
+ <td><img src="icons/book_addresses.png" title="book_addresses.png" alt="book addresses "/><em>book_addresses.png</em></td>
+
+ <td><img src="icons/book_delete.png" title="book_delete.png" alt="book delete "/><em>book_delete.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/book_edit.png" title="book_edit.png" alt="book edit "/><em>book_edit.png</em></td>
+ <td><img src="icons/book_error.png" title="book_error.png" alt="book error "/><em>book_error.png</em></td>
+ <td><img src="icons/book_go.png" title="book_go.png" alt="book go "/><em>book_go.png</em></td>
+ <td><img src="icons/book_key.png" title="book_key.png" alt="book key "/><em>book_key.png</em></td>
+
+ <td><img src="icons/book_link.png" title="book_link.png" alt="book link "/><em>book_link.png</em></td>
+ <td><img src="icons/book_next.png" title="book_next.png" alt="book next "/><em>book_next.png</em></td>
+ <td><img src="icons/book_open.png" title="book_open.png" alt="book open "/><em>book_open.png</em></td>
+ <td><img src="icons/book_previous.png" title="book_previous.png" alt="book previous "/><em>book_previous.png</em></td>
+ <td><img src="icons/box.png" title="box.png" alt="box "/><em>box.png</em></td>
+ <td><img src="icons/brick.png" title="brick.png" alt="brick "/><em>brick.png</em></td>
+
+ <td><img src="icons/brick_add.png" title="brick_add.png" alt="brick add "/><em>brick_add.png</em></td>
+ <td><img src="icons/brick_delete.png" title="brick_delete.png" alt="brick delete "/><em>brick_delete.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/brick_edit.png" title="brick_edit.png" alt="brick edit "/><em>brick_edit.png</em></td>
+ <td><img src="icons/brick_error.png" title="brick_error.png" alt="brick error "/><em>brick_error.png</em></td>
+ <td><img src="icons/brick_go.png" title="brick_go.png" alt="brick go "/><em>brick_go.png</em></td>
+
+ <td><img src="icons/brick_link.png" title="brick_link.png" alt="brick link "/><em>brick_link.png</em></td>
+ <td><img src="icons/bricks.png" title="bricks.png" alt="bricks "/><em>bricks.png</em></td>
+ <td><img src="icons/briefcase.png" title="briefcase.png" alt="briefcase "/><em>briefcase.png</em></td>
+ <td><img src="icons/bug.png" title="bug.png" alt="bug "/><em>bug.png</em></td>
+ <td><img src="icons/bug_add.png" title="bug_add.png" alt="bug add "/><em>bug_add.png</em></td>
+ <td><img src="icons/bug_delete.png" title="bug_delete.png" alt="bug delete "/><em>bug_delete.png</em></td>
+
+ <td><img src="icons/bug_edit.png" title="bug_edit.png" alt="bug edit "/><em>bug_edit.png</em></td>
+ <td><img src="icons/bug_error.png" title="bug_error.png" alt="bug error "/><em>bug_error.png</em></td>
+ <td><img src="icons/bug_go.png" title="bug_go.png" alt="bug go "/><em>bug_go.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/bug_link.png" title="bug_link.png" alt="bug link "/><em>bug_link.png</em></td>
+ <td><img src="icons/building.png" title="building.png" alt="building "/><em>building.png</em></td>
+
+ <td><img src="icons/building_add.png" title="building_add.png" alt="building add "/><em>building_add.png</em></td>
+ <td><img src="icons/building_delete.png" title="building_delete.png" alt="building delete "/><em>building_delete.png</em></td>
+ <td><img src="icons/building_edit.png" title="building_edit.png" alt="building edit "/><em>building_edit.png</em></td>
+ <td><img src="icons/building_error.png" title="building_error.png" alt="building error "/><em>building_error.png</em></td>
+ <td><img src="icons/building_go.png" title="building_go.png" alt="building go "/><em>building_go.png</em></td>
+ <td><img src="icons/building_key.png" title="building_key.png" alt="building key "/><em>building_key.png</em></td>
+
+ <td><img src="icons/building_link.png" title="building_link.png" alt="building link "/><em>building_link.png</em></td>
+ <td><img src="icons/bullet_add.png" title="bullet_add.png" alt="bullet add "/><em>bullet_add.png</em></td>
+ <td><img src="icons/bullet_arrow_bottom.png" title="bullet_arrow_bottom.png" alt="bullet arrow bottom "/><em>bullet_arrow_bottom.png</em></td>
+ <td><img src="icons/bullet_arrow_down.png" title="bullet_arrow_down.png" alt="bullet arrow down "/><em>bullet_arrow_down.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/bullet_arrow_top.png" title="bullet_arrow_top.png" alt="bullet arrow top "/><em>bullet_arrow_top.png</em></td>
+
+ <td><img src="icons/bullet_arrow_up.png" title="bullet_arrow_up.png" alt="bullet arrow up "/><em>bullet_arrow_up.png</em></td>
+ <td><img src="icons/bullet_black.png" title="bullet_black.png" alt="bullet black "/><em>bullet_black.png</em></td>
+ <td><img src="icons/bullet_blue.png" title="bullet_blue.png" alt="bullet blue "/><em>bullet_blue.png</em></td>
+ <td><img src="icons/bullet_delete.png" title="bullet_delete.png" alt="bullet delete "/><em>bullet_delete.png</em></td>
+ <td><img src="icons/bullet_disk.png" title="bullet_disk.png" alt="bullet disk "/><em>bullet_disk.png</em></td>
+ <td><img src="icons/bullet_error.png" title="bullet_error.png" alt="bullet error "/><em>bullet_error.png</em></td>
+
+ <td><img src="icons/bullet_feed.png" title="bullet_feed.png" alt="bullet feed "/><em>bullet_feed.png</em></td>
+ <td><img src="icons/bullet_go.png" title="bullet_go.png" alt="bullet go "/><em>bullet_go.png</em></td>
+ <td><img src="icons/bullet_green.png" title="bullet_green.png" alt="bullet green "/><em>bullet_green.png</em></td>
+ <td><img src="icons/bullet_key.png" title="bullet_key.png" alt="bullet key "/><em>bullet_key.png</em></td>
+ <td><img src="icons/bullet_orange.png" title="bullet_orange.png" alt="bullet orange "/><em>bullet_orange.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/bullet_picture.png" title="bullet_picture.png" alt="bullet picture "/><em>bullet_picture.png</em></td>
+ <td><img src="icons/bullet_pink.png" title="bullet_pink.png" alt="bullet pink "/><em>bullet_pink.png</em></td>
+ <td><img src="icons/bullet_purple.png" title="bullet_purple.png" alt="bullet purple "/><em>bullet_purple.png</em></td>
+ <td><img src="icons/bullet_red.png" title="bullet_red.png" alt="bullet red "/><em>bullet_red.png</em></td>
+ <td><img src="icons/bullet_star.png" title="bullet_star.png" alt="bullet star "/><em>bullet_star.png</em></td>
+
+ <td><img src="icons/bullet_toggle_minus.png" title="bullet_toggle_minus.png" alt="bullet toggle minus "/><em>bullet_toggle_minus.png</em></td>
+ <td><img src="icons/bullet_toggle_plus.png" title="bullet_toggle_plus.png" alt="bullet toggle plus "/><em>bullet_toggle_plus.png</em></td>
+ <td><img src="icons/bullet_white.png" title="bullet_white.png" alt="bullet white "/><em>bullet_white.png</em></td>
+ <td><img src="icons/bullet_wrench.png" title="bullet_wrench.png" alt="bullet wrench "/><em>bullet_wrench.png</em></td>
+ <td><img src="icons/bullet_yellow.png" title="bullet_yellow.png" alt="bullet yellow "/><em>bullet_yellow.png</em></td>
+ <td><img src="icons/cake.png" title="cake.png" alt="cake "/><em>cake.png</em></td>
+
+ <td><img src="icons/calculator.png" title="calculator.png" alt="calculator "/><em>calculator.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/calculator_add.png" title="calculator_add.png" alt="calculator add "/><em>calculator_add.png</em></td>
+ <td><img src="icons/calculator_delete.png" title="calculator_delete.png" alt="calculator delete "/><em>calculator_delete.png</em></td>
+ <td><img src="icons/calculator_edit.png" title="calculator_edit.png" alt="calculator edit "/><em>calculator_edit.png</em></td>
+ <td><img src="icons/calculator_error.png" title="calculator_error.png" alt="calculator error "/><em>calculator_error.png</em></td>
+
+ <td><img src="icons/calculator_link.png" title="calculator_link.png" alt="calculator link "/><em>calculator_link.png</em></td>
+ <td><img src="icons/calendar.png" title="calendar.png" alt="calendar "/><em>calendar.png</em></td>
+ <td><img src="icons/calendar_add.png" title="calendar_add.png" alt="calendar add "/><em>calendar_add.png</em></td>
+ <td><img src="icons/calendar_delete.png" title="calendar_delete.png" alt="calendar delete "/><em>calendar_delete.png</em></td>
+ <td><img src="icons/calendar_edit.png" title="calendar_edit.png" alt="calendar edit "/><em>calendar_edit.png</em></td>
+ <td><img src="icons/calendar_link.png" title="calendar_link.png" alt="calendar link "/><em>calendar_link.png</em></td>
+
+ <td><img src="icons/calendar_view_day.png" title="calendar_view_day.png" alt="calendar view day "/><em>calendar_view_day.png</em></td>
+ <td><img src="icons/calendar_view_month.png" title="calendar_view_month.png" alt="calendar view month "/><em>calendar_view_month.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/calendar_view_week.png" title="calendar_view_week.png" alt="calendar view week "/><em>calendar_view_week.png</em></td>
+ <td><img src="icons/camera.png" title="camera.png" alt="camera "/><em>camera.png</em></td>
+ <td><img src="icons/camera_add.png" title="camera_add.png" alt="camera add "/><em>camera_add.png</em></td>
+
+ <td><img src="icons/camera_delete.png" title="camera_delete.png" alt="camera delete "/><em>camera_delete.png</em></td>
+ <td><img src="icons/camera_edit.png" title="camera_edit.png" alt="camera edit "/><em>camera_edit.png</em></td>
+ <td><img src="icons/camera_error.png" title="camera_error.png" alt="camera error "/><em>camera_error.png</em></td>
+ <td><img src="icons/camera_go.png" title="camera_go.png" alt="camera go "/><em>camera_go.png</em></td>
+ <td><img src="icons/camera_link.png" title="camera_link.png" alt="camera link "/><em>camera_link.png</em></td>
+ <td><img src="icons/camera_small.png" title="camera_small.png" alt="camera small "/><em>camera_small.png</em></td>
+
+ <td><img src="icons/cancel.png" title="cancel.png" alt="cancel "/><em>cancel.png</em></td>
+ <td><img src="icons/car.png" title="car.png" alt="car "/><em>car.png</em></td>
+ <td><img src="icons/car_add.png" title="car_add.png" alt="car add "/><em>car_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/car_delete.png" title="car_delete.png" alt="car delete "/><em>car_delete.png</em></td>
+ <td><img src="icons/cart.png" title="cart.png" alt="cart "/><em>cart.png</em></td>
+
+ <td><img src="icons/cart_add.png" title="cart_add.png" alt="cart add "/><em>cart_add.png</em></td>
+ <td><img src="icons/cart_delete.png" title="cart_delete.png" alt="cart delete "/><em>cart_delete.png</em></td>
+ <td><img src="icons/cart_edit.png" title="cart_edit.png" alt="cart edit "/><em>cart_edit.png</em></td>
+ <td><img src="icons/cart_error.png" title="cart_error.png" alt="cart error "/><em>cart_error.png</em></td>
+ <td><img src="icons/cart_go.png" title="cart_go.png" alt="cart go "/><em>cart_go.png</em></td>
+ <td><img src="icons/cart_put.png" title="cart_put.png" alt="cart put "/><em>cart_put.png</em></td>
+
+ <td><img src="icons/cart_remove.png" title="cart_remove.png" alt="cart remove "/><em>cart_remove.png</em></td>
+ <td><img src="icons/cd.png" title="cd.png" alt="cd "/><em>cd.png</em></td>
+ <td><img src="icons/cd_add.png" title="cd_add.png" alt="cd add "/><em>cd_add.png</em></td>
+ <td><img src="icons/cd_burn.png" title="cd_burn.png" alt="cd burn "/><em>cd_burn.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/cd_delete.png" title="cd_delete.png" alt="cd delete "/><em>cd_delete.png</em></td>
+
+ <td><img src="icons/cd_edit.png" title="cd_edit.png" alt="cd edit "/><em>cd_edit.png</em></td>
+ <td><img src="icons/cd_eject.png" title="cd_eject.png" alt="cd eject "/><em>cd_eject.png</em></td>
+ <td><img src="icons/cd_go.png" title="cd_go.png" alt="cd go "/><em>cd_go.png</em></td>
+ <td><img src="icons/chart_bar.png" title="chart_bar.png" alt="chart bar "/><em>chart_bar.png</em></td>
+ <td><img src="icons/chart_bar_add.png" title="chart_bar_add.png" alt="chart bar add "/><em>chart_bar_add.png</em></td>
+ <td><img src="icons/chart_bar_delete.png" title="chart_bar_delete.png" alt="chart bar delete "/><em>chart_bar_delete.png</em></td>
+
+ <td><img src="icons/chart_bar_edit.png" title="chart_bar_edit.png" alt="chart bar edit "/><em>chart_bar_edit.png</em></td>
+ <td><img src="icons/chart_bar_error.png" title="chart_bar_error.png" alt="chart bar error "/><em>chart_bar_error.png</em></td>
+ <td><img src="icons/chart_bar_link.png" title="chart_bar_link.png" alt="chart bar link "/><em>chart_bar_link.png</em></td>
+ <td><img src="icons/chart_curve.png" title="chart_curve.png" alt="chart curve "/><em>chart_curve.png</em></td>
+ <td><img src="icons/chart_curve_add.png" title="chart_curve_add.png" alt="chart curve add "/><em>chart_curve_add.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/chart_curve_delete.png" title="chart_curve_delete.png" alt="chart curve delete "/><em>chart_curve_delete.png</em></td>
+ <td><img src="icons/chart_curve_edit.png" title="chart_curve_edit.png" alt="chart curve edit "/><em>chart_curve_edit.png</em></td>
+ <td><img src="icons/chart_curve_error.png" title="chart_curve_error.png" alt="chart curve error "/><em>chart_curve_error.png</em></td>
+ <td><img src="icons/chart_curve_go.png" title="chart_curve_go.png" alt="chart curve go "/><em>chart_curve_go.png</em></td>
+ <td><img src="icons/chart_curve_link.png" title="chart_curve_link.png" alt="chart curve link "/><em>chart_curve_link.png</em></td>
+
+ <td><img src="icons/chart_line.png" title="chart_line.png" alt="chart line "/><em>chart_line.png</em></td>
+ <td><img src="icons/chart_line_add.png" title="chart_line_add.png" alt="chart line add "/><em>chart_line_add.png</em></td>
+ <td><img src="icons/chart_line_delete.png" title="chart_line_delete.png" alt="chart line delete "/><em>chart_line_delete.png</em></td>
+ <td><img src="icons/chart_line_edit.png" title="chart_line_edit.png" alt="chart line edit "/><em>chart_line_edit.png</em></td>
+ <td><img src="icons/chart_line_error.png" title="chart_line_error.png" alt="chart line error "/><em>chart_line_error.png</em></td>
+ <td><img src="icons/chart_line_link.png" title="chart_line_link.png" alt="chart line link "/><em>chart_line_link.png</em></td>
+
+ <td><img src="icons/chart_organisation.png" title="chart_organisation.png" alt="chart organisation "/><em>chart_organisation.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/chart_organisation_add.png" title="chart_organisation_add.png" alt="chart organisation add "/><em>chart_organisation_add.png</em></td>
+ <td><img src="icons/chart_organisation_delete.png" title="chart_organisation_delete.png" alt="chart organisation delete "/><em>chart_organisation_delete.png</em></td>
+ <td><img src="icons/chart_pie.png" title="chart_pie.png" alt="chart pie "/><em>chart_pie.png</em></td>
+ <td><img src="icons/chart_pie_add.png" title="chart_pie_add.png" alt="chart pie add "/><em>chart_pie_add.png</em></td>
+
+ <td><img src="icons/chart_pie_delete.png" title="chart_pie_delete.png" alt="chart pie delete "/><em>chart_pie_delete.png</em></td>
+ <td><img src="icons/chart_pie_edit.png" title="chart_pie_edit.png" alt="chart pie edit "/><em>chart_pie_edit.png</em></td>
+ <td><img src="icons/chart_pie_error.png" title="chart_pie_error.png" alt="chart pie error "/><em>chart_pie_error.png</em></td>
+ <td><img src="icons/chart_pie_link.png" title="chart_pie_link.png" alt="chart pie link "/><em>chart_pie_link.png</em></td>
+ <td><img src="icons/clock.png" title="clock.png" alt="clock "/><em>clock.png</em></td>
+ <td><img src="icons/clock_add.png" title="clock_add.png" alt="clock add "/><em>clock_add.png</em></td>
+
+ <td><img src="icons/clock_delete.png" title="clock_delete.png" alt="clock delete "/><em>clock_delete.png</em></td>
+ <td><img src="icons/clock_edit.png" title="clock_edit.png" alt="clock edit "/><em>clock_edit.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/clock_error.png" title="clock_error.png" alt="clock error "/><em>clock_error.png</em></td>
+ <td><img src="icons/clock_go.png" title="clock_go.png" alt="clock go "/><em>clock_go.png</em></td>
+ <td><img src="icons/clock_link.png" title="clock_link.png" alt="clock link "/><em>clock_link.png</em></td>
+
+ <td><img src="icons/clock_pause.png" title="clock_pause.png" alt="clock pause "/><em>clock_pause.png</em></td>
+ <td><img src="icons/clock_play.png" title="clock_play.png" alt="clock play "/><em>clock_play.png</em></td>
+ <td><img src="icons/clock_red.png" title="clock_red.png" alt="clock red "/><em>clock_red.png</em></td>
+ <td><img src="icons/clock_stop.png" title="clock_stop.png" alt="clock stop "/><em>clock_stop.png</em></td>
+ <td><img src="icons/cog.png" title="cog.png" alt="cog "/><em>cog.png</em></td>
+ <td><img src="icons/cog_add.png" title="cog_add.png" alt="cog add "/><em>cog_add.png</em></td>
+
+ <td><img src="icons/cog_delete.png" title="cog_delete.png" alt="cog delete "/><em>cog_delete.png</em></td>
+ <td><img src="icons/cog_edit.png" title="cog_edit.png" alt="cog edit "/><em>cog_edit.png</em></td>
+ <td><img src="icons/cog_error.png" title="cog_error.png" alt="cog error "/><em>cog_error.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/cog_go.png" title="cog_go.png" alt="cog go "/><em>cog_go.png</em></td>
+ <td><img src="icons/coins.png" title="coins.png" alt="coins "/><em>coins.png</em></td>
+
+ <td><img src="icons/coins_add.png" title="coins_add.png" alt="coins add "/><em>coins_add.png</em></td>
+ <td><img src="icons/coins_delete.png" title="coins_delete.png" alt="coins delete "/><em>coins_delete.png</em></td>
+ <td><img src="icons/color_swatch.png" title="color_swatch.png" alt="color swatch "/><em>color_swatch.png</em></td>
+ <td><img src="icons/color_wheel.png" title="color_wheel.png" alt="color wheel "/><em>color_wheel.png</em></td>
+ <td><img src="icons/comment.png" title="comment.png" alt="comment "/><em>comment.png</em></td>
+ <td><img src="icons/comment_add.png" title="comment_add.png" alt="comment add "/><em>comment_add.png</em></td>
+
+ <td><img src="icons/comment_delete.png" title="comment_delete.png" alt="comment delete "/><em>comment_delete.png</em></td>
+ <td><img src="icons/comment_edit.png" title="comment_edit.png" alt="comment edit "/><em>comment_edit.png</em></td>
+ <td><img src="icons/comments.png" title="comments.png" alt="comments "/><em>comments.png</em></td>
+ <td><img src="icons/comments_add.png" title="comments_add.png" alt="comments add "/><em>comments_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/comments_delete.png" title="comments_delete.png" alt="comments delete "/><em>comments_delete.png</em></td>
+
+ <td><img src="icons/compress.png" title="compress.png" alt="compress "/><em>compress.png</em></td>
+ <td><img src="icons/computer.png" title="computer.png" alt="computer "/><em>computer.png</em></td>
+ <td><img src="icons/computer_add.png" title="computer_add.png" alt="computer add "/><em>computer_add.png</em></td>
+ <td><img src="icons/computer_delete.png" title="computer_delete.png" alt="computer delete "/><em>computer_delete.png</em></td>
+ <td><img src="icons/computer_edit.png" title="computer_edit.png" alt="computer edit "/><em>computer_edit.png</em></td>
+ <td><img src="icons/computer_error.png" title="computer_error.png" alt="computer error "/><em>computer_error.png</em></td>
+
+ <td><img src="icons/computer_go.png" title="computer_go.png" alt="computer go "/><em>computer_go.png</em></td>
+ <td><img src="icons/computer_key.png" title="computer_key.png" alt="computer key "/><em>computer_key.png</em></td>
+ <td><img src="icons/computer_link.png" title="computer_link.png" alt="computer link "/><em>computer_link.png</em></td>
+ <td><img src="icons/connect.png" title="connect.png" alt="connect "/><em>connect.png</em></td>
+ <td><img src="icons/contrast.png" title="contrast.png" alt="contrast "/><em>contrast.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/contrast_decrease.png" title="contrast_decrease.png" alt="contrast decrease "/><em>contrast_decrease.png</em></td>
+ <td><img src="icons/contrast_high.png" title="contrast_high.png" alt="contrast high "/><em>contrast_high.png</em></td>
+ <td><img src="icons/contrast_increase.png" title="contrast_increase.png" alt="contrast increase "/><em>contrast_increase.png</em></td>
+ <td><img src="icons/contrast_low.png" title="contrast_low.png" alt="contrast low "/><em>contrast_low.png</em></td>
+ <td><img src="icons/control_eject.png" title="control_eject.png" alt="control eject "/><em>control_eject.png</em></td>
+
+ <td><img src="icons/control_eject_blue.png" title="control_eject_blue.png" alt="control eject blue "/><em>control_eject_blue.png</em></td>
+ <td><img src="icons/control_end.png" title="control_end.png" alt="control end "/><em>control_end.png</em></td>
+ <td><img src="icons/control_end_blue.png" title="control_end_blue.png" alt="control end blue "/><em>control_end_blue.png</em></td>
+ <td><img src="icons/control_equalizer.png" title="control_equalizer.png" alt="control equalizer "/><em>control_equalizer.png</em></td>
+ <td><img src="icons/control_equalizer_blue.png" title="control_equalizer_blue.png" alt="control equalizer blue "/><em>control_equalizer_blue.png</em></td>
+ <td><img src="icons/control_fastforward.png" title="control_fastforward.png" alt="control fastforward "/><em>control_fastforward.png</em></td>
+
+ <td><img src="icons/control_fastforward_blue.png" title="control_fastforward_blue.png" alt="control fastforward blue "/><em>control_fastforward_blue.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/control_pause.png" title="control_pause.png" alt="control pause "/><em>control_pause.png</em></td>
+ <td><img src="icons/control_pause_blue.png" title="control_pause_blue.png" alt="control pause blue "/><em>control_pause_blue.png</em></td>
+ <td><img src="icons/control_play.png" title="control_play.png" alt="control play "/><em>control_play.png</em></td>
+ <td><img src="icons/control_play_blue.png" title="control_play_blue.png" alt="control play blue "/><em>control_play_blue.png</em></td>
+
+ <td><img src="icons/control_repeat.png" title="control_repeat.png" alt="control repeat "/><em>control_repeat.png</em></td>
+ <td><img src="icons/control_repeat_blue.png" title="control_repeat_blue.png" alt="control repeat blue "/><em>control_repeat_blue.png</em></td>
+ <td><img src="icons/control_rewind.png" title="control_rewind.png" alt="control rewind "/><em>control_rewind.png</em></td>
+ <td><img src="icons/control_rewind_blue.png" title="control_rewind_blue.png" alt="control rewind blue "/><em>control_rewind_blue.png</em></td>
+ <td><img src="icons/control_start.png" title="control_start.png" alt="control start "/><em>control_start.png</em></td>
+ <td><img src="icons/control_start_blue.png" title="control_start_blue.png" alt="control start blue "/><em>control_start_blue.png</em></td>
+
+ <td><img src="icons/control_stop.png" title="control_stop.png" alt="control stop "/><em>control_stop.png</em></td>
+ <td><img src="icons/control_stop_blue.png" title="control_stop_blue.png" alt="control stop blue "/><em>control_stop_blue.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/controller.png" title="controller.png" alt="controller "/><em>controller.png</em></td>
+ <td><img src="icons/controller_add.png" title="controller_add.png" alt="controller add "/><em>controller_add.png</em></td>
+ <td><img src="icons/controller_delete.png" title="controller_delete.png" alt="controller delete "/><em>controller_delete.png</em></td>
+
+ <td><img src="icons/controller_error.png" title="controller_error.png" alt="controller error "/><em>controller_error.png</em></td>
+ <td><img src="icons/creditcards.png" title="creditcards.png" alt="creditcards "/><em>creditcards.png</em></td>
+ <td><img src="icons/cross.png" title="cross.png" alt="cross "/><em>cross.png</em></td>
+ <td><img src="icons/css.png" title="css.png" alt="css "/><em>css.png</em></td>
+ <td><img src="icons/css_add.png" title="css_add.png" alt="css add "/><em>css_add.png</em></td>
+ <td><img src="icons/css_delete.png" title="css_delete.png" alt="css delete "/><em>css_delete.png</em></td>
+
+ <td><img src="icons/css_go.png" title="css_go.png" alt="css go "/><em>css_go.png</em></td>
+ <td><img src="icons/css_valid.png" title="css_valid.png" alt="css valid "/><em>css_valid.png</em></td>
+ <td><img src="icons/cup.png" title="cup.png" alt="cup "/><em>cup.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/cup_add.png" title="cup_add.png" alt="cup add "/><em>cup_add.png</em></td>
+ <td><img src="icons/cup_delete.png" title="cup_delete.png" alt="cup delete "/><em>cup_delete.png</em></td>
+
+ <td><img src="icons/cup_edit.png" title="cup_edit.png" alt="cup edit "/><em>cup_edit.png</em></td>
+ <td><img src="icons/cup_error.png" title="cup_error.png" alt="cup error "/><em>cup_error.png</em></td>
+ <td><img src="icons/cup_go.png" title="cup_go.png" alt="cup go "/><em>cup_go.png</em></td>
+ <td><img src="icons/cup_key.png" title="cup_key.png" alt="cup key "/><em>cup_key.png</em></td>
+ <td><img src="icons/cup_link.png" title="cup_link.png" alt="cup link "/><em>cup_link.png</em></td>
+ <td><img src="icons/cursor.png" title="cursor.png" alt="cursor "/><em>cursor.png</em></td>
+
+ <td><img src="icons/cut.png" title="cut.png" alt="cut "/><em>cut.png</em></td>
+ <td><img src="icons/cut_red.png" title="cut_red.png" alt="cut red "/><em>cut_red.png</em></td>
+ <td><img src="icons/database.png" title="database.png" alt="database "/><em>database.png</em></td>
+ <td><img src="icons/database_add.png" title="database_add.png" alt="database add "/><em>database_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/database_connect.png" title="database_connect.png" alt="database connect "/><em>database_connect.png</em></td>
+
+ <td><img src="icons/database_delete.png" title="database_delete.png" alt="database delete "/><em>database_delete.png</em></td>
+ <td><img src="icons/database_edit.png" title="database_edit.png" alt="database edit "/><em>database_edit.png</em></td>
+ <td><img src="icons/database_error.png" title="database_error.png" alt="database error "/><em>database_error.png</em></td>
+ <td><img src="icons/database_gear.png" title="database_gear.png" alt="database gear "/><em>database_gear.png</em></td>
+ <td><img src="icons/database_go.png" title="database_go.png" alt="database go "/><em>database_go.png</em></td>
+ <td><img src="icons/database_key.png" title="database_key.png" alt="database key "/><em>database_key.png</em></td>
+
+ <td><img src="icons/database_lightning.png" title="database_lightning.png" alt="database lightning "/><em>database_lightning.png</em></td>
+ <td><img src="icons/database_link.png" title="database_link.png" alt="database link "/><em>database_link.png</em></td>
+ <td><img src="icons/database_refresh.png" title="database_refresh.png" alt="database refresh "/><em>database_refresh.png</em></td>
+ <td><img src="icons/database_save.png" title="database_save.png" alt="database save "/><em>database_save.png</em></td>
+ <td><img src="icons/database_table.png" title="database_table.png" alt="database table "/><em>database_table.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/date.png" title="date.png" alt="date "/><em>date.png</em></td>
+ <td><img src="icons/date_add.png" title="date_add.png" alt="date add "/><em>date_add.png</em></td>
+ <td><img src="icons/date_delete.png" title="date_delete.png" alt="date delete "/><em>date_delete.png</em></td>
+ <td><img src="icons/date_edit.png" title="date_edit.png" alt="date edit "/><em>date_edit.png</em></td>
+ <td><img src="icons/date_error.png" title="date_error.png" alt="date error "/><em>date_error.png</em></td>
+
+ <td><img src="icons/date_go.png" title="date_go.png" alt="date go "/><em>date_go.png</em></td>
+ <td><img src="icons/date_link.png" title="date_link.png" alt="date link "/><em>date_link.png</em></td>
+ <td><img src="icons/date_magnify.png" title="date_magnify.png" alt="date magnify "/><em>date_magnify.png</em></td>
+ <td><img src="icons/date_next.png" title="date_next.png" alt="date next "/><em>date_next.png</em></td>
+ <td><img src="icons/date_previous.png" title="date_previous.png" alt="date previous "/><em>date_previous.png</em></td>
+ <td><img src="icons/delete.png" title="delete.png" alt="delete "/><em>delete.png</em></td>
+
+ <td><img src="icons/disconnect.png" title="disconnect.png" alt="disconnect "/><em>disconnect.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/disk.png" title="disk.png" alt="disk "/><em>disk.png</em></td>
+ <td><img src="icons/disk_multiple.png" title="disk_multiple.png" alt="disk multiple "/><em>disk_multiple.png</em></td>
+ <td><img src="icons/door.png" title="door.png" alt="door "/><em>door.png</em></td>
+ <td><img src="icons/door_in.png" title="door_in.png" alt="door in "/><em>door_in.png</em></td>
+
+ <td><img src="icons/door_open.png" title="door_open.png" alt="door open "/><em>door_open.png</em></td>
+ <td><img src="icons/door_out.png" title="door_out.png" alt="door out "/><em>door_out.png</em></td>
+ <td><img src="icons/drink.png" title="drink.png" alt="drink "/><em>drink.png</em></td>
+ <td><img src="icons/drink_empty.png" title="drink_empty.png" alt="drink empty "/><em>drink_empty.png</em></td>
+ <td><img src="icons/drive.png" title="drive.png" alt="drive "/><em>drive.png</em></td>
+ <td><img src="icons/drive_add.png" title="drive_add.png" alt="drive add "/><em>drive_add.png</em></td>
+
+ <td><img src="icons/drive_burn.png" title="drive_burn.png" alt="drive burn "/><em>drive_burn.png</em></td>
+ <td><img src="icons/drive_cd.png" title="drive_cd.png" alt="drive cd "/><em>drive_cd.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/drive_cd_empty.png" title="drive_cd_empty.png" alt="drive cd empty "/><em>drive_cd_empty.png</em></td>
+ <td><img src="icons/drive_delete.png" title="drive_delete.png" alt="drive delete "/><em>drive_delete.png</em></td>
+ <td><img src="icons/drive_disk.png" title="drive_disk.png" alt="drive disk "/><em>drive_disk.png</em></td>
+
+ <td><img src="icons/drive_edit.png" title="drive_edit.png" alt="drive edit "/><em>drive_edit.png</em></td>
+ <td><img src="icons/drive_error.png" title="drive_error.png" alt="drive error "/><em>drive_error.png</em></td>
+ <td><img src="icons/drive_go.png" title="drive_go.png" alt="drive go "/><em>drive_go.png</em></td>
+ <td><img src="icons/drive_key.png" title="drive_key.png" alt="drive key "/><em>drive_key.png</em></td>
+ <td><img src="icons/drive_link.png" title="drive_link.png" alt="drive link "/><em>drive_link.png</em></td>
+ <td><img src="icons/drive_magnify.png" title="drive_magnify.png" alt="drive magnify "/><em>drive_magnify.png</em></td>
+
+ <td><img src="icons/drive_network.png" title="drive_network.png" alt="drive network "/><em>drive_network.png</em></td>
+ <td><img src="icons/drive_rename.png" title="drive_rename.png" alt="drive rename "/><em>drive_rename.png</em></td>
+ <td><img src="icons/drive_user.png" title="drive_user.png" alt="drive user "/><em>drive_user.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/drive_web.png" title="drive_web.png" alt="drive web "/><em>drive_web.png</em></td>
+ <td><img src="icons/dvd.png" title="dvd.png" alt="dvd "/><em>dvd.png</em></td>
+
+ <td><img src="icons/dvd_add.png" title="dvd_add.png" alt="dvd add "/><em>dvd_add.png</em></td>
+ <td><img src="icons/dvd_delete.png" title="dvd_delete.png" alt="dvd delete "/><em>dvd_delete.png</em></td>
+ <td><img src="icons/dvd_edit.png" title="dvd_edit.png" alt="dvd edit "/><em>dvd_edit.png</em></td>
+ <td><img src="icons/dvd_error.png" title="dvd_error.png" alt="dvd error "/><em>dvd_error.png</em></td>
+ <td><img src="icons/dvd_go.png" title="dvd_go.png" alt="dvd go "/><em>dvd_go.png</em></td>
+ <td><img src="icons/dvd_key.png" title="dvd_key.png" alt="dvd key "/><em>dvd_key.png</em></td>
+
+ <td><img src="icons/dvd_link.png" title="dvd_link.png" alt="dvd link "/><em>dvd_link.png</em></td>
+ <td><img src="icons/email.png" title="email.png" alt="email "/><em>email.png</em></td>
+ <td><img src="icons/email_add.png" title="email_add.png" alt="email add "/><em>email_add.png</em></td>
+ <td><img src="icons/email_attach.png" title="email_attach.png" alt="email attach "/><em>email_attach.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/email_delete.png" title="email_delete.png" alt="email delete "/><em>email_delete.png</em></td>
+
+ <td><img src="icons/email_edit.png" title="email_edit.png" alt="email edit "/><em>email_edit.png</em></td>
+ <td><img src="icons/email_error.png" title="email_error.png" alt="email error "/><em>email_error.png</em></td>
+ <td><img src="icons/email_go.png" title="email_go.png" alt="email go "/><em>email_go.png</em></td>
+ <td><img src="icons/email_link.png" title="email_link.png" alt="email link "/><em>email_link.png</em></td>
+ <td><img src="icons/email_open.png" title="email_open.png" alt="email open "/><em>email_open.png</em></td>
+ <td><img src="icons/email_open_image.png" title="email_open_image.png" alt="email open image "/><em>email_open_image.png</em></td>
+
+ <td><img src="icons/emoticon_evilgrin.png" title="emoticon_evilgrin.png" alt="emoticon evilgrin "/><em>emoticon_evilgrin.png</em></td>
+ <td><img src="icons/emoticon_grin.png" title="emoticon_grin.png" alt="emoticon grin "/><em>emoticon_grin.png</em></td>
+ <td><img src="icons/emoticon_happy.png" title="emoticon_happy.png" alt="emoticon happy "/><em>emoticon_happy.png</em></td>
+ <td><img src="icons/emoticon_smile.png" title="emoticon_smile.png" alt="emoticon smile "/><em>emoticon_smile.png</em></td>
+ <td><img src="icons/emoticon_surprised.png" title="emoticon_surprised.png" alt="emoticon surprised "/><em>emoticon_surprised.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/emoticon_tongue.png" title="emoticon_tongue.png" alt="emoticon tongue "/><em>emoticon_tongue.png</em></td>
+ <td><img src="icons/emoticon_unhappy.png" title="emoticon_unhappy.png" alt="emoticon unhappy "/><em>emoticon_unhappy.png</em></td>
+ <td><img src="icons/emoticon_waii.png" title="emoticon_waii.png" alt="emoticon waii "/><em>emoticon_waii.png</em></td>
+ <td><img src="icons/emoticon_wink.png" title="emoticon_wink.png" alt="emoticon wink "/><em>emoticon_wink.png</em></td>
+ <td><img src="icons/error.png" title="error.png" alt="error "/><em>error.png</em></td>
+
+ <td><img src="icons/error_add.png" title="error_add.png" alt="error add "/><em>error_add.png</em></td>
+ <td><img src="icons/error_delete.png" title="error_delete.png" alt="error delete "/><em>error_delete.png</em></td>
+ <td><img src="icons/error_go.png" title="error_go.png" alt="error go "/><em>error_go.png</em></td>
+ <td><img src="icons/exclamation.png" title="exclamation.png" alt="exclamation "/><em>exclamation.png</em></td>
+ <td><img src="icons/eye.png" title="eye.png" alt="eye "/><em>eye.png</em></td>
+ <td><img src="icons/feed.png" title="feed.png" alt="feed "/><em>feed.png</em></td>
+
+ <td><img src="icons/feed_add.png" title="feed_add.png" alt="feed add "/><em>feed_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/feed_delete.png" title="feed_delete.png" alt="feed delete "/><em>feed_delete.png</em></td>
+ <td><img src="icons/feed_disk.png" title="feed_disk.png" alt="feed disk "/><em>feed_disk.png</em></td>
+ <td><img src="icons/feed_edit.png" title="feed_edit.png" alt="feed edit "/><em>feed_edit.png</em></td>
+ <td><img src="icons/feed_error.png" title="feed_error.png" alt="feed error "/><em>feed_error.png</em></td>
+
+ <td><img src="icons/feed_go.png" title="feed_go.png" alt="feed go "/><em>feed_go.png</em></td>
+ <td><img src="icons/feed_key.png" title="feed_key.png" alt="feed key "/><em>feed_key.png</em></td>
+ <td><img src="icons/feed_link.png" title="feed_link.png" alt="feed link "/><em>feed_link.png</em></td>
+ <td><img src="icons/feed_magnify.png" title="feed_magnify.png" alt="feed magnify "/><em>feed_magnify.png</em></td>
+ <td><img src="icons/female.png" title="female.png" alt="female "/><em>female.png</em></td>
+ <td><img src="icons/film.png" title="film.png" alt="film "/><em>film.png</em></td>
+
+ <td><img src="icons/film_add.png" title="film_add.png" alt="film add "/><em>film_add.png</em></td>
+ <td><img src="icons/film_delete.png" title="film_delete.png" alt="film delete "/><em>film_delete.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/film_edit.png" title="film_edit.png" alt="film edit "/><em>film_edit.png</em></td>
+ <td><img src="icons/film_error.png" title="film_error.png" alt="film error "/><em>film_error.png</em></td>
+ <td><img src="icons/film_go.png" title="film_go.png" alt="film go "/><em>film_go.png</em></td>
+
+ <td><img src="icons/film_key.png" title="film_key.png" alt="film key "/><em>film_key.png</em></td>
+ <td><img src="icons/film_link.png" title="film_link.png" alt="film link "/><em>film_link.png</em></td>
+ <td><img src="icons/film_save.png" title="film_save.png" alt="film save "/><em>film_save.png</em></td>
+ <td><img src="icons/find.png" title="find.png" alt="find "/><em>find.png</em></td>
+ <td><img src="icons/flag_blue.png" title="flag_blue.png" alt="flag blue "/><em>flag_blue.png</em></td>
+ <td><img src="icons/flag_green.png" title="flag_green.png" alt="flag green "/><em>flag_green.png</em></td>
+
+ <td><img src="icons/flag_orange.png" title="flag_orange.png" alt="flag orange "/><em>flag_orange.png</em></td>
+ <td><img src="icons/flag_pink.png" title="flag_pink.png" alt="flag pink "/><em>flag_pink.png</em></td>
+ <td><img src="icons/flag_purple.png" title="flag_purple.png" alt="flag purple "/><em>flag_purple.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/flag_red.png" title="flag_red.png" alt="flag red "/><em>flag_red.png</em></td>
+ <td><img src="icons/flag_yellow.png" title="flag_yellow.png" alt="flag yellow "/><em>flag_yellow.png</em></td>
+
+ <td><img src="icons/folder.png" title="folder.png" alt="folder "/><em>folder.png</em></td>
+ <td><img src="icons/folder_add.png" title="folder_add.png" alt="folder add "/><em>folder_add.png</em></td>
+ <td><img src="icons/folder_bell.png" title="folder_bell.png" alt="folder bell "/><em>folder_bell.png</em></td>
+ <td><img src="icons/folder_brick.png" title="folder_brick.png" alt="folder brick "/><em>folder_brick.png</em></td>
+ <td><img src="icons/folder_bug.png" title="folder_bug.png" alt="folder bug "/><em>folder_bug.png</em></td>
+ <td><img src="icons/folder_camera.png" title="folder_camera.png" alt="folder camera "/><em>folder_camera.png</em></td>
+
+ <td><img src="icons/folder_database.png" title="folder_database.png" alt="folder database "/><em>folder_database.png</em></td>
+ <td><img src="icons/folder_delete.png" title="folder_delete.png" alt="folder delete "/><em>folder_delete.png</em></td>
+ <td><img src="icons/folder_edit.png" title="folder_edit.png" alt="folder edit "/><em>folder_edit.png</em></td>
+ <td><img src="icons/folder_error.png" title="folder_error.png" alt="folder error "/><em>folder_error.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/folder_explore.png" title="folder_explore.png" alt="folder explore "/><em>folder_explore.png</em></td>
+
+ <td><img src="icons/folder_feed.png" title="folder_feed.png" alt="folder feed "/><em>folder_feed.png</em></td>
+ <td><img src="icons/folder_find.png" title="folder_find.png" alt="folder find "/><em>folder_find.png</em></td>
+ <td><img src="icons/folder_go.png" title="folder_go.png" alt="folder go "/><em>folder_go.png</em></td>
+ <td><img src="icons/folder_heart.png" title="folder_heart.png" alt="folder heart "/><em>folder_heart.png</em></td>
+ <td><img src="icons/folder_image.png" title="folder_image.png" alt="folder image "/><em>folder_image.png</em></td>
+ <td><img src="icons/folder_key.png" title="folder_key.png" alt="folder key "/><em>folder_key.png</em></td>
+
+ <td><img src="icons/folder_lightbulb.png" title="folder_lightbulb.png" alt="folder lightbulb "/><em>folder_lightbulb.png</em></td>
+ <td><img src="icons/folder_link.png" title="folder_link.png" alt="folder link "/><em>folder_link.png</em></td>
+ <td><img src="icons/folder_magnify.png" title="folder_magnify.png" alt="folder magnify "/><em>folder_magnify.png</em></td>
+ <td><img src="icons/folder_page.png" title="folder_page.png" alt="folder page "/><em>folder_page.png</em></td>
+ <td><img src="icons/folder_page_white.png" title="folder_page_white.png" alt="folder page white "/><em>folder_page_white.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/folder_palette.png" title="folder_palette.png" alt="folder palette "/><em>folder_palette.png</em></td>
+ <td><img src="icons/folder_picture.png" title="folder_picture.png" alt="folder picture "/><em>folder_picture.png</em></td>
+ <td><img src="icons/folder_star.png" title="folder_star.png" alt="folder star "/><em>folder_star.png</em></td>
+ <td><img src="icons/folder_table.png" title="folder_table.png" alt="folder table "/><em>folder_table.png</em></td>
+ <td><img src="icons/folder_user.png" title="folder_user.png" alt="folder user "/><em>folder_user.png</em></td>
+
+ <td><img src="icons/folder_wrench.png" title="folder_wrench.png" alt="folder wrench "/><em>folder_wrench.png</em></td>
+ <td><img src="icons/font.png" title="font.png" alt="font "/><em>font.png</em></td>
+ <td><img src="icons/font_add.png" title="font_add.png" alt="font add "/><em>font_add.png</em></td>
+ <td><img src="icons/font_delete.png" title="font_delete.png" alt="font delete "/><em>font_delete.png</em></td>
+ <td><img src="icons/font_go.png" title="font_go.png" alt="font go "/><em>font_go.png</em></td>
+ <td><img src="icons/group.png" title="group.png" alt="group "/><em>group.png</em></td>
+
+ <td><img src="icons/group_add.png" title="group_add.png" alt="group add "/><em>group_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/group_delete.png" title="group_delete.png" alt="group delete "/><em>group_delete.png</em></td>
+ <td><img src="icons/group_edit.png" title="group_edit.png" alt="group edit "/><em>group_edit.png</em></td>
+ <td><img src="icons/group_error.png" title="group_error.png" alt="group error "/><em>group_error.png</em></td>
+ <td><img src="icons/group_gear.png" title="group_gear.png" alt="group gear "/><em>group_gear.png</em></td>
+
+ <td><img src="icons/group_go.png" title="group_go.png" alt="group go "/><em>group_go.png</em></td>
+ <td><img src="icons/group_key.png" title="group_key.png" alt="group key "/><em>group_key.png</em></td>
+ <td><img src="icons/group_link.png" title="group_link.png" alt="group link "/><em>group_link.png</em></td>
+ <td><img src="icons/heart.png" title="heart.png" alt="heart "/><em>heart.png</em></td>
+ <td><img src="icons/heart_add.png" title="heart_add.png" alt="heart add "/><em>heart_add.png</em></td>
+ <td><img src="icons/heart_delete.png" title="heart_delete.png" alt="heart delete "/><em>heart_delete.png</em></td>
+
+ <td><img src="icons/help.png" title="help.png" alt="help "/><em>help.png</em></td>
+ <td><img src="icons/hourglass.png" title="hourglass.png" alt="hourglass "/><em>hourglass.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/hourglass_add.png" title="hourglass_add.png" alt="hourglass add "/><em>hourglass_add.png</em></td>
+ <td><img src="icons/hourglass_delete.png" title="hourglass_delete.png" alt="hourglass delete "/><em>hourglass_delete.png</em></td>
+ <td><img src="icons/hourglass_go.png" title="hourglass_go.png" alt="hourglass go "/><em>hourglass_go.png</em></td>
+
+ <td><img src="icons/hourglass_link.png" title="hourglass_link.png" alt="hourglass link "/><em>hourglass_link.png</em></td>
+ <td><img src="icons/house.png" title="house.png" alt="house "/><em>house.png</em></td>
+ <td><img src="icons/house_go.png" title="house_go.png" alt="house go "/><em>house_go.png</em></td>
+ <td><img src="icons/house_link.png" title="house_link.png" alt="house link "/><em>house_link.png</em></td>
+ <td><img src="icons/html.png" title="html.png" alt="html "/><em>html.png</em></td>
+ <td><img src="icons/html_add.png" title="html_add.png" alt="html add "/><em>html_add.png</em></td>
+
+ <td><img src="icons/html_delete.png" title="html_delete.png" alt="html delete "/><em>html_delete.png</em></td>
+ <td><img src="icons/html_go.png" title="html_go.png" alt="html go "/><em>html_go.png</em></td>
+ <td><img src="icons/html_valid.png" title="html_valid.png" alt="html valid "/><em>html_valid.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/image.png" title="image.png" alt="image "/><em>image.png</em></td>
+ <td><img src="icons/image_add.png" title="image_add.png" alt="image add "/><em>image_add.png</em></td>
+
+ <td><img src="icons/image_delete.png" title="image_delete.png" alt="image delete "/><em>image_delete.png</em></td>
+ <td><img src="icons/image_edit.png" title="image_edit.png" alt="image edit "/><em>image_edit.png</em></td>
+ <td><img src="icons/image_link.png" title="image_link.png" alt="image link "/><em>image_link.png</em></td>
+ <td><img src="icons/images.png" title="images.png" alt="images "/><em>images.png</em></td>
+ <td><img src="icons/information.png" title="information.png" alt="information "/><em>information.png</em></td>
+ <td><img src="icons/ipod.png" title="ipod.png" alt="ipod "/><em>ipod.png</em></td>
+
+ <td><img src="icons/ipod_cast.png" title="ipod_cast.png" alt="ipod cast "/><em>ipod_cast.png</em></td>
+ <td><img src="icons/ipod_cast_add.png" title="ipod_cast_add.png" alt="ipod cast add "/><em>ipod_cast_add.png</em></td>
+ <td><img src="icons/ipod_cast_delete.png" title="ipod_cast_delete.png" alt="ipod cast delete "/><em>ipod_cast_delete.png</em></td>
+ <td><img src="icons/ipod_sound.png" title="ipod_sound.png" alt="ipod sound "/><em>ipod_sound.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/joystick.png" title="joystick.png" alt="joystick "/><em>joystick.png</em></td>
+
+ <td><img src="icons/joystick_add.png" title="joystick_add.png" alt="joystick add "/><em>joystick_add.png</em></td>
+ <td><img src="icons/joystick_delete.png" title="joystick_delete.png" alt="joystick delete "/><em>joystick_delete.png</em></td>
+ <td><img src="icons/joystick_error.png" title="joystick_error.png" alt="joystick error "/><em>joystick_error.png</em></td>
+ <td><img src="icons/key.png" title="key.png" alt="key "/><em>key.png</em></td>
+ <td><img src="icons/key_add.png" title="key_add.png" alt="key add "/><em>key_add.png</em></td>
+ <td><img src="icons/key_delete.png" title="key_delete.png" alt="key delete "/><em>key_delete.png</em></td>
+
+ <td><img src="icons/key_go.png" title="key_go.png" alt="key go "/><em>key_go.png</em></td>
+ <td><img src="icons/keyboard.png" title="keyboard.png" alt="keyboard "/><em>keyboard.png</em></td>
+ <td><img src="icons/keyboard_add.png" title="keyboard_add.png" alt="keyboard add "/><em>keyboard_add.png</em></td>
+ <td><img src="icons/keyboard_delete.png" title="keyboard_delete.png" alt="keyboard delete "/><em>keyboard_delete.png</em></td>
+ <td><img src="icons/keyboard_magnify.png" title="keyboard_magnify.png" alt="keyboard magnify "/><em>keyboard_magnify.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/layers.png" title="layers.png" alt="layers "/><em>layers.png</em></td>
+ <td><img src="icons/layout.png" title="layout.png" alt="layout "/><em>layout.png</em></td>
+ <td><img src="icons/layout_add.png" title="layout_add.png" alt="layout add "/><em>layout_add.png</em></td>
+ <td><img src="icons/layout_content.png" title="layout_content.png" alt="layout content "/><em>layout_content.png</em></td>
+ <td><img src="icons/layout_delete.png" title="layout_delete.png" alt="layout delete "/><em>layout_delete.png</em></td>
+
+ <td><img src="icons/layout_edit.png" title="layout_edit.png" alt="layout edit "/><em>layout_edit.png</em></td>
+ <td><img src="icons/layout_error.png" title="layout_error.png" alt="layout error "/><em>layout_error.png</em></td>
+ <td><img src="icons/layout_header.png" title="layout_header.png" alt="layout header "/><em>layout_header.png</em></td>
+ <td><img src="icons/layout_link.png" title="layout_link.png" alt="layout link "/><em>layout_link.png</em></td>
+ <td><img src="icons/layout_sidebar.png" title="layout_sidebar.png" alt="layout sidebar "/><em>layout_sidebar.png</em></td>
+ <td><img src="icons/lightbulb.png" title="lightbulb.png" alt="lightbulb "/><em>lightbulb.png</em></td>
+
+ <td><img src="icons/lightbulb_add.png" title="lightbulb_add.png" alt="lightbulb add "/><em>lightbulb_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/lightbulb_delete.png" title="lightbulb_delete.png" alt="lightbulb delete "/><em>lightbulb_delete.png</em></td>
+ <td><img src="icons/lightbulb_off.png" title="lightbulb_off.png" alt="lightbulb off "/><em>lightbulb_off.png</em></td>
+ <td><img src="icons/lightning.png" title="lightning.png" alt="lightning "/><em>lightning.png</em></td>
+ <td><img src="icons/lightning_add.png" title="lightning_add.png" alt="lightning add "/><em>lightning_add.png</em></td>
+
+ <td><img src="icons/lightning_delete.png" title="lightning_delete.png" alt="lightning delete "/><em>lightning_delete.png</em></td>
+ <td><img src="icons/lightning_go.png" title="lightning_go.png" alt="lightning go "/><em>lightning_go.png</em></td>
+ <td><img src="icons/link.png" title="link.png" alt="link "/><em>link.png</em></td>
+ <td><img src="icons/link_add.png" title="link_add.png" alt="link add "/><em>link_add.png</em></td>
+ <td><img src="icons/link_break.png" title="link_break.png" alt="link break "/><em>link_break.png</em></td>
+ <td><img src="icons/link_delete.png" title="link_delete.png" alt="link delete "/><em>link_delete.png</em></td>
+
+ <td><img src="icons/link_edit.png" title="link_edit.png" alt="link edit "/><em>link_edit.png</em></td>
+ <td><img src="icons/link_error.png" title="link_error.png" alt="link error "/><em>link_error.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/link_go.png" title="link_go.png" alt="link go "/><em>link_go.png</em></td>
+ <td><img src="icons/lock.png" title="lock.png" alt="lock "/><em>lock.png</em></td>
+ <td><img src="icons/lock_add.png" title="lock_add.png" alt="lock add "/><em>lock_add.png</em></td>
+
+ <td><img src="icons/lock_break.png" title="lock_break.png" alt="lock break "/><em>lock_break.png</em></td>
+ <td><img src="icons/lock_delete.png" title="lock_delete.png" alt="lock delete "/><em>lock_delete.png</em></td>
+ <td><img src="icons/lock_edit.png" title="lock_edit.png" alt="lock edit "/><em>lock_edit.png</em></td>
+ <td><img src="icons/lock_go.png" title="lock_go.png" alt="lock go "/><em>lock_go.png</em></td>
+ <td><img src="icons/lock_open.png" title="lock_open.png" alt="lock open "/><em>lock_open.png</em></td>
+ <td><img src="icons/lorry.png" title="lorry.png" alt="lorry "/><em>lorry.png</em></td>
+
+ <td><img src="icons/lorry_add.png" title="lorry_add.png" alt="lorry add "/><em>lorry_add.png</em></td>
+ <td><img src="icons/lorry_delete.png" title="lorry_delete.png" alt="lorry delete "/><em>lorry_delete.png</em></td>
+ <td><img src="icons/lorry_error.png" title="lorry_error.png" alt="lorry error "/><em>lorry_error.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/lorry_flatbed.png" title="lorry_flatbed.png" alt="lorry flatbed "/><em>lorry_flatbed.png</em></td>
+ <td><img src="icons/lorry_go.png" title="lorry_go.png" alt="lorry go "/><em>lorry_go.png</em></td>
+
+ <td><img src="icons/lorry_link.png" title="lorry_link.png" alt="lorry link "/><em>lorry_link.png</em></td>
+ <td><img src="icons/magifier_zoom_out.png" title="magifier_zoom_out.png" alt="magifier zoom out "/><em>magifier_zoom_out.png</em></td>
+ <td><img src="icons/magnifier.png" title="magnifier.png" alt="magnifier "/><em>magnifier.png</em></td>
+ <td><img src="icons/magnifier_zoom_in.png" title="magnifier_zoom_in.png" alt="magnifier zoom in "/><em>magnifier_zoom_in.png</em></td>
+ <td><img src="icons/male.png" title="male.png" alt="male "/><em>male.png</em></td>
+ <td><img src="icons/map.png" title="map.png" alt="map "/><em>map.png</em></td>
+
+ <td><img src="icons/map_add.png" title="map_add.png" alt="map add "/><em>map_add.png</em></td>
+ <td><img src="icons/map_delete.png" title="map_delete.png" alt="map delete "/><em>map_delete.png</em></td>
+ <td><img src="icons/map_edit.png" title="map_edit.png" alt="map edit "/><em>map_edit.png</em></td>
+ <td><img src="icons/map_go.png" title="map_go.png" alt="map go "/><em>map_go.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/map_magnify.png" title="map_magnify.png" alt="map magnify "/><em>map_magnify.png</em></td>
+
+ <td><img src="icons/medal_bronze_1.png" title="medal_bronze_1.png" alt="medal bronze 1 "/><em>medal_bronze_1.png</em></td>
+ <td><img src="icons/medal_bronze_2.png" title="medal_bronze_2.png" alt="medal bronze 2 "/><em>medal_bronze_2.png</em></td>
+ <td><img src="icons/medal_bronze_3.png" title="medal_bronze_3.png" alt="medal bronze 3 "/><em>medal_bronze_3.png</em></td>
+ <td><img src="icons/medal_bronze_add.png" title="medal_bronze_add.png" alt="medal bronze add "/><em>medal_bronze_add.png</em></td>
+ <td><img src="icons/medal_bronze_delete.png" title="medal_bronze_delete.png" alt="medal bronze delete "/><em>medal_bronze_delete.png</em></td>
+ <td><img src="icons/medal_gold_1.png" title="medal_gold_1.png" alt="medal gold 1 "/><em>medal_gold_1.png</em></td>
+
+ <td><img src="icons/medal_gold_2.png" title="medal_gold_2.png" alt="medal gold 2 "/><em>medal_gold_2.png</em></td>
+ <td><img src="icons/medal_gold_3.png" title="medal_gold_3.png" alt="medal gold 3 "/><em>medal_gold_3.png</em></td>
+ <td><img src="icons/medal_gold_add.png" title="medal_gold_add.png" alt="medal gold add "/><em>medal_gold_add.png</em></td>
+ <td><img src="icons/medal_gold_delete.png" title="medal_gold_delete.png" alt="medal gold delete "/><em>medal_gold_delete.png</em></td>
+ <td><img src="icons/medal_silver_1.png" title="medal_silver_1.png" alt="medal silver 1 "/><em>medal_silver_1.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/medal_silver_2.png" title="medal_silver_2.png" alt="medal silver 2 "/><em>medal_silver_2.png</em></td>
+ <td><img src="icons/medal_silver_3.png" title="medal_silver_3.png" alt="medal silver 3 "/><em>medal_silver_3.png</em></td>
+ <td><img src="icons/medal_silver_add.png" title="medal_silver_add.png" alt="medal silver add "/><em>medal_silver_add.png</em></td>
+ <td><img src="icons/medal_silver_delete.png" title="medal_silver_delete.png" alt="medal silver delete "/><em>medal_silver_delete.png</em></td>
+ <td><img src="icons/money.png" title="money.png" alt="money "/><em>money.png</em></td>
+
+ <td><img src="icons/money_add.png" title="money_add.png" alt="money add "/><em>money_add.png</em></td>
+ <td><img src="icons/money_delete.png" title="money_delete.png" alt="money delete "/><em>money_delete.png</em></td>
+ <td><img src="icons/money_dollar.png" title="money_dollar.png" alt="money dollar "/><em>money_dollar.png</em></td>
+ <td><img src="icons/money_euro.png" title="money_euro.png" alt="money euro "/><em>money_euro.png</em></td>
+ <td><img src="icons/money_pound.png" title="money_pound.png" alt="money pound "/><em>money_pound.png</em></td>
+ <td><img src="icons/money_yen.png" title="money_yen.png" alt="money yen "/><em>money_yen.png</em></td>
+
+ <td><img src="icons/monitor.png" title="monitor.png" alt="monitor "/><em>monitor.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/monitor_add.png" title="monitor_add.png" alt="monitor add "/><em>monitor_add.png</em></td>
+ <td><img src="icons/monitor_delete.png" title="monitor_delete.png" alt="monitor delete "/><em>monitor_delete.png</em></td>
+ <td><img src="icons/monitor_edit.png" title="monitor_edit.png" alt="monitor edit "/><em>monitor_edit.png</em></td>
+ <td><img src="icons/monitor_error.png" title="monitor_error.png" alt="monitor error "/><em>monitor_error.png</em></td>
+
+ <td><img src="icons/monitor_go.png" title="monitor_go.png" alt="monitor go "/><em>monitor_go.png</em></td>
+ <td><img src="icons/monitor_lightning.png" title="monitor_lightning.png" alt="monitor lightning "/><em>monitor_lightning.png</em></td>
+ <td><img src="icons/monitor_link.png" title="monitor_link.png" alt="monitor link "/><em>monitor_link.png</em></td>
+ <td><img src="icons/mouse.png" title="mouse.png" alt="mouse "/><em>mouse.png</em></td>
+ <td><img src="icons/mouse_add.png" title="mouse_add.png" alt="mouse add "/><em>mouse_add.png</em></td>
+ <td><img src="icons/mouse_delete.png" title="mouse_delete.png" alt="mouse delete "/><em>mouse_delete.png</em></td>
+
+ <td><img src="icons/mouse_error.png" title="mouse_error.png" alt="mouse error "/><em>mouse_error.png</em></td>
+ <td><img src="icons/music.png" title="music.png" alt="music "/><em>music.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/new.png" title="new.png" alt="new "/><em>new.png</em></td>
+ <td><img src="icons/newspaper.png" title="newspaper.png" alt="newspaper "/><em>newspaper.png</em></td>
+ <td><img src="icons/newspaper_add.png" title="newspaper_add.png" alt="newspaper add "/><em>newspaper_add.png</em></td>
+
+ <td><img src="icons/newspaper_delete.png" title="newspaper_delete.png" alt="newspaper delete "/><em>newspaper_delete.png</em></td>
+ <td><img src="icons/newspaper_go.png" title="newspaper_go.png" alt="newspaper go "/><em>newspaper_go.png</em></td>
+ <td><img src="icons/newspaper_link.png" title="newspaper_link.png" alt="newspaper link "/><em>newspaper_link.png</em></td>
+ <td><img src="icons/note.png" title="note.png" alt="note "/><em>note.png</em></td>
+ <td><img src="icons/note_add.png" title="note_add.png" alt="note add "/><em>note_add.png</em></td>
+ <td><img src="icons/note_delete.png" title="note_delete.png" alt="note delete "/><em>note_delete.png</em></td>
+
+ <td><img src="icons/note_edit.png" title="note_edit.png" alt="note edit "/><em>note_edit.png</em></td>
+ <td><img src="icons/note_error.png" title="note_error.png" alt="note error "/><em>note_error.png</em></td>
+ <td><img src="icons/note_go.png" title="note_go.png" alt="note go "/><em>note_go.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/overlays.png" title="overlays.png" alt="overlays "/><em>overlays.png</em></td>
+ <td><img src="icons/package.png" title="package.png" alt="package "/><em>package.png</em></td>
+
+ <td><img src="icons/package_add.png" title="package_add.png" alt="package add "/><em>package_add.png</em></td>
+ <td><img src="icons/package_delete.png" title="package_delete.png" alt="package delete "/><em>package_delete.png</em></td>
+ <td><img src="icons/package_go.png" title="package_go.png" alt="package go "/><em>package_go.png</em></td>
+ <td><img src="icons/package_green.png" title="package_green.png" alt="package green "/><em>package_green.png</em></td>
+ <td><img src="icons/package_link.png" title="package_link.png" alt="package link "/><em>package_link.png</em></td>
+ <td><img src="icons/page.png" title="page.png" alt="page "/><em>page.png</em></td>
+
+ <td><img src="icons/page_add.png" title="page_add.png" alt="page add "/><em>page_add.png</em></td>
+ <td><img src="icons/page_attach.png" title="page_attach.png" alt="page attach "/><em>page_attach.png</em></td>
+ <td><img src="icons/page_code.png" title="page_code.png" alt="page code "/><em>page_code.png</em></td>
+ <td><img src="icons/page_copy.png" title="page_copy.png" alt="page copy "/><em>page_copy.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/page_delete.png" title="page_delete.png" alt="page delete "/><em>page_delete.png</em></td>
+
+ <td><img src="icons/page_edit.png" title="page_edit.png" alt="page edit "/><em>page_edit.png</em></td>
+ <td><img src="icons/page_error.png" title="page_error.png" alt="page error "/><em>page_error.png</em></td>
+ <td><img src="icons/page_excel.png" title="page_excel.png" alt="page excel "/><em>page_excel.png</em></td>
+ <td><img src="icons/page_find.png" title="page_find.png" alt="page find "/><em>page_find.png</em></td>
+ <td><img src="icons/page_gear.png" title="page_gear.png" alt="page gear "/><em>page_gear.png</em></td>
+ <td><img src="icons/page_go.png" title="page_go.png" alt="page go "/><em>page_go.png</em></td>
+
+ <td><img src="icons/page_green.png" title="page_green.png" alt="page green "/><em>page_green.png</em></td>
+ <td><img src="icons/page_key.png" title="page_key.png" alt="page key "/><em>page_key.png</em></td>
+ <td><img src="icons/page_lightning.png" title="page_lightning.png" alt="page lightning "/><em>page_lightning.png</em></td>
+ <td><img src="icons/page_link.png" title="page_link.png" alt="page link "/><em>page_link.png</em></td>
+ <td><img src="icons/page_paintbrush.png" title="page_paintbrush.png" alt="page paintbrush "/><em>page_paintbrush.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/page_paste.png" title="page_paste.png" alt="page paste "/><em>page_paste.png</em></td>
+ <td><img src="icons/page_red.png" title="page_red.png" alt="page red "/><em>page_red.png</em></td>
+ <td><img src="icons/page_refresh.png" title="page_refresh.png" alt="page refresh "/><em>page_refresh.png</em></td>
+ <td><img src="icons/page_save.png" title="page_save.png" alt="page save "/><em>page_save.png</em></td>
+ <td><img src="icons/page_white.png" title="page_white.png" alt="page white "/><em>page_white.png</em></td>
+
+ <td><img src="icons/page_white_acrobat.png" title="page_white_acrobat.png" alt="page white acrobat "/><em>page_white_acrobat.png</em></td>
+ <td><img src="icons/page_white_actionscript.png" title="page_white_actionscript.png" alt="page white actionscript "/><em>page_white_actionscript.png</em></td>
+ <td><img src="icons/page_white_add.png" title="page_white_add.png" alt="page white add "/><em>page_white_add.png</em></td>
+ <td><img src="icons/page_white_c.png" title="page_white_c.png" alt="page white c "/><em>page_white_c.png</em></td>
+ <td><img src="icons/page_white_camera.png" title="page_white_camera.png" alt="page white camera "/><em>page_white_camera.png</em></td>
+ <td><img src="icons/page_white_cd.png" title="page_white_cd.png" alt="page white cd "/><em>page_white_cd.png</em></td>
+
+ <td><img src="icons/page_white_code.png" title="page_white_code.png" alt="page white code "/><em>page_white_code.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/page_white_code_red.png" title="page_white_code_red.png" alt="page white code red "/><em>page_white_code_red.png</em></td>
+ <td><img src="icons/page_white_coldfusion.png" title="page_white_coldfusion.png" alt="page white coldfusion "/><em>page_white_coldfusion.png</em></td>
+ <td><img src="icons/page_white_compressed.png" title="page_white_compressed.png" alt="page white compressed "/><em>page_white_compressed.png</em></td>
+ <td><img src="icons/page_white_copy.png" title="page_white_copy.png" alt="page white copy "/><em>page_white_copy.png</em></td>
+
+ <td><img src="icons/page_white_cplusplus.png" title="page_white_cplusplus.png" alt="page white cplusplus "/><em>page_white_cplusplus.png</em></td>
+ <td><img src="icons/page_white_csharp.png" title="page_white_csharp.png" alt="page white csharp "/><em>page_white_csharp.png</em></td>
+ <td><img src="icons/page_white_cup.png" title="page_white_cup.png" alt="page white cup "/><em>page_white_cup.png</em></td>
+ <td><img src="icons/page_white_database.png" title="page_white_database.png" alt="page white database "/><em>page_white_database.png</em></td>
+ <td><img src="icons/page_white_delete.png" title="page_white_delete.png" alt="page white delete "/><em>page_white_delete.png</em></td>
+ <td><img src="icons/page_white_dvd.png" title="page_white_dvd.png" alt="page white dvd "/><em>page_white_dvd.png</em></td>
+
+ <td><img src="icons/page_white_edit.png" title="page_white_edit.png" alt="page white edit "/><em>page_white_edit.png</em></td>
+ <td><img src="icons/page_white_error.png" title="page_white_error.png" alt="page white error "/><em>page_white_error.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/page_white_excel.png" title="page_white_excel.png" alt="page white excel "/><em>page_white_excel.png</em></td>
+ <td><img src="icons/page_white_find.png" title="page_white_find.png" alt="page white find "/><em>page_white_find.png</em></td>
+ <td><img src="icons/page_white_flash.png" title="page_white_flash.png" alt="page white flash "/><em>page_white_flash.png</em></td>
+
+ <td><img src="icons/page_white_freehand.png" title="page_white_freehand.png" alt="page white freehand "/><em>page_white_freehand.png</em></td>
+ <td><img src="icons/page_white_gear.png" title="page_white_gear.png" alt="page white gear "/><em>page_white_gear.png</em></td>
+ <td><img src="icons/page_white_get.png" title="page_white_get.png" alt="page white get "/><em>page_white_get.png</em></td>
+ <td><img src="icons/page_white_go.png" title="page_white_go.png" alt="page white go "/><em>page_white_go.png</em></td>
+ <td><img src="icons/page_white_h.png" title="page_white_h.png" alt="page white h "/><em>page_white_h.png</em></td>
+ <td><img src="icons/page_white_horizontal.png" title="page_white_horizontal.png" alt="page white horizontal "/><em>page_white_horizontal.png</em></td>
+
+ <td><img src="icons/page_white_key.png" title="page_white_key.png" alt="page white key "/><em>page_white_key.png</em></td>
+ <td><img src="icons/page_white_lightning.png" title="page_white_lightning.png" alt="page white lightning "/><em>page_white_lightning.png</em></td>
+ <td><img src="icons/page_white_link.png" title="page_white_link.png" alt="page white link "/><em>page_white_link.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/page_white_magnify.png" title="page_white_magnify.png" alt="page white magnify "/><em>page_white_magnify.png</em></td>
+ <td><img src="icons/page_white_medal.png" title="page_white_medal.png" alt="page white medal "/><em>page_white_medal.png</em></td>
+
+ <td><img src="icons/page_white_office.png" title="page_white_office.png" alt="page white office "/><em>page_white_office.png</em></td>
+ <td><img src="icons/page_white_paint.png" title="page_white_paint.png" alt="page white paint "/><em>page_white_paint.png</em></td>
+ <td><img src="icons/page_white_paintbrush.png" title="page_white_paintbrush.png" alt="page white paintbrush "/><em>page_white_paintbrush.png</em></td>
+ <td><img src="icons/page_white_paste.png" title="page_white_paste.png" alt="page white paste "/><em>page_white_paste.png</em></td>
+ <td><img src="icons/page_white_php.png" title="page_white_php.png" alt="page white php "/><em>page_white_php.png</em></td>
+ <td><img src="icons/page_white_picture.png" title="page_white_picture.png" alt="page white picture "/><em>page_white_picture.png</em></td>
+
+ <td><img src="icons/page_white_powerpoint.png" title="page_white_powerpoint.png" alt="page white powerpoint "/><em>page_white_powerpoint.png</em></td>
+ <td><img src="icons/page_white_put.png" title="page_white_put.png" alt="page white put "/><em>page_white_put.png</em></td>
+ <td><img src="icons/page_white_ruby.png" title="page_white_ruby.png" alt="page white ruby "/><em>page_white_ruby.png</em></td>
+ <td><img src="icons/page_white_stack.png" title="page_white_stack.png" alt="page white stack "/><em>page_white_stack.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/page_white_star.png" title="page_white_star.png" alt="page white star "/><em>page_white_star.png</em></td>
+
+ <td><img src="icons/page_white_swoosh.png" title="page_white_swoosh.png" alt="page white swoosh "/><em>page_white_swoosh.png</em></td>
+ <td><img src="icons/page_white_text.png" title="page_white_text.png" alt="page white text "/><em>page_white_text.png</em></td>
+ <td><img src="icons/page_white_text_width.png" title="page_white_text_width.png" alt="page white text width "/><em>page_white_text_width.png</em></td>
+ <td><img src="icons/page_white_tux.png" title="page_white_tux.png" alt="page white tux "/><em>page_white_tux.png</em></td>
+ <td><img src="icons/page_white_vector.png" title="page_white_vector.png" alt="page white vector "/><em>page_white_vector.png</em></td>
+ <td><img src="icons/page_white_visualstudio.png" title="page_white_visualstudio.png" alt="page white visualstudio "/><em>page_white_visualstudio.png</em></td>
+
+ <td><img src="icons/page_white_width.png" title="page_white_width.png" alt="page white width "/><em>page_white_width.png</em></td>
+ <td><img src="icons/page_white_word.png" title="page_white_word.png" alt="page white word "/><em>page_white_word.png</em></td>
+ <td><img src="icons/page_white_world.png" title="page_white_world.png" alt="page white world "/><em>page_white_world.png</em></td>
+ <td><img src="icons/page_white_wrench.png" title="page_white_wrench.png" alt="page white wrench "/><em>page_white_wrench.png</em></td>
+ <td><img src="icons/page_white_zip.png" title="page_white_zip.png" alt="page white zip "/><em>page_white_zip.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/page_word.png" title="page_word.png" alt="page word "/><em>page_word.png</em></td>
+ <td><img src="icons/page_world.png" title="page_world.png" alt="page world "/><em>page_world.png</em></td>
+ <td><img src="icons/paintbrush.png" title="paintbrush.png" alt="paintbrush "/><em>paintbrush.png</em></td>
+ <td><img src="icons/paintcan.png" title="paintcan.png" alt="paintcan "/><em>paintcan.png</em></td>
+ <td><img src="icons/palette.png" title="palette.png" alt="palette "/><em>palette.png</em></td>
+
+ <td><img src="icons/paste_plain.png" title="paste_plain.png" alt="paste plain "/><em>paste_plain.png</em></td>
+ <td><img src="icons/paste_word.png" title="paste_word.png" alt="paste word "/><em>paste_word.png</em></td>
+ <td><img src="icons/pencil.png" title="pencil.png" alt="pencil "/><em>pencil.png</em></td>
+ <td><img src="icons/pencil_add.png" title="pencil_add.png" alt="pencil add "/><em>pencil_add.png</em></td>
+ <td><img src="icons/pencil_delete.png" title="pencil_delete.png" alt="pencil delete "/><em>pencil_delete.png</em></td>
+ <td><img src="icons/pencil_go.png" title="pencil_go.png" alt="pencil go "/><em>pencil_go.png</em></td>
+
+ <td><img src="icons/phone.png" title="phone.png" alt="phone "/><em>phone.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/phone_add.png" title="phone_add.png" alt="phone add "/><em>phone_add.png</em></td>
+ <td><img src="icons/phone_delete.png" title="phone_delete.png" alt="phone delete "/><em>phone_delete.png</em></td>
+ <td><img src="icons/phone_sound.png" title="phone_sound.png" alt="phone sound "/><em>phone_sound.png</em></td>
+ <td><img src="icons/photo.png" title="photo.png" alt="photo "/><em>photo.png</em></td>
+
+ <td><img src="icons/photo_add.png" title="photo_add.png" alt="photo add "/><em>photo_add.png</em></td>
+ <td><img src="icons/photo_delete.png" title="photo_delete.png" alt="photo delete "/><em>photo_delete.png</em></td>
+ <td><img src="icons/photo_link.png" title="photo_link.png" alt="photo link "/><em>photo_link.png</em></td>
+ <td><img src="icons/photos.png" title="photos.png" alt="photos "/><em>photos.png</em></td>
+ <td><img src="icons/picture.png" title="picture.png" alt="picture "/><em>picture.png</em></td>
+ <td><img src="icons/picture_add.png" title="picture_add.png" alt="picture add "/><em>picture_add.png</em></td>
+
+ <td><img src="icons/picture_delete.png" title="picture_delete.png" alt="picture delete "/><em>picture_delete.png</em></td>
+ <td><img src="icons/picture_edit.png" title="picture_edit.png" alt="picture edit "/><em>picture_edit.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/picture_empty.png" title="picture_empty.png" alt="picture empty "/><em>picture_empty.png</em></td>
+ <td><img src="icons/picture_error.png" title="picture_error.png" alt="picture error "/><em>picture_error.png</em></td>
+ <td><img src="icons/picture_go.png" title="picture_go.png" alt="picture go "/><em>picture_go.png</em></td>
+
+ <td><img src="icons/picture_key.png" title="picture_key.png" alt="picture key "/><em>picture_key.png</em></td>
+ <td><img src="icons/picture_link.png" title="picture_link.png" alt="picture link "/><em>picture_link.png</em></td>
+ <td><img src="icons/picture_save.png" title="picture_save.png" alt="picture save "/><em>picture_save.png</em></td>
+ <td><img src="icons/pictures.png" title="pictures.png" alt="pictures "/><em>pictures.png</em></td>
+ <td><img src="icons/pilcrow.png" title="pilcrow.png" alt="pilcrow "/><em>pilcrow.png</em></td>
+ <td><img src="icons/pill.png" title="pill.png" alt="pill "/><em>pill.png</em></td>
+
+ <td><img src="icons/pill_add.png" title="pill_add.png" alt="pill add "/><em>pill_add.png</em></td>
+ <td><img src="icons/pill_delete.png" title="pill_delete.png" alt="pill delete "/><em>pill_delete.png</em></td>
+ <td><img src="icons/pill_go.png" title="pill_go.png" alt="pill go "/><em>pill_go.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/plugin.png" title="plugin.png" alt="plugin "/><em>plugin.png</em></td>
+ <td><img src="icons/plugin_add.png" title="plugin_add.png" alt="plugin add "/><em>plugin_add.png</em></td>
+
+ <td><img src="icons/plugin_delete.png" title="plugin_delete.png" alt="plugin delete "/><em>plugin_delete.png</em></td>
+ <td><img src="icons/plugin_disabled.png" title="plugin_disabled.png" alt="plugin disabled "/><em>plugin_disabled.png</em></td>
+ <td><img src="icons/plugin_edit.png" title="plugin_edit.png" alt="plugin edit "/><em>plugin_edit.png</em></td>
+ <td><img src="icons/plugin_error.png" title="plugin_error.png" alt="plugin error "/><em>plugin_error.png</em></td>
+ <td><img src="icons/plugin_go.png" title="plugin_go.png" alt="plugin go "/><em>plugin_go.png</em></td>
+ <td><img src="icons/plugin_link.png" title="plugin_link.png" alt="plugin link "/><em>plugin_link.png</em></td>
+
+ <td><img src="icons/printer.png" title="printer.png" alt="printer "/><em>printer.png</em></td>
+ <td><img src="icons/printer_add.png" title="printer_add.png" alt="printer add "/><em>printer_add.png</em></td>
+ <td><img src="icons/printer_delete.png" title="printer_delete.png" alt="printer delete "/><em>printer_delete.png</em></td>
+ <td><img src="icons/printer_empty.png" title="printer_empty.png" alt="printer empty "/><em>printer_empty.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/printer_error.png" title="printer_error.png" alt="printer error "/><em>printer_error.png</em></td>
+
+ <td><img src="icons/rainbow.png" title="rainbow.png" alt="rainbow "/><em>rainbow.png</em></td>
+ <td><img src="icons/report.png" title="report.png" alt="report "/><em>report.png</em></td>
+ <td><img src="icons/report_add.png" title="report_add.png" alt="report add "/><em>report_add.png</em></td>
+ <td><img src="icons/report_delete.png" title="report_delete.png" alt="report delete "/><em>report_delete.png</em></td>
+ <td><img src="icons/report_disk.png" title="report_disk.png" alt="report disk "/><em>report_disk.png</em></td>
+ <td><img src="icons/report_edit.png" title="report_edit.png" alt="report edit "/><em>report_edit.png</em></td>
+
+ <td><img src="icons/report_go.png" title="report_go.png" alt="report go "/><em>report_go.png</em></td>
+ <td><img src="icons/report_key.png" title="report_key.png" alt="report key "/><em>report_key.png</em></td>
+ <td><img src="icons/report_link.png" title="report_link.png" alt="report link "/><em>report_link.png</em></td>
+ <td><img src="icons/report_magnify.png" title="report_magnify.png" alt="report magnify "/><em>report_magnify.png</em></td>
+ <td><img src="icons/report_picture.png" title="report_picture.png" alt="report picture "/><em>report_picture.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/report_user.png" title="report_user.png" alt="report user "/><em>report_user.png</em></td>
+ <td><img src="icons/report_word.png" title="report_word.png" alt="report word "/><em>report_word.png</em></td>
+ <td><img src="icons/resultset_first.png" title="resultset_first.png" alt="resultset first "/><em>resultset_first.png</em></td>
+ <td><img src="icons/resultset_last.png" title="resultset_last.png" alt="resultset last "/><em>resultset_last.png</em></td>
+ <td><img src="icons/resultset_next.png" title="resultset_next.png" alt="resultset next "/><em>resultset_next.png</em></td>
+
+ <td><img src="icons/resultset_previous.png" title="resultset_previous.png" alt="resultset previous "/><em>resultset_previous.png</em></td>
+ <td><img src="icons/rosette.png" title="rosette.png" alt="rosette "/><em>rosette.png</em></td>
+ <td><img src="icons/rss.png" title="rss.png" alt="rss "/><em>rss.png</em></td>
+ <td><img src="icons/rss_add.png" title="rss_add.png" alt="rss add "/><em>rss_add.png</em></td>
+ <td><img src="icons/rss_delete.png" title="rss_delete.png" alt="rss delete "/><em>rss_delete.png</em></td>
+ <td><img src="icons/rss_go.png" title="rss_go.png" alt="rss go "/><em>rss_go.png</em></td>
+
+ <td><img src="icons/rss_valid.png" title="rss_valid.png" alt="rss valid "/><em>rss_valid.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/ruby.png" title="ruby.png" alt="ruby "/><em>ruby.png</em></td>
+ <td><img src="icons/ruby_add.png" title="ruby_add.png" alt="ruby add "/><em>ruby_add.png</em></td>
+ <td><img src="icons/ruby_delete.png" title="ruby_delete.png" alt="ruby delete "/><em>ruby_delete.png</em></td>
+ <td><img src="icons/ruby_gear.png" title="ruby_gear.png" alt="ruby gear "/><em>ruby_gear.png</em></td>
+
+ <td><img src="icons/ruby_get.png" title="ruby_get.png" alt="ruby get "/><em>ruby_get.png</em></td>
+ <td><img src="icons/ruby_go.png" title="ruby_go.png" alt="ruby go "/><em>ruby_go.png</em></td>
+ <td><img src="icons/ruby_key.png" title="ruby_key.png" alt="ruby key "/><em>ruby_key.png</em></td>
+ <td><img src="icons/ruby_link.png" title="ruby_link.png" alt="ruby link "/><em>ruby_link.png</em></td>
+ <td><img src="icons/ruby_put.png" title="ruby_put.png" alt="ruby put "/><em>ruby_put.png</em></td>
+ <td><img src="icons/script.png" title="script.png" alt="script "/><em>script.png</em></td>
+
+ <td><img src="icons/script_add.png" title="script_add.png" alt="script add "/><em>script_add.png</em></td>
+ <td><img src="icons/script_code.png" title="script_code.png" alt="script code "/><em>script_code.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/script_code_red.png" title="script_code_red.png" alt="script code red "/><em>script_code_red.png</em></td>
+ <td><img src="icons/script_delete.png" title="script_delete.png" alt="script delete "/><em>script_delete.png</em></td>
+ <td><img src="icons/script_edit.png" title="script_edit.png" alt="script edit "/><em>script_edit.png</em></td>
+
+ <td><img src="icons/script_error.png" title="script_error.png" alt="script error "/><em>script_error.png</em></td>
+ <td><img src="icons/script_gear.png" title="script_gear.png" alt="script gear "/><em>script_gear.png</em></td>
+ <td><img src="icons/script_go.png" title="script_go.png" alt="script go "/><em>script_go.png</em></td>
+ <td><img src="icons/script_key.png" title="script_key.png" alt="script key "/><em>script_key.png</em></td>
+ <td><img src="icons/script_lightning.png" title="script_lightning.png" alt="script lightning "/><em>script_lightning.png</em></td>
+ <td><img src="icons/script_link.png" title="script_link.png" alt="script link "/><em>script_link.png</em></td>
+
+ <td><img src="icons/script_palette.png" title="script_palette.png" alt="script palette "/><em>script_palette.png</em></td>
+ <td><img src="icons/script_save.png" title="script_save.png" alt="script save "/><em>script_save.png</em></td>
+ <td><img src="icons/server.png" title="server.png" alt="server "/><em>server.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/server_add.png" title="server_add.png" alt="server add "/><em>server_add.png</em></td>
+ <td><img src="icons/server_chart.png" title="server_chart.png" alt="server chart "/><em>server_chart.png</em></td>
+
+ <td><img src="icons/server_compressed.png" title="server_compressed.png" alt="server compressed "/><em>server_compressed.png</em></td>
+ <td><img src="icons/server_connect.png" title="server_connect.png" alt="server connect "/><em>server_connect.png</em></td>
+ <td><img src="icons/server_database.png" title="server_database.png" alt="server database "/><em>server_database.png</em></td>
+ <td><img src="icons/server_delete.png" title="server_delete.png" alt="server delete "/><em>server_delete.png</em></td>
+ <td><img src="icons/server_edit.png" title="server_edit.png" alt="server edit "/><em>server_edit.png</em></td>
+ <td><img src="icons/server_error.png" title="server_error.png" alt="server error "/><em>server_error.png</em></td>
+
+ <td><img src="icons/server_go.png" title="server_go.png" alt="server go "/><em>server_go.png</em></td>
+ <td><img src="icons/server_key.png" title="server_key.png" alt="server key "/><em>server_key.png</em></td>
+ <td><img src="icons/server_lightning.png" title="server_lightning.png" alt="server lightning "/><em>server_lightning.png</em></td>
+ <td><img src="icons/server_link.png" title="server_link.png" alt="server link "/><em>server_link.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/server_uncompressed.png" title="server_uncompressed.png" alt="server uncompressed "/><em>server_uncompressed.png</em></td>
+
+ <td><img src="icons/shading.png" title="shading.png" alt="shading "/><em>shading.png</em></td>
+ <td><img src="icons/shape_align_bottom.png" title="shape_align_bottom.png" alt="shape align bottom "/><em>shape_align_bottom.png</em></td>
+ <td><img src="icons/shape_align_center.png" title="shape_align_center.png" alt="shape align center "/><em>shape_align_center.png</em></td>
+ <td><img src="icons/shape_align_left.png" title="shape_align_left.png" alt="shape align left "/><em>shape_align_left.png</em></td>
+ <td><img src="icons/shape_align_middle.png" title="shape_align_middle.png" alt="shape align middle "/><em>shape_align_middle.png</em></td>
+ <td><img src="icons/shape_align_right.png" title="shape_align_right.png" alt="shape align right "/><em>shape_align_right.png</em></td>
+
+ <td><img src="icons/shape_align_top.png" title="shape_align_top.png" alt="shape align top "/><em>shape_align_top.png</em></td>
+ <td><img src="icons/shape_flip_horizontal.png" title="shape_flip_horizontal.png" alt="shape flip horizontal "/><em>shape_flip_horizontal.png</em></td>
+ <td><img src="icons/shape_flip_vertical.png" title="shape_flip_vertical.png" alt="shape flip vertical "/><em>shape_flip_vertical.png</em></td>
+ <td><img src="icons/shape_group.png" title="shape_group.png" alt="shape group "/><em>shape_group.png</em></td>
+ <td><img src="icons/shape_handles.png" title="shape_handles.png" alt="shape handles "/><em>shape_handles.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/shape_move_back.png" title="shape_move_back.png" alt="shape move back "/><em>shape_move_back.png</em></td>
+ <td><img src="icons/shape_move_backwards.png" title="shape_move_backwards.png" alt="shape move backwards "/><em>shape_move_backwards.png</em></td>
+ <td><img src="icons/shape_move_forwards.png" title="shape_move_forwards.png" alt="shape move forwards "/><em>shape_move_forwards.png</em></td>
+ <td><img src="icons/shape_move_front.png" title="shape_move_front.png" alt="shape move front "/><em>shape_move_front.png</em></td>
+ <td><img src="icons/shape_rotate_anticlockwise.png" title="shape_rotate_anticlockwise.png" alt="shape rotate anticlockwise "/><em>shape_rotate_anticlockwise.png</em></td>
+
+ <td><img src="icons/shape_rotate_clockwise.png" title="shape_rotate_clockwise.png" alt="shape rotate clockwise "/><em>shape_rotate_clockwise.png</em></td>
+ <td><img src="icons/shape_square.png" title="shape_square.png" alt="shape square "/><em>shape_square.png</em></td>
+ <td><img src="icons/shape_square_add.png" title="shape_square_add.png" alt="shape square add "/><em>shape_square_add.png</em></td>
+ <td><img src="icons/shape_square_delete.png" title="shape_square_delete.png" alt="shape square delete "/><em>shape_square_delete.png</em></td>
+ <td><img src="icons/shape_square_edit.png" title="shape_square_edit.png" alt="shape square edit "/><em>shape_square_edit.png</em></td>
+ <td><img src="icons/shape_square_error.png" title="shape_square_error.png" alt="shape square error "/><em>shape_square_error.png</em></td>
+
+ <td><img src="icons/shape_square_go.png" title="shape_square_go.png" alt="shape square go "/><em>shape_square_go.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/shape_square_key.png" title="shape_square_key.png" alt="shape square key "/><em>shape_square_key.png</em></td>
+ <td><img src="icons/shape_square_link.png" title="shape_square_link.png" alt="shape square link "/><em>shape_square_link.png</em></td>
+ <td><img src="icons/shape_ungroup.png" title="shape_ungroup.png" alt="shape ungroup "/><em>shape_ungroup.png</em></td>
+ <td><img src="icons/shield.png" title="shield.png" alt="shield "/><em>shield.png</em></td>
+
+ <td><img src="icons/shield_add.png" title="shield_add.png" alt="shield add "/><em>shield_add.png</em></td>
+ <td><img src="icons/shield_delete.png" title="shield_delete.png" alt="shield delete "/><em>shield_delete.png</em></td>
+ <td><img src="icons/shield_go.png" title="shield_go.png" alt="shield go "/><em>shield_go.png</em></td>
+ <td><img src="icons/sitemap.png" title="sitemap.png" alt="sitemap "/><em>sitemap.png</em></td>
+ <td><img src="icons/sitemap_color.png" title="sitemap_color.png" alt="sitemap color "/><em>sitemap_color.png</em></td>
+ <td><img src="icons/sound.png" title="sound.png" alt="sound "/><em>sound.png</em></td>
+
+ <td><img src="icons/sound_add.png" title="sound_add.png" alt="sound add "/><em>sound_add.png</em></td>
+ <td><img src="icons/sound_delete.png" title="sound_delete.png" alt="sound delete "/><em>sound_delete.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/sound_low.png" title="sound_low.png" alt="sound low "/><em>sound_low.png</em></td>
+ <td><img src="icons/sound_mute.png" title="sound_mute.png" alt="sound mute "/><em>sound_mute.png</em></td>
+ <td><img src="icons/sound_none.png" title="sound_none.png" alt="sound none "/><em>sound_none.png</em></td>
+
+ <td><img src="icons/spellcheck.png" title="spellcheck.png" alt="spellcheck "/><em>spellcheck.png</em></td>
+ <td><img src="icons/sport_8ball.png" title="sport_8ball.png" alt="sport 8ball "/><em>sport_8ball.png</em></td>
+ <td><img src="icons/sport_basketball.png" title="sport_basketball.png" alt="sport basketball "/><em>sport_basketball.png</em></td>
+ <td><img src="icons/sport_football.png" title="sport_football.png" alt="sport football "/><em>sport_football.png</em></td>
+ <td><img src="icons/sport_golf.png" title="sport_golf.png" alt="sport golf "/><em>sport_golf.png</em></td>
+ <td><img src="icons/sport_raquet.png" title="sport_raquet.png" alt="sport raquet "/><em>sport_raquet.png</em></td>
+
+ <td><img src="icons/sport_shuttlecock.png" title="sport_shuttlecock.png" alt="sport shuttlecock "/><em>sport_shuttlecock.png</em></td>
+ <td><img src="icons/sport_soccer.png" title="sport_soccer.png" alt="sport soccer "/><em>sport_soccer.png</em></td>
+ <td><img src="icons/sport_tennis.png" title="sport_tennis.png" alt="sport tennis "/><em>sport_tennis.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/star.png" title="star.png" alt="star "/><em>star.png</em></td>
+ <td><img src="icons/status_away.png" title="status_away.png" alt="status away "/><em>status_away.png</em></td>
+
+ <td><img src="icons/status_busy.png" title="status_busy.png" alt="status busy "/><em>status_busy.png</em></td>
+ <td><img src="icons/status_offline.png" title="status_offline.png" alt="status offline "/><em>status_offline.png</em></td>
+ <td><img src="icons/status_online.png" title="status_online.png" alt="status online "/><em>status_online.png</em></td>
+ <td><img src="icons/stop.png" title="stop.png" alt="stop "/><em>stop.png</em></td>
+ <td><img src="icons/style.png" title="style.png" alt="style "/><em>style.png</em></td>
+ <td><img src="icons/style_add.png" title="style_add.png" alt="style add "/><em>style_add.png</em></td>
+
+ <td><img src="icons/style_delete.png" title="style_delete.png" alt="style delete "/><em>style_delete.png</em></td>
+ <td><img src="icons/style_edit.png" title="style_edit.png" alt="style edit "/><em>style_edit.png</em></td>
+ <td><img src="icons/style_go.png" title="style_go.png" alt="style go "/><em>style_go.png</em></td>
+ <td><img src="icons/sum.png" title="sum.png" alt="sum "/><em>sum.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/tab.png" title="tab.png" alt="tab "/><em>tab.png</em></td>
+
+ <td><img src="icons/tab_add.png" title="tab_add.png" alt="tab add "/><em>tab_add.png</em></td>
+ <td><img src="icons/tab_delete.png" title="tab_delete.png" alt="tab delete "/><em>tab_delete.png</em></td>
+ <td><img src="icons/tab_edit.png" title="tab_edit.png" alt="tab edit "/><em>tab_edit.png</em></td>
+ <td><img src="icons/tab_go.png" title="tab_go.png" alt="tab go "/><em>tab_go.png</em></td>
+ <td><img src="icons/table.png" title="table.png" alt="table "/><em>table.png</em></td>
+ <td><img src="icons/table_add.png" title="table_add.png" alt="table add "/><em>table_add.png</em></td>
+
+ <td><img src="icons/table_delete.png" title="table_delete.png" alt="table delete "/><em>table_delete.png</em></td>
+ <td><img src="icons/table_edit.png" title="table_edit.png" alt="table edit "/><em>table_edit.png</em></td>
+ <td><img src="icons/table_error.png" title="table_error.png" alt="table error "/><em>table_error.png</em></td>
+ <td><img src="icons/table_gear.png" title="table_gear.png" alt="table gear "/><em>table_gear.png</em></td>
+ <td><img src="icons/table_go.png" title="table_go.png" alt="table go "/><em>table_go.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/table_key.png" title="table_key.png" alt="table key "/><em>table_key.png</em></td>
+ <td><img src="icons/table_lightning.png" title="table_lightning.png" alt="table lightning "/><em>table_lightning.png</em></td>
+ <td><img src="icons/table_link.png" title="table_link.png" alt="table link "/><em>table_link.png</em></td>
+ <td><img src="icons/table_multiple.png" title="table_multiple.png" alt="table multiple "/><em>table_multiple.png</em></td>
+ <td><img src="icons/table_refresh.png" title="table_refresh.png" alt="table refresh "/><em>table_refresh.png</em></td>
+
+ <td><img src="icons/table_relationship.png" title="table_relationship.png" alt="table relationship "/><em>table_relationship.png</em></td>
+ <td><img src="icons/table_row_delete.png" title="table_row_delete.png" alt="table row delete "/><em>table_row_delete.png</em></td>
+ <td><img src="icons/table_row_insert.png" title="table_row_insert.png" alt="table row insert "/><em>table_row_insert.png</em></td>
+ <td><img src="icons/table_save.png" title="table_save.png" alt="table save "/><em>table_save.png</em></td>
+ <td><img src="icons/table_sort.png" title="table_sort.png" alt="table sort "/><em>table_sort.png</em></td>
+ <td><img src="icons/tag.png" title="tag.png" alt="tag "/><em>tag.png</em></td>
+
+ <td><img src="icons/tag_blue.png" title="tag_blue.png" alt="tag blue "/><em>tag_blue.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/tag_blue_add.png" title="tag_blue_add.png" alt="tag blue add "/><em>tag_blue_add.png</em></td>
+ <td><img src="icons/tag_blue_delete.png" title="tag_blue_delete.png" alt="tag blue delete "/><em>tag_blue_delete.png</em></td>
+ <td><img src="icons/tag_blue_edit.png" title="tag_blue_edit.png" alt="tag blue edit "/><em>tag_blue_edit.png</em></td>
+ <td><img src="icons/tag_green.png" title="tag_green.png" alt="tag green "/><em>tag_green.png</em></td>
+
+ <td><img src="icons/tag_orange.png" title="tag_orange.png" alt="tag orange "/><em>tag_orange.png</em></td>
+ <td><img src="icons/tag_pink.png" title="tag_pink.png" alt="tag pink "/><em>tag_pink.png</em></td>
+ <td><img src="icons/tag_purple.png" title="tag_purple.png" alt="tag purple "/><em>tag_purple.png</em></td>
+ <td><img src="icons/tag_red.png" title="tag_red.png" alt="tag red "/><em>tag_red.png</em></td>
+ <td><img src="icons/tag_yellow.png" title="tag_yellow.png" alt="tag yellow "/><em>tag_yellow.png</em></td>
+ <td><img src="icons/telephone.png" title="telephone.png" alt="telephone "/><em>telephone.png</em></td>
+
+ <td><img src="icons/telephone_add.png" title="telephone_add.png" alt="telephone add "/><em>telephone_add.png</em></td>
+ <td><img src="icons/telephone_delete.png" title="telephone_delete.png" alt="telephone delete "/><em>telephone_delete.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/telephone_edit.png" title="telephone_edit.png" alt="telephone edit "/><em>telephone_edit.png</em></td>
+ <td><img src="icons/telephone_error.png" title="telephone_error.png" alt="telephone error "/><em>telephone_error.png</em></td>
+ <td><img src="icons/telephone_go.png" title="telephone_go.png" alt="telephone go "/><em>telephone_go.png</em></td>
+
+ <td><img src="icons/telephone_key.png" title="telephone_key.png" alt="telephone key "/><em>telephone_key.png</em></td>
+ <td><img src="icons/telephone_link.png" title="telephone_link.png" alt="telephone link "/><em>telephone_link.png</em></td>
+ <td><img src="icons/television.png" title="television.png" alt="television "/><em>television.png</em></td>
+ <td><img src="icons/television_add.png" title="television_add.png" alt="television add "/><em>television_add.png</em></td>
+ <td><img src="icons/television_delete.png" title="television_delete.png" alt="television delete "/><em>television_delete.png</em></td>
+ <td><img src="icons/text_align_center.png" title="text_align_center.png" alt="text align center "/><em>text_align_center.png</em></td>
+
+ <td><img src="icons/text_align_justify.png" title="text_align_justify.png" alt="text align justify "/><em>text_align_justify.png</em></td>
+ <td><img src="icons/text_align_left.png" title="text_align_left.png" alt="text align left "/><em>text_align_left.png</em></td>
+ <td><img src="icons/text_align_right.png" title="text_align_right.png" alt="text align right "/><em>text_align_right.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/text_allcaps.png" title="text_allcaps.png" alt="text allcaps "/><em>text_allcaps.png</em></td>
+ <td><img src="icons/text_bold.png" title="text_bold.png" alt="text bold "/><em>text_bold.png</em></td>
+
+ <td><img src="icons/text_columns.png" title="text_columns.png" alt="text columns "/><em>text_columns.png</em></td>
+ <td><img src="icons/text_dropcaps.png" title="text_dropcaps.png" alt="text dropcaps "/><em>text_dropcaps.png</em></td>
+ <td><img src="icons/text_heading_1.png" title="text_heading_1.png" alt="text heading 1 "/><em>text_heading_1.png</em></td>
+ <td><img src="icons/text_heading_2.png" title="text_heading_2.png" alt="text heading 2 "/><em>text_heading_2.png</em></td>
+ <td><img src="icons/text_heading_3.png" title="text_heading_3.png" alt="text heading 3 "/><em>text_heading_3.png</em></td>
+ <td><img src="icons/text_heading_4.png" title="text_heading_4.png" alt="text heading 4 "/><em>text_heading_4.png</em></td>
+
+ <td><img src="icons/text_heading_5.png" title="text_heading_5.png" alt="text heading 5 "/><em>text_heading_5.png</em></td>
+ <td><img src="icons/text_heading_6.png" title="text_heading_6.png" alt="text heading 6 "/><em>text_heading_6.png</em></td>
+ <td><img src="icons/text_horizontalrule.png" title="text_horizontalrule.png" alt="text horizontalrule "/><em>text_horizontalrule.png</em></td>
+ <td><img src="icons/text_indent.png" title="text_indent.png" alt="text indent "/><em>text_indent.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/text_indent_remove.png" title="text_indent_remove.png" alt="text indent remove "/><em>text_indent_remove.png</em></td>
+
+ <td><img src="icons/text_italic.png" title="text_italic.png" alt="text italic "/><em>text_italic.png</em></td>
+ <td><img src="icons/text_kerning.png" title="text_kerning.png" alt="text kerning "/><em>text_kerning.png</em></td>
+ <td><img src="icons/text_letter_omega.png" title="text_letter_omega.png" alt="text letter omega "/><em>text_letter_omega.png</em></td>
+ <td><img src="icons/text_letterspacing.png" title="text_letterspacing.png" alt="text letterspacing "/><em>text_letterspacing.png</em></td>
+ <td><img src="icons/text_linespacing.png" title="text_linespacing.png" alt="text linespacing "/><em>text_linespacing.png</em></td>
+ <td><img src="icons/text_list_bullets.png" title="text_list_bullets.png" alt="text list bullets "/><em>text_list_bullets.png</em></td>
+
+ <td><img src="icons/text_list_numbers.png" title="text_list_numbers.png" alt="text list numbers "/><em>text_list_numbers.png</em></td>
+ <td><img src="icons/text_lowercase.png" title="text_lowercase.png" alt="text lowercase "/><em>text_lowercase.png</em></td>
+ <td><img src="icons/text_padding_bottom.png" title="text_padding_bottom.png" alt="text padding bottom "/><em>text_padding_bottom.png</em></td>
+ <td><img src="icons/text_padding_left.png" title="text_padding_left.png" alt="text padding left "/><em>text_padding_left.png</em></td>
+ <td><img src="icons/text_padding_right.png" title="text_padding_right.png" alt="text padding right "/><em>text_padding_right.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/text_padding_top.png" title="text_padding_top.png" alt="text padding top "/><em>text_padding_top.png</em></td>
+ <td><img src="icons/text_replace.png" title="text_replace.png" alt="text replace "/><em>text_replace.png</em></td>
+ <td><img src="icons/text_signature.png" title="text_signature.png" alt="text signature "/><em>text_signature.png</em></td>
+ <td><img src="icons/text_smallcaps.png" title="text_smallcaps.png" alt="text smallcaps "/><em>text_smallcaps.png</em></td>
+ <td><img src="icons/text_strikethrough.png" title="text_strikethrough.png" alt="text strikethrough "/><em>text_strikethrough.png</em></td>
+
+ <td><img src="icons/text_subscript.png" title="text_subscript.png" alt="text subscript "/><em>text_subscript.png</em></td>
+ <td><img src="icons/text_superscript.png" title="text_superscript.png" alt="text superscript "/><em>text_superscript.png</em></td>
+ <td><img src="icons/text_underline.png" title="text_underline.png" alt="text underline "/><em>text_underline.png</em></td>
+ <td><img src="icons/text_uppercase.png" title="text_uppercase.png" alt="text uppercase "/><em>text_uppercase.png</em></td>
+ <td><img src="icons/textfield.png" title="textfield.png" alt="textfield "/><em>textfield.png</em></td>
+ <td><img src="icons/textfield_add.png" title="textfield_add.png" alt="textfield add "/><em>textfield_add.png</em></td>
+
+ <td><img src="icons/textfield_delete.png" title="textfield_delete.png" alt="textfield delete "/><em>textfield_delete.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/textfield_key.png" title="textfield_key.png" alt="textfield key "/><em>textfield_key.png</em></td>
+ <td><img src="icons/textfield_rename.png" title="textfield_rename.png" alt="textfield rename "/><em>textfield_rename.png</em></td>
+ <td><img src="icons/thumb_down.png" title="thumb_down.png" alt="thumb down "/><em>thumb_down.png</em></td>
+ <td><img src="icons/thumb_up.png" title="thumb_up.png" alt="thumb up "/><em>thumb_up.png</em></td>
+
+ <td><img src="icons/tick.png" title="tick.png" alt="tick "/><em>tick.png</em></td>
+ <td><img src="icons/time.png" title="time.png" alt="time "/><em>time.png</em></td>
+ <td><img src="icons/time_add.png" title="time_add.png" alt="time add "/><em>time_add.png</em></td>
+ <td><img src="icons/time_delete.png" title="time_delete.png" alt="time delete "/><em>time_delete.png</em></td>
+ <td><img src="icons/time_go.png" title="time_go.png" alt="time go "/><em>time_go.png</em></td>
+ <td><img src="icons/timeline_marker.png" title="timeline_marker.png" alt="timeline marker "/><em>timeline_marker.png</em></td>
+
+ <td><img src="icons/transmit.png" title="transmit.png" alt="transmit "/><em>transmit.png</em></td>
+ <td><img src="icons/transmit_add.png" title="transmit_add.png" alt="transmit add "/><em>transmit_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/transmit_blue.png" title="transmit_blue.png" alt="transmit blue "/><em>transmit_blue.png</em></td>
+ <td><img src="icons/transmit_delete.png" title="transmit_delete.png" alt="transmit delete "/><em>transmit_delete.png</em></td>
+ <td><img src="icons/transmit_edit.png" title="transmit_edit.png" alt="transmit edit "/><em>transmit_edit.png</em></td>
+
+ <td><img src="icons/transmit_error.png" title="transmit_error.png" alt="transmit error "/><em>transmit_error.png</em></td>
+ <td><img src="icons/transmit_go.png" title="transmit_go.png" alt="transmit go "/><em>transmit_go.png</em></td>
+ <td><img src="icons/tux.png" title="tux.png" alt="tux "/><em>tux.png</em></td>
+ <td><img src="icons/user.png" title="user.png" alt="user "/><em>user.png</em></td>
+ <td><img src="icons/user_add.png" title="user_add.png" alt="user add "/><em>user_add.png</em></td>
+ <td><img src="icons/user_comment.png" title="user_comment.png" alt="user comment "/><em>user_comment.png</em></td>
+
+ <td><img src="icons/user_delete.png" title="user_delete.png" alt="user delete "/><em>user_delete.png</em></td>
+ <td><img src="icons/user_edit.png" title="user_edit.png" alt="user edit "/><em>user_edit.png</em></td>
+ <td><img src="icons/user_female.png" title="user_female.png" alt="user female "/><em>user_female.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/user_go.png" title="user_go.png" alt="user go "/><em>user_go.png</em></td>
+ <td><img src="icons/user_gray.png" title="user_gray.png" alt="user gray "/><em>user_gray.png</em></td>
+
+ <td><img src="icons/user_green.png" title="user_green.png" alt="user green "/><em>user_green.png</em></td>
+ <td><img src="icons/user_orange.png" title="user_orange.png" alt="user orange "/><em>user_orange.png</em></td>
+ <td><img src="icons/user_red.png" title="user_red.png" alt="user red "/><em>user_red.png</em></td>
+ <td><img src="icons/user_suit.png" title="user_suit.png" alt="user suit "/><em>user_suit.png</em></td>
+ <td><img src="icons/vcard.png" title="vcard.png" alt="vcard "/><em>vcard.png</em></td>
+ <td><img src="icons/vcard_add.png" title="vcard_add.png" alt="vcard add "/><em>vcard_add.png</em></td>
+
+ <td><img src="icons/vcard_delete.png" title="vcard_delete.png" alt="vcard delete "/><em>vcard_delete.png</em></td>
+ <td><img src="icons/vcard_edit.png" title="vcard_edit.png" alt="vcard edit "/><em>vcard_edit.png</em></td>
+ <td><img src="icons/vector.png" title="vector.png" alt="vector "/><em>vector.png</em></td>
+ <td><img src="icons/vector_add.png" title="vector_add.png" alt="vector add "/><em>vector_add.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/vector_delete.png" title="vector_delete.png" alt="vector delete "/><em>vector_delete.png</em></td>
+
+ <td><img src="icons/wand.png" title="wand.png" alt="wand "/><em>wand.png</em></td>
+ <td><img src="icons/weather_clouds.png" title="weather_clouds.png" alt="weather clouds "/><em>weather_clouds.png</em></td>
+ <td><img src="icons/weather_cloudy.png" title="weather_cloudy.png" alt="weather cloudy "/><em>weather_cloudy.png</em></td>
+ <td><img src="icons/weather_lightning.png" title="weather_lightning.png" alt="weather lightning "/><em>weather_lightning.png</em></td>
+ <td><img src="icons/weather_rain.png" title="weather_rain.png" alt="weather rain "/><em>weather_rain.png</em></td>
+ <td><img src="icons/weather_snow.png" title="weather_snow.png" alt="weather snow "/><em>weather_snow.png</em></td>
+
+ <td><img src="icons/weather_sun.png" title="weather_sun.png" alt="weather sun "/><em>weather_sun.png</em></td>
+ <td><img src="icons/webcam.png" title="webcam.png" alt="webcam "/><em>webcam.png</em></td>
+ <td><img src="icons/webcam_add.png" title="webcam_add.png" alt="webcam add "/><em>webcam_add.png</em></td>
+ <td><img src="icons/webcam_delete.png" title="webcam_delete.png" alt="webcam delete "/><em>webcam_delete.png</em></td>
+ <td><img src="icons/webcam_error.png" title="webcam_error.png" alt="webcam error "/><em>webcam_error.png</em></td>
+ </tr>
+
+ <tr>
+ <td><img src="icons/world.png" title="world.png" alt="world "/><em>world.png</em></td>
+ <td><img src="icons/world_add.png" title="world_add.png" alt="world add "/><em>world_add.png</em></td>
+ <td><img src="icons/world_delete.png" title="world_delete.png" alt="world delete "/><em>world_delete.png</em></td>
+ <td><img src="icons/world_edit.png" title="world_edit.png" alt="world edit "/><em>world_edit.png</em></td>
+ <td><img src="icons/world_go.png" title="world_go.png" alt="world go "/><em>world_go.png</em></td>
+
+ <td><img src="icons/world_link.png" title="world_link.png" alt="world link "/><em>world_link.png</em></td>
+ <td><img src="icons/wrench.png" title="wrench.png" alt="wrench "/><em>wrench.png</em></td>
+ <td><img src="icons/wrench_orange.png" title="wrench_orange.png" alt="wrench orange "/><em>wrench_orange.png</em></td>
+ <td><img src="icons/xhtml.png" title="xhtml.png" alt="xhtml "/><em>xhtml.png</em></td>
+ <td><img src="icons/xhtml_add.png" title="xhtml_add.png" alt="xhtml add "/><em>xhtml_add.png</em></td>
+ <td><img src="icons/xhtml_delete.png" title="xhtml_delete.png" alt="xhtml delete "/><em>xhtml_delete.png</em></td>
+
+ <td><img src="icons/xhtml_go.png" title="xhtml_go.png" alt="xhtml go "/><em>xhtml_go.png</em></td>
+ </tr>
+ <tr>
+ <td><img src="icons/xhtml_valid.png" title="xhtml_valid.png" alt="xhtml valid "/><em>xhtml_valid.png</em></td>
+ <td><img src="icons/zoom.png" title="zoom.png" alt="zoom "/><em>zoom.png</em></td>
+ <td><img src="icons/zoom_in.png" title="zoom_in.png" alt="zoom in "/><em>zoom_in.png</em></td>
+ <td><img src="icons/zoom_out.png" title="zoom_out.png" alt="zoom out "/><em>zoom_out.png</em></td>
+
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ <td> </td>
+ </tr></table>
+ </p>
+
+ </div><!-- /content_inner -->
+ <!-- A break! -->
+ <br class="clear" />
+
+ </div><!-- /content_outer -->
+
+ </div><!-- /container_inner -->
+ </div><!-- /container_outer -->
+
+
+ </body>
+</html>
\ No newline at end of file
diff --git a/webroot/img/icons/readme.txt b/webroot/img/icons/readme.txt
new file mode 100644
index 0000000..2cf67dc
--- /dev/null
+++ b/webroot/img/icons/readme.txt
@@ -0,0 +1,22 @@
+Silk icon set 1.3
+
+_________________________________________
+Mark James
+http://www.famfamfam.com/lab/icons/silk/
+_________________________________________
+
+This work is licensed under a
+Creative Commons Attribution 2.5 License.
+[ http://creativecommons.org/licenses/by/2.5/ ]
+
+This means you may use it for any purpose,
+and make any changes you like.
+All I ask is that you include a link back
+to this page in your credits.
+
+Are you using this icon set? Send me an email
+(including a link or picture if available) to
+mjames@gmail.com
+
+Any other questions about this icon set please
+contact mjames@gmail.com
\ No newline at end of file
diff --git a/webroot/img/icons/report.png b/webroot/img/icons/report.png
new file mode 100644
index 0000000..779ad58
Binary files /dev/null and b/webroot/img/icons/report.png differ
diff --git a/webroot/img/icons/report_add.png b/webroot/img/icons/report_add.png
new file mode 100644
index 0000000..d5eac9b
Binary files /dev/null and b/webroot/img/icons/report_add.png differ
diff --git a/webroot/img/icons/report_delete.png b/webroot/img/icons/report_delete.png
new file mode 100644
index 0000000..dcce0b6
Binary files /dev/null and b/webroot/img/icons/report_delete.png differ
diff --git a/webroot/img/icons/report_disk.png b/webroot/img/icons/report_disk.png
new file mode 100644
index 0000000..1c856cd
Binary files /dev/null and b/webroot/img/icons/report_disk.png differ
diff --git a/webroot/img/icons/report_edit.png b/webroot/img/icons/report_edit.png
new file mode 100644
index 0000000..c61a6d8
Binary files /dev/null and b/webroot/img/icons/report_edit.png differ
diff --git a/webroot/img/icons/report_go.png b/webroot/img/icons/report_go.png
new file mode 100644
index 0000000..f35a979
Binary files /dev/null and b/webroot/img/icons/report_go.png differ
diff --git a/webroot/img/icons/report_key.png b/webroot/img/icons/report_key.png
new file mode 100644
index 0000000..90b758e
Binary files /dev/null and b/webroot/img/icons/report_key.png differ
diff --git a/webroot/img/icons/report_link.png b/webroot/img/icons/report_link.png
new file mode 100644
index 0000000..23f2611
Binary files /dev/null and b/webroot/img/icons/report_link.png differ
diff --git a/webroot/img/icons/report_magnify.png b/webroot/img/icons/report_magnify.png
new file mode 100644
index 0000000..aeaa889
Binary files /dev/null and b/webroot/img/icons/report_magnify.png differ
diff --git a/webroot/img/icons/report_picture.png b/webroot/img/icons/report_picture.png
new file mode 100644
index 0000000..3a9a7e5
Binary files /dev/null and b/webroot/img/icons/report_picture.png differ
diff --git a/webroot/img/icons/report_user.png b/webroot/img/icons/report_user.png
new file mode 100644
index 0000000..7766edd
Binary files /dev/null and b/webroot/img/icons/report_user.png differ
diff --git a/webroot/img/icons/report_word.png b/webroot/img/icons/report_word.png
new file mode 100644
index 0000000..9951342
Binary files /dev/null and b/webroot/img/icons/report_word.png differ
diff --git a/webroot/img/icons/resultset_first.png b/webroot/img/icons/resultset_first.png
new file mode 100644
index 0000000..b03eaf8
Binary files /dev/null and b/webroot/img/icons/resultset_first.png differ
diff --git a/webroot/img/icons/resultset_last.png b/webroot/img/icons/resultset_last.png
new file mode 100644
index 0000000..8ec8947
Binary files /dev/null and b/webroot/img/icons/resultset_last.png differ
diff --git a/webroot/img/icons/resultset_next.png b/webroot/img/icons/resultset_next.png
new file mode 100644
index 0000000..e252606
Binary files /dev/null and b/webroot/img/icons/resultset_next.png differ
diff --git a/webroot/img/icons/resultset_previous.png b/webroot/img/icons/resultset_previous.png
new file mode 100644
index 0000000..18f9cc1
Binary files /dev/null and b/webroot/img/icons/resultset_previous.png differ
diff --git a/webroot/img/icons/rosette.png b/webroot/img/icons/rosette.png
new file mode 100644
index 0000000..f233bc7
Binary files /dev/null and b/webroot/img/icons/rosette.png differ
diff --git a/webroot/img/icons/rss.png b/webroot/img/icons/rss.png
new file mode 100644
index 0000000..1dc6ff3
Binary files /dev/null and b/webroot/img/icons/rss.png differ
diff --git a/webroot/img/icons/rss_add.png b/webroot/img/icons/rss_add.png
new file mode 100644
index 0000000..b590beb
Binary files /dev/null and b/webroot/img/icons/rss_add.png differ
diff --git a/webroot/img/icons/rss_delete.png b/webroot/img/icons/rss_delete.png
new file mode 100644
index 0000000..9deb738
Binary files /dev/null and b/webroot/img/icons/rss_delete.png differ
diff --git a/webroot/img/icons/rss_go.png b/webroot/img/icons/rss_go.png
new file mode 100644
index 0000000..43a86bf
Binary files /dev/null and b/webroot/img/icons/rss_go.png differ
diff --git a/webroot/img/icons/rss_valid.png b/webroot/img/icons/rss_valid.png
new file mode 100644
index 0000000..a6d0b0e
Binary files /dev/null and b/webroot/img/icons/rss_valid.png differ
diff --git a/webroot/img/icons/ruby.png b/webroot/img/icons/ruby.png
new file mode 100644
index 0000000..f763a16
Binary files /dev/null and b/webroot/img/icons/ruby.png differ
diff --git a/webroot/img/icons/ruby_add.png b/webroot/img/icons/ruby_add.png
new file mode 100644
index 0000000..a2cd648
Binary files /dev/null and b/webroot/img/icons/ruby_add.png differ
diff --git a/webroot/img/icons/ruby_delete.png b/webroot/img/icons/ruby_delete.png
new file mode 100644
index 0000000..3002263
Binary files /dev/null and b/webroot/img/icons/ruby_delete.png differ
diff --git a/webroot/img/icons/ruby_gear.png b/webroot/img/icons/ruby_gear.png
new file mode 100644
index 0000000..4a10590
Binary files /dev/null and b/webroot/img/icons/ruby_gear.png differ
diff --git a/webroot/img/icons/ruby_get.png b/webroot/img/icons/ruby_get.png
new file mode 100644
index 0000000..f5203c7
Binary files /dev/null and b/webroot/img/icons/ruby_get.png differ
diff --git a/webroot/img/icons/ruby_go.png b/webroot/img/icons/ruby_go.png
new file mode 100644
index 0000000..d8d276e
Binary files /dev/null and b/webroot/img/icons/ruby_go.png differ
diff --git a/webroot/img/icons/ruby_key.png b/webroot/img/icons/ruby_key.png
new file mode 100644
index 0000000..451cfeb
Binary files /dev/null and b/webroot/img/icons/ruby_key.png differ
diff --git a/webroot/img/icons/ruby_link.png b/webroot/img/icons/ruby_link.png
new file mode 100644
index 0000000..bf4be52
Binary files /dev/null and b/webroot/img/icons/ruby_link.png differ
diff --git a/webroot/img/icons/ruby_put.png b/webroot/img/icons/ruby_put.png
new file mode 100644
index 0000000..e026323
Binary files /dev/null and b/webroot/img/icons/ruby_put.png differ
diff --git a/webroot/img/icons/script.png b/webroot/img/icons/script.png
new file mode 100644
index 0000000..0f9ed4d
Binary files /dev/null and b/webroot/img/icons/script.png differ
diff --git a/webroot/img/icons/script_add.png b/webroot/img/icons/script_add.png
new file mode 100644
index 0000000..d650552
Binary files /dev/null and b/webroot/img/icons/script_add.png differ
diff --git a/webroot/img/icons/script_code.png b/webroot/img/icons/script_code.png
new file mode 100644
index 0000000..63fe6ce
Binary files /dev/null and b/webroot/img/icons/script_code.png differ
diff --git a/webroot/img/icons/script_code_red.png b/webroot/img/icons/script_code_red.png
new file mode 100644
index 0000000..8fcf0f0
Binary files /dev/null and b/webroot/img/icons/script_code_red.png differ
diff --git a/webroot/img/icons/script_delete.png b/webroot/img/icons/script_delete.png
new file mode 100644
index 0000000..e6500ce
Binary files /dev/null and b/webroot/img/icons/script_delete.png differ
diff --git a/webroot/img/icons/script_edit.png b/webroot/img/icons/script_edit.png
new file mode 100644
index 0000000..b4d31ce
Binary files /dev/null and b/webroot/img/icons/script_edit.png differ
diff --git a/webroot/img/icons/script_error.png b/webroot/img/icons/script_error.png
new file mode 100644
index 0000000..0491954
Binary files /dev/null and b/webroot/img/icons/script_error.png differ
diff --git a/webroot/img/icons/script_gear.png b/webroot/img/icons/script_gear.png
new file mode 100644
index 0000000..56fcf84
Binary files /dev/null and b/webroot/img/icons/script_gear.png differ
diff --git a/webroot/img/icons/script_go.png b/webroot/img/icons/script_go.png
new file mode 100644
index 0000000..8e154e2
Binary files /dev/null and b/webroot/img/icons/script_go.png differ
diff --git a/webroot/img/icons/script_key.png b/webroot/img/icons/script_key.png
new file mode 100644
index 0000000..49bb24d
Binary files /dev/null and b/webroot/img/icons/script_key.png differ
diff --git a/webroot/img/icons/script_lightning.png b/webroot/img/icons/script_lightning.png
new file mode 100644
index 0000000..b3fa18c
Binary files /dev/null and b/webroot/img/icons/script_lightning.png differ
diff --git a/webroot/img/icons/script_link.png b/webroot/img/icons/script_link.png
new file mode 100644
index 0000000..bdeb985
Binary files /dev/null and b/webroot/img/icons/script_link.png differ
diff --git a/webroot/img/icons/script_palette.png b/webroot/img/icons/script_palette.png
new file mode 100644
index 0000000..6d46962
Binary files /dev/null and b/webroot/img/icons/script_palette.png differ
diff --git a/webroot/img/icons/script_save.png b/webroot/img/icons/script_save.png
new file mode 100644
index 0000000..36216d8
Binary files /dev/null and b/webroot/img/icons/script_save.png differ
diff --git a/webroot/img/icons/server.png b/webroot/img/icons/server.png
new file mode 100644
index 0000000..720a237
Binary files /dev/null and b/webroot/img/icons/server.png differ
diff --git a/webroot/img/icons/server_add.png b/webroot/img/icons/server_add.png
new file mode 100644
index 0000000..3f10a3a
Binary files /dev/null and b/webroot/img/icons/server_add.png differ
diff --git a/webroot/img/icons/server_chart.png b/webroot/img/icons/server_chart.png
new file mode 100644
index 0000000..1128d3f
Binary files /dev/null and b/webroot/img/icons/server_chart.png differ
diff --git a/webroot/img/icons/server_compressed.png b/webroot/img/icons/server_compressed.png
new file mode 100644
index 0000000..bf49fad
Binary files /dev/null and b/webroot/img/icons/server_compressed.png differ
diff --git a/webroot/img/icons/server_connect.png b/webroot/img/icons/server_connect.png
new file mode 100644
index 0000000..49b2691
Binary files /dev/null and b/webroot/img/icons/server_connect.png differ
diff --git a/webroot/img/icons/server_database.png b/webroot/img/icons/server_database.png
new file mode 100644
index 0000000..b24e826
Binary files /dev/null and b/webroot/img/icons/server_database.png differ
diff --git a/webroot/img/icons/server_delete.png b/webroot/img/icons/server_delete.png
new file mode 100644
index 0000000..61e740f
Binary files /dev/null and b/webroot/img/icons/server_delete.png differ
diff --git a/webroot/img/icons/server_edit.png b/webroot/img/icons/server_edit.png
new file mode 100644
index 0000000..dc76253
Binary files /dev/null and b/webroot/img/icons/server_edit.png differ
diff --git a/webroot/img/icons/server_error.png b/webroot/img/icons/server_error.png
new file mode 100644
index 0000000..f640256
Binary files /dev/null and b/webroot/img/icons/server_error.png differ
diff --git a/webroot/img/icons/server_go.png b/webroot/img/icons/server_go.png
new file mode 100644
index 0000000..540c8e2
Binary files /dev/null and b/webroot/img/icons/server_go.png differ
diff --git a/webroot/img/icons/server_key.png b/webroot/img/icons/server_key.png
new file mode 100644
index 0000000..ecd5174
Binary files /dev/null and b/webroot/img/icons/server_key.png differ
diff --git a/webroot/img/icons/server_lightning.png b/webroot/img/icons/server_lightning.png
new file mode 100644
index 0000000..b0f4e46
Binary files /dev/null and b/webroot/img/icons/server_lightning.png differ
diff --git a/webroot/img/icons/server_link.png b/webroot/img/icons/server_link.png
new file mode 100644
index 0000000..e8821df
Binary files /dev/null and b/webroot/img/icons/server_link.png differ
diff --git a/webroot/img/icons/server_uncompressed.png b/webroot/img/icons/server_uncompressed.png
new file mode 100644
index 0000000..86e8325
Binary files /dev/null and b/webroot/img/icons/server_uncompressed.png differ
diff --git a/webroot/img/icons/shading.png b/webroot/img/icons/shading.png
new file mode 100644
index 0000000..09275f9
Binary files /dev/null and b/webroot/img/icons/shading.png differ
diff --git a/webroot/img/icons/shape_align_bottom.png b/webroot/img/icons/shape_align_bottom.png
new file mode 100644
index 0000000..55d2694
Binary files /dev/null and b/webroot/img/icons/shape_align_bottom.png differ
diff --git a/webroot/img/icons/shape_align_center.png b/webroot/img/icons/shape_align_center.png
new file mode 100644
index 0000000..efe9a98
Binary files /dev/null and b/webroot/img/icons/shape_align_center.png differ
diff --git a/webroot/img/icons/shape_align_left.png b/webroot/img/icons/shape_align_left.png
new file mode 100644
index 0000000..aaedc41
Binary files /dev/null and b/webroot/img/icons/shape_align_left.png differ
diff --git a/webroot/img/icons/shape_align_middle.png b/webroot/img/icons/shape_align_middle.png
new file mode 100644
index 0000000..d350dd8
Binary files /dev/null and b/webroot/img/icons/shape_align_middle.png differ
diff --git a/webroot/img/icons/shape_align_right.png b/webroot/img/icons/shape_align_right.png
new file mode 100644
index 0000000..ff556b6
Binary files /dev/null and b/webroot/img/icons/shape_align_right.png differ
diff --git a/webroot/img/icons/shape_align_top.png b/webroot/img/icons/shape_align_top.png
new file mode 100644
index 0000000..1181b43
Binary files /dev/null and b/webroot/img/icons/shape_align_top.png differ
diff --git a/webroot/img/icons/shape_flip_horizontal.png b/webroot/img/icons/shape_flip_horizontal.png
new file mode 100644
index 0000000..8667c81
Binary files /dev/null and b/webroot/img/icons/shape_flip_horizontal.png differ
diff --git a/webroot/img/icons/shape_flip_vertical.png b/webroot/img/icons/shape_flip_vertical.png
new file mode 100644
index 0000000..0bd66d1
Binary files /dev/null and b/webroot/img/icons/shape_flip_vertical.png differ
diff --git a/webroot/img/icons/shape_group.png b/webroot/img/icons/shape_group.png
new file mode 100644
index 0000000..bb2ff51
Binary files /dev/null and b/webroot/img/icons/shape_group.png differ
diff --git a/webroot/img/icons/shape_handles.png b/webroot/img/icons/shape_handles.png
new file mode 100644
index 0000000..ce27fe3
Binary files /dev/null and b/webroot/img/icons/shape_handles.png differ
diff --git a/webroot/img/icons/shape_move_back.png b/webroot/img/icons/shape_move_back.png
new file mode 100644
index 0000000..a216ffd
Binary files /dev/null and b/webroot/img/icons/shape_move_back.png differ
diff --git a/webroot/img/icons/shape_move_backwards.png b/webroot/img/icons/shape_move_backwards.png
new file mode 100644
index 0000000..ee3f9b2
Binary files /dev/null and b/webroot/img/icons/shape_move_backwards.png differ
diff --git a/webroot/img/icons/shape_move_forwards.png b/webroot/img/icons/shape_move_forwards.png
new file mode 100644
index 0000000..cfe4493
Binary files /dev/null and b/webroot/img/icons/shape_move_forwards.png differ
diff --git a/webroot/img/icons/shape_move_front.png b/webroot/img/icons/shape_move_front.png
new file mode 100644
index 0000000..b4a4e3b
Binary files /dev/null and b/webroot/img/icons/shape_move_front.png differ
diff --git a/webroot/img/icons/shape_rotate_anticlockwise.png b/webroot/img/icons/shape_rotate_anticlockwise.png
new file mode 100644
index 0000000..07a3020
Binary files /dev/null and b/webroot/img/icons/shape_rotate_anticlockwise.png differ
diff --git a/webroot/img/icons/shape_rotate_clockwise.png b/webroot/img/icons/shape_rotate_clockwise.png
new file mode 100644
index 0000000..b99db7d
Binary files /dev/null and b/webroot/img/icons/shape_rotate_clockwise.png differ
diff --git a/webroot/img/icons/shape_square.png b/webroot/img/icons/shape_square.png
new file mode 100644
index 0000000..33af046
Binary files /dev/null and b/webroot/img/icons/shape_square.png differ
diff --git a/webroot/img/icons/shape_square_add.png b/webroot/img/icons/shape_square_add.png
new file mode 100644
index 0000000..31edfce
Binary files /dev/null and b/webroot/img/icons/shape_square_add.png differ
diff --git a/webroot/img/icons/shape_square_delete.png b/webroot/img/icons/shape_square_delete.png
new file mode 100644
index 0000000..ede912d
Binary files /dev/null and b/webroot/img/icons/shape_square_delete.png differ
diff --git a/webroot/img/icons/shape_square_edit.png b/webroot/img/icons/shape_square_edit.png
new file mode 100644
index 0000000..d28dc6b
Binary files /dev/null and b/webroot/img/icons/shape_square_edit.png differ
diff --git a/webroot/img/icons/shape_square_error.png b/webroot/img/icons/shape_square_error.png
new file mode 100644
index 0000000..0d0dcfa
Binary files /dev/null and b/webroot/img/icons/shape_square_error.png differ
diff --git a/webroot/img/icons/shape_square_go.png b/webroot/img/icons/shape_square_go.png
new file mode 100644
index 0000000..5a2ad90
Binary files /dev/null and b/webroot/img/icons/shape_square_go.png differ
diff --git a/webroot/img/icons/shape_square_key.png b/webroot/img/icons/shape_square_key.png
new file mode 100644
index 0000000..c34b982
Binary files /dev/null and b/webroot/img/icons/shape_square_key.png differ
diff --git a/webroot/img/icons/shape_square_link.png b/webroot/img/icons/shape_square_link.png
new file mode 100644
index 0000000..b885fcc
Binary files /dev/null and b/webroot/img/icons/shape_square_link.png differ
diff --git a/webroot/img/icons/shape_ungroup.png b/webroot/img/icons/shape_ungroup.png
new file mode 100644
index 0000000..3a6f369
Binary files /dev/null and b/webroot/img/icons/shape_ungroup.png differ
diff --git a/webroot/img/icons/shield.png b/webroot/img/icons/shield.png
new file mode 100644
index 0000000..3cb4e25
Binary files /dev/null and b/webroot/img/icons/shield.png differ
diff --git a/webroot/img/icons/shield_add.png b/webroot/img/icons/shield_add.png
new file mode 100644
index 0000000..e20a1b4
Binary files /dev/null and b/webroot/img/icons/shield_add.png differ
diff --git a/webroot/img/icons/shield_delete.png b/webroot/img/icons/shield_delete.png
new file mode 100644
index 0000000..22823a7
Binary files /dev/null and b/webroot/img/icons/shield_delete.png differ
diff --git a/webroot/img/icons/shield_go.png b/webroot/img/icons/shield_go.png
new file mode 100644
index 0000000..e9bd852
Binary files /dev/null and b/webroot/img/icons/shield_go.png differ
diff --git a/webroot/img/icons/sitemap.png b/webroot/img/icons/sitemap.png
new file mode 100644
index 0000000..ca779f3
Binary files /dev/null and b/webroot/img/icons/sitemap.png differ
diff --git a/webroot/img/icons/sitemap_color.png b/webroot/img/icons/sitemap_color.png
new file mode 100644
index 0000000..c64582b
Binary files /dev/null and b/webroot/img/icons/sitemap_color.png differ
diff --git a/webroot/img/icons/sound.png b/webroot/img/icons/sound.png
new file mode 100644
index 0000000..6056d23
Binary files /dev/null and b/webroot/img/icons/sound.png differ
diff --git a/webroot/img/icons/sound_add.png b/webroot/img/icons/sound_add.png
new file mode 100644
index 0000000..965c503
Binary files /dev/null and b/webroot/img/icons/sound_add.png differ
diff --git a/webroot/img/icons/sound_delete.png b/webroot/img/icons/sound_delete.png
new file mode 100644
index 0000000..ab9577a
Binary files /dev/null and b/webroot/img/icons/sound_delete.png differ
diff --git a/webroot/img/icons/sound_low.png b/webroot/img/icons/sound_low.png
new file mode 100644
index 0000000..4d91863
Binary files /dev/null and b/webroot/img/icons/sound_low.png differ
diff --git a/webroot/img/icons/sound_mute.png b/webroot/img/icons/sound_mute.png
new file mode 100644
index 0000000..b652d2a
Binary files /dev/null and b/webroot/img/icons/sound_mute.png differ
diff --git a/webroot/img/icons/sound_none.png b/webroot/img/icons/sound_none.png
new file mode 100644
index 0000000..b497ebd
Binary files /dev/null and b/webroot/img/icons/sound_none.png differ
diff --git a/webroot/img/icons/spellcheck.png b/webroot/img/icons/spellcheck.png
new file mode 100644
index 0000000..ebc632d
Binary files /dev/null and b/webroot/img/icons/spellcheck.png differ
diff --git a/webroot/img/icons/sport_8ball.png b/webroot/img/icons/sport_8ball.png
new file mode 100644
index 0000000..4f627b7
Binary files /dev/null and b/webroot/img/icons/sport_8ball.png differ
diff --git a/webroot/img/icons/sport_basketball.png b/webroot/img/icons/sport_basketball.png
new file mode 100644
index 0000000..f7a000b
Binary files /dev/null and b/webroot/img/icons/sport_basketball.png differ
diff --git a/webroot/img/icons/sport_football.png b/webroot/img/icons/sport_football.png
new file mode 100644
index 0000000..199f0f7
Binary files /dev/null and b/webroot/img/icons/sport_football.png differ
diff --git a/webroot/img/icons/sport_golf.png b/webroot/img/icons/sport_golf.png
new file mode 100644
index 0000000..e21fa44
Binary files /dev/null and b/webroot/img/icons/sport_golf.png differ
diff --git a/webroot/img/icons/sport_raquet.png b/webroot/img/icons/sport_raquet.png
new file mode 100644
index 0000000..f5e0f0c
Binary files /dev/null and b/webroot/img/icons/sport_raquet.png differ
diff --git a/webroot/img/icons/sport_shuttlecock.png b/webroot/img/icons/sport_shuttlecock.png
new file mode 100644
index 0000000..917287f
Binary files /dev/null and b/webroot/img/icons/sport_shuttlecock.png differ
diff --git a/webroot/img/icons/sport_soccer.png b/webroot/img/icons/sport_soccer.png
new file mode 100644
index 0000000..3eb1828
Binary files /dev/null and b/webroot/img/icons/sport_soccer.png differ
diff --git a/webroot/img/icons/sport_tennis.png b/webroot/img/icons/sport_tennis.png
new file mode 100644
index 0000000..e88a6ef
Binary files /dev/null and b/webroot/img/icons/sport_tennis.png differ
diff --git a/webroot/img/icons/star.png b/webroot/img/icons/star.png
new file mode 100644
index 0000000..b88c857
Binary files /dev/null and b/webroot/img/icons/star.png differ
diff --git a/webroot/img/icons/status_away.png b/webroot/img/icons/status_away.png
new file mode 100644
index 0000000..70bcbcc
Binary files /dev/null and b/webroot/img/icons/status_away.png differ
diff --git a/webroot/img/icons/status_busy.png b/webroot/img/icons/status_busy.png
new file mode 100644
index 0000000..987c806
Binary files /dev/null and b/webroot/img/icons/status_busy.png differ
diff --git a/webroot/img/icons/status_offline.png b/webroot/img/icons/status_offline.png
new file mode 100644
index 0000000..a88261a
Binary files /dev/null and b/webroot/img/icons/status_offline.png differ
diff --git a/webroot/img/icons/status_online.png b/webroot/img/icons/status_online.png
new file mode 100644
index 0000000..947bd4b
Binary files /dev/null and b/webroot/img/icons/status_online.png differ
diff --git a/webroot/img/icons/stop.png b/webroot/img/icons/stop.png
new file mode 100644
index 0000000..0cfd585
Binary files /dev/null and b/webroot/img/icons/stop.png differ
diff --git a/webroot/img/icons/style.png b/webroot/img/icons/style.png
new file mode 100644
index 0000000..81e41de
Binary files /dev/null and b/webroot/img/icons/style.png differ
diff --git a/webroot/img/icons/style_add.png b/webroot/img/icons/style_add.png
new file mode 100644
index 0000000..e0369c6
Binary files /dev/null and b/webroot/img/icons/style_add.png differ
diff --git a/webroot/img/icons/style_delete.png b/webroot/img/icons/style_delete.png
new file mode 100644
index 0000000..640f187
Binary files /dev/null and b/webroot/img/icons/style_delete.png differ
diff --git a/webroot/img/icons/style_edit.png b/webroot/img/icons/style_edit.png
new file mode 100644
index 0000000..25bb5b6
Binary files /dev/null and b/webroot/img/icons/style_edit.png differ
diff --git a/webroot/img/icons/style_go.png b/webroot/img/icons/style_go.png
new file mode 100644
index 0000000..25d6181
Binary files /dev/null and b/webroot/img/icons/style_go.png differ
diff --git a/webroot/img/icons/sum.png b/webroot/img/icons/sum.png
new file mode 100644
index 0000000..fd7b32e
Binary files /dev/null and b/webroot/img/icons/sum.png differ
diff --git a/webroot/img/icons/tab.png b/webroot/img/icons/tab.png
new file mode 100644
index 0000000..3d8207f
Binary files /dev/null and b/webroot/img/icons/tab.png differ
diff --git a/webroot/img/icons/tab_add.png b/webroot/img/icons/tab_add.png
new file mode 100644
index 0000000..d3b9936
Binary files /dev/null and b/webroot/img/icons/tab_add.png differ
diff --git a/webroot/img/icons/tab_delete.png b/webroot/img/icons/tab_delete.png
new file mode 100644
index 0000000..100da2f
Binary files /dev/null and b/webroot/img/icons/tab_delete.png differ
diff --git a/webroot/img/icons/tab_edit.png b/webroot/img/icons/tab_edit.png
new file mode 100644
index 0000000..4c09c0f
Binary files /dev/null and b/webroot/img/icons/tab_edit.png differ
diff --git a/webroot/img/icons/tab_go.png b/webroot/img/icons/tab_go.png
new file mode 100644
index 0000000..844ce04
Binary files /dev/null and b/webroot/img/icons/tab_go.png differ
diff --git a/webroot/img/icons/table.png b/webroot/img/icons/table.png
new file mode 100644
index 0000000..abcd936
Binary files /dev/null and b/webroot/img/icons/table.png differ
diff --git a/webroot/img/icons/table_add.png b/webroot/img/icons/table_add.png
new file mode 100644
index 0000000..2a3e5c4
Binary files /dev/null and b/webroot/img/icons/table_add.png differ
diff --git a/webroot/img/icons/table_delete.png b/webroot/img/icons/table_delete.png
new file mode 100644
index 0000000..b85916d
Binary files /dev/null and b/webroot/img/icons/table_delete.png differ
diff --git a/webroot/img/icons/table_edit.png b/webroot/img/icons/table_edit.png
new file mode 100644
index 0000000..bfcb024
Binary files /dev/null and b/webroot/img/icons/table_edit.png differ
diff --git a/webroot/img/icons/table_error.png b/webroot/img/icons/table_error.png
new file mode 100644
index 0000000..589e92b
Binary files /dev/null and b/webroot/img/icons/table_error.png differ
diff --git a/webroot/img/icons/table_gear.png b/webroot/img/icons/table_gear.png
new file mode 100644
index 0000000..cfc2702
Binary files /dev/null and b/webroot/img/icons/table_gear.png differ
diff --git a/webroot/img/icons/table_go.png b/webroot/img/icons/table_go.png
new file mode 100644
index 0000000..0528dfa
Binary files /dev/null and b/webroot/img/icons/table_go.png differ
diff --git a/webroot/img/icons/table_key.png b/webroot/img/icons/table_key.png
new file mode 100644
index 0000000..34e23e2
Binary files /dev/null and b/webroot/img/icons/table_key.png differ
diff --git a/webroot/img/icons/table_lightning.png b/webroot/img/icons/table_lightning.png
new file mode 100644
index 0000000..612612b
Binary files /dev/null and b/webroot/img/icons/table_lightning.png differ
diff --git a/webroot/img/icons/table_link.png b/webroot/img/icons/table_link.png
new file mode 100644
index 0000000..decac8a
Binary files /dev/null and b/webroot/img/icons/table_link.png differ
diff --git a/webroot/img/icons/table_multiple.png b/webroot/img/icons/table_multiple.png
new file mode 100644
index 0000000..d76448e
Binary files /dev/null and b/webroot/img/icons/table_multiple.png differ
diff --git a/webroot/img/icons/table_refresh.png b/webroot/img/icons/table_refresh.png
new file mode 100644
index 0000000..ab92010
Binary files /dev/null and b/webroot/img/icons/table_refresh.png differ
diff --git a/webroot/img/icons/table_relationship.png b/webroot/img/icons/table_relationship.png
new file mode 100644
index 0000000..28b8505
Binary files /dev/null and b/webroot/img/icons/table_relationship.png differ
diff --git a/webroot/img/icons/table_row_delete.png b/webroot/img/icons/table_row_delete.png
new file mode 100644
index 0000000..54c6969
Binary files /dev/null and b/webroot/img/icons/table_row_delete.png differ
diff --git a/webroot/img/icons/table_row_insert.png b/webroot/img/icons/table_row_insert.png
new file mode 100644
index 0000000..ff5925e
Binary files /dev/null and b/webroot/img/icons/table_row_insert.png differ
diff --git a/webroot/img/icons/table_save.png b/webroot/img/icons/table_save.png
new file mode 100644
index 0000000..25b74d1
Binary files /dev/null and b/webroot/img/icons/table_save.png differ
diff --git a/webroot/img/icons/table_sort.png b/webroot/img/icons/table_sort.png
new file mode 100644
index 0000000..ed6785a
Binary files /dev/null and b/webroot/img/icons/table_sort.png differ
diff --git a/webroot/img/icons/tag.png b/webroot/img/icons/tag.png
new file mode 100644
index 0000000..e093032
Binary files /dev/null and b/webroot/img/icons/tag.png differ
diff --git a/webroot/img/icons/tag_blue.png b/webroot/img/icons/tag_blue.png
new file mode 100644
index 0000000..9757fc6
Binary files /dev/null and b/webroot/img/icons/tag_blue.png differ
diff --git a/webroot/img/icons/tag_blue_add.png b/webroot/img/icons/tag_blue_add.png
new file mode 100644
index 0000000..f135248
Binary files /dev/null and b/webroot/img/icons/tag_blue_add.png differ
diff --git a/webroot/img/icons/tag_blue_delete.png b/webroot/img/icons/tag_blue_delete.png
new file mode 100644
index 0000000..9fbae67
Binary files /dev/null and b/webroot/img/icons/tag_blue_delete.png differ
diff --git a/webroot/img/icons/tag_blue_edit.png b/webroot/img/icons/tag_blue_edit.png
new file mode 100644
index 0000000..2a9f626
Binary files /dev/null and b/webroot/img/icons/tag_blue_edit.png differ
diff --git a/webroot/img/icons/tag_green.png b/webroot/img/icons/tag_green.png
new file mode 100644
index 0000000..83ec984
Binary files /dev/null and b/webroot/img/icons/tag_green.png differ
diff --git a/webroot/img/icons/tag_orange.png b/webroot/img/icons/tag_orange.png
new file mode 100644
index 0000000..454a59f
Binary files /dev/null and b/webroot/img/icons/tag_orange.png differ
diff --git a/webroot/img/icons/tag_pink.png b/webroot/img/icons/tag_pink.png
new file mode 100644
index 0000000..76e2296
Binary files /dev/null and b/webroot/img/icons/tag_pink.png differ
diff --git a/webroot/img/icons/tag_purple.png b/webroot/img/icons/tag_purple.png
new file mode 100644
index 0000000..ebaf0e8
Binary files /dev/null and b/webroot/img/icons/tag_purple.png differ
diff --git a/webroot/img/icons/tag_red.png b/webroot/img/icons/tag_red.png
new file mode 100644
index 0000000..6ebb37d
Binary files /dev/null and b/webroot/img/icons/tag_red.png differ
diff --git a/webroot/img/icons/tag_yellow.png b/webroot/img/icons/tag_yellow.png
new file mode 100644
index 0000000..83d1292
Binary files /dev/null and b/webroot/img/icons/tag_yellow.png differ
diff --git a/webroot/img/icons/telephone.png b/webroot/img/icons/telephone.png
new file mode 100644
index 0000000..cecc436
Binary files /dev/null and b/webroot/img/icons/telephone.png differ
diff --git a/webroot/img/icons/telephone_add.png b/webroot/img/icons/telephone_add.png
new file mode 100644
index 0000000..5591cfc
Binary files /dev/null and b/webroot/img/icons/telephone_add.png differ
diff --git a/webroot/img/icons/telephone_delete.png b/webroot/img/icons/telephone_delete.png
new file mode 100644
index 0000000..0013268
Binary files /dev/null and b/webroot/img/icons/telephone_delete.png differ
diff --git a/webroot/img/icons/telephone_edit.png b/webroot/img/icons/telephone_edit.png
new file mode 100644
index 0000000..bcf6d7e
Binary files /dev/null and b/webroot/img/icons/telephone_edit.png differ
diff --git a/webroot/img/icons/telephone_error.png b/webroot/img/icons/telephone_error.png
new file mode 100644
index 0000000..d3ec3a1
Binary files /dev/null and b/webroot/img/icons/telephone_error.png differ
diff --git a/webroot/img/icons/telephone_go.png b/webroot/img/icons/telephone_go.png
new file mode 100644
index 0000000..395c8fb
Binary files /dev/null and b/webroot/img/icons/telephone_go.png differ
diff --git a/webroot/img/icons/telephone_key.png b/webroot/img/icons/telephone_key.png
new file mode 100644
index 0000000..cef5dec
Binary files /dev/null and b/webroot/img/icons/telephone_key.png differ
diff --git a/webroot/img/icons/telephone_link.png b/webroot/img/icons/telephone_link.png
new file mode 100644
index 0000000..ef1ee5d
Binary files /dev/null and b/webroot/img/icons/telephone_link.png differ
diff --git a/webroot/img/icons/television.png b/webroot/img/icons/television.png
new file mode 100644
index 0000000..1738a4f
Binary files /dev/null and b/webroot/img/icons/television.png differ
diff --git a/webroot/img/icons/television_add.png b/webroot/img/icons/television_add.png
new file mode 100644
index 0000000..2baaad9
Binary files /dev/null and b/webroot/img/icons/television_add.png differ
diff --git a/webroot/img/icons/television_delete.png b/webroot/img/icons/television_delete.png
new file mode 100644
index 0000000..b9a5860
Binary files /dev/null and b/webroot/img/icons/television_delete.png differ
diff --git a/webroot/img/icons/text_align_center.png b/webroot/img/icons/text_align_center.png
new file mode 100644
index 0000000..57beb38
Binary files /dev/null and b/webroot/img/icons/text_align_center.png differ
diff --git a/webroot/img/icons/text_align_justify.png b/webroot/img/icons/text_align_justify.png
new file mode 100644
index 0000000..2fbdd69
Binary files /dev/null and b/webroot/img/icons/text_align_justify.png differ
diff --git a/webroot/img/icons/text_align_left.png b/webroot/img/icons/text_align_left.png
new file mode 100644
index 0000000..6c8fcc1
Binary files /dev/null and b/webroot/img/icons/text_align_left.png differ
diff --git a/webroot/img/icons/text_align_right.png b/webroot/img/icons/text_align_right.png
new file mode 100644
index 0000000..a150257
Binary files /dev/null and b/webroot/img/icons/text_align_right.png differ
diff --git a/webroot/img/icons/text_allcaps.png b/webroot/img/icons/text_allcaps.png
new file mode 100644
index 0000000..280fd44
Binary files /dev/null and b/webroot/img/icons/text_allcaps.png differ
diff --git a/webroot/img/icons/text_bold.png b/webroot/img/icons/text_bold.png
new file mode 100644
index 0000000..889ae80
Binary files /dev/null and b/webroot/img/icons/text_bold.png differ
diff --git a/webroot/img/icons/text_columns.png b/webroot/img/icons/text_columns.png
new file mode 100644
index 0000000..97b2e03
Binary files /dev/null and b/webroot/img/icons/text_columns.png differ
diff --git a/webroot/img/icons/text_dropcaps.png b/webroot/img/icons/text_dropcaps.png
new file mode 100644
index 0000000..dd65786
Binary files /dev/null and b/webroot/img/icons/text_dropcaps.png differ
diff --git a/webroot/img/icons/text_heading_1.png b/webroot/img/icons/text_heading_1.png
new file mode 100644
index 0000000..9c122e9
Binary files /dev/null and b/webroot/img/icons/text_heading_1.png differ
diff --git a/webroot/img/icons/text_heading_2.png b/webroot/img/icons/text_heading_2.png
new file mode 100644
index 0000000..fbd8765
Binary files /dev/null and b/webroot/img/icons/text_heading_2.png differ
diff --git a/webroot/img/icons/text_heading_3.png b/webroot/img/icons/text_heading_3.png
new file mode 100644
index 0000000..c7836cf
Binary files /dev/null and b/webroot/img/icons/text_heading_3.png differ
diff --git a/webroot/img/icons/text_heading_4.png b/webroot/img/icons/text_heading_4.png
new file mode 100644
index 0000000..4e929ea
Binary files /dev/null and b/webroot/img/icons/text_heading_4.png differ
diff --git a/webroot/img/icons/text_heading_5.png b/webroot/img/icons/text_heading_5.png
new file mode 100644
index 0000000..30cabeb
Binary files /dev/null and b/webroot/img/icons/text_heading_5.png differ
diff --git a/webroot/img/icons/text_heading_6.png b/webroot/img/icons/text_heading_6.png
new file mode 100644
index 0000000..058170a
Binary files /dev/null and b/webroot/img/icons/text_heading_6.png differ
diff --git a/webroot/img/icons/text_horizontalrule.png b/webroot/img/icons/text_horizontalrule.png
new file mode 100644
index 0000000..8dd1da1
Binary files /dev/null and b/webroot/img/icons/text_horizontalrule.png differ
diff --git a/webroot/img/icons/text_indent.png b/webroot/img/icons/text_indent.png
new file mode 100644
index 0000000..9364532
Binary files /dev/null and b/webroot/img/icons/text_indent.png differ
diff --git a/webroot/img/icons/text_indent_remove.png b/webroot/img/icons/text_indent_remove.png
new file mode 100644
index 0000000..1651b07
Binary files /dev/null and b/webroot/img/icons/text_indent_remove.png differ
diff --git a/webroot/img/icons/text_italic.png b/webroot/img/icons/text_italic.png
new file mode 100644
index 0000000..8482ac8
Binary files /dev/null and b/webroot/img/icons/text_italic.png differ
diff --git a/webroot/img/icons/text_kerning.png b/webroot/img/icons/text_kerning.png
new file mode 100644
index 0000000..377def6
Binary files /dev/null and b/webroot/img/icons/text_kerning.png differ
diff --git a/webroot/img/icons/text_letter_omega.png b/webroot/img/icons/text_letter_omega.png
new file mode 100644
index 0000000..5075ec6
Binary files /dev/null and b/webroot/img/icons/text_letter_omega.png differ
diff --git a/webroot/img/icons/text_letterspacing.png b/webroot/img/icons/text_letterspacing.png
new file mode 100644
index 0000000..41390f5
Binary files /dev/null and b/webroot/img/icons/text_letterspacing.png differ
diff --git a/webroot/img/icons/text_linespacing.png b/webroot/img/icons/text_linespacing.png
new file mode 100644
index 0000000..1a91cbd
Binary files /dev/null and b/webroot/img/icons/text_linespacing.png differ
diff --git a/webroot/img/icons/text_list_bullets.png b/webroot/img/icons/text_list_bullets.png
new file mode 100644
index 0000000..4a8672b
Binary files /dev/null and b/webroot/img/icons/text_list_bullets.png differ
diff --git a/webroot/img/icons/text_list_numbers.png b/webroot/img/icons/text_list_numbers.png
new file mode 100644
index 0000000..33b0b8d
Binary files /dev/null and b/webroot/img/icons/text_list_numbers.png differ
diff --git a/webroot/img/icons/text_lowercase.png b/webroot/img/icons/text_lowercase.png
new file mode 100644
index 0000000..382a102
Binary files /dev/null and b/webroot/img/icons/text_lowercase.png differ
diff --git a/webroot/img/icons/text_padding_bottom.png b/webroot/img/icons/text_padding_bottom.png
new file mode 100644
index 0000000..4880c43
Binary files /dev/null and b/webroot/img/icons/text_padding_bottom.png differ
diff --git a/webroot/img/icons/text_padding_left.png b/webroot/img/icons/text_padding_left.png
new file mode 100644
index 0000000..b55482e
Binary files /dev/null and b/webroot/img/icons/text_padding_left.png differ
diff --git a/webroot/img/icons/text_padding_right.png b/webroot/img/icons/text_padding_right.png
new file mode 100644
index 0000000..106edae
Binary files /dev/null and b/webroot/img/icons/text_padding_right.png differ
diff --git a/webroot/img/icons/text_padding_top.png b/webroot/img/icons/text_padding_top.png
new file mode 100644
index 0000000..c5c45b2
Binary files /dev/null and b/webroot/img/icons/text_padding_top.png differ
diff --git a/webroot/img/icons/text_replace.png b/webroot/img/icons/text_replace.png
new file mode 100644
index 0000000..877f82f
Binary files /dev/null and b/webroot/img/icons/text_replace.png differ
diff --git a/webroot/img/icons/text_signature.png b/webroot/img/icons/text_signature.png
new file mode 100644
index 0000000..c72fd80
Binary files /dev/null and b/webroot/img/icons/text_signature.png differ
diff --git a/webroot/img/icons/text_smallcaps.png b/webroot/img/icons/text_smallcaps.png
new file mode 100644
index 0000000..5b98a6e
Binary files /dev/null and b/webroot/img/icons/text_smallcaps.png differ
diff --git a/webroot/img/icons/text_strikethrough.png b/webroot/img/icons/text_strikethrough.png
new file mode 100644
index 0000000..612058a
Binary files /dev/null and b/webroot/img/icons/text_strikethrough.png differ
diff --git a/webroot/img/icons/text_subscript.png b/webroot/img/icons/text_subscript.png
new file mode 100644
index 0000000..1a2b010
Binary files /dev/null and b/webroot/img/icons/text_subscript.png differ
diff --git a/webroot/img/icons/text_superscript.png b/webroot/img/icons/text_superscript.png
new file mode 100644
index 0000000..2fb2a7c
Binary files /dev/null and b/webroot/img/icons/text_superscript.png differ
diff --git a/webroot/img/icons/text_underline.png b/webroot/img/icons/text_underline.png
new file mode 100644
index 0000000..90d0df2
Binary files /dev/null and b/webroot/img/icons/text_underline.png differ
diff --git a/webroot/img/icons/text_uppercase.png b/webroot/img/icons/text_uppercase.png
new file mode 100644
index 0000000..8dcc2db
Binary files /dev/null and b/webroot/img/icons/text_uppercase.png differ
diff --git a/webroot/img/icons/textfield.png b/webroot/img/icons/textfield.png
new file mode 100644
index 0000000..d37e730
Binary files /dev/null and b/webroot/img/icons/textfield.png differ
diff --git a/webroot/img/icons/textfield_add.png b/webroot/img/icons/textfield_add.png
new file mode 100644
index 0000000..204de72
Binary files /dev/null and b/webroot/img/icons/textfield_add.png differ
diff --git a/webroot/img/icons/textfield_delete.png b/webroot/img/icons/textfield_delete.png
new file mode 100644
index 0000000..c7bd58b
Binary files /dev/null and b/webroot/img/icons/textfield_delete.png differ
diff --git a/webroot/img/icons/textfield_key.png b/webroot/img/icons/textfield_key.png
new file mode 100644
index 0000000..a9d5e4f
Binary files /dev/null and b/webroot/img/icons/textfield_key.png differ
diff --git a/webroot/img/icons/textfield_rename.png b/webroot/img/icons/textfield_rename.png
new file mode 100644
index 0000000..4e3688e
Binary files /dev/null and b/webroot/img/icons/textfield_rename.png differ
diff --git a/webroot/img/icons/thumb_down.png b/webroot/img/icons/thumb_down.png
new file mode 100644
index 0000000..3c832d4
Binary files /dev/null and b/webroot/img/icons/thumb_down.png differ
diff --git a/webroot/img/icons/thumb_up.png b/webroot/img/icons/thumb_up.png
new file mode 100644
index 0000000..2bd16cc
Binary files /dev/null and b/webroot/img/icons/thumb_up.png differ
diff --git a/webroot/img/icons/tick.png b/webroot/img/icons/tick.png
new file mode 100644
index 0000000..a9925a0
Binary files /dev/null and b/webroot/img/icons/tick.png differ
diff --git a/webroot/img/icons/time.png b/webroot/img/icons/time.png
new file mode 100644
index 0000000..911da3f
Binary files /dev/null and b/webroot/img/icons/time.png differ
diff --git a/webroot/img/icons/time_add.png b/webroot/img/icons/time_add.png
new file mode 100644
index 0000000..dcc45cb
Binary files /dev/null and b/webroot/img/icons/time_add.png differ
diff --git a/webroot/img/icons/time_delete.png b/webroot/img/icons/time_delete.png
new file mode 100644
index 0000000..5bf8313
Binary files /dev/null and b/webroot/img/icons/time_delete.png differ
diff --git a/webroot/img/icons/time_go.png b/webroot/img/icons/time_go.png
new file mode 100644
index 0000000..d451ee0
Binary files /dev/null and b/webroot/img/icons/time_go.png differ
diff --git a/webroot/img/icons/timeline_marker.png b/webroot/img/icons/timeline_marker.png
new file mode 100644
index 0000000..a3fbddf
Binary files /dev/null and b/webroot/img/icons/timeline_marker.png differ
diff --git a/webroot/img/icons/transmit.png b/webroot/img/icons/transmit.png
new file mode 100644
index 0000000..f54bf73
Binary files /dev/null and b/webroot/img/icons/transmit.png differ
diff --git a/webroot/img/icons/transmit_add.png b/webroot/img/icons/transmit_add.png
new file mode 100644
index 0000000..b7fd4e6
Binary files /dev/null and b/webroot/img/icons/transmit_add.png differ
diff --git a/webroot/img/icons/transmit_blue.png b/webroot/img/icons/transmit_blue.png
new file mode 100644
index 0000000..7b1142f
Binary files /dev/null and b/webroot/img/icons/transmit_blue.png differ
diff --git a/webroot/img/icons/transmit_delete.png b/webroot/img/icons/transmit_delete.png
new file mode 100644
index 0000000..3d72be2
Binary files /dev/null and b/webroot/img/icons/transmit_delete.png differ
diff --git a/webroot/img/icons/transmit_edit.png b/webroot/img/icons/transmit_edit.png
new file mode 100644
index 0000000..eb9a3dd
Binary files /dev/null and b/webroot/img/icons/transmit_edit.png differ
diff --git a/webroot/img/icons/transmit_error.png b/webroot/img/icons/transmit_error.png
new file mode 100644
index 0000000..fd1d449
Binary files /dev/null and b/webroot/img/icons/transmit_error.png differ
diff --git a/webroot/img/icons/transmit_go.png b/webroot/img/icons/transmit_go.png
new file mode 100644
index 0000000..10137e5
Binary files /dev/null and b/webroot/img/icons/transmit_go.png differ
diff --git a/webroot/img/icons/tux.png b/webroot/img/icons/tux.png
new file mode 100644
index 0000000..bbefe2e
Binary files /dev/null and b/webroot/img/icons/tux.png differ
diff --git a/webroot/img/icons/user.png b/webroot/img/icons/user.png
new file mode 100644
index 0000000..79f35cc
Binary files /dev/null and b/webroot/img/icons/user.png differ
diff --git a/webroot/img/icons/user_add.png b/webroot/img/icons/user_add.png
new file mode 100644
index 0000000..deae99b
Binary files /dev/null and b/webroot/img/icons/user_add.png differ
diff --git a/webroot/img/icons/user_comment.png b/webroot/img/icons/user_comment.png
new file mode 100644
index 0000000..e54ebeb
Binary files /dev/null and b/webroot/img/icons/user_comment.png differ
diff --git a/webroot/img/icons/user_delete.png b/webroot/img/icons/user_delete.png
new file mode 100644
index 0000000..acbb563
Binary files /dev/null and b/webroot/img/icons/user_delete.png differ
diff --git a/webroot/img/icons/user_edit.png b/webroot/img/icons/user_edit.png
new file mode 100644
index 0000000..c1974cd
Binary files /dev/null and b/webroot/img/icons/user_edit.png differ
diff --git a/webroot/img/icons/user_female.png b/webroot/img/icons/user_female.png
new file mode 100644
index 0000000..7c71de0
Binary files /dev/null and b/webroot/img/icons/user_female.png differ
diff --git a/webroot/img/icons/user_go.png b/webroot/img/icons/user_go.png
new file mode 100644
index 0000000..0468cf0
Binary files /dev/null and b/webroot/img/icons/user_go.png differ
diff --git a/webroot/img/icons/user_gray.png b/webroot/img/icons/user_gray.png
new file mode 100644
index 0000000..8fd539e
Binary files /dev/null and b/webroot/img/icons/user_gray.png differ
diff --git a/webroot/img/icons/user_green.png b/webroot/img/icons/user_green.png
new file mode 100644
index 0000000..30383c2
Binary files /dev/null and b/webroot/img/icons/user_green.png differ
diff --git a/webroot/img/icons/user_orange.png b/webroot/img/icons/user_orange.png
new file mode 100644
index 0000000..b818127
Binary files /dev/null and b/webroot/img/icons/user_orange.png differ
diff --git a/webroot/img/icons/user_red.png b/webroot/img/icons/user_red.png
new file mode 100644
index 0000000..c6f66e8
Binary files /dev/null and b/webroot/img/icons/user_red.png differ
diff --git a/webroot/img/icons/user_suit.png b/webroot/img/icons/user_suit.png
new file mode 100644
index 0000000..b3454e1
Binary files /dev/null and b/webroot/img/icons/user_suit.png differ
diff --git a/webroot/img/icons/vcard.png b/webroot/img/icons/vcard.png
new file mode 100644
index 0000000..c02f315
Binary files /dev/null and b/webroot/img/icons/vcard.png differ
diff --git a/webroot/img/icons/vcard_add.png b/webroot/img/icons/vcard_add.png
new file mode 100644
index 0000000..2a68453
Binary files /dev/null and b/webroot/img/icons/vcard_add.png differ
diff --git a/webroot/img/icons/vcard_delete.png b/webroot/img/icons/vcard_delete.png
new file mode 100644
index 0000000..b194b97
Binary files /dev/null and b/webroot/img/icons/vcard_delete.png differ
diff --git a/webroot/img/icons/vcard_edit.png b/webroot/img/icons/vcard_edit.png
new file mode 100644
index 0000000..ab0f6e7
Binary files /dev/null and b/webroot/img/icons/vcard_edit.png differ
diff --git a/webroot/img/icons/vector.png b/webroot/img/icons/vector.png
new file mode 100644
index 0000000..a1291c2
Binary files /dev/null and b/webroot/img/icons/vector.png differ
diff --git a/webroot/img/icons/vector_add.png b/webroot/img/icons/vector_add.png
new file mode 100644
index 0000000..988770f
Binary files /dev/null and b/webroot/img/icons/vector_add.png differ
diff --git a/webroot/img/icons/vector_delete.png b/webroot/img/icons/vector_delete.png
new file mode 100644
index 0000000..ca139e0
Binary files /dev/null and b/webroot/img/icons/vector_delete.png differ
diff --git a/webroot/img/icons/wand.png b/webroot/img/icons/wand.png
new file mode 100644
index 0000000..44ccbf8
Binary files /dev/null and b/webroot/img/icons/wand.png differ
diff --git a/webroot/img/icons/weather_clouds.png b/webroot/img/icons/weather_clouds.png
new file mode 100644
index 0000000..3f73eaa
Binary files /dev/null and b/webroot/img/icons/weather_clouds.png differ
diff --git a/webroot/img/icons/weather_cloudy.png b/webroot/img/icons/weather_cloudy.png
new file mode 100644
index 0000000..5856e1d
Binary files /dev/null and b/webroot/img/icons/weather_cloudy.png differ
diff --git a/webroot/img/icons/weather_lightning.png b/webroot/img/icons/weather_lightning.png
new file mode 100644
index 0000000..1d42b36
Binary files /dev/null and b/webroot/img/icons/weather_lightning.png differ
diff --git a/webroot/img/icons/weather_rain.png b/webroot/img/icons/weather_rain.png
new file mode 100644
index 0000000..cb3d54d
Binary files /dev/null and b/webroot/img/icons/weather_rain.png differ
diff --git a/webroot/img/icons/weather_snow.png b/webroot/img/icons/weather_snow.png
new file mode 100644
index 0000000..45bbdf1
Binary files /dev/null and b/webroot/img/icons/weather_snow.png differ
diff --git a/webroot/img/icons/weather_sun.png b/webroot/img/icons/weather_sun.png
new file mode 100644
index 0000000..0156c26
Binary files /dev/null and b/webroot/img/icons/weather_sun.png differ
diff --git a/webroot/img/icons/webcam.png b/webroot/img/icons/webcam.png
new file mode 100644
index 0000000..af71c30
Binary files /dev/null and b/webroot/img/icons/webcam.png differ
diff --git a/webroot/img/icons/webcam_add.png b/webroot/img/icons/webcam_add.png
new file mode 100644
index 0000000..f02fcfa
Binary files /dev/null and b/webroot/img/icons/webcam_add.png differ
diff --git a/webroot/img/icons/webcam_delete.png b/webroot/img/icons/webcam_delete.png
new file mode 100644
index 0000000..bd6277f
Binary files /dev/null and b/webroot/img/icons/webcam_delete.png differ
diff --git a/webroot/img/icons/webcam_error.png b/webroot/img/icons/webcam_error.png
new file mode 100644
index 0000000..2faa706
Binary files /dev/null and b/webroot/img/icons/webcam_error.png differ
diff --git a/webroot/img/icons/world.png b/webroot/img/icons/world.png
new file mode 100644
index 0000000..68f21d3
Binary files /dev/null and b/webroot/img/icons/world.png differ
diff --git a/webroot/img/icons/world_add.png b/webroot/img/icons/world_add.png
new file mode 100644
index 0000000..6d0d7f7
Binary files /dev/null and b/webroot/img/icons/world_add.png differ
diff --git a/webroot/img/icons/world_delete.png b/webroot/img/icons/world_delete.png
new file mode 100644
index 0000000..ffcd115
Binary files /dev/null and b/webroot/img/icons/world_delete.png differ
diff --git a/webroot/img/icons/world_edit.png b/webroot/img/icons/world_edit.png
new file mode 100644
index 0000000..00794d4
Binary files /dev/null and b/webroot/img/icons/world_edit.png differ
diff --git a/webroot/img/icons/world_go.png b/webroot/img/icons/world_go.png
new file mode 100644
index 0000000..aee9c97
Binary files /dev/null and b/webroot/img/icons/world_go.png differ
diff --git a/webroot/img/icons/world_link.png b/webroot/img/icons/world_link.png
new file mode 100644
index 0000000..b8edc12
Binary files /dev/null and b/webroot/img/icons/world_link.png differ
diff --git a/webroot/img/icons/wrench.png b/webroot/img/icons/wrench.png
new file mode 100644
index 0000000..5c8213f
Binary files /dev/null and b/webroot/img/icons/wrench.png differ
diff --git a/webroot/img/icons/wrench_orange.png b/webroot/img/icons/wrench_orange.png
new file mode 100644
index 0000000..565a933
Binary files /dev/null and b/webroot/img/icons/wrench_orange.png differ
diff --git a/webroot/img/icons/xhtml.png b/webroot/img/icons/xhtml.png
new file mode 100644
index 0000000..da5dbf2
Binary files /dev/null and b/webroot/img/icons/xhtml.png differ
diff --git a/webroot/img/icons/xhtml_add.png b/webroot/img/icons/xhtml_add.png
new file mode 100644
index 0000000..bbaf784
Binary files /dev/null and b/webroot/img/icons/xhtml_add.png differ
diff --git a/webroot/img/icons/xhtml_delete.png b/webroot/img/icons/xhtml_delete.png
new file mode 100644
index 0000000..157b520
Binary files /dev/null and b/webroot/img/icons/xhtml_delete.png differ
diff --git a/webroot/img/icons/xhtml_go.png b/webroot/img/icons/xhtml_go.png
new file mode 100644
index 0000000..43cf814
Binary files /dev/null and b/webroot/img/icons/xhtml_go.png differ
diff --git a/webroot/img/icons/xhtml_valid.png b/webroot/img/icons/xhtml_valid.png
new file mode 100644
index 0000000..d2e1cfb
Binary files /dev/null and b/webroot/img/icons/xhtml_valid.png differ
diff --git a/webroot/img/icons/zoom.png b/webroot/img/icons/zoom.png
new file mode 100644
index 0000000..908612e
Binary files /dev/null and b/webroot/img/icons/zoom.png differ
diff --git a/webroot/img/icons/zoom_in.png b/webroot/img/icons/zoom_in.png
new file mode 100644
index 0000000..cdf0a52
Binary files /dev/null and b/webroot/img/icons/zoom_in.png differ
diff --git a/webroot/img/icons/zoom_out.png b/webroot/img/icons/zoom_out.png
new file mode 100644
index 0000000..07bf98a
Binary files /dev/null and b/webroot/img/icons/zoom_out.png differ
diff --git a/webroot/img/logo-transp.gif b/webroot/img/logo-transp.gif
new file mode 100644
index 0000000..b8801af
Binary files /dev/null and b/webroot/img/logo-transp.gif differ
diff --git a/webroot/img/mysql.gif b/webroot/img/mysql.gif
new file mode 100644
index 0000000..2f7f5ec
Binary files /dev/null and b/webroot/img/mysql.gif differ
diff --git a/webroot/img/php.gif b/webroot/img/php.gif
new file mode 100644
index 0000000..770f371
Binary files /dev/null and b/webroot/img/php.gif differ
diff --git a/webroot/index.php b/webroot/index.php
new file mode 100644
index 0000000..f843450
--- /dev/null
+++ b/webroot/index.php
@@ -0,0 +1,93 @@
+<?php
+/* SVN FILE: $Id: index.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * Long 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.webroot
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+/**
+ * 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', ROOT);
+ }
+
+/**
+ * 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);
+ }
+ if (isset($_GET['url']) && $_GET['url'] === 'favicon.ico') {
+ return;
+ } else {
+ $Dispatcher = new Dispatcher();
+ $Dispatcher->dispatch($url);
+ }
+ if (Configure::read() > 0) {
+ echo "<!-- " . round(getMicrotime() - $TIME_START, 4) . "s -->";
+ }
+?>
\ No newline at end of file
diff --git a/webroot/js/vendors.php b/webroot/js/vendors.php
new file mode 100644
index 0000000..a6fcf32
--- /dev/null
+++ b/webroot/js/vendors.php
@@ -0,0 +1,42 @@
+<?php
+/* SVN FILE: $Id: vendors.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * This file includes js vendor-files from /vendor/ directory if they need to
+ * be accessible to the public.
+ *
+ * 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.js
+ * @since CakePHP(tm) v 0.2.9
+ * @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
+ */
+/**
+ * Enter description here...
+ */
+if (isset($_GET['file'])) {
+ $file = $_GET['file'];
+ $pos = strpos($file, '..');
+ if ($pos === false) {
+ if (is_file('../../vendors/javascript/'.$file) && (preg_match('/(\/.+)\\.js/', $file))) {
+ readfile('../../vendors/javascript/'.$file);
+ return;
+ }
+ }
+}
+header('HTTP/1.1 404 Not Found');
+?>
\ No newline at end of file
diff --git a/webroot/test.php b/webroot/test.php
new file mode 100644
index 0000000..264d780
--- /dev/null
+++ b/webroot/test.php
@@ -0,0 +1,181 @@
+<?php
+/* SVN FILE: $Id: test.php 7945 2008-12-19 02:16:01Z gwoo $ */
+/**
+ * Short description for file.
+ *
+ * Long description for file
+ *
+ * PHP versions 4 and 5
+ *
+ * CakePHP(tm) Tests <https://trac.cakephp.org/wiki/Developement/TestSuite>
+ * 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', ROOT);
+ }
+
+/**
+ * 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
