CheeseSucker
b52087105c
FIX: ViewableData::obj() would sometimes return an empty object
...
For instance, this happens when these criteria are met:
1) No casting has been specified for a method in $casting.
2) A template accesses the field without any casting
3) Any casts by the template will now yield an empty object.
After a brief look at the commit history, it can seem like this bug is several years old, unless it is a side-effect of other changes in the code.
== Steps to reproduce ==
Add two methods to be accessed by a template. Make sure you do not define an entry in $casting for them:
public function Testus() {
return "Te<x>t1";
}
public function Testus2() {
return "Te<x>t2";
}
Add this to a template:
<p>
First access:<br />
"$Testus" : "$Testus.XML"<br />
"$Testus2.XML" : "$Testus2"<br />
</p>
<p>
Second access:<br />
"$Testus" : "$Testus.XML"<br />
"$Testus2.XML" : "$Testus2"<br />
</p>
Open the page in a browser, and you will get:
First access:
"Tet1" : ""
"Te<x>t2" : "Tet2"
Second access:
"Tet1" : ""
"" : "Tet2"
We see that any cast can yield an empty string.
2013-06-21 16:16:49 +00:00
Sam Minnee
526b40414a
FIX: Ensure that actions inferred from templates with the "_action" suffix also respect allowed_actions.
...
FIX: Ensure SSViewer::hasTemplate() is aware of themes.
To do this, RequestHandler::definingClassForAction() has been created, splitting out the code that looks up the class that defines a given action into its own method. This is then overridden in Controller to look at templates.
2013-06-19 20:11:50 +12:00
Jeremy Thomerson
4c0b452c0f
ENHANCEMENT: allow overridable JS/CSS minification
...
This allows someone to extends Requirements_Backend and plug in their own minification
of files, including CSS minification. It also allows them to override whether or not
the header comment is written for each file.
2013-06-04 12:52:11 +00:00
Colin Richardson
b2934d7ebf
FIX: exclude directory from available themes when underscore is first character
...
Change FALSE to lowercase
2013-05-23 16:49:35 +01:00
Ingo Schommer
3b02d22989
Merge remote-tracking branch 'origin/3.0' into 3.1
...
Conflicts:
dev/CsvBulkLoader.php
2013-05-09 10:34:20 +02:00
Ingo Schommer
cef955c8b9
Removed stray ampersand in Requirements ( fixes #1809 )
...
Only happens with suffix_requirements=true
2013-04-30 00:35:25 +02:00
Zauberfisch
034f575003
MINOR: if no doctyle is set, include comments inside <html>
...
MINOR: if <html> tag is inside a html comment do not add a comment
2013-04-22 18:16:09 +00:00
Zauberfisch
94b37f9c85
MINOR: moved includeDebuggingComments logic into own method to allow separated tests
2013-04-22 14:12:43 +00:00
Zauberfisch
7c66e8e7a2
API: try to place source_file_comments after doctype instead of html
2013-04-22 13:53:20 +00:00
Sam Minnee
eb583c5f14
NEW: Added DataObject::getQueriedDatabaseFields() as faster alternative to toMap()
...
API: CompositeDBField::setValue() may be passed an object as its second argument, in addition to array.
These changes provide a 15% - 20% performance improvement, and as such justify an small API change in the 3.0 branch. It will likely affect anyone who has created their own composite fields, which is fortunately not all that common.
2013-04-21 13:39:11 +12:00
s-m
acf2ff8ce6
BUG: Fix for #1487
...
The parser could sometimes generate invalid code if the
source-file-comments were enabled, this moves the comments outside the
html-tag to circumvent these problems, update test as well.
2013-04-15 19:54:41 +02:00
s-m
29e6bd513c
BUG: Allow empty else- and else_if-blocks
...
This fix allows empty else and else-if blocks to be processed, fixes #1660
2013-04-10 16:17:44 +02:00
s-m
6a95db0eff
API: Support inequalities in templates
...
This adds support for <, <=, >, >= in templates
2013-04-08 17:07:39 +02:00
Ingo Schommer
7121fc3f85
FIX Config isolation in Director::test()
2013-04-07 23:59:10 +02:00
Ingo Schommer
828ac7fe4f
API Replaced SSViewer.custom_theme with SSViewer.theme_enabled
...
Since we can't influence the setting of configuration values,
we also can't set/unset the 'custom_theme' value based on which
theme is set. This means the 'custom_theme' value goes stale,
and we can't rely on it e.g. in FilesystemPublisher.
The 'theme_enabled' toggle is a cleaner solution to the same problem,
since the 'custom_theme' was really just a way to remember the original
theme, while still disabling it. The toggle makes this more explicit,
but also requires users of the 'theme' setting to check for it.
2013-04-07 23:59:10 +02:00
s-m
14de34cb9b
Sync template-parser files
...
The template-parser files were not in sync, there were some lines added
in SSTemplateParser.php from 3334eafcb1
and 0a9f3b75a9
, I readded those parts
into the SSTemplateParser-include-file and recreated the
SSTemplateParser.php to get to a synced state...
2013-04-05 19:12:54 +02:00
Ingo Schommer
0242686a7a
Requirements acces to files with query strings ( fixes #7735 )
...
Originally authored by florian.thoma, tests added
by Ingo Schommer. Also removed query params from
file paths before calling mtime() on it.
See https://github.com/silverstripe/sapphire/pull/1023
2013-04-03 16:39:59 +02:00
Ingo Schommer
3334eafcb1
API Marked statics private, use Config API instead ( #8317 )
...
See "Static configuration properties are now immutable, you must use Config API." in the 3.1 change log for details.
2013-03-24 17:20:53 +01:00
Ingo Schommer
0a9f3b75a9
Fixed deprecated usage of <% control %>
2013-03-19 12:58:14 +01:00
Hamish Friedlander
743a186c32
API Make SSViewer#process return HTMLText not string
...
This means that you dont have to worry about casting it
as HTMLText again when using the result in a template or other context
However in some situations code might be assuming it can
check with is_string, in which case you now need to use instanceof HTMLText
2013-03-14 12:49:03 +13:00
Hamish Friedlander
9bd6dd9ade
API Make default_cast Text and not HTMLText
2013-03-14 12:49:03 +13:00
Hamish Friedlander
d2650bbc44
NEW Disable shortcodes in $Layout and $Content in SSViewer
2013-03-14 12:49:03 +13:00
g4b0
2f16951634
BUG: ampersand escaping
2013-03-11 09:58:14 +01:00
miiihi
5af35a89ce
ENHANCEMENT Allow multiline comments in SS3 templates
2013-03-07 18:45:07 +01:00
Hamish Friedlander
7efae6b95f
Merge remote-tracking branch 'origin/3.0' into 3.1
2013-02-18 14:31:57 +13:00
Simon Welsh
be8482aa73
Merge pull request #1173 from ajshort/include-object-argument
...
BUG: Pass named include argument as objects.
2013-02-13 23:44:29 -08:00
ajshort
d3629be344
BUG: Pass named include argument as objects.
...
This means you can pass objects such as lists as named parameters, not
just strings.
2013-02-14 18:31:40 +11:00
Ingo Schommer
d969e29d00
API Require ADMIN for ?showtemplate=1
2013-02-12 23:26:04 +01:00
Ingo Schommer
b44720179c
Merge pull request #1180 from mateusz/css-combining-media
...
API Add possibility to combine media-targeting stylesheets.
2013-02-12 14:13:45 -08:00
Mateusz Uzdowski
53feb3a5ae
API Add possibility to combine media-targeting stylesheets.
2013-02-13 11:04:05 +13:00
ajshort
a4096ecc70
Add a self method to the SSViewer scope.
...
This returns the current object, and resets the scope.
2013-02-11 17:53:14 +11:00
Ingo Schommer
14a56c18e9
Merge remote-tracking branch 'origin/3.0' into 3.1
...
Conflicts:
control/Director.php
2013-02-07 21:45:16 +01:00
Ingo Schommer
b381e9933d
Include "media" attr for module customCSS() ( fixes #8219 )
2013-02-01 10:23:16 +01:00
Ingo Schommer
5f8115f4c7
BUGFIX Hard fallback to en_US.js in Requirements
...
Ideally we'll have region-less locales like en.js as fallbacks,
but for now this prevents the UI becoming non-operational
e.g. when both i18n::set_locale() and i18n::default_locale()
are set to 'en_NZ'.
2013-01-09 22:31:19 +01:00
Ingo Schommer
618a3d0314
Requirements acces to files with query strings ( fixes #7735 )
...
Originally authored by florian.thoma, tests added
by Ingo Schommer. Also removed query params from
file paths before calling mtime() on it.
See https://github.com/silverstripe/sapphire/pull/1023
2012-12-18 01:01:19 +01:00
Matt Lewis
af6eccea96
Fixing typo in Requirements allowing access to files requested with query strings
2012-12-18 00:53:54 +01:00
Simon Welsh
b0121b541c
Add codesniffer that ensures indentation is with tabs.
2012-12-12 17:33:31 +13:00
Simon Welsh
fc5dd2994c
Add codesniffer that ensures indentation is with tabs.
2012-12-12 00:12:11 +13:00
Ingo Schommer
d92258da8f
Allow calling SSViewer_Scope on empty sets
...
Specifically fixes a bug where a SelectionGroup_Item
without a "child" field causes fatal errors.
2012-12-11 11:07:00 +01:00
Ingo Schommer
c55c7c33f8
Merge branch '3.0'
...
Conflicts:
admin/code/CMSProfileController.php
composer.json
tests/model/DataObjectTest.php
2012-11-22 23:51:28 +01:00
Sander van Dragt
8f89aa9171
BUG only call filemtime if file exists
...
Added file_exists check before calling filemtime as this results in
'filemtime(): stat failed'
2012-11-21 13:11:53 +13:00
Sean Harvey
6a868e79e1
Removing deprecated prototype/behaviour libraries
2012-11-16 11:37:56 +13:00
Sean Harvey
0d79897d4f
Removing deprecated ArrayData::getArray()
...
Use ArrayData::toMap() instead
2012-11-15 14:43:15 +13:00
Sean Harvey
fbc6e3366b
Merge branch '3.0'
2012-11-05 15:11:48 +13:00
Will Rossiter
dfd3455802
BUG Only include processed requirements at the top level. ( Fixes #7847 )
...
After each sub template was processed Requirements::includeInHTML() is included which appended requirements again.
2012-11-04 17:54:09 +13:00
Sean Harvey
f6a90467e4
Merge branch '3.0'
2012-10-15 10:10:01 +13:00
Sean Harvey
fca9831e66
Remove end php tag from TemplateIteratorProvider
2012-10-10 11:15:55 +13:00
Ingo Schommer
fb5e488103
Line length fixes
2012-10-03 18:11:31 +02:00
Ingo Schommer
56f7ce1dcf
Merge remote-tracking branch 'origin/3.0'
...
Conflicts:
control/Cookie.php
control/Director.php
control/HTTPResponse.php
model/Database.php
model/MySQLDatabase.php
model/SQLQuery.php
view/Requirements.php
view/SSViewer.php
2012-10-03 16:16:19 +02:00
Sam Minnee
1f7fc1f76a
FIX Remove instances of lines longer than 120c
...
The entire framework repo (with the exception of system-generated files) has been amended to respect the 120c line-length limit. This is in preparation for the enforcement of this rule with PHP_CodeSniffer.
2012-09-30 17:18:13 +13:00
Simon Welsh
1e629f4585
Merge branch '3.0'
...
Conflicts:
control/Cookie.php
control/Director.php
dev/Profiler.php
view/Requirements.php
2012-09-21 14:56:56 +12:00
Ingo Schommer
e2f073f38a
Method visibility according to coding conventions
2012-09-20 10:46:59 +02:00
Sean Harvey
954eb60983
BUG If combined files can't be written, fallback instantly to uncombined
2012-09-20 14:01:45 +12:00
Sam Minnee
824afffd2e
Merge branch '3.0'
2012-08-23 12:39:41 +12:00
Fred Condo
3e0782267c
Allow scheme-relative URLs in requirements
...
The Requirements class currently treats only absolute URLs as URLs, and
tries to interpret anything else as a filesystem path. This prevents
using scheme-relative URLs for requirements.
Example:
<% require javascript(//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js) %>
This forces the unfortunate choice of not using a CDN for common
scripts, always using an https absolute URL, or accepting that some
browsers will throw a security warning when viewing the site in https.
This change allows scheme-relative URLs & updates RequirementsTest.
2012-08-22 16:49:55 -07:00
Hamish Friedlander
95d0be636c
Merge remote-tracking branch 'origin/3.0'
2012-07-25 11:44:53 +12:00
Hamish Friedlander
e160b76df5
BUG 7362 dont include trailing space in bare string
2012-07-23 15:42:58 +12:00
Ingo Schommer
e00c87541e
Merge pull request #618 from chillu/pull/deprecate-profiler
...
API Deprecated Profiler class, removed related debug GET params
2012-07-05 13:43:37 -07:00
Ingo Schommer
0fe515e182
API Deprecated Profiler class, removed related debug GET params
...
Use third party tools like XHProf instead.
Removed defunct or unnecessary debug GET parameters:
debug_profile, debug_memory, profile_trace, debug_javascript, debug_behaviour
2012-07-05 12:02:06 +02:00
Simon Welsh
9f6eeb4d0e
FIX: insert javascript requirements before the first inline script.
...
From http://open.silverstripe.org/ticket/6648 .
2012-07-01 18:34:24 +12:00
Will Rossiter
168663657b
MINOR: add flag for combine in order to test Requirements::combine_files() while in dev
2012-06-29 18:35:55 +12:00
Hamish Friedlander
0bea6974b6
BUGFIX: Make themedCSS use {theme}_{module}/css/{name}.css files if they exist
...
2.4 used to use a manifest to find css. One side-effect of that is that even without explicit support,
css files in module-specific themes (/themes/{theme}_{module}/) would get picked up. This broke in 3.
This fix does still require the module name to be explicitly passed as a parameter to themedCSS, but if
you do, and a css file of that name exists in the module-specific themes css directory, that will
be included in preference to the theme or module provided css
2012-06-22 13:34:03 +12:00
Sam Minnee
3f0136749b
API CHANGE: Add Security::ignore_disallowed_actions() to allow site features to be disabled when permissions have failed, rather than redirecting to the log-in form. (Trac #7097 )
2012-06-15 15:17:48 +12:00
Sean Harvey
cbf4ad3a75
MINOR Replace deprecation warnings with Deprecation::notice() instead
2012-05-30 22:33:11 +12:00
Sean Harvey
fa764c72b4
MINOR Using Deprecation::notice() for deprecated method in ViewableData
2012-05-30 22:29:58 +12:00
Sean Harvey
792c89e103
ENHANCEMENT Adding List() in the GenericTemplateGlobalProvider so
...
templates can use <% cached List(Member).max(LastEdited) %> instead
of deprecated "Aggregate" syntax.
2012-05-29 20:04:51 +12:00
Sean Harvey
1bf6495ae0
MINOR Partially reverted 4d4f9e08d9
as we don't need to check
...
forTemplate() exists
2012-05-19 18:17:25 +12:00
Sean Harvey
4d4f9e08d9
MINOR Code formatting in SSViewer
2012-05-19 18:09:39 +12:00
Sean Harvey
e5e8f489a2
Merge branch (pull request #247 ) 'template-global-fixes' of https://github.com/sminnee/sapphire into sminnee-template-global-fixes
2012-05-19 15:39:59 +12:00
Ingo Schommer
13c9011082
Merge pull request #430 from halkyon/getallfields_fixes
...
MINOR Fixing use of deprecated getAllFields(), mark field as deprecated ...
2012-05-11 01:04:38 -07:00
Simon Welsh
ab34688273
BUGFIX: Looping over a PaginatedList in the template caused a seg fault/bus error.
2012-05-11 14:03:31 +12:00
Sean Harvey
1859070fa9
MINOR Fixing use of deprecated getAllFields(), mark field as deprecated properly.
2012-05-11 11:23:24 +12:00
Stig Lindqvist
ce5684c776
BUGFIX Throwing an InvalidArgumentException without the new keyword results in a Fatal error
2012-05-10 11:21:32 +12:00
Will Rossiter
585417d141
Merge pull request #343 from halkyon/object_static_remove_deprecation
...
BUGFIX Remove calls to deprecated Object static methods, update ConfigTest
2012-04-19 14:41:45 -07:00
Sean Harvey
ccb941ea9d
BUGFIX Fixed places where Object::get_static() was being used. Replace
...
with Config system instead.
2012-04-18 23:55:37 +12:00
Sean Harvey
4c6be2931b
BUGFIX Removing use of deprecated Object static functions like
...
get_static(), set_static(), uninherited() etc. Replace with equivalent
Config system get(), update()
2012-04-18 23:10:57 +12:00
Julian Seidenberg
65e3651ff4
API-CHANGE: new translatable syntax _t function
2012-04-18 17:35:31 +12:00
Julian Seidenberg
189c305c83
API-CHANGE: parser for new i18n syntax
2012-04-18 17:35:30 +12:00
Julian Seidenberg
45c7dfd9f5
ENHANCEMENT: tests for new i18n syntax
2012-04-18 17:35:29 +12:00
Sean Harvey
effc654009
MINOR Moved ModulePath to GenericTemplateGlobalProvider
2012-04-15 10:50:21 +12:00
Sean Harvey
8949dfa691
ENHANCEMENT Replaced locations of sapphire with $ModulePath(framework) in templates, based off Controller which implements TemplateGlobalProvider
2012-04-15 10:50:20 +12:00
Simon Welsh
f07258f3cf
MINOR Update @package values to match renaming sapphire
2012-04-15 10:50:19 +12:00
Simon Welsh
3a6341a251
API-CHANGE sapphire folder can now be renamed.
2012-04-15 10:50:19 +12:00
Simon Welsh
f8082e4814
MINOR Add newline to end of files without one
2012-04-15 10:50:19 +12:00
Hamish Friedlander
521742aaf8
ENHANCEMENT: Split arguments passed to SSViewer into underlay and overlay arguments to control precedence. Also fixes breakage of SecurityAdmin
2012-04-13 12:15:34 +12:00
Ingo Schommer
c73b80049a
MINOR Removed usage of deprecated Object::uninherited_static() in core, improves CMS loading speed in live mode by ~3.5%
2012-04-12 18:26:56 +02:00
Sam Minnee
77c95b3434
MINOR: Hamish is all class. ;-)
2012-04-12 13:19:48 +12:00
Sam Minnée
1189322b41
Merge pull request #302 from robert-h-curry/7113-nested-controls-breaking-last
...
BUGFIX: Issue #7113 : Recalculate itemIteratorCount when popping viewer state.
2012-04-11 17:19:46 -07:00
Sam Minnée
168eaf72d8
Merge pull request #300 from silverstripe-scienceninjas/feature/ssviewer-enhancements
...
Feature/ssviewer enhancements
2012-04-11 16:29:22 -07:00
Robert Curry
0daa76d0b7
BUGFIX: Issue #7113 : Recalculate itemIteratorCount when popping viewer state.
2012-04-12 11:16:41 +12:00
Hamish Friedlander
5c336329b6
MINOR: When Up called and we are at the top of the scope, throw a useful error, not just an index undefined error
2012-04-11 22:08:05 +12:00
Hamish Friedlander
21bf409b7b
BUGFIX: Pass arguments through to subtemplates when rendering those too
2012-04-11 21:50:06 +12:00
Hamish Friedlander
e4a043ac0b
ENHANCEMENT: Allow arguments to be passed to templates via an array passed to SSViewer#process and via keyword=value pairs in the <% include %> tag
2012-04-11 21:34:27 +12:00
Hamish Friedlander
40ca21e6e5
MINOR: Remove bugfix that is (a) unnessecary because the key is already just sha hashes, underscores and numbers and (b) broken because it strips the open and close quotes from the key
2012-04-11 21:30:57 +12:00
Andrew O'Neil
142a073ce3
MINOR: Fix E_STRICT warning in SSViewer
2012-04-11 17:36:56 +12:00
Ingo Schommer
40d73127ae
MINOR Using late static binding instead of Object::create() calls
2012-04-04 17:10:31 +02:00
Sam Minnee
acdd07ac6f
BUGFIX: Allow template globals to be used in both object and value contexts (e.g. $Now.Year)
...
BUGFIX: Allow template globals to return objects as well as values.
2012-03-16 15:05:25 +13:00
Sam Minnee
1535ce6d36
BUGFIX: Removed used of lcfirst, as it's PHP 5.3 only
2012-03-09 18:21:01 +13:00
Stig Lindqvist
68d83d187b
BUGFIX PHP 5.2 doesn't allow calling a static method like $className::$staticMethod()
2012-03-09 17:36:07 +13:00
Hamish Friedlander
374ed19406
API CHANGE: Change variable expose method in TemplateGlobalProvider and TemplateIteratorProvider to (a) not clash with each other and, (b) be less generic
2012-03-06 09:31:57 +13:00