Plugin Directory

Changeset 2961762


Ignore:
Timestamp:
09/01/2023 03:31:56 PM (2 years ago)
Author:
arstudios
Message:

Release 1.6.0.

Location:
constellation-client-portal
Files:
109 added
1 deleted
16 edited

Legend:

Unmodified
Added
Removed
  • constellation-client-portal/trunk/README.txt

    r2946134 r2961762  
    44Tags: client portal, customer portal, business portal, client management, private files, private pages, invoice clients, invoicing, business managemenet
    55Requires at least: 5.0.0
    6 Tested up to: 6.2
    7 Stable tag: 1.5.10
     6Tested up to: 6.3
     7Stable tag: 1.6.0
    88Requires PHP: 7.4
    99License: GPLv3 or later
     
    1616Upgrade to the [Pro version](https://adrianrodriguezstudios.com/constellation-client-portal/?utm_source=wporg "Get Constellation Client Portal Pro") and integrate with WooCommerce to accept payments for invoices and services.
    1717
    18 = Features =
     18== Features ==
    1919
    2020* Create private pages for your clients, customers, and team members.
     
    2525* Easily add curated lists of invoices and documents to client pages via simple to use shortcodes.
    2626
    27 = Pro =
     27== Pro ==
    2828
    2929* Automatically redirect clients to their private client page at login (optional login redirect setting).
     
    3939* Create [global client pages](https://adrianrodriguezstudios.com/2023/05/16/how-to-utilize-global-pages/ "Client Portal Global Pages").
    4040
    41 = Use Cases =
    42 
    43 Constellation Client Portal has a wide array of functionality to help you interface with your clients, customers, team members, tenants, or group.  It's professional, extendable, and versatile and can integrate with many operations and workflows.
     41== Use Cases ==
     42
     43Constellation Client Portal is your portal for everything, and helps you interface with clients, customers, teams, and groups.  It's professional, extendable, versatile, and is designed to sit at the heart of your organization to save time and lower costs.
    4444
    4545
     
    5454== Screenshots ==
    5555
    56 1. Current invoice list (list of invoices to be paid).
    57 2. Paid invoice list.
    58 3. Document/file list.
    59 4. Plugin settings (core).
    60 5. Pro plugin settings (additional pro features).
    61 6. Invoice post settings.
    62 7. Pro invoice post settings (additional pro features).
    63 8. File post settings.
    64 9. Pro file post settings (additional pro features).
    65 10. Company settings.
    66 11. Company page settings.
    67 12. Email notification settings (pro feature).
     561. Client-Facing - Current Invoice List
     572. Client-Facing - Paid Invoice List
     583. Client-Facing - Document/File List
     594. Admin Settings - Pro General Settings
     605. Admin Settings - Pro Invoice Settings
     616. Admin Settings - Pro File Settings
     627. Admin Settings - Pro Client Page Settings
     638. Admin Settings - Pro Company Settings
     649. Admin Settings - Pro Email Settings
     6510. Admin Settings - Invoice Post Edit
     6611. Admin Settings - File Post Edit
     6712. Admin Settings - Company Page Edit
     6813. Admin Settings - Client Page Edit
     6914. Admin Settings - Pro Invoice Bulk Create
    6870
    6971== Shortcodes ==
     
    144146
    145147
    146 = Documentation =
     148== Documentation ==
    147149
    148150* [Quick Start Guide](https://adrianrodriguezstudios.com/documentation-constellation-client-portal/#quick-start) - Follow the quick start guide to quickly set up the initial foundation for your client portal.
    149151* [Plugin Documentation](https://adrianrodriguezstudios.com/documentation-constellation-client-portal/) - View the plugin documentation for other helpful information.
    150152
    151 = Support =
     153== Support ==
    152154
    153155Email technical support is provided for **active** Pro licenses only.
     
    185187
    186188= Will my theme's page builder work with client pages? =
    187 This is dependent on the theme, and Constellation Client portal has no control over this functionality.  However, some themes may work out of the box with client pages.  If your theme's page builder does not work with client pages, check with the theme developer to see if they have a method for extending the page builder to custom post types (the client page post type is "accp_client_pages").
     189This is dependent on the theme, and Constellation Client Portal has no control over this functionality.  However, some themes may work out of the box with client pages.  If your theme's page builder does not work with client pages, check with the theme developer to see if they have a method for extending the page builder to custom post types (the client page post type is "accp_client_pages").
    188190
    189191== Installation ==
     
    205207
    206208== Changelog ==
     209
     210= 1.6.0 (Pro) - 2023-9-1 =
     211* Feature: Added new settings and functionality to allow the public home page to be redirected to the client home page.
     212* Improvement: Updated the pay button spinner css to prevent themes and plugins from overriding the border colors.
     213* Update: Overhauled the pro settings framework for better scalability and maintainability.
     214
     215= 1.6.0 (Core) - 2023-9-1 =
     216* Improvement: Updated the shortcode download link construction to work better with WP instances that are installed in a sub directory.
     217* Improvement: Created new internal register setting option for use in cleaning saved options on plugin deletion.
     218* Update: Overhauled the core settings framework for better scalability and maintainability.
    207219
    208220= 1.5.10 (Pro) - 2023-8-1 =
  • constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-admin.php

    r2933483 r2961762  
    4848        $this->plugin_name = $plugin_name;
    4949        $this->version = $version;
    50         $this->accp_utility_functions = new ACCP_Utility_Functions();
     50        $this->accp_utility_functions = new ACCP_Utility_Functions();       
    5151
    5252        /**
     
    469469
    470470    }
    471 
    472 
    473     /**
    474      * Add the main ACCP admin menu item
    475      */
    476     function register_accp_custom_menu_page(){
    477 
    478         if( $this->plugin_name == 'ars-constellation-client-portal-pro' ){
    479 
    480             $menu_name = 'Client Portal Pro';
    481 
    482         }else{
    483 
    484             $menu_name = 'Client Portal';
    485 
    486         }
    487      
    488         add_menu_page( $menu_name, $menu_name, 'manage_options', 'admin.php?page=accp-settings.php', array($this, 'accp_settings_page'), 'dashicons-welcome-widgets-menus', 22 );
    489 
    490     }
    491 
    492     /**
    493      * Change the main submenu title to 'Settings'
    494      */
    495     public function add_menu_accp_main_sub_title(){
    496 
    497         add_submenu_page(
    498             'admin.php?page=accp-settings.php',
    499             __( 'Settings', 'accp' ),
    500             __( 'Settings', 'accp' ),
    501             'manage_options',
    502             'admin.php?page=accp-settings.php',
    503             array($this, 'accp_settings_page')
    504         );
    505 
    506     }
    507    
    508471   
    509472
     
    27222685
    27232686    /**
    2724      * Register ACCP Settings
    2725      */
    2726     function register_total_client_portal_settings() { 
    2727 
    2728         /**
    2729          * File Types
    2730          *
    2731          * Note: Mime type options must use the 'accp_file_types_' prefix as these are
    2732          * located via that prefix in the 'accp_save_post' function (ex. accp_file_types_tiff).
    2733          */
    2734 
    2735         $defined_mime_types = $this->accp_defined_file_mime_types();
    2736 
    2737         foreach($defined_mime_types as $key => $value) {
    2738             register_setting( 'ars-constellation-client-portal-settings-group', $value['option_name'] );
    2739         }
    2740 
    2741         /**
    2742          * Register the license key setting
    2743          */
    2744         register_setting( 'arscp-license-key-settings-group', 'arscp_license_key' );
    2745 
    2746     }
    2747 
    2748 
    2749     /**
    27502687     * Define TCP MIME Types
    27512688     *
     
    29282865       
    29292866        // Company menu page.
    2930         add_submenu_page('admin.php?page=accp-settings.php', 'Companies', 'Companies', 'manage_options', 'edit.php?post_type=accp_clientcompany' );     
     2867        //add_submenu_page('admin.php?page=accp-settings.php', 'Companies', 'Companies', 'manage_options', 'edit.php?post_type=accp_clientcompany' );   
     2868        add_submenu_page('accp-settings', 'Companies', 'Companies', 'manage_options', 'edit.php?post_type=accp_clientcompany' );       
    29312869
    29322870    }
     
    32143152            return;
    32153153
    3216         $accepted_types = array('notice-error', 'notice-warning', 'notice-succes', 'notice-info');
     3154        $accepted_types = array('notice-error', 'notice-warning', 'notice-success', 'notice-info');
    32173155
    32183156        if( !in_array($type, $accepted_types) ){
  • constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-company.php

    r2933483 r2961762  
    7979        $show_in_rest = current_user_can( 'manage_options' ) ? true : false;
    8080
     81        $show_in_menu = false;
     82
     83        $is_pro = $this->accp_utility_functions->is_pro_plugin($this->plugin_name);
     84
     85        if( true === $is_pro ){
     86
     87            $company_customize_view = get_option('accp_company_add_to_main_menu');
     88
     89            $show_in_menu =  $company_customize_view  && $company_customize_view  === 'show_in_main_menu' ? true : false;
     90
     91        }
     92
    8193        $args = array(
    8294            'labels' => $labels,
     
    8799            'public' => true,
    88100            'show_ui' => true,
    89             'show_in_menu' => false,               
     101            'show_in_menu' => $show_in_menu,               
    90102            'show_in_nav_menus' => false,
    91103            'publicly_queryable' => false,
  • constellation-client-portal/trunk/admin/css/ars-constellation-client-portal-admin.css

    r2946134 r2961762  
    125125    max-width: 100%;
    126126    background-color: #fff;
    127     padding: 30px;
     127    padding: 20px 30px 30px 30px;
    128128}
    129129
     
    148148    background-color: #005be0;
    149149    color: #FFF;
    150     padding: 30px;
     150    padding: 40px;
    151151    margin-top: 17px;
    152     margin-bottom: 20px
     152    margin-bottom: 20px;
     153    border-radius: 10px;
    153154}
    154155
     
    207208}
    208209
     210.accp-settings-page-container .accp-upgrade-button {
     211    border-radius: 8px;
     212}
     213
    209214.accp-upgrade-button:hover{
    210215    background-color: #ffa500e0;
     
    216221
    217222.accp-setting-logo-container {
    218     background-color: #fff;
    219     padding: 30px;
     223    background-color: #fff;   
     224}
     225
     226.accp-setting-logo-container img {   
     227    width: 80%;
     228    max-width: 300px;
    220229}
    221230
     
    288297}
    289298
     299.accp-row-delete{
     300    margin-left: 15px;
     301}
     302
    290303.accp-hide-assigment{
    291304    display: none;
     
    293306.accp-file-replace-hide{
    294307    display: none;
     308}
     309
     310.inline.accp-admin-notice.notice{
     311    margin-left: 0px;
    295312}
    296313
     
    321338    margin-bottom: 25px;
    322339    box-shadow: 2px 2px 7px rgba(0,0,0, 0.1);
     340    color: #5C5C5C;
     341}
     342
     343.accp-settings-section h3 {
     344    color: #3A3A3A;
    323345}
    324346
     
    726748.accp-upgrade-pro-feature-item-container{
    727749    box-shadow: 2px 2px 7px rgba(0,0,0, 0.1);
    728     border-radius: 3px;
     750    border-radius: 8px;
    729751    padding: 25px;
    730752    margin: 20px;   
     
    795817}
    796818
     819.company_status_row {
     820    margin-bottom: 15px;
     821}
     822
     823.company_status_row label,
     824.company_status_row input,
     825.company_status_row select {
     826    margin-right: 5px;
     827}
     828
     829.company_status_row .accp-row-add {
     830    margin-left: 5px;
     831    margin-right: 10px;
     832}
     833
     834.company_status_row i {
     835    font-size: 15px;
     836    position: relative;
     837    top: 2px;
     838    color: #737373;
     839}
     840
     841.accp-add-status-row.button {
     842    cursor: pointer;   
     843}
     844
     845.accp-action-pending{
     846    pointer-events: none;
     847}
     848
     849#accp-settings-sidebar-container {
     850    padding-left: 20px;
     851    padding-top: 20px;
     852}
     853
     854#accp-settings-sidebar-container a{
     855    text-decoration: none;
     856}
     857
     858.accp-settings-page-container.wrap {
     859    background-color: #fff;
     860    min-height: 800px;
     861}
     862
     863.accp-admin-main-content-header {
     864    margin-bottom: 15px;
     865}
     866
     867#accp-admin-main-content h1{
     868    color: #005be0;
     869    font-weight: normal;
     870    font-size: 28px;
     871    padding-left: 20px;
     872}
     873
    797874@media screen and (min-width: 980px) {
    798875
     
    802879    }
    803880
    804 }
     881    #accp-settings-sidebar-container{   
     882        width: 200px;
     883        float: left;   
     884    }
     885
     886    #accp-admin-main-content {
     887        margin-left: 200px;
     888    }
     889
     890}
  • constellation-client-portal/trunk/ars-constellation-client-portal.php

    r2946134 r2961762  
    55 * Plugin URI:        https://adrianrodriguezstudios.com/constellation-client-portal/
    66 * 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.
    7  * Version:           1.5.10
     7 * Version:           1.6.0
    88 * Author:            ARS
    99 * Author URI:        https://adrianrodriguezstudios.com
     
    5555     */
    5656    define('ACCP_PLUGIN_NAME', 'ARS_CONSTELLATION_CLIENT_PORTAL');
    57     define('ACCP_PLUGIN_VERSION', '1.5.10'); // Change the version in the header as well.
     57    define('ACCP_PLUGIN_VERSION', '1.6.0'); // Change the version in the header as well.
    5858    define( ACCP_PLUGIN_NAME, ACCP_PLUGIN_VERSION );
    5959    define('ACCP_PLUGIN_FILE_NAME', __FILE__);
  • constellation-client-portal/trunk/includes/class-ars-constellation-client-portal.php

    r2933483 r2961762  
    125125        require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-ars-constellation-client-portal-core-file-checks.php';
    126126        require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-ars-constellation-client-portal-users.php';
     127        require_once plugin_dir_path( dirname( __FILE__ ) ) . 'admin/class-ars-constellation-client-portal-settings.php';
    127128        require_once plugin_dir_path( dirname( __FILE__ ) ) . 'includes/class-ars-constellation-client-portal-utility-functions.php';
    128129
     
    200201        $plugin_authorization = new ARS_Constellation_Client_Portal_Core_Authorization( $this->get_plugin_name(), $this->get_version() );
    201202        $plugin_users = new ARS_Constellation_Client_Portal_Users( $this->get_plugin_name(), $this->get_version() );
     203        $core_settings = new ARS_Constellation_Client_Portal_Settings();
    202204
    203205        /* Core (Basic tier) hooks */
     
    338340
    339341        // Bulk delete files ajax function - when accp_clientfile or accp_clientinvoice empty trash button is clicked
    340         $this->loader->add_action( 'wp_ajax_accp_bulk_delete_file_on_empty_trash', $plugin_admin, 'accp_bulk_delete_file_on_empty_trash');
    341 
    342         // Add main ACCP admin menu item
    343         $this->loader->add_action( 'admin_menu', $plugin_admin, 'register_accp_custom_menu_page' );
    344        
    345         // Change the main submenu title
    346         $this->loader->add_action( 'admin_menu', $plugin_admin, 'add_menu_accp_main_sub_title' );               
    347        
     342        $this->loader->add_action( 'wp_ajax_accp_bulk_delete_file_on_empty_trash', $plugin_admin, 'accp_bulk_delete_file_on_empty_trash');                 
     343       
     344        // Change the main submenu title to "Settings."
     345        $this->loader->add_action( 'admin_menu', $core_settings, 'add_menu_accp_main_sub_title' ); 
     346
    348347        // Add Companies admin menu item/page
    349348        $this->loader->add_action( 'admin_menu', $plugin_admin, 'add_menu_accp_add_sub_menu_items_to_main_menu_item' );
     349
     350        // Add core settings pages
     351        $this->loader->add_action( 'admin_menu', $core_settings, 'add_accp_settings_pages_to_wp_admin' );       
     352
     353        // Add the main admin settings menu item
     354        $this->loader->add_action( 'admin_menu', $core_settings, 'register_main_settings_menu_item' );
    350355       
    351356        // Add Settings admin menu item/page       
    352357        //$this->loader->add_action( 'admin_menu', $plugin_admin, 'add_menu_accp_settings_page' ); // DEPRECATED
    353         $this->loader->add_action( 'admin_init', $plugin_admin, 'register_total_client_portal_settings' );     
     358        $this->loader->add_action( 'admin_init', $core_settings, 'register_client_portal_settings' );       
    354359
    355360        //Add company select field to Client Pages
  • constellation-client-portal/trunk/public/class-ars-constellation-client-portal-public.php

    r2933483 r2961762  
    394394                                <?php                               
    395395                                $file_dl_nonce = wp_create_nonce('file_download');
    396                                 $url_params = '/?accp-dl-id=' . $file_post_id;                             
     396                                $url_params = get_site_url() . '/?accp-dl-id=' . $file_post_id;                             
    397397                                ?>                         
    398398
     
    957957                                <?php                               
    958958                                $invoice_dl_nonce = wp_create_nonce('invoice_download');
    959                                 $url_params = '/?accp-dl-id=' . $file_post_id;                             
     959                                $url_params = get_site_url() . '/?accp-dl-id=' . $file_post_id;                             
    960960                                ?>
    961961                               
Note: See TracChangeset for help on using the changeset viewer.