Commit Graph

2860 Commits

Author SHA1 Message Date
Simon Welsh
741f104749 FEATURE Allow setting of constant CUSTOM_INCLUDE_PATH in _ss_enivronment.php which is prepended to the include path 2012-02-11 14:33:55 +13:00
Sam Minnée
2c770a6f8f Merge pull request #146 from simonwelsh/namespace-manifest
BUGFIX Namespaced classes were always having their namespace prepended t...
2012-01-06 15:58:46 -08:00
Ingo Schommer
4056b94f75 BUGFIX Improved ClassInfo::ancestry() performance through in-memory caching and removal of unnecessary is_object() check - get_class() will complain if its not passed an object already) 2012-01-02 16:49:33 +01:00
Simon Welsh
dd546a9888 BUGFIX Merge request arrays recursively 2011-12-23 17:48:49 +13:00
Simon Welsh
27a51ed7ed BUGFIX Namespaced classes were always having their namespace prepended to their base class 2011-12-23 10:24:42 +13:00
Ingo Schommer
05d19d9a82 Revert "MINOR Use json_decode() instead of the Services_JSON class if the function exists." - it breaks assumptions around Convert::json2array() only converting the *first* level of an object structure into an array, which in turn fails CMSMainTest and LeftAndMainTest (as well as some UI functionality relying on it). In order to introduce this change we have to fix these issues in a backwards compatible manner.
This reverts commit 3a006b77ae.
2011-12-18 20:17:41 +01:00
Hamish Friedlander
be9286fbc4 Merge pull request #132 from simonwelsh/namespace-manifest 2011-12-17 15:40:06 +13:00
Sam Minnée
fdb8665a43 Merge pull request #133 from simonwelsh/54_fixes
MINOR Change error reporting level to explicitly exclude values rather t...
2011-12-16 18:04:42 -08:00
Simon Welsh
10b09420be MINOR Change error reporting level to explicitly exclude values rather than using XOR. 2011-12-17 14:40:58 +13:00
Simon Welsh
da2ac79205 BUGFIX Check for the correct type for $data['namespace'] 2011-12-17 14:32:14 +13:00
Simon Welsh
3e6a91a07f ENHANCEMENT Allow ClassManifest to handle classes with namespaces, or that extend classes in namspaces or that implement interfaces in namespaces. 2011-12-17 14:03:53 +13:00
Sam Minnée
dd495fb8bf Merge pull request #130 from sminnee/master
Fixed tests for PHPUnit 3.6
2011-12-16 15:19:47 -08:00
Sam Minnee
70d40cf4df BUGFIX: Removed use of base "Exception" class in order to avoid failures on PHPUnit 3.6. 2011-12-17 11:51:40 +13:00
simonwelsh
3a006b77ae MINOR Use json_decode() instead of the Services_JSON class if the function exists. 2011-12-10 08:57:45 +13:00
Ingo Schommer
755663a00a BUGFIX Set default mbstring encoding in Core.php instead of main.php and cli-script.php so phpunit binary test runs behave consistently (same as running through TestRunner+cli-script.php). Fixes URLSegmentFilterTest 2011-12-04 13:32:03 +01:00
Ingo Schommer
9b27a4c1be ENHANCEMENT More flexible URL filtering through new URLSegmentFilter API. Support for multibyte URL segments through URLPathFilter::$default_allow_multibyte. Abstraction from Convert::raw2url() (and SiteTree->generateURLSegment()) 2011-11-29 11:04:08 +01:00
Sam Minnee
da64123116 MINOR: Removed use of deprecated ClassInfo::is_subclass_of 2011-10-29 17:34:32 +13:00
Sam Minnee
e5afa25522 MINOR: Use Deprecation class to indicate deprecated methods in core. 2011-10-29 17:34:31 +13:00
Sam Minnée
d88b39f292 Merge pull request #81 from stojg/release/object-create
MINOR Object::create should not call a constructor if there aren't one.
2011-10-28 16:34:58 -07:00
Simon Welsh
5ad5dfc7ed Changes error reporting level to explicitly exclude E_DREPRECATED and E_STRICT, rather than xor. 2011-10-29 10:28:18 +13:00
Stig Lindqvist
e38dd08ea5 MINOR: Fix docblocks to reference SS_List instead of (now deprecated) DataObjectSet where appropriate 2011-10-28 15:58:55 +13:00
Stig Lindqvist
3a11bb2f66 MINOR Do not call a constructor if there aren't one.
This will fix a lot of unittests failing.
2011-10-27 18:13:41 +02:00
Fred Condo
9bd499617b Spelling correction
Found and fixed all misspellings of "[Hh]ierarchy"
2011-10-18 15:32:52 -07:00
Ingo Schommer
670eec95cb MINOR Documentation 2011-10-07 22:57:23 +02:00
Ingo Schommer
3a5b3af7c6 BUGFIX Fixed tag stacking in Diff.php thirdparty lib (AIR-71) 2011-10-07 14:12:52 +02:00
Ingo Schommer
03db2894db ENHANCEMENT Optional HTML escaping in Diff::compareHTML() (tested implicitly in DataDifferencerTest for sapphire) (AIR-56) 2011-10-07 14:12:52 +02:00
Ingo Schommer
72d5423ac5 MINOR Removed debug code from Diff.php 2011-10-07 14:12:52 +02:00
Ingo Schommer
d6f4b24066 MINOR Allowing array-based values in Diff->getHTMLChunks() by imploding on comma (AIR-39) 2011-10-07 14:12:51 +02:00
Sam Minnee
0601384cda BUGFIX: Reapply decorator statics if it has been removed and re-added. (merged from r100706) 2011-10-07 14:12:50 +02:00
Ingo Schommer
715638333e API CHANGE Obeying existing memory_limit settings in increase_memory_limmit_to(). Introduced set_increase_memory_limit_max() and set_increase_time_limit_max() 2011-10-07 14:12:48 +02:00
Will Rossiter
1732a17114 Merged new-orm into datagrid 2011-09-26 16:47:54 +13:00
Ingo Schommer
ce8e72cf0e MINOR Removing executable flag from all files (thanks miiihi) 2011-09-18 22:04:02 +02:00
Sam Minnee
878b348a0f Merge branch 'master' into new-orm
Conflicts:
	docs/en/reference/built-in-page-controls.md
	model/SQLQuery.php
