original_string: protected function defineFilterScopes()
      {
          if ($this->scopesDefined) {
              return;
          }
  
          /**
           * @event backend.filter.extendScopesBefore
           * Provides an opportunity to interact with the Filter widget before defining the filter scopes
           *
           * Example usage:
           *
           *     Event::listen('backend.filter.extendScopesBefore', function((\Backend\Widgets\Filter) $filterWidget) {
           *         // Just in case you really had to do something before scopes are defined
           *     });
           *
           * Or
           *
           *     $listWidget->bindEvent('filter.extendScopesBefore', function () use ((\Backend\Widgets\Filter) $filterWidget) {
           *         // Just in case you really had to do something before scopes are defined
           *     });
           *
           */
          $this->fireSystemEvent('backend.filter.extendScopesBefore');
  
          /*
           * All scopes
           */
          if (!isset($this->scopes) || !is_array($this->scopes)) {
              $this->scopes = [];
          }
  
          $this->addScopes($this->scopes);
  
          /**
           * @event backend.filter.extendScopes
           * Provides an opportunity to interact with the Filter widget & its scopes after the filter scopes have been initialized
           *
           * Example usage:
           *
           *     Event::listen('backend.filter.extendScopes', function((\Backend\Widgets\Filter) $filterWidget) {
           *         $filterWidget->addScopes([
           *             'my_scope' => [
           *                 'label' => 'My Filter Scope'
           *             ]
           *         ]);
           *     });
           *
           * Or
           *
           *     $listWidget->bindEvent('filter.extendScopes', function () use ((\Backend\Widgets\Filter) $filterWidget) {
           *         $filterWidget->removeScope('my_scope');
           *     });
           *
           */
          $this->fireSystemEvent('backend.filter.extendScopes');
  
          $this->scopesDefined = true;
      }
code: protected function defineFilterScopes()
      {
          if ($this->scopesDefined) {
              return;
          }
  
          /**
           * @event backend.filter.extendScopesBefore
           * Provides an opportunity to interact with the Filter widget before defining the filter scopes
           *
           * Example usage:
           *
           *     Event::listen('backend.filter.extendScopesBefore', function((\Backend\Widgets\Filter) $filterWidget) {
           *         // Just in case you really had to do something before scopes are defined
           *     });
           *
           * Or
           *
           *     $listWidget->bindEvent('filter.extendScopesBefore', function () use ((\Backend\Widgets\Filter) $filterWidget) {
           *         // Just in case you really had to do something before scopes are defined
           *     });
           *
           */
          $this->fireSystemEvent('backend.filter.extendScopesBefore');
  
          /*
           * All scopes
           */
          if (!isset($this->scopes) || !is_array($this->scopes)) {
              $this->scopes = [];
          }
  
          $this->addScopes($this->scopes);
  
          /**
           * @event backend.filter.extendScopes
           * Provides an opportunity to interact with the Filter widget & its scopes after the filter scopes have been initialized
           *
           * Example usage:
           *
           *     Event::listen('backend.filter.extendScopes', function((\Backend\Widgets\Filter) $filterWidget) {
           *         $filterWidget->addScopes([
           *             'my_scope' => [
           *                 'label' => 'My Filter Scope'
           *             ]
           *         ]);
           *     });
           *
           * Or
           *
           *     $listWidget->bindEvent('filter.extendScopes', function () use ((\Backend\Widgets\Filter) $filterWidget) {
           *         $filterWidget->removeScope('my_scope');
           *     });
           *
           */
          $this->fireSystemEvent('backend.filter.extendScopes');
  
          $this->scopesDefined = true;
      }
code_tokens: protected function defineFilterScopes ( ) { if ( $ this -> scopesDefined ) { return ; } /**
           * @event backend.filter.extendScopesBefore
           * Provides an opportunity to interact with the Filter widget before defining the filter scopes
           *
           * Example usage:
           *
           *     Event::listen('backend.filter.extendScopesBefore', function((\Backend\Widgets\Filter) $filterWidget) {
           *         // Just in case you really had to do something before scopes are defined
           *     });
           *
           * Or
           *
           *     $listWidget->bindEvent('filter.extendScopesBefore', function () use ((\Backend\Widgets\Filter) $filterWidget) {
           *         // Just in case you really had to do something before scopes are defined
           *     });
           *
           */ $ this -> fireSystemEvent ( 'backend.filter.extendScopesBefore' ) ; /*
           * All scopes
           */ if ( ! isset ( $ this -> scopes ) || ! is_array ( $ this -> scopes ) ) { $ this -> scopes = [ ] ; } $ this -> addScopes ( $ this -> scopes ) ; /**
           * @event backend.filter.extendScopes
           * Provides an opportunity to interact with the Filter widget & its scopes after the filter scopes have been initialized
           *
           * Example usage:
           *
           *     Event::listen('backend.filter.extendScopes', function((\Backend\Widgets\Filter) $filterWidget) {
           *         $filterWidget->addScopes([
           *             'my_scope' => [
           *                 'label' => 'My Filter Scope'
           *             ]
           *         ]);
           *     });
           *
           * Or
           *
           *     $listWidget->bindEvent('filter.extendScopes', function () use ((\Backend\Widgets\Filter) $filterWidget) {
           *         $filterWidget->removeScope('my_scope');
           *     });
           *
           */ $ this -> fireSystemEvent ( 'backend.filter.extendScopes' ) ; $ this -> scopesDefined = true ; }
docstring: Creates a flat array of filter scopes from the configuration.
docstring_tokens: Creates a flat array of filter scopes from the configuration .