original_string: function launch($action) {
  
          global $CFG;
  
          // Get the action path and invoke it
          $actionsroot = "$CFG->dirroot/$CFG->admin/tool/xmldb/actions";
          $actionclass = $action . '.class.php';
          $actionpath = "$actionsroot/$action/$actionclass";
  
          // Load and invoke the proper action
          $result = false;
          if (file_exists($actionpath) && is_readable($actionpath)) {
              require_once($actionpath);
              if ($xmldb_action = new $action) {
                  $result = $xmldb_action->invoke();
                  if ($result) {
                      if ($xmldb_action->does_generate != ACTION_NONE &&
                          $xmldb_action->getOutput()) {
                          $this->does_generate = $xmldb_action->does_generate;
                          $this->title = $xmldb_action->title;
                          $this->str = $xmldb_action->str;
                          $this->output .= $xmldb_action->getOutput();
                      }
                  } else {
                      $this->errormsg = $xmldb_action->getError();
                  }
              } else {
                  $this->errormsg = "Error: cannot instantiate class (actions/$action/$actionclass)";
              }
          } else {
              $this->errormsg = "Error: wrong action specified ($action)";
          }
          return $result;
      }
code: function launch($action) {
  
          global $CFG;
  
          // Get the action path and invoke it
          $actionsroot = "$CFG->dirroot/$CFG->admin/tool/xmldb/actions";
          $actionclass = $action . '.class.php';
          $actionpath = "$actionsroot/$action/$actionclass";
  
          // Load and invoke the proper action
          $result = false;
          if (file_exists($actionpath) && is_readable($actionpath)) {
              require_once($actionpath);
              if ($xmldb_action = new $action) {
                  $result = $xmldb_action->invoke();
                  if ($result) {
                      if ($xmldb_action->does_generate != ACTION_NONE &&
                          $xmldb_action->getOutput()) {
                          $this->does_generate = $xmldb_action->does_generate;
                          $this->title = $xmldb_action->title;
                          $this->str = $xmldb_action->str;
                          $this->output .= $xmldb_action->getOutput();
                      }
                  } else {
                      $this->errormsg = $xmldb_action->getError();
                  }
              } else {
                  $this->errormsg = "Error: cannot instantiate class (actions/$action/$actionclass)";
              }
          } else {
              $this->errormsg = "Error: wrong action specified ($action)";
          }
          return $result;
      }
code_tokens: function launch ( $ action ) { global $ CFG ; // Get the action path and invoke it $ actionsroot = "$CFG->dirroot/$CFG->admin/tool/xmldb/actions" ; $ actionclass = $ action . '.class.php' ; $ actionpath = "$actionsroot/$action/$actionclass" ; // Load and invoke the proper action $ result = false ; if ( file_exists ( $ actionpath ) && is_readable ( $ actionpath ) ) { require_once ( $ actionpath ) ; if ( $ xmldb_action = new $ action ) { $ result = $ xmldb_action -> invoke ( ) ; if ( $ result ) { if ( $ xmldb_action -> does_generate != ACTION_NONE && $ xmldb_action -> getOutput ( ) ) { $ this -> does_generate = $ xmldb_action -> does_generate ; $ this -> title = $ xmldb_action -> title ; $ this -> str = $ xmldb_action -> str ; $ this -> output .= $ xmldb_action -> getOutput ( ) ; } } else { $ this -> errormsg = $ xmldb_action -> getError ( ) ; } } else { $ this -> errormsg = "Error: cannot instantiate class (actions/$action/$actionclass)" ; } } else { $ this -> errormsg = "Error: wrong action specified ($action)" ; } return $ result ; }
docstring: launch method, used to easily call invoke methods between actions
  @param string $action
  @return mixed
docstring_tokens: launch method used to easily call invoke methods between actions