Skip to content

A powerful Moodle plugin for searching and replacing files (images, PDFs, videos, etc.) across your site using filename patterns. Includes an easy multi-step wizard and robust security controls.

License

Notifications You must be signed in to change notification settings

gwizit/moodle-local_imageplus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

22 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ImagePlus - Moodle Plugin

Development Repository

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


🎯 About This Plugin

ImagePlus is a powerful Moodle plugin that allows site administrators to search and replace files (images, PDFs, documents, videos, audio, archives) across their Moodle installation based on filename patterns. Features a user-friendly multi-step wizard interface with comprehensive security controls.

Key Features:

  • πŸ” Smart search with wildcard support (* and ?)
  • πŸ“ Multi-file type support (images, PDFs, documents, videos, audio, archives)
  • 🎯 Interactive file selection with checkboxes
  • πŸ” Administrator-only access with multiple security layers
  • 🎨 Automatic image format conversion and resizing
  • πŸ“Š Detailed operation logging and results
  • βœ… GDPR compliant with Privacy API
  • πŸ›‘οΈ A+ Security Rating (see SECURITY_REVIEW.md)
  • πŸ—οΈ Modern architecture with Mustache templates, Output API, and ES6 modules

πŸ“‹ 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 "imageplus"
      • 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 imageplus folder to [moodle-root]/local/
  2. Visit Site administration β†’ Notifications
  3. Follow the installation wizard
  4. Clear all caches

For detailed installation instructions, see imageplus/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_imageplus

See PLUGIN_CHECKLIST_REVIEW.md for detailed compliance status.


πŸ“¦ What's Included

Complete Moodle plugin with:

  • βœ… Multi-step wizard interface
  • βœ… File system & database search
  • βœ… Auto format conversion & resizing (with GD library)
  • βœ… Safe preview mode
  • βœ… Interactive file selection
  • βœ… Comprehensive security controls
  • βœ… Complete documentation
  • βœ… GDPR compliance
  • βœ… Privacy API implementation
  • βœ… Events API logging
  • βœ… A+ Security implementation

πŸ›‘οΈ Security

ImagePlus 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
  • βœ… Directory traversal prevention
  • βœ… File type validation
  • βœ… Input sanitization
  • βœ… Output escaping

See SECURITY_REVIEW.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
  • Optional: GD library (for image cross-format conversion and resizing)

Server Requirements

  • Write permissions to Moodle's dataroot/filedir directory
  • Sufficient PHP memory limit (128MB minimum, 256MB+ recommended)

See imageplus/COMPATIBILITY.md for detailed compatibility information.


🀝 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 ImagePlus! πŸŽ“

About

A powerful Moodle plugin for searching and replacing files (images, PDFs, videos, etc.) across your site using filename patterns. Includes an easy multi-step wizard and robust security controls.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •