. /** * @package tool_xmldb * @copyright (C) 2001-3001 Eloy Lafuente (stronk7) {@link http://contiento.com} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ /** * This class will produce the documentation for all the XMLDB files in the server, * via XSL, performing the output in HTML format. * * @package tool_xmldb * @copyright (C) 2001-3001 Eloy Lafuente (stronk7) {@link http://contiento.com} * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class generate_all_documentation extends XMLDBAction { /** * Init method, every subclass will have its own */ function init() { parent::init(); // Set own custom attributes $this->sesskey_protected = false; // This action doesn't need sesskey protection // Get needed strings $this->loadStrings(array( 'backtomainview' => 'tool_xmldb', 'documentationintro' => 'tool_xmldb', 'docindex' => 'tool_xmldb' )); } /** * Invoke method, every class will have its own * returns true/false on completion, setting both * errormsg and output as necessary */ function invoke() { parent::invoke(); $result = true; // Set own core attributes $this->does_generate = ACTION_GENERATE_HTML; // These are always here global $CFG, $XMLDB; // Do the job, setting $result as needed // Add link back to home $b = '
'; $this->output=$b; $c = ''; $c .= $this->str['documentationintro']; $c .= '
'; $this->output.=$c; $this->docs = ''; if(class_exists('XSLTProcessor')) { $doc = new DOMDocument(); $xsl = new XSLTProcessor(); $doc->load(dirname(__FILE__).'/../generate_documentation/xmldb.xsl'); $xsl->importStyleSheet($doc); $dbdirs = get_db_directories(); sort($dbdirs); $index = $this->str['docindex'] . ' '; foreach ($dbdirs as $path) { if (!file_exists($path . '/install.xml')) { continue; } $dir = trim(dirname(str_replace($CFG->dirroot, '', $path)), '/'); $index .= '' . $dir . ', '; $this->docs .= '