Skip to content

Instantly share code, notes, and snippets.

@brendo
brendo / symphonydelgates.md
Created May 10, 2011 10:52
DelegateExecutionOrder

Requesting {$root}/page-one/

  • FrontendInitialised
  • FrontendPrePageResolve
  • FrontendPageResolved
  • FrontendParamsResolve
  • FrontendProcessEvents
  • EventPreSaveFilter (for each Event executed)
  • EventPostSaveFilter (for each Event executed)
  • EventFinalSaveFilter (for each Event executed)
@brendo
brendo / symphony222.md
Created May 12, 2011 11:47
Symphony 2.2.2 Release Notes

Release Candidate 1

Improvements

  • #706 - Previously when deleting a large number of entries using 'Delete Entries' which caused PHP to reach it's maximum memory usage, no entries would be deleted making it impossible to delete entries through the Symphony administration. Entry deletion is now processed in batches of 2500, so should the memory limit be hit, at least some of the entries will be deleted. The entryDataCleanup function also now supports an array of entry_id rather than a single entry_id
  • The EventPreSaveFilter now gets passed the $entry_id when an Event is editing entries. This will be null on new entries
  • Sometimes '0' was interpreted as empty by the default checkPostFieldData implementation
  • Add __get() to the EmailGateway allowing variables to be accessed once they are set
  • Ongoing documentation tweaks
@brendo
brendo / EventTutorial.md
Created May 23, 2011 09:40 — forked from nickdunn/EventTutorial.md
Symphony Events: A Detailed Look

Forms have been an integral part of any interactive site since the dawn of time — they promote interactivity and are usually the most common way users interact with a site. It's commonplace that when a form is submitted (input), the website will take 'action' and do something with the data (processing) and then provide a user with the result (output). Symphony provides this logic layer via events.

This tutorial is about customising Symphony events. You will learn about:

  • event execution conditions (load and __trigger)
  • field naming and the $_POST array
  • creating related entries in two or more sections at the same time, aka. event chaining
  • event priority (execution order)
  • entirely custom events
@brendo
brendo / LoveforXMLElement.md
Created June 17, 2011 01:26
Some love for XML Element

Some love for XMLElement

With the upcoming release of Symphony 2.2.2 (see the thread), XMLElement has been given some love with some a couple of new methods to help make working with XMLElement easier for developers. XMLElement's biggest shortcoming previously had been the lack of methods to manipulate the children of an XMLElement, often resulting in some pretty head-slapping moments. No more, we've got five new methods to make this a breeze, getChildrenByName, removeChildAt, insertChildAt, replaceChildAt and setChildren.

Our Source

For the purposes of this quick tip, we'll use the following DOM structure.

<div>

Hello World

@brendo
brendo / releasenotes223.md
Created August 12, 2011 03:56
Symphony 2.2.3 Release Notes

Symphony 2.2.3

This release is primarily a hotfix for issues that have cropped up in Symphony's submodules:

Fixes

  • #738 - Symphony Fatal Database Error when adding Author field
  • #713 - Fix year-month filtering in the core Date field on PHP 5.2
  • Restore the DatabaseException handler for incorrect database details. Fixes a regression since 2.1.x
  • Update the Devkit class to use SYMPHONY_URL constant
@brendo
brendo / symphony23.md
Created August 16, 2011 12:36
Symphony 2.3

The release of 2.2.3 marks the end of the 2.2 branch development and the Symphony Team and Working Groups are really excited on the next upcoming release, Symphony 2.3. I thought I'd take some time to outline a couple of the upcoming changes that the team and Working Groups are working towards in this release.

Symphony 2.3 aims to give a complete refresh of Symphony's backend user experience, from the theme, to the widgets you interact with everyday. The UX Working Group has been working really hard over the last couple of months meeting to discuss new concepts and ideas (which you can see a full snapshot of on the Working Group wiki) which will see the Symphony 2.3 be one of the best releases yet. Interface widgets, such as the Duplicator, Collapsible and Tags will become easier to create with additions to the Widget class, and newcomers, Drawer and [Tabs](https://github.com/symph

@brendo
brendo / current.json
Created August 21, 2011 11:01
Remote JSON conversion
{
"trends": {
"2011-08-21 11:00:00": [
{
"name": "#peopleiveseenlive",
"query": "#peopleiveseenlive",
"events": null,
"promoted_content": null
},
{
@brendo
brendo / Symphony23.md
Created August 22, 2011 11:53
Symphony 2.3 Release Notes

Symphony 2.3 Release Notes

These release notes are a work in progress and will be updated regularly through the development cycle, things may change from time to time. Symphony 2.3 supports updating from any 2.2.x release.

This is a major release and may break backwards compatibility with existing extensions. It is recommended that extension developers read the Migration Guide for 2.3 and look out for Dev Notes released by the team to help migrate their extensions to this new release.

Release Candidate 4

Features

@brendo
brendo / class.autocomplete.php
Created September 29, 2011 12:46
RL Autocomplete
<?php
Class contentExtensionReferencelinkAutocomplete extends AjaxPage{
public function handleFailedAuthorisation(){
$this->_status = self::STATUS_UNAUTHORISED;
$this->_Result = json_encode(array('status' => __('You are not authorised to access this page.')));
}
public function view(){
@brendo
brendo / symphony224.md
Created October 8, 2011 06:42
Symphony 2.2.4 Release Notes

Symphony 2.2.4

This is a recommended update for all users, regardless of PHP environment, which aims to resolve Date related issues that have arise since Symphony 2.2.2. This release rolls back functionality for PHP5.2 users that was introduced in Symphony 2.2.2 that allowed Symphony to better support European date formats. PHP 5.3 is recommended for all European date formats. In addition, this release makes the first time unit tests have been used in a Symphony release, which were used to ensure that the core Date filtering returned the correct results for all supported filters.

Some low risk security vulnerabilities reported by Mavituna Security have also been resolved in this release.

Fixes

  • #838 - Fixed bug when grouping Checkboxes
  • #815 - Prevent possible MySQL error when creating a Page