AjaxHelper Class Info:

Class Declaration:

class AjaxHelper extends AppHelper

File name:
cake/libs/view/helpers/ajax.php
Description:

AjaxHelper helper library.

Helps doing AJAX using the Prototype library.

Class Inheritance

AppHelper Helper Overloadable Object

Properties:

Show/Hide parent properties
  • action string

    Current action.

  • __ajaxBuffer array

    Output buffer for Ajax update content

  • ajaxOptions array

    Names of AJAX options.

  • argSeparator string

    URL argument separator character

  • autoCompleteOptions array

    Options for auto-complete editor.

  • base string

    Base URL

  • callbacks array

    Names of Javascript callback functions.

  • data array

    POST data for models

  • dragOptions array

    Options for draggable.

  • dropOptions array

    Options for droppable.

  • editorOptions array

    Options for in-place editor.

  • helpers array

    Included helpers.

  • here string

    URL to current action.

  • Html HtmlHelper

    HtmlHelper instance

  • Javascript JavaScriptHelper

    JavaScriptHelper instance

  • namedArgs array

    List of named arguments

  • params array

    Parameter array.

  • plugin string

    Plugin path

  • sliderOptions array

    Options for slider.

  • sortOptions array

    Options for sortable.

  • tags array

    Holds tag templates.

  • theme string

    The current theme name if any.

  • validationErrors array

    Contains model validation errors of form post-backs

  • webroot string

    Webroot path

Method Summary:

Show/Hide parent methods

addClass

top

Adds the given class to the element options

Parameters:
  • array $options optional array ( )

    Array options/attributes to add a class to

  • string $class optional NULL

    The classname being added.

  • string $key optional 'class'

    the key to use for class.

Method defined in:
cake/libs/view/helper.php on line 774
Return

array Array of options with $key set.

Access

public

afterLayout

top

After layout callback. afterLayout is called after the layout has rendered.

Overridden in subclasses.

Method defined in:
cake/libs/view/helper.php on line 838
Return

void

Access

public

afterRender

top

Executed after a view has rendered, used to include bufferred code blocks.

Method defined in:
cake/libs/view/helpers/ajax.php on line 1006
Access

public

assetTimestamp

top

Adds a timestamp to a file based resource based on the value of Asset.timestamp in Configure. If Asset.timestamp is true and debug > 0, or Asset.timestamp == 'force' a timestamp will be added.

Parameters:
  • string $path required

    The file path to timestamp, the path must be inside WWW_ROOT

Method defined in:
cake/libs/view/helper.php on line 242
Return

string Path with a timestamp added, or not.

Access

public

autoComplete

top

Create a text field with Autocomplete.

Creates an autocomplete field with the given ID and options.

options['with'] defaults to "Form.Element.serialize('$field')", but can be any valid javascript expression defining the additional fields.

Parameters:
  • string $field required

    DOM ID of field to observe

  • string $url optional ''

    URL for the autocomplete action

  • array $options optional array ( )

    Ajax options

Method defined in:
cake/libs/view/helpers/ajax.php on line 483
Return

string Ajax script

Link
http://book.cakephp.org/view/1370/autoComplete

beforeLayout

top

Before layout callback. beforeLayout is called before the layout is rendered.

Overridden in subclasses.

Method defined in:
cake/libs/view/helper.php on line 827
Return

void

Access

public

beforeRender

top

Before render callback. beforeRender is called before the view file is rendered.

Overridden in subclasses.

Method defined in:
cake/libs/view/helper.php on line 804
Return

void

Access

public

_buildCallbacks

top

Return Javascript text for callbacks.

Parameters:
  • array $options required

    Option array where a callback is specified

Method defined in:
cake/libs/view/helpers/ajax.php on line 934
Return

array Options with their callbacks properly set

Access

protected

_buildObserver

top

Return JavaScript text for an observer...

Parameters:
  • string $klass required

    Name of JavaScript class

  • string $name required

    Name of JavaScript class

  • array $options optional NULL

    Ajax options

Method defined in:
cake/libs/view/helpers/ajax.php on line 915
Return

string Formatted JavaScript

_buildOptions

top

Returns a string of JavaScript with the given option data as a JavaScript options hash.

Parameters:
  • array $options required

    Options in the shape of keys and values

  • array $acceptable required

    Array of legal keys in this options context

Method defined in:
cake/libs/view/helpers/ajax.php on line 882
Return

string String of Javascript array definition

cakeError

top

Used to report user friendly errors. If there is a file app/error.php or app/app_error.php this file will be loaded error.php is the AppError class it should extend ErrorHandler class.

