hoplite.git
10 years agoThrow an exception if the template file does not exist.
Robert Sesek [Tue, 4 Jun 2013 05:11:25 +0000 (01:11 -0400)]
Throw an exception if the template file does not exist.

10 years agoTesting the return value of PDOStatement::Execute does not appear to work on MySQL.
Robert Sesek [Tue, 4 Jun 2013 05:00:52 +0000 (01:00 -0400)]
Testing the return value of PDOStatement::Execute does not appear to work on MySQL.

10 years agoPass a variable that is actually defined to MarkTemplateRendered in Template::Render.
Robert Sesek [Tue, 4 Jun 2013 04:45:28 +0000 (00:45 -0400)]
Pass a variable that is actually defined to MarkTemplateRendered in Template::Render.

10 years agoWrite a CacheBackend implementation for PDO.
Robert Sesek [Tue, 4 Jun 2013 01:54:00 +0000 (21:54 -0400)]
Write a CacheBackend implementation for PDO.

10 years agoRefactor builtin functions into a TemplateBuiltins class.
Robert Sesek [Tue, 4 Jun 2013 01:02:47 +0000 (21:02 -0400)]
Refactor builtin functions into a TemplateBuiltins class.

Also write some poor tests.

10 years agoWrite the initial builtin Template macro functions implementation.
Robert Sesek [Sun, 2 Jun 2013 21:02:22 +0000 (17:02 -0400)]
Write the initial builtin Template macro functions implementation.

10 years agoRewrite the template system to have user-customizable open and close tags.
Robert Sesek [Sat, 1 Jun 2013 18:03:19 +0000 (14:03 -0400)]
Rewrite the template system to have user-customizable open and close tags.

This requires a change in the grammar to normalize it. Rather than having {% %}
print an expression, it now evaluates a statement. To print, use {%= %} instead.
{!% %} has been removed.

10 years agoPrint comparison failure expected and actual values.
Robert Sesek [Sat, 1 Jun 2013 17:37:43 +0000 (13:37 -0400)]
Print comparison failure expected and actual values.

10 years agoSplit TemplateLoader's cache business into another interface and class.
Robert Sesek [Wed, 29 May 2013 02:45:22 +0000 (22:45 -0400)]
Split TemplateLoader's cache business into another interface and class.

This creates the CacheBackend interface, which will allow for a database cache,
and one concrete implementation FileCacheBackend. This implementation implements
the existing TemplateLoader cache behavior.

10 years agoMake use of Template names for usage profiling.
Robert Sesek [Wed, 29 May 2013 01:14:20 +0000 (21:14 -0400)]
Make use of Template names for usage profiling.

10 years agoAdd base/profiling.php and data/profiling_pdo.php.
Robert Sesek [Tue, 28 May 2013 13:44:45 +0000 (09:44 -0400)]
Add base/profiling.php and data/profiling_pdo.php.

10 years agoAdd a CHANGES file.
Robert Sesek [Tue, 28 May 2013 13:40:59 +0000 (09:40 -0400)]
Add a CHANGES file.

10 years agoMake OutputFilter::_EncodeXML protected so that the test can access it.
Robert Sesek [Sun, 19 May 2013 20:57:32 +0000 (16:57 -0400)]
Make OutputFilter::_EncodeXML protected so that the test can access it.

10 years agoAdd http\Input class to provide an input sanitization system.
Robert Sesek [Sun, 19 May 2013 20:55:52 +0000 (16:55 -0400)]
Add http\Input class to provide an input sanitization system.

11 years agoChange OutputFilter to use a delegate instead of subclassing to override behavior.
Robert Sesek [Sun, 14 Oct 2012 16:16:54 +0000 (12:16 -0400)]
Change OutputFilter to use a delegate instead of subclassing to override behavior.

12 years agoImplement hoplite\filter\RawString
Robert Sesek [Sun, 23 Oct 2011 18:47:21 +0000 (14:47 -0400)]
Implement hoplite\filter\RawString

12 years agoAdd a getter for the RootController delegate
Robert Sesek [Thu, 20 Oct 2011 00:54:50 +0000 (20:54 -0400)]
Add a getter for the RootController delegate

12 years agoAdd RootController::StopWithCode()
Robert Sesek [Sat, 8 Oct 2011 14:57:37 +0000 (10:57 -0400)]
Add RootController::StopWithCode()

