Overview

Namespaces

  • webfilesframework
    • codegeneration
      • general
      • php
    • core
      • datastore
        • functions
          • filter
          • sorting
        • types
          • database
            • resultHandler
          • directory
          • googlecalendar
          • mail
          • remote
      • datasystem
        • database
        • file
          • format
            • media
              • image
                • handler
          • system
            • dropbox
      • datatypes
        • time
      • time
    • io
      • form
        • formItem
        • validation
        • webfile
      • request

Classes

  • webfilesframework\codegeneration\general\MAbstractClass
  • webfilesframework\codegeneration\general\MAbstractClassAttribute
  • webfilesframework\codegeneration\general\MAbstractClassMethod
  • webfilesframework\codegeneration\general\MAbstractClassMethodParameter
  • webfilesframework\codegeneration\general\MAbstractCodeItem
  • webfilesframework\codegeneration\MCodeItemFactory
  • webfilesframework\codegeneration\MProgrammingLanguage
  • webfilesframework\codegeneration\MWebfileClassGeneration
  • webfilesframework\codegeneration\php\MPhpClassAttribute
  • webfilesframework\codegeneration\php\MPhpClassMethod
  • webfilesframework\codegeneration\php\MPhpClassMethodParameter
  • webfilesframework\codegeneration\php\MPhpWebfileClass
  • webfilesframework\core\datastore\functions\filter\MSubstringFiltering
  • webfilesframework\core\datastore\functions\sorting\MAscendingSorting
  • webfilesframework\core\datastore\functions\sorting\MDescendingSorting
  • webfilesframework\core\datastore\MAbstractCachableDatastore
  • webfilesframework\core\datastore\MAbstractDatastore
  • webfilesframework\core\datastore\MCombinedDatastore
  • webfilesframework\core\datastore\MDatastoreFactory
  • webfilesframework\core\datastore\MDatastoreTransfer
  • webfilesframework\core\datastore\types\database\MDatabaseDatastore
  • webfilesframework\core\datastore\types\database\MSampleWebfile
  • webfilesframework\core\datastore\types\database\resultHandler\MMysqlResultHandler
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastore
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastoreMetainformation
  • webfilesframework\core\datastore\types\directory\MDirectoryDatastoreWebfile
  • webfilesframework\core\datastore\types\googlecalendar\MEvent
  • webfilesframework\core\datastore\types\googlecalendar\MGoogleCalendarDatastore
  • webfilesframework\core\datastore\types\mail\MImapDatastore
  • webfilesframework\core\datastore\types\mail\MMail
  • webfilesframework\core\datastore\types\mail\MMailAccount
  • webfilesframework\core\datastore\types\remote\MRemoteDatastore
  • webfilesframework\core\datastore\types\remote\MRemoteDatastoreEndpoint
  • webfilesframework\core\datasystem\database\MDatabaseConnection
  • webfilesframework\core\datasystem\database\MDatabaseDatatypes
  • webfilesframework\core\datasystem\database\MDatabaseTable
  • webfilesframework\core\datasystem\database\MDatabaseTableColumn
  • webfilesframework\core\datasystem\file\format\media\image\handler\MAbstractImageLibraryHandler
  • webfilesframework\core\datasystem\file\format\media\image\handler\MGdHandler
  • webfilesframework\core\datasystem\file\format\media\image\handler\MImageMagickHandler
  • webfilesframework\core\datasystem\file\format\media\image\MImage
  • webfilesframework\core\datasystem\file\format\media\image\MQrCodeImage
  • webfilesframework\core\datasystem\file\format\media\MYoutubeVideo
  • webfilesframework\core\datasystem\file\format\MWebfile
  • webfilesframework\core\datasystem\file\format\MWebfileStream
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxAccount
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxDirectory
  • webfilesframework\core\datasystem\file\system\dropbox\MDropboxFile
  • webfilesframework\core\datasystem\file\system\MDirectory
  • webfilesframework\core\datasystem\file\system\MFile
  • webfilesframework\core\datatypes\time\MTimestampHelper
  • webfilesframework\core\time\MTimespan
  • webfilesframework\core\time\MWeekday
  • webfilesframework\io\form\formItem\MAbstractFormItem
  • webfilesframework\io\form\formItem\MCheckboxesFormItem
  • webfilesframework\io\form\formItem\MDateFormItem
  • webfilesframework\io\form\formItem\MDateTimeFormItem
  • webfilesframework\io\form\formItem\MDropdownMenueFormItem
  • webfilesframework\io\form\formItem\MHiddenFormItem
  • webfilesframework\io\form\formItem\MHtmlTextareaFormItem
  • webfilesframework\io\form\formItem\MPasswordFormItem
  • webfilesframework\io\form\formItem\MTextareaFormItem
  • webfilesframework\io\form\formItem\MTextfieldFormItem
  • webfilesframework\io\form\formItem\MTimeFormItem
  • webfilesframework\io\form\formItem\MWeekdayFormItem
  • webfilesframework\io\form\MForm
  • webfilesframework\io\form\MFormItemFactory
  • webfilesframework\io\form\validation\MValidator
  • webfilesframework\io\form\webfile\MWebfileFormHandler
  • webfilesframework\io\form\webfile\MWebfileFormVisualizer
  • webfilesframework\io\request\MAbstractHttpRequest
  • webfilesframework\io\request\MGetHttpRequest
  • webfilesframework\io\request\MPostHttpRequest
  • webfilesframework\io\request\MUrl

