Settings, Options and Scheduled Jobs

Updated

Pro feature. Available in MediaShield Pro.

PRO - requires MediaShield Pro. Every option below was found in the 1.4.0 source and, where a running site was available, read from it.

Pro stores its settings in wp_options and per-video settings in post meta. Most are edited on a screen and saved through Free's PUT /mediashield/v1/settings. This page is the reference. The owner-facing guides explain each in plain words.

Options edited on a screen#

Option Type Default Screen Guide
ms_pro_watermark_fields array username, ip Settings > Pro Watermark. Allowed: username, email, ip, user_id, timestamp, site_name, custom_text Advanced Watermark
ms_pro_watermark_custom_text string empty Settings > Pro Watermark Advanced Watermark
ms_pro_watermark_font_size string medium Settings > Pro Watermark. Allowed: small, medium, large. Saved but not read by the player Advanced Watermark
ms_show_badge bool true Free setting. Pro reads and returns it. Pro deactivation sets it to true; Pro uninstall deletes it Advanced Watermark
ms_drm_method string none DRM. Allowed: none, cloud_bunny. Anything else saves as none Encrypted Streams
ms_drm_license_duration_streaming int seconds 86400 DRM. Below 300 resets to 86400 Encrypted Streams
ms_suspicious_sensitivity string medium Alerts. Allowed: low, medium, high Suspicious Activity
ms_vpn_detection_enabled bool false Alerts Suspicious Activity
ms_vpn_api_key string empty Alerts. Write only. GET returns ms_vpn_api_key_set Suspicious Activity
ms_weekly_digest_enabled bool true Export > Weekly Digest Weekly Digest
ms_weekly_digest_email string the site admin email Export. An empty value deletes the option Weekly Digest
ms_default_upload_target string auto Settings > Upload & Storage. Allowed: auto, self, bunny, youtube, vimeo, wistia Upload Queue
ms_lms_auto_complete bool true Settings > LMS Integration LMS Integration
ms_lms_enrollment_check bool true Settings > LMS Integration. Read when the adapters register, so a change applies on the next request LMS Integration
ms_lms_complete_pct int 100 Settings > LMS Integration. Clamped to 10 to 100 LMS Integration
ms_pro_milestone_config array empty Milestone Actions. List of {threshold, actions: [{type, config}]} Milestone Actions
ms_bunny_direct_play bool false Bunny Playback Bunny Playback
ms_bunny_token_key string (encrypted) empty Bunny Playback Bunny Playback
ms_bunny_prefer_mp4 bool false Bunny Playback Bunny Playback
ms_bunny_mp4_height int 720 Bunny Playback. The screen offers 360, 480, 720, 1080. The code also accepts 240, 1440, 2160 Bunny Playback
ms_ads_default_ad_ids int array empty Video Ad Defaults Video Ads

Internal options#

Option Purpose
ms_safe_users Array of user IDs set by Mark as Safe
ms_bunny_webhook_key The webhook secret. Created on first use
ms_heatmap_last_aggregated Timestamp of the last heatmap pass
ms_pro_db_version Schema version for Pro tables
mediashield-pro_license_key, mediashield-pro_license Licence key and store response

Post meta on mediashield_video#

Meta key Written by Meaning
_ms_linked_lesson LMS Integration box Linked lesson ID
_ms_lms_complete_pct LMS Integration box Per-video completion point (10 to 100). Empty uses the global value
_ms_lms_require_enrollment LMS Integration box '1' or '0'
_ms_ad_mode Video Ads box default, custom or none
_ms_ad_ids Video Ads box Ad IDs, order kept
_ms_ad_plan_custom Video Ads box '1' when the video overrides break placement
_ms_ad_preroll, _ms_ad_midroll_count, _ms_ad_postroll Video Ads box The video's own placement (mid-roll 0 to 10)
_ms_bunny_encode_status Bunny webhook finished or error
_ms_library_id Bunny import Bunny library ID
_ms_protection_level Video Settings Pro adds the value drm

User meta: ms_completed_{video_id}_{percentage} (the Tag User action).

Scheduled jobs#

See the table in Hooks and Filters. All run in Action Scheduler, group mediashield-pro. Action Scheduler is bundled with the free plugin.

Constants#

Constant Effect
MEDIASHIELD_PRO_LICENSE_BYPASS When true, skips the outbound licence check. For development only

Capabilities#

Pro adds none. Every Pro screen and route requires manage_options. Free's upload_mediashield governs file uploads.

Next steps#