Eindeutige class für Edit-Buttons unter Editor

Ideen für neue Funktionen in CONTENIDO?
Gesperrt
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Eindeutige class für Edit-Buttons unter Editor

Beitrag von OliverL » Mo 23. Mär 2009, 00:55

Habe schon häufiger das Problem das ich die Editor-Buttons verschieben muste und habe dafür immer die ID (m12, m14 usw) verwendet.
Das so für mich kein Problem darstellt, jedoch wenn ich dann ein Feld mehr oder weniger in einem Template habe verschieben sich die IDs im +2 oder +4.

Wie währe es wenn man in die Buttons einen Css-Classe ergänzt die die Namensgebung so hätte:
class="htmlhead_ID_COUND"

ID = ID von HTMLHEAD[ID]
COUNT = sollte verwendet werden, wenn mehr als ein Button vorhanden ist (HTML, HTMLHead)

Als class und nicht als id weil die Verwendung von 2x HTML[9] (usw) nicht ausgeschlossen ist und eine ID immer eindeutig auf ein Objekt zeigen sollte.

Ich kann/werde das auch so machen jedoch hat ja vielleich noch einer ne nette Idee.

mfg OliverL

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von OliverL » Di 31. Mär 2009, 14:08

Hab da mal was an den CMS-Typen gemacht.
Sotte niemand in den kommenden Tage einen Einwand Poste ergänze ich den Code.


Update-Inhalt:
1. Fixing: IMG_DESC & LINK_DESC & CMS_SWF & CMS_IMGEDIT & CMS_EASYIMGEDIT
now using Class cHTMLink & cHTMLImage to render Edit-Buttons and the Buttons using javascript:setcontent() for saving content befor editing
2. Cleaning: delete redundant code in CMS_SWF
3. All Edit-Buttons using the HTML-Class ( -> CMS_TYP_NAME + '_' + ID + '_' + BUTTON_INDEX )

Erst ein Backup von der Tabelle "con_type" erstellen!
MySQL-Query: (prefix = 'con')

Code: Alles auswählen

