summaryrefslogtreecommitdiff
path: root/demos/time-tracker
diff options
context:
space:
mode:
Diffstat (limited to 'demos/time-tracker')
-rw-r--r--demos/time-tracker/index_php.php33
-rw-r--r--demos/time-tracker/protected/application.php49
-rw-r--r--demos/time-tracker/protected/pages/TimeTracker/config.php30
3 files changed, 112 insertions, 0 deletions
diff --git a/demos/time-tracker/index_php.php b/demos/time-tracker/index_php.php
new file mode 100644
index 00000000..b74690e4
--- /dev/null
+++ b/demos/time-tracker/index_php.php
@@ -0,0 +1,33 @@
+<?php
+
+$basePath=dirname(__FILE__);
+//$frameworkPath='../../framework/pradolite.php';
+$frameworkPath='../../framework/prado.php';
+$assetsPath=$basePath."/assets";
+$runtimePath=$basePath."/protected/runtime";
+
+$sqlite_dir = $basePath."/protected/App_Data/SQLite";
+$sqlite_db = $sqlite_dir.'/time-tracker.db';
+
+if(!is_file($frameworkPath))
+ die("Unable to find prado framework path $frameworkPath.");
+if(!is_writable($assetsPath))
+ die("Please make sure that the directory $assetsPath is writable by Web server process.");
+if(!is_writable($runtimePath))
+ die("Please make sure that the directory $runtimePath is writable by Web server process.");
+if(!is_writable($sqlite_dir))
+ die("Please make sure that the directory $sqlite_dir is writable by Web server process.");
+if(!is_writable($sqlite_db))
+ die("Please make sure that the sqlite database file $sqlite_dir is writable by Web server process.");
+
+require_once($frameworkPath);
+
+function h($text)
+{
+ $app = Prado::getApplication()->getGlobalization();
+ $charset = $app ? $app->getCharset() : 'UTF-8';
+ return htmlentities($text, ENT_QUOTES, $charset);
+}
+
+$application=new TApplication;
+$application->run('protected',false,TApplication::CONFIG_TYPE_PHP); \ No newline at end of file
diff --git a/demos/time-tracker/protected/application.php b/demos/time-tracker/protected/application.php
new file mode 100644
index 00000000..4fd65d04
--- /dev/null
+++ b/demos/time-tracker/protected/application.php
@@ -0,0 +1,49 @@
+<?php
+return array(
+ 'application' => array(
+ 'id'=>'Time-Tracker',
+ 'Mode'=>'Debug'
+ ),
+ 'paths' => array(
+ 'aliases' => array(
+ 'Quickstart' => '../../quickstart',
+ ),
+ 'using' => array(
+ 'System.Data.*',
+ 'System.Security.*',
+ 'Application.App_Code.*',
+ 'Application.App_Code.Dao.*',
+ 'Application.App_Data.*',
+ ),
+ ),
+ 'modules' => array(
+ 'daos' => array(
+ 'class' => 'DaoManager',
+ 'properties' => array(
+ 'EnableCache' => 'true',
+ 'configFile' => 'Application.App_Data.sqlite-sqlmap',
+ ),
+ 'daos' => array(
+ 'UserDao' => 'Application.App_Code.Dao.UserDao',
+ 'ProjectDao' => 'Application.App_Code.Dao.ProjectDao',
+ 'TimeEntryDao' => 'Application.App_Code.Dao.TimeEntryDao',
+ 'CategoryDao' => 'Application.App_Code.Dao.CategoryDao',
+ 'ReportDao' => 'Application.App_Code.Dao.ReportDao',
+ )
+ ),
+ 'globalization' => array(
+ 'class' => 'System.I18N.TGlobalization',
+ 'properties' => array(
+ 'CharSet' => 'UTF-8',
+ ),
+ ),
+ ),
+ 'services' => array(
+ 'page' => array(
+ 'class' => 'TPageService',
+ 'properties' => array(
+ 'DefaultPage' => 'TimeTracker.LogTimeEntry',
+ ),
+ ),
+ ),
+); \ No newline at end of file
diff --git a/demos/time-tracker/protected/pages/TimeTracker/config.php b/demos/time-tracker/protected/pages/TimeTracker/config.php
new file mode 100644
index 00000000..8668ca15
--- /dev/null
+++ b/demos/time-tracker/protected/pages/TimeTracker/config.php
@@ -0,0 +1,30 @@
+<?php
+return array(
+ 'modules' => array(
+ 'users' => array(
+ 'class' => 'Application.App_Code.UserManager',
+ ),
+ 'auth' => array(
+ 'class' => 'Application.App_Code.TrackerAuthManager',
+ 'properties' => array(
+ 'UserManager' => 'users',
+ 'LoginPage' => 'TimeTracker.Login'
+ ),
+ ),
+ ),
+ 'authorization' => array(
+ array('action'=>'allow','pages'=>'ProjectList, ProjectDetails, ReportResource, ReportProject','roles'=>'manager'),
+ array('action'=>'allow','pages'=>'LogTimeEntry','roles'=>'consultant'),
+ array('action'=>'allow','pages'=>'UserCrate,Logout,Login','users'=>'*'),
+ array('action'=>'deny','users'=>'*'),
+ ),
+ 'pages' => array(
+ 'properties' => array(
+ 'MasterClass' => 'Application.pages.TimeTracker.MainLayout',
+ 'Theme' => 'TimeTracker',
+ ),
+ ),
+ 'parameters' => array(
+ 'NewUserRoles' => 'admin,manager,consultant',
+ ),
+); \ No newline at end of file