Sam Minnee
a9eebdc7ed
NEW: Allow namespaces in template include statements.
2016-06-07 14:36:00 +12:00
Sam Minnee
65eb0bde6a
API: Look for templates of namespaced classes in subfolders.
...
This change will mean that SilverStripe\Control\Controller will look for its
template in templates/SilverStripe/Control/Controller.ss.
In order to preserve some backwards campatibility, non-namespaced classes
can have the templates stored in any template subfolder, but once you
add a namespace to a class, the namespaced path expression will need to
be a subfolder of <module>/templates or themes/<theme>/templates.
Layout and Content templates are stil supported as special template type,
Includes still functions but is a no-op. Other template subfolders should
not be used.
2016-06-07 14:36:00 +12:00
Damian Mooyman
f13e44a265
Merge 3 into master
...
# Conflicts:
# admin/javascript/LeftAndMain.Tree.js
# admin/javascript/lang/cs.js
# admin/javascript/lang/de.js
# admin/javascript/lang/en.js
# admin/javascript/lang/eo.js
# admin/javascript/lang/es.js
# admin/javascript/lang/fa_IR.js
# admin/javascript/lang/fi.js
# admin/javascript/lang/fr.js
# admin/javascript/lang/id.js
# admin/javascript/lang/id_ID.js
# admin/javascript/lang/it.js
# admin/javascript/lang/ja.js
# admin/javascript/lang/lt.js
# admin/javascript/lang/mi.js
# admin/javascript/lang/nb.js
# admin/javascript/lang/nl.js
# admin/javascript/lang/pl.js
# admin/javascript/lang/ro.js
# admin/javascript/lang/ru.js
# admin/javascript/lang/sk.js
# admin/javascript/lang/sl.js
# admin/javascript/lang/sr.js
# admin/javascript/lang/sr@latin.js
# admin/javascript/lang/sr_RS.js
# admin/javascript/lang/sr_RS@latin.js
# admin/javascript/lang/src/cs.js
# admin/javascript/lang/src/de.js
# admin/javascript/lang/src/en.js
# admin/javascript/lang/src/eo.js
# admin/javascript/lang/src/es.js
# admin/javascript/lang/src/fi.js
# admin/javascript/lang/src/fr.js
# admin/javascript/lang/src/id.js
# admin/javascript/lang/src/id_ID.js
# admin/javascript/lang/src/it.js
# admin/javascript/lang/src/ja.js
# admin/javascript/lang/src/lt.js
# admin/javascript/lang/src/mi.js
# admin/javascript/lang/src/nb.js
# admin/javascript/lang/src/nl.js
# admin/javascript/lang/src/pl.js
# admin/javascript/lang/src/ro.js
# admin/javascript/lang/src/ru.js
# admin/javascript/lang/src/sk.js
# admin/javascript/lang/src/sl.js
# admin/javascript/lang/src/sr.js
# admin/javascript/lang/src/sr@latin.js
# admin/javascript/lang/src/sr_RS.js
# admin/javascript/lang/src/sr_RS@latin.js
# admin/javascript/lang/src/sv.js
# admin/javascript/lang/src/zh.js
# admin/javascript/lang/sv.js
# admin/javascript/lang/zh.js
# css/GridField.css
# forms/gridfield/GridFieldExportButton.php
# javascript/GridField.js
# javascript/lang/ar.js
# javascript/lang/cs.js
# javascript/lang/de.js
# javascript/lang/en.js
# javascript/lang/en_GB.js
# javascript/lang/eo.js
# javascript/lang/es.js
# javascript/lang/fi.js
# javascript/lang/fr.js
# javascript/lang/id.js
# javascript/lang/id_ID.js
# javascript/lang/it.js
# javascript/lang/ja.js
# javascript/lang/lt.js
# javascript/lang/mi.js
# javascript/lang/nb.js
# javascript/lang/nl.js
# javascript/lang/pl.js
# javascript/lang/ru.js
# javascript/lang/sk.js
# javascript/lang/sl.js
# javascript/lang/sr.js
# javascript/lang/sr@latin.js
# javascript/lang/sr_RS.js
# javascript/lang/sr_RS@latin.js
# javascript/lang/src/ar.js
# javascript/lang/src/cs.js
# javascript/lang/src/de.js
# javascript/lang/src/en.js
# javascript/lang/src/eo.js
# javascript/lang/src/es.js
# javascript/lang/src/fi.js
# javascript/lang/src/fr.js
# javascript/lang/src/id.js
# javascript/lang/src/id_ID.js
# javascript/lang/src/it.js
# javascript/lang/src/ja.js
# javascript/lang/src/lt.js
# javascript/lang/src/mi.js
# javascript/lang/src/nb.js
# javascript/lang/src/nl.js
# javascript/lang/src/pl.js
# javascript/lang/src/ru.js
# javascript/lang/src/sk.js
# javascript/lang/src/sl.js
# javascript/lang/src/sr.js
# javascript/lang/src/sr@latin.js
# javascript/lang/src/sr_RS.js
# javascript/lang/src/sr_RS@latin.js
# javascript/lang/src/sv.js
# javascript/lang/src/zh.js
# javascript/lang/sv.js
# javascript/lang/zh.js
# scss/GridField.scss
# tests/model/ManyManyListTest.php
# tests/model/SQLQueryTest.php
2016-05-11 15:19:35 +12:00
Loz Calver
24660afabd
FIX: Parameters passed to includes overwrite all scopes ( fixes #2617 )
2016-05-04 16:49:12 +01:00
Sam Minnee
aeccb8b8e0
API: Move DBField subclasses into SilverStripe\Model\FieldType namespace
...
API: Deprecate SS_Datetime.
The DBField subclasses are have all been renamed to start with “DB” and
be in the SilverStripe\Model\FieldType namespace. To keep DataObject
definitions concise, the original short variations of their names are
preserved as service definitions. Most of the field generation code
doesn’t need to change, but where field classes are referenced directly,
changes will be needed.
SS_Datetime, which is commonly referenced outside the model system
itself, has been preserved as a subclass of DBDatetime. This has been
marked as deprecated and can be removed in SilverStripe 5.
A few places that referred to $db and $casting values weren’t using
the Injector to instantiate the relevant classes. This meant that the
remapping we have created as part of moving classes into a namespace
didn’t work.
2016-03-22 18:09:30 +13:00
Damian Mooyman
0848aca462
API Massive refactor of Versioned
...
API Implemented recursive versioned actions (publish, etc)
API Un-deprecate delete batch action
API Changed Versioned getters and setters for stages
BUG Inject query parameters during DataObject construction to prevent incorrect lazy loading
2016-03-17 13:43:53 +13:00
Damian Mooyman
6cebffd89b
BUG Fix SSViewerTest not restoring old requirements
...
BUG Fix incorrect js path in UploadField.php
Restore changes missing from merge
2016-01-26 11:39:53 +13:00
Damian Mooyman
e6b877df27
Merge remote-tracking branch 'origin/3'
...
# Conflicts:
# control/Director.php
# control/HTTP.php
# core/startup/ParameterConfirmationToken.php
# docs/en/00_Getting_Started/01_Installation/05_Common_Problems.md
# docs/en/00_Getting_Started/04_Directory_Structure.md
# docs/en/00_Getting_Started/05_Coding_Conventions.md
# docs/en/01_Tutorials/01_Building_A_Basic_Site.md
# docs/en/01_Tutorials/02_Extending_A_Basic_Site.md
# docs/en/01_Tutorials/03_Forms.md
# docs/en/01_Tutorials/04_Site_Search.md
# docs/en/01_Tutorials/05_Dataobject_Relationship_Management.md
# docs/en/02_Developer_Guides/12_Search/01_Searchcontext.md
# docs/en/02_Developer_Guides/13_i18n/index.md
# docs/en/02_Developer_Guides/15_Customising_the_Admin_Interface/06_Javascript_Development.md
# docs/en/03_Upgrading/index.md
# docs/en/changelogs/index.md
# docs/en/howto/customize-cms-menu.md
# docs/en/howto/navigation-menu.md
# docs/en/index.md
# docs/en/installation/index.md
# docs/en/installation/windows-manual-iis-6.md
# docs/en/misc/contributing/code.md
# docs/en/misc/contributing/issues.md
# docs/en/misc/module-release-process.md
# docs/en/reference/dataobject.md
# docs/en/reference/execution-pipeline.md
# docs/en/reference/grid-field.md
# docs/en/reference/modeladmin.md
# docs/en/reference/rssfeed.md
# docs/en/reference/templates.md
# docs/en/topics/commandline.md
# docs/en/topics/debugging.md
# docs/en/topics/email.md
# docs/en/topics/forms.md
# docs/en/topics/index.md
# docs/en/topics/module-development.md
# docs/en/topics/modules.md
# docs/en/topics/page-type-templates.md
# docs/en/topics/page-types.md
# docs/en/topics/search.md
# docs/en/topics/testing/index.md
# docs/en/topics/testing/testing-guide-troubleshooting.md
# docs/en/topics/theme-development.md
# docs/en/tutorials/1-building-a-basic-site.md
# docs/en/tutorials/2-extending-a-basic-site.md
# docs/en/tutorials/3-forms.md
# docs/en/tutorials/4-site-search.md
# docs/en/tutorials/5-dataobject-relationship-management.md
# docs/en/tutorials/building-a-basic-site.md
# docs/en/tutorials/dataobject-relationship-management.md
# docs/en/tutorials/extending-a-basic-site.md
# docs/en/tutorials/forms.md
# docs/en/tutorials/index.md
# docs/en/tutorials/site-search.md
# main.php
# model/SQLQuery.php
# security/ChangePasswordForm.php
# security/MemberLoginForm.php
# tests/control/ControllerTest.php
# tests/core/startup/ParameterConfirmationTokenTest.php
# tests/model/SQLQueryTest.php
# tests/security/SecurityTest.php
# tests/view/SSViewerTest.php
# view/SSTemplateParser.php
# view/SSTemplateParser.php.inc
# view/SSViewer.php
2016-01-20 13:16:27 +13:00
Sam Minnee
4aa50534d5
FIX: Fixes needed to adapt to whitespace changes.
...
API: Whitespace trimmed from custom form field templates
The introduction of trailing newlines on all template files introduced
some changes that needed to be made.
Notably, whitespace has been trimmed from rendered form field templates.
This is the minimal impact to SilverStripe developers, as it preserves
the behaviour of the default field types, but I’ve still noted as a
change.
2016-01-07 14:17:57 +13:00
Sam Minnee
3ee8f505b7
MINORE: Remove training whitespace.
...
The main benefit of this is so that authors who make use of
.editorconfig don't end up with whitespace changes in their PRs.
Spaces vs. tabs has been left alone, although that could do with a
tidy-up in SS4 after the switch to PSR-1/2.
The command used was this:
for match in '*.ss' '*.css' '*.scss' '*.html' '*.yml' '*.php' '*.js' '*.csv' '*.inc' '*.php5'; do
find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" -exec sed -E -i '' 's/[[:space:]]+$//' {} \+
find . -path ./thirdparty -not -prune -o -path ./admin/thirdparty -not -prune -o -type f -name "$match" | xargs perl -pi -e 's/ +$//'
done
2016-01-07 10:15:54 +13:00
Loz Calver
c9ba0e48fc
NEW: Add ViewableData::setFailover() to refresh detected methods when changing failover
2016-01-06 15:19:33 +00:00
Damian Mooyman
c13b5d989f
API Enable advanced configuration options for requirements combined files
...
API Enable relative root paths for the default Flysystem AssetAdapter
2015-12-01 11:07:13 +13:00
Damian Mooyman
ce28259c5f
API Replace CacheGeneratedAssetHandler with FlysystemGeneratedAssetHandler
...
API Reduce GeneratedAssetHandler API
API Re-introduce Requirements::delete_all_combined_files();
API Re-introduce Requirements::flush()
API Combined files now uses new filenames distinguished by sha1 of sources
2015-11-26 16:12:05 +13:00
Damian Mooyman
132e9b3e2f
[ss-2015-021] Fix rewrite hash links XSS
2015-11-11 16:52:53 +13:00
Damian Mooyman
e17a49f8a5
API Restore JS Minification
...
BUG Fix incorrect cache on CacheGeneratedAssetHandler
2015-10-23 14:14:38 +13:00
Damian Mooyman
f9892c628c
API Generated files API
...
API Refactor Requirements_Backend to use new APL
2015-10-23 10:07:48 +13:00
Damian Mooyman
7ee444e08a
Merge remote-tracking branch 'origin/3.1' into 3.2
...
Conflicts:
admin/code/LeftAndMain.php
control/injector/SilverStripeServiceConfigurationLocator.php
core/ClassInfo.php
filesystem/File.php
model/DataObject.php
model/DataQuery.php
search/filters/FulltextFilter.php
search/filters/SearchFilter.php
tests/core/ClassInfoTest.php
tests/filesystem/FileTest.php
tests/model/DataListTest.php
2015-07-31 11:38:18 +12:00
Damian Mooyman
0abacaead6
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
admin/code/LeftAndMain.php
forms/EmailField.php
forms/Form.php
forms/HeaderField.php
forms/LiteralField.php
forms/PasswordField.php
forms/TextareaField.php
forms/TreeDropdownField.php
model/DataObject.php
tests/forms/uploadfield/UploadFieldTest.php
tests/model/DataObjectTest.php
2015-06-17 11:24:25 +12:00
Damian Mooyman
7ff131daa7
BUG Fix default casted (boolean)false evaluating to true in templates
2015-06-12 15:47:15 +12:00
Daniel Hensby
c062670ba3
Removing unreachable test line
2015-06-09 16:01:33 +01:00
Damian Mooyman
e91606e494
API Introduce $FromEnd variable for iterators
2015-04-09 17:02:30 +12:00
Damian Mooyman
43f49e8434
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
admin/code/ModelAdmin.php
control/Director.php
model/SQLQuery.php
security/Member.php
tests/control/HTTPTest.php
tests/model/SQLQueryTest.php
tests/security/SecurityTest.php
tests/view/SSViewerTest.php
2015-03-31 19:54:15 +13:00
Christopher Pitt
604c328712
Fixed XSS vulnerability relating to rewrite_hash
2015-03-20 18:17:51 +13:00
Damian Mooyman
95efc330e4
Refactor ViewableData::obj caching
2015-03-09 10:32:37 +13:00
Will Rossiter
548f297563
Merge pull request #3890 from dhensby/pulls/testonly
...
Cleaning up Test DataObjects to ensure TestOnly is implemented
2015-02-28 18:06:53 +13:00
Damian Mooyman
dff65867cc
Merge remote-tracking branch 'origin/3.1' into 3
...
Conflicts:
control/HTTP.php
control/HTTPResponse.php
docs/en/05_Contributing/01_Code.md
forms/CompositeField.php
forms/FormAction.php
forms/FormField.php
forms/InlineFormAction.php
forms/NumericField.php
forms/TreeDropdownField.php
forms/TreeMultiselectField.php
templates/forms/TreeDropdownField.ss
tests/core/CoreTest.php
tests/forms/NumericFieldTest.php
tests/model/DataDifferencerTest.php
2015-02-20 10:17:19 +13:00
Daniel Hensby
0ca0bb55b0
Cleaning up Test DataObjects to ensure TestOnly is implemented
2015-02-12 15:22:29 +00:00
Will Morgan
7c9810bf49
Merge pull request #3432 from IgorNadj/3.1-fix-minify
...
FIX making minify javascript fail-safe
2015-02-06 11:17:59 +00:00
Igor Nadj
77e30d4524
Cleanup, removing redundant returns
2014-11-26 15:31:07 +13:00
Igor Nadj
657606e8c8
Updating code to allow unit test to use try-catch block to catch warning
...
without stopping code execution inside try
2014-11-26 15:27:54 +13:00
Damian Mooyman
0b1f297873
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
.travis.yml
README.md
admin/code/LeftAndMain.php
admin/css/screen.css
admin/scss/screen.scss
api/RestfulService.php
conf/ConfigureFromEnv.php
control/injector/ServiceConfigurationLocator.php
control/injector/SilverStripeServiceConfigurationLocator.php
core/ClassInfo.php
core/Object.php
css/AssetUploadField.css
css/ComplexTableField_popup.css
dev/CSSContentParser.php
dev/DevelopmentAdmin.php
docs/en/changelogs/index.md
docs/en/misc/contributing/code.md
docs/en/reference/execution-pipeline.md
filesystem/GD.php
filesystem/ImagickBackend.php
filesystem/Upload.php
forms/Form.php
forms/FormField.php
forms/HtmlEditorConfig.php
forms/gridfield/GridFieldDetailForm.php
forms/gridfield/GridFieldSortableHeader.php
lang/en.yml
model/Aggregate.php
model/DataList.php
model/DataObject.php
model/DataQuery.php
model/Image.php
model/MySQLDatabase.php
model/SQLQuery.php
model/fieldtypes/HTMLText.php
model/fieldtypes/Text.php
scss/AssetUploadField.scss
search/filters/SearchFilter.php
security/Authenticator.php
security/LoginForm.php
security/Member.php
security/MemberAuthenticator.php
security/MemberLoginForm.php
security/Security.php
tests/behat/features/bootstrap/SilverStripe/Framework/Test/Behaviour/CmsFormsContext.php
tests/control/HTTPTest.php
tests/control/RequestHandlingTest.php
tests/filesystem/UploadTest.php
tests/forms/FormTest.php
tests/forms/NumericFieldTest.php
tests/model/DataListTest.php
tests/model/DataObjectTest.php
tests/model/TextTest.php
tests/security/MemberAuthenticatorTest.php
tests/security/SecurityDefaultAdminTest.php
tests/view/SSViewerCacheBlockTest.php
tests/view/SSViewerTest.php
2014-11-18 12:45:54 +13:00
Damian Mooyman
793784e9d7
BUG Fix flushing of SSViewer cache via testing
2014-10-14 09:47:05 +13:00
Loz Calver
97170dd42d
Better tests for SSViewer::flush & Flushable
2014-10-13 09:44:14 +01:00
Loz Calver
48eb0e67e6
FIX: Deliberately clear partial cache blocks on flush ( fixes #1383 )
...
Move property to top of class definition
Move property to top of class definition
2014-10-09 21:44:01 +01:00
Nik
5258b84e5c
Updated SSViewerTest to test for SSTemplateParser rewrite_hash_links fix
2014-09-26 17:41:27 +12:00
Nightjar
e4b563e596
Fixing the failure of some tests if the framework dir is named something other than 'framework' (which is a legitimate option)
2014-09-01 13:53:06 +01:00
Igor Nadj
f823831a63
FIX making minify javascript fail-safe
2014-08-25 11:49:38 +12:00
Damian Mooyman
eb069e605d
Remove all redundant whitespace
2014-08-19 09:17:15 +12:00
Simon Welsh
2566795b59
Merge branch '3.1'
...
Conflicts:
view/SSViewer.php
2014-03-30 19:39:18 +13:00
Simon Welsh
6db96eac8f
Correct errors from differening behaviour between 3.0 and 3.1
2014-03-30 19:29:18 +13:00
Simon Welsh
fe8dc50ffc
Merge branch '3.1'
...
Conflicts:
tests/view/SSViewerTest.php
2014-03-30 18:17:24 +13:00
Simon Welsh
f9c44e4ceb
Merge branch '3.0' into 3.1
...
Conflicts:
model/Versioned.php
view/SSTemplateParser.php
view/SSViewer.php
2014-03-30 18:15:12 +13:00
Damian Mooyman
4415a75d93
BUG Fix issue with versioned dataobjects being cached between stages
2014-03-27 13:17:29 +13:00
Cam Spiers
145d78edca
Cache templates created from string SSViewer_FromString
2014-03-16 13:16:24 +13:00
micmania1
5fff5afb47
API moved useTestTheme to base Sapphire test class so that it can be used elsewhere (eg CMS test)
2013-12-23 21:54:20 +00:00
micmania1
b89ab1eb16
Added SSViewer::get_templates_by_class() to make the functionality in LeftAndMain::getTemplatesWithSuffix() more open.
2013-12-01 07:42:37 +00:00
Cam Spiers
14486902fb
Allow users to extend the SSTemplateParser by defining open & closed blocks
...
Currently the only way the extend SSTemplateParser is to define a class
extension of it and then tell the injector component to use your new
custom class. This new change allows a user to define new "open blocks"
and "closed blocks" for SSTemplateParser to use without needing to
recompile the real SSTemplateParser class.
The following example shows how the functionality can be used
to add a new <% minify %>…<% end_minify %> syntax to the template parser
In a config.yml file, define the new minify closed block to call the
static function "Minifier::minify"
```
Injector:
SSTemplateParser:
properties:
closedBlocks:
minify: "Minifier::minify"
```
Define a new class with the minify static method that returns the new
template code when regenerating templates:
```
class Minifier {
public static function minify(&$res) {
return <<<PHP
{$res['Template']['php']}
\$val = zz\Html\HTMLMinify::minify(\$val, array('optimizationLevel' => zz\Html\HTMLMinify::OPTIMIZATION_ADVANCED));
PHP;
}
}
```
2013-11-04 14:24:58 +13:00
Jeremy Thomerson
f6ff39369f
FEATURE: <% include %> inherits iterator scope of parent template
2013-07-07 12:39:42 +00:00
Ingo Schommer
429bbc5223
Merge pull request #2137 from jthomerson/pulls/fix_viewable_data_wrapped_value
...
FIX: ViewableData wasn't setting values when using default cast
2013-07-02 00:40:56 -07:00
Hamish Friedlander
ae3e3f3b44
FIX Arguments to method calls reseting scope
2013-06-25 17:35:16 +12:00