Interfaces

  • webfilesframework\core\datastore\functions\MIDatastoreFunction
  • webfilesframework\core\datastore\MISingleDatasourceDatastore
  • webfilesframework\core\datastore\types\database\resultHandler\MIResultHandler
  • webfilesframework\core\datastore\types\googlecalendar\MISecretStore

Exceptions

  • webfilesframework\core\datastore\MDatastoreException
  • webfilesframework\core\datastore\types\database\MDatabaseDatastoreException
  • webfilesframework\MWebfilesFrameworkException
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace webfilesframework\io\form\webfile;
  4: 
  5: use webfilesframework\core\datasystem\file\format\MWebfile;
  6: use webfilesframework\core\io\form\MForm;
  7: use webfilesframework\core\io\request\MUrl;
  8: use webfilesframework\core\io\form\MFormItemFactory;
  9: use webfilesframework\core\io\form\formItem\MHiddenFormItem;
 10: 
 11: /**
 12:  * Generates a form according to a given webfile.<br/>
 13:  * Uses the javascript-libary DojoToolkit for visualizing
 14:  * form elements.
 15:  *
 16:  * @author     Sebastian Monzel < mail@sebastianmonzel.de >
 17:  * @since      0.1.7
 18:  */
 19: class MWebfileFormVisualizer
 20: {
 21: 
 22:     private $webfile;
 23: 
 24:     private $ignoredFieldsList;
 25:     private $localizedNamesList;
 26:     private $hiddenFieldsList;
 27: 
 28:     /** @var MForm $form */
 29:     private $form;
 30: 
 31:     public function __construct(MWebfile $webfile)
 32:     {
 33:         $this->init($webfile);
 34:     }
 35: 
 36:     public function init(MWebfile $webfile)
 37:     {
 38: 
 39:         $this->webfile = $webfile;
 40:         if (!isset($this->ignoredFieldsList)) {
 41:             $this->ignoredFieldsList = array();
 42:         }
 43: 
 44:         if (!isset($this->hiddenFieldsList)) {
 45:             $this->hiddenFieldsList = array();
 46:         }
 47: 
 48:         $action = "index.php?" . MUrl::getInstance()->getQueryString();
 49:         $method = "POST";
 50:         $this->form = new MForm($action, $method);
 51: 
 52:         $attributes = $this->webfile->getAttributes();
 53: 
 54:         /** @var \ReflectionProperty $attribute */
 55:         foreach ($attributes as $attribute) {
 56:             $attributeName = $attribute->getName();
 57: 
 58:             $attribute->setAccessible(true);
 59:             if (
 60:                 MWebfile::isSimpleDatatype($attributeName)
 61:                 && !array_key_exists($attributeName, $this->ignoredFieldsList)
 62:                 && !in_array($attributeName, $this->ignoredFieldsList)
 63:             ) {
 64: 
 65:                 $attributeValue = $attribute->getValue($this->webfile);
 66: 
 67:                 if (!array_key_exists($attributeName, $this->hiddenFieldsList)
 68:                     && !in_array($attributeName, $this->hiddenFieldsList)
 69:                 ) {
 70: 
 71: 
 72:                     // NOT HIDDEN FIELD
 73:                     if (isset($this->localizedNamesList[$attributeName])) {
 74:                         $formItem = MFormItemFactory::getFormItemByAttributeName(
 75:                             $attributeName,
 76:                             $attributeValue,
 77:                             $this->localizedNamesList[$attributeName]
 78:                         );
 79:                     } else {
 80:                         $formItem = MFormItemFactory::getFormItemByAttributeName(
 81:                             $attributeName,
 82:                             $attributeValue
 83:                         );
 84:                     }
 85:                 } else {
 86: 
 87:                     // HIDDEN FIELD
 88:                     $formItem = new MHiddenFormItem($attributeName, $attributeValue);
 89:                 }
 90: 
 91:                 $this->form->addFormItem($formItem);
 92:             }
 93:         }
 94: 
 95:         // ADD ITEM FOR CLASSNAME
 96:         $formItem = new MHiddenFormItem("classname", get_class($this->webfile));
 97:         $this->form->addFormItem($formItem);
 98: 
 99:     }
100: 
101:     public function setWebfile(MWebfile $webfile)
102:     {
103:         $this->webfile = $webfile;
104:     }
105: 
106:     /**
107:      *
108:      * @return string
109:      */
110:     public function getCode()
111:     {
112:         return $this->form->getCode();
113:     }
114: 
115:     public function setIgnoredFieldsList($ignoredFieldsList)
116:     {
117:         $this->ignoredFieldsList = $ignoredFieldsList;
118:     }
119: 
120:     public function setHiddenFieldsList($hiddenFieldsList)
121:     {
122:         $this->hiddenFieldsList = $hiddenFieldsList;
123:     }
124: 
125:     public function setLocalizedNamesList($fieldNameList)
126:     {
127:         $this->localizedNamesList = $fieldNameList;
128:     }
129: 
130:     /**
131:      * @return MForm
132:      */
133:     public function getForm()
134:     {
135:         return $this->form;
136:     }
137: 
138:     public function setLabelWidthOnEachFormItem($labelWidth)
139:     {
140:         $this->form->setLabelWidthOnEachFormItem($labelWidth);
141:     }
142: 
143: }
144: 
API documentation generated by ApiGen