Noon Quran Schools Manager

Description

Noon Quran Schools Manager is a translation-ready WordPress plugin for tahfez centers.

  • Students, parents, and teachers
  • Daily attendance and recitation tracking
  • Memorization plans, golden record (khatm/ijazah), and student files
  • Exams, reports, and statistics
  • Fees, payments, salaries, income and expenses
  • Motivation points and printable certificates
  • Parent, student, and teacher portals (shortcodes)
  • CSV export, CSV import, and JSON backup/restore

English is the source language: every interface string goes through gettext (Text Domain: noon-quran-schools-manager, Domain Path: /languages), so the plugin follows the site locale automatically, including right-to-left locales.

Database values are stored as locale-independent keys (numeric surah numbers, status keys such as excellent or present), while the interface always shows translated labels. Existing Arabic installs are upgraded automatically on activation/update.

The admin interface uses the center name and logo from Settings, and supports the Cairo font for right-to-left locales.

Installation

  1. Upload the folder to /wp-content/plugins/
  2. Activate the plugin (tables and data migrations run automatically)
  3. Open the Quran Schools menu and complete Settings

FAQ

Which locales are supported?

Any locale with a translation installed. English is the fallback source language.

Will activating the plugin change my existing data?

No. Recitations that stored surah names, and localized grade/relation/specialization values, are converted to canonical keys automatically. The demo backup in assets/qsm-demo-backup.json uses the same canonical values.

Does it need the intl PHP extension?

No. It is used for accurate Umm al-Qura Hijri dates when available; without it the plugin falls back to an approximate tabular Hijri calendar.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Noon Quran Schools Manager” is open source software. The following people have contributed to this plugin.

Contributors

“Noon Quran Schools Manager” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “Noon Quran Schools Manager” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.4

  • English-first, translation-ready interface with automatic LTR/RTL support
  • Canonical stored values: numeric surahs, grade/attendance/plan/status keys
  • Automatic migration of localized values (surah names, relations, specializations, grades)
  • Shared label helpers, translated JavaScript via wp.i18n, and a Cairo font for RTL locales
  • Umm al-Qura Hijri dates via the intl extension, with a tabular fallback
  • CSV export includes readable surah names alongside the numeric columns
  • Converted every screen (golden record, points, certificates, import included) to gettext strings
  • Fixed legacy wp_qsm_* table prefixes when restoring a JSON backup
  • Teacher account creation now uses the shared WordPress account helper
  • Uninstall removes every plugin table, option, migration flag, and role
  • Removed the duplicate parent portal bootstrap call

1.0.3

  • Only a site administrator can create WordPress accounts or assign the supervisor role
  • Remove activation error_log and prefix uninstall globals
  • Cast and escape database IDs and option values before output
  • Text domain matches the plugin slug: noon-quran-schools-manager
  • Prefixes, options, roles, shortcodes, and tables use noonqsm (4+ characters)
  • Removed the legacy qsm_ migration and old shortcodes
  • Escaped admin and portal output
  • Sidebar stays usable on short desktop screens without a visible scrollbar

1.0.2

  • Enqueue print/card/certificate CSS, sanitize export/backup nonces, escape card initial, remove load_plugin_textdomain, lower admin menu position

1.0.1

  • Distinct Plugin URI (repository) and Author URI (profile)

1.0.0

  • First public release for WordPress.org
  • Author: Kouider Bounama (https://github.com/kouiderbounama)