X-Git-Url: https://git-public.kairo.at/?p=php-utility-classes.git;a=blobdiff_plain;f=classes%2Fdocument.php-class;h=d4d4e4782012baf86dd98b3ef6b3d6edbd82b97d;hp=f266fb073b022b3fdbcb3ae16edd5d4277fced4d;hb=b3cc0fef0bbd24b60622ade24b3e1e6781dd6834;hpb=69409ddbd7c3c478d5e2828757ece01301fecaef diff --git a/classes/document.php-class b/classes/document.php-class index f266fb0..d4d4e47 100755 --- a/classes/document.php-class +++ b/classes/document.php-class @@ -25,7 +25,7 @@ class ExtendedDocument extends DOMDocument { // with an ExtendedDocument::createXMLFragment() of the given XML data inside // returns the new child // - // public function appendLink($target, [$value]) + // public function appendLink($target, [$value], [$title]) // appends an ExtendedDocument::createElementLink() as a child of this document (see there for params) // returns the new child // @@ -101,6 +101,10 @@ class ExtendedDocument extends DOMDocument { // appends a DOMDocument::createTextNode() as a child of this document (see there for params) // returns the new child // + // public function appendLinebreak() + // appends a
as a child of this document + // returns the new child + // // public function appendEntity($name) // appends a DOMDocument::createEntityReference() as a child of this document (see there for params) // returns the new child @@ -125,11 +129,11 @@ class ExtendedDocument extends DOMDocument { // appends an ExtendedDocument::createElementJSFile() as a child of this document (see there for params) // returns the new child // - // public function createElementLink($target, [$value]) - // returns an ExtendedElement that is an HTML with the given target (href) and (optional) value + // public function createElementLink($target, [$value], [$title]) + // returns an ExtendedElement that is an HTML with the given target (href) and (optional) value as well as (optional) title attribute // // public function createElementImage($src, [$alt_text]) - // returns an ExtendedElement that is an HTML with the given (src) and alt attributes (set to '' by default) + // returns an ExtendedElement that is an HTML with the given src and alt attributes (set to '' by default) // // public function createElementForm($action, $method, $name) // returns an ExtendedElement that is an HTML
that is a child of an HTML
@@ -226,8 +230,8 @@ class ExtendedDocument extends DOMDocument { //$aelem->appendChild($this->createXMLFragment($xmldata)); return $aelem; } - public function appendLink($target, $value = '') { - return $this->appendChild($this->createElementLink($target, $value)); + public function appendLink($target, $value = '', $title = null) { + return $this->appendChild($this->createElementLink($target, $value, $title)); } public function appendImage($src, $alt_text = '') { return $this->appendChild($this->createElementImage($src, $alt_text)); @@ -284,6 +288,9 @@ class ExtendedDocument extends DOMDocument { public function appendText($text) { return $this->appendChild($this->createTextNode($text)); } + public function appendLinebreak() { + return $this->appendChild($this->createElement('br')); + } public function appendEntity($name) { return $this->appendChild($this->createEntityReference($name)); } @@ -323,13 +330,14 @@ class ExtendedDocument extends DOMDocument { public function createElement($name, $value = '') { // Adding the $value in DOMDocument's createElement does NOT escape it, so override it and use appendText to support that. $aelem = parent::createElement($name); - $aelem->appendText($value); + if (strlen($value)) { $aelem->appendText($value); } return $aelem; } - public function createElementLink($target, $value = '') { + public function createElementLink($target, $value = '', $title = null) { $link = $this->createElement('a', $value); $link->setAttribute('href', $target); // XXX: take care of & etc. in links + if (!is_null($title)) { $link->setAttribute('title', $title); } return $link; } @@ -345,7 +353,7 @@ class ExtendedDocument extends DOMDocument { $formelem->setAttribute('action', $action); $formelem->setAttribute('method', $method); $formelem->setAttribute('name', $name); - $formelem->setAttribute('id', $id); + if (!is_null($id)) { $formelem->setAttribute('id', $id); } return $formelem; } @@ -513,7 +521,7 @@ class ExtendedElement extends DOMElement { // with an ExtendedDocument::createXMLFragment() of the given XML data inside // returns the new child // - // public function appendLink($target, [$value]) + // public function appendLink($target, [$value], [$title]) // appends an ExtendedDocument::createElementLink() as a child of this element (see there for params) // returns the new child // @@ -589,6 +597,10 @@ class ExtendedElement extends DOMElement { // appends a DOMDocument::createTextNode() as a child of this element (see there for params) // returns the new child // + // public function appendLinebreak() + // appends a
as a child of this element + // returns the new child + // // public function appendEntity($name) // appends a DOMDocument::createEntityReference() as a child of this element (see there for params) // returns the new child @@ -612,6 +624,16 @@ class ExtendedElement extends DOMElement { // public function appendJSFile($jsURL, [$defer], [$async]) // appends an ExtendedDocument::createElementJSFile() as a child of this element (see there for params) // returns the new child + // + // public function setClass($classname) + // sets the 'class' attribute of the element to the given classname value + // + // public function addClass($classname) + // adds the given classname value to the space-separated list in the 'class' attribute + // returns the value of the 'class' attribute + // + // public function setID($elem_id) + // sets the 'id' attribute of the element to the given elem_id value public function appendElement($name, $value = '') { return $this->appendChild($this->ownerDocument->createElement($name, $value)); @@ -621,8 +643,8 @@ class ExtendedElement extends DOMElement { $aelem->appendXMLMarkup($xmldata); return $aelem; } - public function appendLink($target, $value = '') { - return $this->appendChild($this->ownerDocument->createElementLink($target, $value)); + public function appendLink($target, $value = '', $title = null) { + return $this->appendChild($this->ownerDocument->createElementLink($target, $value, $title)); } public function appendImage($src, $alt_text = '') { return $this->appendChild($this->ownerDocument->createElementImage($src, $alt_text)); @@ -679,6 +701,9 @@ class ExtendedElement extends DOMElement { public function appendText($text) { return $this->appendChild($this->ownerDocument->createTextNode($text)); } + public function appendLinebreak() { + return $this->appendChild($this->ownerDocument->createElement('br')); + } public function appendEntity($name) { return $this->appendChild($this->ownerDocument->createEntityReference($name)); } @@ -697,6 +722,19 @@ class ExtendedElement extends DOMElement { public function appendJSFile($jsdata, $defer = false, $async = false) { return $this->appendChild($this->ownerDocument->createElementJSFile($jsdata, $defer, $async)); } + public function setClass($classname) { + $this->setAttribute('class', $classname); + } + public function addClass($classname) { + $classval = $this->getAttribute('class'); + if (strlen($classval)) { $classval .= ' '; } + $classval .= $classname; + $this->setClass($classval); + return $classval; + } + public function setID($elem_id) { + $this->setAttribute('id', $elem_id); + } } class ExtendedDocumentFragment extends DOMDocumentFragment { @@ -712,7 +750,7 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { // with an ExtendedDocument::createXMLFragment() of the given XML data inside // returns the new child // - // public function appendLink($target, [$value]) + // public function appendLink($target, [$value], [$title]) // appends an ExtendedDocument::createElementLink() as a child of this fragment (see there for params) // returns the new child // @@ -788,6 +826,10 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { // appends a DOMDocument::createTextNode() as a child of this fragment (see there for params) // returns the new child // + // public function appendLinebreak() + // appends a
as a child of this fragment + // returns the new child + // // public function appendEntity($name) // appends a DOMDocument::createEntityReference() as a child of this fragment (see there for params) // returns the new child @@ -820,8 +862,8 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { $aelem->appendXMLMarkup($xmldata); return $aelem; } - public function appendLink($target, $value = '') { - return $this->appendChild($this->ownerDocument->createElementLink($target, $value)); + public function appendLink($target, $value = '', $title = null) { + return $this->appendChild($this->ownerDocument->createElementLink($target, $value, $title)); } public function appendImage($src, $alt_text = '') { return $this->appendChild($this->ownerDocument->createElementImage($src, $alt_text)); @@ -878,6 +920,9 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { public function appendText($text) { return $this->appendChild($this->ownerDocument->createTextNode($text)); } + public function appendLinebreak() { + return $this->appendChild($this->ownerDocument->createElement('br')); + } public function appendEntity($name) { return $this->appendChild($this->ownerDocument->createEntityReference($name)); }