Parameters:
  • string $method required

    Method to be called in the error class (AppError or ErrorHandler classes)

  • array $messages optional array ( )

    Message that is to be displayed by the error class

Method defined in:
cake/libs/object.php on line 187
Return

error message

Access

public

call__

top

Parameters:
  • $method required

  • $params required

Method defined in:
cake/libs/view/helper.php on line 153

clean

top

Used to remove harmful tags from content. Removes a number of well known XSS attacks from content. However, is not guaranteed to remove all possiblities. Escaping content is the best way to prevent all possible attacks.

Parameters:
  • mixed $output required

    Either an array of strings to clean or a single string to clean.

Method defined in:
cake/libs/view/helper.php on line 278
Return

cleaned content for output

Access

public

__construct

top

Class constructor, overridden in descendant classes.

Method defined in:
cake/libs/object.php on line 54

dispatchMethod

top

Calls a method on this object with the given parameters. Provides an OO wrapper for call_user_func_array

Parameters:
  • string $method required

    Name of the method to call

  • array $params optional array ( )

    Parameter list to use when calling $method

Method defined in:
cake/libs/object.php on line 107
Return

mixed Returns the result of the method call

Access

public

div

top

Creates an Ajax-updateable DIV element

Parameters:
  • string $id required

    options for javascript

  • $options optional array ( )

Method defined in:
cake/libs/view/helpers/ajax.php on line 536
Return

string HTML code

divEnd

top

Closes an Ajax-updateable DIV element

Parameters:
  • string $id required

    The DOM ID of the element

Method defined in:
cake/libs/view/helpers/ajax.php on line 557
Return

string HTML code

domId

top

Generates a DOM ID for the selected element, if one is not set. Uses the current View::entity() settings to generate a CamelCased id attribute.

Parameters:
  • mixed $options optional NULL

    Either an array of html attributes to add $id into, or a string with a view entity path to get a domId for.

  • string $id optional 'id'

    The name of the 'id' attribute.

Method defined in:
cake/libs/view/helper.php on line 604
Return

mixed If $options was an array, an array will be returned with $id set. If a string was supplied, a string will be returned.

Todo

Refactor this method to not have as many input/output options.

drag

top

Creates a draggable element. For a reference on the options for this function, check out http://github.com/madrobby/scriptaculous/wikis/draggable

Parameters:
  • unknown_type $id required

  • array $options optional array ( )

Method defined in:
cake/libs/view/helpers/ajax.php on line 589

drop

top

For a reference on the options for this function, check out http://github.com/madrobby/scriptaculous/wikis/droppables

Parameters:
  • unknown_type $id required

  • array $options optional array ( )

Method defined in:
cake/libs/view/helpers/ajax.php on line 610

dropRemote

top

Make an element with the given $id droppable, and trigger an Ajax call when a draggable is dropped on it.

For a reference on the options for this function, check out http://wiki.script.aculo.us/scriptaculous/show/Droppables.add

Parameters:
  • string $id required

  • array $options optional array ( )

  • array $ajaxOptions optional array ( )

Method defined in:
cake/libs/view/helpers/ajax.php on line 635
Return

string JavaScript block to create a droppable element

editor

top

Makes an Ajax In Place editor control.

Parameters:
  • string $id required

    DOM ID of input element

  • string $url required

    Postback URL of saved data

  • array $options optional array ( )

    Array of options to control the editor, including ajaxOptions (see link).

Method defined in:
cake/libs/view/helpers/ajax.php on line 701
Link
Array

field

top

Gets the currently-used model field of the rendering context.

Method defined in:
cake/libs/view/helper.php on line 570
Return

string

Access

public

form

top

Returns form tag that will submit using Ajax.

Returns a form tag that will submit using XMLHttpRequest in the background instead of the regular reloading POST arrangement. Even though it's using Javascript to serialize the form elements, the form submission will work just like a regular submission as viewed by the receiving side (all elements available in params). The options for defining callbacks is the same as AjaxHelper::link().

Parameters:
  • mixed $params optional NULL

    Either a string identifying the form target, or an array of method parameters, including: - 'params' => Acts as the form target - 'type' => 'post' or 'get' - 'options' => An array containing all HTML and script options used to generate the form tag and Ajax request.

  • array $type optional 'post'

    How form data is posted: 'get' or 'post'

  • array $options optional array ( )

    Callback/HTML options

Method defined in:
cake/libs/view/helpers/ajax.php on line 342
Return

string JavaScript/HTML code

See

AjaxHelper::link()

Link
http://book.cakephp.org/view/1366/form

get__

top

Default overload methods

