Server IP : 104.21.14.48 / Your IP : 3.145.104.219 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/plugins/templately/includes/API/ |
Upload File : |
<?php namespace Templately\API; use Templately\Core\Platform\Elementor; use WP_Error; use WP_REST_Request; use WP_REST_Response; /** * As SavedTemplates is enabled in Elementor. * So, this class will represent Elementor's Templates Feature. * * @method Elementor platform( $id ) * * @since 2.0.0 * * @link https://templately.com */ class SavedTemplates extends API { private $endpoint = 'saved-templates'; public function permission_check( WP_REST_Request $request ) { $this->request = $request; $_route = $request->get_route(); $_id = (int) $this->get_param( 'id', 0 ); if( $_route === "/templately/v1/saved-templates/delete" && ! (current_user_can( 'delete_post', $_id ) && get_post_type($_id) === "elementor_library")) { return $this->error('invalid_permission', __( 'Sorry, you do not have permission to delete this template.', 'templately' ), 'saved-templates/delete', 403 ); } return true; } public function register_routes() { $this->get( $this->endpoint, [ $this, 'get_saved_templates' ] ); $this->post($this->endpoint . '/delete', [ $this, 'delete' ] ); } /** * Get all the saved templates from Elementor library. * * @param WP_REST_Request $request * * @return array */ public function get_saved_templates( WP_REST_Request $request) { $platform = $this->get_param( 'platform', 'elementor' ); return $this->platform( $platform )->get_saved_templates( $request->get_params() ); } /** * Delete saved template. * * @param WP_REST_Request $request * * @return WP_Error|WP_REST_Response */ public function delete( WP_REST_Request $request ){ $platform = $this->get_param( 'platform', 'elementor' ); return $this->platform( $platform )->delete( $request->get_params() ); } }