12 years agoRefactor the response type guessing in OutputFilter into a method
Robert Sesek [Sat, 8 Oct 2011 04:55:19 +0000 (00:55 -0400)]
Refactor the response type guessing in OutputFilter into a method

12 years agoFix MakeUrl() for when calling it at the root page.
Robert Sesek [Mon, 22 Aug 2011 04:51:06 +0000 (00:51 -0400)]
Fix MakeUrl() for when calling it at the root page.

12 years agoUse JSON_NUMERIC_CHECK for json_encode()
Robert Sesek [Sun, 21 Aug 2011 04:29:09 +0000 (00:29 -0400)]
Use JSON_NUMERIC_CHECK for json_encode()

12 years agoAdd hoplite\views\MakeURL() in a kind of hacky way.
Robert Sesek [Sun, 14 Aug 2011 17:58:03 +0000 (13:58 -0400)]
Add hoplite\views\MakeURL() in a kind of hacky way.

12 years agoAdd hoplite\views\Inject()
Robert Sesek [Sun, 14 Aug 2011 17:45:48 +0000 (13:45 -0400)]
Add hoplite\views\Inject()

12 years agoExtract PUT data as POST params
Robert Sesek [Sun, 14 Aug 2011 17:00:18 +0000 (13:00 -0400)]
Extract PUT data as POST params

12 years agoAdd RootController::MakeURL()
Robert Sesek [Sun, 14 Aug 2011 16:01:54 +0000 (12:01 -0400)]
Add RootController::MakeURL()

12 years ago* Make Controller have an abstract _SelectModel method.
Robert Sesek [Sun, 14 Aug 2011 14:53:16 +0000 (10:53 -0400)]
* Make Controller have an abstract _SelectModel method.
* Merge the request data for the model in FilterRequest()

12 years agoMake RootControllerDelegate::OnInitialRequest also send the response
Robert Sesek [Mon, 8 Aug 2011 02:47:20 +0000 (22:47 -0400)]
Make RootControllerDelegate::OnInitialRequest also send the response

12 years agoMissing a set of ()
Robert Sesek [Mon, 8 Aug 2011 02:21:36 +0000 (22:21 -0400)]
Missing a set of ()

12 years agoAdd functionality to OutputFilter for rendering templates
Robert Sesek [Mon, 8 Aug 2011 02:19:03 +0000 (22:19 -0400)]
Add functionality to OutputFilter for rendering templates

12 years agotemplate_loader.php needs to include template.php
Robert Sesek [Mon, 8 Aug 2011 02:18:15 +0000 (22:18 -0400)]
template_loader.php needs to include template.php

12 years agoAllow an array of variables to be passed to Template::Render()
Robert Sesek [Mon, 8 Aug 2011 02:17:56 +0000 (22:17 -0400)]
Allow an array of variables to be passed to Template::Render()

12 years agoMerge form/request data in the Controller
Robert Sesek [Sun, 7 Aug 2011 07:15:15 +0000 (03:15 -0400)]
Merge form/request data in the Controller

12 years agoCheck the right header for X-Requested-With
Robert Sesek [Sun, 7 Aug 2011 07:02:39 +0000 (03:02 -0400)]
Check the right header for X-Requested-With

12 years ago* Catch PDOException in Controller
Robert Sesek [Sun, 7 Aug 2011 07:02:09 +0000 (03:02 -0400)]
* Catch PDOException in Controller
* Switch to setting the exception as the body rather than a data

12 years agoMake sure $rule_frag has length before indexing it.
Robert Sesek [Sun, 7 Aug 2011 05:56:22 +0000 (01:56 -0400)]
Make sure $rule_frag has length before indexing it.

12 years agoDon't return in FilterOutput() if there's a body already.
Robert Sesek [Sat, 6 Aug 2011 22:39:00 +0000 (18:39 -0400)]
Don't return in FilterOutput() if there's a body already.

12 years agoIntroduce a file loader to the UrlMap.
Robert Sesek [Sat, 6 Aug 2011 22:28:49 +0000 (18:28 -0400)]
Introduce a file loader to the UrlMap.

12 years agoSpecial case the empty rule.
Robert Sesek [Sat, 6 Aug 2011 22:15:37 +0000 (18:15 -0400)]
Special case the empty rule.