Parameters:
  • $name required

Method defined in:
cake/libs/view/helper.php on line 151
Access

protected

_initInputField

top

Sets the defaults for an input tag. Will set the name, value, and id attributes for an array of html attributes. Will also add a 'form-error' class if the field contains validation errors.

Parameters:
  • string $field required

    The field name to initialize.

  • array $options optional array ( )

    Array of options to use while initializing an input field.

Method defined in:
cake/libs/view/helper.php on line 751
Return

array Array options for the form input.

Access

protected

isAjax

top

Detects Ajax requests

Method defined in:
cake/libs/view/helpers/ajax.php on line 576
Return

boolean True if the current request is a Prototype Ajax update call

Link
http://book.cakephp.org/view/1371/isAjax

link

top

Returns link to remote action

Returns a link to a remote action defined by <i>options[url]</i> (using the url() format) that's called in the background using XMLHttpRequest. The result of that request can then be inserted into a DOM object whose id can be specified with <i>options[update]</i>.

Examples: <code> link("Delete this post", array("update" => "posts", "url" => "delete/{$postid->id}")); link(imageTag("refresh"), array("update" => "emails", "url" => "list_emails" )); </code>

By default, these remote requests are processed asynchronous during which various callbacks can be triggered (for progress indicators and the likes).

Example: <code> link (word, array("url" => "undo", "n" => word_counter), array("complete" => "undoRequestCompleted(request)")); </code>

The callbacks that may be specified are:

  • <i>loading</i>:: Called when the remote document is being loaded with data by the browser.
  • <i>loaded</i>:: Called when the browser has finished loading the remote document.
  • <i>interactive</i>:: Called when the user can interact with the remote document, even though it has not finished loading.
  • <i>complete</i>:: Called when the XMLHttpRequest is complete.

