abstractField.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace MGModule\DNSManager2\mgLibs\forms;
  3. use MGModule\DNSManager2 as main;
  4. /**
  5. * Abstract Form Field
  6. *
  7. * @author Michal Czech <michael@modulesgarden.com>
  8. */
  9. abstract class abstractField {
  10. public $name;
  11. public $value;
  12. public $type;
  13. public $enableDescription = false;
  14. public $enableLabel = true;
  15. public $formName = false;
  16. public $default;
  17. public $nameAttr;
  18. public $addFormNameToFields = false;
  19. public $dataAttr = array();
  20. public $readonly = false;
  21. public $disabled = false;
  22. public $addIDs = false;
  23. public $colWidth = 9;
  24. public $continue = false;
  25. public $html = '';
  26. public $additinalClass = false;
  27. public $opentag;
  28. public $closetag;
  29. public $error;
  30. function __construct($params = array()) {
  31. foreach($params as $name => $value)
  32. {
  33. if(property_exists($this, $name))
  34. {
  35. $this->{$name} = $value;
  36. }
  37. }
  38. }
  39. function prepare(){
  40. ;
  41. }
  42. function generate(){
  43. $this->prepare();
  44. if($this->addFormNameToFields && empty($this->nameAttr))
  45. {
  46. $this->nameAttr = $this->formName.'_'.$this->name;
  47. }
  48. if(empty($this->nameAttr))
  49. {
  50. $this->nameAttr = $this->name;
  51. }
  52. if(empty($this->value) && !empty($this->default))
  53. {
  54. $this->value = $this->default;
  55. }
  56. if($this->opentag == false)
  57. {
  58. $this->enableLabel = false;
  59. }
  60. main\mgLibs\lang::stagCurrentContext('generateField');
  61. if($this->type == 'submit')
  62. {
  63. main\mgLibs\lang::addToContext($this->value);
  64. }
  65. else
  66. {
  67. main\mgLibs\lang::addToContext($this->name);
  68. }
  69. $this->html = main\mgLibs\smarty::I()->view($this->type, (array)$this, main\mgLibs\process\mainInstance::getModuleTemplatesDir().DS.'formFields');
  70. main\mgLibs\lang::unstagContext('generateField');
  71. }
  72. }