Commit Graph

47 Commits

Author SHA1 Message Date
Robbie Averill
55eb7ebdcc FIX Do not insert requirements more than once in includeInHTML
This change consolidates the string replacements used to insert requirements into the page content to help ensure
that they are not compounding and overwriting eachother.

The added test case includes where a user may have a Javascript snippet that contains a closing head tag, and the
test ensures that it does not get injected with requirements as well as the actual head tag in the DOM.
2017-04-07 17:04:17 +12:00
Loz Calver
1aa5d7314c Fix issues with tests and "subfolder" URLs 2015-07-31 09:42:35 +01: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
Juri Demeschew
3eabd7d41a Fix #3356 js not properly included 2014-09-09 06:59:31 +02: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
Damian Mooyman
eb069e605d Remove all redundant whitespace 2014-08-19 09:17:15 +12:00
Simon Welsh
1d5706f15c Correct line length and indentation 2014-03-30 21:11:56 +13:00
Simon Welsh
ac1546eb97 Correct line length and indentation 2014-03-30 19:37:54 +13:00
Firesphere
af7afbe918 IMPROVEMENT/FEATURE Forcefully write javascripts to the end of the HTML if wanted.
It's defaulted to false. But when set to true, the JS is written to the end of the HTML, even though there are earlier scripts.
This results in faster page-loading if the JS isn't needed earlier-on.
2013-12-14 14:04:03 +01:00
Firesphere
41371fea72 NEW Force the javascripts to be put before the closing body tag 2013-12-07 15:47:31 +01:00
Simon Welsh
151baeede1 Correct line length and indentation 2013-08-21 18:54:05 +12: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
Ingo Schommer
9856fcef21 Merge remote-tracking branch 'origin/3.0' into 3.1
Conflicts:
	javascript/DateField.js
	model/DataQuery.php
	model/Versioned.php
	tests/forms/RequirementsTest.php
	tests/model/DataObjectLazyLoadingTest.php
	view/Requirements.php
2013-04-09 14:45:35 +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
g4b0
2f16951634 BUG: ampersand escaping 2013-03-11 09:58:14 +01:00
Mateusz Uzdowski
53feb3a5ae API Add possibility to combine media-targeting stylesheets. 2013-02-13 11:04:05 +13: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
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
aa72425e84 Fixed PHPUnit assertions for incomplete tests in core
Avoid PHPUnit throwing "test didn't run any assertions"
notices in PHP. If nothing else, it keeps test output
looking less broken by default, making it more likely
that actual errors do get noticed.
2012-11-23 15:16:39 +01: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
Ingo Schommer
e2f073f38a Method visibility according to coding conventions 2012-09-20 10:46:59 +02: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
Sean Harvey
01e0ce7b24 MINOR Ensure assertions of RequirementsTest use "framework" as the
FRAMEWORK_DIR, otherwise assertions of require() calls in
RequirementsTest_Conditionals template fail
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
Ingo Schommer
565e2ab318 Merge pull request #143 from Innovatif/sapphire
---

BUGFIX Having <header tag in HTML causes requirements to double. See http://www.silverstripe.org/general-questions/show/17524
2011-12-23 16:36:01 +01:00
Ingo Schommer
2870eb9212 MINOR Changed $fixture_path to relative filenames in all sapphire test cases in order to allow easier file moving and less verbosity in tests 2011-03-30 23:04:48 +13:00
Ingo Schommer
25a0c3e7fb ENHANCEMENT: in referencing a file in combine_files() it should fall back to standard requirement tags if combining has been disabled eg dev mode (from r107091)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112549 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-15 03:09:15 +00:00
Sam Minnee
34207e069a BUGFIX #4188 simon_w: Let require tags in templates be conditional (from r101867)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@112044 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-10-13 01:15:47 +00:00
Ingo Schommer
656eccc7a4 MINOR Removed Requirements:: static call and replace with instance (from r100533)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105598 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 04:16:33 +00:00
Ingo Schommer
9a438d26b0 ENHANCEMENT #3387 Requirements now has a new static function called Requirements::set_combined_files_folder() for setting where the combined files should belong (from r100528)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105596 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 04:15:43 +00:00
Ingo Schommer
a030d33f33 MINOR Removed whitespace (from r100517)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105592 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 04:14:18 +00:00
Ingo Schommer
7d8ac7662b MINOR Removed end php tag for Requirements and RequirementsTest (from r100514)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105591 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 04:14:00 +00:00
Ingo Schommer
9c03cc7fe1 API CHANGE Refactored Requirements to use Requirements_Backend at all times - this makes testing far easier. Thanks tobych!
MINOR Updated RequirementsTest to test Requirements_Backend instead of global statics (from r100513)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@105590 467b73ca-7a2a-4603-9d3b-597d59a354a9
2010-05-25 04:13:45 +00:00
Ingo Schommer
f512347e33 BUGFIX Making sure RequirementsTest? has combine_files activated (merged from branches/2.3-nzct)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@82055 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-07-16 23:45:23 +00:00
Sean Harvey
13b358a8dd Merged from branches/2.3
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@75582 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-04-29 00:07:39 +00:00
Ingo Schommer
023e733b16 BUGFIX Fixed wrong condition in Requirements::includeInHTML() which failed to process requirements if only customCSS() was used
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@71467 467b73ca-7a2a-4603-9d3b-597d59a354a9
2009-02-08 19:06:15 +00:00
Sam Minnee
2e955b498e BUGFIX: Fixing tests
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66508 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-24 19:28:46 +00:00
Sam Minnee
12e62c6329 ENHANCEMENT: Change MySQLDatabase connection to operate in ANSI SQL mode, to ease the transition to DB abstraction
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@66399 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-22 03:51:04 +00:00
Sam Minnee
e6c4d32dbc ARCHITECTURE #3034 wakeless: Make Requirements mockable by pushing the meat of the functionality to Requirements_Backend
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65436 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-07 02:06:28 +00:00
Ingo Schommer
72de4163b7 ENHANCEMENT Using namespaces for filenames in RequirementsTest
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65029 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-11-01 14:04:31 +00:00
Ingo Schommer
9371f4688b ENHANCEMENT Introduced constants for system paths like /sapphire in preparation for a more flexible directory reorganisation. Instead of hardcoding your path, please use the following constants: BASE_PATH, BASE_URL, SAPPHIRE_DIR, SAPPHIRE_PATH, CMS_DIR, CMS_PATH, THIRDPARTY_DIR, THIRDPARTY_PATH, ASSETS_DIR, ASSETS_PATH, THEMES_DIR, THEMES_PATH
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@63154 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-09-27 16:02:38 +00:00
Sam Minnee
4258361337 API Change: Turned Requirements::clear_combined_files() into Requirements::delete_combined_files() and Requirements::clear_combined_files()
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@60431 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-11 23:18:56 +00:00
Ingo Schommer
655802177c BUGFIX Added Requirements::path_for_file() to support external URLs in required paths (incl. unit test)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@60415 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-11 07:22:50 +00:00
Ingo Schommer
15b11e3f13 BUGFIX Fixed RequirementsTest combine_files() testing to accept new javascript inclusion format with added modified flags
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@60413 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-08-11 06:28:29 +00:00
Ingo Schommer
4478228ff4 ENHANCEMENT Respecting $blocked in Requirements::$combine_files
ENHANCEMENT Changed Requirements::$customHeader to array storage with uniquenessID
FEATURE Added Requirements::clear_combined_files()
ENHANCEMENT Extended unit test coverage for Requirements
MINOR Documentation in Requirements
MINOR Changed Requirements::$files_to_combine to Requirements::$combine_files

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@58347 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-07-18 03:47:17 +00:00
Ingo Schommer
60a0a04c39 FEATURE Added Requirements::combine_files() to reduce HTTP requests by concatenating javascript and css files. Uses JSMin library to further minify the payload by default.
Merged revisions 55913 via svnmerge from 
svn://svn.silverstripe.com/silverstripe/modules/sapphire/branches/2.2.0-mesq

........
  r55913 | gmunn | 2008-06-10 10:30:14 +1200 (Tue, 10 Jun 2008) | 1 line
  
  javascript combined files and google CDN implemented
........


git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@58316 467b73ca-7a2a-4603-9d3b-597d59a354a9
2008-07-17 23:32:31 +00:00