PluginProbe
WDesignKit – AI Templates, Widget Builder & MCP Workflow / 1.0.21
WDesignKit – AI Templates, Widget Builder & MCP Workflow v1.0.21
2.6.6 2.6.5 2.6.4 2.6.3 2.6.2 2.6.1 2.6.0 2.5.5 2.5.4 2.5.3 2.5.2 2.5.1 2.5.0 2.4.0 2.3.3 2.3.2 2.3.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 All 128 releases
← All changes | includes/admin/class-api.php +168 -22 1.0.141.0.21 View file →
@@ -182,8 +182,11 @@
182 182 break;
183 183 case 'install_plugins_depends':
184 184 $data = $this->wdkit_install_plugins_depends();
185 185 break;
186 + case 'update_latest_plugin':
187 + $data = $this->wdkit_update_latest_plugin();
188 + break;
186 189 case 'import_template':
187 190 $data = $this->wdkit_import_template();
188 191 break;
189 192 case 'import_multi_template':
@@ -203,11 +206,8 @@
203 206 break;
204 207 case 'wkit_activate_key':
205 208 $data = $this->wdkit_activate_key();
206 209 break;
207 - case 'wkit_get_widget_list':
208 - $data = $this->wdkit_get_widget_list();
209 - break;
210 210 case 'wkit_manage_widget_category':
211 211 $data = $this->wdkit_manage_widget_category();
212 212 break;
213 213 case 'wkit_create_widget':
@@ -526,9 +526,8 @@
526 526 *
527 527 * This Function is used for Login with Api (token)
528 528 *
529 529 * @version 1.0.0
530 - * @access public
531 530 */
532 531 protected function wdkit_api_login() {
533 532 $user_token = isset( $_POST['token'] ) ? sanitize_text_field( wp_unslash( $_POST['token'] ) ) : '';
534 533 $login_type = isset( $_POST['login_type'] ) ? sanitize_text_field( wp_unslash( $_POST['login_type'] ) ) : '';
@@ -589,9 +588,8 @@
589 588 *
590 589 * This Function is used for social Login
591 590 *
592 591 * @version 1.0.0
593 - * @access public
594 592 */
595 593 protected function wdkit_social_login() {
596 594 $user_state = isset( $_POST['state'] ) ? sanitize_text_field( wp_unslash( $_POST['state'] ) ) : '';
597 595 $login_type = isset( $_POST['login_type'] ) ? sanitize_text_field( wp_unslash( $_POST['login_type'] ) ) : '';
@@ -670,9 +668,10 @@
670 668 $statuscode = array( 'HTTP_CODE' => $status );
671 669
672 670 $final = json_decode( wp_json_encode( $get_data_one ), true );
673 671
674 - $final['Setting'] = self::wkit_get_settings_panel();
672 + $final['Setting'] = self::wkit_get_settings_panel();
673 + $final['widget_list'] = $this->wkit_manage_widget_sequence( array() );
675 674
676 675 $final = array(
677 676 'data' => $final,
678 677 );
@@ -685,9 +684,8 @@
685 684 *
686 685 * It is Use for get all info of user.
687 686 *
688 687 * @since 1.0.0
689 - * @access public
690 688 */
691 689 protected function wdkit_get_user_info() {
692 690 $email = isset( $_POST['email'] ) ? strtolower( sanitize_email( wp_unslash( $_POST['email'] ) ) ) : false;
693 691 $builder = isset( $_POST['builder'] ) ? strtolower( sanitize_text_field( wp_unslash( $_POST['builder'] ) ) ) : '';
@@ -722,9 +720,10 @@
722 720 if ( 'Token is Expired' === $status || 'Authorization Token not found' === $status ) {
723 721 delete_transient( 'wdkit_auth_' . $email );
724 722 }
725 723
726 - $response['Setting'] = self::wkit_get_settings_panel();
724 + $response['Setting'] = $this->wkit_get_settings_panel();
725 + $response['widget_list'] = $this->wkit_manage_widget_sequence( $response );
727 726
728 727 $response = array(
729 728 'data' => $response,
730 729 'success' => true,
@@ -734,8 +733,118 @@
734 733 wp_die();
735 734 }
736 735
737 736 /**
737 + *
738 + * It is Use for get all widgets local and server.
739 + *
740 + * @since 1.0.19
741 + * @param string $response userinfo store.
742 + */
743 + protected function wkit_manage_widget_sequence( $response = array() ) {
744 +
745 + $credits = ! empty( $response['credits']['widget_limit']['meta_value'] ) ? $response['credits']['widget_limit']['meta_value'] : 10;
746 + $server_list = ! empty( $response['widgettemplate'] ) ? $response['widgettemplate'] : array();
747 + $db_builder_list = ! empty( $response['widgetbuilder'] ) ? $response['widgetbuilder'] : array();
748 +
749 + $placeholderimg = WDKIT_URL . 'assets/images/placeholder.jpg';
750 +
751 + $local_list = $this->wdkit_get_local_widgets();
752 +
753 + $server_w_unique = array_column( $server_list, 'w_unique' );
754 +
755 + $idx_builder = array();
756 + foreach ( $db_builder_list as $index => $value ) {
757 + $builder_name = ! empty( $value['builder_name'] ) ? $value['builder_name'] : '';
758 + $w_id = ! empty( $value['w_id'] ) ? $value['w_id'] : '';
759 +
760 + if ( ! empty( $builder_name ) ) {
761 + $idx_builder[ $w_id ] = strtolower( $builder_name );
762 + }
763 + }
764 +
765 + foreach ( $server_list as $index => $value ) {
766 + $get_id = $server_list[ $index ]['builder'] ? $server_list[ $index ]['builder'] : '';
767 +
768 + $server_list[ $index ]['type'] = 'server';
769 + $server_list[ $index ]['builder'] = ! empty( $idx_builder[ $get_id ] ) ? $idx_builder[ $get_id ] : '';
770 + }
771 +
772 + $count = 0;
773 +
774 + foreach ( $local_list as $key => $value ) {
775 + $widget_id = ! empty( $value['widgetdata']['widget_id'] ) ? $value['widgetdata']['widget_id'] : '';
776 + $allow_push = isset( $value['widgetdata']['allow_push'] ) ? $value['widgetdata']['allow_push'] : true;
777 +
778 + if ( in_array( $widget_id, $server_w_unique ) ) {
779 +
780 + $index = array_search( $widget_id, $server_w_unique );
781 +
782 + $server_list[ $index ]['title'] = $local_list[ $key ]['widgetdata']['name'];
783 + $server_list[ $index ]['w_version'] = $local_list[ $key ]['widgetdata']['widget_version'];
784 + $server_list[ $index ]['allow_push'] = $allow_push;
785 + $server_list[ $index ]['builder'] = $local_list[ $key ]['widgetdata']['type'];
786 + $server_list[ $index ]['w_unique'] = $local_list[ $key ]['widgetdata']['widget_id'];
787 + $server_list[ $index ]['image'] = ! empty( $local_list[ $key ]['widgetdata']['w_image'] ) ? $local_list[ $key ]['widgetdata']['w_image'] : $placeholderimg;
788 +
789 + $local_list[ $key ] = $server_list[ $index ];
790 +
791 + $local_list[ $key ]['type'] = 'done';
792 +
793 + unset( $server_list[ $index ] );
794 + } else {
795 + $local_list[ $key ]['widgetdata']['builder'] = $local_list[ $key ]['widgetdata']['type'];
796 + $local_list[ $key ]['widgetdata']['w_unique'] = $local_list[ $key ]['widgetdata']['widget_id'];
797 + $local_list[ $key ]['widgetdata']['allow_push'] = $allow_push;
798 + $local_list[ $key ]['widgetdata']['image'] = ! empty( $local_list[ $key ]['widgetdata']['w_image'] ) ? $local_list[ $key ]['widgetdata']['w_image'] : $placeholderimg;
799 + $local_list[ $key ]['widgetdata']['is_activated'] = 'active';
800 +
801 + $local_list[ $key ]['widgetdata']['type'] = 'plugin';
802 +
803 + $local_list[ $key ]['widgetdata']['title'] = $local_list[ $key ]['widgetdata']['name'];
804 + unset( $local_list[ $key ]['widgetdata']['name'] );
805 + unset( $local_list[ $key ]['widgetdata']['widget_id'] );
806 +
807 + $local_list[ $key ] = $local_list[ $key ]['widgetdata'];
808 + }
809 + }
810 +
811 + $final = array_merge( $local_list, $server_list );
812 +
813 + $db_widget = array();
814 +
815 + foreach ( $final as $key => $self ) {
816 + $is_activated = ! empty( $final[ $key ]['is_activated'] ) ? $final[ $key ]['is_activated'] : 'active';
817 +
818 + if ( 'active' === $is_activated ) {
819 + ++$count;
820 + }
821 +
822 + if ( ($count > $credits) && ('unlimited' !== $credits)) {
823 + $final[ $key ]['is_activated'] = 'deactive';
824 + }
825 +
826 + if ( ! empty( $self['is_activated'] ) && 'active' !== $self['is_activated'] ) {
827 + $db_widget[] = array(
828 + 'w_unique' => $self['w_unique'],
829 + 'builder' => $self['builder'],
830 + 'title' => $self['title'],
831 + 'is_activated' => $self['is_activated'],
832 + );
833 + }
834 + }
835 +
836 + $get_db_widget = get_option( 'wkit_deactivate_widgets', array() );
837 + if ( empty( $get_db_widget ) ) {
838 + add_option( 'wkit_deactivate_widgets', $db_widget, '', 'yes' );
839 + } else {
840 + update_option( 'wkit_deactivate_widgets', $db_widget );
841 + }
842 +
843 + return $final;
844 + }
845 +
846 + /**
738 847 * Browse Page Filter
739 848 *
740 849 * @since 1.0.0
741 850 */
@@ -752,9 +861,8 @@
752 861 *
753 862 * It is Use to get data for widget browse page
754 863 *
755 864 * @since 1.0.0
756 - * @access public
757 865 */
758 866 protected function wdkit_widget_browse_page() {
759 867 $array_data = array(
760 868 'CurrentPage' => isset( $_POST['page'] ) ? (int) $_POST['page'] : 1,
@@ -808,9 +916,8 @@
808 916 *
809 917 * It is Use for remove or delete template.
810 918 *
811 919 * @since 1.0.0
812 - * @access public
813 920 */
814 921 protected function wdkit_template_remove() {
815 922 $args = $this->wdkit_parse_args( $_POST );
816 923
@@ -1011,10 +1118,9 @@
1011 1118 $update_plugin[] = $plugin;
1012 1119 }
1013 1120 } elseif ( 'theme' === $type ) {
1014 1121 $theme_array = array_keys( wp_get_themes() );
1015 - // $current_themes = wp_get_theme()->get('Name');
1016 - $theme_slug = get_stylesheet();
1122 + $theme_slug = get_stylesheet();
1017 1123
1018 1124 if ( $theme_slug === $plugin->original_slug ) {
1019 1125
1020 1126 $plugin->status = 'active';
@@ -1088,8 +1194,19 @@
1088 1194 }
1089 1195
1090 1196 /**
1091 1197 *
1198 + * It is Use Update WDesignKit plugin latest version.
1199 + *
1200 + * @since 1.0.17
1201 + */
1202 + protected function wdkit_update_latest_plugin() {
1203 +
1204 + return Wdkit_Depends_Installer::get_instance()->wdkit_update_plugin();
1205 + }
1206 +
1207 + /**
1208 + *
1092 1209 * It is Use for get plugin list.
1093 1210 *
1094 1211 * @since 1.0.0
1095 1212 */
@@ -1576,9 +1693,9 @@
1576 1693 $get_post_type = $enqueue_instance->wdkit_get_post_type_list();
1577 1694
1578 1695 $post_type = ! empty( $temp_data['type'] ) ? sanitize_text_field( wp_unslash( $temp_data['type'] ) ) : 'page';
1579 1696
1580 - if ( 'section' == $post_type ) {
1697 + if ( 'section' === $post_type ) {
1581 1698 $post_type = $temp_data['wp_post_type'];
1582 1699 }
1583 1700
1584 1701 if ( ! array_key_exists( $post_type, $get_post_type ) ) {
@@ -1795,10 +1912,10 @@
1795 1912 *
1796 1913 * @since 1.0.0
1797 1914 */
1798 1915 protected function wdkit_manage_widget_workspace() {
1799 - $Workspace_info = isset( $_POST['workspace_info'] ) ? sanitize_text_field( wp_unslash( $_POST['workspace_info'] ) ) : array();
1800 - $data = isset( $Workspace_info ) ? json_decode( stripslashes( $Workspace_info ) ) : array();
1916 + $workspace_info = isset( $_POST['workspace_info'] ) ? sanitize_text_field( wp_unslash( $_POST['workspace_info'] ) ) : array();
1917 + $data = isset( $workspace_info ) ? json_decode( stripslashes( $workspace_info ) ) : array();
1801 1918
1802 1919 $array_data = array(
1803 1920 'token' => isset( $data->token ) ? sanitize_text_field( $data->token ) : '',
1804 1921 'wstype' => isset( $data->type ) ? sanitize_text_field( $data->type ) : '',
@@ -1858,13 +1975,13 @@
1858 1975 }
1859 1976
1860 1977 /**
1861 1978 *
1862 - * It is Use for get local widget list.
1979 + * Get list local Widget List
1863 1980 *
1864 1981 * @since 1.0.0
1865 1982 */
1866 - protected function wdkit_get_widget_list() {
1983 + protected function wdkit_get_local_widgets() {
1867 1984 $builder = array();
1868 1985 $a_c_s_d_s_c = array();
1869 1986 $j_s_o_n_array = array();
1870 1987
@@ -1920,10 +2037,9 @@
1920 2037 }
1921 2038 }
1922 2039 }
1923 2040
1924 - wp_send_json( $j_s_o_n_array );
1925 - wp_die();
2041 + return $j_s_o_n_array;
1926 2042 }
1927 2043
1928 2044 /**
1929 2045 *
@@ -2792,8 +2908,33 @@
2792 2908 *
2793 2909 * @since 1.0.0
2794 2910 */
2795 2911 protected static function wkit_get_settings_panel() {
2912 +
2913 + $current_version = WDKIT_VERSION;
2914 + $response = wp_remote_get( 'https://api.wordpress.org/plugins/info/1.0/wdesignkit.json' );
2915 +
2916 + if ( is_wp_error( $response ) ) {
2917 + return false;
2918 + }
2919 +
2920 + $body = wp_remote_retrieve_body( $response );
2921 + $data = json_decode( $body );
2922 +
2923 + if ( isset( $data->version ) ) {
2924 + $new_version = $data->version;
2925 + }
2926 +
2927 + $version_check = array();
2928 +
2929 + if ( $new_version && version_compare( $current_version, $new_version, '<' ) ) {
2930 + $version_check['success'] = true;
2931 + $version_check['version'] = $new_version;
2932 + } else {
2933 + $version_check['success'] = false;
2934 + $version_check['version'] = $new_version;
2935 + }
2936 +
2796 2937 $get_setting = get_option( 'wkit_settings_panel', false );
2797 2938
2798 2939 return array(
2799 2940 'builder' => isset( $get_setting['builder'] ) ? $get_setting['builder'] : true,
@@ -2803,8 +2944,9 @@
2803 2944 'bricks_builder' => isset( $get_setting['bricks_builder'] ) ? $get_setting['bricks_builder'] : false,
2804 2945 'debugger_mode' => isset( $get_setting['debugger_mode'] ) ? $get_setting['debugger_mode'] : false,
2805 2946 'gutenberg_template' => isset( $get_setting['gutenberg_template'] ) ? $get_setting['gutenberg_template'] : true,
2806 2947 'elementor_template' => isset( $get_setting['elementor_template'] ) ? $get_setting['elementor_template'] : true,
2948 + 'plugin_version' => $version_check,
2807 2949 );
2808 2950 }
2809 2951
2810 2952 /**
@@ -2875,9 +3017,11 @@
2875 3017 *
2876 3018 * @since 1.0.0
2877 3019 */
2878 3020 protected function wdkit_logout() {
2879 - $email = isset( $_POST['email'] ) ? strtolower( sanitize_email( wp_unslash( $_POST['email'] ) ) ) : false;
3021 + $email = isset( $_POST['email'] ) ? strtolower( sanitize_email( wp_unslash( $_POST['email'] ) ) ) : false;
3022 + $logout_type = isset( $_POST['logout_type'] ) ? strtolower( sanitize_text_field( wp_unslash( $_POST['logout_type'] ) ) ) : '';
3023 +
2880 3024 $response = '';
2881 3025
2882 3026 if ( ! empty( $email ) ) {
2883 3027 $token = $this->wdkit_login_user_token( $email );
@@ -2882,10 +3026,12 @@
2882 3026 if ( ! empty( $email ) ) {
2883 3027 $token = $this->wdkit_login_user_token( $email );
2884 3028 $args = array( 'token' => $token );
2885 3029
2886 - delete_transient( 'wdkit_auth_' . $email );
2887 - $response = WDesignKit_Data_Query::get_data( 'logout', $args );
3030 + if ( 'session' !== $logout_type ) {
3031 + delete_transient( 'wdkit_auth_' . $email );
3032 + $response = WDesignKit_Data_Query::get_data( 'logout', $args );
3033 + }
2888 3034 }
2889 3035
2890 3036 wp_send_json( $response );
2891 3037 wp_die();