12 years agoOnly check the Request#data[format] key if it is set
Robert Sesek [Sat, 6 Aug 2011 22:09:31 +0000 (18:09 -0400)]
Only check the Request#data[format] key if it is set

12 years agoSend the HTTP status code in the response
Robert Sesek [Sat, 6 Aug 2011 22:09:05 +0000 (18:09 -0400)]
Send the HTTP status code in the response

12 years agoAssume an empty PATH_INFO is the root URL.
Robert Sesek [Sat, 6 Aug 2011 21:57:50 +0000 (17:57 -0400)]
Assume an empty PATH_INFO is the root URL.

12 years agoFix more bugs in TemplateLoader and a singleton helper
Robert Sesek [Sat, 6 Aug 2011 21:34:45 +0000 (17:34 -0400)]
Fix more bugs in TemplateLoader and a singleton helper

12 years ago.gitignore broke the test!
Robert Sesek [Sat, 6 Aug 2011 21:28:26 +0000 (17:28 -0400)]
.gitignore broke the test!

12 years agoGet TemplateLoader working and update the tests
Robert Sesek [Sat, 6 Aug 2011 21:02:31 +0000 (17:02 -0400)]
Get TemplateLoader working and update the tests

12 years agoChange Template::Render to return the result, rather than print it.
Robert Sesek [Sat, 6 Aug 2011 20:35:15 +0000 (16:35 -0400)]
Change Template::Render to return the result, rather than print it.

12 years agoAdd RootControllerDelegate
Robert Sesek [Sat, 6 Aug 2011 20:31:33 +0000 (16:31 -0400)]
Add RootControllerDelegate

12 years agoSet null_allowed to TRUE by default.
Robert Sesek [Sat, 6 Aug 2011 19:22:54 +0000 (15:22 -0400)]
Set null_allowed to TRUE by default.

12 years agoMore optimizations by caching the value of IsRequired()
Robert Sesek [Sat, 6 Aug 2011 19:18:04 +0000 (15:18 -0400)]
More optimizations by caching the value of IsRequired()

12 years agoSpeed up WeakInterface by 2x by caching the object reflector.
Robert Sesek [Sat, 6 Aug 2011 19:17:26 +0000 (15:17 -0400)]
Speed up WeakInterface by 2x by caching the object reflector.

12 years agoCreate WeakInterface
Robert Sesek [Sat, 6 Aug 2011 19:14:57 +0000 (15:14 -0400)]
Create WeakInterface

12 years agoImplement OutputFilter::_CreateBodyForResponse()
Robert Sesek [Sat, 6 Aug 2011 18:02:51 +0000 (14:02 -0400)]
Implement OutputFilter::_CreateBodyForResponse()

12 years agoAdd OutputFilter::_EncodeXML and create a test
Robert Sesek [Sat, 6 Aug 2011 17:28:28 +0000 (13:28 -0400)]
Add OutputFilter::_EncodeXML and create a test

12 years agoNaïve implementation of RootController::LookupAction
Robert Sesek [Sat, 6 Aug 2011 16:10:06 +0000 (12:10 -0400)]
Naïve implementation of RootController::LookupAction

12 years ago* Add RestAdapaterTest
Robert Sesek [Fri, 5 Aug 2011 04:06:18 +0000 (00:06 -0400)]
* Add RestAdapaterTest
* Refactor common HTTP test fixtures out into a new file

12 years agoAll tests pass again
Robert Sesek [Fri, 5 Aug 2011 01:21:41 +0000 (21:21 -0400)]
All tests pass again

12 years agoAdd http\RestAdapter
Robert Sesek [Fri, 5 Aug 2011 00:07:29 +0000 (20:07 -0400)]
Add http\RestAdapter

12 years agoMake http\RestController's Do methods public
Robert Sesek [Sat, 30 Jul 2011 21:56:37 +0000 (17:56 -0400)]
Make http\RestController's Do methods public

12 years agoAdd data\Controller
Robert Sesek [Sat, 30 Jul 2011 21:47:14 +0000 (17:47 -0400)]
Add data\Controller

12 years agoAdd data\Model from phalanx
Robert Sesek [Sat, 30 Jul 2011 16:33:26 +0000 (12:33 -0400)]
Add data\Model from phalanx

12 years agoAdd base\Struct from phalanx
Robert Sesek [Sat, 30 Jul 2011 16:16:51 +0000 (12:16 -0400)]
Add base\Struct from phalanx

