Addon.php 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace ModulesGarden\ProxmoxAddon\Core\App\Controllers\AppControllers;
  3. use ModulesGarden\ProxmoxAddon\Core\App\Controllers\Instances\AddonController;
  4. use ModulesGarden\ProxmoxAddon\Core\App\Controllers\Interfaces\AppController;
  5. class Addon extends \ModulesGarden\ProxmoxAddon\Core\App\Controllers\AppController implements AppController
  6. {
  7. public function getControllerInstanceClass($callerName, $params)
  8. {
  9. $functionName = str_replace($this->getModuleName() . '_', '', $callerName);
  10. $coreAddon = '\ModulesGarden\ProxmoxAddon\Core\App\Controllers\Instances\Addon\\' . ucfirst($functionName);
  11. if (class_exists($coreAddon) && is_subclass_of($coreAddon, AddonController::class))
  12. {
  13. return $coreAddon;
  14. }
  15. $appAddon = '\ModulesGarden\ProxmoxAddon\App\Http\Actions\\' . ucfirst($functionName);
  16. if (class_exists($appAddon) && is_subclass_of($appAddon, AddonController::class))
  17. {
  18. return $appAddon;
  19. }
  20. return null;
  21. }
  22. public function getModuleName()
  23. {
  24. return 'proxmoxAddon';
  25. }
  26. }