EditAudioMD.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <?php
  2. class Application_Form_EditAudioMD extends Zend_Form
  3. {
  4. public function init() {}
  5. public function startForm($p_id)
  6. {
  7. $baseUrl = Application_Common_OsPath::getBaseDir();
  8. // Set the method for the display form to POST
  9. $this->setMethod('post');
  10. $this->addElement('hidden', 'file_id', array(
  11. 'value' => $p_id
  12. ));
  13. // Add title field
  14. $this->addElement('text', 'track_title', array(
  15. 'label' => _('Title:'),
  16. 'class' => 'input_text',
  17. 'filters' => array('StringTrim'),
  18. ));
  19. // Add artist field
  20. $this->addElement('text', 'artist_name', array(
  21. 'label' => _('Creator:'),
  22. 'class' => 'input_text',
  23. 'filters' => array('StringTrim'),
  24. ));
  25. // Add album field
  26. $this->addElement('text', 'album_title', array(
  27. 'label' => _('Album:'),
  28. 'class' => 'input_text',
  29. 'filters' => array('StringTrim')
  30. ));
  31. // Add track number field
  32. $this->addElement('text', 'track_number', array(
  33. 'label' => _('Track:'),
  34. 'class' => 'input_text',
  35. 'filters' => array('StringTrim'),
  36. ));
  37. // Add genre field
  38. $this->addElement('text', 'genre', array(
  39. 'label' => _('Genre:'),
  40. 'class' => 'input_text',
  41. 'filters' => array('StringTrim')
  42. ));
  43. // Add year field
  44. $year = new Zend_Form_Element_Text('year');
  45. $year->class = 'input_text';
  46. $year->setLabel(_('Year:'))
  47. ->setFilters(array('StringTrim'))
  48. ->setValidators(array(
  49. new Zend_Validate_StringLength(array('max' => 10)),
  50. Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM-DD"),
  51. Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY-MM"),
  52. Application_Form_Helper_ValidationTypes::overrrideDateValidator("YYYY")
  53. ));
  54. $this->addElement($year);
  55. // Add label field
  56. $this->addElement('text', 'label', array(
  57. 'label' => _('Label:'),
  58. 'class' => 'input_text',
  59. 'filters' => array('StringTrim')
  60. ));
  61. // Add composer field
  62. $this->addElement('text', 'composer', array(
  63. 'label' => _('Composer:'),
  64. 'class' => 'input_text',
  65. 'filters' => array('StringTrim')
  66. ));
  67. // Add conductor field
  68. $this->addElement('text', 'conductor', array(
  69. 'label' => _('Conductor:'),
  70. 'class' => 'input_text',
  71. 'filters' => array('StringTrim')
  72. ));
  73. // Add mood field
  74. $this->addElement('text', 'mood', array(
  75. 'label' => _('Mood:'),
  76. 'class' => 'input_text',
  77. 'filters' => array('StringTrim')
  78. ));
  79. // Add bmp field
  80. $bpm = new Zend_Form_Element_Text('bpm');
  81. $bpm->class = 'input_text';
  82. $bpm->setLabel(_('BPM:'))
  83. ->setFilters(array('StringTrim'))
  84. ->setValidators(array(
  85. new Zend_Validate_StringLength(array('min'=>0,'max' => 8)),
  86. new Zend_Validate_Digits()));
  87. $this->addElement($bpm);
  88. // Add copyright field
  89. $this->addElement('text', 'copyright', array(
  90. 'label' => _('Copyright:'),
  91. 'class' => 'input_text',
  92. 'filters' => array('StringTrim')
  93. ));
  94. // Add isrc number field
  95. $this->addElement('text', 'isrc_number', array(
  96. 'label' => _('ISRC Number:'),
  97. 'class' => 'input_text',
  98. 'filters' => array('StringTrim')
  99. ));
  100. // Add website field
  101. $this->addElement('text', 'info_url', array(
  102. 'label' => _('Website:'),
  103. 'class' => 'input_text',
  104. 'filters' => array('StringTrim')
  105. ));
  106. // Add language field
  107. $this->addElement('text', 'language', array(
  108. 'label' => _('Language:'),
  109. 'class' => 'input_text',
  110. 'filters' => array('StringTrim')
  111. ));
  112. // Add the submit button
  113. $this->addElement('button', 'editmdsave', array(
  114. 'ignore' => true,
  115. 'class' => 'btn',
  116. 'label' => _('Save'),
  117. 'decorators' => array(
  118. 'ViewHelper'
  119. )
  120. ));
  121. // Add the submit button
  122. $this->addElement('button', 'editmdcancel', array(
  123. 'ignore' => true,
  124. 'class' => 'btn md-cancel',
  125. 'label' => _('Cancel'),
  126. 'decorators' => array(
  127. 'ViewHelper'
  128. )
  129. ));
  130. $this->addDisplayGroup(array('editmdsave', 'editmdcancel'), 'submitButtons', array(
  131. 'decorators' => array(
  132. 'FormElements',
  133. 'DtDdWrapper'
  134. )
  135. ));
  136. }
  137. }