/htdocs/wp-content/themes/generatepress/inc/metaboxes.php

https://gitlab.com/vanafroo/voipWEB · PHP · 295 lines · 218 code · 40 blank · 37 comment · 34 complexity · f0509500bc84e9b67f77eab1a1548a2d MD5 · raw file

  1. <?php
  2. // No direct access, please
  3. if ( ! defined( 'ABSPATH' ) ) exit;
  4. if ( ! function_exists( 'generate_add_layout_meta_box' ) ) :
  5. /**
  6. * Generate the layout metabox
  7. * @since 0.1
  8. */
  9. add_action( 'add_meta_boxes', 'generate_add_layout_meta_box' );
  10. function generate_add_layout_meta_box() {
  11. // Set user role - make filterable
  12. $allowed = apply_filters( 'generate_metabox_capability', 'edit_theme_options' );
  13. // If not an administrator, don't show the metabox
  14. if ( ! current_user_can( $allowed ) )
  15. return;
  16. $post_types = get_post_types();
  17. foreach ($post_types as $type) {
  18. if ( 'attachment' !== $type ) {
  19. add_meta_box (
  20. 'generate_layout_meta_box', // $id
  21. __('Sidebar Layout','generatepress'), // $title
  22. 'generate_show_layout_meta_box', // $callback
  23. $type, // $page
  24. 'side', // $context
  25. 'default' // $priority
  26. );
  27. }
  28. }
  29. }
  30. endif;
  31. if ( ! function_exists( 'generate_show_layout_meta_box' ) ) :
  32. /**
  33. * Outputs the content of the metabox
  34. */
  35. function generate_show_layout_meta_box( $post ) {
  36. wp_enqueue_script( 'generate_press_metaboxes' );
  37. wp_nonce_field( basename( __FILE__ ), 'generate_layout_nonce' );
  38. $stored_meta = get_post_meta( $post->ID );
  39. $stored_meta['_generate-sidebar-layout-meta'][0] = ( isset( $stored_meta['_generate-sidebar-layout-meta'][0] ) ) ? $stored_meta['_generate-sidebar-layout-meta'][0] : '';
  40. $checked = ( isset($stored_meta['_generate-sidebar-layout-meta'][0]) && '' == $stored_meta['_generate-sidebar-layout-meta'][0] ) ? 'checked="checked"' : '';
  41. ?>
  42. <p>
  43. <div class="generate_layouts">
  44. <label for="meta-generate-layout-global" style="display:block;margin-bottom:10px;">
  45. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-global" value="" <?php echo $checked; ?>>
  46. <?php _e('Global Layout Settings','generatepress');?>
  47. </label>
  48. <label for="meta-generate-layout-one" style="display:block;margin-bottom:3px;" title="<?php _e('Right Sidebar','generatepress');?>">
  49. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-one" value="right-sidebar" <?php checked( $stored_meta['_generate-sidebar-layout-meta'][0], 'right-sidebar' ); ?>>
  50. <?php _e('Content','generatepress');?> / <strong><?php _e('Sidebar','generatepress');?></strong>
  51. </label>
  52. <label for="meta-generate-layout-two" style="display:block;margin-bottom:3px;" title="<?php _e('Left Sidebar','generatepress');?>">
  53. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-two" value="left-sidebar" <?php checked( $stored_meta['_generate-sidebar-layout-meta'][0], 'left-sidebar' ); ?>>
  54. <strong><?php _e('Sidebar','generatepress');?></strong> / <?php _e('Content','generatepress');?>
  55. </label>
  56. <label for="meta-generate-layout-three" style="display:block;margin-bottom:3px;" title="<?php _e('No Sidebars','generatepress');?>">
  57. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-three" value="no-sidebar" <?php checked( $stored_meta['_generate-sidebar-layout-meta'][0], 'no-sidebar' ); ?>>
  58. <?php _e('Content (no sidebars)','generatepress');?>
  59. </label>
  60. <label for="meta-generate-layout-four" style="display:block;margin-bottom:3px;" title="<?php _e('Both Sidebars','generatepress');?>">
  61. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-four" value="both-sidebars" <?php checked( $stored_meta['_generate-sidebar-layout-meta'][0], 'both-sidebars' ); ?>>
  62. <strong><?php _e('Sidebar','generatepress');?></strong> / <?php _e('Content','generatepress');?> / <strong><?php _e('Sidebar','generatepress');?></strong>
  63. </label>
  64. <label for="meta-generate-layout-five" style="display:block;margin-bottom:3px;" title="<?php _e('Both Sidebars on Left','generatepress');?>">
  65. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-five" value="both-left" <?php checked( $stored_meta['_generate-sidebar-layout-meta'][0], 'both-left' ); ?>>
  66. <strong><?php _e('Sidebar','generatepress');?></strong> / <strong><?php _e('Sidebar','generatepress');?></strong> / <?php _e('Content','generatepress');?>
  67. </label>
  68. <label for="meta-generate-layout-six" style="display:block;margin-bottom:3px;" title="<?php _e('Both Sidebars on Right','generatepress');?>">
  69. <input type="radio" name="_generate-sidebar-layout-meta" id="meta-generate-layout-six" value="both-right" <?php checked( $stored_meta['_generate-sidebar-layout-meta'][0], 'both-right' ); ?>>
  70. <?php _e('Content','generatepress');?> / <strong><?php _e('Sidebar','generatepress');?></strong> / <strong><?php _e('Sidebar','generatepress');?></strong>
  71. </label>
  72. </div>
  73. </p>
  74. <?php
  75. }
  76. endif;
  77. if ( ! function_exists( 'generate_save_layout_meta' ) ) :
  78. // Save the Data
  79. add_action( 'save_post', 'generate_save_layout_meta' );
  80. function generate_save_layout_meta($post_id) {
  81. // Checks save status
  82. $is_autosave = wp_is_post_autosave( $post_id );
  83. $is_revision = wp_is_post_revision( $post_id );
  84. $is_valid_nonce = ( isset( $_POST[ 'generate_layout_nonce' ] ) && wp_verify_nonce( $_POST[ 'generate_layout_nonce' ], basename( __FILE__ ) ) ) ? true : false;
  85. // Exits script depending on save status
  86. if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
  87. return;
  88. }
  89. $key = '_generate-sidebar-layout-meta';
  90. $value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING );
  91. if ( $value )
  92. update_post_meta( $post_id, $key, $value );
  93. else
  94. delete_post_meta( $post_id, $key );
  95. }
  96. endif;
  97. if ( ! function_exists( 'generate_add_footer_widget_meta_box' ) ) :
  98. /**
  99. * Generate the footer widget metabox
  100. * @since 0.1
  101. */
  102. add_action( 'add_meta_boxes', 'generate_add_footer_widget_meta_box' );
  103. function generate_add_footer_widget_meta_box() {
  104. // Set user role - make filterable
  105. $allowed = apply_filters( 'generate_metabox_capability', 'edit_theme_options' );
  106. // If not an administrator, don't show the metabox
  107. if ( ! current_user_can( $allowed ) )
  108. return;
  109. $post_types = get_post_types();
  110. foreach ($post_types as $type) {
  111. if ( 'attachment' !== $type ) {
  112. add_meta_box(
  113. 'generate_footer_widget_meta_box', // $id
  114. __('Footer Widgets','generatepress'), // $title
  115. 'generate_show_footer_widget_meta_box', // $callback
  116. $type, // $page
  117. 'side', // $context
  118. 'default' // $priority
  119. );
  120. }
  121. }
  122. }
  123. endif;
  124. if ( ! function_exists( 'generate_show_footer_widget_meta_box' ) ) :
  125. /**
  126. * Outputs the content of the metabox
  127. */
  128. function generate_show_footer_widget_meta_box( $post ) {
  129. wp_nonce_field( basename( __FILE__ ), 'generate_footer_widget_nonce' );
  130. $stored_meta = get_post_meta( $post->ID );
  131. $stored_meta['_generate-footer-widget-meta'][0] = ( isset( $stored_meta['_generate-footer-widget-meta'][0] ) ) ? $stored_meta['_generate-footer-widget-meta'][0] : '';
  132. $checked = ( '' == $stored_meta['_generate-footer-widget-meta'][0] ) ? 'checked="checked"' : '';
  133. ?>
  134. <p>
  135. <div class="generate_footer_widget">
  136. <label for="meta-generate-footer-widget-global" style="display:block;margin-bottom:10px;">
  137. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-global" value="" <?php echo $checked; ?>>
  138. <?php _e('Global Footer Widget Settings','generatepress');?>
  139. </label>
  140. <label for="meta-generate-footer-widget-zero" style="display:block;margin-bottom:3px;" title="<?php _e('0 Widgets','generatepress');?>">
  141. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-zero" value="0" <?php checked( $stored_meta['_generate-footer-widget-meta'][0], '0' ); ?>>
  142. <?php _e('0 Widgets','generatepress');?>
  143. </label>
  144. <label for="meta-generate-footer-widget-one" style="display:block;margin-bottom:3px;" title="<?php _e('1 Widget','generatepress');?>">
  145. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-one" value="1" <?php checked( $stored_meta['_generate-footer-widget-meta'][0], '1' ); ?>>
  146. <?php _e('1 Widget','generatepress');?>
  147. </label>
  148. <label for="meta-generate-footer-widget-two" style="display:block;margin-bottom:3px;" title="<?php _e('2 Widgets','generatepress');?>">
  149. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-two" value="2" <?php checked( $stored_meta['_generate-footer-widget-meta'][0], '2' ); ?>>
  150. <?php _e('2 Widgets','generatepress');?>
  151. </label>
  152. <label for="meta-generate-footer-widget-three" style="display:block;margin-bottom:3px;" title="<?php _e('3 Widgets','generatepress');?>">
  153. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-three" value="3" <?php checked( $stored_meta['_generate-footer-widget-meta'][0], '3' ); ?>>
  154. <?php _e('3 Widgets','generatepress');?>
  155. </label>
  156. <label for="meta-generate-footer-widget-four" style="display:block;margin-bottom:3px;" title="<?php _e('4 Widgets','generatepress');?>">
  157. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-four" value="4" <?php checked( $stored_meta['_generate-footer-widget-meta'][0], '4' ); ?>>
  158. <?php _e('4 Widgets','generatepress');?>
  159. </label>
  160. <label for="meta-generate-footer-widget-five" style="display:block;margin-bottom:3px;" title="<?php _e('5 Widgets','generatepress');?>">
  161. <input type="radio" name="_generate-footer-widget-meta" id="meta-generate-footer-widget-five" value="5" <?php checked( $stored_meta['_generate-footer-widget-meta'][0], '5' ); ?>>
  162. <?php _e('5 Widgets','generatepress');?>
  163. </label>
  164. </div>
  165. </p>
  166. <?php
  167. }
  168. endif;
  169. if ( ! function_exists( 'generate_save_footer_widget_meta' ) ) :
  170. // Save the Data
  171. add_action( 'save_post', 'generate_save_footer_widget_meta' );
  172. function generate_save_footer_widget_meta($post_id) {
  173. // Checks save status
  174. $is_autosave = wp_is_post_autosave( $post_id );
  175. $is_revision = wp_is_post_revision( $post_id );
  176. $is_valid_nonce = ( isset( $_POST[ 'generate_footer_widget_nonce' ] ) && wp_verify_nonce( $_POST[ 'generate_footer_widget_nonce' ], basename( __FILE__ ) ) ) ? true : false;
  177. // Exits script depending on save status
  178. if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
  179. return;
  180. }
  181. $key = '_generate-footer-widget-meta';
  182. $value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING );
  183. if ( '' !== $value )
  184. update_post_meta( $post_id, $key, $value );
  185. else
  186. delete_post_meta( $post_id, $key );
  187. }
  188. endif;
  189. if ( ! function_exists( 'generate_add_page_builder_meta_box' ) ) :
  190. /**
  191. * Generate the page builder integration metabox
  192. * @since 1.3.32
  193. */
  194. add_action('add_meta_boxes', 'generate_add_page_builder_meta_box');
  195. function generate_add_page_builder_meta_box() {
  196. // Set user role - make filterable
  197. $allowed = apply_filters( 'generate_metabox_capability', 'edit_theme_options' );
  198. // If not an administrator, don't show the metabox
  199. if ( ! current_user_can( $allowed ) )
  200. return;
  201. $post_types = get_post_types();
  202. foreach ($post_types as $type) {
  203. if ( 'attachment' !== $type ) {
  204. add_meta_box(
  205. 'generate_page_builder_meta_box', // $id
  206. __('Page Builder Integration','generatepress'), // $title
  207. 'generate_show_page_builder_meta_box', // $callback
  208. $type, // $page
  209. 'side', // $context
  210. 'default' // $priority
  211. );
  212. }
  213. }
  214. }
  215. endif;
  216. if ( ! function_exists( 'generate_show_page_builder_meta_box' ) ) :
  217. /**
  218. * Outputs the content of the metabox
  219. */
  220. function generate_show_page_builder_meta_box( $post ) {
  221. wp_nonce_field( basename( __FILE__ ), 'generate_page_builder_nonce' );
  222. $stored_meta = get_post_meta( $post->ID );
  223. $stored_meta['_generate-full-width-content'][0] = ( isset( $stored_meta['_generate-full-width-content'][0] ) ) ? $stored_meta['_generate-full-width-content'][0] : '';
  224. ?>
  225. <p>
  226. <div class="generate_full_width_template">
  227. <label for="_generate-full-width-content" style="display:block;margin-bottom:10px;">
  228. <input type="checkbox" name="_generate-full-width-content" id="_generate-full-width-content" value="true" <?php checked( $stored_meta['_generate-full-width-content'][0], 'true' ); ?>>
  229. <?php _e('Full Width Content','generatepress');?>
  230. </label>
  231. </div>
  232. </p>
  233. <?php
  234. }
  235. endif;
  236. if ( ! function_exists( 'generate_save_page_builder_meta' ) ) :
  237. // Save the Data
  238. add_action( 'save_post', 'generate_save_page_builder_meta' );
  239. function generate_save_page_builder_meta($post_id) {
  240. // Checks save status
  241. $is_autosave = wp_is_post_autosave( $post_id );
  242. $is_revision = wp_is_post_revision( $post_id );
  243. $is_valid_nonce = ( isset( $_POST[ 'generate_page_builder_nonce' ] ) && wp_verify_nonce( $_POST[ 'generate_page_builder_nonce' ], basename( __FILE__ ) ) ) ? true : false;
  244. // Exits script depending on save status
  245. if ( $is_autosave || $is_revision || ! $is_valid_nonce ) {
  246. return;
  247. }
  248. $key = '_generate-full-width-content';
  249. $value = filter_input( INPUT_POST, $key, FILTER_SANITIZE_STRING );
  250. if ( $value )
  251. update_post_meta( $post_id, $key, $value );
  252. else
  253. delete_post_meta( $post_id, $key );
  254. }
  255. endif;