-
Notifications
You must be signed in to change notification settings - Fork 0
Add PHP Class Management System #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
skerbis
commented
Oct 14, 2025
- Add ClassManager.php for complete class lifecycle management
- Extend NewInstallManager and UpdateManager with class support
- Add RepositoryManager method for class status checking
- Create unified upload interface with tab navigation
- Add classes.php page for class installation and updates
- Implement class installation to project/lib/gitClasses/ structure
- Add multilingual support for class management
- Create overview page with class management documentation
- Support for class.yml metadata and README files
- Classes installed with proper directory structure and autoloading support
- Add ClassManager.php for complete class lifecycle management - Extend NewInstallManager and UpdateManager with class support - Add RepositoryManager method for class status checking - Create unified upload interface with tab navigation - Add classes.php page for class installation and updates - Implement class installation to project/lib/gitClasses/ structure - Add multilingual support for class management - Create overview page with class management documentation - Support for class.yml metadata and README files - Classes installed with proper directory structure and autoloading support
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive PHP class management functionality to the GitHub Installer, enabling users to install, update, and upload PHP classes from/to GitHub repositories alongside existing module and template management.
- Implements ClassManager for complete class lifecycle management including installation, updates, and uploads
- Extends existing managers (NewInstallManager, UpdateManager, RepositoryManager) with class support
- Adds unified upload interface with tab navigation supporting modules, templates, and classes
- Creates standardized directory structure
project/lib/gitClasses/ClassName/for class installations
Reviewed Changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| pages/upload.php | Adds class upload functionality with repository selection and tab navigation |
| pages/overview.php | Creates new overview dashboard with class management documentation |
| pages/classes.php | Minor fix to action button variable name consistency |
| package.yml | Adds overview page to navigation structure |
| lib/UpdateManager.php | Standardizes class installation path to gitClasses subdirectory |
| lib/RepositoryManager.php | Updates class status checking for new directory structure |
| lib/NewInstallManager.php | Standardizes class installation path to gitClasses subdirectory |
| lib/GitHubApi.php | Adds uploadFile alias method for consistency |
| lib/ClassManager.php | New comprehensive class management system |
| lang/en_gb.lang | Adds English translations for class management features |
| lang/de_de.lang | Adds German translations for class management features |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
| } else { | ||
| try { | ||
| if (!isset($repositories[$targetRepo])) { | ||
| throw new Exception('Repository nicht gefunden'); |
Copilot
AI
Oct 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hard-coded German error message should use internationalization. Consider using $addon->i18n('repository_not_found') to maintain consistency with the rest of the codebase.
| } else { | ||
| try { | ||
| if (!isset($repositories[$targetRepo])) { | ||
| throw new Exception('Repository nicht gefunden'); |
Copilot
AI
Oct 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hard-coded German error message should use internationalization. Consider using $addon->i18n('repository_not_found') to maintain consistency with the rest of the codebase.
| throw new Exception('Repository nicht gefunden'); | |
| throw new Exception($addon->i18n('repository_not_found')); |
| updateClassHandler($(this)); | ||
| }); | ||
|
|
||
|
|
Copilot
AI
Oct 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Extra empty line should be removed to improve code readability.
|
|
||
|
|
||
| /** | ||
| * Alle lokalen Klassen abrufen | ||
| */ |
Copilot
AI
Oct 14, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] Extra empty lines should be removed to improve code consistency.
| /** | |
| * Alle lokalen Klassen abrufen | |
| */ | |
| /** | |
| * Alle lokalen Klassen abrufen | |
| */ | |
| */ |