/** * Get the page content for the specified visualization mode and language. * * @return string The content of the page. * @access public */ function getContent(&$language, $visualizationMode = false) { if (!$language instanceof CMS_language || !SensitiveIO::isInSet($visualizationMode, CMS_page::getAllVisualizationModes())) { $this->raiseError("Language must be a valid language and visualization mode in the set of possibles"); return false; } $this->_checkTemplate(); if ($this->_template) { //get parsed content definition from template (including CS block contents) $definition = $this->_template->getContent($language, $this, $visualizationMode); //instanciate modules treatments for page content tags $modulesTreatment = new CMS_modulesTags(MODULE_TREATMENT_PAGECONTENT_TAGS, $visualizationMode, $this); $modulesTreatment->setTreatmentParameters(array("language" => $language)); $modulesTreatment->setDefinition($definition); $content = $modulesTreatment->treatContent(true); //instanciate modules treatments for page header tags $modulesTreatment = new CMS_modulesTags(MODULE_TREATMENT_PAGEHEADER_TAGS, $visualizationMode, $this); $modulesTreatment->setTreatmentParameters(array("language" => $language, 'replaceVars' => true)); $modulesTreatment->setDefinition($content); $content = $modulesTreatment->treatContent(true); /*if ($visualizationMode == PAGE_VISUALMODE_HTML_PUBLIC_INDEXABLE) { //eval() the PHP code $content = sensitiveIO::evalPHPCode($content); return $content; }*/ //include modules header codes on top of output file $modulesCodes = new CMS_modulesCodes(); $headerInclude = $modulesCodes->getModulesCodes(MODULE_TREATMENT_PAGECONTENT_HEADER_CODE, $visualizationMode, $this); if (is_array($headerInclude) && $headerInclude) { $content = implode("\n", $headerInclude) . $content; } //include modules footers codes on bottom of output file $footerInclude = $modulesCodes->getModulesCodes(MODULE_TREATMENT_PAGECONTENT_FOOTER_CODE, $visualizationMode, $this); if (is_array($footerInclude) && $footerInclude) { $content .= implode("\n", $footerInclude); } //replace {{pageID}} tag in all page content. $content = str_replace('{{pageID}}', $this->getID(), $content); if ($visualizationMode != PAGE_VISUALMODE_HTML_PUBLIC && $visualizationMode != PAGE_VISUALMODE_PRINT) { //eval() the PHP code $content = sensitiveIO::evalPHPCode($content); } return $content; } else { return false; } }