original_string: public function disable($module_id)
      {
          try {
              $result = $this->canDisable($module_id);
          } catch (Exception $ex) {
              $result = $ex->getMessage();
          }
  
          $this->hook->attach("module.disable.before|$module_id", $result, $this);
  
          if ($result !== true) {
              return $result;
          }
  
          if ($this->module->isInstalled($module_id)) {
              $this->module->update($module_id, array('status' => false));
          } else {
              $this->module->add(array('status' => false, 'module_id' => $module_id));
          }
  
          $this->setOverrideConfig();
  
          $this->hook->attach("module.disable.after|$module_id", $result, $this);
          return $result;
      }
code: public function disable($module_id)
      {
          try {
              $result = $this->canDisable($module_id);
          } catch (Exception $ex) {
              $result = $ex->getMessage();
          }
  
          $this->hook->attach("module.disable.before|$module_id", $result, $this);
  
          if ($result !== true) {
              return $result;
          }
  
          if ($this->module->isInstalled($module_id)) {
              $this->module->update($module_id, array('status' => false));
          } else {
              $this->module->add(array('status' => false, 'module_id' => $module_id));
          }
  
          $this->setOverrideConfig();
  
          $this->hook->attach("module.disable.after|$module_id", $result, $this);
          return $result;
      }
code_tokens: public function disable ( $ module_id ) { try { $ result = $ this -> canDisable ( $ module_id ) ; } catch ( Exception $ ex ) { $ result = $ ex -> getMessage ( ) ; } $ this -> hook -> attach ( "module.disable.before|$module_id" , $ result , $ this ) ; if ( $ result !== true ) { return $ result ; } if ( $ this -> module -> isInstalled ( $ module_id ) ) { $ this -> module -> update ( $ module_id , array ( 'status' => false ) ) ; } else { $ this -> module -> add ( array ( 'status' => false , 'module_id' => $ module_id ) ) ; } $ this -> setOverrideConfig ( ) ; $ this -> hook -> attach ( "module.disable.after|$module_id" , $ result , $ this ) ; return $ result ; }
docstring: Disables a module
  @param string $module_id
  @return boolean|string
docstring_tokens: Disables a module