You are here

function _custom_breadcrumbs_save_breadcrumb in Custom Breadcrumbs 7.2

Same name and namespace in other branches
  1. 6.2 custom_breadcrumbs.module \_custom_breadcrumbs_save_breadcrumb()

Saves the custom breadcrumb.

Parameters

string $module: The name of the custom breadcrumbs submodule that created the breadcrumb.

string $key: The type of breadcrumb to save.

object $breadcrumb: Any additional submodule function to call after breadcrumb has been saved.

2 calls to _custom_breadcrumbs_save_breadcrumb()
custom_breadcrumbs_form_submit in ./custom_breadcrumbs.admin.inc
Form submission handler for custom_breadcrumbs_form().
custom_breadcrumbs_update_1 in ./custom_breadcrumbs.install
Update old-style tokens from early versions of token.module.

File

./custom_breadcrumbs.module, line 568
Main file for the Custom breadcrumbs.

Code

function _custom_breadcrumbs_save_breadcrumb($module, $key, $breadcrumb) {
  if (is_array($breadcrumb->paths)) {
    $breadcrumb->paths = implode("\n", $breadcrumb->paths);
  }
  if (is_array($breadcrumb->titles)) {
    $breadcrumb->titles = implode("\n", $breadcrumb->titles);
  }
  $info = module_invoke($module, 'cb_breadcrumb_info');
  if (isset($info[$key])) {
    if ((!isset($breadcrumb->name) || $breadcrumb->name == '') && isset($info[$key]['name_constructor']) && function_exists($info[$key]['name_constructor'])) {
      $breadcrumb->name = $info[$key]['name_constructor']($breadcrumb);
    }
    if (isset($breadcrumb->bid)) {
      drupal_write_record($info[$key]['table'], $breadcrumb, 'bid');
    }
    else {
      drupal_write_record($info[$key]['table'], $breadcrumb);
    }
  }
}