/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //build the HTML switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_HTML_EDITED: case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_PRINT: if ($data && $data["value"]) { $html = io::htmlspecialchars($data["value"]); $replace = array('{{data}}' => $html, '{{jsdata}}' => io::sanitizeJSString($html)); return str_replace(array_keys($replace), $replace, $this->_definition); } break; //case PAGE_VISUALMODE_CLIENTSPACES_FORM: //case PAGE_VISUALMODE_CLIENTSPACES_FORM: case PAGE_VISUALMODE_FORM: if ($data && $data["value"]) { $html = io::htmlspecialchars($data["value"]); } elseif (isset($this->_attributes['default'])) { $html = '<span class=\\"atm-ipsum\\">' . $this->_attributes['default'] . '</span>'; } else { $html = "<span class=\"atm-ipsum\">Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy.</span>"; } $replace = array('{{data}}' => $html, '{{jsdata}}' => io::sanitizeJSString($html)); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); $this->_hasContent = $data && $data["value"] ? true : false; $this->_editable = true; return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: if (isset($this->_attributes['default'])) { $html = '<span class=\\"atm-ipsum\\">' . $this->_attributes['default'] . '</span>'; } else { $html = "<span class=\"atm-ipsum\">Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy.</span>"; } $replace = array('{{data}}' => $html, '{{jsdata}}' => io::sanitizeJSString($html)); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); $this->_hasContent = false; $this->_editable = false; return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //build the HTML $html_attributes = ""; $s = ""; foreach ($this->_attributes as $name => $value) { if ($name != "module" && $name != "type" && $name != "maxWidth" && $name != "minWidth") { $html_attributes .= ' ' . $name . '="' . $value . '"'; } elseif ($name == "maxWidth") { $this->_maxWidth = $value; } elseif ($name == "minWidth") { $this->_minWidth = $value; } } $this->_hasContent = $data && $data["file"] ? true : false; switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: if ($this->_hasContent) { return $this->_replaceBlockVars($data, $html_attributes, RESOURCE_DATA_LOCATION_PUBLIC, true); } break; case PAGE_VISUALMODE_HTML_EDITED: if ($this->_hasContent) { return $this->_replaceBlockVars($data, $html_attributes, RESOURCE_DATA_LOCATION_PUBLIC, false); } break; case PAGE_VISUALMODE_HTML_EDITION: if ($this->_hasContent) { return $this->_replaceBlockVars($data, $html_attributes, RESOURCE_DATA_LOCATION_EDITION, false); } break; case PAGE_VISUALMODE_FORM: $this->_editable = true; if ($this->_hasContent) { $form_data = $this->_replaceBlockVars($data, $html_attributes, RESOURCE_DATA_LOCATION_EDITION, false); } else { $replace = array('{{data}}' => '<img src="' . PATH_MODULES_FILES_STANDARD_WR . '/image.gif" alt="X" ' . $html_attributes . ' />', '{{label}}' => io::htmlspecialchars($data["label"]), '{{jslabel}}' => io::htmlspecialchars($data["label"]), '{{linkLabel}}' => io::htmlspecialchars($data["label"]), '{{imageZoomHtml}}' => '<img src="' . PATH_MODULES_FILES_STANDARD_WR . '/image.gif" alt="X" ' . $html_attributes . ' />', '{{imagePath}}' => PATH_MODULES_FILES_STANDARD_WR, '{{imageName}}' => 'image.gif', '{{imageZoomHref}}' => '', '{{imageZoomName}}' => '', '{{imageWidth}}' => '80', '{{imageHeight}}' => '80', '{{imageZoomWidth}}' => '0', '{{imageZoomHeight}}' => '0'); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); } return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = false; $this->_editable = false; $replace = array('{{data}}' => '<img src="' . PATH_MODULES_FILES_STANDARD_WR . '/image.gif" alt="X" ' . $html_attributes . ' />', '{{label}}' => io::htmlspecialchars($data["label"]), '{{jslabel}}' => io::htmlspecialchars($data["label"]), '{{linkLabel}}' => io::htmlspecialchars($data["label"]), '{{imageZoomHtml}}' => '<img src="' . PATH_MODULES_FILES_STANDARD_WR . '/image.gif" alt="X" ' . $html_attributes . ' />', '{{imagePath}}' => PATH_MODULES_FILES_STANDARD_WR, '{{imageName}}' => 'image.gif', '{{imageZoomHref}}' => '', '{{imageZoomName}}' => '', '{{imageWidth}}' => '80', '{{imageHeight}}' => '80', '{{imageZoomWidth}}' => '0', '{{imageZoomHeight}}' => '0'); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //build the HTML switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: if (isset($data["value"]['formID']) && sensitiveIO::IsPositiveInteger($data["value"]['formID'])) { //call cms_forms clientspace content $cs = new CMS_moduleClientspace(array("module" => MOD_CMS_FORMS_CODENAME, "id" => "cms_forms", "type" => "formular", "formID" => $data["value"]['formID'])); $html = $cs->getClientspaceData(MOD_CMS_FORMS_CODENAME, new CMS_date(), $page, $visualizationMode); if ($visualizationMode != PAGE_VISUALMODE_PRINT) { //save in global var the page ID who need this module so we can add the header module code later. $GLOBALS[MOD_CMS_FORMS_CODENAME]["pageUseModule"][$this->_pageID][] = $data["value"]['formID']; } return str_replace("{{data}}", $html, $this->_definition); } break; case PAGE_VISUALMODE_HTML_EDITED: case PAGE_VISUALMODE_HTML_EDITION: if ($data && isset($data["value"]['formID']) && sensitiveIO::IsPositiveInteger($data["value"]['formID'])) { //call cms_forms clientspace content $cs = new CMS_moduleClientspace(array("module" => MOD_CMS_FORMS_CODENAME, "id" => "cms_forms", "type" => "formular", "formID" => $data["value"]['formID'])); //$html = $cs->getClientspaceData(MOD_CMS_FORMS_CODENAME, new CMS_date(), $page, $visualizationMode); $form = new CMS_forms_formular($data["value"]['formID']); $html = $form->getContent(CMS_forms_formular::REMOVE_FORM_SUBMIT); return str_replace("{{data}}", $html, $this->_definition); } break; case PAGE_VISUALMODE_FORM: if ($data && isset($data["value"]['formID']) && sensitiveIO::IsPositiveInteger($data["value"]['formID'])) { $form = new CMS_forms_formular($data["value"]['formID']); $html = $form->getContent(CMS_forms_formular::REMOVE_FORM_SUBMIT); } else { $html = '<img src="' . PATH_MODULES_FILES_WR . '/' . MOD_CMS_FORMS_CODENAME . '/demo.gif" alt="X" title="X" />'; } $form_data = str_replace("{{data}}", $html, $this->_definition); $this->_hasContent = $data && isset($data["value"]['formID']) ? true : false; $this->_editable = true; global $cms_user; $module = CMS_modulesCatalog::getByCodename(MOD_CMS_FORMS_CODENAME); $this->_administrable = $module->hasAdmin() && $cms_user->hasModuleClearance(MOD_CMS_FORMS_CODENAME, CLEARANCE_MODULE_EDIT); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = $this->_editable = $this->_administrable = false; $html = '<img src="' . PATH_MODULES_FILES_WR . '/' . MOD_CMS_FORMS_CODENAME . '/demo.gif" alt="X" title="X" />'; $form_data = str_replace("{{data}}", $html, $this->_definition); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //look for block parameters requirement $this->_lookForBlockParameters(); $this->_hasParameters = $data && is_array($data["value"]) && $data["value"] ? true : false; //build the HTML switch ($visualizationMode) { case PAGE_VISUALMODE_PRINT: case PAGE_VISUALMODE_HTML_PUBLIC: if ($this->_hasParameters && $this->_musthaveParameters || !$this->_musthaveParameters) { return $this->_createDatasFromDefinition($data["value"], $page, $visualizationMode, CMS_polymod_definition_parsing::OUTPUT_PHP); } break; case PAGE_VISUALMODE_HTML_EDITED: case PAGE_VISUALMODE_HTML_EDITION: if ($this->_hasParameters && $this->_musthaveParameters || !$this->_musthaveParameters) { return $this->_createDatasFromDefinition($data["value"], $page, $visualizationMode, CMS_polymod_definition_parsing::OUTPUT_PHP); } break; case PAGE_VISUALMODE_FORM: global $cms_user; $module = CMS_modulesCatalog::getByCodename($this->_attributes['module']); $this->_administrable = $module->hasAdmin() && $cms_user->hasModuleClearance($this->_attributes['module'], CLEARANCE_MODULE_EDIT); $this->_editable = $this->_canhasParameters && $cms_user->hasModuleClearance($this->_attributes['module'], CLEARANCE_MODULE_EDIT); if ($this->_hasParameters && $this->_musthaveParameters || !$this->_musthaveParameters) { $this->_hasContent = true; $form_data = $this->_createDatasFromDefinition($data["value"], $page, $visualizationMode, CMS_polymod_definition_parsing::OUTPUT_PHP); } else { $this->_hasContent = false; $form_data = '<img src="' . PATH_ADMIN_MODULES_WR . '/polymod/block.gif" alt="X" title="X" />'; } return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = $this->_editable = $this->_administrable = false; $form_data = '<img src="' . PATH_ADMIN_MODULES_WR . '/polymod/block.gif" alt="X" title="X" />'; return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } return; }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //build the HTML $html_attributes = ""; foreach ($this->_attributes as $name => $value) { if ($name != "module" && $name != "type") { $html_attributes .= ' ' . $name . '="' . $value . '"'; } } switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: if ($data && $data["file"]) { return $this->_replaceBlockVars($data, $html_attributes, RESOURCE_LOCATION_USERSPACE, true); } break; case PAGE_VISUALMODE_HTML_EDITED: if ($data && $data["file"]) { return $this->_replaceBlockVars($data, $html_attributes, RESOURCE_LOCATION_USERSPACE, false); } break; case PAGE_VISUALMODE_HTML_EDITION: if ($data && $data["file"]) { return $this->_replaceBlockVars($data, $html_attributes, RESOURCE_LOCATION_EDITION, false); } break; case PAGE_VISUALMODE_FORM: //case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = $data && $data["file"] ? true : false; $this->_editable = true; if ($data && $data["file"]) { $form_data = $this->_replaceBlockVars($data, $html_attributes, RESOURCE_LOCATION_EDITION, false); } else { $replace = array('{{data}}' => '<a href="#"' . $html_attributes . ' title="' . io::htmlspecialchars($language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL)) . '">' . $language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL) . '</a>', '{{href}}' => '#', '{{filename}}' => '#', '{{originalfilename}}' => '#', '{{label}}' => $language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL), '{{jslabel}}' => io::htmlspecialchars($language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL)), '{{size}}' => '0 M', '{{type}}' => 'none'); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); } return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = false; $this->_editable = false; $replace = array('{{data}}' => '<a href="#"' . $html_attributes . ' title="' . io::htmlspecialchars($language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL)) . '">' . $language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL) . '</a>', '{{href}}' => '#', '{{filename}}' => '#', '{{originalfilename}}' => '#', '{{label}}' => $language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL), '{{jslabel}}' => io::htmlspecialchars($language->getMessage(self::MESSAGE_BLOCK_FILE_LABEL)), '{{size}}' => '0 M', '{{type}}' => 'none'); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $location = RESOURCE_LOCATION_USERSPACE; $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $location = RESOURCE_LOCATION_USERSPACE; $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $location = RESOURCE_LOCATION_EDITION; $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //build the HTML $html_attributes = ""; if (isset($this->_attributes['class']) && $this->_attributes['class']) { $this->_attributes['class'] .= ' atm-link'; } else { $this->_attributes['class'] = 'atm-link'; } foreach ($this->_attributes as $name => $value) { if ($name != "module" && $name != "type") { $html_attributes .= ' ' . $name . '="' . $value . '"'; } } $link = new CMS_href($data["value"]); switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: if ($link->hasValidHREF()) { return $this->_replaceBlockVars($link, $html_attributes, RESOURCE_DATA_LOCATION_PUBLIC, true); } break; case PAGE_VISUALMODE_HTML_EDITED: if ($link->hasValidHREF()) { return $this->_replaceBlockVars($link, $html_attributes, RESOURCE_DATA_LOCATION_EDITED, false); } break; case PAGE_VISUALMODE_HTML_EDITION: if ($link->hasValidHREF()) { return $this->_replaceBlockVars($link, $html_attributes, RESOURCE_DATA_LOCATION_EDITION, false); } break; case PAGE_VISUALMODE_FORM: $this->_hasContent = $link->hasValidHREF(); $this->_editable = true; if ($link->hasValidHREF()) { $form_data = $this->_replaceBlockVars($link, $html_attributes, RESOURCE_DATA_LOCATION_EDITION, false); } else { if (isset($this->_attributes['default'])) { $html = $this->_attributes['default']; } else { $html = $language->getMessage(self::MESSAGE_BLOCK_LINK_LABEL); } $replace = array('{{data}}' => '<a href="#"' . $html_attributes . ' title="' . io::htmlspecialchars($language->getMessage(self::MESSAGE_BLOCK_LINK_LABEL)) . '">' . $html . '</a>', '{{href}}' => '#', '{{label}}' => $html, '{{jslabel}}' => io::htmlspecialchars($html), '{{target}}' => '', '{{type}}' => ''); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); } return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = false; $this->_editable = true; if (isset($this->_attributes['default'])) { $html = $this->_attributes['default']; } else { $html = $language->getMessage(self::MESSAGE_BLOCK_LINK_LABEL); } $replace = array('{{data}}' => '<a href="#"' . $html_attributes . ' title="' . io::htmlspecialchars($language->getMessage(self::MESSAGE_BLOCK_LINK_LABEL)) . '">' . $html . '</a>', '{{href}}' => '#', '{{label}}' => $html, '{{jslabel}}' => io::htmlspecialchars($html), '{{target}}' => '', '{{type}}' => ''); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //build the HTML $html_attributes = ""; foreach ($this->_attributes as $name => $value) { if ($name != "module" && $name != "type") { $html_attributes .= ' ' . $name . '="' . $value . '"'; } } $src = ''; $this->_hasContent = $data && $data["file"] ? true : false; switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: if ($this->_hasContent) { $language = CMS_languagesCatalog::getByCode($page->getLanguage(true)); $src = PATH_MODULES_FILES_STANDARD_WR . '/public/' . $data["file"]; } break; case PAGE_VISUALMODE_HTML_EDITED: if ($this->_hasContent) { $language = CMS_languagesCatalog::getByCode($page->getLanguage(false)); $src = PATH_MODULES_FILES_STANDARD_WR . '/edited/' . $data["file"]; } break; case PAGE_VISUALMODE_HTML_EDITION: if ($this->_hasContent) { $language = CMS_languagesCatalog::getByCode($page->getLanguage(false)); $src = PATH_MODULES_FILES_STANDARD_WR . '/edition/' . $data["file"]; } break; case PAGE_VISUALMODE_FORM: $this->_editable = true; if ($this->_hasContent) { $language = CMS_languagesCatalog::getByCode($page->getLanguage(false)); $src = PATH_MODULES_FILES_STANDARD_WR . '/edition/' . $data["file"]; } else { $html = '<img src="' . PATH_MODULES_FILES_STANDARD_WR . '/flash.gif" alt="X" title="X" />'; $form_data = str_replace("{{data}}", $html, $this->_definition); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); } break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: $this->_hasContent = false; $this->_editable = false; $html = '<img src="' . PATH_MODULES_FILES_STANDARD_WR . '/flash.gif" alt="X" title="X" />'; return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } if (!$src) { return ''; } $id = $data["name"] ? 'flash-' . sensitiveIO::sanitizeHTMLString($data["name"]) : 'flash-' . md5(mt_rand() . microtime()); $html = '<div>' . "\n" . ' <script type="text/javascript">' . "\n" . ' swfobject.embedSWF(\'' . $src . '\', \'' . $id . '\', \'' . $data['width'] . '\', \'' . $data['height'] . '\', \'' . $data['version'] . '\', "' . PATH_MAIN_WR . '/swfobject/expressInstall.swf", {' . sensitiveIO::sanitizeJSString($data['flashvars'], false, false) . '}, {' . sensitiveIO::sanitizeJSString($data['params'], false, false) . '}, {' . sensitiveIO::sanitizeJSString($data['attributes'], false, false) . '});' . "\n" . ' </script>' . "\n" . ' <div id="' . $id . '" class="atm-blockflash" style="width:' . $data["width"] . 'px;height:' . $data["height"] . 'px;">' . "\n" . ' <noscript>' . $language->getMessage(self::MESSAGE_PAGE_JAVASCRIPT_MANDATORY) . '</noscript>' . "\n" . ' <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>' . "\n" . ' </div>' . '</div>' . "\n"; $blockinfos = array('blockflash' => array()); $blockinfos['blockflash'] = true; CMS_module::moduleUsage($page->getID(), MOD_STANDARD_CODENAME, $blockinfos); if ($visualizationMode != PAGE_VISUALMODE_FORM) { return str_replace("{{data}}", $html, $this->_definition); } else { $form_data = str_replace("{{data}}", $html, $this->_definition); return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); } }
/** * Gets the data in HTML mode. * * @param CMS_language &$language The language of the administration frontend * @param CMS_page &$page The page which contains the client space * @param CMS_clientSpace &$clientSpace The client space which contains the row * @param CMS_row &$row The row which contains the block * @param integer $visualizationMode The visualization mode used * @return string the HTML data * @access public */ function getData(&$language, &$page, &$clientSpace, &$row, $visualizationMode) { parent::getData($language, $page, $clientSpace, $row, $visualizationMode); //get the data switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, true); break; case PAGE_VISUALMODE_HTML_EDITED: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_USERSPACE, false); break; case PAGE_VISUALMODE_HTML_EDITION: case PAGE_VISUALMODE_FORM: case PAGE_VISUALMODE_CLIENTSPACES_FORM: $data = $this->getRawData($page->getID(), $clientSpace->getTagID(), $row->getTagID(), RESOURCE_LOCATION_EDITION, false); break; } //We need to encode { and } to avoid vars detection in texts blocks $replace = array('{' => '{', '}' => '}'); //build the HTML switch ($visualizationMode) { case PAGE_VISUALMODE_HTML_PUBLIC: case PAGE_VISUALMODE_PRINT: case PAGE_VISUALMODE_HTML_EDITED: case PAGE_VISUALMODE_HTML_EDITION: if ($data && $data["value"]) { $html = str_replace(array_keys($replace), $replace, $data["value"]); $replace = array('{{data}}' => $html, '{{jsdata}}' => io::sanitizeJSString($html)); return str_replace(array_keys($replace), $replace, $this->_definition); } break; case PAGE_VISUALMODE_FORM: if ($data && $data["value"]) { $html = str_replace(array_keys($replace), $replace, $data["value"]); } elseif (isset($this->_attributes['default'])) { $html = '<span class=\\"atm-ipsum\\">' . $this->_attributes['default'] . '</span>'; } else { $html = "<span class=\"atm-ipsum\">Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla"; $html .= "facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit au gue duis"; $html .= "dolore te feugat nulla facilisi.</span>"; } //This is used to avoid replacing {vars:type:value} inside text but to keep those vars inside block definition //decoded into CMS_block_text::_getHTMLForm $replace = array('||bovd||{data||bcvd||}' => $html, '||bovd||{jsdata||bcvd||}' => io::sanitizeJSString($html)); $this->_definition = preg_replace('#{([a-zA-Z0-9._{}:-]*)}#U', '||bovd||\\1||bcvd||', $this->_definition); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); $this->_hasContent = $data && $data["value"] ? true : false; $this->_editable = true; return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; case PAGE_VISUALMODE_CLIENTSPACES_FORM: if (isset($this->_attributes['default'])) { $html = '<span class=\\"atm-ipsum\\">' . $this->_attributes['default'] . '</span>'; } else { $html = "<span class=\"atm-ipsum\">Duis autem dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla"; $html .= "facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit au gue duis"; $html .= "dolore te feugat nulla facilisi.</span>"; } $replace = array('{{data}}' => $html, '{{jsdata}}' => io::sanitizeJSString($html)); $form_data = str_replace(array_keys($replace), $replace, $this->_definition); $this->_hasContent = false; $this->_editable = false; return $this->_getHTMLForm($language, $page, $clientSpace, $row, $this->_tagID, $form_data); break; } }