You are here

function custom_breadcrumbs_is_visible in Custom Breadcrumbs 7.2

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

Determines breadcrumb visibility by evaluating PHP code.

@codingStandardsIgnoreStart

Parameters

object $breadcrumb: The breadcrumb object.

array $objs: An array of objects (node, taxonomy, or view) that can be used in the php code.

Return value

bool TRUE if the breadcrumb should be displayed, FALSE otherwise.

2 calls to custom_breadcrumbs_is_visible()
custom_breadcrumbs_select_breadcrumb in ./custom_breadcrumbs.module
Selects a breadcrumb from an array of breadcrumbs.
_custom_breadcrumbs_paths_set_breadcrumb in custom_breadcrumbs_paths/custom_breadcrumbs_paths.module
Set Breadcrumb.

File

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

Code

function custom_breadcrumbs_is_visible($breadcrumb, $objs = array()) {

  // @codingStandardsIgnoreEnd
  $visibility = TRUE;
  if (isset($breadcrumb->visibility_php) && $breadcrumb->visibility_php) {

    // Guard against hidden spaces.
    $trimmed = trim($breadcrumb->visibility_php);
    if ($trimmed != '') {

      // Provide access to objects by standard variable names.
      foreach ($objs as $key => $obj) {

        // @codingStandardsIgnoreLine
        ${$key} = is_object($obj) ? clone $obj : $obj;
      }
      ob_start();

      // @codingStandardsIgnoreLine
      $visibility = eval('return ' . $trimmed . ';');
      ob_end_clean();
    }
  }
  return $visibility;
}