2011-05-26 17:08:10 +12:00
ajshort
3f132a105b API CHANGE: Replaced DataObjectSet instances with ArrayList. 2011-05-05 20:40:24 +10:00
ajshort
04e5dae22e MINOR: Updated places that expect a DataObjectSet to accept an SS_List instance. 2011-05-02 17:14:05 +10:00
ajshort
54a5fc6a74 BUGFIX: Fixed the manifest not parsing interfaces which extended from multiple interfaces. 2011-05-02 10:37:26 +10:00
Ingo Schommer
37774d4103 ENHANCEMENT Added ClassManifest->getModules(), and removed limitation to toplevel modules in ClassManifest->handleFile() (necessary to detect new sapphire/admin/ "submodule") 2011-05-01 20:23:07 +12:00
Ingo Schommer
ea9faeccf7 API CHANGE Removed Object->cacheToFileWithArgs(), please use Object->cacheToFile() with the $arguments param 2011-05-01 20:23:07 +12:00
Sam Minnee
a15b6941a6 BUGFIX: Replaced ManifestBuilder::has_been_included() with SS_ClassLoader::hasManifest(). 2011-05-01 17:12:26 +12:00
ajshort
34e9ddfcc3 MINOR: Moved files from /core/model into /model. 2011-05-01 15:26:30 +12:00
ajshort
81c0caaddb API CHANGE: Renamed DataList::filter() and DataQuery::filter() to ::where(). 2011-05-01 15:26:30 +12:00
ajshort
8ec412e4d9 MINOR: Updated PaginatedList to be a list decorator. 2011-05-01 15:26:30 +12:00
ajshort
45a8866fab FEATURE: Added SS_ListDecorator, which is a utility class used to create decorators which wrap around a list instance, but are stll recognised as a list. 2011-05-01 15:26:29 +12:00
ajshort
3fbb29a6c5 FEATURE: Added PaginatedList, which wraps around a data list or set to provide pagination functionality. This replaces the pagination functionality baked into DataObjectSet.
API CHANGE: Removed pagination related methods from DataObjectSet and implemented them on PaginatedList.
API CHANGE: Removed DataObjectSet::parseQueryLimit(), this is now implemented as PaginatedList::setPaginationFromQuery().
API CHANGE: Deprecated DataObjectSet::TotalItems in favour of Count().
ENHANCEMENT: Added FirstLink and LastLink to PaginatedList.
MINOR: Updated documentation, and added a how-to on paginating items.
2011-05-01 15:26:29 +12:00
Sam Minnee
7efd19e7cb BUGFIX: Fixed DataList arrayaccess. 2011-05-01 15:26:28 +12:00
Sam Minnee
8db236f444 BUGFIX: Fixed DataList::relation(). 2011-05-01 15:26:28 +12:00
Sam Minnee
3a17d5c427 API CHANGE: Add removeByID(), canSortBy(), and byID() to DataList and its subclasses. 2011-05-01 15:26:01 +12:00
Sam Minnee
c615c4eb91 ENHANCEMENT: First cut of running SearchContext through DataList/DataQuery. Note that the eventual goal is probably to ditch SearchContext entirely. 2011-05-01 15:25:58 +12:00
Sam Minnee
050e0675ce ENHANCEMENT: Created HasManyList and ManyManyList objects that represent relations. API CHANGE: Relation methods no longer cache their results. API CHANGE: ComponentSet is deprecated. API CHANGE: DataObject::getManyManyComponentsQuery() no longer exists; just use the ManyManyList itself. API CHANGE: DataObject::getManyManyJoin() no longer exists; just use the ManyManyList itself. API CHANGE: DataObject::getManyManyFilter() no longer exists; just use the ManyManyList itself. 2011-05-01 15:25:45 +12:00
Sam Minnee
de1494e3a8 ENHANCEMENT: Implemented DataList as the successor of DataObjectSet. DataList doesn't execute the query until it's actually needed, allowing for a more flexible ORM.
API CHANGE: augmentSQL is now passed a DataQuery object from which query parameters can be extracted.
API CHANGE: DataObjectDecorators that manipulate the query can now define augmentDataQueryCreation().
API CHANGE: The container class argument for DataObject::get() is deprecated.
API CHANGE: DataObject::buildSQL() and DataObject::extendedSQL() are deprecated; just use DataObject::get() now.
API CHANGE: DataObject::instance_get() and DataObject::instance_get_one() are deprecated, and can no longer be overloaded.
API CHANGE: DataObject::buildDataObjectSet() is deprecated.
API CHANGE: Cant't call manual manipulation methods on DataList such as insertFirst()
2011-05-01 15:25:45 +12:00
ajshort
3a1c2df4e7 API CHANGE: Renamed DataObjectDecorator to DataExtension.
API CHANGE: Renamed LeftAndMainDecorator to LeftAndMainExtension.
MINOR: Replaced all references to decorators with extension.
2011-04-26 11:01:38 +10:00
Simon Welsh
44dabbb865 Landing pull request 3. BUGFIX: Object::__call() checking the wrong static. Fixes #6438 2011-04-25 23:11:09 +12:00
Ingo Schommer
9b29616710 API CHANGE Rearranged files in sapphire to reflect core dependencies more accurately, and have the tests/ folder mirror its folder structure 2011-03-31 09:56:21 +13:00
Julian Seidenberg
eaa6c6c49d API-CHANGE: removing protected object_to_array method (use get_object_vars instead) 2011-03-30 18:16:17 +13:00
Julian Seidenberg
5ea4615d4d ENHANCEMENT: Refactoring and documenting the ArrayData class. Deprecating the "object_to_array" method (fixes #4875, thanks tobych) 2011-03-30 18:16:17 +13:00
Julian Seidenberg
0b93a8f7cf API-CHANGE: Allowing non-standard path for session store 2011-03-30 18:16:16 +13:00
Julian Seidenberg
a204c136fe API CHANGE: JSONDataFormatter builds JSON itself, changing it to use Convert::array2json() instead (fixes #5162, thanks sharvey) 2011-03-30 18:16:12 +13:00
Julian Seidenberg
7ebe602482 BUGFIX: Enum now escapes field values (fixes #6437, thanks simon_w) 2011-03-30 18:12:35 +13:00
Julian Seidenberg
f94be66cb2 BUGFIX: HTMLText.Summary() will return nothing if there's an image at the beginning. Regex to strip out the image and unit tests (fixes #6436, thanks webbower) 2011-03-30 18:12:31 +13:00
Julian Seidenberg
341245dd4a ENHANCEMENT Allowing custom HTMLCleaner implementations via Diff:: and new TidyHTMLCleaner and PurifierHTMLCleaner classes 2011-03-30 18:02:25 +13:00
Ingo Schommer
5f59b3a3c9 MINOR Fixed paths due to file moving into sapphire/admin 2011-03-29 18:08:32 +13:00
Ingo Schommer
1225426e75 MINOR Fixed @package declarations 2011-03-29 18:07:58 +13:00
Ingo Schommer
3f3f0f6211 API CHANGE Moved SiteTree->doRollbackTo() to Versioned class 2011-03-29 18:07:58 +13:00
Ingo Schommer
502131171b BUGFIX Declaring has_many "Versions" relationship according to decorated class in Versioned->extraStatics() 2011-03-29 18:07:58 +13:00
Ingo Schommer
a9b13509d2 MINOR Removed dependency on SiteTree in various unit tests 2011-03-29 18:07:58 +13:00
Ingo Schommer
463b23baee MINOR Exception when SiteTree or File are not present in MySQLDatabase->searchEngine() 2011-03-29 18:07:57 +13:00
Ingo Schommer
357ea56c02 BUGFIX Replaced hardcoded SiteTree dependency in DataObjectSet->groupWithParents() with method parameter 2011-03-29 18:07:57 +13:00
Ingo Schommer
7e5da27443 MINOR Added comments to DataObject->can() 2011-03-29 18:07:57 +13:00
Ingo Schommer
42fa7572e7 MINOR Moved CurrentPageIdentifier from 'sapphire' to 'cms' module 2011-03-29 18:07:56 +13:00
Ingo Schommer
4adcdba226 MINOR Moved SilverStripeNavigator from 'sapphire' to 'cms' 2011-03-29 18:07:56 +13:00
Ingo Schommer
d61444e976 API CHANGE Moved Translatable class into new 'translatable' module 2011-03-29 18:07:56 +13:00
Paul Meyrick
eb221ca821 MINOR Moved Diff class from cms to sapphire module (cms/code/Diff.php) 2011-03-29 18:07:55 +13:00
Paul Meyrick
dc36725869 MINOR Using BlankPage template in SecurityTest, BasicAuthTest to remove ContentController dependency
MINOR Checking for SiteTree class existence in Security, Translatable
MINOR Checking for ContentController existence in FulltextSearchable
MINOR Removed unnecessary ContentController tests from ObjectTest
MINOR Replaced CMS specific examples in PermissionCheckboxSetFieldTest, DataObjectTest
MINOR Changed SecurityTest to make assertions against Security/login rather than relying on redirection from admin/cms
2011-03-29 18:07:55 +13:00
Ingo Schommer
204fd2c4ce MINOR Moved SiteTree, SiteTreeDecorator, SiteConfig, ErrorPage, RedirectorPage, VirtualPage (and related tests) to "cms" module 2011-03-29 18:07:55 +13:00
Ingo Schommer
5bf5b744d8 MINOR Moved ContentController, ModelAsController, NestedController, RootURLController (and related tests) to "cms" module 2011-03-29 18:07:55 +13:00
Hamish Friedlander
5ca97c7099 BUGFIX: Make SSTemplateParser work with empty templates 2011-03-25 14:07:07 +13:00
ajshort
2d4fe274a6 API CHANGE: Removed unused SSViewer::getTemplateFile() and getTemplateContent().
MINOR: Updated SSViewer::getTemplateFileByType() to use the template loader.
2011-03-24 21:31:00 +11:00
ajshort
2c22dee176 API CHANGE: Updated i18n::get_owner_module() to only search classes, since it is never used to search for templates. 2011-03-24 21:31:00 +11:00
ajshort
c34105438c FEATURE: Replaced the template manifest with SS_TemplateLoader, which finds templates from a stack of SS_TemplateManifest objects. 2011-03-24 21:30:57 +11:00
ajshort
7df8929bc0 API CHANGE: Updated Requirements::themedCSS() to take two parameters - the CSS name and a fallback module. It first looks for the CSS file inside the current theme, then falls back to the CSS file inside the module. This eliminates the need for a CSS manifest. 2011-03-24 20:14:43 +11:00
ajshort
bc0a1b7a05 MINOR: Updated various methods to use new manifest methods rather than ManifestBuilder functions or globals. 2011-03-24 20:14:43 +11:00
ajshort
184da5bbcc FEATURE: Replaced ManifestBuilder (and related bootstrap code) with a new SS_ClassLoader class which loads classes and interfaces from a stack of SS_ClassManifest instances. 2011-03-24 20:14:42 +11:00
ajshort
852920237e MINOR: Updated ClassInfo::allClasses() and ::exists() to use $_CLASS_MANIFEST rather than $_ALL_CLASSES. This means results from ClassInfo::allClasses() are now lowercase. 2011-03-24 20:14:42 +11:00
ajshort
9caf597aee MINOR: Updated DataObject::buildSQL() to use DB::getConn() to check to see if a DB connection has been intialised rather than ManifestBuilder::has_been_included(). 2011-03-24 20:14:41 +11:00
ajshort
5c972b231d API CHANGE: Moved ManifestBuilder::get_themes() to SSViewer::get_themes(). 2011-03-24 20:14:41 +11:00
ajshort
969aa0b51e MINOR: Replaced deprecated ClassInfo::is_subclass_of() calls. 2011-03-24 20:14:41 +11:00
ajshort
803e67b87d API CHANGE: Refactored ClassInfo::subclassesFor() to traverse the child tree, rather than needing to store a list of every classes descendants.
API CHANGE: Updated ClassInfo::subclassesFor() so all the array keys are consistently the same as the values.
2011-03-24 20:14:41 +11:00
ajshort
f55cc7ec67 MINOR: Refactored ClassInfo::dataClassesFor() to use existing methods rather than creating the class array itself. 2011-03-24 20:14:41 +11:00
ajshort
eba1a85ead MINOR: Refactored ClassInfo::ancestry() to use inbuilt PHP methods rather than the parent manifest. 2011-03-24 20:14:41 +11:00
ajshort
0d03348926 API CHANGE: Refactored ClassInfo::baseDataClass() to use inbuilt PHP methods, and throw an exception if the passed class is not a subclass of DataObject. 2011-03-24 20:14:38 +11:00
ajshort
d187718a3f API CHANGE: Deprecated ClassInfo::is_subclass_of() in favour of is_subclass_of(). 2011-03-22 20:49:17 +11:00
ajshort
393893aa6d MINOR: Updated TokenisedRegularExpression so it no longer extends Object, and moved it into the manifest directory. 2011-03-22 20:49:17 +11:00
Ingo Schommer
10abaf0293 API CHANGE Returning <span class="ins"> instead of <ins> from SiteTree->getTreeTitle() (for easier parsing in javascript tree library which uses <ins> for other purposes) 2011-03-22 18:15:08 +13:00
Ingo Schommer
2449a2b5c6 BUGFIX Using SiteTree->MenuTitle in SiteTree->getCMSFields() parent page tree field, to stay consistent with CMS tree (fixes #6268) 2011-03-22 18:13:16 +13:00
Ingo Schommer
cc795c4326 MINOR Added jstree related classes to Hierarchy->markingClasses() 2011-03-22 17:59:35 +13:00
Ingo Schommer
b6214fd63b BUGFIX Using relative base for all css and javascript paths handled through the Requirements class (in Requirements::path_for_file()), in order to avoid problems with statically cached pages returning mixed protocol links and causing browser security warnings on https:// 2011-03-21 18:13:02 +13:00
Ingo Schommer
da909a0214 BUGFIX Fixed usage of htmlentities() and html_entity_decode() to be UTF8 compatible by default 2011-03-21 18:13:01 +13:00
Ingo Schommer
2667fc6ef0 BUGFIX HTMLText->LimitCharacters() to use UTF8 compatible htmlentities() and html_entity_decode() calls 2011-03-21 18:13:01 +13:00
Ingo Schommer
09283fba88 BUGFIX Fixed DataObject->isEmpty() to only inspect custom fields (excluding "ClassName" etc), and use DBField->hasValue() for more type-specific emptyness checks 2011-03-21 18:13:01 +13:00
Ingo Schommer
c36ac4278d MINOR Documentation in DataObject 2011-03-21 18:13:00 +13:00
Ingo Schommer
04c8124f39 BUGFIX Check for existence of REQUEST_URI IN Director::forceSSL() and Director::absoluteURL() (forceSSL() is typically called in _config.php, which fails when executed through cli-script.php) 2011-03-21 18:13:00 +13:00
Sam Minnee
5755c27c30 ENHANCEMENT Improved performance of DataObject::get_by_id() by setting order to "1" in the contained get_one() call 2011-03-21 18:09:12 +13:00
Sam Minnee
0920b0fcd9 PERFORMANCE: Improved performance of homepage lookup. 2011-03-21 18:08:07 +13:00
Ingo Schommer
51a0a806fc BUGFIX Prioritize static error pages in ErrorPage::response_for() (otherwise any 404 will be a major performance hit) 2011-03-21 17:49:27 +13:00
Ingo Schommer
32548a9b3b BUGFIX Accepting 'index' as valid key in MySQLDatabase->createIndex() (same as PostgreSQLDatabase) 2011-03-21 17:49:27 +13:00
phalkun
8fd309a5ea BUGFIX: In some circumstances, parts of the entities were cut off thus display the LimitCharacters-ed text incorrectly 2011-03-21 17:49:27 +13:00
Hamish Friedlander
88535a43c5 BUGFIX: Clean up escaped character handling in SSViewer, and rework the Text rule to avoid a segfault problem with pcre regular expressions 2011-03-17 13:31:56 +13:00
Ingo Schommer
09db4ba695 BUGFIX Using setStatusCode() in HTTPResponse->redirect() in order to update status description accordingly (fixes #6495, thanks florian.thoma) 2011-03-16 22:18:57 +13:00
Ingo Schommer
efe710e2d3 MINOR Removed unnecessary SiteTree->Status setting in ContentController, ErrorPage and SiteTree - now controlled via getters like isPublished() 2011-03-16 13:31:51 +13:00
Ingo Schommer
31d7a00eb7 MINOR Fixed merge errors 2011-03-16 13:31:46 +13:00
Ingo Schommer
b70ff87658 API CHANGE Added abstract transaction methods to Database (migrated from MySQLDatabase): supportsTransactions(), transactionStart(), transactionSavepoint(), transactionRollback(), transactionEnd() 2011-03-11 16:18:15 +13:00
Ingo Schommer
0a4aa9dc17 BUGFIX Renamed MySQLDatabase->clear_cached_fieldlist() to clearCachedFieldList() and moved to parent Database class in order to avoid breaking other database drivers (broken in 360176d2 by gmunn) 2011-03-11 14:22:59 +13:00
Hamish Friedlander
d0afa9987c BUGFIX: func_get_args cant be used in a function call in PHP 5.2 2011-03-11 11:52:51 +13:00
Hamish Friedlander
f5b867a35d Merge branch 'ssviewer-rewrite' 2011-03-10 17:52:10 +13:00
Hamish Friedlander
08faf03673 BUGFIX: Fix href rewriting in text 2011-03-10 17:38:03 +13:00
Hamish Friedlander
31c5bb24f7 MINOR: Remove now-obsolete old partial cache code 2011-03-10 17:37:46 +13:00
Hamish Friedlander
29c06edd23 ENHANCEMENT: Add back in partial caching 2011-03-10 15:04:07 +13:00
Sam Minnee
27246ce982 MINOR: Fixed 2.4 mergeback 2011-02-22 10:53:58 +13:00
Hamish Friedlander
0b7d396ab8 ENHANCEMENT: Add old-style _t and sprintf(_t) tags back into new SSViewer rewrite 2011-02-21 17:44:46 +13:00
Hamish Friedlander
20ba97f8ff BUGFIX: Empty if blocks are allowed (were hacky way of doing negation, now replaced by not) 2011-02-21 16:19:10 +13:00
Hamish Friedlander
a34df1cb1f EHNANCEMENT: Allow presence checks in if and else_if blocks to be prefaced with not (allowed: <% if not A %>, not allowed: <% if not A == B %> - use <% if A != B %> instead 2011-02-21 15:24:14 +13:00
Hamish Friedlander
11459e40d4 MINOR: Add instructions for how to compile parser to comment 2011-02-21 13:50:10 +13:00
Hamish Friedlander
71892085fc ENHANCEMENT: Add Up support 2011-02-21 13:50:10 +13:00
Hamish Friedlander
829bf23192 MINOR: Add inline documentation to SSTemplateParser 2011-02-15 10:04:22 +13:00
Sam Minnee
1e0c4ae8d1 Merge branch '2.4'
Conflicts:
	cache/Cache.php
	cli/CliController.php
	core/Convert.php
	core/Core.php
	core/ManifestBuilder.php
	core/Object.php
	core/SSViewer.php
	core/control/ContentController.php
	core/control/ContentNegotiator.php
	core/control/FormResponse.php
	core/control/RequestHandler.php
	core/control/SilverStripeNavigatorItem.php
	core/i18n.php
	core/i18nTextCollector.php
	core/model/DataObjectSet.php
	core/model/Hierarchy.php
	core/model/Image.php
	core/model/MySQLDatabase.php
	core/model/SiteConfig.php
	core/model/SiteTree.php
	core/model/Translatable.php
	core/model/VirtualPage.php
	dev/Debug.php
	dev/SapphireTest.php
	dev/TestRunner.php
	dev/YamlFixture.php
	dev/install/MySQLDatabaseConfigurationHelper.php
	docs/en/installation/from-source.md
	docs/en/topics/themes.md
	docs/en/tutorials/4-site-search.md
	email/Mailer.php
	filesystem/File.php
	filesystem/Folder.php
	forms/ComplexTableField.php
	forms/CurrencyField.php
	forms/DateField.php
	forms/FieldSet.php
	forms/FileField.php
	forms/FileIFrameField.php
	forms/HtmlEditorConfig.php
	forms/HtmlEditorField.php
	forms/SelectionGroup.php
	forms/SimpleImageField.php
	forms/TabSet.php
	forms/TableField.php
	forms/TableListField.php
	forms/TreeDropdownField.php
	forms/TreeMultiselectField.php
	integration/Geoip.php
	javascript/SelectionGroup.js
	javascript/TreeSelectorField.js
	javascript/UpdateURL.js
	javascript/core/jquery.ondemand.js
	javascript/tiny_mce_improvements.js
	javascript/tree/tree.js
	lang/en_US.php
	search/ContentControllerSearchExtension.php
	security/Group.php
	security/Member.php
	security/PermissionCheckboxSetField.php
	security/PermissionRole.php
	security/Security.php
	static-main.php
	templates/RelationComplexTableField.ss
	templates/TableListField.ss
	tests/ConvertTest.php
	tests/DataObjectSetTest.php
	tests/DataObjectTest.php
	tests/DataObjectTest.yml
	tests/RequestHandlingTest.php
	tests/SSViewerTest.php
	tests/SiteTreePermissionsTest.php
	tests/SiteTreeTest.php
	tests/TransactionTest.php
	tests/api/RestfulServiceTest.php
	tests/control/DirectorTest.php
	tests/control/ModelAsControllerTest.php
	tests/fieldtypes/WidgetAreaEditorTest.php
	tests/forms/CurrencyFieldTest.php
	tests/forms/FormTest.php
	tests/model/DatabaseTest.php
	tests/model/ImageTest.php
	tests/search/ContentControllerSearchExtensionTest.php
	tests/security/MemberAuthenticatorTest.php
	thirdparty/.gitignore
	thirdparty/behaviour/behaviour.js
	thirdparty/firebug-lite/firebug.js
	thirdparty/firebug-lite/firebugx.js
	thirdparty/jquery-form/jquery.form.js
	thirdparty/jquery-livequery/jquery.livequery.js
	thirdparty/jquery-livequery/test/jquery.js
	thirdparty/jquery-livequery/test/test.html
	thirdparty/jquery-livequery/test/test2.html
	thirdparty/jquery-metadata/META.json
	thirdparty/jquery-metadata/README
	thirdparty/jquery-metadata/jquery.metadata.js
	thirdparty/jquery-metadata/test/index.html
	thirdparty/jquery-metadata/test/jquery.js
	thirdparty/jquery-metadata/test/test.js
	thirdparty/jquery-metadata/test/testrunner.js
	thirdparty/jquery-metadata/test/testsuite.css
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_glass_75_dadada_1x400.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-icons_222222_256x240.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-icons_2e83ff_256x240.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-icons_454545_256x240.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-icons_888888_256x240.png
	thirdparty/jquery-ui-themes/smoothness/images/ui-icons_cd0a0a_256x240.png
	thirdparty/jquery-ui/i18n/jquery-ui-i18n.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ar.js
	thirdparty/jquery-ui/i18n/ui.datepicker-bg.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ca.js
	thirdparty/jquery-ui/i18n/ui.datepicker-cs.js
	thirdparty/jquery-ui/i18n/ui.datepicker-da.js
	thirdparty/jquery-ui/i18n/ui.datepicker-de.js
	thirdparty/jquery-ui/i18n/ui.datepicker-el.js
	thirdparty/jquery-ui/i18n/ui.datepicker-eo.js
	thirdparty/jquery-ui/i18n/ui.datepicker-es.js
	thirdparty/jquery-ui/i18n/ui.datepicker-fa.js
	thirdparty/jquery-ui/i18n/ui.datepicker-fi.js
	thirdparty/jquery-ui/i18n/ui.datepicker-fr.js
	thirdparty/jquery-ui/i18n/ui.datepicker-he.js
	thirdparty/jquery-ui/i18n/ui.datepicker-hr.js
	thirdparty/jquery-ui/i18n/ui.datepicker-hu.js
	thirdparty/jquery-ui/i18n/ui.datepicker-hy.js
	thirdparty/jquery-ui/i18n/ui.datepicker-id.js
	thirdparty/jquery-ui/i18n/ui.datepicker-is.js
	thirdparty/jquery-ui/i18n/ui.datepicker-it.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ja.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ko.js
	thirdparty/jquery-ui/i18n/ui.datepicker-lt.js
	thirdparty/jquery-ui/i18n/ui.datepicker-lv.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ms.js
	thirdparty/jquery-ui/i18n/ui.datepicker-nl.js
	thirdparty/jquery-ui/i18n/ui.datepicker-no.js
	thirdparty/jquery-ui/i18n/ui.datepicker-pl.js
	thirdparty/jquery-ui/i18n/ui.datepicker-pt-BR.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ro.js
	thirdparty/jquery-ui/i18n/ui.datepicker-ru.js
	thirdparty/jquery-ui/i18n/ui.datepicker-sk.js
	thirdparty/jquery-ui/i18n/ui.datepicker-sl.js
	thirdparty/jquery-ui/i18n/ui.datepicker-sq.js
	thirdparty/jquery-ui/i18n/ui.datepicker-sr-SR.js
	thirdparty/jquery-ui/i18n/ui.datepicker-sr.js
	thirdparty/jquery-ui/i18n/ui.datepicker-sv.js
	thirdparty/jquery-ui/i18n/ui.datepicker-th.js
	thirdparty/jquery-ui/i18n/ui.datepicker-tr.js
	thirdparty/jquery-ui/i18n/ui.datepicker-uk.js
	thirdparty/jquery-ui/i18n/ui.datepicker-zh-CN.js
	thirdparty/jquery-ui/i18n/ui.datepicker-zh-TW.js
	thirdparty/jquery/jquery.js
	thirdparty/jsmin/.piston.yml
	thirdparty/jsmin/jsmin.php
	thirdparty/prototype/prototype.js
	thirdparty/scriptaculous/dragdrop.js
	thirdparty/simplepie/.piston.yml
	thirdparty/spyc/.piston.yml
	thirdparty/spyc/README
	thirdparty/spyc/php4/spyc.php4
	thirdparty/spyc/php4/test.php4
	thirdparty/spyc/spyc.php
	thirdparty/spyc/spyc.yaml
	thirdparty/tinymce-advcode/dialog.html
	thirdparty/tinymce-advcode/editor_plugin_src.js
	thirdparty/tinymce-advcode/js/dialog.js
	thirdparty/tinymce/langs/en.js
	thirdparty/tinymce/plugins/advhr/langs/en_dlg.js
	thirdparty/tinymce/plugins/advhr/rule.htm
	thirdparty/tinymce/plugins/advimage/image.htm
	thirdparty/tinymce/plugins/advimage/langs/en_dlg.js
	thirdparty/tinymce/plugins/advlink/langs/en_dlg.js
	thirdparty/tinymce/plugins/advlink/link.htm
	thirdparty/tinymce/plugins/emotions/emotions.htm
	thirdparty/tinymce/plugins/emotions/langs/en_dlg.js
	thirdparty/tinymce/plugins/example/dialog.htm
	thirdparty/tinymce/plugins/fullpage/fullpage.htm
	thirdparty/tinymce/plugins/fullpage/langs/en_dlg.js
	thirdparty/tinymce/plugins/fullscreen/fullscreen.htm
	thirdparty/tinymce/plugins/inlinepopups/template.htm
	thirdparty/tinymce/plugins/media/langs/en_dlg.js
	thirdparty/tinymce/plugins/media/media.htm
	thirdparty/tinymce/plugins/paste/js/pasteword.js
	thirdparty/tinymce/plugins/paste/langs/en_dlg.js
	thirdparty/tinymce/plugins/paste/pastetext.htm
	thirdparty/tinymce/plugins/paste/pasteword.htm
	thirdparty/tinymce/plugins/searchreplace/langs/en_dlg.js
	thirdparty/tinymce/plugins/searchreplace/searchreplace.htm
	thirdparty/tinymce/plugins/spellchecker/editor_plugin.js
	thirdparty/tinymce/plugins/spellchecker/editor_plugin_src.js
	thirdparty/tinymce/plugins/style/langs/en_dlg.js
	thirdparty/tinymce/plugins/style/props.htm
	thirdparty/tinymce/plugins/table/cell.htm
	thirdparty/tinymce/plugins/table/langs/en_dlg.js
	thirdparty/tinymce/plugins/table/merge_cells.htm
	thirdparty/tinymce/plugins/table/row.htm
	thirdparty/tinymce/plugins/table/table.htm
	thirdparty/tinymce/plugins/template/langs/en_dlg.js
	thirdparty/tinymce/plugins/template/template.htm
	thirdparty/tinymce/plugins/xhtmlxtras/abbr.htm
	thirdparty/tinymce/plugins/xhtmlxtras/acronym.htm
	thirdparty/tinymce/plugins/xhtmlxtras/attributes.htm
	thirdparty/tinymce/plugins/xhtmlxtras/cite.htm
	thirdparty/tinymce/plugins/xhtmlxtras/del.htm
	thirdparty/tinymce/plugins/xhtmlxtras/ins.htm
	thirdparty/tinymce/plugins/xhtmlxtras/langs/en_dlg.js
	thirdparty/tinymce/themes/advanced/about.htm
	thirdparty/tinymce/themes/advanced/anchor.htm
	thirdparty/tinymce/themes/advanced/charmap.htm
	thirdparty/tinymce/themes/advanced/color_picker.htm
	thirdparty/tinymce/themes/advanced/image.htm
	thirdparty/tinymce/themes/advanced/langs/en.js
	thirdparty/tinymce/themes/advanced/langs/en_dlg.js
	thirdparty/tinymce/themes/advanced/link.htm
	thirdparty/tinymce/themes/advanced/source_editor.htm
	thirdparty/tinymce/themes/simple/langs/en.js
	thirdparty/tinymce/tiny_mce.js
	thirdparty/tinymce/tiny_mce_src.js
	widgets/Widget.php
2011-02-14 18:47:53 +13:00
Hamish Friedlander
67e4f8521a BUGFIX: We dont try and detect mismatched end blocks except at the top level, so remove old redundant code from when we did 2011-02-14 16:52:01 +13:00
Hamish Friedlander
f6587c4ea2 ENHANCEMENT: Use the new SSTemplateParser class to compile the templates 2011-02-14 14:58:58 +13:00
Hamish Friedlander
f3c671988f ENHANCEMENT: Add first version of SSTemplateParser, the new php-peg based template compiler 2011-02-14 14:58:57 +13:00
Ingo Schommer
60ca784aae API CHANGE Removed Director::history(), history was no longer recorded. Removed Director::__construct(), as Director is a static utility class without instance state (fixes #6385) 2011-02-12 16:39:35 +13:00
Ingo Schommer
58b44287d3 MINOR Fixed en_US spelling (fixes #6316, thanks sonetseo)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@115461 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:07 +13:00
Sean Harvey
47cae8f81f BUGFIX Incorrect call to weekday function in Date class (thanks webbower!)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@115443 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:07 +13:00
Sean Harvey
c336545cd7 BUGFIX Checking for existence of draft and live records in SilverStripeNavigatorItem_ArchiveLink->getHTML() (from r115130)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@115442 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:07 +13:00
Sean Harvey
3e8cc481f0 BUGFIX #6291 Remove rollback action from CMSMain allowed_actions and rely on form action_rollback instead which is safer
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@115440 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:06 +13:00
Sean Harvey
b81cae875a BUGFIX Fixed edge case bug where SilverStripeNavigatorItem would fail if a page was not published, and the navigator archive link was generated
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@115437 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:06 +13:00
Ingo Schommer
2962fb8d13 BUGFIX Checking for existence of FormAction in Form->httpSubmission() to avoid bypassing $allowed_actions definitions in controllers containing this form
BUGFIX Checking for $allowed_actions in Form class, through Form->httpSubmission() (from r115182)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@115188 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:06 +13:00
Sean Harvey
521a76b880 BUGFIX #6219 Director::direct() validation fails for doubly nested file fields (thanks ajshort!) (from r114921)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114922 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:06 +13:00
Sean Harvey
f41b5179f6 ENHANCEMENT Allow setting secure session cookies when using SSL. Recent change r114567 made this impossible. (thanks simon_w!) (from r114900)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114901 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:06 +13:00
Ingo Schommer
c639916afb BUGFIX Removed switch in MySQLDatabase->query() to directly echo queries with 'showqueries' parameter when request is called via ajax (from r114782)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114783 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:06 +13:00
Ingo Schommer
3d2552a453 MINOR Partially reverted r114744
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114745 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:05 +13:00
Ingo Schommer
7280a64d6b MINOR Reduced VARCHAR length from 1024 to 40 bytes, which fits the sha1 hashes created by RandomGenerator. 1024 bytes caused problems with index lengths on MySQL (from r114743)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114744 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:05 +13:00
Ingo Schommer
f4cc316c8a ENHANCEMENT 'bypassStaticCache' cookie set in Versioned is limited to httpOnly flag (no access by JS) to improve clientside security (from r114568)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114572 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:04 +13:00
Ingo Schommer
ac4c207846 ENHANCEMENT Session::start() forces PHPSESSID cookies to be httpOnly (no access by JS) to improve clientside security (from r114567)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114571 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:04 +13:00
Ingo Schommer
6fa8f8341c BUGFIX Escaping $locale values in Translatable->augmentSQL() in addition to the i18n::validate_locale() input validation (from r114515)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114516 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:04 +13:00
Ingo Schommer
1670dab5e1 API CHANGE Using i18n::validate_locale() in various Translatable methods to ensure the locale exists (as defined through i18n::$allowed_locales) (from r114470)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114474 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00
Ingo Schommer
924f0feb5d BUGFIX Check for valid locale in i18n::set_locale()/set_default_locale()/include_locale_file()/include_by_locale() (as defined in i18n::$allowed_locales). Implicitly sanitizes the data for usage in controllers. (from r114469)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114473 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00
Paul Meyrick
7864d8f250 FIX: Revert last commit
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114464 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00
Paul Meyrick
889f888c1a FIX: Revert last commit
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114463 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00
Paul Meyrick
14d4a78d20 MINOR: Added exception handling if ClassName is null in search results
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114454 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00
Ingo Schommer
f79c6aeb83 BUGFIX Don't allow HTML formatting in RequestHandler->httpError() by sending "Content-Type: text/plain" response headers. (from r114444)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114445 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00
Ingo Schommer
30e3f08efb MINOR Checking for class_exists() before SapphireTest::is_running_tests() to avoid including the whole testing framework, and triggering PHPUnit to run a performance-intensive directory traversal for coverage file blacklists (from r114332)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/branches/2.4@114334 467b73ca-7a2a-4603-9d3b-597d59a354a9
2011-02-02 14:20:03 +13:00