/wp-content/plugins/wp-user-frontend/admin/template.php

https://gitlab.com/Gashler/sg · PHP · 651 lines · 476 code · 105 blank · 70 comment · 14 complexity · 155e5d71e3725e0a6658a2f2c419bf62 MD5 · raw file

  1. <?php
  2. /**
  3. * WPUF Form builder template
  4. *
  5. * @package WP User Frontend
  6. * @author Tareq Hasan <tareq@wedevs.com>
  7. */
  8. class WPUF_Admin_Template {
  9. static $input_name = 'wpuf_input';
  10. static $cond_name = 'wpuf_cond';
  11. /**
  12. * Legend of a form item
  13. *
  14. * @param string $title
  15. * @param array $values
  16. */
  17. public static function legend( $title = 'Field Name', $values = array(), $field_id = 0 ) {
  18. $field_label = $values ? ': <strong>' . $values['label'] . '</strong>' : '';
  19. $id = isset( $values['id'] ) ? $values['id'] : '';
  20. ?>
  21. <div class="wpuf-legend" title="<?php _e( 'Click and Drag to rearrange', 'wpuf' ); ?>">
  22. <input type="hidden" value="<?php echo $id; ?>" name="wpuf_input[<?php echo $field_id; ?>][id]">
  23. <div class="wpuf-label"><?php echo $title . $field_label; ?></div>
  24. <div class="wpuf-actions">
  25. <a href="#" class="wpuf-remove"><?php _e( 'Remove', 'wpuf' ); ?></a>
  26. <a href="#" class="wpuf-toggle"><?php _e( 'Toggle', 'wpuf' ); ?></a>
  27. </div>
  28. </div> <!-- .wpuf-legend -->
  29. <?php
  30. }
  31. /**
  32. * Common Fields for a input field
  33. *
  34. * Contains required, label, meta_key, help text, css class name
  35. *
  36. * @param int $id field order
  37. * @param mixed $field_name_value
  38. * @param bool $custom_field if it a custom field or not
  39. * @param array $values saved value
  40. */
  41. public static function common( $id, $field_name_value = '', $custom_field = true, $values = array() ) {
  42. $tpl = '%s[%d][%s]';
  43. $required_name = sprintf( $tpl, self::$input_name, $id, 'required' );
  44. $field_name = sprintf( $tpl, self::$input_name, $id, 'name' );
  45. $label_name = sprintf( $tpl, self::$input_name, $id, 'label' );
  46. $is_meta_name = sprintf( $tpl, self::$input_name, $id, 'is_meta' );
  47. $help_name = sprintf( $tpl, self::$input_name, $id, 'help' );
  48. $css_name = sprintf( $tpl, self::$input_name, $id, 'css' );
  49. // $field_name_value = $field_name_value ?
  50. $required = $values ? esc_attr( $values['required'] ) : 'yes';
  51. $label_value = $values ? esc_attr( $values['label'] ) : '';
  52. $help_value = $values ? stripslashes( $values['help'] ) : '';
  53. $css_value = $values ? esc_attr( $values['css'] ) : '';
  54. if ( $custom_field && $values ) {
  55. $field_name_value = $values['name'];
  56. }
  57. // var_dump($values);
  58. // var_dump($required, $label_value, $help_value);
  59. ?>
  60. <div class="wpuf-form-rows required-field">
  61. <label><?php _e( 'Required', 'wpuf' ); ?></label>
  62. <div class="wpuf-form-sub-fields">
  63. <label><input type="radio" name="<?php echo $required_name; ?>" value="yes"<?php checked( $required, 'yes' ); ?>> <?php _e( 'Yes', 'wpuf' ); ?> </label>
  64. <label><input type="radio" name="<?php echo $required_name; ?>" value="no"<?php checked( $required, 'no' ); ?>> <?php _e( 'No', 'wpuf' ); ?> </label>
  65. </div>
  66. </div> <!-- .wpuf-form-rows -->
  67. <div class="wpuf-form-rows">
  68. <label><?php _e( 'Field Label', 'wpuf' ); ?></label>
  69. <input type="text" data-type="label" name="<?php echo $label_name; ?>" value="<?php echo $label_value; ?>" class="smallipopInput" title="<?php _e( 'Enter a title of this field', 'wpuf' ); ?>">
  70. </div> <!-- .wpuf-form-rows -->
  71. <?php if ( $custom_field ) { ?>
  72. <div class="wpuf-form-rows">
  73. <label><?php _e( 'Meta Key', 'wpuf' ); ?></label>
  74. <input type="text" data-type="name" name="<?php echo $field_name; ?>" value="<?php echo $field_name_value; ?>" class="smallipopInput" title="<?php _e( 'Name of the meta key this field will save to', 'wpuf' ); ?>">
  75. <input type="hidden" name="<?php echo $is_meta_name; ?>" value="yes">
  76. </div> <!-- .wpuf-form-rows -->
  77. <?php } else { ?>
  78. <input type="hidden" data-type="name" name="<?php echo $field_name; ?>" value="<?php echo $field_name_value; ?>">
  79. <input type="hidden" name="<?php echo $is_meta_name; ?>" value="no">
  80. <?php } ?>
  81. <div class="wpuf-form-rows">
  82. <label><?php _e( 'Help text', 'wpuf' ); ?></label>
  83. <textarea name="<?php echo $help_name; ?>" class="smallipopInput" title="<?php _e( 'Give the user some information about this field', 'wpuf' ); ?>"><?php echo $help_value; ?></textarea>
  84. </div> <!-- .wpuf-form-rows -->
  85. <div class="wpuf-form-rows">
  86. <label><?php _e( 'CSS Class Name', 'wpuf' ); ?></label>
  87. <input type="text" name="<?php echo $css_name; ?>" value="<?php echo $css_value; ?>" class="smallipopInput" title="<?php _e( 'Add a CSS class name for this field', 'wpuf' ); ?>">
  88. </div> <!-- .wpuf-form-rows -->
  89. <?php
  90. }
  91. /**
  92. * Common fields for a text area
  93. *
  94. * @param int $id
  95. * @param array $values
  96. */
  97. public static function common_text( $id, $values = array() ) {
  98. $tpl = '%s[%d][%s]';
  99. $placeholder_name = sprintf( $tpl, self::$input_name, $id, 'placeholder' );
  100. $default_name = sprintf( $tpl, self::$input_name, $id, 'default' );
  101. $size_name = sprintf( $tpl, self::$input_name, $id, 'size' );
  102. $placeholder_value = $values ? esc_attr( $values['placeholder'] ) : '';
  103. $default_value = $values ? esc_attr( $values['default'] ) : '';
  104. $size_value = $values ? esc_attr( $values['size'] ) : '40';
  105. ?>
  106. <div class="wpuf-form-rows">
  107. <label><?php _e( 'Placeholder text', 'wpuf' ); ?></label>
  108. <input type="text" class="smallipopInput" name="<?php echo $placeholder_name; ?>" title="<?php esc_attr_e( 'Text for HTML5 placeholder attribute', 'wpuf' ); ?>" value="<?php echo $placeholder_value; ?>" />
  109. </div> <!-- .wpuf-form-rows -->
  110. <div class="wpuf-form-rows">
  111. <label><?php _e( 'Default value', 'wpuf' ); ?></label>
  112. <input type="text" class="smallipopInput" name="<?php echo $default_name; ?>" title="<?php esc_attr_e( 'The default value this field will have', 'wpuf' ); ?>" value="<?php echo $default_value; ?>" />
  113. </div> <!-- .wpuf-form-rows -->
  114. <div class="wpuf-form-rows">
  115. <label><?php _e( 'Size', 'wpuf' ); ?></label>
  116. <input type="text" class="smallipopInput" name="<?php echo $size_name; ?>" title="<?php esc_attr_e( 'Size of this input field', 'wpuf' ); ?>" value="<?php echo $size_value; ?>" />
  117. </div> <!-- .wpuf-form-rows -->
  118. <?php
  119. }
  120. /**
  121. * Common fields for a textarea
  122. *
  123. * @param int $id
  124. * @param array $values
  125. */
  126. public static function common_textarea( $id, $values = array() ) {
  127. $tpl = '%s[%d][%s]';
  128. $rows_name = sprintf( $tpl, self::$input_name, $id, 'rows' );
  129. $cols_name = sprintf( $tpl, self::$input_name, $id, 'cols' );
  130. $rich_name = sprintf( $tpl, self::$input_name, $id, 'rich' );
  131. $placeholder_name = sprintf( $tpl, self::$input_name, $id, 'placeholder' );
  132. $default_name = sprintf( $tpl, self::$input_name, $id, 'default' );
  133. $rows_value = $values ? esc_attr( $values['rows'] ) : '5';
  134. $cols_value = $values ? esc_attr( $values['cols'] ) : '25';
  135. $rich_value = $values ? esc_attr( $values['rich'] ) : 'no';
  136. $placeholder_value = $values ? esc_attr( $values['placeholder'] ) : '';
  137. $default_value = $values ? esc_attr( $values['default'] ) : '';
  138. ?>
  139. <div class="wpuf-form-rows">
  140. <label><?php _e( 'Rows', 'wpuf' ); ?></label>
  141. <input type="text" class="smallipopInput" name="<?php echo $rows_name; ?>" title="Number of rows in textarea" value="<?php echo $rows_value; ?>" />
  142. </div> <!-- .wpuf-form-rows -->
  143. <div class="wpuf-form-rows">
  144. <label><?php _e( 'Columns', 'wpuf' ); ?></label>
  145. <input type="text" class="smallipopInput" name="<?php echo $cols_name; ?>" title="Number of columns in textarea" value="<?php echo $cols_value; ?>" />
  146. </div> <!-- .wpuf-form-rows -->
  147. <div class="wpuf-form-rows">
  148. <label><?php _e( 'Placeholder text', 'wpuf' ); ?></label>
  149. <input type="text" class="smallipopInput" name="<?php echo $placeholder_name; ?>" title="text for HTML5 placeholder attribute" value="<?php echo $placeholder_value; ?>" />
  150. </div> <!-- .wpuf-form-rows -->
  151. <div class="wpuf-form-rows">
  152. <label><?php _e( 'Default value', 'wpuf' ); ?></label>
  153. <input type="text" class="smallipopInput" name="<?php echo $default_name; ?>" title="the default value this field will have" value="<?php echo $default_value; ?>" />
  154. </div> <!-- .wpuf-form-rows -->
  155. <div class="wpuf-form-rows">
  156. <label><?php _e( 'Textarea', 'wpuf' ); ?></label>
  157. <div class="wpuf-form-sub-fields">
  158. <label><input type="radio" name="<?php echo $rich_name; ?>" value="no"<?php checked( $rich_value, 'no' ); ?>> <?php _e( 'Normal', 'wpuf' ); ?></label>
  159. <label><input type="radio" name="<?php echo $rich_name; ?>" value="yes"<?php checked( $rich_value, 'yes' ); ?>> <?php _e( 'Rich textarea', 'wpuf' ); ?></label>
  160. <label><input type="radio" name="<?php echo $rich_name; ?>" value="teeny"<?php checked( $rich_value, 'teeny' ); ?>> <?php _e( 'Teeny Rich textarea', 'wpuf' ); ?></label>
  161. </div>
  162. </div> <!-- .wpuf-form-rows -->
  163. <?php
  164. }
  165. /**
  166. * Hidden field helper function
  167. *
  168. * @param string $name
  169. * @param string $value
  170. */
  171. public static function hidden_field( $name, $value = '' ) {
  172. printf( '<input type="hidden" name="%s" value="%s" />', self::$input_name . $name, $value );
  173. }
  174. /**
  175. * Displays a radio custom field
  176. *
  177. * @param int $field_id
  178. * @param string $name
  179. * @param array $values
  180. */
  181. public static function radio_fields( $field_id, $name, $values = array() ) {
  182. $selected_name = sprintf( '%s[%d][selected]', self::$input_name, $field_id );
  183. $input_name = sprintf( '%s[%d][%s]', self::$input_name, $field_id, $name );
  184. $input_value_name = sprintf( '%s[%d][%s]', self::$input_name, $field_id, $name.'_values' );
  185. $selected_value = ( $values && isset( $values['selected'] ) ) ? $values['selected'] : '';
  186. ?>
  187. <label for="wpuf-<?php echo $name.'_'.$field_id; ?>" class="wpuf-show-field-value">
  188. <input type="checkbox" class="wpuf-value-handelar" id="wpuf-<?php echo $name . '_' . $field_id; ?>"><?php _e( 'Show values', 'wpuf' ); ?>
  189. </label>
  190. <div class="wpuf-option-label-value"><span><?php _e( 'Label', 'wpuf' ); ?></span><span class="wpuf-option-value" style="display: none;"><?php _e( 'Value', 'wpuf' ); ?></span></div>
  191. <?php
  192. if ( $values && $values['options'] > 0 ) {
  193. foreach ($values['options'] as $key => $value) {
  194. ?>
  195. <div class="wpuf-clone-field">
  196. <input type="radio" name="<?php echo $selected_name ?>" value="<?php echo $value; ?>" <?php checked( $selected_value, $value ); ?>>
  197. <input type="text" data-type="option" name="<?php echo $input_name; ?>[]" value="<?php echo $value; ?>">
  198. <input type="text" data-type="option_value" name="<?php echo $input_value_name; ?>[]" value="<?php echo $key; ?>" style="display:none;">
  199. <?php self::remove_button(); ?>
  200. </div>
  201. <?php
  202. }
  203. } else {
  204. ?>
  205. <div class="wpuf-clone-field">
  206. <input type="radio" name="<?php echo $selected_name ?>">
  207. <input type="text" data-type="option" name="<?php echo $input_name; ?>[]" value="">
  208. <input type="text" data-type="option_value" name="<?php echo $input_value_name; ?>[]" value="" style="display:none;">
  209. <?php self::remove_button(); ?>
  210. </div>
  211. <?php
  212. }
  213. }
  214. public static function conditional_field( $field_id, $con_fields = array() ) {
  215. do_action( 'wpuf_conditional_field_render_hook',$field_id, $con_fields, 'WPUF_Admin_Template' );
  216. }
  217. /**
  218. * Displays a checkbox custom field
  219. *
  220. * @param int $field_id
  221. * @param string $name
  222. * @param array $values
  223. */
  224. public static function common_checkbox( $field_id, $name, $values = array() ) {
  225. $selected_name = sprintf( '%s[%d][selected]', self::$input_name, $field_id );
  226. $input_name = sprintf( '%s[%d][%s]', self::$input_name, $field_id, $name );
  227. $input_value_name = sprintf( '%s[%d][%s]', self::$input_name, $field_id, $name.'_values' );
  228. $selected_value = ( $values && isset( $values['selected'] ) ) ? $values['selected'] : array();
  229. ?>
  230. <style>
  231. .wpuf-option-label-value span {
  232. font-weight: bold;
  233. margin-left: 5%;
  234. margin-right: 27%;
  235. }
  236. </style>
  237. <input type="checkbox" class="wpuf-value-handelar" id="<?php echo $name.'_'.$field_id; ?>"><label for="<?php echo $name.'_'.$field_id; ?>"><?php _e('show values', 'wpuf'); ?></label>
  238. <div class="wpuf-option-label-value"><span><?php _e( 'Label', 'wpuf' ); ?></span><span class="wpuf-option-value" style="display: none;"><?php _e( 'Value', 'wpuf' ); ?></span></div>
  239. <?php
  240. if ( $values && $values['options'] > 0 ) {
  241. foreach ($values['options'] as $key => $value) {
  242. ?>
  243. <div class="wpuf-clone-field">
  244. <input type="checkbox" name="<?php echo $selected_name ?>[]" value="<?php echo $value; ?>"<?php echo in_array( $value, $selected_value ) ? ' checked="checked"' : ''; ?> />
  245. <input type="text" data-type="option" name="<?php echo $input_name; ?>[]" value="<?php echo $value; ?>">
  246. <input type="text" data-type="option_value" name="<?php echo $input_value_name; ?>[]" value="<?php echo $key; ?>" style="display:none;">
  247. <?php self::remove_button(); ?>
  248. </div>
  249. <?php
  250. }
  251. } else {
  252. ?>
  253. <div class="wpuf-clone-field">
  254. <input type="checkbox" name="<?php echo $selected_name ?>[]">
  255. <input type="text" data-type="option" name="<?php echo $input_name; ?>[]" value="">
  256. <input type="text" data-type="option_value" name="<?php echo $input_value_name; ?>[]" value="" style="display:none;">
  257. <?php self::remove_button(); ?>
  258. </div>
  259. <?php
  260. }
  261. }
  262. /**
  263. * Add/remove buttons for repeatable fields
  264. *
  265. * @return void
  266. */
  267. public static function remove_button() {
  268. $add = plugins_url( 'assets/images/add.png', dirname( __FILE__ ) );
  269. $remove = plugins_url( 'assets/images/remove.png', dirname( __FILE__ ) );
  270. ?>
  271. <img style="cursor:pointer; margin:0 3px;" alt="add another choice" title="add another choice" class="wpuf-clone-field" src="<?php echo $add; ?>">
  272. <img style="cursor:pointer;" class="wpuf-remove-field" alt="remove this choice" title="remove this choice" src="<?php echo $remove; ?>">
  273. <?php
  274. }
  275. public static function get_buffered( $func, $field_id, $label ) {
  276. ob_start();
  277. self::$func( $field_id, $label );
  278. return ob_get_clean();
  279. }
  280. public static function text_field( $field_id, $label, $values = array() ) {
  281. ?>
  282. <li class="custom-field text_field">
  283. <?php self::legend( $label, $values, $field_id ); ?>
  284. <?php self::hidden_field( "[$field_id][input_type]", 'text' ); ?>
  285. <?php self::hidden_field( "[$field_id][template]", 'text_field' ); ?>
  286. <div class="wpuf-form-holder">
  287. <?php self::common( $field_id, '', true, $values ); ?>
  288. <?php self::common_text( $field_id, $values ); ?>
  289. <?php self::conditional_field( $field_id, $values ); ?>
  290. </div> <!-- .wpuf-form-holder -->
  291. </li>
  292. <?php
  293. }
  294. public static function textarea_field( $field_id, $label, $values = array() ) {
  295. $word_restriction_name = sprintf( '%s[%d][word_restriction]', self::$input_name, $field_id );
  296. $word_restriction_value = isset( $values['word_restriction'] ) && is_numeric( $values['word_restriction'] ) ? $values['word_restriction'] : '';
  297. ?>
  298. <li class="custom-field textarea_field">
  299. <?php self::legend( $label, $values, $field_id ); ?>
  300. <?php self::hidden_field( "[$field_id][input_type]", 'textarea' ); ?>
  301. <?php self::hidden_field( "[$field_id][template]", 'textarea_field' ); ?>
  302. <div class="wpuf-form-holder">
  303. <?php self::common( $field_id, '', true, $values ); ?>
  304. <?php self::common_textarea( $field_id, $values ); ?>
  305. <div class="wpuf-form-rows">
  306. <label><?php _e( 'Word Restriction', 'wpuf' ); ?></label>
  307. <div class="wpuf-form-sub-fields">
  308. <label>
  309. <input type="text" class="smallipopInput" name="<?php echo $word_restriction_name ?>" value="<?php echo $word_restriction_value; ?>" title="<?php esc_attr_e( 'Numebr of words the author to be restricted in', 'wpuf' ); ?>" />
  310. </label>
  311. </div>
  312. </div>
  313. <?php self::conditional_field( $field_id, $values ); ?>
  314. </div> <!-- .wpuf-form-holder -->
  315. </li>
  316. <?php
  317. }
  318. public static function radio_field( $field_id, $label, $values = array() ) {
  319. ?>
  320. <li class="custom-field radio_field wpuf-conditional">
  321. <?php self::legend( $label, $values, $field_id ); ?>
  322. <?php self::hidden_field( "[$field_id][input_type]", 'radio' ); ?>
  323. <?php self::hidden_field( "[$field_id][template]", 'radio_field' ); ?>
  324. <div class="wpuf-form-holder">
  325. <?php self::common( $field_id, '', true, $values ); ?>
  326. <div class="wpuf-form-rows">
  327. <label><?php _e( 'Options', 'wpuf' ); ?></label>
  328. <div class="wpuf-form-sub-fields wpuf-options">
  329. <?php self::radio_fields( $field_id, 'options', $values ); ?>
  330. </div> <!-- .wpuf-form-sub-fields -->
  331. <?php self::conditional_field( $field_id, $values ); ?>
  332. </div> <!-- .wpuf-form-rows -->
  333. </div> <!-- .wpuf-form-holder -->
  334. </li>
  335. <?php
  336. }
  337. public static function checkbox_field( $field_id, $label, $values = array() ) {
  338. ?>
  339. <li class="custom-field checkbox_field wpuf-conditional">
  340. <?php self::legend( $label, $values, $field_id ); ?>
  341. <?php self::hidden_field( "[$field_id][input_type]", 'checkbox' ); ?>
  342. <?php self::hidden_field( "[$field_id][template]", 'checkbox_field' ); ?>
  343. <div class="wpuf-form-holder">
  344. <?php self::common( $field_id, '', true, $values ); ?>
  345. <div class="wpuf-form-rows">
  346. <label><?php _e( 'Options', 'wpuf' ); ?></label>
  347. <div class="wpuf-form-sub-fields wpuf-options">
  348. <?php self::common_checkbox( $field_id, 'options', $values ); ?>
  349. </div> <!-- .wpuf-form-sub-fields -->
  350. <?php self::conditional_field( $field_id, $values ); ?>
  351. </div> <!-- .wpuf-form-rows -->
  352. </div> <!-- .wpuf-form-holder -->
  353. </li>
  354. <?php
  355. }
  356. public static function dropdown_field( $field_id, $label, $values = array() ) {
  357. $first_name = sprintf( '%s[%d][first]', self::$input_name, $field_id );
  358. $first_value = $values ? $values['first'] : ' - select -';
  359. $help = esc_attr( __( 'First element of the select dropdown. Leave this empty if you don\'t want to show this field', 'wpuf' ) );
  360. ?>
  361. <li class="custom-field dropdown_field wpuf-conditional">
  362. <?php self::legend( $label, $values, $field_id ); ?>
  363. <?php self::hidden_field( "[$field_id][input_type]", 'select' ); ?>
  364. <?php self::hidden_field( "[$field_id][template]", 'dropdown_field' ); ?>
  365. <div class="wpuf-form-holder">
  366. <?php self::common( $field_id, '', true, $values ); ?>
  367. <div class="wpuf-form-rows">
  368. <label><?php _e( 'Select Text', 'wpuf' ); ?></label>
  369. <input type="text" class="smallipopInput" name="<?php echo $first_name; ?>" value="<?php echo $first_value; ?>" title="<?php echo $help; ?>">
  370. </div> <!-- .wpuf-form-rows -->
  371. <div class="wpuf-form-rows">
  372. <label><?php _e( 'Options', 'wpuf' ); ?></label>
  373. <div class="wpuf-form-sub-fields wpuf-options">
  374. <?php self::radio_fields( $field_id, 'options', $values ); ?>
  375. </div> <!-- .wpuf-form-sub-fields -->
  376. <?php self::conditional_field( $field_id, $values ); ?>
  377. </div> <!-- .wpuf-form-rows -->
  378. </div> <!-- .wpuf-form-holder -->
  379. </li>
  380. <?php
  381. }
  382. public static function multiple_select( $field_id, $label, $values = array() ) {
  383. $first_name = sprintf( '%s[%d][first]', self::$input_name, $field_id );
  384. $first_value = $values ? $values['first'] : ' - select -';
  385. $help = esc_attr( __( 'First element of the select dropdown. Leave this empty if you don\'t want to show this field', 'wpuf' ) );
  386. ?>
  387. <li class="custom-field multiple_select">
  388. <?php self::legend( $label, $values, $field_id ); ?>
  389. <?php self::hidden_field( "[$field_id][input_type]", 'multiselect' ); ?>
  390. <?php self::hidden_field( "[$field_id][template]", 'multiple_select' ); ?>
  391. <div class="wpuf-form-holder">
  392. <?php self::common( $field_id, '', true, $values ); ?>
  393. <div class="wpuf-form-rows">
  394. <label><?php _e( 'Select Text', 'wpuf' ); ?></label>
  395. <input type="text" class="smallipopInput" name="<?php echo $first_name; ?>" value="<?php echo $first_value; ?>" title="<?php echo $help; ?>">
  396. </div> <!-- .wpuf-form-rows -->
  397. <div class="wpuf-form-rows">
  398. <label><?php _e( 'Options', 'wpuf' ); ?></label>
  399. <div class="wpuf-form-sub-fields wpuf-options">
  400. <?php self::radio_fields( $field_id, 'options', $values ); ?>
  401. </div> <!-- .wpuf-form-sub-fields -->
  402. <?php self::conditional_field( $field_id, $values ); ?>
  403. </div> <!-- .wpuf-form-rows -->
  404. </div> <!-- .wpuf-form-holder -->
  405. </li>
  406. <?php
  407. }
  408. public static function website_url( $field_id, $label, $values = array() ) {
  409. ?>
  410. <li class="custom-field website_url">
  411. <?php self::legend( $label, $values, $field_id ); ?>
  412. <?php self::hidden_field( "[$field_id][input_type]", 'url' ); ?>
  413. <?php self::hidden_field( "[$field_id][template]", 'website_url' ); ?>
  414. <div class="wpuf-form-holder">
  415. <?php self::common( $field_id, '', true, $values ); ?>
  416. <?php self::common_text( $field_id, $values ); ?>
  417. <?php self::conditional_field( $field_id, $values ); ?>
  418. </div> <!-- .wpuf-form-holder -->
  419. </li>
  420. <?php
  421. }
  422. public static function email_address( $field_id, $label, $values = array() ) {
  423. ?>
  424. <li class="custom-field eamil_address">
  425. <?php self::legend( $label, $values, $field_id ); ?>
  426. <?php self::hidden_field( "[$field_id][input_type]", 'email' ); ?>
  427. <?php self::hidden_field( "[$field_id][template]", 'email_address' ); ?>
  428. <div class="wpuf-form-holder">
  429. <?php self::common( $field_id, '', true, $values ); ?>
  430. <?php self::common_text( $field_id, $values ); ?>
  431. <?php self::conditional_field( $field_id, $values ); ?>
  432. </div> <!-- .wpuf-form-holder -->
  433. </li>
  434. <?php
  435. }
  436. public static function custom_html( $field_id, $label, $values = array() ) {
  437. $title_name = sprintf( '%s[%d][label]', self::$input_name, $field_id );
  438. $html_name = sprintf( '%s[%d][html]', self::$input_name, $field_id );
  439. $title_value = $values ? esc_attr( $values['label'] ) : '';
  440. $html_value = $values ? esc_attr( $values['html'] ) : '';
  441. ?>
  442. <li class="custom-field custom_html">
  443. <?php self::legend( $label, $values, $field_id ); ?>
  444. <?php self::hidden_field( "[$field_id][input_type]", 'html' ); ?>
  445. <?php self::hidden_field( "[$field_id][template]", 'custom_html' ); ?>
  446. <div class="wpuf-form-holder">
  447. <div class="wpuf-form-rows">
  448. <label><?php _e( 'Title', 'wpuf' ); ?></label>
  449. <input type="text" class="smallipopInput" title="Title of the section" name="<?php echo $title_name; ?>" value="<?php echo esc_attr( $title_value ); ?>" />
  450. </div> <!-- .wpuf-form-rows -->
  451. <div class="wpuf-form-rows">
  452. <label><?php _e( 'HTML Codes', 'wpuf' ); ?></label>
  453. <textarea class="smallipopInput" title="Paste your HTML codes, WordPress shortcodes will also work here" name="<?php echo $html_name; ?>" rows="10"><?php echo esc_html( $html_value ); ?></textarea>
  454. </div>
  455. <?php self::conditional_field( $field_id, $values ); ?>
  456. </div> <!-- .wpuf-form-holder -->
  457. </li>
  458. <?php
  459. }
  460. public static function custom_hidden_field( $field_id, $label, $values = array() ) {
  461. $meta_name = sprintf( '%s[%d][name]', self::$input_name, $field_id );
  462. $value_name = sprintf( '%s[%d][meta_value]', self::$input_name, $field_id );
  463. $is_meta_name = sprintf( '%s[%d][is_meta]', self::$input_name, $field_id );
  464. $label_name = sprintf( '%s[%d][label]', self::$input_name, $field_id );
  465. $meta_value = $values ? esc_attr( $values['name'] ) : '';
  466. $value_value = $values ? esc_attr( $values['meta_value'] ) : '';
  467. ?>
  468. <li class="custom-field custom_hidden_field">
  469. <?php self::legend( $label, $values, $field_id ); ?>
  470. <?php self::hidden_field( "[$field_id][input_type]", 'hidden' ); ?>
  471. <?php self::hidden_field( "[$field_id][template]", 'custom_hidden_field' ); ?>
  472. <div class="wpuf-form-holder">
  473. <div class="wpuf-form-rows">
  474. <label><?php _e( 'Meta Key', 'wpuf' ); ?></label>
  475. <input type="text" name="<?php echo $meta_name; ?>" value="<?php echo $meta_value; ?>" class="smallipopInput" title="<?php _e( 'Name of the meta key this field will save to', 'wpuf' ); ?>">
  476. <input type="hidden" name="<?php echo $is_meta_name; ?>" value="yes">
  477. <input type="hidden" name="<?php echo $label_name; ?>" value="">
  478. </div> <!-- .wpuf-form-rows -->
  479. <div class="wpuf-form-rows">
  480. <label><?php _e( 'Meta Value', 'wpuf' ); ?></label>
  481. <input type="text" class="smallipopInput" title="<?php esc_attr_e( 'Enter the meta value', 'wpuf' ); ?>" name="<?php echo $value_name; ?>" value="<?php echo $value_value; ?>">
  482. </div>
  483. </div> <!-- .wpuf-form-holder -->
  484. </li>
  485. <?php
  486. }
  487. public static function section_break( $field_id, $label, $values = array() ) {
  488. $title_name = sprintf( '%s[%d][label]', self::$input_name, $field_id );
  489. $description_name = sprintf( '%s[%d][description]', self::$input_name, $field_id );
  490. $title_value = $values ? esc_attr( $values['label'] ) : '';
  491. $description_value = $values ? esc_attr( $values['description'] ) : '';
  492. ?>
  493. <li class="custom-field custom_html">
  494. <?php self::legend( $label, $values, $field_id ); ?>
  495. <?php self::hidden_field( "[$field_id][input_type]", 'section_break' ); ?>
  496. <?php self::hidden_field( "[$field_id][template]", 'section_break' ); ?>
  497. <div class="wpuf-form-holder">
  498. <div class="wpuf-form-rows">
  499. <label><?php _e( 'Title', 'wpuf' ); ?></label>
  500. <input type="text" class="smallipopInput" title="Title of the section" name="<?php echo $title_name; ?>" value="<?php echo esc_attr( $title_value ); ?>" />
  501. </div> <!-- .wpuf-form-rows -->
  502. <div class="wpuf-form-rows">
  503. <label><?php _e( 'Description', 'wpuf' ); ?></label>
  504. <textarea class="smallipopInput" title="Some details text about the section" name="<?php echo $description_name; ?>" rows="3"><?php echo esc_html( $description_value ); ?></textarea>
  505. </div> <!-- .wpuf-form-rows -->
  506. <?php self::conditional_field( $field_id, $values ); ?>
  507. </div> <!-- .wpuf-form-holder -->
  508. </li>
  509. <?php
  510. }
  511. /**
  512. * Render image upload
  513. *
  514. * @param $field_id
  515. * @param $label
  516. * @param self
  517. * @param array $values
  518. */
  519. public static function image_upload( $field_id, $label, $values = array() ) {
  520. $max_size_name = sprintf( '%s[%d][max_size]', self::$input_name, $field_id );
  521. $max_files_name = sprintf( '%s[%d][count]', self::$input_name, $field_id );
  522. $max_size_value = $values ? $values['max_size'] : '1024';
  523. $max_files_value = $values ? $values['count'] : '1';
  524. $help = esc_attr( __( 'Enter maximum upload size limit in KB', 'wpuf' ) );
  525. $count = esc_attr( __( 'Number of images can be uploaded', 'wpuf' ) );
  526. ?>
  527. <li class="custom-field image_upload">
  528. <?php self::legend( $label, $values, $field_id ); ?>
  529. <?php self::hidden_field( "[$field_id][input_type]", 'image_upload' ); ?>
  530. <?php self::hidden_field( "[$field_id][template]", 'image_upload' ); ?>
  531. <div class="wpuf-form-holder">
  532. <?php self::common( $field_id, '', true, $values ); ?>
  533. <div class="wpuf-form-rows">
  534. <label><?php _e( 'Max. file size', 'wpuf' ); ?></label>
  535. <input type="text" class="smallipopInput" name="<?php echo $max_size_name; ?>" value="<?php echo $max_size_value; ?>" title="<?php echo $help; ?>">
  536. </div> <!-- .wpuf-form-rows -->
  537. <div class="wpuf-form-rows">
  538. <label><?php _e( 'Max. files', 'wpuf' ); ?></label>
  539. <input type="text" class="smallipopInput" name="<?php echo $max_files_name; ?>" value="<?php echo $max_files_value; ?>" title="<?php echo $count; ?>">
  540. </div> <!-- .wpuf-form-rows -->
  541. <?php self::conditional_field( $field_id, $values ); ?>
  542. </div> <!-- .wpuf-form-holder -->
  543. </li>
  544. <?php
  545. }
  546. }