If you for some reason or another need synchronous processing (that'll block the browser while the request is happening), you can specify <i>options[type] = synchronous</i>.

You can customize further browser side call logic by passing in Javascript code snippets via some optional parameters. In their order of use these are:

  • <i>confirm</i>:: Adds confirmation dialog. -<i>condition</i>:: Perform remote request conditionally by this expression. Use this to describe browser-side conditions when request should not be initiated.
  • <i>before</i>:: Called before request is initiated.
  • <i>after</i>:: Called immediately after request was initiated and before <i>loading</i>.

Parameters:
  • string $title required

    Title of link

  • mixed $url optional NULL

    Cake-relative URL or array of URL parameters, or external URL (starts with http://)

  • array $options optional array ( )

    Options for JavaScript function

  • string $confirm optional NULL

    Confirmation message. Calls up a JavaScript confirm() message.

Method defined in:
cake/libs/view/helpers/ajax.php on line 213
Return

string HTML code for link to remote action

Link
http://book.cakephp.org/view/1363/link

loadConfig

top

Parses tag templates into $this->tags.

Parameters:
  • $name optional 'tags'

Method defined in:
cake/libs/view/helper.php on line 164
Return

array merged tags from config/$name.php

Access

public

log

top

Convience method to write a message to CakeLog. See CakeLog::write() for more information on writing to logs.

Parameters:
  • string $msg required

    Log message

  • integer $type optional 2

    Error type constant. Defined in app/config/core.php.

Method defined in:
cake/libs/object.php on line 148
Return

boolean Success of log write

Access

public

model

top

Gets the currently-used model of the rendering context.

Method defined in:
cake/libs/view/helper.php on line 544
Return

string

Access

public

modelID

top

Gets the ID of the currently-used model of the rendering context.

Method defined in:
cake/libs/view/helper.php on line 559
Return

mixed

Access

public

_name

top

Gets the input field name for the current tag. Creates input name attributes using CakePHP's data[Model][field] formatting.

Parameters:
  • mixed $options optional array ( )

    If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.

  • string $field optional NULL

    If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.

  • string $key optional 'name'

    The name of the attribute to be set, defaults to 'name'

Method defined in:
cake/libs/view/helper.php on line 640
Return

mixed If an array was given for $options, an array with $key set will be returned. If a string was supplied a string will be returned.

Access

protected

Todo

Refactor this method to not have as many input/output options.

Object

top

A hack to support __construct() on PHP 4 Hint: descendant classes have no PHP4 class_name() constructors, so this constructor gets called first and calls the top-layer __construct() which (if present) should call parent::__construct()

Method defined in:
cake/libs/object.php on line 43
Return

Object

observeField

top

Observe field and call ajax on change.

Observes the field with the DOM ID specified by <i>field</i> and makes an Ajax when its contents have changed.

Required +options+ are: - <i>frequency</i>:: The frequency (in seconds) at which changes to this field will be detected. - <i>url</i>:: @see url() -style options for the action to call when the field has changed.

Additional options are: - <i>update</i>:: Specifies the DOM ID of the element whose innerHTML should be updated with the XMLHttpRequest response text. - <i>with</i>:: A Javascript expression specifying the parameters for the XMLHttpRequest. This defaults to Form.Element.serialize('$field'), which can be accessed from params['form']['field_id'].

Additionally, you may specify any of the options documented in

Parameters:
  • string $field required

    DOM ID of field to observe

  • array $options optional array ( )

    ajax options

Method defined in:
cake/libs/view/helpers/ajax.php on line 430
See

url() -style options for the action to call

linkToRemote().

Return

string ajax script

Link
http://book.cakephp.org/view/1368/observeField

observeForm

top

Observe entire form and call ajax on change.

Like @see observeField(), but operates on an entire form identified by the DOM ID <b>form</b>. <b>options</b> are the same as <b>observeField</b>, except the default value of the <i>with</i> option evaluates to the serialized (request string) value of the form.

Parameters:
  • string $form required

    DOM ID of form to observe

  • array $options optional array ( )

    ajax options

Method defined in:
cake/libs/view/helpers/ajax.php on line 456
See

observeField(), but operates on an entire form identified by the

Return

string ajax script

Link
http://book.cakephp.org/view/1369/observeForm

output

top

Returns a string generated by a helper method

This method can be overridden in subclasses to do generalized output post-processing

Parameters:
  • string $str required

    String to be output.

Method defined in:
cake/libs/view/helper.php on line 792
Return

string

Deprecated

This method will be removed in future versions.

overload

top

Overload implementation. No need for implementation in PHP5.

Method defined in:
cake/libs/overloadable_php5.php on line 36
Access

public

_parseAttributes

top

Returns a space-delimited string with items of the $options array. If a key of $options array happens to be one of:

  • 'compact'
  • 'checked'
  • 'declare'
  • 'readonly'
  • 'disabled'
  • 'selected'
  • 'defer'
  • 'ismap'
  • 'nohref'
  • 'noshade'
  • 'nowrap'
  • 'multiple'
  • 'noresize'

And its value is one of:

  • '1' (string)
  • 1 (integer)
  • true (boolean)
  • 'true' (string)

Then the value will be reset to be identical with key's name. If the value is not one of these 3, the parameter is not output.

'escape' is a special option in that it controls the conversion of attributes to their html-entity encoded equivalents. Set to false to disable html-encoding.

If value for any option key is set to null or false, that option will be excluded from output.

Parameters:
  • array $options required

    Array of options.

  • array $exclude optional NULL

    Array of options to be excluded, the options here will not be part of the return.

  • string $insertBefore optional ' '

    String to be inserted before options.

  • string $insertAfter optional NULL

    String to be inserted after options.

Method defined in:
cake/libs/view/helper.php on line 334
Return

string Composed attributes.

Access

public

_persist

top

Checks for a persistent class file, if found file is opened and true returned If file is not found a file is created and false returned If used in other locations of the model you should choose a unique name for the persistent file There are many uses for this method, see manual for examples

Parameters:
  • string $name required

    name of the class to persist

  • $return required

  • string $object required

    the object to persist

  • $type optional NULL

Method defined in:
cake/libs/object.php on line 218
Return

boolean Success

Access

protected

Todo

add examples to manual

remoteFunction

top

Creates JavaScript function for remote AJAX call

This function creates the javascript needed to make a remote call it is primarily used as a helper for AjaxHelper::link.

Parameters:
  • array $options required

    options for javascript

Method defined in:
cake/libs/view/helpers/ajax.php on line 257
Return

string html code for link to remote action

See

AjaxHelper::link() for docs on options parameter.

Link
http://book.cakephp.org/view/1364/remoteFunction

remoteTimer

top

Periodically call remote url via AJAX.

Periodically calls the specified url (<i>options[url]</i>) every <i>options[frequency]</i> seconds (default is 10). Usually used to update a specified div (<i>options[update]</i>) with the results of the remote call. The options for specifying the target with url and defining callbacks is the same as AjaxHelper::link().

Parameters:
  • array $options optional NULL

    Callback options

Method defined in:
cake/libs/view/helpers/ajax.php on line 315
Return

string Javascript code

See

AjaxHelper::link()

Link
http://book.cakephp.org/view/1365/remoteTimer

requestAction

top

Calls a controller's method from any location. Can be used to connect controllers together or tie plugins into a main application. requestAction can be used to return rendered views or fetch the return value from controller actions.

Parameters:
  • mixed $url required

    String or array-based url.

  • array $extra optional array ( )

    if array includes the key "return" it sets the AutoRender to true.

Method defined in:
cake/libs/object.php on line 80
Return

mixed Boolean true or false on success/failure, or contents of rendered action if 'return' is set in $extra.

Access

public

_savePersistent

top

You should choose a unique name for the persistent file

There are many uses for this method, see manual for examples

Parameters:
  • string $name required

    name used for object to cache

  • object $object required

    the object to persist

Method defined in:
cake/libs/object.php on line 247
Return

boolean true on save, throws error if file can not be created

Access

protected

_set

top

Allows setting of multiple properties of the object in a single line of code. Will only set properties that are part of a class declaration.

Parameters:
  • array $properties optional array ( )

    An associative array containing properties and corresponding values.

Method defined in:
cake/libs/object.php on line 166
Return

void

Access

protected

set__

top

Parameters:
  • $name required

  • $value required

Method defined in:
cake/libs/view/helper.php on line 152

setEntity

top

Sets this helper's model and field properties to the dot-separated value-pair in $entity.

Parameters:
  • mixed $entity required

    A field name, like "ModelName.fieldName" or "ModelName.ID.fieldName"

  • boolean $setScope optional false

    Sets the view scope to the model specified in $tagValue

Method defined in:
cake/libs/view/helper.php on line 394
Return

void

Access

public

slider

top

Makes a slider control.

Parameters:
  • string $id required

    DOM ID of slider handle

  • string $trackId required

    DOM ID of slider track

  • array $options optional array ( )

    Array of options to control the slider

Method defined in:
cake/libs/view/helpers/ajax.php on line 662
Link
Array

sortable

top

Makes a list or group of floated objects sortable.

Parameters:
  • string $id required

    DOM ID of parent

  • array $options optional array ( )

    Array of options to control sort.

Method defined in:
cake/libs/view/helpers/ajax.php on line 745
Link
Array

_stop

top

Stop execution of the current script. Wraps exit() making testing easier.

Parameters:
  • $status optional 0

Method defined in:
cake/libs/object.php on line 135
Return

void

Access

public

submit

top

Returns a button input tag that will submit using Ajax

Returns a button input tag that will submit form using XMLHttpRequest in the background instead of regular reloading POST arrangement. <i>options</i> argument is the same as in AjaxHelper::form().

Parameters:
  • string $title optional 'Submit'

    Input button title

  • array $options optional array ( )

    Callback options

Method defined in:
cake/libs/view/helpers/ajax.php on line 382
Return

string Ajaxed input button

See

AjaxHelper::form()

Link
http://book.cakephp.org/view/1367/submit

tagIsInvalid

top

Returns false if given FORM field has no errors. Otherwise it returns the constant set in the array Model->validationErrors.

Parameters:
  • string $model optional NULL

    Model name as a string

  • string $field optional NULL

    Fieldname as a string

  • integer $modelID optional NULL

    Unique index identifying this record within the form

Method defined in:
cake/libs/view/helper.php on line 584
Return

boolean True on errors.

toString

top

Object-to-string conversion. Each class can override this method as necessary.

Method defined in:
cake/libs/object.php on line 64
Return

string The name of this class

Access

public

url

top

Finds URL for specified action.

Returns a URL pointing at the provided parameters.

Parameters:
  • mixed $url optional NULL

    Either a relative string url like /products/view/23 or an array of url parameters. Using an array for urls will allow you to leverage the reverse routing features of CakePHP.

  • boolean $full optional false

    If true, the full base URL will be prepended to the result

Method defined in:
cake/libs/view/helper.php on line 187
Return

string Full translated URL with base path.

Access

public

Link
http://book.cakephp.org/view/1448/url

value

top

Gets the data for the current tag

Parameters:
  • mixed $options optional array ( )

    If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.

  • string $field optional NULL

    If an array, should be an array of attributes that $key needs to be added to. If a string or null, will be used as the View entity.

  • string $key optional 'value'

    The name of the attribute to be set, defaults to 'value'

Method defined in:
cake/libs/view/helper.php on line 686
Return

mixed If an array was given for $options, an array with $key set will be returned. If a string was supplied a string will be returned.

Access

public

Todo

Refactor this method to not have as many input/output options.

webroot

top

Checks if a file exists when theme is used, if no file is found default location is returned

Parameters:
  • string $file required

    The file to create a webroot path to.

Method defined in:
cake/libs/view/helper.php on line 198
Return

string Web accessible path to file.

Access

public