2.3.0 Changelog
New Features
- [71761] Allow combined files to be disabled
- [70697] CRM Security with two levels: viewable and writeable.
- [70422] added silverstripe version number to meta generator tag
- [70142] add permission control for AddForm and EditForm
- [69687] added Smiliey support to BBCode / forum. Now BBCode supports :) :P :D :( 8-) and :). Yays for icons. Should move from BBCodeParser to TextParser so its available in tinymce but this will do for the forum
- [66163] #1531 - Allow moving files in root assets file (hamish)
- [65904] #1614: Allow use of admin/addpage?ParentID=(ID)&PageType=(Class) url to quick-add pages
- [65690] #594: Added javascript-on-demand support
- [65689] #594: Added javascript-on-demand support
- [65688] #594: Added javascript-on-demand support
- [65555] #2767 wakeless: Allow popuplation of non-DataObject tables with YamlFixture
- [65351] merged back patch for image editor. Currently completely broken on trunk this patch does nothing to fix it sadly. I think its a prototype thing
- [65095] Added CMSMenu and CMSMenuItem and adjusted existing LeftAndMain subclasses to use new notation.See #2872 (thanks to hamish for the patch!)
- [64881] Making DataObject attributes translatable through i18n class, e.g. $db and all relation statics. Use DataObject->fieldLabels() to access translated attributes.
- [64877] Added JavaScript unit tests with jQuery QUnit. Can be viewed similiarly to PHPUnit tests through dev/jstests URL. Uses an <iframe> to include all tests.
- [64758] Update to TinyMCE 3.2 - CMS changes
- [64492] Support for i18n entity namespaces in templates
- [64480] Added support for 'sake dev/tests/all --showslow' to list slow tests
- [64473] Added ?debug_memory=1 flag
- [64461] Show max memory usage on dev/tests/all
- [64444] Flush template cache before running tests
- [64417] Added SiteTreeMaintenanceTask
- [64345] #2956 seaeagle1: Added If-Modified-Since support to HTTP::add_cache_headers() [16:00:18]
- [64308] Allowing for field-level permissions in !DataObject::$api_access - respecting those permissions for reading and writing in RestfulServer (#2918)
- [64307] Allowing for field-level permissions in !DataObject::$api_access - respecting those permissions for reading and writing in RestfulServer (#2918)
- [64231] #2951 simon_w: Use 301 redirect on Director::forceWWW()
- [64157] Added FormScaffolder for more flexible scaffolding of FieldSets from DataObject metadata
- [64103] #2601 - More template handlers
- [63679] Added HTTP method override support to HTTPRequest and Form (through $_POST_method? or $_SERVERX-HTTP-Method-Override?), incl. unit tests
- [63659] Frontend CRUD scaffolding with RecordController and CollectionController (not fully functional yet, needs correct Link() methods)
- [63637] Added coloured output to dev/tests/all
- [63623] Added DataObject->getFormFields() - uses DataObject->scaffoldFormFields() by default. Added DataObjectDecorator->updateFormFields() for easy customization
- [63462] Added Email::obfuscate()
- [62477] Including Firebug Lite when requested by ?debug_firebug=1 for easy debugging in IE/Opera/Safari- otherwise including fake-objects with FirebugX by default to enable usage of console.* commands without javascript errors
- [62472] Added !GoogleSitemap::enable()
- [62467] Formatting MySQL error messages with newlines through new SQLFormatter class (used in !MySQLDatabase)
- [62458] Allow Use of ?fields=ID,Name,OtherField,RelName get variable on RESTful server queries, to restrict the fields and relations returned int the data set
- [62396] Added BulkLoader_Result for better inspection of import results, replacing the simple numeric count result format.
- [62333] TableListField?'s TRs can now have class=loading added to them to show a loading icon. (Used by ModelAdmin)
- [62286] Allow customisation of HTTPResponse status text, as well as status code
- [62284] Files & Images tree now shows filename rather than meta-data title, to make it easier to find the file you're looking for
- [62211] #1403 - addFieldToTab(), push(), insertBefore(), etc will allow duplicates - the old field is replaced with the new.
- [61824] #2594 - Allow decoration of getCMSActions() (simon_w)
- [61605] relate groups with column selections in SearchForm of CRM Admin
- [61444] xml2array now works with recursion so it will actually work with most xml files. Unit tests to comei
- [60396] Added configurable Requirements::$write_js_to_body for performance improvements (turned off by default)
- [60368] Improved debugging view on CLI interface, by having a separate DebugView subclass that takes care of error output for this situation.
- [60220] Merged in !CompositeDBField
API Change
- [70697] add Group::canView() so that give group object a different level of security control.
- [70150] we move the filedata generation part of export() function to a new function generateExportFileData, so that, a child class could reuse the function when overload export function
- [70057] Decimal->requireField now includes 'not null' constraint, as Sapphire doesn't expect the value to be null. MySQL switches null values to 0.00 on build.
- [69730] Removed access to broken image editor feature
- [69688] Enforcing usage of a Validator instance in Forms if its not explicitly passed to the Form constructor. By default a new RequiredField instance is used without any fields marked as required. This was necessary because some FormField implementations rely on their validate() method, sometimes as a wrongly placed processing hook, but mostly for security reasons. One example are file extension checks in FileField subclasses.
- [69363] Added ModelAdmin_!CollectionController::columsnAvailable() and ModelAdmin_!CollectionController::columnsSelectedByDefault() that can be overridden to customise the fields available in the column selection control.
- [69360] Add keyField and titleField arguments to SQLMap
- [68484] ContentNegotiator? is now disabled by default, unless you include the xml header in your template. (merged from r68482)
- [67426] Added SSViewer::set_source_file_comments() to allow disabling of comments in SSViewer output
- [67380] Deprecated Email->setFormat()
- [66894] Move some of the installer into the sapphire directory.
- [66394]
- [66392] if a DataObject has getCMSActions, its model admin should be able to add them.
- [66268] Deprecated Controller::PastVisitor(), it generates a lot of unused cookies
- [66266] Improve encapsulation of cookies in Director::test()
- [66264] Revamped CMSMenu system to not instantiate any objects, so that _config.php doesn't get fskd
- [66175] Moving GoogleSitemap functionality into new "googlesitemaps" module
- [65744] make CreateForm be able to disable
- [65742] introduce !SearchFilter::getDbFormattedValue() and GreateThanFilter will used this method to make the qurey so that it can apply to a field that input format is different that its db format, such as CalendarDateField.
- [65669] even when no results found, the HTTPResponse should return a "200" HTTPResponse rather than "404" HTTPResponse, otherwise, the right panel didn't refresh the result table, and the error message shows up.
- [65581] Deprecated CompositeField->insertBeforeRecursive(), use CompositeField->insertBefore()
- [65554] tidy up NewsletterAdmin.
- [65454] Deprecated DataObjectDecorator->augmentInit(), use LeftAndMainDecorator->init()
- [65453] Deprecated DataObjectDecorator->alternateCanCreate(), use DataObjectDecorator->canCreate()
- [65452] Removed Folder->userCan*() and File->userCan*()permissions and added more consistent behaviour with Folder->can*() and File->can*()
- [65451] Don't include NULL returns in decorated methods called through Object->extend(), meaning empty method bodies in decorators won't confuse permission checks through $myObj->extend('canView') etc.
- [65388] make !DataObject::getField() visible to the public
- [65385] Removed manifest's dependency on database, by removing hastable information [17:47:04]
- [65229] Use return value of alternateCanPublish()
- [65150] Changed SiteTree->EditorsGroup has_one relationship to SiteTree->EditorGroups has_many relationship (see #2847)
- [65095] Removed !LeftAndMain::add_menu_item(), !LeftAndMain::remove_menu_item(), !LeftAndMain::replace_menu_item(), !LeftAndMain::clear_menu()
- [65068] Removed DataObjectSet->consolidate(), use DataObjectSet->toNestedArray()
- [65066] Removed DataObjectSet->consolidateString()
- [65065] Renamed DataObjectDecorator->extraDBFields() to extraStatics()
- [65060] Moved !DataObject::get_by_url() to !SiteTree::get_by_url()
- [65059] Marked DataObject->filledOut() deprecated
- [64958] #2922: !RequestHandler:: now inherit
- [64954] #2857 - Renamed RequestHandlingData to RequestHandler
- [64953] #2857 - Renamed RequestHandlingData to RequestHandler
- [64951] #2698 ajshort: URL handler only passes control to subclasses of RequestHandlingData
- [64807] Added LastChange() method to BulkLoader_Result
- [64806] Updated CsvBulkLoader to have hasHeaderRow = true by default, even when a columnMap is specified
- [64805] add updateFieldLabels() to DataObjectDecorator, so as that a dataobject could update fieldLables by its decorator.
- [64792] A Text db field, by default, should be rendered as a TextareaField in its scaffoldForm
- [64528] delete GenericDataAdmin, RelatedDataEditor, DropdownField_WithAdd and their related code (js, css, etc) from cms, sapphire, "GenericDataAdmin" name space has also been deleted from lang files. They are all added in the new module "genericdataadmin"
- [64504] Changed HTMLVarchar->scaffoldFormField() to use HtmlEditorField instead of HtmlOneLineField, which does not work.
- [64428] Moved CheckboxFieldDisabled class to more common CheckboxField_Disabled notation
- [64426] Removed NoScriptField, please use LiteralField
- [64425] Removed EncryptField, use PasswordField
- [64421] Moved setAllowHTML() to DataLessField
- [64420] Removed NamedLabelField, use LabelField
- [64416] Removed SiteTree->makelinksunique() and SiteTree->makelinksuniquequick() - use new SiteTreeMaintenanceTask
- [64407] Removed NoScriptFormAction, use unobtrusive scripting
- [64402] Removed deprecated File::loadallcontent(), use Upload class
- [64401] Removed Filesystem::moverootfilesto()
- [64399] Removed deprecated ComplexRequiredFields, use RequiredFields and custom javascript instead
- [64398] Removed SecurityAdmin->listmembers()
- [64394] Removed deprecated Datetime class, use SSDatetime instead (was conflicting with PHP 5.2 integrated classes)
- [64384] Removed Email_Template, use Email
- [64383] Removed ViewableData->setVal(), use ViewableData->setValue()
- [64381] Removed Debug::mailBuffer()
- [64380] Removed Director::isLiveMode(), use Director::isLive()
- [64379] Removed FormField->setExtraClass(), use FormField->addExtraClass()
- [64378] Removed DataObjectSet->append(), use DataObjectSet->push() or DataObjectSet->merge()
- [64377] Removed Controller->LinkTo(), use Controller->join_links()
- [64376] Removed Image->transferlegacycontent()
- [64375] Removed DataObject->getLastWriteFields(), use DataObject->getChangedFields()
- [64374] Removed Convert::raw2attr(), use Convert::raw2att()
- [64373] Removed deprecated RestfulService->connect(), use RestfulService->request()
- [64372] Removed deprecated CustomValidator class
- [64371] Removed deprecated EditForm classa
- [64351] #551: Move code from CMSMain to SiteTree
- [64350] #551: Move code from CMSMain to SiteTree
- [64332] Removed deprecated methods related to CanCMS and !CanCMSAdmin which are now removed from the Group class in favour of the Permission system
- [64330] Removed deprecated method isAdmin() on Member - use Permission::check('ADMIN') instead
- [64327] Removed references to CanCMS and !CanCMSAdmin in Group, including references to it in Member. See ticket #2959 for more details.
- [64157] Added third optional parameter $object to DBField::create() to comply with ForeignKey and PrimaryKey constructors
- [63997] Deprecated GhostPage
- [63922] Added support for dot syntax to !FieldSet::fieldByName()
- [63827] Added initial CMS tests to the system. These will execute tests on the data model provided by a user's project code
- [63764] Deprecated Form->loadNonBlankDataFrom() - it was duplicating loadDataFrom() without allowing for the same options, and it was buggy in its definition of "blank" by doing non-typesafe checks with if($value) $field->setValue($value) which resulted in '0' strings not being loaded
- [63759] Moved PostBackup class to module (see r63758)
- [63637] Added SSCli class to help with outputting coloured text on the command line
- [63579] Deprecated HTTP::sendFileToBrowser() in favour of more testable HTTPRequest::send_file()
- [63563] Created CSVParser class and updated CSVBulkLoader to use it
- [63468] Deprecated Form->resetData() - use Form->resetField()
- [63465] Changed parameters for Debug::friendlyError()
- [63337] Deprecated DataObject->listOfFields() - use custom code instead
- [63310] Removed SiteTree->canView_page() - originally created under the false assumption that SiteTree->can('view_page') is still valid. Every canView() can be instance specific. Original patch by simon_w in r53183 and #2198
- [63182] Deprecated URL parameter ?buildmanifest=1 (please use ?flush=1)
- [63177] Removed Text->Att(), use Text->ATT_val() instead
- [63176] Deprecated Varchar->Attr(), use Varchar->ATT_val() instead
- [63077] Removed useless File->test() method
- [62883] TableListField::sourceFilter() can be overloaded to change the querying logic.
- [62847] Deprecated Member::isInGroup() - use Member::inGroup() instead
- [62846] Deprecated Member::isInGroup() - use Member::inGroup() instead
- [62843] Removed Debug::warning()
- [62325] Moved DataReport and SQLReport into the ecommerce module, since this is the only place it is used, plus it's going to be deprecated soon anyway
- [62324] Moved DataReport and SQLReport into the ecommerce module, since this is the only place it is used, plus it's going to be deprecated soon anyway
- [62316] Deprecated LabelledLiteralField by adding a @deprecated note with alternate approaches, and added a PHP notice for people currently using it
- [62309] Moved ProgressBar and support files to newsletter/trunk module, as this is the module where it's used
- [61683] TableListField::ajax_refresh is deprecated. Removed all calls to it from the core, instead getting HTML fragments by visiting the field's URL.
- [61632] BasicAuth? is now disabled by default on test sites
- [61505] Allow definition of !DataObject::getCMSAddFormFields() to alter modeladmin step 1
- [61485] Deprecated GroupedDropdownField, DropdownField should now be used instead
- [60894] Added Validator::set_javascript_validation_handler() and ->setJavscriptValidatorHandler(), to choose a different way of dealing with javascript validation. Currently 'none' and 'prototype' are the only legal options, but 'jquery' would be an obvious thing to implement.
- [60711] Template precedence changed. Page_results now takes precedence over HomePage. That is, all action templates of parent classes take precedence over the actionless templates.
- [60665] TableListField? utility links no longer have target=_blank
- [60405] Removed merged USZipCode field - should be custom code until we figure out proper localization
- [60392] Renamed static Member::autologinhash() to static Member::member_from_autloginhash() to be more in line with naming convnetions, and not conflict with Member.AutoLoginHash in the database
- [60376] Allow the definition of SS_ERROR_LOG in _ss_environment.php to set up Debug::log_errors_to().
- [60368] Added Debug::log_errors_to(), to log errors to a file.
Bugfixes
- [71923] In SSViewer::parseTemplateContent($content, $template=""), when the $content is a xml template, we should not wrap anything around it, for web browser able to correct parse the xml
- [71872] #3491 - Fix nonexistant plugin stopping tinymce from working in safari.
- [71846] #3481 - Check if classes exist before trying to instantiate a singleton on database build, to work around stale manifest errors
- [71841] #2723 - Allow more than more subclass of RelationComplexTableField on a page at a time.
- [71797] removed doubled up pipes and border on switch view links in footer.
- [71764] Fix wrong conditional
- [71709] BUGFIX Fixed redirection to external URLs through Security/login with BackURL parameter (merged from trunk
- [71642] Disable DataObject validation temporarily while importing yaml fixtures
- [71568] CRM "select all" and "select none" doesn't work when the crm manages multiple models.
- [71499] i18n::include_by_locale() should skip check the web root level and ../webroot level for language file, this is not only "not necessary" but also "must" because some server configuration prevent from any file access above the site root folder.
- [71436] Error adding custom header in Email because of non-existant array key. Thanks ed! Ticket #3485
- [71348] Removed unused ComplexTableField->unpagedSourceItems - was already commented out in r70956, and doesn't seem to be used across parent- or subclasses. Added ticket #3484 to re-enable popup pagination, which was broken and disabled due to the deprecation of $unpagedSourceItems (see r53830)
- [71250] fixed site page restoration
- [71177] cms ui, fixed loading spinner style
- [71024] #3429: Fixed CMS change detection
- [71023] #3443: Fixed refreshing of relation CTFs after editing data
- [71018] #3442: Fix pagination in HasManyComplexTable, HasOneComplexTableField, ManyManyComplexTable
- [70997] #3441 funkygibbon: Stop ThumbnailStripField breaking on orphaned images
- [70994] CMS UI site content > search > add criteria select element now returns back to prompt & tweaked layout
- [70935] adjust positioning of SilverStripeNavigator published/draft message
- [70895] Ensure string "0" is not considered a NULL value when CsvBulkLoader imports values from a CSV file
- [70893] reinstating silverstripe navigator and restyling to match cms ui
- [70891] removed extra colon appearing in SilverStripeNavigator
- [70848] Removed reference to Requirements::javascript() for including jquery as it's already included, and causes JS errors in MemberLoginForm
- [70847] Fixed correct path to jquery.js in MemberLoginForm
- [70832] $hide_ancestor hides Page as well when set from multiple subclasses of Page. Thanks dio5!
- [70784] #3415 ajshort: Requesting root page via ajax now preserves isAjax value.
- [70781] #3430 page versions don't appear automatically in Safari - versions DOM panel was floated behind the edit form
- [70775] Fixed "cancel" button for inline "create folder" functionality (was not stopping event in IE7)
- [70773] Disabled faulty usage of setStyle() with object literals instead of strings in SWFUpload
- [70766] Removed hack that hid the Avatar field for the forum
- [70750] Fix incorrect URL when adding a new Member via the MemberTableField
- [70747]
- [70743] 1. TableListField exportfunality random bug. 2. make Email_!BounceRecord::canCreate() return false; so that it can not be manully create from CRM, instead, it should create through email buncing system.
- [70741]
- [70729] Add EditForm to list of allowed actions
- [70725]
- [70724] Fixed loader_frame.html scrollbar madness. Removed hacked CSS and tidied up popup to work in IE6/7 and Firefox consistently
- [70698] Group::AllChildrenIncludingDeleted() should filter on canEdit() rather than a can() call
- [70695] $_POST[$this->Name] in !TableField::SubmittedFieldSet are not always set
- [70691] show flash icon and box if flash file exists. MINOR: created a default editor.css file which has base css styles for the CMS.
- [70683] cms ui added colon to image upload prompt (inline with other step)
- [70682] cms ui remove errant dashed borders in IE6
- [70681] cms ui text size in righthand image panel
- [70680] Fixed behaviour.reapply() call in TableListField->refresh() javascript to applyToParent (the actual DOM container). Otherwise methods of the TableListField prototypes aren't properly attached to the DOM nodes, which causes problems like #3377
- [70671] Fixed newsletter send button alignment
- [70616] stopped double scrollbars on popups in IE7 (IE6 still broken)
- [70613] Fixed styling for "Delete selected files" in the left-hand tree actions for AssetAdmin. Thanks ajshort!
- [70609] Defined jsValidation() and validate() so that inherited validation from DateField doesn't break PopupDateTimeField - this still needs fixing, and PopupDateTimeField shouldn't inherit from CalendarDateField
- [70604] autocomplete style change.
- [70603] cms ui fix files & images upload images styling
- [70602] cms ui fix files & images table styling
- [70601] cms ui removed backgound from delete button on files & images
- [70583] cms ui fixing up treetool
- [70573] cms ui removed extra padding from bottom of tools
- [70572] cms ui fix styling of tools on files & images section
- [70567] cms ui fix styling of tools on files & images section
- [70566] reverted previous tree tool change
- [70565] when the total number of rows is 0 the pagination says 1 to 0 of 0
- [70563] cms ui fix styling of tools on files & images section
- [70561] cms ui padding on tree
- [70545] Hidden field needs to exist for DateField_Disabled in order for validation to pass correctly
- [70541] cms ui padding on tree in right pane (eg. image selector)
- [70508] cms ui tidying up tree tools
- [70507] cms ui tidying up tree tools
- [70497] merged patch from ajshort. Fixed getURL() so it preserved the extension
- [70496] cms ui tidying up padding of tree tools elements
- [70495] cms ui fix specifivity of alignment of radio buttons and labels in right pane
- [70486] cms ui fix alignment of radio buttons and labels in right pane
- [70481] If form.elements.ID is not defined, don't cause an error in the CMS under certain circumstances
- [70479] cms ui site tree tools style fix
- [70474] Fixed float issue caused by change in r70303
- [70445] fixed size of popup on 1024x768 resolutions
- [70441] added scroll bars
- [70404] site tree form element alignment
- [70397] stopped swfupload div appearing behind cms ui in firefox 2 on windows
- [70396] cms ui sitetree tools padding
- [70395] IE6 cms login remember me alignment
- [70393] cms ui sitetree padding across cms sections
- [70392] centered GreyBox popup in the CMS
- [70390] cms ui form site tree input alignments
- [70389] cms ui form site tree input alignments
- [70388] cms ui fixed width of tools at top of site tree
- [70377] fixed site tree padding issue
- [70376] URL input validation for RestfulServer
- [70356] fixed positioning on site tree actions on left tree for Security and comment tags
- [70172] due to changeset 65289 by phalkunz, the ImportForm() and import() functions need to move from CRMAdmin class to CRMAdmin_CollectionController class, fix relative bugs by the move.
- [70160] Add workaround for PHP bug #46753
- [70135] Fixed spacing at the top of right forms in the CMS caused by the <legend> element. Fixed by hiding it via CSS instead of removing it completely
- [70130] Fixed issue of not enough space in the AssetAdmin "Upload" tab for multiple file uploading, mostly affecting IE6/7
- [70127] Changed the FieldHolder method to use explicit functionality instead of statically calling !FormField::FieldHolder()
- [70117] Fixed clearing issue in IE7 for the left hand tree
- [70077] Removed ANSI compatible SQL that shouldn't be in branches/2.3 - this feature is available in trunk
- [70063] Removed ID for back links table which is ambiguous, unncessary and caused the CSV export to break
- [70052] Deleted setting of $content variable that broke HTTP::findByTagAndAttribute()
- [70049] Strip out any "~" characters that may stop the staging link from working in IE6/IE7
- [70046] Check for form object before calling observe() on the element. The CheckBoxRange constructor allows for a null form, so a check for a form object is essential.
- [70026] Disallow execution from DailyTask and HourlyTask by website visitors.
- [69988] <% end_if %> was breaking the template where it should've been a <% end_control %>. This fixes the export link in #3333
- [69986] Added page-limiting back to CMS tree querying
- [69975] Fixed FileField->getFolderName() - it was not returning $this->folderName, instead it was returning an undefined variable in error
- [69973] error when creating a form
- [69951] More solid string-parsing through regular expressions in SQLQuery->filtersOnID() and SQLQuery->filtersOnFK(), incl. unit tests
- [69943] #3329: Improved speed of folder creation in files + images
- [69931] Fixed flash HTML that gets inserted into the content so it's cross browser compatible with browsers that don't support the <object> tag (<embed> is added inside)
- [69930] Checkbox "Remeber me next time?" now works because of a missing method call logIn() on Member
- [69927] #3024 - Stopped style dropdowns from getting stuck by making them regular dropdowns. Not as pretty but more stable.
- [69921] Fixed minor error on dev/buildcache
- [69910] Allowing to pass $context into Hierarchy->markPartialTree() and Hierarchy->markChildren()
- [69909] Making sure a valid DataObjectSet is returned from Hierarchy->stageChildren()
- [69899] Explicitly setting "lang" as a GET var when getting a page within the CMS (if the language chooser DOM object is available, hence translation mode is enabled). Used in CMSMain->init() to set the "current language". (merged from branches/translatable in r64523, thanks wakeless!)
- [69894] Using baseDataClass() in Translatable::get_existing_content_languages()
- [69893] Added extension point for augmentAllChildrenIncludingDeleted(), augmentNumChildrenCountQuery(), augmentStageChildren() in Hierarchy (merged from branches/translatable in r64523, thanks wakeless!)
- [69891] Using SQL DISTINCT in get_existing_content_languages()
- [69879] Fixed label positioning in CompositeFields for original language fields in translation mode (was shifted left before)
- [69878] Fixed $add_action behaviour for SiteTree classes (through i18n_singular_name() method). Deprecated in favour of "<myclassname>.TITLE" entity to enable localized page titles. Limited add_action behaviour to SiteTree (was implemented on DataObject before)
- [69872] Fixed status checking in SiteTree->getIsDeletedFromStage()/getIsModifiedOnStage()/getIsAddedToStage() for new pages with non-numeric IDs
- [69870] Fixed use of undefined constant error, and undefined variable error in TableField stopping CMS user from adding records to a TableField
- [69832] #3235: Fixed linking of images and other HTML tags
- [69830] #3219: dev/buildcache showing up in static links
- [69828] Fixed styling for caption checkbox field on the right hand image panel in CMSMain
- [69803] If TreeDropdownField source object is "Folder", don't show "File" tree items unless the marking filter function is explicitly set. This fixes the bug where files were appearing for selecting a folder in the thumbnailstrip field in CMS
- [69752] somtimes +/- icons hidden. ticket #893
- [69728] #3254 - Fixed fatal errors when creating subclass of member
- [69720] #3199: No longer warned about saving changes if you have actually pressed save.
- [69718] #2550 - Fixed bug with draggability of newly created nodes.
- [69715] #2342: Database names with hyphens and other special characters can now be used.
- [69700] #3224 ajshort: Get HTTP::setGetVar() working with variables that contain array indexes
- [69697] #3165 nicolaas: Fixed Director::history() in some cases.
- [69696] #3248: Fixed TreeDropdownField when using non-ID key field
- [69695] #3188: Fixed default HeaderField name to be non-conflicting with other fields, for backward compat
- [69694] #3097: Removed buggy template feature
- [69693] #3249: Allow altering of encryption algorithm
- [69690] #3081 simon_w: Fixed pagination on spam comments
- [69689] Don't include Validator.js if Validator->javascriptValidationHandler is set to 'none' (in Validator::construct()).
- [69681] Fixed HTML insertion through TinyMCE in Safari - TextArea fallback for lacking Codepress-support wasn't working. Known bug in Codepress JS Highlighter, see http://sourceforge.net/tracker/index.php?func=detail&aid=1913725&group_id=186981&atid=919470
- [69657] Fixed js error due to inlined inclusion of CMSMain_upload.js which was conflicting with inline initialization. Disabled initializiation as the flash uploader was pulled out a while ago anyway (see #3251)
- [69504] Fixed SiteTreeHandlers.loadTree_url url concatenation
- [69442] Fixed permissions in CMSMain->revert() - only needs edit permissions, not publish permissions
- [69378] CountryDropdownField? now allows for title to be optional, which uses the name of the field if not set. This makes it consistent with DropdownField
- [69377] Added check before foreach() to fix potential HMCTF bugs
- [69360] Get !DrodpownField::$emptyString working when used with a SQLMap source
- [69321] Added <td class="action"> to AssetTableField.ss to comply with template semantics of parent classes (necessary to detect javascript actions)
- [69222] Strip potential whitespace from the beginning and end of string before limiting word count in Text->LimitWordCount(), fixing potential interference with truncation process
- [69220] Fixed Text->LimitWordCount() not returning the correct number of words in the truncated text.
- [69204] Making Password formfield in Member->getCMSFields() translatable
- [69203] Making "Main" tab in FormScaffolder translatable
- [69065] Fixed notice-level error in no-get-var URL processing when there is no querystring.
- [68999] Make sure the website URL that the commenter posts has a correct "http://" or "http://" bit at the start of the string
- [68940] Fixed bug in SQLQuery::unlimitedRowCount() when used with grouped queries, that should fix a lot of pagination situations.
- [68935] Fixed PHP notice potential error in MemberTableField->addtogroup()
- [68921] Turned english text into translatable entity for PageCommentInterface link for RSS feed of all comments for all pages
- [68890] "console not defined" error in IE in en_US.js, check typeof(console) is not undefined before calling console.error()
- [68881] remove Debug::message
- [68875] Fix uglyness when title is longer than the tree dropdown field
- [68858] Added closing tags to relation XML in XMLDataFormatter. Was relying on ContentNegotiator fixing self-closing tags automatically, but this form of content parsing is disabled for xml content by default now (see r68484)
- [68834] Make sure date is a string before trying to use strtotime
- [68817] Fixed sprintf detection bug in SiteTree->getClassDropdown()
- [68810] Making only formfields readonly (not formactions) when comparing versions and showing historical versions within CMSMain
- [68809] Check hasChanged method exists before calling it
- [68764] Fixed translation of CommentAdmin_SiteTree.ss
- [68762] Fixed label spacing in Date->TimeDiff()
- [68757] Fixed additional tabs for image popus in AssetTableField. They we're not being generated in non-english interfaces due to the translated title being used as the tab identifier
- [68754] Limiting readonly transformation of form in CMSMain->EditForm() to fields only (excluding actions). FormAction readonly transformations were fixed a while ago, which meant that they were actually enforced now, causing unavailable cms actions in certain scenarios (e.g. with a page deleted from live, which should make the fields readonly, but leave buttons functional)
- [68752] Fixed TranslatableTest to instanciate Page instead of SiteTree fixtures - pages in the database should never have ClassName=SiteTree. This was causing failing tests due to the changes in SiteTree->getClassDropdown()
- [68751] Including all translated language tables by default in i18n::_t() instead of selectively including modules based on filename. This caused bugs where entities were located in language tables in a different module than their filepath would suggest. Example: Page.SINGULARNAME is stored in sapphire/lang/en_US.php, while Page.php is stored in mysite/Page.php
- [68746] Don't overwrite existing module arrays in i18nTextcollector - fixing bug with entities for "foreign modules" being reset during parsing
- [68702] Updated CMS to support HtmlEditorField changes in r68701
- [68662] #3166 jam13: Fixed caching in RestfulService
- [68628] Fixed HasManyComplexTableField/ManyManyComplexTableField issue with source items which broke from changes in r66080. Thanks hamish!
- [68627] Fixed javascript error in the CMS
- [68626] Fixed javascript error in the CMS
- [68603] Fixed new searchform changes for Live/Stage
- [68515] Making sure phpinstaller works on subdomains (see #3167)
- [68463] Fixed PHP notice in RebuildStaticCacheTask
- [68331] Fixed ModelAdmin import success message (too few arguments for sprintf())
- [68194] Allowing FormAction instances to be readonly by setting disabled="disabled". Adding CSS class "disabled".
- [68177] Moved creation of "help" menu entry from cms/_config.php to !LeftAndMain::init() to get localized titles (locale isn't set at _config.php level)
- [68176] Fixed i18n display of menu titles rendered by CMSMenu in LeftAndMain->MainMenu()
- [68170] Escape table name in versioned to allow creation of page type classes with the same names as SQL reserved words
- [68159] Changing i18n entity format in CMSMenu->provideI18nEntities() to have actual class as namespace (related: r66264)
- [68155] Added stub PDODatabase->renameField() implementation to avoid errors when batch-instanciating singletons
- [68130] Supporting URLs with folder-structure in "sake -start <myprocessname> <myurl>"
- [68039] Improved DataObjectSet->PaginationSummary() to show full context (instead of halved) when on first or last page
- [68027] Don't show template comments in RSSFeed, or it'll break the XML document
- [68026] Fixed undefined variable $matches in SSViewer::parseTemplateContent()
- [68024] SSViewer::set_source_file_comments(false) wasn't working because of lack of checking if enabled.
- [67777] Added check ot i18n::include_by_class() to prevent repeated calls.
- [67681] Add a unique identifier to the "direction" method for Email::obfuscate() to avoid duplicate custom CSS being included in the page header
- [67678] Method not found error. Requirements::customCSS() should be calling self::backend()->customCSS() not custom()
- [67609] #3182 - Fix URL fixing on machines where url is case insensitive (hamish)
- [67605] #3204 - Broken link tracking is broken (ajshort)
- [67587] #3174 - Unable to drop widgets into widget areas in CMS (marcink)
- [67584] #3218 - Spelling mistake in RestfulService (hamish)
- [67582] Fixed a check for CSV field formatting.
- [67580] Fixed an aliasing problem when saving popup items, and a bug with when associating a new record with the parent ID associated with the field.
- [67530] SSDatetime can handle being given a NZ date in dd/mm/yyyy format
- [67529] Only setting LockedOutUntil to NULL in Member->logIn() if the column is actually present in the database. Otherwise this setting will case an UPDATE Member SQL query to fail on the first /dev/build call on a 2.2->2.3 upgrade if not in dev-mode (=requiring login) (see #3171)
- [67526] Added $CurrentLink to templates of AssetTableField and MemberTableField in order to support auto-refreshing after popup-close (see #2925)
- [67520] Fixed i18n::get_owner_module() to detect template paths in themes (array notation) correctly (see #3022)
- [67519] Added GoogleSitemap.ss from sapphire
- [67506] Avoid ugly border in CMS forms by adding "border: none" in CSS to cms/css/layout.css
- [67503] disabling template comments for xml output like sitemap.xml
- [67455] Fixed incorrect parameter variable name in Mailer->sendPlain()
- [67417] Added <legend> element immediately after <fieldset> for SearchForm and Form templates. This is required to validate these templates as W3C compliant
- [67401] Moving Requirements::combine_files() calls from cms/_config.php to LeftAndMain->init() to avoid side-effects in non-CMS contexts. Examples:
- [67363] $allowHTML argument was not passed to !DatalessField::construct
- [67304] Since ModelAsController->handleRequest() expects a URLSegment, we make the ErrorPage Link() return a relative URLSegment in ErrorPage->publish()
- [67299] Changed Director::test($this->URLSegment) to Director::test($this->Link()) in ErrorPage->publish() to be more robust
- [67290] Added parent::setUp() and parent::tearDown() calls to various tests, in preparation for push/pop a mock controller the controller-stack
- [67271] dev/build should function even when new classes are referenced in _config.php
- [67268] Filter on the baseclassid in Hierachy, not the class id, in case the class doesnt have a table (aoneil)
- [67221] Save default locale for new members, so the profile form doesn't show first available locale in dropdown because its defaults are overwritten by Member->Locale = NULL (see #3159)
- [67201] Declared behaviour.js variables as local for better recursive functionality
- [67199] Fixed incorrect permission checking when the current member isn't being used
- [67162] Scrollbars didn't appear properly in CMS without resizing the window manually, so used jQuery to properly detect when document is ready before attempting resize. Ticket #3089
- [67150] Checking for "$this instanceof VirtualPage" instead of "$this->class == 'VirtualPage' to support subclassing in VirtualPage->onBeforeWrite()
- [67147] Fix requirements not being restored after an email is sent
- [67140] Checking for existence of $this->record in VirtualPage_Controller->init()
- [67137] Fix publishing of error pages
- [67083] Fixed StaticExporter output format
- [67078] Put the order of save and publish buttons back to normal (so save and publish are next to eachother)
- [67045] Fixed Enum::scaffoldSearchForm() to always include an (All) option
- [67035] Fixed error in javascript (because of commented out code) that broke IE6/7 in the CMS
- [66946] Fixing tests
- [66940] Fixed warning on AssetAdmin (merged from trunk)
- [66922] #3100: Graceful degradation for codepress in safari
- [66918] #3115 ajshort: Fixed backslashes in temp folder location in manifest builder
- [66894] Friendlier error when you have a site running on a PHP4 server, or a server without PHP.
- [66891] Don't make blank dates show 1/1/1970
- [66888] Better generation of PastMember cookie when you have stale login info
- [66828] Fixed sortWidgets() function in WidgetAreaEditor not working because it was picking up comment nodes
- [66820] Added extension to email address when accessing Security/passwordsent since the . (dots) are split into extensions when the URL is parsed
- [66799] Fixed importer not working because of i18n_singular_name(), just use the class name of the model instead
- [66793] Made use of Convert::raw2att() before returning the ModelName for Import spec fields
- [66791] Fixed "Show specification..." link not working because ModelName had spaces in it
- [66784] Only including ModelAdmin->ImportForm() if an actual importer was specified
- [66740] Passing through $member param from SiteTree->canPublish() to SiteTree->canEdit()
- [66723] fixed typo in filesystem
- [66707] Fixed notice-level errors in PhoneNumberField
- [66701] Add !LeftAndMain:$url_rule to minimise bugs in modules
- [66698] Fixed sake bug when checking for an argument in bash script. Ticket #3112. Thanks simon_w.
- [66638] Fixed flaw logic checking for $member variable, since it's always set the alternative for choosing Member::currentUser() would never work.
- [66635] Fixed SiteTree->getCMSActions() so it returns a FieldSet, instead of a DataObjectSet. This makes it consistent with DataObject->getCMSActions() as well as SiteTree->getCMSFields()
- [66632] Fixed SiteTree->getCMSActions() not extending properly because it was passing an array to the extend() 2nd argument, which expected a FieldSet object
- [66629] Fixed incorrect class name in user_error message for deprecated function HTTP::sendFileToBrowser()
- [66608] ModelAdmin? clear search now preserves the result column selection
- [66505] Consistenly returning cloned instances for all FormField classes when calling performReadonlyTransformation() or performDisabledTransformation(). Making sure that these instances are actually flagged as readyonly/disabled. Addd unit tests to dynamically instanciate most FormField classes to check for this behaviour. Originally, this bugfix was necessary to avoid changed FormField state when recursively calling replaceField() on FieldSet->dataFields() in Translatable->updateCMSFields()
- [66431] Removed SearchForm->FormMethod() and used $this->setFormMethod() in SearchForm constructor instead which is a nicer solution instead of overloading a Form method
- [66334] Hiding "change password" fields by default in admin/myprofile, they shouldn't validate the input by default. Replaced with a link to toggle those fields (#3106)
- [66332] Include jquery_improvements.js whenever jquery.js is required, so jQuery.noConflict() is set. This is required to ensure $() behaves in the prototypey way (alias for document.getElementByID()) rather than jQuery style (document.getElementsBySelector())
- [66331] Removed overloaded $() function which added support for multiple string arguments in behaviour.js - was conflicting with argument usage in jQuery when not in noConflict() mode. As far as i can tell, multiple string arguments in $() were never used anyway.
- [66319] Removed dependency on ComplexTableField JS in LeftAndMain for "My Profile" popup
- [66318] Check if $member variable isn't empty before looking for first name in MemberLoginForm
- [66317] Fixed call to incorrect case of function name, Member::currentUser() should be used
- [66313] Fixed ForeignKey->scaffoldFormField() usage of model class instead of relation class to generate dropdown list
- [66309] Fixed far too small height and width of "Profile" popup in CMS, popupHeight and popupWidth should be defaultPopupHeight and defaultPopupWidth instead according to the ComplexTableField prototype
- [66306] Fixed HasManyComplexTableField, and subclass fields HasOneComplexTableField and ManyManyComplexTableField saving bug because javascript wasn't being included properly
- [66305] Fixed recursion bug with !FieldSet::fieldPosition
- [66274] Improved reliability of LeftAndMain->CMSVersion() - not failing on empty $URL$ placeholder with subversion path to determine version numbers
- [66269] Merged from trunk; fix !DataObject::hasDatabaseFields()
- [66266] Fix test/cookie conflict in ErrorPage rendering
- [66252] Immediately apply behaviours that are added after the Behaviour.apply() call, in Behaviour.register() calls as well as Class.applyTo() calls
- [66251] Removed unnecessary and bug-causing Behaviour.apply() call.
- [66250] Made Behaviour.apply calls more specific
- [66229] Added flash button to tinymce_ssbuttons
- [66196] #2714 - Cookie::set doesn't operate correctly with expiryDays 0 (wakeless)
- [66195] #2694 - Mathspam question clear
- [66194] Fixed draggable bug in AssetTableField - thanks for ajshort for the patch - ticket #3051
- [66162] #118 - Fixed count of marked pages (hamish)
- [66137] Fixed editable formfields not showing up in translation mode (#3083). Updated Translatable->updateCMSFields() by partially merging wakeless' patch from (r64523)
- [66136] Disabled js code in CMSMain->switchlanguage() which was assuming wrong DOM structure (TODO: Replace with more robust selectors)
- [66135] Fixed field labels for original readonly fields in translation mode
- [66107] Fixed PHP variable initialization in SiteTree->getClassDropdown() which broke class dropdown in behaviour tab (regression from r66092)
- [66091] $cache flag wasn't passend through from ViewableData_Customised->XML_val() to ViewableData->XML_val()
- [66079] #3051 ajshort: Improved layout of assettablefield drag icon
- [66070] Fixed HTTP->findByTagAndAttribute missing variable error causing HtmlEditorField to break since it used HTTP::getLinksIn()
- [66067] #3065: Fixed restore page
- [66066] #3012 jam13: Fixed tabstrip default tab selection when working with querystrings
- [66065] Fixed security tabs for JSoD code
- [66062] #3063: Allow old-school method of adding menu items to LeftAndMiain:
- [66052] #3087 simon_w: Added !ResfulService::connect() back, for backward compatability
- [66049] Fixed unescaped html display in DevelopmentAdmin (#3080)
- [66044] Fixed <% require %> call in ModelAdmin_left.ss
- [66043] Fix PHP notice where variable with array didn't exist in HTTP->findByTagAndAttribute()
- [66029] use a undefined variable $member.
- [66027] Fixed incorrect call to Permission::checkMember() - missing second argument, first argument should've been a Member object or Member ID
- [66026] Fixed PHP notice level error in some circumstances in DataObject->buildDataObjectSet()
- [65944] #3073: Fixed !LeftAndMain::deleteitems()
- [65923] #3066: Fix ?isDev=1 option
- [65900] #2868: Fix after-popup-close behaviour on security member table
- [65899] #2820: Fixed use of buggy reflection in Object::uninherited()
- [65896] #2706: Fixed JS error in multi-nested pages deletion
- [65895] #2232: Prevent requirements from breaking ErrorPage publication
- [65894] #1721: Fixed del/ins styling in page comparison
- [65881] Don't let permission errors on assets/ folder completely prevent javascript from loading
- [65865] Fixed tabstrip JS error in ReportAdmin
- [65863] Ensure that menu items of the same priority show the first added item closes to the left
- [65860] Fixed JS error in ReportAdmin
- [65851] #3062: Fixed ondemand support for jQuery responses as well as prototype
- [65850] Alow decoration of Member with has_many relationships
- [65843] #3062: Fixed ondemand support for jQuery responses as well as prototype
- [65842] #3061: Text.FirstSentence returns '.' instead of empty string on an empty field
- [65827] Fixed flash uploader not searching for the correct files, due to changes in r65820
- [65825] Tidied up messages in flash uploader right hand panel in CMS
- [65769] Fixed deletion of RedirectorPage
- [65763] Missing variable in some circumstances caused Requirements::include_in_response() to break
- [65761] Missing variable in some circumstances caused Requirements::include_in_response() to break
- [65711] Added support for CSS media types to CSS on demand
- [65680] there is no horizontal scroll bar for Model Admin right panel if the results table is long.
- [65671] temp fix for flash inserter.
- [65616] Fixed searching on sapphire/trunk due to Form changes - FormAction was useless on SearchForm anyway
- [65612] Removed offending $this->canEdit() which returned a boolean, not appropriate to be passed into Member::mapInCMSGroups()
- [65583] Adjusted Translatable to api changes from r65581
- [65554] a lot of methods in this class now passed $params as HTTPRequest object, rather than as a array if the function is called from Ajax or top-level of front-end, some method is called in both manner, ie. called from Ajax and called internally as well, so we need to check $params type and do further process. This is a partial fix of open source ticket #3035
- [65539] Setting correct user locale in ImageField and FileIframeField - the controller is separate from the CMS context, so wasn't initialized with i18n (see #1727)
- [65538] Using 'SiteTree' classname instead of 'Page' in UpgradeSiteTreePermissionSchemaTask to avoid clashes in schema when Page.php has its own tables
- [65536] Making Metadata fields writeable in translation mode (see #2993)
- [65518] Removed project-specific hack in DataObject->getManyManyComponentsQuery() as it was breaking Translatable saving
- [65517] Fixed breadcrumb exploding in DebugView when base-URL is "/" - was confusing the str_replace() logic
- [65515] Fixed Translatable::default_lang() call in CMSMain
- [65512] Fixed SiteTreeMaintenanceTask from extending unkown class Task to extending Controller
- [65510] #3015: Fixed close buttons on tinymce side panels
- [65502] Fixed bug with // placement in CMSMenu Director rule generation
- [65469] Better initial-site-setup boundary condition checking needed after the manifest builder update
- [65462] Setting Director::set_site_mode('site') in !RootURLController in newly added init() method, which fixes Translatable::choose_site_lang(). The original bug was a wrong selected language in the <meta> tags through SiteTree->MetaTags()
- [65456] Using uncached !DataObject::get_one() calls in ModelAsController to avoid stale data with subsequent Director::test() calls which alter the page relations inbetween
- [65424] #2987 - IE8 support via IE7 compatability mode
- [65394] Fixed broken dev/build compilation of manifest
- [65361] Added SSViwer support for i18n namespaces in templates with <% _t('MyNamespace.MyEntity', ... %>, to work around magically added namespaces from the parsed template file. Those auto-namespaces were logically not working in includes, as the parsing context is always the including template. Legacy support for auto-namespaces is still present due to its high usage.
- [65336] Making ModelAdmin labels in left panel translatable again (regression from moving them into one common panel)
- [65335] Respecting $dontEscape in FormAction
- [65293] Using empty title in TreeDropdownField->Field() if the related DataObject cannot be found
- [65291] Reverted text replacement performance improvement in SQLQuery - it was replacing more ocurrences via str_replace() than the previous implementation based on arrays, which broke queries augmented by Translatable (originally committed in r60468 and r54044)
- [65282] Fixed page comment javascript to suit new Form name
- [65275] #2243: Fixed !ViewableData::Odd
- [65271] #2630 - Removed notice-level error
- [65269] #2954 - Fixed support for negative numbers in decimal fields
- [65250] #2992: Fixed T_PAAMAYIM_NEKUDOTAYIM error in RequestHandler
- [65242] fixed canPublish() so it actually got the member if none was passed and fixed notice with $results not existing
- [65232] #2056: Removed all references to deprecated Member::isAdmin()
- [65229] Allow DBField::construct() without a name
- [65214] Remove LeftAndMain entry from CMSMenu (#3014). Thanks to hamish for the patch!
- [65213] Only enforcing record-level permissions in LeftAndMain if passed ID is numeric to avoid breaking AssetAdmin with string-based IDs (regression from r65152). See #3017
- [65212] Calling parent constructor in ComplexTableField_ItemRequest, was confusing RequestHandler
- [65180] Add magic methods on ModelAdmin to $allowed_actions (regression from r64988)
- [65174] MemberTableField? use of sourceFilter should be treated as a string, not an array as per the API of TableListField
- [65152] Enforce permission checks in LeftAndMain and CMSMain through SiteTree->canView()/canEdit()/canAddChildren()/canPublish()/canDelete() (see #2701)
- [65151] Fixed SiteTreeAccess.js DOM IDs to field changes made in r65150
- [65150] Disallow SiteTree->canEdit() if SiteTree->canView() is not granted
- [65148] Fixed js error in LeftAndMain_right.js when displaying readonly pages
- [65141] TableField? delete row inconsistency with TableListField which caused table fields to not fade the row out
- [65135] Fixed call to Member function that didn't exist
- [65127] Fix potential PHP notice opening a ComplexTableField popup
- [65123] Fixed bug with ID-less generation of YamlFixture entries that trigger $this->write() in setters
- [65106] Setting menu titles for CMSMenu items in !LeftAndMain::init() to get translated values for the current user locale (see #2873)
- [65104] Fixed menu titles entity references in CMSMain and AssetAdmin
- [65094] Fixed SearchContextTest to comply to new scaffolded searchfield in Text DBFIeld
- [65071] Reverted auto-detection of i18n statics like $db in DataObject through provideI18nEntities() - was getting too complicated with decorated properties. Overload DataObject->fieldLabels() or DataObjectDecorator->updateFieldLabels() instead
- [65063] Checking for array existence before iterating through DataObjectDecorator->provideI18nEntities()
- [65062] Dont instanciate abstract classes in i18nTextCollector
- [65061] Using !SiteTree::get_by_url() (see r65060)
- [65057] Collecting i18n entities for decorators separately from the decorated classes, as decorated properties like $db have to be stored in the module of the decorated, not in the module of the decorated class.
- [65030] Different class_implements() usage without instanciating the class in i18nTextCollector - not all classes are instanciatable without arguments. This raises the minimum requirement for text collection to PHP 5.1+
- [65028] Fixed SecurityAdminTest to work with i18n enabled
- [65026] Fixed CsvBulkLoaderTest to comply to hasHeaderRow API change (r64806)
- [65024] Fixed CMSMainTest to check for translated entities to avoid failing tests with i18n enabled
- [65023] Changed i18nTextCollectorTest to only trigger _t() calls in instance methods (they don't fully work in construct()). Manually adding ClassInfo state for the fakewebroot needed to test textcollection - ManifestBuilder/ClassInfo currently don't support setting of other webroots, or flexible inclusion/exclusion of certain subfolders which would be necessary to do this without hacks.
- [64981] Don't allow calling of magically added methods via URL unless explicitly listed in allowed_actions
- [64976] Fixed wrong case of class names for !ImageIFrameField causing errors
- [64879] Fixed title-handling in FormAction, regression from r64410
- [64878] Fixed missing $H() reference in i18n.js (#2989)
- [64850] Avoid ajax evaluator errors by checking if $resizedImage actually exists before calling relativePath() on it
- [64812] Content wasn't saving on subsequent page loads, after TinyMCE3 upgrade
- [64798] Fix !DataObject::write() with a specified ID and forceInsert to be true
- [64788] in IE, overflow left pane is hidden and cannot enable scrollbar
- [64771] Made ContentController work properly if it doesn't have a dataRecord
- [64770] merged patch from ajshort to fix checkbox fields in the cms
- [64754] Fixed old references to GenericDataAdmin in ModelAdmin.php and ModelAdmin_Results.ss
- [64739] Security->passwordsent() didn't get the "Email" variable from the URL properly, because of updates to HTTPRequest
- [64736] Fixed non-object or not null error in TreeSelectorField
- [64732] New folders weren't getting their name set correctly, instead they would just be called "NewFolder". This occurred in the Site Content section of the CMS, creating a folder using the right hand panel in that section.
- [64604] Fixed incorrectly reverted methods related to sizing of the popup.
- [64601] Fixed extra class addition on various FormField->Field() methods
- [64562] Using include_once() instead of include() for _ss_environment.php in install.php and Core.php to avoid PHP notice errors about double constant defines (see r64561)
- [64506] Renamed "Save & Publish" to "Save and Publish" since this value is used in the value attribute of input elements, properly parsed, this would produce & instead of &
- [64494] Fixed distribution of textcollector files to modules (was collecting all entities into all modules before) - added unit tests
- [64491] Fixed wrongly formatted _t() call in Security class
- [64490] Fixed $module parameter for i18nTextCollectorTask
- [64471] Fix issue with language files not being included
- [64467] Removed duplicate setValue() method on Time (was supposed to be deleted instead of renamed from setVal() to setValue())
- [64466] posix_isatty sometimes returns a benign error
- [64462] Don't run migration code for permissions if the old field doesn't exist.
- [64443] Fixed RestfulServerTest fixture path
- [64440] Unit tests for RestfulServer (see r64439)
- [64439] Returning 409 Conflict HTTP Header when trying to create a resource on an existing URL through RestfulServer
- [64438] Removed $headingLevel reference from LabelField (was supposed to go into HeaderField)
- [64437] Second constructor argument $title for HeaderField should be optional for legacy reasons
- [64427] Using PasswordField instead of deprecated EncryptField
- [64423] Adjusted HeaderField and LabelField implementation to new constructor arguments (see r64421)
- [64422] Adjusted HeaderField and LabelField implementation to new constructor arguments (see r64421)
- [64361] #2963 - Fix RSSFeed to work with new add_cache_headers
- [64334] Reverted Member->isAdmin() removal since it's being used in a lot of places, we shouldn't deprecated it... yet.
- [64329] correct wrong syntax of TableField class in its frontend javascript
- [64328] avoid a CSSClass is added to a veiwable data twice.
- [64325] $this->extraData is not alway set for an TableField_Item
- [64320] If DropdownField->Field() lack of source checking before looping through it
- [64318] Fixed DropdownField handling of Iterator objects rather than arrays in the newly created getSource()
- [64314] If ajaxActionsOnTop is called twice, the actions are removed.
- [64313] Don't use singleton() to create DataFormatter instances, as it will cause weird side-effects with multiple formatter instances with different parameters (broke subsequent test runs of RestfulServerTest and SoapModelAccessTest) - all aboard the failboat!
- [64310] Unsetting $_SERVER globals in RestfulServerTest to avoid side-effects across unit tests
- [64309] Added RestfulServerTest->testApiAccessBoolean()
- [64307] Fixed RestfulServerTest->testAuthenticatedGET()
- [64275] fixed default_country_value so that it will actually call the default country if IP lookup doesnt work
- [64263] Fix disappearing fields when a field without a name was being pushed onto a FieldSet (eg a CompositeField)
- [64251] Fixed ComplexTableField->saveComplexTableField() success message object link - was assuming same context as ComplexTableField_ItemRequest
- [64239] Adjusted ForeignKey->scaffoldFormField() to new scaffolding notation ("ajaxSafe" instead of "ajax")
- [64237] Fixed FormScaffolder string literal parsing FALE in getFieldSet()
- [64229] Storing HTTP "Referer" header from $_SERVER in Director::direct() and passing it along in Director::test()
- [64228] Checking for an empty array for $postVars in Director::test() to determine HTTP method - an existing array should cause POST rather than GET, even if its empty
- [64227] Fixed stupid ommission from r64223 which caused HTTPRequest to construct without a proper URL
- [64224] Using fieldLabel() for $has_one relationships in FormScaffolder
- [64173] Fixed wrong call to scaffoldCMSFields() in Member->getCMSFields(), removed addScaffoldRelationFields() call as this is done by the newly called parent::getCMSFields() already
- [64153] #2906 - Fixed manifest conflict in web-tests
- [64142] fixed ss.i18n.sprintf() call in Validator.js
- [64124] #2936: Define STDOUT if it's not already defined...
- [64109] Fixed order of arguments.
- [64099] Bad XHTML in en_US language file (#2624) - thanks tiwoc!
- [64098] Director::fileExists() fails on windows with absolute paths (#2935) - thanks to ajshort!
- [64097] Fixed CSSContentParser to only use tidy on CLI mode if its available, and first check for existence of PHP tidy extension. Fixes failing unit tests on standard WAMP windows installations.
- [64096] Fixed CSVParser assumptions about absolute unix-style filepaths - using Director::absFile() instead now
- [64081] Consistent usage of ss.i18n.sprintf() instead of ss.i18n.printf() - the method is returning a string rather than outputting directly, so should be sprintf()
- [64077] Fixing AssetAdmin translations which were previously moved to Folder.php - i18n::include_by_class() doesn't like filenames/namespaces which are in a different folder than the language file they're referenced in (see #2359) - started in r64076
- [64076] Fixing AssetAdmin translations which were previously moved to Folder.php - i18n::include_by_class() doesn't like filenames/namespaces which are in a different folder than the language file they're referenced in (see #2359)
- [64074] Fixed AssetTableField javascript errors caused by r64049
- [64072] Fixed DebugView Breadcrumbs to not include query string as separate link, and don't append an arrow after the last element
- [64049] fix the bug that add some rules for summary columns even when they are not there.
- [64042] Using _t() to check content strings in unit tests and avoid tests failing when i18n is enabled
- [64038] Removed $_ALL_CLASSES in !ReportAdmin::has_reports() - this doesn't need to be here anymore, due to changes in ManifestBuilder
- [64013] Limited error message scope on invalid classname for TestRunner
- [64011] Ignore TestOnly classes when collecting permissions
- [64010] Removed dependency of ss.i18n.js on other libraries by replacing $$ with document.getElementsByTagName() and implementing a custom event attacher - see #2927
- [64007] Making less assumptions about object structure in FieldSet->addFieldToTab() error messages
- [64005] YamlFixture?->saveIntoDatabase(): In order to support reflexive relations which need a valid object ID, the record is written twice: first after populating all non-relational fields, then again after populating all relations (has_one, has_many, many_many). Fixes a bug where FileTest was testing onBeforeWrite() behaviour
- [64004] Writing record from yml before parsing relations in YamlFixture->saveIntoDatabase() to avoid missing lookups for reflexive relations on the same object
- [64002] Moved RecordController and CollectionController to external module (see r63905)
- [64001] Adjusted FormTest->testLoadDataFromObject() to new assumptions about changed behaviour on loadDataFrom() from $loadBlanks to $clearMissingFields - which means that form fields are cleared regardless if they have blank values in the passed object or not
- [64000] Making sure that DataObject->has*Field() methods always return an array, in order not to fail any array_key_exists() checks
- [63999] Fixing DataObject->hasField() to detect dynamic getters by using hasMethod("get$fieldName")
- [63998] Fixed Form->loadDataFrom() to properly populate FormField->setValue() when an object is passed as the first parameter (needed e.g. for CheckboxSetField->setValue()) - see mailinglist discussion at http://groups.google.com/group/silverstripe-dev/browse_thread/thread/717bada8ccafdd70
- [63983] Fixes so ?flush=1 doesn't stop showing the Reports tab in CMS
- [63981] Allow use of ClassInfo methods in _config.php when manifest is being rebuilt
- [63945] Added missing slash in TableListField_Item->Link()
- [63939] Improved RedirectorPage's handling of invalid configuration options to prevent infinite loops and segfaults
- [63927] Improved detection of CLI colour support
- [63920] Fix broken breadcrumbs
Go to page 2
Download in other formats: