X-Git-Url: https://git-public.kairo.at/?p=php-utility-classes.git;a=blobdiff_plain;f=include%2Fcbsm%2Futil%2Fdocument.php-class;h=c267623a5f26831a85b21a281399d066cb576c42;hp=6a36dfc704987e24c8bb5ea5bb9b120cd12c0b03;hb=4bb9d784670b699918e82a2cf21d36835c6db9ee;hpb=6e698a41c5017150623531a9f2d6ec3baceda9c2 diff --git a/include/cbsm/util/document.php-class b/include/cbsm/util/document.php-class index 6a36dfc..c267623 100755 --- a/include/cbsm/util/document.php-class +++ b/include/cbsm/util/document.php-class @@ -50,7 +50,11 @@ class ExtendedDocument extends DOMDocument { // appends an ExtendedDocument::createElementImage() as a child of this document (see there for params) // returns the new child // - // function appendFormDiv($action, $method, $name) + // function appendForm($action, $method, $name, [$id]) + // appends an ExtendedDocument::createElementForm() as a child of this document (see there for params) + // returns the new child + // + // function appendFormDiv($action, $method, $name, [$id]) // appends an ExtendedDocument::createElementForm() as a child of this document (see there for params) // returns an HTML
that is a child of the new child // @@ -62,6 +66,10 @@ class ExtendedDocument extends DOMDocument { // appends an ExtendedDocument::createElementInputText() as a child of this document (see there for params) // returns the new child // + // function appendInputNumber($name, $maxlength, $size, [$id], [$value]) + // appends an ExtendedDocument::createElementInputNumber() as a child of this document (see there for params) + // returns the new child + // // function appendInputPassword($name, $maxlength, $size, [$id], [$value]) // appends an ExtendedDocument::createElementInputPassword() as a child of this document (see there for params) // returns the new child @@ -74,6 +82,10 @@ class ExtendedDocument extends DOMDocument { // appends an ExtendedDocument::createElementInputCheckbox() as a child of this document (see there for params) // returns the new child // + // function appendInputFile($name, $id, $accept) + // appends an ExtendedDocument::createElementInputFile() as a child of this document (see there for params) + // returns the new child + // // function appendInputSubmit($value) // appends an ExtendedDocument::createElementInputSubmit() as a child of this document (see there for params) // returns the new child @@ -139,6 +151,10 @@ class ExtendedDocument extends DOMDocument { // returns an ExtendedElement that is an HTML of type 'text' with the given name, maxlength, size, // and optionally id and value // + // function createElementInputNumber($name, $maxlength, $size, [$id], [$value]) + // returns an ExtendedElement that is an HTML of type 'number' with the given name, maxlength, size, + // and optionally id and value + // // function createElementInputPassword($name, $maxlength, $size, [$id], [$value]) // returns an ExtendedElement that is an HTML of type 'password' with the given name, maxlength, size, // and optionally id and value @@ -151,6 +167,9 @@ class ExtendedDocument extends DOMDocument { // returns an ExtendedElement that is an HTML of type 'checkbox' with the given name, id, value and // checked state // + // function createElementInputFile($name, $id, $accept) + // returns an ExtendedElement that is an HTML of type 'file' with the given name, id and accept + // // function createElementInputSubmit($value) // returns an ExtendedElement that is an HTML of type 'submit' with the given value as label // @@ -187,10 +206,7 @@ class ExtendedDocument extends DOMDocument { } function appendElement($name, $value = '') { - // Adding the $value in createElement does NOT escape it, so use appendText to support that. - $aelem = $this->appendChild($this->createElement($name)); - $aelem->appendText($value); - return $aelem; + return $this->appendChild($this->createElement($name, $value)); } function appendElementXML($name, $xmldata) { $aelem = $this->appendChild($this->createElement($name)); @@ -204,8 +220,11 @@ class ExtendedDocument extends DOMDocument { function appendImage($src, $alt_text = '') { return $this->appendChild($this->createElementImage($src, $alt_text)); } - function appendFormDiv($action, $method, $name) { - $formelem = $this->appendChild($this->createElementForm($action, $method, $name)); + function appendForm($action, $method, $name, $id = null) { + return $this->appendChild($this->createElementForm($action, $method, $name, $id)); + } + function appendFormDiv($action, $method, $name, $id = null) { + $formelem = $this->appendChild($this->createElementForm($action, $method, $name, $id)); return $formelem->appendElement('div'); } function appendInputHidden($name, $value) { @@ -214,6 +233,9 @@ class ExtendedDocument extends DOMDocument { function appendInputText($name, $maxlength, $size, $id = null, $value = null) { return $this->appendChild($this->createElementInputText($name, $maxlength, $size, $id, $value)); } + function appendInputNumber($name, $maxlength, $size, $id = null, $value = null) { + return $this->appendChild($this->createElementInputNumber($name, $maxlength, $size, $id, $value)); + } function appendInputPassword($name, $maxlength, $size, $id = null, $value = null) { return $this->appendChild($this->createElementInputPassword($name, $maxlength, $size, $id, $value)); } @@ -223,6 +245,9 @@ class ExtendedDocument extends DOMDocument { function appendInputCheckbox($name, $id, $value, $checked) { return $this->appendChild($this->createElementInputCheckbox($name, $id, $value, $checked)); } + function appendInputFile($name, $id, $accept) { + return $this->appendChild($this->createElementInputFile($name, $id, $accept)); + } function appendInputSubmit($value) { return $this->appendChild($this->createElementInputSubmit($value)); } @@ -272,9 +297,15 @@ class ExtendedDocument extends DOMDocument { } } + 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); + return $aelem; + } + function createElementLink($target, $value = '') { - $link = $this->createElement('a'); - $link->appendText($value); + $link = $this->createElement('a', $value); $link->setAttribute('href', $target); // XXX: take care of & etc. in links return $link; } @@ -286,11 +317,12 @@ class ExtendedDocument extends DOMDocument { return $img; } - function createElementForm($action, $method, $name) { + function createElementForm($action, $method, $name, $id = null) { $formelem = $this->createElement('form'); $formelem->setAttribute('action', $action); $formelem->setAttribute('method', $method); $formelem->setAttribute('name', $name); + $formelem->setAttribute('id', $id); return $formelem; } @@ -313,6 +345,17 @@ class ExtendedDocument extends DOMDocument { return $txfield; } + function createElementInputNumber($name, $maxlength, $size, $id = null, $value = null) { + $txfield = $this->createElement('input'); + $txfield->setAttribute('type', 'number'); + if (!is_null($id)) { $txfield->setAttribute('id', $id); } + $txfield->setAttribute('name', $name); + $txfield->setAttribute('maxlength', $maxlength); + $txfield->setAttribute('size', $size); + if (!is_null($value)) { $txfield->setAttribute('value', $value); } + return $txfield; + } + function createElementInputPassword($name, $maxlength, $size, $id = null, $value = null) { $pwfield = $this->createElement('input'); $pwfield->setAttribute('type', 'password'); @@ -328,7 +371,7 @@ class ExtendedDocument extends DOMDocument { $radio = $this->createElement('input'); $radio->setAttribute('type', 'radio'); $radio->setAttribute('name', $name); - $radio->setAttribute('id', $id); + if (!is_null($id)) { $radio->setAttribute('id', $id); } $radio->setAttribute('value', $value); if ($checked) { $radio->setAttribute('checked', ''); } return $radio; @@ -338,12 +381,21 @@ class ExtendedDocument extends DOMDocument { $cbox = $this->createElement('input'); $cbox->setAttribute('type', 'checkbox'); $cbox->setAttribute('name', $name); - $cbox->setAttribute('id', $id); + if (!is_null($id)) { $cbox->setAttribute('id', $id); } $cbox->setAttribute('value', $value); if ($checked) { $cbox->setAttribute('checked', ''); } return $cbox; } + function createElementInputFile($name, $id, $accept) { + $fileinput = $this->createElement('input'); + $fileinput->setAttribute('type', 'file'); + $fileinput->setAttribute('name', $name); + if (!is_null($id)) { $fileinput->setAttribute('id', $id); } + $fileinput->setAttribute('accept', $accept); + return $fileinput; + } + function createElementInputSubmit($value) { $submitbtn = $this->createElement('input'); $submitbtn->setAttribute('type', 'submit'); @@ -430,7 +482,11 @@ class ExtendedElement extends DOMElement { // appends an ExtendedDocument::createElementImage() as a child of this document (see there for params) // returns the new child // - // function appendFormDiv($action, $method, $name) + // function appendForm($action, $method, $name, [$id]) + // appends an ExtendedDocument::createElementForm() as a child of this element (see there for params) + // returns the new child + // + // function appendFormDiv($action, $method, $name, [$id]) // appends an ExtendedDocument::createElementForm() as a child of this element (see there for params) // returns an HTML
that is a child of the new child // @@ -442,6 +498,10 @@ class ExtendedElement extends DOMElement { // appends an ExtendedDocument::createElementInputText() as a child of this element (see there for params) // returns the new child // + // function appendInputNumber($name, $maxlength, $size, [$id], [$value]) + // appends an ExtendedDocument::createElementInputNumber() as a child of this element (see there for params) + // returns the new child + // // function appendInputPassword($name, $maxlength, $size, [$id], [$value]) // appends an ExtendedDocument::createElementInputPassword() as a child of this element (see there for params) // returns the new child @@ -454,6 +514,10 @@ class ExtendedElement extends DOMElement { // appends an ExtendedDocument::createElementInputCheckbox() as a child of this element (see there for params) // returns the new child // + // function appendInputFile($name, $id, $accept) + // appends an ExtendedDocument::createElementInputFile() as a child of this element (see there for params) + // returns the new child + // // function appendInputSubmit($value) // appends an ExtendedDocument::createElementInputSubmit() as a child of this element (see there for params) // returns the new child @@ -503,10 +567,7 @@ class ExtendedElement extends DOMElement { // returns the new child function appendElement($name, $value = '') { - // Adding the $value in createElement does NOT escape it, so use appendText to support that. - $aelem = $this->appendChild($this->ownerDocument->createElement($name)); - $aelem->appendText($value); - return $aelem; + return $this->appendChild($this->ownerDocument->createElement($name, $value)); } function appendElementXML($name, $xmldata) { $aelem = $this->appendChild($this->ownerDocument->createElement($name)); @@ -519,8 +580,11 @@ class ExtendedElement extends DOMElement { function appendImage($src, $alt_text = '') { return $this->appendChild($this->ownerDocument->createElementImage($src, $alt_text)); } - function appendFormDiv($action, $method, $name) { - $formelem = $this->appendChild($this->ownerDocument->createElementForm($action, $method, $name)); + function appendForm($action, $method, $name, $id = null) { + return $this->appendChild($this->ownerDocument->createElementForm($action, $method, $name, $id)); + } + function appendFormDiv($action, $method, $name, $id = null) { + $formelem = $this->appendChild($this->ownerDocument->createElementForm($action, $method, $name, $id)); return $formelem->appendElement('div'); } function appendInputHidden($name, $value) { @@ -529,6 +593,9 @@ class ExtendedElement extends DOMElement { function appendInputText($name, $maxlength, $size, $id = null, $value = null) { return $this->appendChild($this->ownerDocument->createElementInputText($name, $maxlength, $size, $id, $value)); } + function appendInputNumber($name, $maxlength, $size, $id = null, $value = null) { + return $this->appendChild($this->ownerDocument->createElementInputNumber($name, $maxlength, $size, $id, $value)); + } function appendInputPassword($name, $maxlength, $size, $id = null, $value = null) { return $this->appendChild($this->ownerDocument->createElementInputPassword($name, $maxlength, $size, $id, $value)); } @@ -538,6 +605,9 @@ class ExtendedElement extends DOMElement { function appendInputCheckbox($name, $id, $value, $checked) { return $this->appendChild($this->ownerDocument->createElementInputCheckbox($name, $id, $value, $checked)); } + function appendInputFile($name, $id, $accept) { + return $this->appendChild($this->ownerDocument->createElementInputFile($name, $id, $accept)); + } function appendInputSubmit($value) { return $this->appendChild($this->ownerDocument->createElementInputSubmit($value)); } @@ -597,7 +667,11 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { // appends an ExtendedDocument::createElementImage() as a child of this document (see there for params) // returns the new child // - // function appendFormDiv($action, $method, $name) + // function appendForm($action, $method, $name, [$id]) + // appends an ExtendedDocument::createElementForm() as a child of this fragment (see there for params) + // returns the new child + // + // function appendFormDiv($action, $method, $name, [$id]) // appends an ExtendedDocument::createElementForm() as a child of this fragment (see there for params) // returns an HTML
that is a child of the new child // @@ -609,6 +683,10 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { // appends an ExtendedDocument::createElementInputText() as a child of this fragment (see there for params) // returns the new child // + // function appendInputNumber($name, $maxlength, $size, [$id], [$value]) + // appends an ExtendedDocument::createElementInputNumber() as a child of this fragment (see there for params) + // returns the new child + // // function appendInputPassword($name, $maxlength, $size, [$id], [$value]) // appends an ExtendedDocument::createElementInputPassword() as a child of this fragment (see there for params) // returns the new child @@ -621,6 +699,10 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { // appends an ExtendedDocument::createElementInputCheckbox() as a child of this fragment (see there for params) // returns the new child // + // function appendInputFile($name, $id, $accept) + // appends an ExtendedDocument::createElementInputFile() as a child of this fragment (see there for params) + // returns the new child + // // function appendInputSubmit($value) // appends an ExtendedDocument::createElementInputSubmit() as a child of this fragment (see there for params) // returns the new child @@ -670,10 +752,7 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { // returns the new child function appendElement($name, $value = '') { - // Adding the $value in createElement does NOT escape it, so use appendText to support that. - $aelem = $this->appendChild($this->ownerDocument->createElement($name)); - $aelem->appendText($value); - return $aelem; + return $this->appendChild($this->ownerDocument->createElement($name, $value)); } function appendElementXML($name, $xmldata) { $aelem = $this->appendChild($this->ownerDocument->createElement($name)); @@ -686,8 +765,11 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { function appendImage($src, $alt_text = '') { return $this->appendChild($this->ownerDocument->createElementImage($src, $alt_text)); } - function appendFormDiv($action, $method, $name) { - $formelem = $this->appendChild($this->ownerDocument->createElementForm($action, $method, $name)); + function appendForm($action, $method, $name, $id = null) { + return $this->appendChild($this->ownerDocument->createElementForm($action, $method, $name, $id)); + } + function appendFormDiv($action, $method, $name, $id = null) { + $formelem = $this->appendChild($this->ownerDocument->createElementForm($action, $method, $name, $id)); return $formelem->appendElement('div'); } function appendInputHidden($name, $value) { @@ -696,6 +778,9 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { function appendInputText($name, $maxlength, $size, $id = null, $value = null) { return $this->appendChild($this->ownerDocument->createElementInputText($name, $maxlength, $size, $id, $value)); } + function appendInputNumber($name, $maxlength, $size, $id = null, $value = null) { + return $this->appendChild($this->ownerDocument->createElementInputNumber($name, $maxlength, $size, $id, $value)); + } function appendInputPassword($name, $maxlength, $size, $id = null, $value = null) { return $this->appendChild($this->ownerDocument->createElementInputPassword($name, $maxlength, $size, $id, $value)); } @@ -705,6 +790,9 @@ class ExtendedDocumentFragment extends DOMDocumentFragment { function appendInputCheckbox($name, $id, $value, $checked) { return $this->appendChild($this->ownerDocument->createElementInputCheckbox($name, $id, $value, $checked)); } + function appendInputFile($name, $id, $accept) { + return $this->appendChild($this->ownerDocument->createElementInputFile($name, $id, $accept)); + } function appendInputSubmit($value) { return $this->appendChild($this->ownerDocument->createElementInputSubmit($value)); }