The Certificate module is a comprehensive module for Totara Learn designed to issue and manage electronic certificates for users upon completion of training courses or achievement of specific conditions.
This module provides an integrated system for creating, customizing, and issuing electronic certificates in PDF format with full support for Arabic, English, and other languages. The module supports different certificate types, custom editor, font management, QR Codes for certificate verification, and advanced customization tools.
Certificates can be fully customized in terms of design, content, fonts, colors, borders, seals, and signatures. The module also supports email notifications, certificate reports, and certificate verification via QR Code.
Key Features
📜 Electronic Certificate Issuance
Issue professional PDF certificates
Automatic issuance upon course completion
Issuance based on specific conditions (grades, time, activities)
Store issued certificates
Preview certificates before issuance
🎨 Multiple Certificate Types
A4 Embedded - A4 certificate with embedded fonts
A4 Non-Embedded - A4 certificate without embedded fonts
Letter Embedded - Letter certificate with embedded fonts
Letter Non-Embedded - Letter certificate without embedded fonts
Custom Editor - Custom certificate editor
✏️ Custom Editor
Visual editing interface for certificates
Drag and drop elements
Customize fonts, sizes, and colors
Add text and images
Add dynamic elements (user name, course name, date, etc.)
Instant preview of changes
🔤 Advanced Font Management
Advanced Font Manager
Upload custom fonts (TTF, OTF, WOFF, WOFF2)
Font preview
Font testing
Multi-language support
Default fonts included (Dejavusans, Dejavuserif)
Special Arabic fonts
🔲 QR Code Verification
Automatic QR Code generation for each certificate
Verify certificate validity via QR Code
Separate verification page
Secure certificates against forgery
🎨 Full Customization
Customize borders - lines or images
Add seals
Add signatures
Add watermarks
Customize text and fonts
Customize colors
Customize alignment (Left, Center, Right)
📄 Template Builder
Create custom certificate templates
Advanced element system
Dynamic elements
Export and import templates
Template validation
📊 Reports and Statistics
Issued certificates report
View certificates per user
View certificates per course
Export data
Delete issued certificates
📧 Email Notifications
Send certificates via email
Notifications to trainers when certificate is issued
Notifications to others (Notify Others)
Customize email content
🌐 Multi-language Support
Full support for Arabic language
Support for English language
RTL and LTR support
Special Arabic fonts
Date formatting by language
✅ Validation System
Validate certificate data
Validate fonts
Validate templates
Validate content
Installation
Requirements
Totara Learn version 2025012300 or later
PHP 7.4 or later
MySQL or MariaDB database
PDF library (TCPDF) - built-in support
PHP extensions: GD, mbstring, JSON
Installation Steps
Copy Files:
Copy the certificate folder to the server/mod/ directory in Totara
C:\wamp64\www\totara\server\mod\certificate
Install Module:
Navigate to the Site Administration page in Totara. The new module will be automatically detected and you will see a message indicating that the installation is complete.
Upgrade Database:
Click the "Upgrade database" button if a database upgrade message appears. The following tables will be created:
certificate - to store certificate information
certificate_issues - to store issued certificates
And other tables
Configure Fonts (Optional):
Upload custom fonts through Font Manager if you want to use special fonts.
💡 Note: Default fonts (Dejavusans, Dejavuserif) are supported built-in. You can use them directly or upload custom fonts.
Configuration
Module Settings
When creating a new Certificate activity in a course, you can configure:
Setting
Description
Certificate Name
Certificate name
Certificate Type
Certificate type (A4, Letter, Embedded, Non-embedded, Custom)
Orientation
Orientation (Portrait, Landscape)
Border Style
Border style (Border Image or Lines)
Border Color
Border color
Custom Text
Custom text (for signatures and names)
Delivery
Delivery method (Open in Browser, Force Download, Email)
Email Others
Send notifications to others
Print Teacher
Print trainer name on certificate
Print Seal
Print seal on certificate
Print Signature
Print signature on certificate
Locking Options
Locking options (when to issue certificate)
Issue Options
Issue options (on course completion, based on grade, etc.)
System Settings
You can configure system settings from:
Site Administration > Plugins > Activity modules > Certificate
Available settings:
Sans-serif font family: Sans-serif font for certificates with embedded fonts
Serif font family: Serif font for certificates with embedded fonts
The certificate will open or download based on settings
Can be sent via email
Viewing Own Certificates
Users can view all their certificates from:
/mod/certificate/viewarchive.php
This page displays:
All issued certificates for the user
Issue date
Course name
Download links
Verifying Certificate
You can verify certificate validity from:
/mod/certificate/verify.php
Or by scanning the QR Code on the certificate
Certificate Types
A4 Embedded
A4-sized certificate with embedded fonts. Uses Dejavusans and Dejavuserif fonts. Suitable for languages that use special characters such as Arabic.
Features:
Full support for Arabic language
Does not require fonts on the device
Larger file size
A4 Non-Embedded
A4-sized certificate without embedded fonts. Uses Helvetica and Times fonts. Suitable when fonts are available on user devices.
Features:
Smaller file size
Requires fonts on the device
Best for English language
Letter Embedded
Letter-sized certificate (8.5 × 11 inches) with embedded fonts. Same features as A4 Embedded but Letter size.
Letter Non-Embedded
Letter-sized certificate without embedded fonts. Same features as A4 Non-Embedded but Letter size.
Custom Editor
Custom certificate editor. Allows creating fully custom certificate designs using a visual editing interface.
Features:
Complete design freedom
Visual editing interface
Drag and drop elements
Full customization
💡 Tip: Use Embedded types for languages that use special characters like Arabic, and use Non-Embedded types for English if you want smaller file sizes.
Custom Editor
Overview
The Custom Editor is an advanced tool that allows creating and editing certificate designs visually and easily. You can add elements, edit them, move them, and customize them easily.
Or from within Certificate activity - "Edit Certificate" button
Available Elements
You can add the following elements:
Element
Description
Text Element
Static text element
Dynamic Element
Dynamic element (user name, course name, date, etc.)
Image Element
Image
Border Element
Border
Seal Element
Seal
Signature Element
Signature
Watermark Element
Watermark
Customizing Elements
You can customize each element:
Position: X, Y coordinates
Font: Font selection
Size: Font size
Color: Text color
Alignment: Left, Center, Right
Width/Height: For images and elements
Dynamic Elements
Available dynamic elements:
{USER_NAME} - User name
{COURSE_NAME} - Course name
{DATE} - Issue date
{GRADE} - Grade
{TEACHER} - Trainer name
{CREDIT_HOURS} - Credit hours
And others
Font Management
Font Manager
Access the Font Manager from:
/mod/certificate/font_manager.php
The Font Manager allows:
View all available fonts
Upload new fonts (TTF, OTF, WOFF, WOFF2)
Preview fonts
Test fonts
Delete custom fonts
View font statistics
Uploading a New Font
Navigate to Font Manager
Click "Upload Font"
Select font file (TTF, OTF, WOFF, WOFF2)
Enter font name (optional)
Click "Upload"
Font will be saved in fonts/ folder
Supported Fonts
The module supports:
TTF (TrueType Font): Most common type
OTF (OpenType Font): Advanced type
WOFF (Web Open Font Format): For web
WOFF2: Optimized version of WOFF
Default Fonts
The module comes with default fonts:
Dejavusans: Sans-serif font for embedded fonts
Dejavuserif: Serif font for embedded fonts
Helvetica: For non-embedded fonts
Times: For non-embedded fonts
Special Arabic fonts (if uploaded)
Testing Fonts
You can test fonts to find out:
How text appears
Performance
Memory usage
Special character support
QR Code Verification
Overview
Each issued certificate gets a unique QR Code. This QR Code can be used to verify certificate validity and ensure it is authentic and not forged.
How It Works
When a certificate is issued, a unique code is generated
A QR Code containing the verification link is created
QR Code is printed on the certificate
QR Code can be scanned to verify certificate validity
Verifying Certificate
You can verify the certificate from:
/mod/certificate/verify.php?code=CERTIFICATE_CODE
Or through:
Scanning the QR Code on the certificate
Entering certificate code manually
Verification Page
The verification page displays:
Certificate information
User name
Course name
Issue date
Certificate status (valid or invalid)
💡 Note: QR Code provides additional security for certificates and helps prevent forgery.
Template Builder
Overview
The Template Builder system allows creating custom certificate templates using a programming interface. Complex and advanced templates can be built using this system.