Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
Clubphp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
Clubphp
Commits
5d2aceb8
Commit
5d2aceb8
authored
Apr 15, 2026
by
Mahmoud Aglan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed Sidebar
parent
8b2afbf2
Changes
13
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
40 additions
and
161 deletions
+40
-161
bootstrap.php
app/Modules/Carnets/bootstrap.php
+1
-13
bootstrap.php
app/Modules/Documents/bootstrap.php
+1
-13
bootstrap.php
app/Modules/Fines/bootstrap.php
+1
-14
bootstrap.php
app/Modules/Foreign/bootstrap.php
+1
-12
bootstrap.php
app/Modules/Honorary/bootstrap.php
+1
-12
bootstrap.php
app/Modules/Installments/bootstrap.php
+1
-13
bootstrap.php
app/Modules/Interviews/bootstrap.php
+1
-13
bootstrap.php
app/Modules/Members/bootstrap.php
+28
-7
bootstrap.php
app/Modules/Seasonal/bootstrap.php
+1
-11
bootstrap.php
app/Modules/Sports/bootstrap.php
+1
-12
bootstrap.php
app/Modules/Subscriptions/bootstrap.php
+1
-14
bootstrap.php
app/Modules/Temporary/bootstrap.php
+1
-11
bootstrap.php
app/Modules/Transfers/bootstrap.php
+1
-16
No files found.
app/Modules/Carnets/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'carnets'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'الكارنيهات'
,
'label_en'
=>
'Carnets'
,
'icon'
=>
'id-card'
,
'route'
=>
'/carnets'
,
'permission'
=>
'carnet.view_log'
,
'parent'
=>
null
,
'order'
=>
660
,
'children'
=>
[
[
'label_ar'
=>
'كل الكارنيهات'
,
'label_en'
=>
'All Carnets'
,
'route'
=>
'/carnets'
,
'permission'
=>
'carnet.view_log'
,
'order'
=>
1
],
],
]);
PermissionRegistry
::
register
(
'carnets'
,
[
PermissionRegistry
::
register
(
'carnets'
,
[
'carnet.print'
=>
[
'ar'
=>
'طباعة كارنيه'
,
'en'
=>
'Print Carnet'
],
'carnet.print'
=>
[
'ar'
=>
'طباعة كارنيه'
,
'en'
=>
'Print Carnet'
],
...
...
app/Modules/Documents/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\EventBus
;
use
App\Core\EventBus
;
MenuRegistry
::
register
(
'documents'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'المستندات'
,
'label_en'
=>
'Documents'
,
'icon'
=>
'file'
,
'route'
=>
'/documents'
,
'permission'
=>
'document.view'
,
'parent'
=>
null
,
'order'
=>
670
,
'children'
=>
[
[
'label_ar'
=>
'كل المستندات'
,
'label_en'
=>
'All Documents'
,
'route'
=>
'/documents'
,
'permission'
=>
'document.view'
,
'order'
=>
1
],
],
]);
PermissionRegistry
::
register
(
'documents'
,
[
PermissionRegistry
::
register
(
'documents'
,
[
'document.upload'
=>
[
'ar'
=>
'رفع مستندات'
,
'en'
=>
'Upload Documents'
],
'document.upload'
=>
[
'ar'
=>
'رفع مستندات'
,
'en'
=>
'Upload Documents'
],
...
...
app/Modules/Fines/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'fines'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'المخالفات والغرامات'
,
'label_en'
=>
'Violations & Fines'
,
'icon'
=>
'alert'
,
'route'
=>
'/violations'
,
'permission'
=>
'fine.view'
,
'parent'
=>
null
,
'order'
=>
530
,
'children'
=>
[
[
'label_ar'
=>
'المخالفات'
,
'label_en'
=>
'Violations'
,
'route'
=>
'/violations'
,
'permission'
=>
'fine.view'
,
'order'
=>
1
],
[
'label_ar'
=>
'الغرامات'
,
'label_en'
=>
'Fines'
,
'route'
=>
'/fines'
,
'permission'
=>
'fine.view'
,
'order'
=>
2
],
],
]);
PermissionRegistry
::
register
(
'fines'
,
[
PermissionRegistry
::
register
(
'fines'
,
[
'fine.view'
=>
[
'ar'
=>
'عرض الغرامات'
,
'en'
=>
'View Fines'
],
'fine.view'
=>
[
'ar'
=>
'عرض الغرامات'
,
'en'
=>
'View Fines'
],
...
...
app/Modules/Foreign/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
\ No newline at end of file
MenuRegistry
::
register
(
'foreign'
,
[
'label_ar'
=>
'الأعضاء الأجانب'
,
'label_en'
=>
'Foreign Members'
,
'icon'
=>
'globe'
,
'route'
=>
'/foreign'
,
'permission'
=>
'member.view'
,
'parent'
=>
null
,
'order'
=>
400
,
'children'
=>
[],
]);
\ No newline at end of file
app/Modules/Honorary/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
\ No newline at end of file
MenuRegistry
::
register
(
'honorary'
,
[
'label_ar'
=>
'العضوية الشرفية'
,
'label_en'
=>
'Honorary Membership'
,
'icon'
=>
'star'
,
'route'
=>
'/honorary'
,
'permission'
=>
'member.view'
,
'parent'
=>
null
,
'order'
=>
395
,
'children'
=>
[],
]);
\ No newline at end of file
app/Modules/Installments/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'installments'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'الأقساط'
,
'label_en'
=>
'Installments'
,
'icon'
=>
'calendar'
,
'route'
=>
'/installments'
,
'permission'
=>
'installment.view'
,
'parent'
=>
null
,
'order'
=>
510
,
'children'
=>
[
[
'label_ar'
=>
'كل الخطط'
,
'label_en'
=>
'All Plans'
,
'route'
=>
'/installments'
,
'permission'
=>
'installment.view'
,
'order'
=>
1
],
],
]);
PermissionRegistry
::
register
(
'installments'
,
[
PermissionRegistry
::
register
(
'installments'
,
[
'installment.view'
=>
[
'ar'
=>
'عرض الأقساط'
,
'en'
=>
'View Installments'
],
'installment.view'
=>
[
'ar'
=>
'عرض الأقساط'
,
'en'
=>
'View Installments'
],
...
...
app/Modules/Interviews/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'interviews'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'المقابلات'
,
'label_en'
=>
'Interviews'
,
'icon'
=>
'calendar'
,
'route'
=>
'/interviews'
,
'permission'
=>
'interview.view'
,
'parent'
=>
null
,
'order'
=>
650
,
'children'
=>
[
[
'label_ar'
=>
'كل المقابلات'
,
'label_en'
=>
'All Interviews'
,
'route'
=>
'/interviews'
,
'permission'
=>
'interview.view'
,
'order'
=>
1
],
],
]);
PermissionRegistry
::
register
(
'interviews'
,
[
PermissionRegistry
::
register
(
'interviews'
,
[
'interview.view'
=>
[
'ar'
=>
'عرض المقابلات'
,
'en'
=>
'View Interviews'
],
'interview.view'
=>
[
'ar'
=>
'عرض المقابلات'
,
'en'
=>
'View Interviews'
],
...
...
app/Modules/Members/bootstrap.php
View file @
5d2aceb8
...
@@ -4,18 +4,39 @@ declare(strict_types=1);
...
@@ -4,18 +4,39 @@ declare(strict_types=1);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'members'
,
[
MenuRegistry
::
register
(
'members
hip
'
,
[
'label_ar'
=>
'
إدارة الأعضاء
'
,
'label_ar'
=>
'
شئون العضوية
'
,
'label_en'
=>
'Member
Management
'
,
'label_en'
=>
'Member
ship
'
,
'icon'
=>
'
👥
'
,
'icon'
=>
'
users
'
,
'route'
=>
'/members'
,
'route'
=>
'/members'
,
'permission'
=>
'member.view'
,
'permission'
=>
'member.view'
,
'parent'
=>
null
,
'parent'
=>
null
,
'order'
=>
300
,
'order'
=>
300
,
'children'
=>
[
'children'
=>
[
// ── Core Members ────────────────────────────
[
'label_ar'
=>
'كل الأعضاء'
,
'label_en'
=>
'All Members'
,
'route'
=>
'/members'
,
'permission'
=>
'member.view'
,
'order'
=>
1
],
[
'label_ar'
=>
'كل الأعضاء'
,
'label_en'
=>
'All Members'
,
'route'
=>
'/members'
,
'permission'
=>
'member.view'
,
'order'
=>
1
],
[
'label_ar'
=>
'عضو جديد'
,
'label_en'
=>
'New Member'
,
'route'
=>
'/members/create'
,
'permission'
=>
'member.create'
,
'order'
=>
2
],
[
'label_ar'
=>
'عضو جديد'
,
'label_en'
=>
'New Member'
,
'route'
=>
'/members/create'
,
'permission'
=>
'member.create'
,
'order'
=>
2
],
[
'label_ar'
=>
'بحث الأعضاء'
,
'label_en'
=>
'Search Members'
,
'route'
=>
'/members/search'
,
'permission'
=>
'member.search'
,
'order'
=>
3
],
[
'label_ar'
=>
'بحث الأعضاء'
,
'label_en'
=>
'Search Members'
,
'route'
=>
'/members/search'
,
'permission'
=>
'member.search'
,
'order'
=>
3
],
// ── Membership Types ────────────────────────
[
'label_ar'
=>
'الأعضاء المؤقتون'
,
'label_en'
=>
'Temporary Members'
,
'route'
=>
'/temporary'
,
'permission'
=>
'temp.view'
,
'order'
=>
10
],
[
'label_ar'
=>
'العضوية الموسمية'
,
'label_en'
=>
'Seasonal Memberships'
,
'route'
=>
'/seasonal'
,
'permission'
=>
'temp.view'
,
'order'
=>
11
],
[
'label_ar'
=>
'العضوية الرياضية'
,
'label_en'
=>
'Sports Membership'
,
'route'
=>
'/sports'
,
'permission'
=>
'temp.view'
,
'order'
=>
12
],
[
'label_ar'
=>
'العضوية الشرفية'
,
'label_en'
=>
'Honorary Membership'
,
'route'
=>
'/honorary'
,
'permission'
=>
'member.view'
,
'order'
=>
13
],
[
'label_ar'
=>
'الأعضاء الأجانب'
,
'label_en'
=>
'Foreign Members'
,
'route'
=>
'/foreign'
,
'permission'
=>
'member.view'
,
'order'
=>
14
],
// ── Subscriptions & Financial ───────────────
[
'label_ar'
=>
'الاشتراكات السنوية'
,
'label_en'
=>
'Annual Subscriptions'
,
'route'
=>
'/subscriptions'
,
'permission'
=>
'subscription.view'
,
'order'
=>
20
],
[
'label_ar'
=>
'توليد اشتراكات'
,
'label_en'
=>
'Batch Generate'
,
'route'
=>
'/subscriptions/batch-generate'
,
'permission'
=>
'subscription.generate_batch'
,
'order'
=>
21
],
[
'label_ar'
=>
'الأقساط'
,
'label_en'
=>
'Installments'
,
'route'
=>
'/installments'
,
'permission'
=>
'installment.view'
,
'order'
=>
22
],
[
'label_ar'
=>
'المخالفات والغرامات'
,
'label_en'
=>
'Violations & Fines'
,
'route'
=>
'/violations'
,
'permission'
=>
'fine.view'
,
'order'
=>
23
],
// ── Procedures ──────────────────────────────
[
'label_ar'
=>
'المقابلات'
,
'label_en'
=>
'Interviews'
,
'route'
=>
'/interviews'
,
'permission'
=>
'interview.view'
,
'order'
=>
30
],
[
'label_ar'
=>
'الكارنيهات'
,
'label_en'
=>
'Carnets'
,
'route'
=>
'/carnets'
,
'permission'
=>
'carnet.view_log'
,
'order'
=>
31
],
[
'label_ar'
=>
'المستندات'
,
'label_en'
=>
'Documents'
,
'route'
=>
'/documents'
,
'permission'
=>
'document.view'
,
'order'
=>
32
],
// ── Transfers & Separations ─────────────────
[
'label_ar'
=>
'طلبات التحويل'
,
'label_en'
=>
'Transfer Requests'
,
'route'
=>
'/transfers'
,
'permission'
=>
'transfer.view'
,
'order'
=>
40
],
[
'label_ar'
=>
'حالات الطلاق'
,
'label_en'
=>
'Divorce Cases'
,
'route'
=>
'/divorce'
,
'permission'
=>
'transfer.view'
,
'order'
=>
41
],
[
'label_ar'
=>
'حالات الوفاة'
,
'label_en'
=>
'Death Cases'
,
'route'
=>
'/death'
,
'permission'
=>
'transfer.view'
,
'order'
=>
42
],
[
'label_ar'
=>
'طلبات التنازل'
,
'label_en'
=>
'Waiver Requests'
,
'route'
=>
'/waivers'
,
'permission'
=>
'waiver.view'
,
'order'
=>
43
],
],
],
]);
]);
...
...
app/Modules/Seasonal/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\EventBus
;
use
App\Core\EventBus
;
MenuRegistry
::
register
(
'seasonal'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'العضوية الموسمية'
,
'label_en'
=>
'Seasonal Memberships'
,
'icon'
=>
'calendar'
,
'route'
=>
'/seasonal'
,
'permission'
=>
'temp.view'
,
'parent'
=>
null
,
'order'
=>
385
,
'children'
=>
[],
]);
EventBus
::
listen
(
'member.profile_data'
,
function
(
array
&
$data
)
{
EventBus
::
listen
(
'member.profile_data'
,
function
(
array
&
$data
)
{
if
(
isset
(
$data
[
'member'
])
&&
$data
[
'member'
])
{
if
(
isset
(
$data
[
'member'
])
&&
$data
[
'member'
])
{
...
...
app/Modules/Sports/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
\ No newline at end of file
MenuRegistry
::
register
(
'sports'
,
[
'label_ar'
=>
'العضوية الرياضية'
,
'label_en'
=>
'Sports Membership'
,
'icon'
=>
'trophy'
,
'route'
=>
'/sports'
,
'permission'
=>
'temp.view'
,
'parent'
=>
null
,
'order'
=>
390
,
'children'
=>
[],
]);
\ No newline at end of file
app/Modules/Subscriptions/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'subscriptions'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'الاشتراكات السنوية'
,
'label_en'
=>
'Annual Subscriptions'
,
'icon'
=>
'repeat'
,
'route'
=>
'/subscriptions'
,
'permission'
=>
'subscription.view'
,
'parent'
=>
null
,
'order'
=>
520
,
'children'
=>
[
[
'label_ar'
=>
'كل الاشتراكات'
,
'label_en'
=>
'All Subscriptions'
,
'route'
=>
'/subscriptions'
,
'permission'
=>
'subscription.view'
,
'order'
=>
1
],
[
'label_ar'
=>
'توليد دفعة'
,
'label_en'
=>
'Batch Generate'
,
'route'
=>
'/subscriptions/batch-generate'
,
'permission'
=>
'subscription.generate_batch'
,
'order'
=>
2
],
],
]);
PermissionRegistry
::
register
(
'subscriptions'
,
[
PermissionRegistry
::
register
(
'subscriptions'
,
[
'subscription.view'
=>
[
'ar'
=>
'عرض الاشتراكات'
,
'en'
=>
'View Subscriptions'
],
'subscription.view'
=>
[
'ar'
=>
'عرض الاشتراكات'
,
'en'
=>
'View Subscriptions'
],
...
...
app/Modules/Temporary/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\EventBus
;
use
App\Core\EventBus
;
MenuRegistry
::
register
(
'temporary'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'الأعضاء المؤقتون'
,
'label_en'
=>
'Temporary Members'
,
'icon'
=>
'user-clock'
,
'route'
=>
'/temporary'
,
'permission'
=>
'temp.view'
,
'parent'
=>
null
,
'order'
=>
380
,
'children'
=>
[],
]);
PermissionRegistry
::
register
(
'temporary'
,
[
PermissionRegistry
::
register
(
'temporary'
,
[
'temp.add'
=>
[
'ar'
=>
'إضافة عضو مؤقت'
,
'en'
=>
'Add Temporary Member'
],
'temp.add'
=>
[
'ar'
=>
'إضافة عضو مؤقت'
,
'en'
=>
'Add Temporary Member'
],
...
...
app/Modules/Transfers/bootstrap.php
View file @
5d2aceb8
<?php
<?php
declare
(
strict_types
=
1
);
declare
(
strict_types
=
1
);
use
App\Core\Registries\MenuRegistry
;
use
App\Core\Registries\PermissionRegistry
;
use
App\Core\Registries\PermissionRegistry
;
MenuRegistry
::
register
(
'transfers'
,
[
// Menu registered centrally via Members/bootstrap.php under "membership" parent.
'label_ar'
=>
'التحويلات والفصل'
,
'label_en'
=>
'Transfers & Separations'
,
'icon'
=>
'swap'
,
'route'
=>
'/transfers'
,
'permission'
=>
'transfer.view'
,
'parent'
=>
null
,
'order'
=>
700
,
'children'
=>
[
[
'label_ar'
=>
'طلبات التحويل'
,
'label_en'
=>
'Transfer Requests'
,
'route'
=>
'/transfers'
,
'permission'
=>
'transfer.view'
,
'order'
=>
1
],
[
'label_ar'
=>
'حالات الطلاق'
,
'label_en'
=>
'Divorce Cases'
,
'route'
=>
'/divorce'
,
'permission'
=>
'transfer.view'
,
'order'
=>
2
],
[
'label_ar'
=>
'حالات الوفاة'
,
'label_en'
=>
'Death Cases'
,
'route'
=>
'/death'
,
'permission'
=>
'transfer.view'
,
'order'
=>
3
],
[
'label_ar'
=>
'طلبات التنازل'
,
'label_en'
=>
'Waiver Requests'
,
'route'
=>
'/waivers'
,
'permission'
=>
'waiver.view'
,
'order'
=>
4
],
],
]);
PermissionRegistry
::
register
(
'transfers'
,
[
PermissionRegistry
::
register
(
'transfers'
,
[
'transfer.initiate'
=>
[
'ar'
=>
'بدء تحويل/فصل'
,
'en'
=>
'Initiate Transfer'
],
'transfer.initiate'
=>
[
'ar'
=>
'بدء تحويل/فصل'
,
'en'
=>
'Initiate Transfer'
],
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment