Example #1
0
 /**
  * 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;
     }
 }
Example #2
0
 /**
  * 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;
     }
 }
Example #3
0
 /**
  * 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;
     }
 }
Example #4
0
 /**
  * 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;
 }
Example #5
0
 /**
  * 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;
     }
 }
Example #6
0
 /**
  * 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;
     }
 }
Example #7
0
 /**
  * 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);
     }
 }
Example #8
0
 /**
  * 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('{' => '&#123;', '}' => '&#125;');
     //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;
     }
 }