forked from openemr/openemr
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request openemr#7442 from juggernautsei/claimrev-module-ma…
…nager Module uninstall
- Loading branch information
Showing
5 changed files
with
187 additions
and
1 deletion.
There are no files selected for viewing
143 changes: 143 additions & 0 deletions
143
interface/modules/custom_modules/oe-module-claimrev-connect/ModuleManagerListener.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
<?php | ||
|
||
/** | ||
* Class to be called from Laminas Module Manager for reporting management actions. | ||
* Example is if the module is enabled, disabled or unregistered ect. | ||
* | ||
* The class is in the Laminas "Installer\Controller" namespace. | ||
* Currently, register isn't supported of which support should be a part of install. | ||
* If an error needs to be reported to user, return description of error. | ||
* However, whatever action trapped here has already occurred in Manager. | ||
* Catch any exceptions because chances are they will be overlooked in Laminas module. | ||
* Report them in the return value. | ||
* | ||
* @package OpenEMR Modules | ||
* @link https://www.open-emr.org | ||
* @author Jerry Padgett <[email protected]> | ||
* @copyright Copyright (c) 2024 Jerry Padgett <[email protected]> | ||
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3 | ||
*/ | ||
|
||
/* | ||
* Do not declare a namespace | ||
* If you want Laminas manager to set namespace set it in getModuleNamespace | ||
* otherwise uncomment below and set path. | ||
* | ||
* */ | ||
|
||
/* | ||
$classLoader = new \OpenEMR\Core\ModulesClassLoader($GLOBALS['fileroot']); | ||
$classLoader->registerNamespaceIfNotExists("OpenEMR\\Modules\\ClaimRevConnector\\", __DIR__ . DIRECTORY_SEPARATOR . 'src'); | ||
*/ | ||
|
||
use OpenEMR\Core\AbstractModuleActionListener; | ||
|
||
/* Allows maintenance of background tasks depending on Module Manager action. */ | ||
|
||
class ModuleManagerListener extends AbstractModuleActionListener | ||
{ | ||
public function __construct() | ||
{ | ||
parent::__construct(); | ||
} | ||
|
||
/** | ||
* @param $methodName | ||
* @param $modId | ||
* @param string $currentActionStatus | ||
* @return string On method success a $currentAction status should be returned or error string. | ||
*/ | ||
public function moduleManagerAction($methodName, $modId, string $currentActionStatus = 'Success'): string | ||
{ | ||
if (method_exists(self::class, $methodName)) { | ||
return self::$methodName($modId, $currentActionStatus); | ||
} else { | ||
// no reason to report, action method is missing. | ||
return $currentActionStatus; | ||
} | ||
} | ||
|
||
/** | ||
* Required method to return namespace | ||
* If namespace isn't provided return empty string | ||
* and register namespace at top of this script.. | ||
* | ||
* @return string | ||
*/ | ||
public static function getModuleNamespace(): string | ||
{ | ||
// Module Manager will register this namespace. | ||
return 'OpenEMR\\Modules\\ClaimRevConnector\\'; | ||
} | ||
|
||
/** | ||
* Required method to return this class object | ||
* so it will be instantiated in Laminas Manager. | ||
* | ||
* @return ModuleManagerListener | ||
*/ | ||
public static function initListenerSelf(): ModuleManagerListener | ||
{ | ||
return new self(); | ||
} | ||
|
||
/** | ||
* @param $modId | ||
* @param $currentActionStatus | ||
* @return mixed | ||
*/ | ||
private function help_requested($modId, $currentActionStatus): mixed | ||
{ | ||
// must call a script that implements a dialog to show help. | ||
// I can't find a way to override the Lamina's UI except using a dialog. | ||
if (file_exists(__DIR__ . '/show_help.php')) { | ||
include __DIR__ . '/show_help.php'; | ||
} | ||
return $currentActionStatus; | ||
} | ||
|
||
/** | ||
* @param $modId | ||
* @param $currentActionStatus | ||
* @return mixed | ||
*/ | ||
private function enable($modId, $currentActionStatus): mixed | ||
{ | ||
$logMessage = 'Claimrev Background tasks have been enabled'; | ||
// Register background services | ||
$sql = "UPDATE `background_services` SET `active` = '1' WHERE `name` = ? OR `name` = ? OR `name` = ?"; | ||
$status = sqlQuery($sql, array('ClaimRev_Send', 'ClaimRev_Receive', 'ClaimRev_Elig_Send_Receive')); | ||
error_log($logMessage . ' ' . text($status)); | ||
// Return the current action status from Module Manager in case of error from its action. | ||
return $currentActionStatus; | ||
} | ||
|
||
/** | ||
* @param $modId | ||
* @param $currentActionStatus | ||
* @return mixed | ||
*/ | ||
private function disable($modId, $currentActionStatus): mixed | ||
{ | ||
$logMessage = 'Claimrev Background tasks have been disabled'; | ||
// Unregister background services | ||
$sql = "UPDATE `background_services` SET `active` = '0' WHERE `name` = ? OR `name` = ? OR `name` = ?"; | ||
$status = sqlQuery($sql, array('ClaimRev_Send', 'ClaimRev_Receive', 'ClaimRev_Elig_Send_Receive')); | ||
error_log($logMessage . ' ' . text($status)); | ||
return $currentActionStatus; | ||
} | ||
|
||
/** | ||
* @param $modId | ||
* @param $currentActionStatus | ||
* @return mixed | ||
*/ | ||
private function unregister($modId, $currentActionStatus) | ||
{ | ||
$logMessage = 'Claimrev Background tasks have been removed'; // Initialize an empty string to store log messages | ||
$sql = "DELETE FROM `background_services` WHERE `name` = ? OR `name` = ? OR `name` = ?"; | ||
$status = sqlQuery($sql, array('ClaimRev_Send', 'ClaimRev_Receive', 'ClaimRev_Elig_Send_Receive')); | ||
error_log($logMessage . ' ' . text($status)); | ||
return $currentActionStatus; | ||
} | ||
} |
Empty file.
25 changes: 25 additions & 0 deletions
25
interface/modules/custom_modules/oe-module-claimrev-connect/moduleConfig.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<?php | ||
|
||
/** | ||
* Config Module. | ||
* Call the module setup page if present. | ||
* Included in all modules and called by Module Manager. | ||
* | ||
* @package OpenEMR Module | ||
* @link http://www.open-emr.org | ||
* @author Jerry Padgett <[email protected]> | ||
* @copyright Copyright (c) 2023-24 Jerry Padgett <[email protected]> | ||
* @license https://github.com/openemr/openemr/blob/master/LICENSE GNU General Public License 3 | ||
*/ | ||
|
||
use OpenEMR\Core\ModulesClassLoader; | ||
|
||
require_once dirname(__FILE__, 4) . '/globals.php'; | ||
|
||
/* required for config before install */ | ||
$classLoader = new ModulesClassLoader($GLOBALS['fileroot']); | ||
$classLoader->registerNamespaceIfNotExists("OpenEMR\\Modules\\ClaimRevConnector\\", __DIR__ . DIRECTORY_SEPARATOR . 'src'); | ||
|
||
$module_config = 1; | ||
|
||
exit; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
14 changes: 14 additions & 0 deletions
14
interface/modules/custom_modules/oe-module-claimrev-connect/version.php
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<?php | ||
|
||
/* | ||
* package OpenEMR | ||
* link https://open-emr.org | ||
* author Sherwin Gaddis <[email protected]> | ||
* Copyright (c) 2024. Sherwin Gaddis <[email protected]> | ||
*/ | ||
|
||
$v_major = '1'; | ||
$v_minor = '0'; | ||
$v_patch = '0'; | ||
$v_tag = ''; | ||
$v_database = 0; |