=== QuachCMO Video Study Notes === Contributors: quachcmo Tags: youtube, notes, video learning, timestamp, study Requires at least: 6.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.5.1 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html Author Email: admin@quachcmo.com Turn videos into interactive learning lessons. Watch, take timestamped notes, and learn faster. == Description == **QuachCMO Video Study Notes** transforms passive video watching into an active learning experience. = 📺 Watch the Demo = https://www.youtube.com/watch?v=77ijfFM-qVM Whether you are an educator, a student, or a content creator, this plugin allows you and your users to take notes directly on embedded videos. Each note is automatically timestamped, creating an interactive index. Clicking a note jumps the video player to that exact moment, making review sessions incredibly efficient. = 🚀 Experience it live = * [Live Demo & Interactive Showcase](https://lab.quachcmo.com/study-notes/) = Key Features = * **Timestamped Note-Taking** — Notes are linked directly to the video timeline. * **Click-to-Seek** — Navigate the video instantly by clicking your notes. * **Focus Mode** — Distraction-free learning with a full-screen theater view. * **Video Gallery** — Showcase multiple learning modules in a beautiful video library. * **AJAX Auth** — Seamless login/registration popup without leaving the video. * **Flexible Layouts** — Choose between Stacked (above-below) or Side-by-Side views. * **Export Options** — Save notes as Markdown, TXT, or copy directly to clipboard. * **Guest Notes** — Option to allow or restrict note-taking to logged-in users. * **Gutenberg Block** — Native block editor support with live preview. = Usage = Use the shortcode `[quacvist_player video="VIDEO_ID"]` in any post or page. Display a gallery of all your lessons with `[quacvist_gallery]`. == External services == This plugin utilizes the Vimeo API (OEmbed) to enhance your experience. * **Vimeo OEmbed API** — We send video URLs to Vimeo's OEmbed endpoint to automatically retrieve video metadata (such as titles and thumbnails) when you add or display videos. This ensures your learning library looks professional without manual data entry. * **Vimeo Terms of Service:** https://vimeo.com/terms * **Vimeo Privacy Policy:** https://vimeo.com/privacy == Installation == 1. Upload the `quachcmo-video-study-notes` folder to the `/wp-content/plugins/` directory. 2. Activate the plugin through the **Plugins** menu in WordPress. 3. A **Video Lessons** menu will appear in your admin sidebar. 4. Go to **Video Lessons > Notes Settings** to configure options. 5. Add videos via the **Quick Add** button, then embed them using the shortcode or Gutenberg block. == Frequently Asked Questions == = How do I find the YouTube Video ID? = The ID is the 11-character code in a YouTube URL. For example, in `https://www.youtube.com/watch?v=arj7oStGLkU`, the ID is `arj7oStGLkU`. = Can I customize the width of the player? = Yes! Use the `max_width` attribute: `[quacvist_player video="ID" max_width="800px"]`. = Are notes saved? = Notes are stored in the browser's localStorage for guests, and synced server-side for logged-in users. = How do I display only videos from a specific category? = Use: `[quacvist_gallery category="TERM_ID"]` = Can I use this in the block editor? = Yes! Search for "QuachCMO Video Study Notes" in the block inserter to add the native Gutenberg block. == Screenshots == 1. The interactive video player with timestamped notes panel. 2. The Video Gallery layout for multiple lessons. 3. Admin Settings page for global configuration. 4. Quick Add Video modal in the admin area. == Changelog == = 1.5.1 = * New: Inline Edit popup — edit video lessons directly from the list page without navigating away. * New: Video preview in Edit popup — see the current video while editing lesson details. * New: Auto-populate video link, title, description, and category in the Edit popup. * Improved: Converted all legacy video lesson content to Gutenberg block format (paragraph blocks). * Improved: Redesigned admin modal CSS with modern styling, vertical form layout, gradient headers, and smooth animations. * Improved: Both Add and Edit modals now share consistent, professional styling. * Fixed: Removed broken "quacvist-video-sidebar" Gutenberg plugin that caused editor errors. * Fixed: Resolved critical error caused by missing closing parenthesis in block registration. * Fixed: Removed temporary `flush_rewrite_rules()` call that ran on every page load (performance improvement). * Fixed: Registered video post meta (`_quacvist_video_id`, `_quacvist_video_provider`) with REST API for Gutenberg compatibility. * Dev: Added `enqueue_block_editor_assets` hook for explicit block script loading. * Dev: Added AJAX handlers `quacvist_load_video` and `quacvist_update_video` for inline editing. = 1.5.0 = * Major Refactor for WordPress.org compliance. * Globally renamed all identifiers to use `quacvist_` prefix to avoid conflicts. * Removed all inline styles and scripts in favor of proper asset enqueueing. * Audited and secured authentication methods in `includes/auth.php`. * Performed a final late-escaping audit of all output to ensure complete security. * Updated shortcodes to `[quacvist_player]` and `[quacvist_gallery]`. = 1.2.0 = * Standardized codebase for WordPress.org submission. * Added `register_deactivation_hook` for cleanup. * Added `load_plugin_textdomain` for full translation support. * Fixed all output escaping (`esc_html_e`, `esc_attr`, `wp_kses_post`). * Added `wp_unslash` to all `$_POST` reads. * Removed `time()` version busting from enqueued scripts. * Added `nopriv` permission check on `quacvist_get_video_data` AJAX handler. * Removed `console.log` / `console.warn` from admin JS. * Added ARIA roles and labels to modal dialogs. * Added `languages/` folder and `.pot` template file. = 1.1.0 = * Added "Copy to Clipboard" export option. * Implemented AJAX login/registration popup. * Added "Allow Guest Notes" privacy setting. * Added `max_width` shortcode attribute. * Enhanced auto-scroll and highlight logic in Focus Mode. = 1.0.0 = * Initial stable release. * Core timestamp notes functionality. * Focus mode implementation. * Gallery shortcode and CPT integration. == Upgrade Notice == = 1.5.1 = New inline editing popup for video lessons, improved admin UI, and multiple bug fixes. Recommended update. = 1.5.0 = This major update renames internal functions and shortcodes for repository compliance. Please update your shortcodes to `[quacvist_player]` and `[quacvist_gallery]`. == Support & Contact == For support, feedback, or inquiries, please contact the author at **admin@quachcmo.com**. We are committed to maintaining this plugin and ensuring a great user experience.