File/program/modules/aggregator/aggregator_admin.php

Description

/program/modules/aggregator/aggregator_admin.php - management interface for aggregator-module

This file defines the administrative interface to this module. The interface consists of the following four functions.

    aggregator_disconnect(&$output,$area_id,$node_id,$module) aggregator_connect(&$output,$area_id,$node_id,$module) aggregator_show_edit(&$output,$area_id,$node_id,$module,$viewonly,$edit_again,$href,$option) aggregator_save(&$output,$area_id,$node_id,$module,$viewonly,&$edit_again,$option)

These functions are called from pagemanagerlib.php whenever necessary.

Functions
aggregator_check_node_list (line 405)

validate and massage the user-supplied node list

this checks the node list the user entered, returns TRUE if the tests are passed. Currently the only test is checking the node numbers are >= 1.

  • return: TRUE if valid node list, otherwise FALSE + messages in dialogdef
  • todo: perhaps we should check more thoroughly for node existence but that implies also checking for user access etc. etc. We postpone that to later when the visitor's credentials will be checked against the list of nodes. So: a syntax check only. Sort of.
bool aggregator_check_node_list (array &$item, int $area_id, int $node_id)
  • array &$item: holds the field definition from the $dialogdef for the aggregator_path
  • int $area_id: the area in which we are editing a snapshot module configuration
  • int $node_id: the node to which the snapshot module is connected (unused)
aggregator_connect (line 73)

connect this module to a node

this makes the link between the node $node_id in area $area_id and this module. In this case we simply link a single record to node $node_id in a 1-to-1 relation.

Note that we set the parameters to more or less reasonable values. It is up to the user to configure the aggregator with appropriate settings.

  • return: TRUE on success, FALSE otherwise
bool aggregator_connect (object &$output, int $area_id, int $node_id, array $module)
  • object &$output: collects the html output (if any)
  • int $area_id: the area in which $node_id resides
  • int $node_id: the node to which we need to connect
  • array $module: the module record straight from the database
aggregator_disconnect (line 51)

disconnect this module from a node

this breaks the link between the node $node_id in area $area_id and this module. For now we simply delete the record with the aggregator configuration data.

  • return: TRUE on success, FALSE otherwise
bool aggregator_disconnect (object &$output, int $area_id, int $node_id, array $module)
  • object &$output: collects the html output (if any)
  • int $area_id: the area in which $node_id resides
  • int $node_id: the node from which we need to disconnect
  • array $module: the module record straight from the database
aggregator_get_dialogdef (line 269)

construct a dialog definition for the aggregator configuration data

  • return: dialog definition
array aggregator_get_dialogdef (int $viewonly)
  • int $viewonly: if TRUE the Save button is not displayed and config values cannot be changed
aggregator_save (line 207)

save the modified content data of this module linked to node $node_id

this validates and saves the data that was submitted by the user. If validation fails, or storing the data doesn't work, the flag $edit_again is set to TRUE and the return value is FALSE.

If the user has cancelled the operation, the flag $edit_again is set to FALSE and the return value is also FALSE.

If the modified data is stored successfully, the return value is TRUE and the value of $edit_again is based on the button used to save ([Save] or [Done]).

Here is a summary of return values.

$retval | $edit_again | Action
------- | ----------- | ------
FALSE   | FALSE       | [Cancel] Stop editing, unlock & return to tree view
FALSE   | TRUE        | [Save] or [Done] failed: redo the dialog and let user correct mistakes
TRUE    | FALSE       | [Done] pressed, everything saved succesfully, we're done
TRUE    | TRUE        | [Save] pressed, everything saved succesfully but continue editing

The parameter $option is not used in this module.

  • return: TRUE on success + output stored via $output, FALSE otherwise
bool aggregator_save (object &$output, int $area_id, int $node_id, array $module, bool $viewonly, bool &$edit_again, string $option)
  • object &$output: collects the html output (if any)
  • int $area_id: the area in which $node_id resides
  • int $node_id: the node to which the content is connected
  • array $module: the module record straight from the database
  • bool $viewonly: if TRUE, editing and hence saving is not allowed
  • bool &$edit_again: set to TRUE if we need to edit the content again, FALSE otherwise
  • string $option: indicates which submenu-option was selected (NULL for none)
aggregator_show_edit (line 133)

present the user with a dialog to modify the aggregator that are connected to node $node_id

this prepares a dialog for the user filled with existing data (if any), possibly allowing the user to modify the content. If the flag $viewonly is TRUE, this routine should only display the content rather than let the user edit it. If the flag $edit_again is TRUE, the routine should use the data available in the $_POST array, otherwise it should read the data from the database (or wherever the data comes from). The parameter $href is the place where the form should be POST'ed.

The dialog should be added to the $output object. Useful routines are:

    $output->add_content($content): add $content to the content area $output->add_message($message): add $message to the message area (feedback to the user) $output->add_popup_bottom($message): popup $message in browser after loading the page (uses javascript) $output->add_popup_top($message): popup $message in browser before loading the page (uses javascript)

The parameter $option is not used in this module.

  • return: TRUE on success + output stored via $output, FALSE otherwise
bool aggregator_show_edit (object &$output, int $area_id, int $node_id, array $module, bool $viewonly, bool $edit_again, string $href, string $option)
  • object &$output: collects the html output (if any)
  • int $area_id: the area in which $node_id resides
  • int $node_id: the node to which this module is connected
  • array $module: the module record straight from the database
  • bool $viewonly: if TRUE, editing is not allowed (but simply showing the content is allowed)
  • bool $edit_again: if TRUE start with data from $_POST, else use data from database
  • string $href: the action property of the HTML-form, the place where data will be POST'ed
  • string $option: indicates which submenu-option was selected (NULL for none)

Documentation generated on Tue, 28 Jun 2016 19:08:02 +0200 by phpDocumentor 1.4.0