getDirectory() . '/Admin/Routes/'); self::activateInDatabase($dbPool, $info); } /** * Install routes. * * @param string $destRoutePath Destination route path * @param string $srcRoutePath Source route path * * @return void * * @todo Orange-Management/phpOMS#228 * Remove/Add routes on module status change * If the status of a module changes it should also change the routing file. * * @since 1.0.0 */ private static function activateRoutes(string $destRoutePath, string $srcRoutePath) : void { } /** * Deactivate module in database. * * @param DatabasePool $dbPool Database instance * @param InfoManager $info Module info * * @return void * * @since 1.0.0 */ public static function activateInDatabase(DatabasePool $dbPool, InfoManager $info) : void { $query = new Builder($dbPool->get('update')); $query->prefix($dbPool->get('update')->prefix); $query->update('module') ->sets('module.module_active', 1) ->where('module.module_id', '=', $info->getInternalName()) ->execute(); } /** * Deactivate module. * * @param DatabasePool $dbPool Database instance * @param InfoManager $info Module info * * @return void * * @since 1.0.0 */ public static function deactivate(DatabasePool $dbPool, InfoManager $info) : void { self::deactivateRoutes(__DIR__ . '/../../Web/Routes.php', __DIR__ . '/../../Modules/' . $info->getDirectory() . '/Admin/Routes/'); self::deactivateInDatabase($dbPool, $info); } /** * Install routes. * * @param string $destRoutePath Destination route path * @param string $srcRoutePath Source route path * * @return void * * @todo Orange-Management/phpOMS#228 * Remove/Add routes on module status change * If the status of a module changes it should also change the routing file. * * @since 1.0.0 */ private static function deactivateRoutes(string $destRoutePath, string $srcRoutePath) : void { } /** * Deactivate module in database. * * @param DatabasePool $dbPool Database instance * @param InfoManager $info Module info * * @return void * * @since 1.0.0 */ public static function deactivateInDatabase(DatabasePool $dbPool, InfoManager $info) : void { $query = new Builder($dbPool->get('update')); $query->prefix($dbPool->get('update')->prefix); $query->update('module') ->sets('module.module_active', 0) ->where('module.module_id', '=', $info->getInternalName()) ->execute(); } }