PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 2.2.10
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v2.2.10
3.7.5 3.7.4 3.7.3 3.7.2 1-final 3.7.1 3.7.0 3.6.8 3.6.7 3.6.6 3.6.5 3.6.4 3.6.3 3.6.2 3.6.1 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.10 All 111 releases
← All changes | includes/API/Profile.php +6 -37 3.7.32.2.10 View file →
@@ -14,12 +14,9 @@
14 14 $this->get( 'profile/purchased-items', [ $this, 'get_my_purchased_items' ] );
15 15 }
16 16
17 17 public function sync() {
18 - // Keep the `subscription` field set in step with `Login::login()` — the
19 - // Subscription screen renders from whichever of the two answered last, so a
20 - // field missing here silently degrades the card after a profile sync.
21 - $query = 'status, message, user{ id, name, first_name, last_name, display_name, email, profile_photo, joined, is_verified, is_restricted_company_user, api_key, plan, plan_expire_at, my_cloud{ limit, usages, last_pushed }, favourites{ id, type }, show_notice, reviews{ type, type_id, rating }, subscription { id, name, sites, subscription_plan_id, ends_at, plan_type, cancel_at_period_end } }';
18 + $query = 'status, message, user{ id, name, first_name, last_name, display_name, email, profile_photo, joined, is_verified, api_key, plan, plan_expire_at, my_cloud{ limit, usages, last_pushed }, favourites{ id, type }, show_notice }';
22 19
23 20 $funcArgs = [
24 21 'api_key' => $this->api_key,
25 22 'site_url' => home_url( '/' ),
@@ -51,36 +48,8 @@
51 48 unset( $response['user']['favourites'] );
52 49 $meta['favourites'] = $_favourites;
53 50 }
54 51
55 - if ( ! empty( $response['user']['reviews'] ) ) {
56 - $_reviews = $this->utils( 'helper' )->normalizeReviews( $response['user']['reviews'] );
57 - $this->utils( 'options' )->set( 'reviews', $_reviews );
58 -
59 - unset( $response['user']['reviews'] );
60 - $meta['reviews'] = $_reviews;
61 - }
62 -
63 - if ( ! empty( $response['user']['reviews'] ) ) {
64 - $_reviews = $this->utils( 'helper' )->normalizeReviews( $response['user']['reviews'] );
65 - $this->utils( 'options' )->set( 'reviews', $_reviews );
66 -
67 - unset( $response['user']['reviews'] );
68 - $meta['reviews'] = $_reviews;
69 - }
70 -
71 - if ( ! empty( $response['user'] ) && is_array( $response['user'] ) ) {
72 - /**
73 - * The cloud API key must never be persisted here or sent to the client.
74 - * Under a global login this key belongs to the admin, while any user with
75 - * `delete_posts` can reach this endpoint. Login and SignUp already drop it.
76 - */
77 - unset( $response['user']['api_key'] );
78 -
79 - $response['user']['site_url'] = base64_encode( home_url( '/' ) );
80 - $response['user']['ip'] = Helper::get_ip();
81 - }
82 -
83 52 $this->utils( 'options' )->set( 'user', $response['user'] );
84 53 $response['user']['meta'] = Login::get_instance()->user_meta( $meta );
85 54
86 55 return $this->success( $response );
@@ -92,9 +61,9 @@
92 61 ];
93 62
94 63 $response = $this->http()->query( 'isVerifiedUser', '', $funcArgs )->post();
95 64
96 - if ( $response && !is_wp_error( $response ) ) {
65 + if ( $response ) {
97 66 $user = $this->utils( 'options' )->get( 'user' );
98 67
99 68 $user['is_verified'] = true;
100 69 $this->utils( 'options' )->set( 'user', $user );
@@ -113,9 +82,9 @@
113 82 "page" => $page
114 83 ] )->post();
115 84
116 85 if ( is_wp_error( $response ) ) {
117 - return $this->error( 'invalid_download_history_response', __( $response->get_error_message(), 'templately' ), 'profile/download-history' );
86 + return $this->error( 'invalid_download_history_response', __( $response->get_error_message(), 'templately' ), 'profile/download-history', $response->get_error_code() );
118 87 }
119 88
120 89 if ( isset( $response['total'] ) ) {
121 90 $this->utils( 'options' )->set( 'total_download_counts', $response['total'] );
@@ -144,9 +113,9 @@
144 113
145 114 $response = $this->http()->mutation( 'myFavouriteItem', 'total_page, current_page, data { id, name, rating, type, slug, favourite_count, thumbnail, thumbnail2, thumbnail3, price, author{ display_name, name, joined }, dependencies{ id, name, icon, plugin_file, plugin_original_slug, is_pro, link } }', $funcArgs )->post();
146 115
147 116 if ( is_wp_error( $response ) ) {
148 - return $this->error( 'invalid_my_favourites_response', __( $response->get_error_message(), 'templately' ), 'profile/my-favourites' );
117 + return $this->error( 'invalid_my_favourites_response', __( $response->get_error_message(), 'templately' ), 'profile/my-favourites', $response->get_error_code() );
149 118 }
150 119
151 120 return $response;
152 121 }
@@ -154,13 +123,11 @@
154 123 public function get_my_purchased_items() {
155 124 $page = $this->get_param( 'page', 1, 'intval' );
156 125 $per_page = $this->get_param( 'per_page', 10, 'intval' );
157 126 $_all = $this->get_param( 'all', false );
158 - $platform = $this->get_param( 'platform', 'elementor' );
159 127
160 128 $funcArgs = [
161 129 'api_key' => $this->api_key,
162 - 'platform' => $platform,
163 130 'page' => $page,
164 131 'per_page' => $per_page
165 132 ];
166 133
@@ -171,8 +138,10 @@
171 138 $funcArgs['per_page'] = -1;
172 139 }
173 140
174 141 $response = $this->http()->query( 'myItems', $query, $funcArgs )->post();
142 +
143 + // dlog( $response );
175 144
176 145 if ( $response ) {
177 146 // $user = $this->utils('options')->get('user');
178 147