original_string: private function get_export_discussion_html() : ?string {
          global $CFG;
  
          require_once($CFG->libdir . '/portfoliolib.php');
          $discussion = $this->discussion;
          $button = new \portfolio_add_button();
          $button->set_callback_options('forum_portfolio_caller', ['discussionid' => $discussion->get_id()], 'mod_forum');
          $button = $button->to_html(PORTFOLIO_ADD_FULL_FORM, get_string('exportdiscussion', 'mod_forum'));
          return $button ?: null;
      }
code: private function get_export_discussion_html() : ?string {
          global $CFG;
  
          require_once($CFG->libdir . '/portfoliolib.php');
          $discussion = $this->discussion;
          $button = new \portfolio_add_button();
          $button->set_callback_options('forum_portfolio_caller', ['discussionid' => $discussion->get_id()], 'mod_forum');
          $button = $button->to_html(PORTFOLIO_ADD_FULL_FORM, get_string('exportdiscussion', 'mod_forum'));
          return $button ?: null;
      }
code_tokens: private function get_export_discussion_html ( ) : ? string { global $ CFG ; require_once ( $ CFG -> libdir . '/portfoliolib.php' ) ; $ discussion = $ this -> discussion ; $ button = new \ portfolio_add_button ( ) ; $ button -> set_callback_options ( 'forum_portfolio_caller' , [ 'discussionid' => $ discussion -> get_id ( ) ] , 'mod_forum' ) ; $ button = $ button -> to_html ( PORTFOLIO_ADD_FULL_FORM , get_string ( 'exportdiscussion' , 'mod_forum' ) ) ; return $ button ? : null ; }
docstring: Get the HTML to render the export discussion button.
  
  @return string|null
docstring_tokens: Get the HTML to render the export discussion button .