palsushobhan

wcfm-new-store-policy.php

Sep 27th, 2021 (edited)
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.98 KB | None | 0 0
  1. function wcfm_get_additional_policies() {
  2.     return array(
  3.         'privacy' => 'Privacy Policy',
  4.         'impressum' => 'Impressum Policy',
  5.         'agb' => 'AGB Policy'
  6.     );
  7. }
  8.  
  9. add_filter( 'wcfm_vendor_settings_fields_policies', function( $policy_fields, $vendor_id ) {
  10.     $rich_editor = apply_filters( 'wcfm_is_allow_rich_editor', 'rich_editor' );
  11.     $wpeditor = apply_filters( 'wcfm_is_allow_product_wpeditor', 'wpeditor' );
  12.     if( $wpeditor && $rich_editor ) {
  13.         $rich_editor = 'wcfm_wpeditor';
  14.     } else {
  15.         $wpeditor = 'textarea';
  16.     }
  17.     $new_policies = wcfm_get_additional_policies();
  18.     if(!empty($new_policies)) {
  19.         foreach($new_policies as $name => $label) {
  20.             $policy_key = "wcfm_vendor_{$name}_policy";
  21.             $_wcfm_policy = wcfm_get_user_meta( $vendor_id, $policy_key, true );
  22.             $policy_fields["{$name}_policy"] = array('label' => $label, 'type' => $wpeditor, 'class' => 'wcfm-textarea wcfm_ele wcfm_full_ele wcfm_custom_field_editor ' . $rich_editor, 'label_class' => 'wcfm_title wcfm_full_title', 'value' => $_wcfm_policy );
  23.         }
  24.     }
  25.     return $policy_fields;
  26. }, 50, 2 );
  27. add_action( 'wcfm_vendor_settings_update', function( $vendor_id, $wcfm_settings_form ) {
  28.     $new_policies = wcfm_get_additional_policies();
  29.     if(!empty($new_policies)) {
  30.         foreach($new_policies as $name => $label) {
  31.             $policy_key = "wcfm_vendor_{$name}_policy";
  32.             if( isset( $wcfm_settings_form["{$name}_policy"] ) ) {
  33.                 wcfm_update_user_meta( $vendor_id, $policy_key, $wcfm_settings_form["{$name}_policy"] );
  34.             }  
  35.         }
  36.     }
  37. }, 20, 2 );
  38. add_action( 'wcfmmp_store_after_policies', function( $vendor_id ) {
  39.     $new_policies = wcfm_get_additional_policies();
  40.     if(!empty($new_policies)) {
  41.         foreach($new_policies as $name => $label) {
  42.             $policy_key = "wcfm_vendor_{$name}_policy";
  43.             $_wcfm_policy = wcfm_get_user_meta( $vendor_id, $policy_key, true );
  44.             if( !wcfm_empty( $_wcfm_policy ) ) { ?>
  45.                 <div class="policies_area wcfm-<?php echo $name; ?>-policies">
  46.                     <h2 class="wcfm_policies_heading"><?php echo apply_filters("wcfm_{$name}_policies_heading", $label); ?></h2>
  47.                     <div class="wcfm_policies_description" ><?php echo $_wcfm_policy; ?></div>
  48.                 </div>
  49.             <?php }
  50.         }
  51.     }
  52. }, 50 );
  53. add_action( 'wcfm_policy_content_after', function( $product_id ) {
  54.     global $WCFM;
  55.     $vendor_id = $WCFM->wcfm_vendor_support->wcfm_get_vendor_id_from_product( $product_id );
  56.     if( $vendor_id ) {
  57.         $new_policies = wcfm_get_additional_policies();
  58.         if(!empty($new_policies)) {
  59.             foreach($new_policies as $name => $label) {
  60.                 $policy_key = "wcfm_vendor_{$name}_policy";
  61.                 $_wcfm_policy = wcfm_get_user_meta( $vendor_id, $policy_key, true );
  62.                 if( !wcfm_empty( $_wcfm_policy ) ) { ?>
  63.                     <div class="wcfm-<?php echo $name; ?>-policies">
  64.                         <h2 class="wcfm_policies_heading"><?php echo apply_filters("wcfm_{$name}_policies_heading", $label); ?></h2>
  65.                         <div class="wcfm_policies_description" ><?php echo $_wcfm_policy; ?></div>
  66.                     </div>
  67.                 <?php }
  68.             }
  69.         }
  70.     }
  71. }, 50 );
  72. add_action( 'wcfm_order_details_policy_content_after', function( $vendor_id ) {
  73.     $new_policies = wcfm_get_additional_policies();
  74.     if(!empty($new_policies)) {
  75.         foreach($new_policies as $name => $label) {
  76.             $policy_key = "wcfm_vendor_{$name}_policy";
  77.             $_wcfm_policy = wcfm_get_user_meta( $vendor_id, $policy_key, true );
  78.             if( !wcfm_empty( $_wcfm_policy ) ) { ?>
  79.                 <tr>
  80.                         <th colspan="3" style="background-color: #eeeeee;padding: 1em 1.41575em;line-height: 1.5;"><strong><?php echo apply_filters("wcfm_{$name}_policies_heading", $label); ?></strong></th>
  81.                         <td colspan="5" style="background-color: #f8f8f8;padding: 1em;"><?php echo $_wcfm_policy; ?></td>
  82.                 </tr>
  83.             <?php }
  84.         }
  85.     }
  86. }, 50 );
  87. add_action( 'wcfm_store_invoice_policy_content_after', function( $product_id ) {
  88.     global $WCFM;
  89.     $vendor_id = $WCFM->wcfm_vendor_support->wcfm_get_vendor_id_from_product( $product_id );
  90.     if( $vendor_id ) {
  91.         $new_policies = wcfm_get_additional_policies();
  92.         if(!empty($new_policies)) {
  93.             foreach($new_policies as $name => $label) {
  94.                 $policy_key = "wcfm_vendor_{$name}_policy";
  95.                 $_wcfm_policy = wcfm_get_user_meta( $vendor_id, $policy_key, true );
  96.                 if( !wcfm_empty( $_wcfm_policy ) ) { ?>
  97.                     <tr>
  98.                         <th colspan="3" style="background-color: #eeeeee;padding: 1em 1.41575em;line-height: 1.5;"><?php echo apply_filters("wcfm_{$name}_policies_heading", $label); ?></th>
  99.                         <td colspan="5" style="background-color: #f8f8f8;padding: 1em;"><?php echo $_wcfm_policy; ?></td>
  100.                     </tr>
  101.                 <?php }
  102.             }
  103.         }
  104.     }
  105. }, 50 );
  106. add_action('wcfmmp_admin_wcfm_vendor_store_policy_settings_after', function($vendor_id) {
  107.     ?>
  108.     <script>
  109.         jQuery(function($) {
  110.             $(document.body).on('wcfm_form_validate', function(event, form) {
  111.                 $form = $(form);
  112.                 if($form && $form.attr('id') == 'wcfm_vendor_manage_store_policy_support_setting_form') {
  113.                     var privacy_policy = getWCFMEditorContent( 'privacy_policy' );
  114.                     var impressum_policy = getWCFMEditorContent( 'impressum_policy' );
  115.                     var agb_policy = getWCFMEditorContent( 'agb_policy' );
  116.                     $form.find('#privacy_policy').val(privacy_policy);
  117.                     $form.find('#impressum_policy').val(impressum_policy);
  118.                     $form.find('#agb_policy').val(agb_policy);
  119.                 }
  120.             });
  121.         });
  122.     </script>
  123.     <?php
  124. });
Add Comment
Please, Sign In to add comment