diff --git a/assets/js/um-account.js b/assets/js/um-account.js index 819dddf8..c325eaf4 100644 --- a/assets/js/um-account.js +++ b/assets/js/um-account.js @@ -31,6 +31,8 @@ jQuery(document).ready(function() { jQuery('.um-account-nav a').removeClass('current'); jQuery('.um-account-nav a[data-tab="'+tab_+'"]').addClass('current'); + wp.hooks.doAction( 'um_after_account_tab_changed', tab_ ); + return false; }); @@ -62,6 +64,8 @@ jQuery(document).ready(function() { jQuery('.um-account-side li a').removeClass('current'); jQuery('.um-account-side li a[data-tab="'+tab_+'"]').addClass('current'); + wp.hooks.doAction( 'um_after_account_tab_changed', tab_ ); + return false; }); diff --git a/assets/js/um-account.min.js b/assets/js/um-account.min.js index 87fbfee5..df52f585 100644 --- a/assets/js/um-account.min.js +++ b/assets/js/um-account.min.js @@ -1 +1 @@ -jQuery(document).ready(function(){var a=jQuery(".um-account-main").attr("data-current_tab");a&&(jQuery('.um-account-tab[data-tab="'+a+'"]').show(),jQuery(".um-account-tab:not(:visible)").find("input, select, textarea").not(":disabled").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0)),jQuery(document.body).on("click",".um-account-side li a",function(a){a.preventDefault();var e=jQuery(this);e.parents("ul").find("li a").removeClass("current"),e.addClass("current");var t=jQuery(this).attr("href"),u=jQuery(this).attr("data-tab");return jQuery('input[id="_um_account_tab"]:hidden').val(u),window.history.pushState("","",t),jQuery(".um-account-tab").hide(),jQuery('.um-account-tab[data-tab="'+u+'"]').fadeIn(),jQuery(".um-account-tab:visible").find("input, select, textarea").filter(".um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input, select, textarea").not(":disabled").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-nav a").removeClass("current"),jQuery('.um-account-nav a[data-tab="'+u+'"]').addClass("current"),!1}),jQuery(document.body).on("click",".um-account-nav a",function(a){a.preventDefault();var e=jQuery(this).attr("data-tab"),t=jQuery(this).parents("div"),u=jQuery(this);return jQuery('input[id="_um_account_tab"]:hidden').val(e),jQuery(".um-account-tab").hide(),u.hasClass("current")?(t.next(".um-account-tab").slideUp(),u.removeClass("current")):(t.next(".um-account-tab").slideDown(),u.parents("div").find("a").removeClass("current"),u.addClass("current")),jQuery(".um-account-tab:visible").find("input, select, textarea").filter(".um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input, select, textarea").not(":disabled").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-side li a").removeClass("current"),jQuery('.um-account-side li a[data-tab="'+e+'"]').addClass("current"),!1}),jQuery(document.body).on("click",".um-request-button",function(a){a.preventDefault();var e=jQuery(this).data("action"),t=jQuery("#"+e).val();if(jQuery(".um-field-area-response."+e).hide(),""===t)jQuery(".um-field-error."+e).show();else{jQuery(".um-field-error."+e).hide();var u={request_action:e,password:t,nonce:um_scripts.nonce};wp.ajax.send("um_request_user_data",{data:u,success:function(a){jQuery(".um-field-area-response."+e).text(a.answer).show()},error:function(a){console.log(a)}})}})}); \ No newline at end of file +jQuery(document).ready(function(){var a=jQuery(".um-account-main").attr("data-current_tab");a&&(jQuery('.um-account-tab[data-tab="'+a+'"]').show(),jQuery(".um-account-tab:not(:visible)").find("input, select, textarea").not(":disabled").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0)),jQuery(document.body).on("click",".um-account-side li a",function(a){a.preventDefault();var e=jQuery(this);e.parents("ul").find("li a").removeClass("current"),e.addClass("current");var t=jQuery(this).attr("href"),u=jQuery(this).attr("data-tab");return jQuery('input[id="_um_account_tab"]:hidden').val(u),window.history.pushState("","",t),jQuery(".um-account-tab").hide(),jQuery('.um-account-tab[data-tab="'+u+'"]').fadeIn(),jQuery(".um-account-tab:visible").find("input, select, textarea").filter(".um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input, select, textarea").not(":disabled").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-nav a").removeClass("current"),jQuery('.um-account-nav a[data-tab="'+u+'"]').addClass("current"),wp.hooks.doAction("um_after_account_tab_changed",u),!1}),jQuery(document.body).on("click",".um-account-nav a",function(a){a.preventDefault();var e=jQuery(this).attr("data-tab"),t=jQuery(this).parents("div"),u=jQuery(this);return jQuery('input[id="_um_account_tab"]:hidden').val(e),jQuery(".um-account-tab").hide(),u.hasClass("current")?(t.next(".um-account-tab").slideUp(),u.removeClass("current")):(t.next(".um-account-tab").slideDown(),u.parents("div").find("a").removeClass("current"),u.addClass("current")),jQuery(".um-account-tab:visible").find("input, select, textarea").filter(".um_account_inactive:disabled").removeClass("um_account_inactive").prop("disabled",!1).attr("disabled",!1),jQuery(".um-account-tab:not(:visible)").find("input, select, textarea").not(":disabled").addClass("um_account_inactive").prop("disabled",!0).attr("disabled",!0),jQuery(".um-account-side li a").removeClass("current"),jQuery('.um-account-side li a[data-tab="'+e+'"]').addClass("current"),wp.hooks.doAction("um_after_account_tab_changed",e),!1}),jQuery(document.body).on("click",".um-request-button",function(a){a.preventDefault();var e=jQuery(this).data("action"),t=jQuery("#"+e).val();if(jQuery(".um-field-area-response."+e).hide(),""===t)jQuery(".um-field-error."+e).show();else{jQuery(".um-field-error."+e).hide();var u={request_action:e,password:t,nonce:um_scripts.nonce};wp.ajax.send("um_request_user_data",{data:u,success:function(a){jQuery(".um-field-area-response."+e).text(a.answer).show()},error:function(a){console.log(a)}})}})}); \ No newline at end of file diff --git a/includes/class-dependencies.php b/includes/class-dependencies.php index 692e86b7..fa189f9b 100644 --- a/includes/class-dependencies.php +++ b/includes/class-dependencies.php @@ -39,6 +39,7 @@ if ( ! class_exists( 'um\Dependencies' ) ) { 'friends' => '2.1.4', 'groups' => '2.1.7', 'instagram' => '2.0.5', + 'jobboardwp' => '1.0.0', 'mailchimp' => '2.2.0', 'messaging' => '2.2.5', 'mycred' => '2.1.6', @@ -144,6 +145,20 @@ if ( ! class_exists( 'um\Dependencies' ) ) { } + /** + * Check if JobBoardWP plugin is active + * + * @return bool + */ + public static function jobboardwp_active_check() { + + if ( ! self::$active_plugins ) self::init(); + + return in_array( 'jobboardwp/jobboardwp.php', self::$active_plugins ) || array_key_exists( 'jobboardwp/jobboardwp.php', self::$active_plugins ); + + } + + /** * Check if myCRED plugin is active * diff --git a/includes/class-init.php b/includes/class-init.php index 095e96da..618b06c2 100644 --- a/includes/class-init.php +++ b/includes/class-init.php @@ -38,6 +38,7 @@ if ( ! class_exists( 'UM' ) ) { * @method UM_Unsplash Unsplash() * @method UM_ForumWP ForumWP() * @method UM_Profile_Tabs Profile_Tabs() + * @method UM_JobBoardWP JobBoardWP() */ final class UM extends UM_Functions { diff --git a/includes/core/class-builtin.php b/includes/core/class-builtin.php index e22c8e3d..771374be 100644 --- a/includes/core/class-builtin.php +++ b/includes/core/class-builtin.php @@ -1114,7 +1114,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { // account page use ( not public ) - 'profile_privacy' => array( + 'profile_privacy' => array( 'title' => __( 'Profile Privacy', 'ultimate-member' ), 'metakey' => 'profile_privacy', 'type' => 'select', @@ -1130,7 +1130,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'required_perm' => 'can_make_private_profile', ), - 'profile_noindex' => array( + 'profile_noindex' => array( 'title' => __( 'Avoid indexing my profile by search engines', 'ultimate-member' ), 'metakey' => 'profile_noindex', 'type' => 'select', @@ -1149,7 +1149,7 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'required_perm' => 'can_make_private_profile', ), - 'hide_in_members' => array( + 'hide_in_members' => array( 'title' => __( 'Hide my profile from directory', 'ultimate-member' ), 'metakey' => 'hide_in_members', 'type' => 'radio', @@ -1167,29 +1167,32 @@ if ( ! class_exists( 'um\core\Builtin' ) ) { 'required_opt' => array( 'members_page', 1 ), ), - 'delete_account' => array( - 'title' => __('Delete Account','ultimate-member'), - 'metakey' => 'delete_account', - 'type' => 'radio', - 'label' => __('Delete Account','ultimate-member'), - 'help' => __('If you confirm, everything related to your profile will be deleted permanently from the site','ultimate-member'), - 'required' => 0, - 'public' => 1, - 'editable' => 1, - 'default' => __('No','ultimate-member'), - 'options' => array( __('Yes','ultimate-member') , __('No','ultimate-member') ), - 'account_only' => true, + 'delete_account' => array( + 'title' => __( 'Delete Account', 'ultimate-member' ), + 'metakey' => 'delete_account', + 'type' => 'radio', + 'label' => __( 'Delete Account', 'ultimate-member'), + 'help' => __( 'If you confirm, everything related to your profile will be deleted permanently from the site', 'ultimate-member' ), + 'required' => 0, + 'public' => 1, + 'editable' => 1, + 'default' => __( 'No', 'ultimate-member' ), + 'options' => array( + __( 'Yes', 'ultimate-member' ), + __( 'No', 'ultimate-member' ) + ), + 'account_only' => true, ), - 'single_user_password' => array( - 'title' => __('Password','ultimate-member'), - 'metakey' => 'single_user_password', - 'type' => 'password', - 'label' => __('Password','ultimate-member'), - 'required' => 1, - 'public' => 1, - 'editable' => 1, - 'account_only' => true, + 'single_user_password' => array( + 'title' => __( 'Password', 'ultimate-member' ), + 'metakey' => 'single_user_password', + 'type' => 'password', + 'label' => __( 'Password', 'ultimate-member' ), + 'required' => 1, + 'public' => 1, + 'editable' => 1, + 'account_only' => true, ), ); diff --git a/includes/core/class-enqueue.php b/includes/core/class-enqueue.php index c780616a..d3da4735 100644 --- a/includes/core/class-enqueue.php +++ b/includes/core/class-enqueue.php @@ -158,7 +158,9 @@ if ( ! class_exists( 'um\core\Enqueue' ) ) { wp_register_script('um_members', $this->js_baseurl . 'um-members' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'jquery-ui-slider', 'um_dropdown', 'wp-hooks', 'jquery-masonry', 'um_scripts' ), ultimatemember_version, true ); wp_register_script('um_profile', $this->js_baseurl . 'um-profile' . $this->suffix . '.js', array( 'jquery', 'wp-util', 'wp-i18n' ), ultimatemember_version, true ); - wp_register_script('um_account', $this->js_baseurl . 'um-account' . $this->suffix . '.js', array( 'jquery' ), ultimatemember_version, true ); + + $account_deps = apply_filters( 'um_account_scripts_dependencies', array( 'jquery', 'wp-hooks' ) ); + wp_register_script('um_account', $this->js_baseurl . 'um-account' . $this->suffix . '.js', $account_deps, ultimatemember_version, true ); wp_register_script( 'um_gchart', 'https://www.google.com/jsapi', array(), ultimatemember_version, true ); } diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php index 0c4106cd..8eaf0544 100644 --- a/includes/um-short-functions.php +++ b/includes/um-short-functions.php @@ -778,7 +778,7 @@ function um_user_submitted_registration( $style = false ) { * * @since 2.1.4 */ -function um_user_submitted_registration_formatted( $style = false ){ +function um_user_submitted_registration_formatted( $style = false ) { $output = null; $submitted_data = um_user( 'submitted' ); @@ -793,7 +793,9 @@ function um_user_submitted_registration_formatted( $style = false ){ if ( isset( $submitted_data ) && is_array( $submitted_data ) ) { - $fields = UM()->query()->get_attr( 'custom_fields', $submitted_data['form_id'] ); + if ( isset( $submitted_data['form_id'] ) ) { + $fields = UM()->query()->get_attr( 'custom_fields', $submitted_data['form_id'] ); + } if ( isset( $fields ) ) {