English (United Kingdom)

apply_filters_ref_array( 'vikrestaurants_before_save_{$table}', bool $save, mixed &$src, JTable $table )

Fires before saving a record.


Description

This hook is triggered before creating or updating a record. External plugins can use this hook to bind the object that is going to be saved.

The dynamic portion of the hook name, $table, refers to the name of the table calling the hook. This means that, for example, the room table will trigger an hook called vikrestaurants_before_save_room. The name of the table is always equals to the base name of the file that declares the $table instance.

It is possible to fetch the name of a table by accessing the following folder:

/wp-content/plugins/vikrestaurants/admin/tables/

TIP: in case of failure while saving the record, it is possible to throw an exception to abort the saving process and return a readable error message. The same can be accomplished by registering an error to the table and returning false.

// throw an exception
throw new Exception('Missing required field', 404);
// or register the error
$table->setError('Missing required field');
return false;

Parameters

$save

(bool)  Use false to abort the saving process.

&$src

(array|object)  Either an array or an object specifying the table properties to bind.

$table

(JTable)  The table instance.


Example

/**
 * Trigger hook to allow the plugins to bind the object that
 * is going to be saved.
 *
 * @param  boolean  $save   False to abort the saving process.
 * @param  mixed    &$data  The array/object to bind.
 * @param  JTable   $table  The table instance.
 */
add_filter('vikrestaurants_before_save_{$type}', function($save, &$data, $table) {
    /**
     * @todo it is possible to bind here the $data object
     */

    return $save;
}, 10, 3);

Changelog

Version Description
1.0 Introduced.
Last Update: 2023-12-15
Helpful?
See Also: