Skip to content

Conversation

@skerbis
Copy link
Member

@skerbis 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
Copilot AI review requested due to automatic review settings October 14, 2025 14:38
@skerbis skerbis merged commit 027345d into main Oct 14, 2025
Copy link

Copilot AI left a 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');
Copy link

Copilot AI Oct 14, 2025

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.

Copilot uses AI. Check for mistakes.
} else {
try {
if (!isset($repositories[$targetRepo])) {
throw new Exception('Repository nicht gefunden');
Copy link

Copilot AI Oct 14, 2025

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.

Suggested change
throw new Exception('Repository nicht gefunden');
throw new Exception($addon->i18n('repository_not_found'));

Copilot uses AI. Check for mistakes.
updateClassHandler($(this));
});


Copy link

Copilot AI Oct 14, 2025

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.

Suggested change

Copilot uses AI. Check for mistakes.
Comment on lines +147 to +151


/**
* Alle lokalen Klassen abrufen
*/
Copy link

Copilot AI Oct 14, 2025

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.

Suggested change
/**
* Alle lokalen Klassen abrufen
*/
/**
* Alle lokalen Klassen abrufen
*/
*/

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants