-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit b2bfe4c
Showing
277 changed files
with
51,374 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# classic rewrite rules | ||
RewriteEngine On | ||
RewriteCond %{REQUEST_FILENAME} !-f | ||
RewriteCond %{REQUEST_FILENAME} !-d | ||
RewriteRule (.*) index.php?_REWRITE_COMMAND=$1 [QSA,L] | ||
|
||
# alternative rewrite rules (without RewriteEngine On, for some CGI/FastCGI PHP installations) | ||
#RewriteCond %{REQUEST_FILENAME} !-f | ||
#RewriteCond %{REQUEST_FILENAME} !-d | ||
#RewriteRule (.*) index.php?_REWRITE_COMMAND=$1 [QSA,L] | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
|
||
CONTENTS: | ||
|
||
1. Before you begin | ||
2. Short description | ||
3. Documentation | ||
4. Quick Start | ||
|
||
|
||
---------------------------------------------------------------------- | ||
1. Before you begin: | ||
---------------------------------------------------------------------- | ||
|
||
Our Warranties, Liability and Disclaimers: | ||
|
||
NEITHER INTERACTIVE32 NOR ITS SUPPLIERS OR DISTRIBUTORS MAKE ANY SPECIFIC PROMISES ABOUT THIS SOFTWARE. FOR EXAMPLE, WE DON'T MAKE ANY COMMITMENTS ABOUT DATA AND CONTENT WITHIN THE SOFTWARE, THE SPECIFIC FUNCTION OF THE SERVICES, OR THEIR RELIABILITY, AVAILABILITY, OR ABILITY TO MEET YOUR NEEDS. WE PROVIDE THE SOFTWARE "AS IS". | ||
|
||
INTERACTIVE32 WILL NOT BE RESPONSIBLE FOR LOST PROFITS, REVENUES, OR DATA, LOSS OF GOODWILL OR BUSINESS REPUTATION, FINANCIAL LOSSES OR INDIRECT, SPECIAL, CONSEQUENTIAL, OR EXEMPLARY DAMAGES IN ALL CASES. | ||
|
||
---------------------------------------------------------------------- | ||
2. Short description | ||
---------------------------------------------------------------------- | ||
|
||
TimeCase helps you keep track of your time. It is a powerful yet easy to use web application for everyone who wants to see how much time is spent on certain tasks and projects. | ||
|
||
Version: TimeCase v2.0 | ||
|
||
For more info please visit http://timecase.net | ||
|
||
Copyright interactive32.com. All rights reserved. | ||
|
||
|
||
---------------------------------------------------------------------- | ||
3. Documentation | ||
---------------------------------------------------------------------- | ||
|
||
Documentation is located under documentation folder. Navigate to index.html file with your browser. | ||
|
||
|
||
---------------------------------------------------------------------- | ||
4. Quick Start | ||
---------------------------------------------------------------------- | ||
|
||
Follow these steps to install and configure TimeCase: | ||
|
||
- Make sure your have minimum PHP version 5.2 + Apache2 with mod_rewrite on | ||
- Copy all files to your server (via FTP or similar) | ||
- Import database.sql from database folder into your mysql server | ||
- Update _machine_config.php to reflect your database settings | ||
- Default administrator username/password is admin/admin123 | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
<?php | ||
/** | ||
* @package PROJECTS | ||
* | ||
* APPLICATION-WIDE CONFIGURATION SETTINGS | ||
* | ||
* This file contains application-wide configuration settings. The settings | ||
* here will be the same regardless of the machine on which the app is running. | ||
* | ||
* This configuration should be added to version control. | ||
* | ||
* No settings should be added to this file that would need to be changed | ||
* on a per-machine basic (ie local, staging or production). Any | ||
* machine-specific settings should be added to _machine_config.php | ||
*/ | ||
|
||
|
||
/** | ||
* Number of records per page (pagination) | ||
*/ | ||
GlobalConfig::$DEFAULT_PAGE_SIZE = 10; | ||
|
||
/** | ||
* LONG POLLING (auto-refresh table data with AJAX) | ||
* duration in miliseconds. (5000 = recommended, 0 = disabled) | ||
* warning: setting this to a low number will increase server load | ||
*/ | ||
GlobalConfig::$LONG_POLLING_DURATION = 0; | ||
|
||
|
||
|
||
|
||
/** | ||
* | ||
* Advanced/Developer settings after this line | ||
******************************************************************************************************** | ||
*/ | ||
|
||
|
||
/** | ||
* Use session timer instead of database, timer will reset if you logout, useful on demo | ||
*/ | ||
GlobalConfig::$USE_SESSION_TIMER = false; | ||
|
||
|
||
/** | ||
* APPLICATION ROOT DIRECTORY | ||
* If the application doesn't detect this correctly then it can be set explicitly | ||
*/ | ||
GlobalConfig::$APP_ROOT = realpath("./"); | ||
|
||
|
||
|
||
/** | ||
* INCLUDE PATH | ||
* Adjust the include path as necessary so PHP can locate required libraries | ||
*/ | ||
set_include_path( | ||
GlobalConfig::$APP_ROOT . '/libs/' . PATH_SEPARATOR . | ||
GlobalConfig::$APP_ROOT . '/libs/phreeze/libs/' . PATH_SEPARATOR . | ||
get_include_path() | ||
); | ||
|
||
/** | ||
* SESSION CLASSES | ||
* Any classes that will be stored in the session can be added here | ||
* and will be pre-loaded on every page | ||
*/ | ||
require_once "Controller/UserController.php"; | ||
|
||
/** | ||
* RENDER ENGINE | ||
*/ | ||
require_once 'verysimple/Phreeze/SavantRenderEngine.php'; | ||
GlobalConfig::$TEMPLATE_ENGINE = 'SavantRenderEngine'; | ||
GlobalConfig::$TEMPLATE_PATH = GlobalConfig::$APP_ROOT . '/templates/'; | ||
|
||
/** | ||
* ROUTE MAP | ||
* The route map connects URLs to Controller+Method and additionally maps the | ||
* wildcards to a named parameter so that they are accessible inside the | ||
* Controller without having to parse the URL for parameters such as IDs | ||
*/ | ||
GlobalConfig::$ROUTE_MAP = array( | ||
|
||
// default controller when no route specified | ||
'GET:' => array('route' => 'Default.Home'), | ||
|
||
// Authentication routes | ||
'GET:loginform' => array('route' => 'User.LoginForm'), | ||
'POST:loginattempt' => array('route' => 'User.LoginAttempt'), | ||
'GET:logout' => array('route' => 'User.Logout'), | ||
'GET:accountsettings' => array('route' => 'User.AccountSettingsForm'), | ||
'POST:accountsettings' => array('route' => 'User.AccountSettingsForm'), | ||
|
||
// Common calls | ||
'GET:api/getcurrentuser' => array('route' => 'Default.ReadCurrentUser'), | ||
|
||
// Reports | ||
'GET:reports' => array('route' => 'Reports.ListView'), | ||
'GET:api/reports' => array('route' => 'Reports.Query'), | ||
'GET:report/(:any)' => array('route' => 'Reports.Query', 'params' => array('type' => 1)), | ||
|
||
// Category | ||
'GET:categories' => array('route' => 'Category.ListView'), | ||
'GET:category/(:num)' => array('route' => 'Category.SingleView', 'params' => array('id' => 1)), | ||
'GET:api/categories' => array('route' => 'Category.Query'), | ||
'POST:api/category' => array('route' => 'Category.Create'), | ||
'GET:api/category/(:num)' => array('route' => 'Category.Read', 'params' => array('id' => 2)), | ||
'POST:api/category/(:num)' => array('route' => 'Category.Update', 'params' => array('id' => 2)), | ||
'POST:api/category/(:num)/delete/1' => array('route' => 'Category.Delete', 'params' => array('id' => 2)), | ||
|
||
// Customer | ||
'GET:customers' => array('route' => 'Customer.ListView'), | ||
'GET:customer/(:num)' => array('route' => 'Customer.SingleView', 'params' => array('id' => 1)), | ||
'GET:api/customers/(:any)' => array('route' => 'Customer.Query', 'params' => array('filter' => 2)), | ||
'POST:api/customer' => array('route' => 'Customer.Create'), | ||
'GET:api/customer/(:num)' => array('route' => 'Customer.Read', 'params' => array('id' => 2)), | ||
'POST:api/customer/(:num)' => array('route' => 'Customer.Update', 'params' => array('id' => 2)), | ||
'POST:api/customer/(:num)/delete/1' => array('route' => 'Customer.Delete', 'params' => array('id' => 2)), | ||
|
||
// Level | ||
'GET:api/levels' => array('route' => 'Level.Query'), | ||
|
||
// Project | ||
'GET:projects' => array('route' => 'Project.ListView'), | ||
'GET:project/(:num)' => array('route' => 'Project.SingleView', 'params' => array('id' => 1)), | ||
'GET:api/projects/(:any)' => array('route' => 'Project.Query', 'params' => array('filter' => 2)), | ||
'POST:api/project' => array('route' => 'Project.Create'), | ||
'GET:api/project/(:num)' => array('route' => 'Project.Read', 'params' => array('id' => 2)), | ||
'POST:api/project/(:num)' => array('route' => 'Project.Update', 'params' => array('id' => 2)), | ||
'POST:api/project/(:num)/delete/1' => array('route' => 'Project.Delete', 'params' => array('id' => 2)), | ||
|
||
// Status | ||
'GET:statuses' => array('route' => 'Status.ListView'), | ||
'GET:status/(:num)' => array('route' => 'Status.SingleView', 'params' => array('id' => 1)), | ||
'GET:api/statuses' => array('route' => 'Status.Query'), | ||
'POST:api/status' => array('route' => 'Status.Create'), | ||
'GET:api/status/(:num)' => array('route' => 'Status.Read', 'params' => array('id' => 2)), | ||
'POST:api/status/(:num)' => array('route' => 'Status.Update', 'params' => array('id' => 2)), | ||
'POST:api/status/(:num)/delete/1' => array('route' => 'Status.Delete', 'params' => array('id' => 2)), | ||
|
||
// TimeEntry | ||
'GET:timeentries' => array('route' => 'TimeEntry.ListView'), | ||
'GET:timeentry/(:num)' => array('route' => 'TimeEntry.SingleView', 'params' => array('id' => 1)), | ||
'GET:api/timeentries' => array('route' => 'TimeEntry.Query'), | ||
'POST:api/timeentry' => array('route' => 'TimeEntry.Create'), | ||
'GET:api/timeentry/(:num)' => array('route' => 'TimeEntry.Read', 'params' => array('id' => 2)), | ||
'POST:api/timeentry/(:num)' => array('route' => 'TimeEntry.Update', 'params' => array('id' => 2)), | ||
'POST:api/timeentry/(:num)/delete/1' => array('route' => 'TimeEntry.Delete', 'params' => array('id' => 2)), | ||
'GET:api/starttimetracking' => array('route' => 'TimeEntry.StartTimeTracking'), | ||
'GET:api/stoptimetracking' => array('route' => 'TimeEntry.StopTimeTracking'), | ||
'GET:api/checktimetracking' => array('route' => 'TimeEntry.CheckTimeTracking'), | ||
'POST:api/updatedefaults' => array('route' => 'TimeEntry.UpdateDefaults'), | ||
|
||
// User | ||
'GET:users' => array('route' => 'User.ListView'), | ||
'GET:user/(:num)' => array('route' => 'User.SingleView', 'params' => array('id' => 1)), | ||
'GET:api/users' => array('route' => 'User.Query'), | ||
'POST:api/user' => array('route' => 'User.Create'), | ||
'GET:api/user/(:num)' => array('route' => 'User.Read', 'params' => array('id' => 2)), | ||
'POST:api/user/(:num)' => array('route' => 'User.Update', 'params' => array('id' => 2)), | ||
'POST:api/user/(:num)/delete/1' => array('route' => 'User.Delete', 'params' => array('id' => 2)), | ||
|
||
// catch any broken API urls | ||
'GET:api/(:any)' => array('route' => 'Default.ErrorApi404'), | ||
'POST:api/(:any)' => array('route' => 'Default.ErrorApi404'), | ||
'POST:api/(:any)/delete/1' => array('route' => 'Default.ErrorApi404') | ||
); |
Oops, something went wrong.