Commit Graph

545 Commits

Author SHA1 Message Date
Samuel Georges a0ec7652f8 Remove stub method
This is a very old stub method included to point out an override is available, in the process it prevents the viewBag property from being populated by the underlying CmsCompoundObject base class, thereby preventing anyone from extending the Layout or Page with custom form fields.
Refs #3769
2018-10-01 10:29:03 +10:00
Alexander Shapoval 709790a05d Added method getLayout() to Controller (#3765)
Credit to @ebashu-on-holidays
2018-09-09 18:55:10 -06:00
Samuel Georges 4ec3b525e0 Fixes event implementation
The array_merge approach will only shallow merge the arrays preventing a second event from contributing form fields properly. Passing by reference is the logical thing to do here.
2018-09-06 17:08:05 +10:00
Nathan van der Werf 8fd16d4db6
Merge branch 'develop' into feature/cleanup
# Conflicts:
#	modules/backend/formwidgets/FileUpload.php
2018-08-24 19:52:54 +02:00
Nathan van der Werf 0f0d108da0
Remove unused imports 2018-08-24 19:51:59 +02:00
Nathan van der Werf 66fa03f17e
Revert "Remove unused imports"
This reverts commit 742a5f415b.
2018-08-24 19:40:40 +02:00
Samuel Georges eb2419cc74 Typo 2018-08-21 13:28:12 +10:00
Samuel Georges 8383466508 Introduce events for extending Theme configuration 2018-08-21 13:18:22 +10:00
Luke Towers 1032fd0cc1 Added more inline API event docs:
Added docs for:
cms.component.beforeRunAjaxHandler
cms.component.runAjaxHandler

Improved docs for:
cms.ajax.beforeRunHandler
2018-08-18 09:05:38 -06:00
Nathan van der Werf 8b6f11e6ac Extract child instructions 2018-08-15 19:25:42 +02:00
Nathan van der Werf fbca3bea92 Remove redundant variables 2018-08-15 19:23:12 +02:00
Nathan van der Werf 62c59a4903 Refactor ternary operators to null coalescing operators 2018-08-15 19:15:13 +02:00
Nathan van der Werf a3d7a028b4 Replace is_null with "=== null" comparison 2018-08-15 18:54:46 +02:00
Nathan van der Werf 77b6f07291 Modify conditions to use elvis operators 2018-08-15 18:53:11 +02:00
Nathan van der Werf 123145fd54 Remove unnecessary parentheses 2018-08-15 18:49:52 +02:00
Nathan van der Werf 02bd38cfb1 Merge if constructs 2018-08-15 18:45:37 +02:00
Nathan van der Werf 0947406343 Remove senseless proxy functions 2018-08-15 18:35:15 +02:00
Nathan van der Werf 3a918ad200 Remove "null" assignments 2018-08-15 18:33:24 +02:00
Nathan van der Werf 742a5f415b Remove unused imports 2018-08-15 18:27:36 +02:00
Samuel Georges fb2aa1730c Fixes security issue
Refs #3604
2018-06-22 22:57:38 +10:00
whsol 15cdf6e71f Make code parser data cache key configurable (#3373)
Credit to @whsol
2018-06-05 10:10:35 -06:00
Luke Towers 92e346296e Added cms.ajax.beforeRunHandler event 2018-04-19 10:26:50 -06:00
Arthur Kushman c78b3ef786 Code formatting changes (#3363)
Code formatting improvements submitted by @arthurkushman.
2018-03-22 10:55:13 -06:00
interworks-morr 0206a6811f Improve cache reliability (#3421)
Reported and fixed by @interworks-morr: 
"Occasionally with certain IIS setups, the file will contain an out-of-date class name. This patch will verify the class name from the file before returning, and clear the cache if invalid."
2018-03-02 20:00:05 -06:00
Matteo 678916854e Add config to enable Twig strict_variables (#3370)
Adds the cms.enableTwigStrictVariables config option to enable strict_variables in Twig for debugging purposes. See https://twig.symfony.com/doc/2.x/api.html#environment-options. Credit to @matteotrubini
2018-01-26 10:59:45 -06:00
Arthur Kushman bbc33710c1 >= PHP7.0 refactoring (#3343)
* Fix loosly comparison to strict + argument types and return types for >=7.0
* Change hard-coded strings to ::class, 
* Fix unit-tests failures - some relative to 7.0 phpunit env deployment
* Fix exception string + format return types
* Change string representation of new classes in traceLog to ::class
Credit to @arthurkushman
2018-01-12 00:23:20 -06:00
viamage 7ffb79a5fd Fix typo (#3326)
Fixed typo, added CmsCompoundObject::getComponentProperties method test. Credit to @viamage
2017-12-27 13:31:34 -06:00
Miro Rauhala d54c3b18e9 Initialize missing variable (#3318)
Fixes #3317. Credit to @mirorauhala
2017-12-21 16:06:56 -06:00
Samuel Georges e6de2a5521 Fixes exception on empty token 2017-11-02 19:53:20 +11:00
Samuel Georges 4a6e0e1e0e Implement CSRF token by default
Implement CSRF protection on CMS for postback handling
2017-10-30 09:00:17 +11:00
Luke Towers 08f9cd8448 Moved the |media twig filter from the CMS module to the System module 2017-09-27 22:15:01 -06:00
Luke Towers de747f98b3 Deprecate the MediaLibrary & MediaLibraryItem classes in the CMS module 2017-09-27 22:12:45 -06:00
Luke Towers 5185ca075b Add the cms.object.listInTheme event (#3076)
Inspired by #3075. Provides a cms.object.listInTheme event to modify the results returned by that method.
2017-09-02 19:51:56 -06:00
Luke Towers 0b7170ac26 Add support for sorting direction to the MediaManager (#3007)
* Remove redundant returns

`$this->putSession()` in `Backend\Traits\SessionMaker` doesn't return anything, and the return values of these methods are not used; so returning the value of `putSession()` in these methods is redundant.

* Add support for sort direction to MediaLibrary

Adds support for switching the direction that item lists get sorted by the media library. This necessitates the changing of the default direction of Last Modified and Size to Ascending, previously their sorting direction was Descending while Title was sorted in Ascending order. This shouldn't change anything as the user still has the power to sort by either direction. Fully backwards compatible with any calls to `sortItemList`.

* Support sorting direction in the MediaManager widget

Adds further support for specifying a sorting direction to the MediaManager widget itself

* Display sorting direction options

* Improving styles for sorting direction

* Send sorting information to the MediaManager

* Add translations for sorting feature

* Removing strange ghost whitespace
2017-08-05 12:45:01 -06:00
Luke Towers 3b7a8f3123 Make extension comparisons case insensitive
Make extension comparisons done in `getFileType()` case insensitive to support audio/visual file types being correctly recognized when the file being uploaded has an uppercase extension as is occasionally the case. I.e. `.JPG` is the same as `.jpg`, this just tells October to consider them the same.
2017-07-31 21:03:28 -06:00
Samuel Georges 96d0535d09 Add generic onAjax handler that does nothing 2017-07-29 22:55:58 +10:00
Samuel Georges 5555b98799 Fixes deprecated Twig API
Refs https://github.com/kriswallsmith/assetic/pull/819
2017-07-26 22:16:52 +10:00
Samuel Georges 1db67af8e8 Merge remote-tracking branch 'remotes/origin/develop' into l55upgrade
Conflicts:
	modules/system/lang/en/lang.php
2017-07-11 10:48:54 +10:00
Max Schmitt aeba740243 Add getStatusCode() in Cms\Classes\Controller (#2959)
Related: #2953. Provide a method to access the current statusCode of a CMS controller.
2017-07-08 08:53:08 -06:00
Samuel Georges d1c160f9dc Check both instances to fix #1854
It appears there is no way around this. All directories should be lower case in October, prior to this, October wanted uppercase characters. Make up your mind guy, come on! ;-)
2017-07-01 12:26:55 +10:00
Samuel Georges 87f8f8feb1 Fixes inconsistency in component partial folder names
This is a breaking change that will require further attention - refs #1854

Eg: myComponent, the default component partial would use lower case folders
- /plugins/acme/test/components/mycomponent/default.htm

The theme component partial override would use case sensitive folders
- /themes/foobar/partials/myComponent/default.htm

This is fixed as
- /themes/foobar/partials/mycomponent/default.htm

Minor code fix to ModelBehavior class
2017-06-27 05:34:13 +10:00
Samuel Georges 3b56787a2b Use tabs cssClass definition instead of JS 2017-06-05 17:33:37 +10:00
Samuel Georges e2781c5fdf URL -> Url 2017-06-02 23:34:50 +10:00
Samuel Georges 3be6dafa6b Fixes int folder name showing as 0
Fixes #2902
Code dusting
2017-06-02 20:16:26 +10:00
Samuel Georges bab7976331 Merge branch 'develop' into l55upgrade 2017-05-20 09:08:09 +10:00
Samuel Georges d9cf7381dc Implement helper method for checking ignored path
Refs #2858
2017-05-16 07:38:38 +10:00
Samuel Georges 2a0a91486c Logic error - fixes #2654 2017-05-16 07:24:07 +10:00
Samuel Georges f05f4c21cf Merge pull request #2858 from TimFoerster/patch-1
Filter layout by ignored file names
2017-05-15 20:29:53 +10:00
Samuel Georges 5ea79489af pluck -> value
This is an odd one from Laravel, pluck is now value and lists is now pluck. We'll need a release note about this one.
2017-05-12 07:19:06 +10:00
TimFoerster 5eb278e883 Filter layout by ignored file names
The Layouts get filtered by the filesystem definition of ignored files.
#814
2017-05-04 14:53:19 +02:00
Samuel Georges 1723070444 Merge pull request #2801 from amdad/patch-1
Prevent preloading files in advance
2017-04-28 19:30:25 +10:00
Quezler cc17b679f1 Code dusting (#2826)
Code cleaning according to PSR-2 w/ exemptions (mostly dust).
2017-04-24 21:38:19 +10:00
Samuel Georges 433cf1d504 Additional security fixes 2017-04-10 16:02:05 +10:00
amdad 5aea608e77 Prevent preloading files in advance
Files should be loaded on user click. Huge amount of data is loaded on page load, especially if many audio instances are on page. This is temporary solution. Ultimately widget should support params to match html5 audio/video tags.
2017-04-07 10:27:36 +02:00
Anže Časar e0ce714285 Fix translatable URL caching
The same fix as https://github.com/rainlab/pages-plugin/pull/244 but for CMS pages.
2017-03-28 17:52:42 +02:00
Samuel Georges c7eb965af8 Introduce ignorePatterns to Media Library, ignoring dot files by default
Roll back some changes from #2692
2017-03-20 17:42:17 +11:00
Samuel Georges b447b8e056 Merge pull request #2692 from ctf0/regex-hide
use regex to hide files under media manger
2017-03-19 19:28:40 +11:00
Samuel Georges 0a981a25f7 API docs progress
Controller -> SystemController for consistency
2017-03-16 17:08:20 +11:00
Luke Towers 0df8f55450 Translate component properties' validationMessages
Fixes #2755
2017-03-15 16:56:22 -06:00
Samuel Georges 51ac144049 Moves CMS components to directory where they belong
Improve inline docs
2017-03-16 07:00:39 +11:00
Samuel Georges b841f9e066 {@inheritDoc} -> @inheritDoc 2017-03-16 06:26:14 +11:00
Samuel Georges e54cf7133b Improve some inline docs in preparation for API docs 2017-03-14 19:36:17 +11:00
Samuel Georges c704ddcdf0 md5 is faster than crc32 in PHP apparently
Reference https://3v4l.org/2MAUr
2017-02-23 07:40:04 +11:00
Muah bcd75c84c0 use regex to hide files under media manger 2017-02-20 13:54:30 +02:00
Samuel Georges 462c9cd4e8 Introduce theme logging + log settings
CmsObject changes can now be tracked (disabled by default)
Request logging is now disabled by default (security vector)
2017-02-08 05:44:04 +11:00
Pásztor Gábor 8beadb1ecc Typo 2017-02-05 21:43:14 +01:00
Samuel Georges b2301a8056 Add new config cms.forceBytecodeInvalidation
Refs #2385
2017-01-31 07:23:58 +11:00
Samuel Georges e2a5d54393 Revise #2426 - Rename preview to previewImage
This is an exotic feature so don't include in the form fields
2017-01-29 09:13:01 +11:00
Samuel Georges 8b2be062e5 Merge pull request #2426 from gergo85/develop
Set the path of theme preview image manually
2017-01-29 09:07:52 +11:00
Samuel Georges 60c322cf46 Add note from #2620 2017-01-21 11:30:19 +11:00
Luke Towers 8fcc80b9e1 Support nested components
This adds proper support for nested components by saving the value of the existing component context and restoring it after rendering the desired component. Fixes octobercms/october#2619
2017-01-20 14:34:48 -06:00
Samuel Georges 22bc5fce68 Bust OP cache for CMS template cache files
Fixes #2385
2017-01-20 07:20:08 +11:00
Aleksey Bobkov 5415e64cf3 Added an option to suppress folders in the MediaLibrary::listFolderContents() calls. Fixes #2016 2017-01-12 17:40:08 -08:00
Samuel Georges 0a2b343047 Simplify system events
This pipes all event calls through a new EventEmitter trait, which substitutes the October Rain event emitter trait. The view event has been moved to this trait also.
Pass some variables by reference to allow multi-extension.
Fixes #2420
2016-12-10 09:02:06 +11:00
Samuel Georges 1bdedb5584 Add renderPartial event to match renderContent
Fixes #2519
Fixes #2533
2016-12-09 08:15:32 +11:00
Samuel Georges 10326c2d63 Framework supports passing a "flash" option
This will request the Flash contents, if they are available. It also clears the flash bag contents, which is why this is an optional feature.
Introduced "ajaxValidation" event for capturing all invalid fields at once
2016-11-18 07:39:54 +11:00
Szabó Gergő 78d7436460 Set the path of theme preview image manually 2016-10-17 13:51:09 +02:00
Szabó Gergő d7f1d523f0 Translate some strings (#2395)
* Translate some strings
2016-10-11 08:29:26 +11:00
Samuel Georges 8075b40bf0 Now that File facade is removed, we must apply chmod manually 2016-08-27 13:38:19 +10:00
Samuel Georges dd06cd13fa Handle cases where directory is not writable 2016-08-27 13:27:57 +10:00
Samuel Georges 1e0741e407 Fixes CodeParser concurrent access errors
Big thanks to @shina, @BearishSun and @MarcoROG for their help with finding a solution
Fixes #1250
2016-08-27 12:45:56 +10:00
Samuel Georges c8d8d4e931 Introduce new Cms helper
This is modeled after the Backend helper. Primarily used to generate URLs for the frontend, these are piped through the CmsController action. It would also be a good place to add a hook, if necessary later.
2016-08-20 14:43:49 +10:00
Samuel Georges 3698f13acb URL -> Url 2016-08-20 14:26:21 +10:00
Samuel Georges 556b951e63 Calling dynamic methods for extended components
In the spirit of #2288
2016-08-06 09:55:42 +10:00
Samuel Georges 78a4067564 Make logic more explicit
This tightens up the rules of 7baea87068
2016-07-23 15:50:48 +10:00
Samuel Georges 7baea87068 Allow AJAX handlers to pipe objects to Laravel
Treat non scalar, non array, non RedirectResponse, non null as a Laravel compatible response
This brings AJAX handlers in line with page cycles, which do the same thing if the response is not a string. However in AJAX we should treat any scalar as a "result", not just a string. For all else (where not null), let Laravel handle it as a custom response object -- could be a model for serialization, or anything compatible.
Importantly to note when a custom redirect is sent, October's workflow is completely wiped out, so any partial updates, redirects, etc. will not occur. This is a normal and fair expectation.
Fixes #1784
2016-07-23 11:57:15 +10:00
Samuel Georges 676196d304 Use starts_with instead of regex 2016-07-16 15:34:20 +10:00
Samuel Georges e970d80443 Align AJAX logic: merge custom response last
This is to allow overriding the standard values
Refs #2209
2016-07-16 13:11:10 +10:00
Anže Časar 68deb59265 Pass the router reference on beforeRoute event 2016-07-15 17:05:25 +02:00
Samuel Georges 6ca828a1fa Always return an active theme and data 2016-06-16 08:01:34 +10:00
Samuel Georges 0111100990 Shared view vars now passed to content blocks and mail templates 2016-06-04 07:26:16 +10:00
Samuel Georges 27dc84c59b ThemeData can now pass variables to the combiner
Add support for fileuploads to ThemeData
Fixes #1539
2016-06-02 05:23:05 +10:00
Samuel Georges 74a6a71bcb Parameters -> Parameter
(Models should be singular)
2016-05-31 08:17:48 +10:00
Samuel Georges ebc7929ada MaintenanceSettings -> MaintenanceSetting 2016-05-27 07:49:13 +10:00
Samuel Georges cdb35f5070 UserPreferences -> UserPreference
(Models should be singular)
2016-05-27 07:35:32 +10:00
Samuel Georges d730f9af9d Merge branch 'froala' into develop 2016-05-24 05:46:39 +10:00
Samuel Georges af19341c01 "Quick Uploads" are dumped in a special folder via media manager
Refs #2005
Remove the active state on media manager table data for consistency with other view modes
2016-05-22 07:24:04 +10:00
Jérémy Gaulin e3812036da Allow usage of namespace alias in the code section a a CMS page, with
unit test. Fixes #2006
2016-05-21 16:27:15 +02:00
Samuel Georges adbde0ad09 If the cache should fail, don't bring down the whole app 2016-04-27 05:44:32 +10:00
Samuel Georges a5acbc7bff Add before/after events for component::onRun 2016-04-27 05:44:32 +10:00
Samuel Georges 87a4de40de Address serialize/unserialize issues
This will require a cache clear for the combiner
Ref https://davidwalsh.name/php-serialize-unserialize-issues
2016-04-16 08:22:31 +10:00
Samuel Georges b534006f35 DbDongle -> App::hasDatabase 2016-04-16 07:44:18 +10:00
Samuel Georges cafd5d7ffa ComponentPartial properties should be publically accessible
Fixes caching issue when updating a component partial
2016-04-16 04:42:34 +10:00
Samuel Georges f68eb3f20f Move halcyon registration to model boot
Attempt to fix issue where service provider looks at system_preferences database table that doesn't exist yet as part of the boot() method
Fixes #1897
2016-04-04 18:37:56 +10:00
Samuel Georges ca3e13ed33 Fixes issue related to PHP 5.5.12
For some reason the closure did not like static calls inside, bye bye array_map(...)
2016-04-02 17:39:23 +11:00
Pásztor Gábor 9f3fcf27ed Update AssetsList 2016-03-30 18:17:18 +02:00
Pásztor Gábor 40269cb6e2 Clean up 2016-03-29 14:55:25 +02:00
Pásztor Gábor 87a5ff339e Fix error in Maintenance Settings 2016-03-28 15:41:47 +02:00
Samuel Georges 86d4ae491e Minor 2016-03-25 18:42:39 +11:00
Samuel Georges 2a7dbdd74a Merge branch 'stable' into ui
Conflicts:
	modules/cms/classes/CmsObject.php
	modules/cms/widgets/MediaManager.php
2016-03-25 18:42:13 +11:00
Samuel Georges 4ddc8055c6 Merge branch 'develop' into stable 2016-03-25 18:39:16 +11:00
Samuel Georges 3cac52afd4 Default is null, not false 2016-03-25 10:42:14 +11:00
Samuel Georges f1aa720086 Create a safe mode to disable code field in the CMS
Fixes #1756
2016-03-25 10:05:04 +11:00
Samuel Georges 680887f452 Fixes component access issue 2016-03-25 09:56:36 +11:00
Samuel Georges 7c08b10fa2 Add cms.theme.setActiveTheme event
Bring other event names in to line with convention
Complete getConfigArray method
2016-03-23 20:11:55 +11:00
Samuel Georges 0b74734fae Make room to load theme options from files
For example:
form: path/to/fields.yaml
2016-03-22 20:03:00 +11:00
Samuel Georges 6e7fa7de88 Allow CmsObjects to define their own Twig cache key 2016-03-21 13:42:03 +11:00
Samuel Georges 4922d6d284 Retain previous listInTheme cache functionality 2016-03-20 16:04:27 +11:00
Samuel Georges fad028bc40 Add local cmsObject.fillViewBagArray event
Tidy up some inline docs
2016-03-19 13:22:08 +11:00
Samuel Georges 792b7fed2a Fixes CmsException on bad INI
No need for Cms SectionParser.php anymore
2016-03-19 10:30:42 +11:00
Samuel Georges c244aef2f8 Clean up 2016-03-18 19:54:27 +11:00
Samuel Georges 7f209d2df9 Bring Asset in line with inTheme 2016-03-17 19:28:29 +11:00
Samuel Georges 045d186960 Finishing porting old functionality
- Add validation to Cms Objects
- Add local viewBag logic
- Implement new initCacheItem process
- Implement getter for viewBag/settings properties
2016-03-17 19:25:50 +11:00
Samuel Georges dcc63baffd Theme -> Datasource 2016-03-17 19:22:37 +11:00
Samuel Georges 864d38b77e Why are these static?
...seriously, why are they static?
2016-03-12 15:49:37 +11:00
Samuel Georges 24a620e890 Convert CmsObject and CmsCompoundObject to use Halcyon
getFullPath -> getFilePath
2016-03-12 15:32:16 +11:00
Samuel Georges 855a97b35e Set the default theme as part of the boot process
Themes can also register themselves gracefully with Halycon after loading
2016-03-12 12:14:19 +11:00
Samuel Georges 1bc647f978 Decouple Asset object
Add extensible to ComponentPartial
2016-03-12 10:17:07 +11:00
Samuel Georges c34f72b821 Decouple ComponentPartial from CmsObject 2016-03-09 21:01:57 +11:00
Samuel Georges 07132ffbd6 Returns original setter functionality
To protected things like $this->page->title = "foo";
Template -> Bracket
2016-03-05 10:49:24 +11:00
Pásztor Gábor ed1c84b8b1 PHPDoc fixes. 2016-03-04 16:50:58 +01:00
Samuel Georges 94c6ef4da0 Let Cms Objects use behaviors 2016-03-02 18:13:00 +11:00
alekseybobkov 387c75c5cd Fixed a bug where changing a letter case in a folder name in Media Manager deletes the folder. Added ability to move files and folders to the root directory in Media Manager. Fixed a bug where numeric folder names are displayed incorrectly in the folder path in Media Manager. Fixes #1765, fixes #1173, fixes #1085. 2016-02-29 21:50:07 -08:00
Samuel Georges fd16f38b11 Implement file definitions (extensions + ignore files)
Block "unsafe" extensions from being uploaded to the Media manager
Fixes #1801
2016-02-29 18:12:26 +11:00
Samuel Georges 136ec18084 This allows AJAX to function on maintenance and 404 pages 2016-02-27 22:39:26 +11:00
Samuel Georges 63451aab50 Fixes validatePath for Windows
(DIRECTORY_SEPARATOR is normalized in code above)
2016-02-27 15:04:07 +11:00
Samuel Georges d76863a3ec Merge branch 'develop' into stable
Conflicts:
	composer.json
2016-02-27 14:55:52 +11:00
Samuel Georges 8e9ae8e53e Clean up from #1631
- Files in the media library can now contain two dots
- Retina Images Support
2016-02-27 14:49:38 +11:00
Samuel Georges 423360b2d2 Merge pull request #1631 from JoelESvensson/develop
Files in the media library can now contain two dots
2016-02-27 14:36:38 +11:00
Samuel Georges b88e78ffb4 Minor 2016-02-27 14:22:56 +11:00
Breno Douglas Araujo Souza ec03b7b2f8 Access paramater in onStart method in the partial
Variables passed in parameter partils not accessed in onStart method in the partial.

With merged vars before render partial, stays like this::

```php
function onStart() {
   $this['param'];
}
```
2016-02-27 14:18:22 +11:00
Samuel Georges fbed1dd2ed Merge pull request #1799 from mcustiel/feature-component-autowiring
Added the ability to inject dependencies into components
2016-02-27 14:09:14 +11:00
Mariano Custiel c94706ed05 Added the ability to create instances of components from factories to allow injection of dependencies in components
Fixed descriptions

Added missing new lines at the end of fixture components

Fixed problem with include path

Fixed code as suggested. Now everything is solved through app::make

Removed tests that are not needed anymore since last changes
2016-02-22 09:44:14 +01:00
Samuel Georges 337cf36150 Access variables as variables, not methods
Fixes #1721
Really not sure why viewBag is using the __call() magic method to access properties. Switched to using __get() + __isset() to keep everything in black and white. If this turns out to be a mistake, roll it back and ensure the reason is documented accordingly.
2016-02-13 15:26:52 +11:00
Samuel Georges 97daebfa9e Use BadMethodCallException for graceful failure (Twig only)
Fixes #1571
This also fixes method inheritance for behaviors by using parent::__call() to look for any methods provided by extensions, catches the exception, then continues with BAU
2016-02-13 15:23:53 +11:00
Samuel Georges acfb35cbed Merge branch 'develop' into stable 2016-02-10 20:03:51 +11:00
Samuel Georges 03e7c19a5d Fixes issue where twig passed null
Minor update to dropdown docs
2016-02-09 17:58:37 +11:00
Jens Herlevsen 2350e30853 Make default 404 page use 404 status code 2016-01-24 19:04:22 +01:00
Samuel Georges af4f42e208 Add 503 header when maintenance mode enabled.
Fixes #1655
2016-01-21 20:16:53 +11:00
Samuel Georges b5aef97133 Alt fix for #1680 2016-01-04 17:49:11 +11:00