86 lines
2.7 KiB
PHP
86 lines
2.7 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Wiaas DB updates
|
|
*
|
|
* Functions for updating database to latest version
|
|
*/
|
|
|
|
|
|
/**
|
|
* Enable restricting visibility by user roles for products
|
|
*/
|
|
function wiaas_db_update_enable_product_by_user_role() {
|
|
update_option('wcj_product_by_user_role_enabled', 'yes');
|
|
}
|
|
|
|
function wiaas_db_update_setup_gravity() {
|
|
// Gravity Form settings
|
|
update_option('gform_pending_installation', false);
|
|
update_option( 'gform_enable_background_updates', false );
|
|
update_option('rg_gforms_enable_akismet', 0);
|
|
update_option('rg_gforms_currency', 'USD');
|
|
|
|
// Gravity Flow settings
|
|
update_option('gravityflow_pending_installation', false);
|
|
}
|
|
|
|
function wiaas_db_update_add_delivery_process_forms() {
|
|
$action_type_forms_files = array(
|
|
'delivery_action_customer_acceptance_form',
|
|
'delivery_action_schedule_meeting',
|
|
'delivery_action_validate_questionnaire_form',
|
|
'delivery_action_manual_form',
|
|
);
|
|
|
|
// Since import action will generate form with new id, we need to remember this mapping
|
|
// so we can update process delivery steps to point to correct form ids
|
|
$action_type_forms_ids_mappings = array();
|
|
|
|
$process_forms_files = array(
|
|
'delivery_process_normal_delivery_form'
|
|
);
|
|
|
|
$created_forms = array();
|
|
|
|
// import forms for delivery action types
|
|
foreach ($action_type_forms_files as $action_type_form_file) {
|
|
$form_json = file_get_contents( dirname( __FILE__ ) . "/data/delivery-forms/" . $action_type_form_file . '.json' );
|
|
|
|
$form_meta = json_decode( $form_json, true );
|
|
$form_meta = $form_meta[0];
|
|
|
|
$form_id = GFAPI::add_form($form_meta);
|
|
|
|
$created_forms[] = GFAPI::get_form($form_id);
|
|
|
|
$action_type_forms_ids_mappings[$form_meta['id']] = $form_id;
|
|
}
|
|
|
|
// import forms for delivery process
|
|
foreach ($process_forms_files as $process_form_file) {
|
|
$form_json = file_get_contents( dirname( __FILE__ ) . "/data/delivery-forms/" . $process_form_file . '.json' );
|
|
|
|
$form_meta = json_decode( $form_json, true );
|
|
$form_meta = $form_meta[0];
|
|
|
|
// update delivery steps forms ids with correct values
|
|
foreach ($form_meta['feeds']['gravityflow'] as $key => $process_step_meta) {
|
|
$process_step_target_form_id = $form_meta['feeds']['gravityflow'][$key]['meta']['target_form_id'];
|
|
$form_meta['feeds']['gravityflow'][$key]['meta']['target_form_id'] = $action_type_forms_ids_mappings[$process_step_target_form_id];
|
|
}
|
|
|
|
$form_id = GFAPI::add_form($form_meta);
|
|
|
|
$created_forms[] = GFAPI::get_form($form_id);
|
|
}
|
|
|
|
do_action('gform_forms_post_import', $created_forms);
|
|
}
|
|
|
|
function wiaas_db_update_setup_customer_capabilities() {
|
|
$customer_role = get_role('customer');
|
|
|
|
$customer_role->add_cap('read_private_shop_orders');
|
|
$customer_role->add_cap('read_shop_order');
|
|
} |