original_string: public function remove($capability, $params = null)
      {
          $capability = Horde_String::upper($capability);
  
          if (is_null($params)) {
              unset($this->_data[$capability]);
          } elseif (isset($this->_data[$capability])) {
              if (!is_array($params)) {
                  $params = array($params);
              }
              $params = array_map('Horde_String::upper', $params);
  
              $this->_data[$capability] = is_array($this->_data[$capability])
                  ? array_diff($this->_data[$capability], $params)
                  : array();
  
              if (empty($this->_data[$capability])) {
                  unset($this->_data[$capability]);
              }
          }
  
          $this->notify();
      }
code: public function remove($capability, $params = null)
      {
          $capability = Horde_String::upper($capability);
  
          if (is_null($params)) {
              unset($this->_data[$capability]);
          } elseif (isset($this->_data[$capability])) {
              if (!is_array($params)) {
                  $params = array($params);
              }
              $params = array_map('Horde_String::upper', $params);
  
              $this->_data[$capability] = is_array($this->_data[$capability])
                  ? array_diff($this->_data[$capability], $params)
                  : array();
  
              if (empty($this->_data[$capability])) {
                  unset($this->_data[$capability]);
              }
          }
  
          $this->notify();
      }
code_tokens: public function remove ( $ capability , $ params = null ) { $ capability = Horde_String :: upper ( $ capability ) ; if ( is_null ( $ params ) ) { unset ( $ this -> _data [ $ capability ] ) ; } elseif ( isset ( $ this -> _data [ $ capability ] ) ) { if ( ! is_array ( $ params ) ) { $ params = array ( $ params ) ; } $ params = array_map ( 'Horde_String::upper' , $ params ) ; $ this -> _data [ $ capability ] = is_array ( $ this -> _data [ $ capability ] ) ? array_diff ( $ this -> _data [ $ capability ] , $ params ) : array ( ) ; if ( empty ( $ this -> _data [ $ capability ] ) ) { unset ( $ this -> _data [ $ capability ] ) ; } } $ this -> notify ( ) ; }
docstring: Remove a capability.
  
  @param string $capability  The capability to remove.
  @param string $params      A parameter (or array of parameters) to
  remove from the capability.
docstring_tokens: Remove a capability .