Changeset 3363221
- Timestamp:
- 09/17/2025 01:03:04 PM (5 months ago)
- Location:
- constellation-client-portal
- Files:
-
- 134 added
- 1 deleted
- 8 edited
-
tags/2.2.0 (deleted)
-
tags/2.4.0 (added)
-
tags/2.4.0/LICENSE.txt (added)
-
tags/2.4.0/README.txt (added)
-
tags/2.4.0/admin (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-admin.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-client-pages.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-company.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-core-authorization.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-core-file-checks.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-data-management.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-file.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-invoice.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-settings.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-users.php (added)
-
tags/2.4.0/admin/class-ars-constellation-client-portal-wizards.php (added)
-
tags/2.4.0/admin/css (added)
-
tags/2.4.0/admin/css/ars-constellation-client-portal-admin.css (added)
-
tags/2.4.0/admin/css/jquery-ui (added)
-
tags/2.4.0/admin/css/jquery-ui/1.11.1 (added)
-
tags/2.4.0/admin/css/jquery-ui/1.11.1/themes (added)
-
tags/2.4.0/admin/css/jquery-ui/1.11.1/themes/cupertino (added)
-
tags/2.4.0/admin/css/jquery-ui/1.11.1/themes/cupertino/jquery-ui.css (added)
-
tags/2.4.0/admin/css/select2.min.css (added)
-
tags/2.4.0/admin/index.php (added)
-
tags/2.4.0/admin/js (added)
-
tags/2.4.0/admin/js/ars-constellation-client-portal-admin-wizard.js (added)
-
tags/2.4.0/admin/js/ars-constellation-client-portal-admin.js (added)
-
tags/2.4.0/admin/js/i18n (added)
-
tags/2.4.0/admin/js/i18n/af.js (added)
-
tags/2.4.0/admin/js/i18n/ar.js (added)
-
tags/2.4.0/admin/js/i18n/az.js (added)
-
tags/2.4.0/admin/js/i18n/bg.js (added)
-
tags/2.4.0/admin/js/i18n/bs.js (added)
-
tags/2.4.0/admin/js/i18n/ca.js (added)
-
tags/2.4.0/admin/js/i18n/cs.js (added)
-
tags/2.4.0/admin/js/i18n/da.js (added)
-
tags/2.4.0/admin/js/i18n/de.js (added)
-
tags/2.4.0/admin/js/i18n/dsb.js (added)
-
tags/2.4.0/admin/js/i18n/el.js (added)
-
tags/2.4.0/admin/js/i18n/en.js (added)
-
tags/2.4.0/admin/js/i18n/es.js (added)
-
tags/2.4.0/admin/js/i18n/et.js (added)
-
tags/2.4.0/admin/js/i18n/eu.js (added)
-
tags/2.4.0/admin/js/i18n/fa.js (added)
-
tags/2.4.0/admin/js/i18n/fi.js (added)
-
tags/2.4.0/admin/js/i18n/fr.js (added)
-
tags/2.4.0/admin/js/i18n/gl.js (added)
-
tags/2.4.0/admin/js/i18n/he.js (added)
-
tags/2.4.0/admin/js/i18n/hi.js (added)
-
tags/2.4.0/admin/js/i18n/hr.js (added)
-
tags/2.4.0/admin/js/i18n/hsb.js (added)
-
tags/2.4.0/admin/js/i18n/hu.js (added)
-
tags/2.4.0/admin/js/i18n/hy.js (added)
-
tags/2.4.0/admin/js/i18n/id.js (added)
-
tags/2.4.0/admin/js/i18n/is.js (added)
-
tags/2.4.0/admin/js/i18n/it.js (added)
-
tags/2.4.0/admin/js/i18n/ja.js (added)
-
tags/2.4.0/admin/js/i18n/km.js (added)
-
tags/2.4.0/admin/js/i18n/ko.js (added)
-
tags/2.4.0/admin/js/i18n/lt.js (added)
-
tags/2.4.0/admin/js/i18n/lv.js (added)
-
tags/2.4.0/admin/js/i18n/mk.js (added)
-
tags/2.4.0/admin/js/i18n/ms.js (added)
-
tags/2.4.0/admin/js/i18n/nb.js (added)
-
tags/2.4.0/admin/js/i18n/nl.js (added)
-
tags/2.4.0/admin/js/i18n/pl.js (added)
-
tags/2.4.0/admin/js/i18n/ps.js (added)
-
tags/2.4.0/admin/js/i18n/pt-BR.js (added)
-
tags/2.4.0/admin/js/i18n/pt.js (added)
-
tags/2.4.0/admin/js/i18n/ro.js (added)
-
tags/2.4.0/admin/js/i18n/ru.js (added)
-
tags/2.4.0/admin/js/i18n/sk.js (added)
-
tags/2.4.0/admin/js/i18n/sl.js (added)
-
tags/2.4.0/admin/js/i18n/sr-Cyrl.js (added)
-
tags/2.4.0/admin/js/i18n/sr.js (added)
-
tags/2.4.0/admin/js/i18n/sv.js (added)
-
tags/2.4.0/admin/js/i18n/th.js (added)
-
tags/2.4.0/admin/js/i18n/tr.js (added)
-
tags/2.4.0/admin/js/i18n/uk.js (added)
-
tags/2.4.0/admin/js/i18n/vi.js (added)
-
tags/2.4.0/admin/js/i18n/zh-CN.js (added)
-
tags/2.4.0/admin/js/i18n/zh-TW.js (added)
-
tags/2.4.0/admin/js/select2.full.min.js (added)
-
tags/2.4.0/admin/js/select2.min.js (added)
-
tags/2.4.0/ars-constellation-client-portal.php (added)
-
tags/2.4.0/assets (added)
-
tags/2.4.0/assets/css (added)
-
tags/2.4.0/assets/css/font-awesome (added)
-
tags/2.4.0/assets/css/font-awesome/css (added)
-
tags/2.4.0/assets/css/font-awesome/css/all.css (added)
-
tags/2.4.0/assets/css/font-awesome/css/all.min.css (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-brands-400.eot (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-brands-400.svg (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-brands-400.ttf (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-brands-400.woff (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-brands-400.woff2 (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-regular-400.eot (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-regular-400.svg (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-regular-400.ttf (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-regular-400.woff (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-regular-400.woff2 (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-solid-900.eot (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-solid-900.svg (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-solid-900.ttf (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-solid-900.woff (added)
-
tags/2.4.0/assets/css/font-awesome/webfonts/fa-solid-900.woff2 (added)
-
tags/2.4.0/assets/img (added)
-
tags/2.4.0/assets/img/accp-full-logo.png (added)
-
tags/2.4.0/includes (added)
-
tags/2.4.0/includes/ars-constellation-client-portal-install-uninstall.php (added)
-
tags/2.4.0/includes/class-ars-constellation-client-portal-activator.php (added)
-
tags/2.4.0/includes/class-ars-constellation-client-portal-deactivator.php (added)
-
tags/2.4.0/includes/class-ars-constellation-client-portal-i18n.php (added)
-
tags/2.4.0/includes/class-ars-constellation-client-portal-loader.php (added)
-
tags/2.4.0/includes/class-ars-constellation-client-portal-utility-functions.php (added)
-
tags/2.4.0/includes/class-ars-constellation-client-portal.php (added)
-
tags/2.4.0/includes/index.php (added)
-
tags/2.4.0/index.php (added)
-
tags/2.4.0/languages (added)
-
tags/2.4.0/languages/ars-constellation-client-portal.pot (added)
-
tags/2.4.0/public (added)
-
tags/2.4.0/public/assets (added)
-
tags/2.4.0/public/assets/index.php (added)
-
tags/2.4.0/public/class-ars-constellation-client-portal-public.php (added)
-
tags/2.4.0/public/css (added)
-
tags/2.4.0/public/css/ars-constellation-client-portal-list-shortcode-styles.css (added)
-
tags/2.4.0/public/css/ars-constellation-client-portal-public.css (added)
-
tags/2.4.0/public/index.php (added)
-
tags/2.4.0/public/js (added)
-
tags/2.4.0/public/js/ars-constellation-client-portal-public.js (added)
-
tags/2.4.0/public/shortcodes (added)
-
tags/2.4.0/public/shortcodes/class-ars-constellation-client-portal-list-shortcodes.php (added)
-
tags/2.4.0/uninstall.php (added)
-
trunk/README.txt (modified) (3 diffs)
-
trunk/admin/class-ars-constellation-client-portal-admin.php (modified) (1 diff)
-
trunk/admin/class-ars-constellation-client-portal-company.php (modified) (1 diff)
-
trunk/admin/class-ars-constellation-client-portal-settings.php (modified) (2 diffs)
-
trunk/admin/class-ars-constellation-client-portal-wizards.php (modified) (14 diffs)
-
trunk/admin/css/ars-constellation-client-portal-admin.css (modified) (1 diff)
-
trunk/ars-constellation-client-portal.php (modified) (2 diffs)
-
trunk/includes/class-ars-constellation-client-portal.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
constellation-client-portal/trunk/README.txt
r3352742 r3363221 5 5 Requires at least: 6.0.0 6 6 Tested up to: 6.8 7 Stable tag: 2. 3.07 Stable tag: 2.4.0 8 8 Requires PHP: 7.4 9 9 License: GPLv3 or later … … 32 32 * Automatically redirect clients to their private client page at login (optional login redirect setting). 33 33 * Integrate your invoices with WooCommerce and add a pay button to your unpaid invoices, and accept payments from your customers and clients (requires WooCommerce). 34 * Change the Client Page, Client File, and Client Invoice URL base names ("accp-client-page," "accp _clientfile," and "accp_clientinvoice) to names of your choosing.34 * Change the Client Page, Client File, and Client Invoice URL base names ("accp-client-page," "accp-clientfile," and "accp-clientinvoice) to names of your choosing. 35 35 * Automatically send email notifications to clients when a new File or Invoice post is created. 36 36 * Automatically send reminder email notifications on a schedule. … … 210 210 211 211 == Changelog == 212 = 2.4.0 (Pro) - 2025-9-17 = 213 * Update: Added link to the company onboard wizard in the WP admin sidebar conditionally displayed Company menu section. 214 215 = 2.4.0 (Core) - 2025-9-17 = 216 * Update: Added new Launch Company Onboard Wizard button to the company WP list table. 217 * Fix: Fixed broken logo image link in the set up wizard. 218 * Update: Added link to the company onboard wizard in the WP admin sidebar menu. 219 * Update: Added link to the company onboard wizard in the plugin settings help section. 220 * Feature: Add new company onboard wizard. 221 212 222 = 2.3.0 (Pro) - 2025-8-29 = 213 223 * Update: All core updates. -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-admin.php
r3352742 r3363221 3208 3208 */ 3209 3209 add_submenu_page( 'accp-settings', 'Companies', 'Companies', 'manage_options', 'edit.php?post_type=accp_clientcompany' ); 3210 3211 /** 3212 * Company onboard wizard. 3213 */ 3214 add_submenu_page( 'accp-settings', 'Company Onboard Wizard', 'Company Onboard Wizard', 'manage_options', 'admin.php?page=accp-company-onboard-wizard' ); 3210 3215 } 3211 3216 -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-company.php
r3352742 r3363221 1705 1705 return false; 1706 1706 } 1707 1708 1709 /** 1710 * Add the bulk create section to the Client Client 1711 * Company WP list table. 1712 * 1713 * @param array $views - An array of available list table views. 1714 * 1715 * @hooked views_edit-accp_clientcompany 1716 */ 1717 public function add_company_onboard_wizard_button_to_company_list( $views ) { 1718 1719 if ( ! is_admin() || ! current_user_can( 'manage_options' ) || ! is_user_logged_in() ) { 1720 return; 1721 } 1722 1723 $admin_url = get_admin_url(); 1724 $wizard_url = $admin_url . 'admin.php?page=accp-company-onboard-wizard'; 1725 ?> 1726 1727 <a href="<?php echo esc_url( $wizard_url ); ?>" class="accp-launch-company-onboard-button button right">Launch Company Onboard Wizard</a> 1728 <?php 1729 1730 return $views; 1731 } 1707 1732 } //End ARS_Constellation_Client_Portal_Company Class -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-settings.php
r3352742 r3363221 827 827 public function get_core_content_for_help_settings_page() { 828 828 829 $is_pro = $this->utilities->is_pro_plugin( $this->plugin_name ); 830 $wp_admin_url = get_admin_url(); 831 $list_settings_url = $wp_admin_url . 'admin.php?page=accp-list-settings&title=Lists'; 832 $setup_wizard_url = $wp_admin_url . 'admin.php?page=accp-plugin-activation-wizard'; 829 $is_pro = $this->utilities->is_pro_plugin( $this->plugin_name ); 830 $wp_admin_url = get_admin_url(); 831 $list_settings_url = $wp_admin_url . 'admin.php?page=accp-list-settings&title=Lists'; 832 $setup_wizard_url = $wp_admin_url . 'admin.php?page=accp-plugin-activation-wizard'; 833 $company_wizard_url = $wp_admin_url . 'admin.php?page=accp-company-onboard-wizard'; 833 834 834 835 $html = ''; … … 920 921 921 922 $html .= '<p>Launch the <a href="' . esc_url( $setup_wizard_url ) . '">setup wizard</a>. This is the wizard that is launched when the plugin is activated, and walks you through the initial basic setup.</p>'; 923 924 $html .= '</div>'; 925 926 /** 927 * Company Onboard Wizard 928 */ 929 $html .= '<div class="accp-settings-section">'; 930 931 $html .= '<h2>Company Onboard Wizard</h2>'; 932 933 $html .= '<p>Launch the <a href="' . esc_url( $company_wizard_url ) . '">company onboard wizard</a>. This is used to add a new company, add and a assign a company home page, and add and assign a primary user to the company.</p>'; 922 934 923 935 $html .= '</div>'; -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-wizards.php
r3352742 r3363221 77 77 78 78 /** 79 * Add company onboard wizard admin menu pages. 80 */ 81 add_action( 'admin_menu', array( $this, 'add_company_onboard_wizard_pages_to_wp_admin' ) ); 82 83 /** 84 * Update defined wizard pages for the company onboard wizard. 85 */ 86 add_action( 'admin_init', array( $this, 'update_defined_pages_for_company_onboard_wizard' ) ); 87 88 /** 79 89 * Add body class to plugin activation wizard pages. 80 90 */ … … 280 290 281 291 $defined_wizard_pages = $this->get_plugin_activation_defined_wizard_pages(); 292 293 if ( ! $defined_wizard_pages || empty( $defined_wizard_pages ) ) { 294 return; 295 } 296 297 $this->add_accp_wizard_pages_to_wp_admin( $defined_wizard_pages ); 298 } 299 300 301 /** 302 * Add the company onboard wizard pages to WP Admin. 303 */ 304 public function add_company_onboard_wizard_pages_to_wp_admin() { 305 306 if ( ! is_admin() || ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) { 307 return; 308 } 309 310 $page_list = array( 311 'accp-company-onboard-wizard' => 'Onbard a Company', 312 ); 313 314 /** 315 * Generate an array containing the page URL 316 * using the simple page_list array. 317 */ 318 $defined_wizard_pages = array(); 319 320 foreach ( $page_list as $slug => $label ) { 321 322 if ( $slug && $label && ! empty( $slug ) && ! empty( $slug ) ) { 323 324 $defined_wizard_pages[ $slug ] = $this->core_settings->genarate_settings_page_item_array( $slug, $label ); 325 326 } 327 } 282 328 283 329 if ( ! $defined_wizard_pages || empty( $defined_wizard_pages ) ) { … … 484 530 $admin_url = get_admin_url(); 485 531 $main_settings_page = $admin_url . 'admin.php?page=accp-settings'; 532 $logo_url = ACCP_PLUGIN_DIR_URL . 'assets/img/accp-full-logo.png'; 533 $wizard_type = '&wizard_type=plugin-install'; 486 534 487 535 if ( ! $next_step_url || empty( $next_step_url ) ) { 488 536 489 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company' ;537 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company' . $wizard_type; 490 538 491 539 } else { 492 540 493 $next_step_url = sanitize_url( $next_step_url );541 $next_step_url = sanitize_url( $next_step_url . $wizard_type ); 494 542 495 543 } … … 507 555 $html .= '<div class="accp-wizard-logo-container">'; 508 556 509 $html .= '<img src=" https://localhost:8443/wp-content/plugins/ars-constellation-client-portal-dev/assets/img/accp-full-logo.png">';557 $html .= '<img src="' . esc_url( $logo_url ) . '">'; 510 558 511 559 $html .= '</div>'; … … 534 582 535 583 /** 536 * Get the wizard add companypage html.584 * Get the wizard initial page html. 537 585 * 538 586 * @param string $next_step_url - The url of the next page in the wizard. Default = null. 539 587 */ 540 public function get_ wizard_add_company_page_content( $next_step_url = '' ) {588 public function get_company_onboard_wizard_page_content( $next_step_url = '' ) { 541 589 542 590 if ( ! is_admin() || ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) { … … 548 596 $admin_url = get_admin_url(); 549 597 $main_settings_page = $admin_url . 'admin.php?page=accp-settings'; 598 $logo_url = ACCP_PLUGIN_DIR_URL . 'assets/img/accp-full-logo.png'; 599 $wizard_type = '&wizard_type=company-onboard'; 550 600 551 601 if ( ! $next_step_url || empty( $next_step_url ) ) { 552 602 553 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company -home-page';603 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company' . $wizard_type; 554 604 555 605 } else { 556 606 557 $next_step_url = sanitize_url( $next_step_url ); 607 $next_step_url = sanitize_url( $next_step_url . $wizard_type ); 608 609 } 610 611 if ( true === $this->utilities->is_pro_plugin( $this->plugin_name ) ) { 612 $title .= ' Pro'; 613 } 614 615 $html = ''; 616 617 $html .= '<div class="accp-wizard-content-container">'; 618 619 $html .= '<h1>Onboard a Company</h1>'; 620 621 $html .= '<div class="accp-wizard-logo-container">'; 622 623 $html .= '<img src="' . esc_url( $logo_url ) . '">'; 624 625 $html .= '</div>'; 626 627 $html .= '<h2>Company onboard wizard.</h2>'; 628 629 $html .= '<p>This wizard will walk you through setting up a company, adding a company home page, and adding a primary user to the company.</p>'; 630 631 $html .= '<div class="accp-wizard-button-container accp-wizard-next-setup-button-container">'; 632 633 $html .= '<span class="accp-wizard-continue-button"><a href="' . esc_url( $next_step_url ) . '">Continue Set Up</a></span>'; 634 635 $html .= '</div>'; 636 637 $html .= '<div class="accp-wizard-button-container accp-wizard-skip-setup-button-container">'; 638 639 $html .= '<span class="accp-wizard-close-wizard-button"><a href="' . esc_url_raw( $main_settings_page ) . '">Skip Set Up</a></span>'; 640 641 $html .= '</div>'; 642 643 $html .= '</div>'; 644 645 echo wp_kses( $this->generate_wizard_page_html( $html, true, false ), $allowed_html ); 646 } 647 648 649 /** 650 * Get the wizard type url param. 651 * 652 * @return string $url_string - The url string or empty; 653 */ 654 public function get_wizard_type_url_string() { 655 656 if ( ! is_admin() || ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) { 657 return; 658 } 659 660 $wizard_type = filter_input( INPUT_GET, 'wizard_type' ); 661 662 if ( ! isset( $wizard_type ) || empty( $wizard_type ) ) { 663 return ''; 664 } 665 666 $url_string = '&wizard_type=' . $wizard_type; 667 668 return sanitize_text_field( $url_string ); 669 } 670 671 672 /** 673 * Update the defined plugin activation wizard pages 674 * for the company onboarding wizard. 675 */ 676 public function update_defined_pages_for_company_onboard_wizard() { 677 678 if ( ! is_admin() || ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) { 679 return; 680 } 681 682 $page_slug = filter_input( INPUT_GET, 'page' ); 683 684 if ( ! isset( $page_slug ) ) { 685 return; 686 } 687 688 if ( ! $page_slug || empty( $page_slug ) || 'accp-company-onboard-wizard' !== $page_slug ) { 689 return; 690 } 691 692 add_filter( 693 'accp_update_defined_plugin_install_wizard_pages', 694 function ( $page_list ) { 695 696 /** 697 * Remove the plugin activation wizard first page. 698 */ 699 unset( $page_list['accp-plugin-activation-wizard'] ); 700 701 /** 702 * Add the company onboard wizard first page as 703 * the new first item in the defined page array. 704 */ 705 $first_item = array( 'accp-company-onboard-wizard' => 'Onboard a Company' ); 706 $page_list = $first_item + $page_list; 707 708 return $page_list; 709 } 710 ); 711 } 712 713 714 /** 715 * Get the wizard add company page html. 716 * 717 * @param string $next_step_url - The url of the next page in the wizard. Default = null. 718 */ 719 public function get_wizard_add_company_page_content( $next_step_url = '' ) { 720 721 if ( ! is_admin() || ! is_user_logged_in() || ! current_user_can( 'manage_options' ) ) { 722 return; 723 } 724 725 $allowed_html = $this->core_settings->get_customized_allowed_html_for_wp_kses(); 726 $title = 'Constellation Client Portal'; 727 $admin_url = get_admin_url(); 728 $main_settings_page = $admin_url . 'admin.php?page=accp-settings'; 729 $wizard_type = $this->get_wizard_type_url_string(); 730 731 if ( ! $next_step_url || empty( $next_step_url ) ) { 732 733 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company-home-page' . $wizard_type; 734 735 } else { 736 737 $next_step_url = sanitize_url( $next_step_url . $wizard_type ); 558 738 559 739 } … … 621 801 $main_settings_page = $admin_url . 'admin.php?page=accp-settings'; 622 802 $company_id = filter_input( INPUT_GET, 'company_id', FILTER_SANITIZE_NUMBER_INT ); 803 $wizard_type = $this->get_wizard_type_url_string(); 623 804 624 805 if ( ! $next_step_url || empty( $next_step_url ) ) { 625 806 626 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company-primary-user' ;807 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-add-company-primary-user' . $wizard_type; 627 808 628 809 } else { 629 810 630 $next_step_url = sanitize_url( $next_step_url );811 $next_step_url = sanitize_url( $next_step_url . $wizard_type ); 631 812 632 813 } … … 791 972 $page_id = filter_input( INPUT_GET, 'page_id', FILTER_SANITIZE_NUMBER_INT ) ? filter_input( INPUT_GET, 'page_id', FILTER_SANITIZE_NUMBER_INT ) : ''; 792 973 $page_id_attribute = $page_id && ! empty( $page_id ) ? 'data-page-id=' . $page_id : ''; 974 $wizard_type = $this->get_wizard_type_url_string(); 793 975 794 976 if ( ! $next_step_url || empty( $next_step_url ) ) { 795 977 796 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-complete-page' ;978 $next_step_url = $admin_url . 'admin.php?page=accp-wizard-complete-page' . $wizard_type; 797 979 798 980 } else { 799 981 800 $next_step_url = sanitize_url( $next_step_url );982 $next_step_url = sanitize_url( $next_step_url . $wizard_type ); 801 983 802 984 } … … 1025 1207 $company_id = filter_input( INPUT_GET, 'company_id', FILTER_SANITIZE_NUMBER_INT ) ? filter_input( INPUT_GET, 'company_id', FILTER_SANITIZE_NUMBER_INT ) : ''; 1026 1208 $page_id = filter_input( INPUT_GET, 'page_id', FILTER_SANITIZE_NUMBER_INT ) ? filter_input( INPUT_GET, 'page_id', FILTER_SANITIZE_NUMBER_INT ) : ''; 1209 $wizard_type = filter_input( INPUT_GET, 'wizard_type' ); 1210 1211 if ( 'company-onboard' === $wizard_type ) { 1212 1213 $intro = '<p>Congratulations! Your new company has been created.</p>'; 1214 1215 } else { 1216 1217 $intro = '<p>Congratulations! You\'ve created your first company to help you get started. You can add more companies later (as many as you need), and the "next steps" below will help you complete the initial set up of your portal.</p>'; 1218 1219 } 1027 1220 1028 1221 $next_step_args = array( 1029 'company_id' => $company_id, 1030 'page_id' => $page_id, 1031 'item_tag' => 'div', 1222 'company_id' => $company_id, 1223 'page_id' => $page_id, 1224 'item_tag' => 'div', 1225 'wizard_type' => $wizard_type, 1032 1226 ); 1033 1227 … … 1054 1248 $html .= '<h1>Complete</h1>'; 1055 1249 1056 $html .= '<p>Congratulations! You\'ve created your first company to help you get started. You can add more companies later (as many as you need), and the "next steps" below will help you complete the initial set up of your portal.</p>';1250 $html .= $intro; 1057 1251 1058 1252 $html .= '<h2>Next Steps</h2>'; … … 1470 1664 * 1471 1665 * $args = array( 1472 * 'company_id' = $company_id, 1473 * 'page_id' = $page_id, 1474 * 'item_tag' = '', // Ex. li, p, div. 1666 * 'company_id' = $company_id, 1667 * 'page_id' = $page_id, 1668 * 'item_tag' = '', // Ex. li, p, div. 1669 * 'wizard_type' = $wizard_type, // plugin-install or company-onboard. 1475 1670 * ). 1476 1671 * … … 1486 1681 $page_id = array_key_exists( 'page_id', $args ) && ! empty( $args['page_id'] ) ? (int) $args['page_id'] : ''; 1487 1682 $item_tag = array_key_exists( 'item_tag', $args ) && ! empty( $args['item_tag'] ) ? sanitize_text_field( $args['item_tag'] ) : ''; 1683 $wizard_type = array_key_exists( 'wizard_type', $args ) && ! empty( $args['wizard_type'] ) ? sanitize_text_field( $args['wizard_type'] ) : ''; 1488 1684 $tag_open = ''; 1489 1685 $tag_close = ''; … … 1590 1786 * Add a menu to client page. 1591 1787 */ 1592 $next_steps['add_my_home_link'] = $tag_open . '<h3 class="accp-wizard-next-step-heading">Add My Home Link</h3>Add a My Home shortcode link throughout your site that will link to user\'s client page.' . $my_home_menu_description . $tag_close; 1788 if ( 'company-onboard' !== $wizard_type ) { 1789 1790 $next_steps['add_my_home_link'] = $tag_open . '<h3 class="accp-wizard-next-step-heading">Add My Home Link</h3>Add a My Home shortcode link throughout your site that will link to user\'s client page.' . $my_home_menu_description . $tag_close; 1791 1792 } 1593 1793 1594 1794 /** … … 1597 1797 if ( true !== $is_pro ) { 1598 1798 1599 $next_steps['upgrade'] = $tag_open . '<h3 class="accp-wizard-next-step-heading">Upgrade to Pro</h3>Upgrade to the <a href="https://constellationclientportal.com/" target="_blank">Pro version</a> and automatically redirect users to their client page at login, enable automated client email notifications, customize the URL (page slug) for client pages, file and invoice posts - as well as many other powerful features.' . $tag_close; 1600 1799 if ( 'company-onboard' !== $wizard_type ) { 1800 1801 $next_steps['upgrade'] = $tag_open . '<h3 class="accp-wizard-next-step-heading">Upgrade to Pro</h3>Upgrade to the <a href="https://constellationclientportal.com/" target="_blank">Pro version</a> and automatically redirect users to their client page at login, enable automated client email notifications, customize the URL (page slug) for client pages, file and invoice posts - as well as many other powerful features.' . $tag_close; 1802 1803 } 1601 1804 } 1602 1805 -
constellation-client-portal/trunk/admin/css/ars-constellation-client-portal-admin.css
r3352742 r3363221 1234 1234 } 1235 1235 1236 .accp-launch-company-onboard-button.button.right { 1237 margin-left: 7px; 1238 } 1239 1236 1240 @media screen and (min-width: 980px){ 1237 1241 -
constellation-client-portal/trunk/ars-constellation-client-portal.php
r3352742 r3363221 7 7 * Plugin URI: https://adrianrodriguezstudios.com/constellation-client-portal/ 8 8 * Description: Create private pages for each of your clients, post private files, and protect your client files from unauthorized users and search engines. <strong>Important:</strong> All Site-level File Protection features will cease to function if the plugin is disabled or uninstalled. 9 * Version: 2. 3.09 * Version: 2.4.0 10 10 * Author: ARS 11 11 * Author URI: https://adrianrodriguezstudios.com … … 57 57 */ 58 58 define('ACCP_PLUGIN_NAME', 'ARS_CONSTELLATION_CLIENT_PORTAL'); 59 define('ACCP_PLUGIN_VERSION', '2. 3.0'); // Change the version in the header as well.59 define('ACCP_PLUGIN_VERSION', '2.4.0'); // Change the version in the header as well. 60 60 define( ACCP_PLUGIN_NAME, ACCP_PLUGIN_VERSION ); 61 61 define( 'ACCP_PLUGIN_FILE_NAME', __FILE__ ); -
constellation-client-portal/trunk/includes/class-ars-constellation-client-portal.php
r3352742 r3363221 428 428 429 429 /** 430 * Add company onboard wizard button to the Client company WP list tables. 431 */ 432 $this->loader->add_filter( 'views_edit-accp_clientcompany', $plugin_company, 'add_company_onboard_wizard_button_to_company_list', 10, 1 ); 433 434 /** 430 435 * Client Company - Add custom fields. 431 436 */
Note: See TracChangeset
for help on using the changeset viewer.