PluginProbe
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! / 3.1.4
Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! v3.1.4
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
templately / includes / API / SavedTemplates.php

SavedTemplates.php in Templately – Elementor & Gutenberg Template Library: 6500+ Free & Pro Ready Templates And Cloud! 3.1.4, at includes/API/SavedTemplates.php

62 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Templately\API;
4
5 use Templately\Core\Platform\Elementor;
6 use WP_Error;
7 use WP_REST_Request;
8 use WP_REST_Response;
9
10 /**
11 * As SavedTemplates is enabled in Elementor.
12 * So, this class will represent Elementor's Templates Feature.
13 *
14 * @method Elementor platform( $id )
15 *
16 * @since 2.0.0
17 *
18 * @link https://templately.com
19 */
20 class SavedTemplates extends API {
21 private $endpoint = 'saved-templates';
22
23 public function permission_check( WP_REST_Request $request ) {
24 $this->request = $request;
25 $_route = $request->get_route();
26 $_id = (int) $this->get_param( 'id', 0 );
27
28 if( $_route === "/templately/v1/saved-templates/delete" && ! (current_user_can( 'delete_post', $_id ) && get_post_type($_id) === "elementor_library")) {
29 return $this->error('invalid_permission', __( 'Sorry, you do not have permission to delete this template.', 'templately' ), 'saved-templates/delete', 403 );
30 }
31 return true;
32 }
33
34 public function register_routes() {
35 $this->get( $this->endpoint, [ $this, 'get_saved_templates' ] );
36 $this->post($this->endpoint . '/delete', [ $this, 'delete' ] );
37 }
38
39 /**
40 * Get all the saved templates from Elementor library.
41 *
42 * @param WP_REST_Request $request
43 *
44 * @return array
45 */
46 public function get_saved_templates( WP_REST_Request $request) {
47 $platform = $this->get_param( 'platform', 'elementor' );
48 return $this->platform( $platform )->get_saved_templates( $request->get_params() );
49 }
50
51 /**
52 * Delete saved template.
53 *
54 * @param WP_REST_Request $request
55 *
56 * @return WP_Error|WP_REST_Response
57 */
58 public function delete( WP_REST_Request $request ){
59 $platform = $this->get_param( 'platform', 'elementor' );
60 return $this->platform( $platform )->delete( $request->get_params() );
61 }
62 }