11<?php
22
3- # Include third-party libraries and built-in pfSense libraries required for this package
4- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/JWT.php ' ;
5- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/JWK.php ' ;
6- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/Key.php ' ;
7- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/CachedKeySet.php ' ;
8- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php ' ;
9- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/ExpiredException.php ' ;
10- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/SignatureInvalidException.php ' ;
11- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/BeforeValidException.php ' ;
12- require_once 'RESTAPI/.resources/includes/firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php ' ;
3+ # Include built-in pfSense libraries required for this package
134require_once 'config.inc ' ;
145require_once 'diag_arp.inc ' ;
156require_once 'util.inc ' ;
@@ -26,6 +17,20 @@ require_once 'pkg-utils.inc';
2617require_once 'firewall_virtual_ip.inc ' ;
2718require_once 'includes/functions.inc.php ' ;
2819
20+ # Check if the php-jwt dependency has already been installed. This is necessary to concurrently run v1 and v2 on the
21+ # same system since both packages install this dependency, which creates conflicts.
22+ # TODO: Look into the feasibility of making php-jwt its own pfSense package that both packages can share
23+ $ jwt_path_prefix = (!is_dir ("/etc/inc/firebase/php-jwt/src " )) ? "RESTAPI/.resources/includes/ " : "" ;
24+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/JWT.php " ;
25+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/JWK.php " ;
26+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/Key.php " ;
27+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/CachedKeySet.php " ;
28+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php " ;
29+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/ExpiredException.php " ;
30+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/SignatureInvalidException.php " ;
31+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/BeforeValidException.php " ;
32+ require_once "{$ jwt_path_prefix }firebase/php-jwt/src/JWTExceptionWithPayloadInterface.php " ;
33+
2934# Ensure the RESTAPI BaseTraits is imported before any other libraries
3035require_once 'RESTAPI/Core/BaseTraits.inc ' ;
3136
0 commit comments