grab
cursor when hovering over table headers to indicate that they are a scrollable containercssClass: 'inline-options'
to their propertiesrequired
property for fields that have required_if
model validation rulesCookie::set()
(i.e. objects & arrays) then you will need to change your code so that those values are JSON encoded / decoded before and after being stored in the cookie.System\Traits\ResponseMaker
trait to the base Backend\Classes\Controller
class (and the Cms\Classes\Controller
controller). Adds the following methods: setStatusCode($code)
, getStatusCode()
, setResponse($response)
, setResponseHeader($key, $values, $replace = true)
, setResponseCookie($cookie)
, getResponseHeaders()
, and makeResponse($contents)
.media.file.upload
event now passes the $path
argument by reference.brand.customLessPath
event.which
and other methods of determining the selected keys to the new event.key
removePermission($owner, $code)
to the BackendAuth manager class to enable plugins to dynamically remove permissions from the available list registered with the BackendAuth manager class.Winter\Rain\Network\Http->setOption($option, $value)
as long as it corresponds to a valid CURLOPT_
constantgetConfig($value, $default = null)
method to the Backend\Classes\ListColumn
class to mirror what's available on the Backend\Classes\FormField
classorder
option to the relation
FormWidget to allow relation options to be ordered by a custom order statement.email
field type (type: email
)services.mailgun.endpoint
config item in config/services.php
system.assets.beforeAddAsset
) that is listened to by the HeathDutton.CloudFlare
plugin. Recommend any CloudFlare users using Rocket Loader to use that plugin going forwardpermissions
property on form fields, list columns, and list filter scopes. Property supports either a single string or an array of permissions that the current backend user must have access to at least one of in order to access the field / column / filter scope.mode: switch
to the Backend\FormWidgets\PermissionEditor
FormWidget that defines permissions as either expliclity allowed (1) or denied (-1).availablePermissions
property to the Backend\FormWidgets\PermissionEditor
FormWidget that accepts an array of permission codes to filter the list of permission codes to be managed by that widget instance down to.clear-full
, clear-left
, and clear-right
CSS classes that can be used to apply clearfixes to form fields by adding them to the field's cssClass
propertyCURLOPT_POSTFIELDS
cURL option to be manually overriden when using the Winter\Rain\Network\Http
wrapper.dependsOn
to filter scopes of type: group
. All current filter scopes (including their current values) will be passed to the options method as an array of scope objects to be used in redetermining the available options to provide when the scopes that are targeted with dependsOn
are updated.getSortColumn()
and getSortDirection()
public methods to the Lists
widget.'
and &
.parseClean()
method to Winter\Rain\Parse\Markdown
that enables safe mode on the markdown parser used.\Winter\Rain\Database\Attach\Resizer
class, specifically for .gif images by processing .gif images with imagescale()
instead of imagecopyresampled()
SettingsManager
could fail if a user wasn't provided to filterItemPermissions()
at that point in the requestYAML::parseFile()
caching which simplifies the Theme processing code and fixes some bugs related to cache invalidationphp artisan clear-compiled
PreferenceMaker
trait in Build 1.0.457$this->param()
but returned as '0'
from {{ this.param.slug }}
databaseTemplates
feature from Build 1.0.456 wouldn't support templates in subfolders. Nesting limit is still 2 (/template-type/subfolder1/template.htm
) but the issue where it was just 1 when databaseTemplates
was enabled has been fixed.change
event was not triggered on removing a recordfinder's value with the clear buttonis_string
instead of checking if value wasn't every other type of variable available.model.beforeSave
event would be fired twice under some conditions when using a HasOneOrMany relationship.argv
is not available in the server variables.0
for either the minimum or maximum value.datepicker
FormWidget wouldn't trigger the JS change
event on the field.App::error()
would fail with FormatException not found
.recordfinder
field's value where having fields that dependsOn
that recordfinder
field would receive the old value in the AJAX refresh.Mail::queue
would ignore the subject set in the mail template and instead use Mailable
as their subject if a custom subject wasn't set in the callback.ocJSON()
to framework.js for parsing loose JSON safelybackend::lang.repeater.add_new_item
)JSON.parse()
instead of $.parseJSON()
in core JSYAML::parseFile()
when debug mode is disabled. The cache key is prefixed with yaml::
and is generated from the path provided along with the last modified time of that file to ensure that it's always properly invalidated. Cache is stored for a maximum of 30 days.tests/js
backend.page.beforeDisplay
, backend.menu.extendItems
, backend.user.login
, backend.beforeRoute
, backend.route
, cms.beforeRoute
, cms.route
, cms.block.render
, cms.combiner.beforePrepare
, system.settings.extendItems
, and system.extendConfigFile
Sign up to our newsletter and receive updates on Winter releases, new features in the works, plugin and theme promotions and much more!