getAdminClient(); ?>

false, 'list' => array(), 'detail' => array(), 'create' => array(), 'items' => array(), ); $fields_config = isset($saved[$type]) ? $saved[$type] : array(); $list_options = $modinfo[$type]; $show = array(); //Add additional custom fields by module add_custom_fields($module, $fields); foreach ($fields as $f) { $fname = $f['name']; if (!in_array($fname, $list_options['enabled_fields']) || !is_array($fields_config)) continue; $field_config = array_reduce($fields_config, function($carry, $item) use ($fname) { static $order = 0; $item['order'] = $order++; return $item['field'] == $fname ? $item : $carry; }, array('field' => $fname, 'enabled' => false, 'order' => 99999)); $show[$fname] = array( 'name' => $fname, 'label' => $f['vname'], 'fixed' => in_array($fname, $list_options['fixed_fields']), 'enabled' => $field_config['enabled'], 'order' => $field_config['order'], ); } uasort($show, function($a, $b) use($list_options) { return $a['order'] - $b['order']; }); if($module == 'KBArticles') { $col = get_option( 'onecrm_help_css_color' ); $font = get_option( 'onecrm_help_css_font' ); $headcol = get_option( 'onecrm_help_css_head_font_col' ); $textcol = get_option( 'onecrm_help_css_p_font_col' ); $themecol = get_option( 'onecrm_help_theme_col' ); $detail_page = get_option( 'onecrm_help_detail_page' ); ?>

☰ Shortcode: [onecrm_kb_articles]

☰ Index page: 'onecrm_help_index_page', 'echo' => 1, 'show_option_none' => __( '— None —', ONECRM_P_TEXTDOMAIN ), 'option_none_value' => '0', 'selected' => get_option( 'onecrm_help_index_page' ), ]) ?>

☰ Detail page: 'onecrm_help_detail_page', 'echo' => 1, 'show_option_none' => __( '— None —', ONECRM_P_TEXTDOMAIN ), 'option_none_value' => '0', 'selected' => get_option( 'onecrm_help_detail_page' ), ]) ?>

☰ Custom CSS

$v) : ?>
☰
'paypal_button', 'vname' => __('PayPal Button', ONECRM_P_TEXTDOMAIN) ]; } } function onecrm_p_render_color_option($name, $label) { $value = get_option($name); ?> false, 'list' => array(), 'detail' => array(), 'create' => array(), 'items' => array(), ); if($module == 'KBArticles') { onecrm_p_render_dashboard_fields('list', $modinfo, $fields); } else { ?>

☰ :

☰ Shortcode: [onecrm_subscriptions]

☰ Subscription management page: 'onecrm_subscriptions_page', 'echo' => 1, 'show_option_none' => __( '— None —', ONECRM_P_TEXTDOMAIN ), 'option_none_value' => '0', 'selected' => get_option( 'onecrm_subscriptions_page' ), ]) ?>

☰ Subscription create page: 'onecrm_signup_page', 'echo' => 1, 'show_option_none' => __( '— None —', ONECRM_P_TEXTDOMAIN ), 'option_none_value' => '0', 'selected' => get_option( 'onecrm_signup_page' ), ]) ?>

☰ Currency symbol:
☰ Currency symbol after amount: >
☰ Enabled products:
☰ Product select label:
☰ Plan select label:
☰ Addons label:
☰ Addons description:
☰ New customer email (use [url] to insert confirmation link, [username] to insert the user name):
getAdminClient(); $modules = onecrm_p_get_all_modules(); $saved = get_option('onecrm_p_dashboard_config'); $saved = $saved ? $saved : array(); $saved_order = array_map(function($item) {return $item['module'];}, $saved); uasort($modules, function($a, $b) use ($saved_order) { $ao = array_search($a['module'], $saved_order); $ao = $ao === false ? 99999 : $ao; $bo = array_search($b['module'], $saved_order); $bo = $bo === false ? 99999 : $bo; return $ao - $bo; }); foreach ($modules as $m) { $model = $cl->model($m['model']); try { $metadata = $model->metadata(); } catch (Exception $e) { ob_end_clean(); onecrm_p_render_dashboard_error($e->getMessage()); return; } add_meta_box( 'onecrm_p_dashboard_' . $m['module'], $m['plural'], 'onecrm_p_render_dashboard_module', null, 'advanced', 'default', array($m, $metadata) ); } if (defined('ONECRM_P_SUBSCRIPTIONS')) { try { $model = $cl->model('Plan'); $plans = $model->getList(['fields' => ['product']])->getRecords(); $products = []; foreach ($plans as $plan) { if (!empty($plan['product'])) { $products[$plan['product_id']] = $plan['product']; } } add_meta_box( 'onecrm_p_dashboard_subscriptions', __('Subscription management'), 'onecrm_p_render_subscriptions_config', null, 'advanced', 'default', array($products) ); } catch (Exception $e) { ob_end_clean(); onecrm_p_render_dashboard_error($e->getMessage()); return; } } echo '
'; echo ''; echo '
'; $screen = get_current_screen(); do_meta_boxes( $screen, 'advanced', null ); echo '
'; echo '

'; echo '
'; echo ob_get_clean(); } function onecrm_p_render_dashboard_error($e) { ?>

here' /* translators: %s will be replaced by URL */ , ONECRM_P_TEXTDOMAIN); echo sprintf($format, $url); ?>

id != '1crm-customer-connection_page_onecrm_p_dashboard') return; if (empty($_POST['config'])) { return; } $css_options = [ 'onecrm_help_theme_col', 'onecrm_help_css_shadows', 'onecrm_help_css_borders', 'onecrm_help_css_borders_round', 'onecrm_help_css_color', 'onecrm_help_css_head_font_col', 'onecrm_help_css_p_font_col', 'onecrm_help_css_p_counter_col', 'onecrm_help_css_border_color', 'onecrm_help_detail_page', 'onecrm_help_index_page', 'onecrm_help_custom_css', 'onecrm_help_css_p_icon_col_active', 'onecrm_help_css_p_icon_col_inactive', 'onecrm_help_css_p_icon_border', 'onecrm_subscriptions_page', 'onecrm_signup_page', 'onecrm_enabled_products', 'onecrm_currency_symbol', 'onecrm_currency_after', 'onecrm_plan_label', 'onecrm_product_label', 'onecrm_addons_label', 'onecrm_addons_description', 'onecrm_welcome_template', 'onecrm_paypal_link' ]; foreach ($css_options as $opt) { if ($opt == 'onecrm_enabled_products' && isset($_POST[$opt]) && is_array($_POST[$opt])) { $value = []; foreach ($_POST[$opt] as $v) { $value[] = sanitize_textarea_field($v); } } else { $value = sanitize_textarea_field($_POST[$opt]); } if(get_option($opt) !== false) { update_option( $opt, $value ); } else { add_option( $opt, $value ); } } $config = json_decode(sanitize_text_field(wp_unslash($_POST['config'])), true); if (is_array($config)) { update_option('onecrm_p_dashboard_config', $config); $url = add_query_arg( array(), menu_page_url( 'onecrm_p_dashboard', false ) ); wp_redirect($url); exit; } }