ods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'update_notice' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/expand', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'expand_notice' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); register_rest_route( $this->namespace, '/' . $this->rest_base . '/reinstall', array( array( 'methods' => WP_REST_Server::CREATABLE, 'callback' => array( $this, 'install_missing_tables' ), 'permission_callback' => array( $this, 'create_item_permissions_check' ), 'args' => $this->get_collection_params(), ), ) ); } /** * Get a collection of items. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_items( $request ) { $object = new Settings(); $data = $object->get(); return rest_ensure_response( $data ); } /** * Create a single cookie or cookie category. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function create_item( $request ) { $data = $this->prepare_item_for_database( $request ); $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $data, $request ); $data = $this->filter_response_by_context( $data, $context ); return rest_ensure_response( $data ); } /** * Fetch default laws from database * * @param array $request WP_REST_Request $request Full details about the request. * @return array */ public function get_laws( $request = array() ) { $object = array( array( 'slug' => 'gdpr', 'title' => __( 'GDPR (General Data Protection Regulation)', 'cookie-law-info' ), 'description' => __( 'Continue with the GDPR template if most of your targeted audience are from the EU or UK. It creates a customizable banner that allows your visitors to accept/reject cookies or adjust their consent preferences.', 'cookie-law-info' ), 'tooltip' => __( 'Choose GDPR if most of your targeted audience are from the EU or UK. It creates a customizable banner that allows your visitors to accept/reject cookies or adjust their consent preferences.', 'cookie-law-info' ), ), array( 'slug' => 'ccpa', 'title' => __( 'CCPA (California Consumer Privacy Act)', 'cookie-law-info' ), 'description' => __( 'Choose CCPA if most of your targeted audience are from California or US. This will create a customizable banner with a “Do Not Sell My Personal Information” link that allows your visitors to refuse the use of cookies.', 'cookie-law-info' ), 'tooltip' => __( 'Choose CCPA if most of your targeted audience are from California or US. It creates a customizable banner with a “Do Not Sell My Personal Information” link that allows your visitors to refuse the use of cookies.', 'cookie-law-info' ), ), array( 'slug' => 'info', 'title' => __( 'INFO (Information Display Banner)', 'cookie-law-info' ), 'description' => __( 'Choose INFO if you do not want to block any cookies on your website. This will create a dismissible banner that provides some general information to your site visitors.', 'cookie-law-info' ), 'tooltip' => __( 'Choose Info if you do not want to block any cookies on your website. It creates a dismissible banner that provides some general info to your site visitors.', 'cookie-law-info' ), ), ); $data = $this->prepare_item_for_response( $object, $request ); return rest_ensure_response( $data ); } /** * Get site info including the features allowed for the current plan. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function get_info( $request ) { $args = array(); $registered = $this->get_collection_params(); if ( isset( $registered['force'], $request['force'] ) ) { $args['force'] = (bool) $request['force']; } $response = Controller::get_instance()->get_info( $args ); if ( empty( $response ) ) { $data = array(); } else { $data = $this->prepare_item_for_response( $response, $request ); } $objects = $this->prepare_response_for_collection( $data ); return rest_ensure_response( $objects ); } /** * Send data directly to CookieYes web app. * * @param WP_REST_Request $request Full details about the request. * @return WP_Error|WP_REST_Response */ public function send_items( $request ) { $response = Controller::get_instance()->sync(); if ( empty( $response ) ) { $data = array(); } else { $data = $this->prepare_item_for_response( $response, $request ); } $objects = $this->prepare_response_for_collection( $data ); return rest_ensure_response( $objects ); } /** * Clear cache of all the modules * * @return WP_Error|WP_REST_Response */ public function clear_cache() { $banner_controller = new \CookieYes\Lite\Admin\Modules\Banners\Includes\Controller(); $category_controller = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Category_Controller(); $cookie_controller = new \CookieYes\Lite\Admin\Modules\Cookies\Includes\Cookie_Controller(); $banner_controller->delete_cache(); $category_controller->delete_cache(); $cookie_controller->delete_cache(); wp_cache_flush(); $data = array( 'status' => true ); return rest_ensure_response( $data ); } /** * Initiate disconnect request. * * @return WP_Error|WP_REST_Response */ public function disconnect() { $response = Controller::get_instance()->disconnect(); return rest_ensure_response( $response ); } /** * Update the status of admin notices. * * @param object $request Request. * @return WP_Error|WP_REST_Response */ public function update_notice( $request ) { $response = array( 'status' => false ); $notice = isset( $request['notice'] ) ? $request['notice'] : false; $expiry = isset( $request['expiry'] ) ? intval( $request['expiry'] ) : 0; if ( $notice ) { Notice::get_instance()->dismiss( $notice, $expiry ); $response['status'] = true; } return rest_ensure_response( $response ); } /** * Update the expand status of connect notice. * * @param object $request Request. * @return WP_Error|WP_REST_Response */ public function expand_notice( $request ) { $response = array( 'status' => false ); $expand = isset( $request['expand'] ) ? boolval( $request['expand'] ) : true; Connect_Notice::get_instance()->save_state( $expand ); $response['status'] = true; return rest_ensure_response( $response ); } /** * Update the status of admin notices. * * @param object $request Request. * @return WP_Error|WP_REST_Response */ public function install_missing_tables( $request ) { $missing_tables = cky_missing_tables(); if ( count( $missing_tables ) > 0 ) { do_action( 'cky_reinstall_tables' ); do_action( 'cky_clear_cache' ); } return rest_ensure_response( array( 'success' => true ) ); } /** * Format data to provide output to API * * @param object $object Object of the corresponding item Cookie or Cookie_Categories. * @param array $request Request params. * @return array */ public function prepare_item_for_response( $object, $request ) { $context = ! empty( $request['context'] ) ? $request['context'] : 'view'; $data = $this->add_additional_fields_to_object( $object, $request ); $data = $this->filter_response_by_context( $data, $context ); return rest_ensure_response( $data ); } /** * Prepare a single item for create or update. * * @param WP_REST_Request $request Request object. * @return stdClass */ public function prepare_item_for_database( $request ) { $object = new Settings(); $data = $object->get(); $schema = $this->get_item_schema(); $properties = isset( $schema['properties'] ) && is_array( $schema['properties'] ) ? $schema['properties'] : array(); if ( ! empty( $properties ) ) { $properties_keys = array_keys( array_filter( $properties, function( $property ) { return isset( $property['readonly'] ) && true === $property['readonly'] ? false : true; } ) ); foreach ( $properties_keys as $key ) { $value = isset( $request[ $key ] ) ? $request[ $key ] : ''; $data[ $key ] = $value; } } $object->update( $data ); return $object->get(); } /** * Get the query params for collections. * * @return array */ public function get_collection_params() { return array( 'context' => $this->get_context_param( array( 'default' => 'view' ) ), 'paged' => array( 'description' => __( 'Current page of the collection.', 'cookie-law-info' ), 'type' => 'integer', 'default' => 1, 'sanitize_callback' => 'absint', 'validate_callback' => 'rest_validate_request_arg', 'minimum' => 1, ), 'per_page' => array( 'description' => __( 'Maximum number of items to be returned in result set.', 'cookie-law-info' ), 'type' => 'integer', 'default' => 10, 'minimum' => 1, 'maximum' => 100, 'sanitize_callback' => 'absint', 'validate_callback' => 'rest_validate_request_arg', ), 'search' => array( 'description' => __( 'Limit results to those matching a string.', 'cookie-law-info' ), 'type' => 'string', 'sanitize_callback' => 'sanitize_text_field', 'validate_callback' => 'rest_validate_request_arg', ), 'force' => array( 'type' => 'boolean', 'description' => __( 'Force fetch data', 'cookie-law-info' ), ), ); } /** * Get the Consent logs's schema, conforming to JSON Schema. * * @return array */ public function get_item_schema() { $schema = array( '$schema' => 'http://json-schema.org/draft-04/schema#', 'title' => 'consentlogs', 'type' => 'object', 'properties' => array( 'id' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'integer', 'context' => array( 'view' ), 'readonly' => true, ), 'site' => array( 'description' => __( 'Unique identifier for the resource.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'api' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'account' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'consent_logs' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'languages' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), 'onboarding' => array( 'description' => __( 'Language.', 'cookie-law-info' ), 'type' => 'object', 'context' => array( 'view', 'edit' ), ), ), ); return $this->add_additional_fields_schema( $schema ); } } // End the class.
Fatal error: Uncaught Error: Class 'CookieYes\Lite\Admin\Modules\Settings\Api\Api' not found in /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/admin/modules/settings/class-settings.php:43 Stack trace: #0 /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/admin/modules/settings/class-settings.php(34): CookieYes\Lite\Admin\Modules\Settings\Settings->load_apis() #1 /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/includes/class-modules.php(54): CookieYes\Lite\Admin\Modules\Settings\Settings->init() #2 /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/admin/class-admin.php(179): CookieYes\Lite\Includes\Modules->__construct('settings') #3 /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/admin/class-admin.php(81): CookieYes\Lite\Admin\Admin->load_modules() #4 /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/includes/class-cli.php(153): CookieYes\Lite\Admin\Admin->__construct( in /var/www/html/helitower.com.br/web/wp-content/plugins/cookie-law-info/lite/admin/modules/settings/class-settings.php on line 43