Changeset 2946134
- Timestamp:
- 08/01/2023 03:58:02 PM (3 years ago)
- Location:
- constellation-client-portal
- Files:
-
- 107 added
- 9 edited
-
assets/screenshot-5.png (modified) (previous)
-
tags/1.5.10 (added)
-
tags/1.5.10/LICENSE.txt (added)
-
tags/1.5.10/README.txt (added)
-
tags/1.5.10/admin (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-admin.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-client-pages.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-company.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-core-authorization.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-core-file-checks.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-file.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-invoice.php (added)
-
tags/1.5.10/admin/class-ars-constellation-client-portal-users.php (added)
-
tags/1.5.10/admin/css (added)
-
tags/1.5.10/admin/css/ars-constellation-client-portal-admin.css (added)
-
tags/1.5.10/admin/css/jquery-ui (added)
-
tags/1.5.10/admin/css/jquery-ui/1.11.1 (added)
-
tags/1.5.10/admin/css/jquery-ui/1.11.1/themes (added)
-
tags/1.5.10/admin/css/jquery-ui/1.11.1/themes/cupertino (added)
-
tags/1.5.10/admin/css/jquery-ui/1.11.1/themes/cupertino/jquery-ui.css (added)
-
tags/1.5.10/admin/css/select2.min.css (added)
-
tags/1.5.10/admin/includes (added)
-
tags/1.5.10/admin/includes/accp-settings-page.php (added)
-
tags/1.5.10/admin/index.php (added)
-
tags/1.5.10/admin/js (added)
-
tags/1.5.10/admin/js/ars-constellation-client-portal-admin.js (added)
-
tags/1.5.10/admin/js/i18n (added)
-
tags/1.5.10/admin/js/i18n/af.js (added)
-
tags/1.5.10/admin/js/i18n/ar.js (added)
-
tags/1.5.10/admin/js/i18n/az.js (added)
-
tags/1.5.10/admin/js/i18n/bg.js (added)
-
tags/1.5.10/admin/js/i18n/bs.js (added)
-
tags/1.5.10/admin/js/i18n/ca.js (added)
-
tags/1.5.10/admin/js/i18n/cs.js (added)
-
tags/1.5.10/admin/js/i18n/da.js (added)
-
tags/1.5.10/admin/js/i18n/de.js (added)
-
tags/1.5.10/admin/js/i18n/dsb.js (added)
-
tags/1.5.10/admin/js/i18n/el.js (added)
-
tags/1.5.10/admin/js/i18n/en.js (added)
-
tags/1.5.10/admin/js/i18n/es.js (added)
-
tags/1.5.10/admin/js/i18n/et.js (added)
-
tags/1.5.10/admin/js/i18n/eu.js (added)
-
tags/1.5.10/admin/js/i18n/fa.js (added)
-
tags/1.5.10/admin/js/i18n/fi.js (added)
-
tags/1.5.10/admin/js/i18n/fr.js (added)
-
tags/1.5.10/admin/js/i18n/gl.js (added)
-
tags/1.5.10/admin/js/i18n/he.js (added)
-
tags/1.5.10/admin/js/i18n/hi.js (added)
-
tags/1.5.10/admin/js/i18n/hr.js (added)
-
tags/1.5.10/admin/js/i18n/hsb.js (added)
-
tags/1.5.10/admin/js/i18n/hu.js (added)
-
tags/1.5.10/admin/js/i18n/hy.js (added)
-
tags/1.5.10/admin/js/i18n/id.js (added)
-
tags/1.5.10/admin/js/i18n/is.js (added)
-
tags/1.5.10/admin/js/i18n/it.js (added)
-
tags/1.5.10/admin/js/i18n/ja.js (added)
-
tags/1.5.10/admin/js/i18n/km.js (added)
-
tags/1.5.10/admin/js/i18n/ko.js (added)
-
tags/1.5.10/admin/js/i18n/lt.js (added)
-
tags/1.5.10/admin/js/i18n/lv.js (added)
-
tags/1.5.10/admin/js/i18n/mk.js (added)
-
tags/1.5.10/admin/js/i18n/ms.js (added)
-
tags/1.5.10/admin/js/i18n/nb.js (added)
-
tags/1.5.10/admin/js/i18n/nl.js (added)
-
tags/1.5.10/admin/js/i18n/pl.js (added)
-
tags/1.5.10/admin/js/i18n/ps.js (added)
-
tags/1.5.10/admin/js/i18n/pt-BR.js (added)
-
tags/1.5.10/admin/js/i18n/pt.js (added)
-
tags/1.5.10/admin/js/i18n/ro.js (added)
-
tags/1.5.10/admin/js/i18n/ru.js (added)
-
tags/1.5.10/admin/js/i18n/sk.js (added)
-
tags/1.5.10/admin/js/i18n/sl.js (added)
-
tags/1.5.10/admin/js/i18n/sr-Cyrl.js (added)
-
tags/1.5.10/admin/js/i18n/sr.js (added)
-
tags/1.5.10/admin/js/i18n/sv.js (added)
-
tags/1.5.10/admin/js/i18n/th.js (added)
-
tags/1.5.10/admin/js/i18n/tr.js (added)
-
tags/1.5.10/admin/js/i18n/uk.js (added)
-
tags/1.5.10/admin/js/i18n/vi.js (added)
-
tags/1.5.10/admin/js/i18n/zh-CN.js (added)
-
tags/1.5.10/admin/js/i18n/zh-TW.js (added)
-
tags/1.5.10/admin/js/select2.min.js (added)
-
tags/1.5.10/ars-constellation-client-portal.php (added)
-
tags/1.5.10/assets (added)
-
tags/1.5.10/assets/img (added)
-
tags/1.5.10/assets/img/accp-full-logo.png (added)
-
tags/1.5.10/includes (added)
-
tags/1.5.10/includes/ars-constellation-client-portal-install-uninstall.php (added)
-
tags/1.5.10/includes/class-ars-constellation-client-portal-activator.php (added)
-
tags/1.5.10/includes/class-ars-constellation-client-portal-deactivator.php (added)
-
tags/1.5.10/includes/class-ars-constellation-client-portal-i18n.php (added)
-
tags/1.5.10/includes/class-ars-constellation-client-portal-loader.php (added)
-
tags/1.5.10/includes/class-ars-constellation-client-portal-utility-functions.php (added)
-
tags/1.5.10/includes/class-ars-constellation-client-portal.php (added)
-
tags/1.5.10/includes/index.php (added)
-
tags/1.5.10/index.php (added)
-
tags/1.5.10/languages (added)
-
tags/1.5.10/languages/ars-constellation-client-portal.pot (added)
-
tags/1.5.10/public (added)
-
tags/1.5.10/public/assets (added)
-
tags/1.5.10/public/assets/index.php (added)
-
tags/1.5.10/public/class-ars-constellation-client-portal-public.php (added)
-
tags/1.5.10/public/css (added)
-
tags/1.5.10/public/css/ars-constellation-client-portal-public.css (added)
-
tags/1.5.10/public/index.php (added)
-
tags/1.5.10/public/js (added)
-
tags/1.5.10/public/js/ars-constellation-client-portal-public.js (added)
-
tags/1.5.10/uninstall.php (added)
-
trunk/README.txt (modified) (3 diffs)
-
trunk/admin/class-ars-constellation-client-portal-client-pages.php (modified) (4 diffs)
-
trunk/admin/class-ars-constellation-client-portal-file.php (modified) (7 diffs)
-
trunk/admin/class-ars-constellation-client-portal-invoice.php (modified) (8 diffs)
-
trunk/admin/css/ars-constellation-client-portal-admin.css (modified) (1 diff)
-
trunk/ars-constellation-client-portal.php (modified) (2 diffs)
-
trunk/includes/ars-constellation-client-portal-install-uninstall.php (modified) (2 diffs)
-
trunk/includes/class-ars-constellation-client-portal-utility-functions.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
constellation-client-portal/trunk/README.txt
r2933483 r2946134 5 5 Requires at least: 5.0.0 6 6 Tested up to: 6.2 7 Stable tag: 1.5. 97 Stable tag: 1.5.10 8 8 Requires PHP: 7.4 9 9 License: GPLv3 or later … … 206 206 == Changelog == 207 207 208 = 1.5.10 (Pro) - 2023-8-1 = 209 * Improvement: Improved the company status settings new status row functionality. 210 * Update: Deprecated unused function in pro settings. 211 * Feature: Added new filter to allow users to change the default client file and invoice URL base name. 212 * Feature: Added new settings and functionality to allow users to change the default client file and invoice URL base name. 213 * Update: Fixed issue with the duplicate post type slug check for better accuracy. 214 215 = 1.5.10 (Core) - 2023-8-1 = 216 * Update: Made updates to the install/uninstall file. 217 * Update: Made updates to the client invoice and client file post type args, and the client invoice category, client invoice tag, client file category, client file tag custom taxonomy args. 218 * Update: Minor css updates for the settings UI. 219 * Update: Made updates to the client page category and client page tag custom taxonomy args. 220 208 221 = 1.5.9 (Pro) - 2023-7-3 = 209 222 * Fix: Updated the quick edit functionality related to the Reminder Email column in file and invoice WP list tables to prevent loss of the column after a quick edit (AJAX) update. 210 * Feature: Added new filter to allow coreusers to change the default client page URL base name.223 * Feature: Added new filter to allow users to change the default client page URL base name. 211 224 * Feature: Added new settings and functionality to allows users to change the default client page URL base name. 212 225 … … 215 228 * Improvement: Created better method for displaying admin notices. 216 229 * Update: Made minor updates to the file and invoice shortcodes. 217 218 230 219 231 = 1.5.8 (Pro) - 2023-6-1 = -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-client-pages.php
r2933483 r2946134 165 165 $show_in_rest = current_user_can( 'manage_options' ) ? true : false; 166 166 167 /** 168 * Allow custom rewrite slug. 169 */ 170 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 171 172 $rewrite_slug = $this->pro_admin->get_client_page_categories_rewrite_slug(); 173 174 }else{ 175 176 $rewrite_slug = false; 177 178 } 179 167 180 $args = array( 168 181 'labels' => $labels, … … 173 186 'show_tagcloud' => false, 174 187 'hierarchical' => true, 175 'rewrite' => false,188 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 176 189 'query_var' => true 177 190 ); … … 213 226 $show_in_rest = current_user_can( 'manage_options' ) ? true : false; 214 227 228 /** 229 * Allow custom rewrite slug. 230 */ 231 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 232 233 $rewrite_slug = $this->pro_admin->get_client_page_tags_rewrite_slug(); 234 235 }else{ 236 237 $rewrite_slug = false; 238 239 } 240 215 241 $args = array( 216 242 'labels' => $labels, … … 221 247 'show_tagcloud' => false, 222 248 'hierarchical' => false, 223 'rewrite' => false,249 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 224 250 'query_var' => true 225 251 ); -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-file.php
r2906601 r2946134 45 45 46 46 $this->plugin_name = $plugin_name; 47 $this->version = $version; 47 $this->version = $version; 48 $this->utilities = new ACCP_Utility_Functions($this->plugin_name, $this->version); 49 50 if( class_exists('ARS_Constellation_Client_Portal_Pro_Admin') ){ 51 52 $this->pro_admin = new ARS_Constellation_Client_Portal_Pro_Admin($this->plugin_name, $this->version); 53 54 } 48 55 49 56 } … … 71 78 'menu_name' => _x( 'Client Files', 'accp_clientfile' ), 72 79 ); 80 81 /** 82 * Allow custom rewrite slug. 83 */ 84 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 85 86 $rewrite_slug = $this->pro_admin->get_client_file_rewrite_slug(); 87 88 }else{ 89 90 $rewrite_slug = false; 91 92 } 73 93 74 94 $args = array( … … 87 107 'query_var' => true, 88 108 'can_export' => true, 89 'rewrite' => false,109 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 90 110 'capabilities' => array( 91 111 'edit_post' => 'update_core', … … 129 149 ); 130 150 151 /** 152 * Allow custom rewrite slug. 153 */ 154 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 155 156 $rewrite_slug = $this->pro_admin->get_client_file_categories_rewrite_slug(); 157 158 }else{ 159 160 $rewrite_slug = false; 161 162 } 163 131 164 $args = array( 132 165 'labels' => $labels, … … 136 169 'show_tagcloud' => false, 137 170 'hierarchical' => true, 138 'rewrite' => false,171 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 139 172 'query_var' => true 140 173 ); … … 169 202 ); 170 203 204 /** 205 * Allow custom rewrite slug. 206 */ 207 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 208 209 $rewrite_slug = $this->pro_admin->get_client_file_tags_rewrite_slug(); 210 211 }else{ 212 213 $rewrite_slug = false; 214 215 } 216 171 217 $args = array( 172 218 'labels' => $labels, … … 176 222 'show_tagcloud' => false, 177 223 'hierarchical' => false, 178 'rewrite' => false,224 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 179 225 'query_var' => true 180 226 ); -
constellation-client-portal/trunk/admin/class-ars-constellation-client-portal-invoice.php
r2920206 r2946134 45 45 46 46 $this->plugin_name = $plugin_name; 47 $this->version = $version; 47 $this->version = $version; 48 $this->utilities = new ACCP_Utility_Functions($this->plugin_name, $this->version); 49 50 if( class_exists('ARS_Constellation_Client_Portal_Pro_Admin') ){ 51 52 $this->pro_admin = new ARS_Constellation_Client_Portal_Pro_Admin($this->plugin_name, $this->version); 53 54 } 48 55 49 56 } … … 71 78 'menu_name' => _x( 'Client Invoices', 'clientinvoice' ), 72 79 ); 80 81 /** 82 * Allow custom rewrite slug. 83 */ 84 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 85 86 $rewrite_slug = $this->pro_admin->get_client_invoice_rewrite_slug(); 87 88 }else{ 89 90 $rewrite_slug = false; 91 92 } 73 93 74 94 $args = array( … … 87 107 'query_var' => true, 88 108 'can_export' => true, 89 'rewrite' => false,109 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 90 110 'capabilities' => array( 91 111 'edit_post' => 'update_core', … … 101 121 102 122 register_post_type( 'accp_clientinvoice', $args ); 123 103 124 } 104 125 … … 129 150 ); 130 151 152 /** 153 * Allow custom rewrite slug. 154 */ 155 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 156 157 $rewrite_slug = $this->pro_admin->get_client_invoice_categories_rewrite_slug(); 158 159 }else{ 160 161 $rewrite_slug = false; 162 163 } 164 131 165 $args = array( 132 166 'labels' => $labels, … … 136 170 'show_tagcloud' => false, 137 171 'hierarchical' => true, 138 'rewrite' => false,172 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 139 173 'query_var' => true 140 174 ); 141 175 142 176 register_taxonomy( 'accp_invoice_categories', array('accp_clientinvoice'), $args ); 177 143 178 } 144 179 … … 169 204 ); 170 205 206 /** 207 * Allow custom rewrite slug. 208 */ 209 if( true === $this->utilities->is_pro_plugin($this->plugin_name) ){ 210 211 $rewrite_slug = $this->pro_admin->get_client_invoice_tags_rewrite_slug(); 212 213 }else{ 214 215 $rewrite_slug = false; 216 217 } 218 171 219 $args = array( 172 220 'labels' => $labels, … … 176 224 'show_tagcloud' => false, 177 225 'hierarchical' => false, 178 'rewrite' => false,226 'rewrite' => $rewrite_slug !== false ? array('slug' => $rewrite_slug) : false, 179 227 'query_var' => true 180 228 ); 181 229 182 230 register_taxonomy( 'accp_invoice_tags', array('accp_clientinvoice'), $args ); 231 183 232 } 184 233 -
constellation-client-portal/trunk/admin/css/ars-constellation-client-portal-admin.css
r2933483 r2946134 789 789 } 790 790 791 .accp-settings-section-inner { 792 border-bottom: 1px solid #eee; 793 padding-bottom: 15px; 794 margin-bottom: 30px; 795 } 796 791 797 @media screen and (min-width: 980px) { 792 798 -
constellation-client-portal/trunk/ars-constellation-client-portal.php
r2933483 r2946134 5 5 * Plugin URI: https://adrianrodriguezstudios.com/constellation-client-portal/ 6 6 * 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. 97 * Version: 1.5.10 8 8 * Author: ARS 9 9 * Author URI: https://adrianrodriguezstudios.com … … 55 55 */ 56 56 define('ACCP_PLUGIN_NAME', 'ARS_CONSTELLATION_CLIENT_PORTAL'); 57 define('ACCP_PLUGIN_VERSION', '1.5. 9'); // Change the version in the header as well.57 define('ACCP_PLUGIN_VERSION', '1.5.10'); // Change the version in the header as well. 58 58 define( ACCP_PLUGIN_NAME, ACCP_PLUGIN_VERSION ); 59 59 define('ACCP_PLUGIN_FILE_NAME', __FILE__); -
constellation-client-portal/trunk/includes/ars-constellation-client-portal-install-uninstall.php
r2893094 r2946134 77 77 * check for the existence of each default value in the saved options. 78 78 */ 79 if( !empty($company_status_rows) && $company_status_rows != null ){79 if( is_array($company_status_rows) && !empty($company_status_rows) && $company_status_rows != null ){ 80 80 81 $new = array(); 81 $new = array(); 82 82 83 /** 84 * Search multidimensional array. 85 */ 86 function in_array_r($needle, $haystack, $strict = false) { 83 foreach( $company_status_rows as $company_status_row ){ 87 84 88 foreach ($haystack as $item){85 if( is_array($company_status_row) ){ 89 86 90 if (($strict ? $item === $needle : $item == $needle) || (is_array($item) && in_array_r($needle, $item, $strict))) { 87 /** 88 * Add the default 'active' status if not already present. 89 */ 90 if( !in_array('active', $company_status_row) ){ 91 91 92 return true; 92 $new[] = array( 'label' => sanitize_text_field('Active'), 'value' => sanitize_text_field('active'), 'status_action' => sanitize_text_field('vis_no_action') ); 93 94 } 95 96 97 /** 98 * Add the default 'pending' status if not already present. 99 */ 100 if( !in_array('pending', $company_status_row) ){ 101 102 $new[] = array( 'label' => sanitize_text_field('Pending'), 'value' => 'pending', sanitize_text_field('status_action') => sanitize_text_field('vis_no_action') ); 103 104 } 105 106 107 /** 108 * Add the default 'inactive' status if not already present. 109 */ 110 if( !in_array('inactive', $company_status_row) ){ 111 112 $new[] = array( 'label' => sanitize_text_field('Inactive'), 'value' => sanitize_text_field('inactive'), 'status_action' => sanitize_text_field('vis_no_action') ); 93 113 94 114 } … … 96 116 } 97 117 98 return false;99 118 100 } 119 } 101 120 102 /**103 * Only add if the value is not already present.104 */105 if( !in_array_r('active', $company_status_rows)){106 107 $new[] = array( 'label' => sanitize_text_field('Active'), 'value' => sanitize_text_field('active'), 'status_action' => sanitize_text_field('vis_no_action') );108 109 }110 111 /**112 * Only add if the value is not already present.113 */114 if( !in_array_r('pending', $company_status_rows)){115 116 $new[] = array( 'label' => sanitize_text_field('Pending'), 'value' => 'pending', sanitize_text_field('status_action') => sanitize_text_field('vis_no_action') );117 118 }119 120 /**121 * Only add if the value is not already present.122 */123 if( !in_array_r('inactive', $company_status_rows)){124 125 $new[] = array( 'label' => sanitize_text_field('Inactive'), 'value' => sanitize_text_field('inactive'), 'status_action' => sanitize_text_field('vis_no_action') );126 127 }128 121 129 122 /** -
constellation-client-portal/trunk/includes/class-ars-constellation-client-portal-utility-functions.php
r2933483 r2946134 253 253 * Check the post type slug if it exists. 254 254 */ 255 if( is_array($post_type->rewrite) ){ 255 if( is_array($post_type->rewrite) ){ 256 256 257 $post_type_slug = array_key_exists('slug', $post_type->rewrite) ? 'slug: ' .$post_type->rewrite['slug'] : false;258 257 $post_type_slug = array_key_exists('slug', $post_type->rewrite) ? $post_type->rewrite['slug'] : false; 258 259 259 if( $post_type_slug && false !== $post_type_slug ){ 260 260 … … 285 285 286 286 /** 287 * Check slug for uniqueness, and 288 * verify that it is not already in use 289 * by another taxonomy. 290 * 291 * @param string $slug - The slug to check. 292 * 293 * @return bool $is_unique - True if the slug is unique or false if not. 294 */ 295 function check_if_taxonomy_slug_is_unique($slug){ 296 297 $is_unique = true; 298 299 if(!$slug) 300 return $is_unique; 301 302 /** 303 * Get all post types. 304 */ 305 $taxonomies = get_taxonomies( array(), 'objects'); 306 307 foreach($taxonomies as $term){ 308 309 /** 310 * Check the term name. 311 */ 312 $name = $term->name; 313 314 /** 315 * Return false if the term name 316 * matches the slug being checked. 317 */ 318 if( $name === $slug ){ 319 320 $is_unique = false; 321 322 return $is_unique; 323 324 } 325 326 327 /** 328 * Check the term slug if it exists. 329 */ 330 if( is_array($term->rewrite) ){ 331 332 $term_slug = array_key_exists('slug', $term->rewrite) ? $term->rewrite['slug'] : false; 333 334 if( $term_slug && false !== $term_slug ){ 335 336 $term_slug = str_replace('/', '', $term_slug); 337 338 /** 339 * Return false if the term slug 340 * matches the slug being checked. 341 */ 342 if( $term_slug === $slug ){ 343 344 $is_unique = false; 345 346 return $is_unique; 347 348 } 349 350 } 351 352 } 353 354 } 355 356 return $is_unique; 357 358 } 359 360 361 /** 287 362 * Check if this is the pro plugin. 288 363 *
Note: See TracChangeset
for help on using the changeset viewer.