1: <?php
2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
15:
16: defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
17:
18: 19: 20: 21: 22: 23: 24:
25: class cContentTypeHtml extends cContentTypeAbstract {
26:
27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
37: public function __construct($rawSettings, $id, array $contentTypes) {
38:
39:
40: parent::__construct($rawSettings, $id, $contentTypes);
41: $this->_type = 'CMS_HTML';
42: $this->_prefix = 'html';
43: }
44:
45: 46: 47: 48: 49: 50: 51:
52: public function generateViewCode() {
53: return $this->_encodeForOutput($this->_rawSettings);
54: }
55:
56: 57: 58: 59: 60: 61:
62: public function generateEditCode() {
63: $wysiwygDiv = new cHTMLDiv();
64:
65:
66:
67: $id = str_replace('CMS_', '', $this->_type) . '_';
68: $db = cRegistry::getDb();
69: $sql = 'SELECT `idtype` FROM `' . $this->_cfg['tab']['type'] . '` WHERE `type`=\'' . $this->_type . '\'';
70: $db->query($sql);
71: $db->nextRecord();
72: $id .= $db->f('idtype') . '_' . $this->_id;
73: $wysiwygDiv->setId($id);
74: $wysiwygDiv->setClass(htmlentities($this->_type));
75:
76: $wysiwygDiv->setEvent('Focus', "this.style.border='1px solid #bb5577';");
77: $wysiwygDiv->setEvent('Blur', "this.style.border='1px dashed #bfbfbf';");
78: $wysiwygDiv->appendStyleDefinitions(array(
79: 'border' => '1px dashed #bfbfbf',
80: 'direction' => langGetTextDirection($this->_lang),
81: 'min-height' => '20px'
82: ));
83: $wysiwygDiv->updateAttribute('contentEditable', 'true');
84: if (strlen($this->_rawSettings) == 0) {
85: $wysiwygDiv->setContent(' ');
86: } else {
87: $wysiwygDiv->setContent($this->_rawSettings);
88: }
89:
90:
91:
92: $editLink = $this->_session->url($this->_cfg['path']['contenido_fullhtml'] . 'external/backendedit/' . 'front_content.php?action=10&idcat=' . $this->_idCat . '&idart=' . $this->_idArt . '&idartlang=' . $this->_idArtLang . '&type=' . $this->_type . '&typenr=' . $this->_id. '&client=' . $this->_client);
93: $editAnchor = new cHTMLLink("javascript:Con.Tiny.setContent('" . $this->_idArtLang . "','" . $editLink . "');");
94: $editButton = new cHTMLImage($this->_cfg['path']['contenido_fullhtml'] . $this->_cfg['path']['images'] . 'but_edithtml.gif');
95: $editButton->appendStyleDefinition('margin-right', '2px');
96: $editButton->setClass('content_type_zindex');
97: $editAnchor->setContent($editButton);
98:
99:
100: $saveAnchor = new cHTMLLink();
101: $saveAnchor->setLink("javascript:Con.Tiny.setContent('" . $this->_idArtLang . "', '0');");
102: $saveButton = new cHTMLImage($this->_cfg['path']['contenido_fullhtml'] . $this->_cfg['path']['images'] . 'but_ok.gif');
103: $saveAnchor->setContent($saveButton);
104:
105: return $this->_encodeForOutput($wysiwygDiv->render() . $editAnchor->render() . $saveAnchor->render());
106: }
107:
108: 109: 110: 111:
112: public function isWysiwygCompatible() {
113: return true;
114: }
115:
116: }