Skip to content

A Moodle plugin that lets administrators search and selectively replace text across their entire Moodle database. Preview every change before applying it, view the exact code snippets being updated, and safely edit course content, activities, pages, and labels with an easy-to-use wizard interface.

License

gwizit/moodle-local_textplus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TextPlus - Moodle Plugin

Development Repository

Plugin Name: TextPlus
Type: Local Plugin (local_textplus)
Developer: G Wiz IT Solutions
Website: https://gwizit.com
Version: 3.0.5
License: GNU GPL v3 or later


🎯 About This Plugin

This powerful Moodle plugin helps administrators search and selectively replace text across their entire Moodle database. What makes it different from Moodle's built-in tools or other plugins is that it lets you preview every change before it happens. You can see exactly which code snippets and text will be updated, giving you full control and peace of mind. With its easy step-by-step wizard and strong security features, you can safely update course content, activities, pages, and labels with confidence.

Key Features:

  • 🔍 Smart text search across database tables
  • 🎯 Interactive content selection with checkboxes
  • 👁️ Preview every change before execution
  • 🔐 Administrator-only access with multiple security layers
  • 📊 Detailed operation logging and results
  • ✅ GDPR compliant with Privacy API
  • 🛡️ A+ Security Rating (see SECURITY_AUDIT.md)
  • 🏗️ Modern architecture with Mustache templates, Output API, and ES6 modules
  • 🔄 Safe dry run mode for testing
  • 📝 Multi-table support (course, pages, activities, labels, and more)

📋 Documentation

This repository contains comprehensive documentation:


🚀 Quick Start

Installation

Method 1: Create ZIP and Upload (Recommended)

  1. Create the package:

    .\create_package.ps1
  2. Upload to Moodle:

    • Log in to Moodle as administrator
    • Go to Site administration → Plugins → Install plugins
    • Upload the created ZIP file
    • If prompted "Unable to detect the plugin type":
      • Select "Local plugin (local)" from the dropdown
      • Verify the plugin folder name is "textplus"
      • Click "Install plugin from the ZIP file"
    • Follow the installation wizard
  3. Clear caches (Important!):

    • Go to Site administration → Development → Purge all caches
    • Or run: php admin/cli/purge_caches.php

Method 2: Manual Installation

  1. Copy the textplus folder to [moodle-root]/local/
  2. Visit Site administration → Notifications
  3. Follow the installation wizard
  4. Clear all caches

For detailed installation instructions, see textplus/README.md.


🔗 Links


✅ Plugin Status

Current Status:Ready for Submission

  • ✅ All critical issues fixed
  • ✅ Security guidelines fully compliant (A+ rating)
  • ✅ Privacy API implemented
  • ✅ GitHub Issues tracker active
  • ✅ Comprehensive documentation
  • ✅ Moodle 4.3 - 5.1+ compatible
  • ✅ Modern architecture with proper template separation
  • ✅ Repository follows naming convention: moodle-local_textplus

See MOODLE_COMPLIANCE_REPORT.md for detailed compliance status.


📦 What's Included

Complete Moodle plugin with:

  • ✅ Multi-step wizard interface
  • ✅ Database-wide text search
  • ✅ Safe preview mode (dry run)
  • ✅ Interactive content selection
  • ✅ Comprehensive security controls
  • ✅ Complete documentation
  • ✅ GDPR compliance
  • ✅ Privacy API implementation
  • ✅ Events API logging
  • ✅ A+ Security implementation

🛡️ Security

TextPlus has been thoroughly reviewed and achieves an A+ security rating:

  • ✅ Site administrator-only access
  • ✅ Multiple permission layers
  • ✅ XSS protection throughout
  • ✅ CSRF protection on all actions
  • ✅ SQL injection prevention
  • ✅ Input validation and sanitization
  • ✅ Output escaping
  • ✅ Database transaction safety

See SECURITY_AUDIT.md for complete security assessment.


📝 Requirements

Moodle Requirements

  • Moodle version: 4.3 to 5.1+ (fully tested)
  • PHP version: 7.4 or higher (8.0+ recommended)

PHP Extensions

  • Required: mbstring, mysqli/pgsql, json
  • Standard PHP libraries (included by default)

Server Requirements

  • Database access with sufficient permissions
  • Sufficient PHP memory limit (128MB minimum, 256MB+ recommended for large batches)
  • PHP max_execution_time sufficient for batch operations

🤝 Contributing

Contributions are welcome!

Please follow Moodle coding standards when contributing.


📄 License

This plugin is licensed under the GNU GPL v3 or later.


💝 Support

Found this plugin useful? Consider supporting its development!


🏆 Credits

Developed by: G Wiz IT Solutions
Copyright: 2025 G Wiz IT Solutions
License: GNU GPL v3 or later


Thank you for using TextPlus! 🎓

About

A Moodle plugin that lets administrators search and selectively replace text across their entire Moodle database. Preview every change before applying it, view the exact code snippets being updated, and safely edit course content, activities, pages, and labels with an easy-to-use wizard interface.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published