12 years agoFix a bug in TemplateLoader
Robert Sesek [Sat, 30 Jul 2011 16:08:09 +0000 (12:08 -0400)]
Fix a bug in TemplateLoader

12 years agoAdd WIP TemplateLoader
Robert Sesek [Wed, 27 Jul 2011 13:51:25 +0000 (09:51 -0400)]
Add WIP TemplateLoader

12 years ago* Get the correct column number in parsing exceptions
Robert Sesek [Tue, 26 Jul 2011 13:05:10 +0000 (09:05 -0400)]
* Get the correct column number in parsing exceptions
* Throw an exception when nesting two macros

12 years agoAdd basic template parser and test
Robert Sesek [Tue, 26 Jul 2011 12:54:38 +0000 (08:54 -0400)]
Add basic template parser and test

12 years agoImplement UrlMap::LookupAction()
Robert Sesek [Wed, 22 Jun 2011 02:03:05 +0000 (22:03 -0400)]
Implement UrlMap::LookupAction()

12 years agoUpdate RootController and test so that a Request is passed to UrlMap::Evaluate()
Robert Sesek [Sat, 18 Jun 2011 19:25:17 +0000 (15:25 -0400)]
Update RootController and test so that a Request is passed to UrlMap::Evaluate()

12 years agoImplement UrlMap::Evaluate() with all its tests passing.
Robert Sesek [Sat, 18 Jun 2011 19:20:12 +0000 (15:20 -0400)]
Implement UrlMap::Evaluate() with all its tests passing.

12 years agoDon't print OK if a test fails
Robert Sesek [Sat, 18 Jun 2011 19:06:45 +0000 (15:06 -0400)]
Don't print OK if a test fails

12 years ago* Add a set of failing tests for UrlMap -- TDD!
Robert Sesek [Sat, 18 Jun 2011 18:19:20 +0000 (14:19 -0400)]
* Add a set of failing tests for UrlMap -- TDD!
* Document how strict pattern matching works (versus prefix)

12 years agoAdd ActionControllerTest
Robert Sesek [Sun, 12 Jun 2011 15:30:20 +0000 (11:30 -0400)]
Add ActionControllerTest

12 years agoAdd a test for RestAction
Robert Sesek [Sun, 12 Jun 2011 14:45:34 +0000 (10:45 -0400)]
Add a test for RestAction

12 years ago* Write a unittest for RootControler
Robert Sesek [Sun, 12 Jun 2011 14:30:22 +0000 (10:30 -0400)]
* Write a unittest for RootControler
* Fix a bunch of syntax errors

12 years agoAdd unit testing infrastructure, again straignt from phalanx
Robert Sesek [Sun, 12 Jun 2011 00:17:55 +0000 (20:17 -0400)]
Add unit testing infrastructure, again straignt from phalanx

12 years agoAdd functions.php, copied from phalanx
Robert Sesek [Sun, 12 Jun 2011 00:12:13 +0000 (20:12 -0400)]
Add functions.php, copied from phalanx

12 years agoStub out the OutputFilter
Robert Sesek [Sun, 12 Jun 2011 00:07:42 +0000 (20:07 -0400)]
Stub out the OutputFilter

12 years agoStub out UrlMap
Robert Sesek [Sat, 11 Jun 2011 20:54:23 +0000 (16:54 -0400)]
Stub out UrlMap

12 years ago* Add ActionController
Robert Sesek [Sat, 11 Jun 2011 18:37:37 +0000 (14:37 -0400)]
* Add ActionController
* Split out ResponseCode into its own file

12 years agoWhitespace nits in the README
Robert Sesek [Sat, 11 Jun 2011 18:08:26 +0000 (14:08 -0400)]
Whitespace nits in the README

12 years agoAdd the Request and Response objects copied from phalanx
Robert Sesek [Sat, 11 Jun 2011 14:47:15 +0000 (10:47 -0400)]
Add the Request and Response objects copied from phalanx

12 years agoStart stubbing out the design doc interfaces
Robert Sesek [Sat, 11 Jun 2011 06:31:01 +0000 (02:31 -0400)]
Start stubbing out the design doc interfaces

12 years agoAdd the design doc
Robert Sesek [Sat, 11 Jun 2011 05:54:31 +0000 (01:54 -0400)]
Add the design doc