DELETE FROM con_type WHERE idtype < 10000;
INSERT INTO `con_type` (`idtype`, `type`, `code`, `description`, `status`, `author`, `created`, `lastmodified`) VALUES
(1, 'CMS_HTMLHEAD', '/**\r\n * CMS_HTMLHEAD\r\n */ \r\n$tmp = $a_content[''CMS_HTMLHEAD''][$val];\r\n$tmp = urldecode($tmp); \r\n\r\n$tmp = AddSlashes(AddSlashes($tmp)); \r\n$tmp = str_replace("\\\\\\''","''",$tmp); \r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\ncInclude("includes", "functions.lang.php"); \r\ncInclude("classes", "class.htmlelements.php"); \r\n\r\nif ($edit) {\r\n    if ($tmp == "") { \r\n        $tmp = "&nbsp;"; \r\n    } \r\n    $insiteEditingDIV = new cHTMLDiv; \r\n    $insiteEditingDIV->setId("HTMLHEAD_".$db->f("idtype")."_".$val);\r\n    $insiteEditingDIV->setEvent("Focus", "this.style.border=''1px solid #bb5577'';"); \r\n    $insiteEditingDIV->setEvent("Blur", "this.style.border=''1px dashed #bfbfbf'';"); \r\n    $insiteEditingDIV->setStyleDefinition("border", "1px dashed #bfbfbf"); \r\n    $insiteEditingDIV->setStyleDefinition("direction", langGetTextDirection($lang)); \r\n    \r\n    $insiteEditingDIV->updateAttributes(array("contentEditable" => "true")); \r\n    \r\n    $insiteEditingDIV->setContent("_REPLACEMENT_"); \r\n    \r\n\r\n    /* Edit anchor and image */ \r\n    $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTMLHEAD&typenr=$val");\r\n    $editAnchor = new cHTMLLink; \r\n   $editAnchor->setClass(''CMS_HTMLHEAD_''.$val.''_1'');\r\n    $editAnchor->setLink("javascript:setcontent(''$idartlang'',''" . $editLink . "'');"); \r\n    \r\n    $editButton = new cHTMLImage; \r\n    $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithead.gif");\r\n    $editButton->setBorder(0); \r\n    $editButton->setStyleDefinition("margin-right", "2px"); \r\n        \r\n    $editAnchor->setContent($editButton); \r\n    \r\n    \r\n    /* Save anchor and image */ \r\n    $saveAnchor = new cHTMLLink; \r\n    $saveAnchor->setClass(''CMS_HTMLHEAD_''.$val.''_2'');\r\n    $saveAnchor->setLink("javascript:setcontent(''$idartlang'',''0'')"); \r\n    \r\n    $saveButton = new cHTMLImage; \r\n    $saveButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif"); \r\n    $saveButton->setBorder(0); \r\n    \r\n    $saveAnchor->setContent($saveButton); \r\n\r\n    /* Process for output with echo */ \r\n    $finalEditButton = $editAnchor->render(); \r\n    $finalEditButton = AddSlashes(AddSlashes($finalEditButton)); \r\n    $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton); \r\n    \r\n    $finalEditingDiv = $insiteEditingDIV->render(); \r\n    $finalEditingDiv = AddSlashes(AddSlashes($finalEditingDiv)); \r\n    $finalEditingDiv = str_replace("\\\\\\''","''",$finalEditingDiv); \r\n    \r\n    $finalEditingDiv = str_replace("_REPLACEMENT_", $tmp, $finalEditingDiv); \r\n    \r\n    $finalSaveButton = $saveAnchor->render(); \r\n    $finalSaveButton = AddSlashes(AddSlashes($finalSaveButton)); \r\n    $finalSaveButton = str_replace("\\\\\\''","''",$finalSaveButton); \r\n    \r\n    $tmp =  $finalEditingDiv . $finalEditButton . $finalSaveButton;\r\n}', 'Headline / HTML', 0, '', '0000-00-00 00:00:00', '2009-03-31 13:57:23'),
(2, 'CMS_HTML', '/** \r\n * CMS_HTML \r\n */ \r\n$tmp = $a_content[''CMS_HTML''][$val]; \r\n$tmp = urldecode($tmp); \r\n\r\n$tmp = AddSlashes(AddSlashes($tmp)); \r\n$tmp = str_replace("\\\\\\''","''",$tmp); \r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\ncInclude("includes", "functions.lang.php"); \r\ncInclude("classes", "class.htmlelements.php"); \r\n\r\nif ($edit) { \r\n    if ($tmp == "") { \r\n        $tmp = "&nbsp;"; \r\n    } \r\n    $insiteEditingDIV = new cHTMLDiv; \r\n    $insiteEditingDIV->setId("HTML_".$db->f("idtype")."_".$val); \r\n    $insiteEditingDIV->setEvent("Focus", "this.style.border=''1px solid #bb5577'';"); \r\n    $insiteEditingDIV->setEvent("Blur", "this.style.border=''1px dashed #bfbfbf'';"); \r\n    $insiteEditingDIV->setStyleDefinition("border", "1px dashed #bfbfbf"); \r\n    $insiteEditingDIV->setStyleDefinition("direction", langGetTextDirection($lang)); \r\n    \r\n    $insiteEditingDIV->updateAttributes(array("contentEditable" => "true")); \r\n    \r\n    $insiteEditingDIV->setContent("_REPLACEMENT_"); \r\n    \r\n\r\n    /* Edit anchor and image */ \r\n    $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTML&typenr=$val"); \r\n    $editAnchor = new cHTMLLink; \r\n	$editAnchor->setClass(''CMS_HTML_''.$val.''_1'');\r\n    $editAnchor->setLink("javascript:setcontent(''$idartlang'',''" . $editLink . "'');"); \r\n    \r\n    $editButton = new cHTMLImage; \r\n    $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithtml.gif"); \r\n    $editButton->setBorder(0); \r\n    $editButton->setStyleDefinition("margin-right", "2px"); \r\n        \r\n    $editAnchor->setContent($editButton); \r\n    \r\n    \r\n    /* Save anchor and image */ \r\n    $saveAnchor = new cHTMLLink; \r\n	$saveAnchor->setClass(''CMS_HTML_''.$val.''_2'');\r\n    $saveAnchor->setLink("javascript:setcontent(''$idartlang'',''0'')"); \r\n    \r\n    $saveButton = new cHTMLImage; \r\n    $saveButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif"); \r\n    $saveButton->setBorder(0); \r\n    \r\n    $saveAnchor->setContent($saveButton); \r\n\r\n    /* Process for output with echo */ \r\n    $finalEditButton = $editAnchor->render(); \r\n    $finalEditButton = AddSlashes(AddSlashes($finalEditButton)); \r\n    $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton); \r\n    \r\n    $finalEditingDiv = $insiteEditingDIV->render(); \r\n    $finalEditingDiv = AddSlashes(AddSlashes($finalEditingDiv)); \r\n    $finalEditingDiv = str_replace("\\\\\\''","''",$finalEditingDiv); \r\n    \r\n    $finalEditingDiv = str_replace("_REPLACEMENT_", $tmp, $finalEditingDiv); \r\n    \r\n    $finalSaveButton = $saveAnchor->render(); \r\n    $finalSaveButton = AddSlashes(AddSlashes($finalSaveButton)); \r\n    $finalSaveButton = str_replace("\\\\\\''","''",$finalSaveButton); \r\n    \r\n    $tmp =  $finalEditingDiv . $finalEditButton . $finalSaveButton;\r\n}', 'Text / HTML', 0, '', '2002-05-13 19:04:13', '2009-03-31 14:26:41'),
(3, 'CMS_TEXT', '/**\r\n * CMS_TEXT\r\n */\r\ncInclude("classes", "class.htmlelements.php");\r\ncInclude("includes", "functions.lang.php");\r\n\r\n$tmp = $a_content["CMS_TEXT"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = nl2br($tmp);\r\n$tmp = str_replace("''", "\\''", $tmp);\r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp);\r\n\r\n$tmp = str_replace("<br />","<br>", $tmp);\r\nif ($edit) {\r\n\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_TEXT&typenr=$val&lang=$lang");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_TEXT_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edittext.gif");\r\n   $editButton->setBorder(0);\r\n   $editButton->setStyleDefinition("margin-right", "2px");\r\n       \r\n   $editAnchor->setContent($editButton);\r\n   \r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', 'Text / Standard', 0, '', '2002-05-13 19:04:13', '2009-03-31 13:59:38'),
(4, 'CMS_IMG', '/**\r\n * CMS_IMG\r\n */\r\n \r\n$tmp = $a_content["CMS_IMG"][$val];\r\n$tmp = urldecode($tmp);\r\nif($tmp==""||$tmp=="0"){\r\n$tmp="";\r\n\r\n}else{\r\n\r\nif (is_numeric($tmp))\r\n{\r\n$sql = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient=''".$client."'' AND idupl=''".$tmp."''";\r\n\r\n$db2 = new DB_Contenido;\r\n$db2->query($sql);\r\n\r\nif ( $db2->next_record() ) {\r\n\r\n        $tmp = $cfgClient[$client]["path"]["htmlpath"].$cfgClient[$client]["upload"].$db2->f("dirname").$db2->f("filename");\r\n    }\r\n}\r\n\r\n    $tmp = htmlspecialchars($tmp);\r\n$tmp = urldecode($tmp);\r\n    $tmp = str_replace("''", "\\''", $tmp);\r\n}', 'Image', 0, '', '2002-05-13 19:04:21', '2002-05-13 19:04:21'),
(5, 'CMS_IMGDESCR', '/**\r\n * CMS_IMGDESCR\r\n */\r\n$tmp = $a_content["CMS_IMGDESCR"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlentities($tmp,ENT_QUOTES);\r\n\r\n\r\nif ($edit) {\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_IMG&typenr=$val&lang=$lang");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_IMGDESCR_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editimage.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', 'Description', 0, '', '2002-05-13 19:04:28', '2009-03-31 14:01:20'),
(6, 'CMS_LINK', '/**\r\n* CMS_LINK\r\n*/\r\n\r\n$tmp = urldecode($a_content["CMS_LINK"][$val]);\r\n\r\n/* internal link */\r\nif ( is_numeric($tmp) ) {\r\n   $tmp = "front_content.php?idcatart=". $tmp."&client=".$client."&lang=".$lang;\r\n   if ($edit) $tmp = $sess->url("$tmp");\r\n\r\n} else {\r\n\r\n   if (!preg_match(''/^(http|https|ftp|telnet|gopher):\\/\\/((?:[a-zA-Z0-9_-]+\\.?)+):?(\\d*)/'', $tmp)) {\r\n      // it''s a relative link, or an absolute link with unsupported protocol\r\n      if (substr($tmp,0,4) == "www." || $tmp == "") { // only check if it could be a domainname\r\n         $tmp = "http://".$tmp;\r\n      }\r\n   }\r\n\r\n}', 'Link', 0, '', '2002-05-13 19:04:36', '2002-05-13 19:04:36'),
(7, 'CMS_LINKTARGET', '/**\r\n * CMS_LINKTARGET\r\n */\r\n$tmp = $a_content["CMS_LINKTARGET"][$val];\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = str_replace("''", "\\''", $tmp);\r\n$tmp = urldecode($tmp);', 'Frame', 0, '', '2002-05-13 19:04:43', '2002-05-13 19:04:43'),
(8, 'CMS_LINKDESCR', '/**\r\n * CMS_LINKDESCR\r\n */\r\n$tmp = $a_content["CMS_LINKDESCR"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = str_replace("''", "\\''", $tmp);\r\nif ($edit) {\r\n\r\n\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_LINK&typenr=$val");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_LINKDESCR_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editlink.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', 'Description', 0, '', '2002-05-13 19:05:00', '2009-03-31 14:02:28'),
(9, 'CMS_HEAD', '/**\r\n * CMS_HEAD\r\n */\r\n$tmp = $a_content["CMS_HEAD"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = str_replace("''", "\\''", $tmp);\r\n$tmp = str_replace("\\$",''\\\\\\$'',$tmp); \r\n\r\nif ($edit) {\r\n\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HEAD&typenr=$val&lang=$lang");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_HEAD_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edithead.gif");\r\n   $editButton->setBorder(0);\r\n   $editButton->setStyleDefinition("margin-right", "2px");\r\n       \r\n   $editAnchor->setContent($editButton);\r\n   \r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', 'Headline / Standard', 0, '', '2002-05-13 19:02:34', '2009-03-31 14:05:20'),
(10, 'CMS_SWF', '/**\r\n * CMS_SWF\r\n */\r\n\r\nif ( !is_object($db2) ) $db2 = new DB_Contenido;\r\n\r\n$tmp_id = $a_content[''CMS_SWF''][$val];\r\n\r\n$sql = "SELECT * FROM ".$cfg["tab"]["upl"]." WHERE idclient=''".$client."'' AND idupl=''".$tmp_id."'' AND filetype = ''swf''";\r\n\r\n$db2->query($sql);\r\n\r\nif ( $db2->next_record() ) {\r\n\r\n	$tmp_swf = $cfgClient[$client]["upload"] . $db2->f("dirname") . $db2->f("filename");\r\n	\r\n	$aImgSize = @getimagesize($tmp_swf);\r\n\r\n	$width  = $aImgSize[0];\r\n	$height = $aImgSize[1];\r\n\r\n	$tmp = ''<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"\r\n				   codebase="http://download.macromedia.com\r\n				   /pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"\r\n				   width="''.$width.''" height="''.$height.''" id="movie" align="">\r\n				   <param name="movie" value="''.$tmp_swf.''">\r\n				   <embed src="''.$tmp_swf.''" quality="high" width="''.$width.''"\r\n					  height="''.$height.''" name="movie" align="" type="application/x-shockwave-flash"\r\n					  plug inspage="http://www.macromedia.com/go/getflashplayer">\r\n				</object>'';\r\n} else {\r\n	$tmp = '''';\r\n}\r\n\r\n\r\nif( $edit ) {\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_SWF&typenr=$val");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_SWF_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editswf.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   \r\n   $tmp = ''<table cellspacing="0" cellpadding="0" border="0"><tr><td>''.$tmp.''</td></tr><tr><td>''.$finalEditButton.''</td></tr></table>'';\r\n}\r\n\r\n$tmp = addslashes( addslashes($tmp) ); \r\n$tmp = str_replace( "\\\\\\''", "''", $tmp ); ', 'Flash Movie', 0, '', '0000-00-00 00:00:00', '2009-03-31 14:15:40'),
(11, 'CMS_LINKTITLE', '/**\r\n * CMS_LINKTITLE\r\n */\r\n$tmp = $a_content["CMS_LINKDESCR"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = addslashes($tmp);\r\n\r\n', 'Title of a Link', 0, '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(12, 'CMS_LINKEDIT', '/**\r\n * CMS_LINKEDIT\r\n */\r\n$tmp = "";\r\n\r\nif ($edit) {\r\n	\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_LINK&typenr=$val");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_LINKEDIT_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editlink.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $finalEditButton;\r\n	\r\n}', 'Link edit button', 0, '', '0000-00-00 00:00:00', '2009-03-31 14:18:04'),
(13, 'CMS_RAWLINK', '/**\r\n* CMS_RAWLINK\r\n*/\r\nglobal $cfgClient;\r\nglobal $client;\r\n\r\n$tmp = urldecode($a_content["CMS_LINK"][$val]);\r\n\r\n/* internal link */\r\nif ( is_numeric($tmp) ) {\r\n   $tmp = "front_content.php?idcatart=". $tmp."&client=".$client."&lang=".$lang;\r\n   if ($edit) $tmp = $sess->url("$tmp");\r\n\r\n}', 'Raw Link without transformation', 0, '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(14, 'CMS_IMGEDIT', '/**\r\n * CMS_IMGEDIT\r\n */\r\n$tmp = '''';\r\n\r\nif ($edit) {\r\n	\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_IMG&typenr=$val&lang=$lang");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_IMGEDIT_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editimage.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', 'Edit button for an image', 0, '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(15, 'CMS_IMGTITLE', '/**\r\n * CMS_IMGTITLE\r\n */\r\n$tmp = $a_content["CMS_IMGDESCR"][$val];\r\n$tmp = urldecode($tmp);\r\n$tmp = htmlspecialchars($tmp);\r\n$tmp = addslashes($tmp);', 'Title of an image', 0, '', '0000-00-00 00:00:00', '0000-00-00 00:00:00'),
(16, 'CMS_SIMPLELINKEDIT', '/**\r\n * CMS_LINKEDIT\r\n */\r\n$tmp = "";\r\nif ($edit) {\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_SIMPLELINK&typenr=$val");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_SIMPLELINKEDIT_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editlink.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', '', 0, '', '0000-00-00 00:00:00', '2009-03-31 14:21:06'),
(17, 'CMS_HTMLTEXT', '/**\r\n * CMS_HTMLTEXT\r\n */\r\ncInclude("classes", "class.htmlelements.php");\r\ncInclude("includes", "functions.lang.php");\r\n\r\n$content = $a_content[''CMS_HTMLTEXT''][$val];\r\n$content = urldecode($content);\r\n$content = htmldecode($content);\r\n$content = strip_tags($content);\r\n\r\n$content = str_replace("&nbsp;", " ", $content);\r\n\r\n$content = htmlspecialchars($content);\r\nif ($content == "")\r\n{\r\n  $content = "&nbsp;";\r\n}\r\n\r\n$content = nl2br($content);\r\n\r\nif ($edit) {\r\n\r\n	$div = new cHTMLDiv;\r\n	$div->setID("HTMLTEXT_".$db->f("idtype")."_".$val);\r\n	$div->setEvent("focus", "this.style.border=''1px solid #bb5577''");\r\n	$div->setEvent("blur", "this.style.border=''1px dashed #bfbfbf''");\r\n	$div->setStyleDefinition("border", "1px dashed #bfbfbf");\r\n	$div->updateAttributes(array("contentEditable" => "true"));\r\n	$div->setStyleDefinition("direction", langGetTextDirection($lang));\r\n	\r\n	$editlink = new cHTMLLink;\r\n	$editlink->setClass(''CMS_HTMLTEXT_''.$val.''_1'');\r\n	$editlink->setLink($sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_HTMLTEXT&typenr=$val&lang=$lang"));\r\n	\r\n	$editimg = new cHTMLImage;\r\n	$editimg->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_edittext.gif");\r\n	\r\n	$savelink = new cHTMLLink;\r\n	$savelink->setClass(''CMS_HTMLTEXT_''.$val.''_2'');\r\n	$savelink->setLink("javascript:setcontent(''$idartlang'',''0'')");\r\n	\r\n	$saveimg = new cHTMLImage;\r\n	$saveimg->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_ok.gif");\r\n	\r\n	$savelink->setContent($saveimg);\r\n	\r\n	$editlink->setContent($editimg);\r\n	\r\n	$div->setContent($content);\r\n\r\n  $tmp = implode("", array($div->render(), $editlink->render(), " ", $savelink->render()));\r\n  $tmp = str_replace(''"'', ''\\"'', $tmp);\r\n} else {\r\n  $tmp = $content;\r\n  $tmp = str_replace(''"'', ''\\"'', $tmp);\r\n}\r\n\r\n\r\n$tmp = addslashes($tmp);\r\n$tmp = str_replace(''$'', ''\\\\\\$'', $tmp);', 'Text / Standard', 0, '', '2002-05-13 19:04:13', '2009-03-31 14:25:42'),
(18, 'CMS_EASYIMGEDIT', '/**\r\n * CMS_EASYIMGEDIT\r\n */\r\n$tmp = "";\r\nif ($edit) {\r\n\r\n   /* Edit anchor and image */\r\n   $editLink = $sess->url("front_content.php?action=10&idcat=$idcat&idart=$idart&idartlang=$idartlang&type=CMS_EASYIMG&typenr=$val&lang=$lang");\r\n   $editAnchor = new cHTMLLink;\r\n   $editAnchor->setClass(''CMS_EASYIMGEDIT_''.$val.''_1'');\r\n   $editAnchor->setLink("javascript:setcontent(''$idartlang'',''".$editLink."'');");\r\n   //Save all content\r\n   \r\n   $editButton = new cHTMLImage;\r\n   $editButton->setSrc($cfg["path"]["contenido_fullhtml"].$cfg["path"]["images"]."but_editimage.gif");\r\n   $editButton->setBorder(0);\r\n       \r\n   $editAnchor->setContent($editButton);\r\n\r\n   /* Process for output with echo */\r\n   $finalEditButton = $editAnchor->render();\r\n   $finalEditButton = AddSlashes(AddSlashes($finalEditButton));\r\n   $finalEditButton = str_replace("\\\\\\''","''",$finalEditButton);\r\n\r\n   $tmp = $tmp.$finalEditButton;\r\n}', '', 0, '', '0000-00-00 00:00:00', '2009-03-31 14:28:07'),
(19, 'CMS_DATE', 'cInclude("classes", "class.cms_date.php");\r\n\r\n$tmp = $a_content["CMS_DATE"][$val];\r\n\r\n$oCmsDate = new Cms_Date($tmp, $val, $idartlang, $editLink, $cfg, $db, count($a_content["CMS_DATE"]), $belang);\r\n\r\nif($edit){\r\n\r\n$tmp = $oCmsDate->getAllWidgetEdit();\r\n\r\n}else{\r\n\r\n$tmp = $oCmsDate->getAllWidgetView();\r\n\r\n}', 'Date', 0, '', '0000-00-00 00:00:00', '0000-00-00 00:00:00');
Neue Erkenntnisse:
- Werde die Class anpassen

Code: Alles auswählen

class="CMS_TYP_NAME + '_' + ID + '_' + BUTTON_TYP 'CMS_LINK_' + BUTTON_TYP"
- - lese freundlicherer Name | BUTTON_TYP = SAVE || EDIT

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von Dodger77 » Di 31. Mär 2009, 14:49

Zusätzlich könnte man evtl. noch Klassen einbauen (z.B. con_link_edit, con_link_save) die evtl. noch ein Möglichkeit bieten könnten, alle Bearbeitungslinks auf einmal per CSS anzusprechen.

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von OliverL » Mi 1. Apr 2009, 12:02

d.h. so?
Beispiel für CMS_HTMLHEAD[1] / Tiny-Link:

Code: Alles auswählen

<a href="xy" class="CMS_LINK_EDIT CMS_HTMLHEAD_1_1">
Möglichkeiten für die erste Klasse:
  • CMS_LINK_EDIT / CMS_LINK_SAVE
  • CMS_HTMLHEAD_EDIT / CMS_HTMLHEAD_SAVE
CMS_HTMLHEAD_EDIT fände ich besser als CMS_LINK_EDIT. Zu viele/Beide fände ich übertrieben.
Die Entscheidung liegt aber bei dir :) Ich bestehe nur auf die letzte, weil sie absolut eindeutig ist.

mfg OliverL
(Ich beabsichtige das am WE final einzubinden)

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von Dodger77 » Mi 1. Apr 2009, 12:43

Mir ging es als Gegensatz zur Eindeutigkeit eben darum, Klassen zu definieren, die möglichst alle Editierlinks ansprechen können. Und eben nicht weiter aufzuteilen nach CMS-Typen. Aber in der Praxis habe ich das nun auch noch nicht getestet.

Es war die Idee, sowas zu verhindern:

Code: Alles auswählen

.CMS_HTMLHEAD_1_1,
.CMS_HTMLHEAD_1_2,
.CMS_HTMLHEAD_2_1,
.CMS_HTMLHEAD_2_2,
.CMS_HTML_1_1,
.CMS_HTML_1_2,
.CMS_HTML_2_1,
.CMS_HTML_2_2,
.CMS_HTML_3_1,
.CMS_HTML_3_2,
.CMS_HTML_4_1,
.CMS_HTML_4_2,
.CMS_HTML_5_1,
.CMS_HTML_5_2,
.CMS_HTML_6_1,
.CMS_HTML_6_2 {
  /* mach was tolles */
}
, wenn es evtl. auch so geht:

Code: Alles auswählen

.CMS_LINK_EDIT,
.CMS_LINK_SAVE {
  /* mach was tolles */
}

.CMS_HTML_1_1 {
  /* nur hier mal was ganz anderes */
}
Außerdem finde ich:
OliverL hat geschrieben:3. All Edit-Buttons using the HTML-Class ( -> CMS_TYP_NAME + '_' + ID + '_' + BUTTON_INDEX )
jetzt nicht so bezeichnend wie es sein könnte. Warum nicht

Code: Alles auswählen

CMS_TYP_NAME + '_' + ID + '_' + BUTTON_TYP
? Dabei könnte BUTTON_TYP eben "EDIT", "SAVE", ... sein. Das fände ich etwas einfacher für den Durchblick.

Dabei noch eine Kleinigkeit: wenn wir schon eine Eindeutigkeit für jeden einzelnen Editierlink haben wollen, wäre eine ID doch angebrachter, oder? Z.B. so:

Code: Alles auswählen

<a href="xy" id="CMS_HTMLHEAD_1_EDIT" class="CMS_LINK_EDIT">...</a>
Hm, so lang sollte der Post gar nicht werden. :wink:

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von OliverL » Mi 1. Apr 2009, 13:04

Sehr gut! Das ist das was ich wollte als einer Verbesserung etwas qualitativ hochwertiges machen. :lol:

Werde die Class so anpassen

Code: Alles auswählen

class="CMS_TYP_NAME + '_' + ID + '_' + BUTTON_TYP 'CMS_LINK_' + BUTTON_TYP"
Ist wie schon gesagt lese freundlicher.
BUTTON_TYP = SAVE || EDIT

bei CMS_DATE währe der Button für Kalender anzeigen == EDIT

Wenn ich mich nicht täusche ist die ID im Link schon mit der dynamischen "m123" (durch Class cHTML) vergeben und würde bei Update bei div. Leuten Probleme bereiten. Dazu kommt noch das eine ID eindeutig sein soll und es sicher Leute gibt die in einer Seite 2x CMS_TEXT[1] einsetzen. (Warum auch immer) Und das separieren kann man mit

Code: Alles auswählen

.leftside .CMS_TEXT_1_EDIT  {
  display: none;
}
.content .CMS_TEXT_1_EDIT  {
  /* mach was tolles */
}
Somit finde ich class sehr gut.

mfg OliverL

Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von Dodger77 » Mi 1. Apr 2009, 14:00

Stimmt, an die cHTML-ID hatte ich jetzt nicht gedacht. Auch der Mehrfacheinsatz (warum auch immer mal notwendig) spricht natürlich gegen die ID.

Könnte mich also mit dem aktuellen Stand anfreunden.

OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Re: Eindeutige class für Edit-Buttons unter Editor

Beitrag von OliverL » Di 14. Apr 2009, 20:34

So, ist drin!
für 4.8.12

bis auf CMS_DATE hat es bei allen Links funktioniert.
Bei Date miste ich die Class auf das IMG anwenden da dort ein onClick beim Bild ist.

mfg OliverL

Gesperrt