diff options
Diffstat (limited to 'buildscripts/classtree/DWExtension.php')
-rw-r--r-- | buildscripts/classtree/DWExtension.php | 508 |
1 files changed, 254 insertions, 254 deletions
diff --git a/buildscripts/classtree/DWExtension.php b/buildscripts/classtree/DWExtension.php index f85f100d..8849efea 100644 --- a/buildscripts/classtree/DWExtension.php +++ b/buildscripts/classtree/DWExtension.php @@ -1,255 +1,255 @@ -<?php
-
-/**
- * PradoVTMDocument class
- *
- * @author Stanislav Yordanov <stanprog[at]stanprog.com>
- * @author Qiang Xue <qiang.xue@gmail.com>
- */
-class PradoVTMDocument
-{
- private $_document;
- private $_attributes;
-
- public function __construct($controlName)
- {
- $this->_document = new DOMDocument('1.0', 'utf-8');
- $this->prepareDocument($controlName);
- }
-
- protected function prepareDocument($controlName)
- {
- $this->_document->formatOutput = true;
-
- //--- add <tag>
- $tag = $this->_document->createElement('tag');
- $tag->setAttribute('name',$controlName);
- $tag->setAttribute('casesensitive','yes');
- $this->_document->appendChild($tag);
-
- //--- add <tagformat>
- $tagFormat = $this->_document->createElement('tagformat');
- $tagFormat->setAttribute('nlbeforetag','1');
- $tagFormat->setAttribute('nlaftertag','1');
- $tagFormat->setAttribute('indentcontents','yes');
- $tag->appendChild($tagFormat);
-
- //--- add <tagdialog file="Control.htm" />
- //$tagDialog = $this->_document->createElement('tagdialog');
- //$tagDialog->setAttribute('file',$controlName.'.htm');
- //$tag->appendChild($tagDialog);
-
- $this->_attributes = $this->_document->createElement('attributes');
- $tag->appendChild($this->_attributes);
- }
-
- public function getDocument()
- {
- return $this->_document;
- }
-
- public function addAttribute($attribName, $attribType)
- {
- //--- add <attrib>
- $attrib = $this->_document->createElement('attrib');
- $attrib->setAttribute('name',$attribName);
- if (is_array($attribType))
- {
- $attrib->setAttribute('type','Enumerated');
- foreach ($attribType as $value)
- {
- $option = $this->_document->createElement('attriboption');
- $option->setAttribute('value',$value);
- $option->setAttribute('caption','');
- $attrib->appendChild($option);
- }
- }
- else if($attribType!=='')
- {
- $attrib->setAttribute('type',$attribType);
- }
- $attrib->setAttribute('casesensitive','yes');
- $this->_attributes->appendChild($attrib);
- }
-
- public function addEvent($eventName)
- {
- //--- add <attrib>
- $this->addAttribute($eventName,'');
- //--- add <event>
- $event = $this->_document->createElement('event');
- $event->setAttribute('name',$eventName);
- $this->_attributes->appendChild($event);
- }
-
- public function getXML()
- {
- return $this->_document->saveXML();
- }
-}
-
-/**
- * PradoMXIDocument class
- *
- * @author Stanislav Yordanov <stanprog@stanprog.com>
- * @author Qiang Xue <qiang.xue@gmail.com>
- */
-class PradoMXIDocument
-{
- private $_tagLibraryElement;
- private $_filesElement;
- private $_document;
-
- public function __construct($version)
- {
- $this->_document = new DOMDocument('1.0', 'utf-8');
- $this->prepareDocument($version);
- }
-
- protected function prepareDocument($version)
- {
- $this->_document->formatOutput = true;
- //--- add root element
- $rootElement = $this->_document->createElement('macromedia-extension');
- $rootElement->setAttribute('name','PRADO Taglib');
- $rootElement->setAttribute('version',$version);
- $rootElement->setAttribute('type','Suite');
- $rootElement->setAttribute('requires-restart','true');
- $this->_document->appendChild($rootElement);
- //--- add <author>
- $element = $this->_document->createElement('author');
- $element->setAttribute('name','Stanislav Yordanov, Qiang Xue');
- $rootElement->appendChild($element);
- $time = date('F j, Y, h:i:s a',time());
- //--- add <description>
- $description = <<<EOD
-PRADO $version Tag Library
-Authors: Stanislav Yordanov <stanprog@stanprog.com> and Qiang Xue <qiang.xue@gmail.com>
-Time: $time
-Requirement: Macromedia Dreamweaver MX/MX 2004/8.0 or above
-Description: This suite adds PRADO tag library. The tag library contains PRADO component
-tags, properties and events that are commonly used on PRADO templates.
-EOD;
- $element = $this->_document->createElement('description');
- $element->appendChild($this->_document->createCDATASection($description));
- $rootElement->appendChild($element);
- //--- add <products>
- $productsElement = $this->_document->createElement('products');
- $rootElement->appendChild($productsElement);
- //--- add <product>
- $product = $this->_document->createElement('product');
- $product->setAttribute('name','Dreamweaver');
- $product->setAttribute('version','6');
- $product->setAttribute('primary','false');
- $productsElement->appendChild($product);
- //--- add <ui-access>
- $element = $this->_document->createElement('ui-access');
- $element->appendChild($this->_document->createCDATASection("PRADO"));
- $rootElement->appendChild($element);
- //--- add <files>
- $this->_filesElement = $this->_document->createElement('files');
- $rootElement->appendChild($this->_filesElement);
- //--- add <configuration-changes>
- $configChangeElement = $this->_document->createElement('configuration-changes');
- $rootElement->appendChild($configChangeElement);
- //--- add <taglibrary-changes>
- $tagLibChangeElement = $this->_document->createElement('taglibrary-changes');
- $configChangeElement->appendChild($tagLibChangeElement);
- //--- add <taglibrary-insert>
- $tagLibInsertElement = $this->_document->createElement('taglibrary-insert');
- $tagLibChangeElement->appendChild($tagLibInsertElement);
- //--- add <taglibrary>
- $this->_tagLibraryElement = $element = $this->_document->createElement('taglibrary');
- $element->setAttribute('doctypes','HTML,DWTemplate');
- $element->setAttribute('id','DWTagLibrary_PRADO_tags');
- $element->setAttribute('name','PRADO tags');
- $element->setAttribute('prefix','<com:');
- $element->setAttribute('tagchooser','PRADO/TagChooser.xml');
- $tagLibInsertElement->appendChild($element);
-
- $element = $this->_document->createElement('file');
- $element->setAttribute('name','Configuration/TagLibraries/PRADO/TagChooser.xml');
- $element->setAttribute('destination','$dreamweaver/Configuration/TagLibraries/PRADO/TagChooser.xml');
- $this->_filesElement->appendChild($element);
- }
-
- public function addTag($tagName)
- {
- $element = $this->_document->createElement('file');
- $element->setAttribute('name','Configuration/TagLibraries/PRADO/'.$tagName.'.vtm');
- $element->setAttribute('destination','$dreamweaver/Configuration/TagLibraries/PRADO/'.$tagName.'.vtm');
- $this->_filesElement->appendChild($element);
-
- $element = $this->_document->createElement('tagref');
- $element->setAttribute('file','PRADO/'.$tagName.'.vtm');
- $element->setAttribute('name',$tagName);
- $this->_tagLibraryElement->appendChild($element);
- }
-
- public function getDocument()
- {
- return $this->_document;
- }
-
- public function getXML()
- {
- return $this->_document->saveXML();
- }
-}
-
-/**
- * PradoTagChooser class
- *
- * @author Stanislav Yordanov <stanprog[at]stanprog.com>
- * @author Qiang Xue <qiang.xue@gmail.com>
- */
-class PradoTagChooser
-{
- private $_document;
- private $_tclibrary;
- private $_category;
-
- public function __construct()
- {
- $this->_document = new DOMDocument('1.0', 'utf-8');
- $this->prepareDocument();
- }
-
- protected function prepareDocument()
- {
- $this->_document->standalone = true;
- $this->_document->formatOutput = true;
- $tclibrary = $this->_document->createElement('tclibrary');
- $tclibrary->setAttribute('name','PRADO tags');
- $tclibrary->setAttribute('desc','A collection of all PRADO tags.');
- $tclibrary->setAttribute('reference','PRADO');
- $this->_document->appendChild($tclibrary);
-
- $this->_category = $this->_document->createElement('category');
- $this->_category->setAttribute('name','General');
- $this->_category->setAttribute('icon','Configuration/TagLibraries/Icons/Elements.gif');
- $tclibrary->appendChild($this->_category);
- }
-
- public function addElement($elementName)
- {
- $element = $this->_document->createElement('element');
- $element->setAttribute('name','com:'.$elementName);
- $element->setAttribute('value','<com:'.$elementName.'>');
- $element->setAttribute('reference','PRADO,COM:'.strtoupper($elementName));
- $this->_category->appendChild($element);
- }
-
- public function getXML()
- {
- $this->_document->normalize();
- /*
- $resultXML = $this->_document->saveXML();
- $resultXML = str_replace('>','>',$resultXML);
- $resultXML = str_replace('<','<',$resultXML);
- return $resultXML;
- */
- return $this->_document->saveXML();
- }
-}
+<?php + +/** + * PradoVTMDocument class + * + * @author Stanislav Yordanov <stanprog[at]stanprog.com> + * @author Qiang Xue <qiang.xue@gmail.com> + */ +class PradoVTMDocument +{ + private $_document; + private $_attributes; + + public function __construct($controlName) + { + $this->_document = new DOMDocument('1.0', 'utf-8'); + $this->prepareDocument($controlName); + } + + protected function prepareDocument($controlName) + { + $this->_document->formatOutput = true; + + //--- add <tag> + $tag = $this->_document->createElement('tag'); + $tag->setAttribute('name',$controlName); + $tag->setAttribute('casesensitive','yes'); + $this->_document->appendChild($tag); + + //--- add <tagformat> + $tagFormat = $this->_document->createElement('tagformat'); + $tagFormat->setAttribute('nlbeforetag','1'); + $tagFormat->setAttribute('nlaftertag','1'); + $tagFormat->setAttribute('indentcontents','yes'); + $tag->appendChild($tagFormat); + + //--- add <tagdialog file="Control.htm" /> + //$tagDialog = $this->_document->createElement('tagdialog'); + //$tagDialog->setAttribute('file',$controlName.'.htm'); + //$tag->appendChild($tagDialog); + + $this->_attributes = $this->_document->createElement('attributes'); + $tag->appendChild($this->_attributes); + } + + public function getDocument() + { + return $this->_document; + } + + public function addAttribute($attribName, $attribType) + { + //--- add <attrib> + $attrib = $this->_document->createElement('attrib'); + $attrib->setAttribute('name',$attribName); + if (is_array($attribType)) + { + $attrib->setAttribute('type','Enumerated'); + foreach ($attribType as $value) + { + $option = $this->_document->createElement('attriboption'); + $option->setAttribute('value',$value); + $option->setAttribute('caption',''); + $attrib->appendChild($option); + } + } + else if($attribType!=='') + { + $attrib->setAttribute('type',$attribType); + } + $attrib->setAttribute('casesensitive','yes'); + $this->_attributes->appendChild($attrib); + } + + public function addEvent($eventName) + { + //--- add <attrib> + $this->addAttribute($eventName,''); + //--- add <event> + $event = $this->_document->createElement('event'); + $event->setAttribute('name',$eventName); + $this->_attributes->appendChild($event); + } + + public function getXML() + { + return $this->_document->saveXML(); + } +} + +/** + * PradoMXIDocument class + * + * @author Stanislav Yordanov <stanprog@stanprog.com> + * @author Qiang Xue <qiang.xue@gmail.com> + */ +class PradoMXIDocument +{ + private $_tagLibraryElement; + private $_filesElement; + private $_document; + + public function __construct($version) + { + $this->_document = new DOMDocument('1.0', 'utf-8'); + $this->prepareDocument($version); + } + + protected function prepareDocument($version) + { + $this->_document->formatOutput = true; + //--- add root element + $rootElement = $this->_document->createElement('macromedia-extension'); + $rootElement->setAttribute('name','PRADO Taglib'); + $rootElement->setAttribute('version',$version); + $rootElement->setAttribute('type','Suite'); + $rootElement->setAttribute('requires-restart','true'); + $this->_document->appendChild($rootElement); + //--- add <author> + $element = $this->_document->createElement('author'); + $element->setAttribute('name','Stanislav Yordanov, Qiang Xue'); + $rootElement->appendChild($element); + $time = date('F j, Y, h:i:s a',time()); + //--- add <description> + $description = <<<EOD +PRADO $version Tag Library +Authors: Stanislav Yordanov <stanprog@stanprog.com> and Qiang Xue <qiang.xue@gmail.com> +Time: $time +Requirement: Macromedia Dreamweaver MX/MX 2004/8.0 or above +Description: This suite adds PRADO tag library. The tag library contains PRADO component +tags, properties and events that are commonly used on PRADO templates. +EOD; + $element = $this->_document->createElement('description'); + $element->appendChild($this->_document->createCDATASection($description)); + $rootElement->appendChild($element); + //--- add <products> + $productsElement = $this->_document->createElement('products'); + $rootElement->appendChild($productsElement); + //--- add <product> + $product = $this->_document->createElement('product'); + $product->setAttribute('name','Dreamweaver'); + $product->setAttribute('version','6'); + $product->setAttribute('primary','false'); + $productsElement->appendChild($product); + //--- add <ui-access> + $element = $this->_document->createElement('ui-access'); + $element->appendChild($this->_document->createCDATASection("PRADO")); + $rootElement->appendChild($element); + //--- add <files> + $this->_filesElement = $this->_document->createElement('files'); + $rootElement->appendChild($this->_filesElement); + //--- add <configuration-changes> + $configChangeElement = $this->_document->createElement('configuration-changes'); + $rootElement->appendChild($configChangeElement); + //--- add <taglibrary-changes> + $tagLibChangeElement = $this->_document->createElement('taglibrary-changes'); + $configChangeElement->appendChild($tagLibChangeElement); + //--- add <taglibrary-insert> + $tagLibInsertElement = $this->_document->createElement('taglibrary-insert'); + $tagLibChangeElement->appendChild($tagLibInsertElement); + //--- add <taglibrary> + $this->_tagLibraryElement = $element = $this->_document->createElement('taglibrary'); + $element->setAttribute('doctypes','HTML,DWTemplate'); + $element->setAttribute('id','DWTagLibrary_PRADO_tags'); + $element->setAttribute('name','PRADO tags'); + $element->setAttribute('prefix','<com:'); + $element->setAttribute('tagchooser','PRADO/TagChooser.xml'); + $tagLibInsertElement->appendChild($element); + + $element = $this->_document->createElement('file'); + $element->setAttribute('name','Configuration/TagLibraries/PRADO/TagChooser.xml'); + $element->setAttribute('destination','$dreamweaver/Configuration/TagLibraries/PRADO/TagChooser.xml'); + $this->_filesElement->appendChild($element); + } + + public function addTag($tagName) + { + $element = $this->_document->createElement('file'); + $element->setAttribute('name','Configuration/TagLibraries/PRADO/'.$tagName.'.vtm'); + $element->setAttribute('destination','$dreamweaver/Configuration/TagLibraries/PRADO/'.$tagName.'.vtm'); + $this->_filesElement->appendChild($element); + + $element = $this->_document->createElement('tagref'); + $element->setAttribute('file','PRADO/'.$tagName.'.vtm'); + $element->setAttribute('name',$tagName); + $this->_tagLibraryElement->appendChild($element); + } + + public function getDocument() + { + return $this->_document; + } + + public function getXML() + { + return $this->_document->saveXML(); + } +} + +/** + * PradoTagChooser class + * + * @author Stanislav Yordanov <stanprog[at]stanprog.com> + * @author Qiang Xue <qiang.xue@gmail.com> + */ +class PradoTagChooser +{ + private $_document; + private $_tclibrary; + private $_category; + + public function __construct() + { + $this->_document = new DOMDocument('1.0', 'utf-8'); + $this->prepareDocument(); + } + + protected function prepareDocument() + { + $this->_document->standalone = true; + $this->_document->formatOutput = true; + $tclibrary = $this->_document->createElement('tclibrary'); + $tclibrary->setAttribute('name','PRADO tags'); + $tclibrary->setAttribute('desc','A collection of all PRADO tags.'); + $tclibrary->setAttribute('reference','PRADO'); + $this->_document->appendChild($tclibrary); + + $this->_category = $this->_document->createElement('category'); + $this->_category->setAttribute('name','General'); + $this->_category->setAttribute('icon','Configuration/TagLibraries/Icons/Elements.gif'); + $tclibrary->appendChild($this->_category); + } + + public function addElement($elementName) + { + $element = $this->_document->createElement('element'); + $element->setAttribute('name','com:'.$elementName); + $element->setAttribute('value','<com:'.$elementName.'>'); + $element->setAttribute('reference','PRADO,COM:'.strtoupper($elementName)); + $this->_category->appendChild($element); + } + + public function getXML() + { + $this->_document->normalize(); + /* + $resultXML = $this->_document->saveXML(); + $resultXML = str_replace('>','>',$resultXML); + $resultXML = str_replace('<','<',$resultXML); + return $resultXML; + */ + return $this->_document->saveXML(); + } +} ?>
\ No newline at end of file |