From 8686b7fc6830de8dbf7b254933051092612242a7 Mon Sep 17 00:00:00 2001 From: Dirk Schumann Date: Sat, 3 Aug 2024 14:10:29 +0200 Subject: [PATCH 1/2] feat(onboarding) - Set default settings --- lib/modules/onboarding/onboarding.php | 2 +- lib/modules/onboarding/rest_api.php | 50 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 lib/modules/onboarding/rest_api.php diff --git a/lib/modules/onboarding/onboarding.php b/lib/modules/onboarding/onboarding.php index f08269a2..32d2a807 100644 --- a/lib/modules/onboarding/onboarding.php +++ b/lib/modules/onboarding/onboarding.php @@ -3,7 +3,7 @@ namespace Podlove\Modules\Onboarding; use Podlove\Modules\Onboarding\Settings\OnboardingPage; -use Podlove\Api\Admin\WP_REST_PodloveOnboarding_Controller; +use Podlove\Modules\Onboarding\WP_REST_PodloveOnboarding_Controller; class Onboarding extends \Podlove\Modules\Base { diff --git a/lib/modules/onboarding/rest_api.php b/lib/modules/onboarding/rest_api.php new file mode 100644 index 00000000..d355744c --- /dev/null +++ b/lib/modules/onboarding/rest_api.php @@ -0,0 +1,50 @@ +namespace = 'podlove/v2'; + $this->rest_base = 'onboarding'; + } + + /** + * Register the component routes. + */ + public function register_routes() + { + register_rest_route($this->namespace, $this->rest_base, [ + [ + 'methods' => \WP_REST_SERVER::EDITABLE, + 'callback' => [$this, 'update_items'], + 'permission_callback' => [$this, 'update_permissions_check'] + ] + + ]); + } + + public function update_items($request) + { + if (!\Podlove\Modules\Base::is_active('wordpress_file_upload')) { + \Podlove\Modules\Base::activate('wordpress_file_upload'); + $upload_modul = Wordpress_File_Upload::instance(); + $upload_modul->update_module_option('upload_subdir', 'podlove-media'); + } + } + public function update_permissions_check($request) + { + if (!current_user_can('edit_posts')) { + return new \Podlove\Api\Error\ForbiddenAccess(); + } + + return true; + } +} From 0c5d3b0c67f4b0f10d8c994dc048f5921b297c1a Mon Sep 17 00:00:00 2001 From: Dirk Schumann Date: Fri, 9 Aug 2024 10:03:43 +0200 Subject: [PATCH 2/2] feat(onboarding) - Integrate PR Feedback --- lib/modules/onboarding/rest_api.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/modules/onboarding/rest_api.php b/lib/modules/onboarding/rest_api.php index d355744c..96b61e8e 100644 --- a/lib/modules/onboarding/rest_api.php +++ b/lib/modules/onboarding/rest_api.php @@ -21,24 +21,29 @@ public function __construct() */ public function register_routes() { - register_rest_route($this->namespace, $this->rest_base, [ + register_rest_route($this->namespace, $this->rest_base."/setup", [ [ 'methods' => \WP_REST_SERVER::EDITABLE, 'callback' => [$this, 'update_items'], 'permission_callback' => [$this, 'update_permissions_check'] ] - ]); } public function update_items($request) { + // activate File-Upload-Module and set default settings if (!\Podlove\Modules\Base::is_active('wordpress_file_upload')) { \Podlove\Modules\Base::activate('wordpress_file_upload'); - $upload_modul = Wordpress_File_Upload::instance(); - $upload_modul->update_module_option('upload_subdir', 'podlove-media'); } + $upload_modul = Wordpress_File_Upload::instance(); + $upload_modul->update_module_option('upload_subdir', 'podlove-media'); + // set upload loaction to emty + $settings = get_option('podlove_podcast'); + $settings["media_file_base_uri"] = ""; + update_option('podlove_podcast', $settings); } + public function update_permissions_check($request) { if (!current_user_can('edit_posts')) {