| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class Config { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // loading the config.js
 | 
					
						
							| 
									
										
										
										
											2024-09-04 09:53:02 +00:00
										 |  |  |     public function getPlatformConfigjs($jitsiUrl, $raw = false) { | 
					
						
							| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  |         // constructing the URL
 | 
					
						
							| 
									
										
										
										
											2024-09-04 09:53:02 +00:00
										 |  |  |         $configjsFile = $jitsiUrl . '/config.js'; | 
					
						
							| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         // default content, if we can't get the file contents
 | 
					
						
							|  |  |  |         $platformConfigjs = "The file $configjsFile can't be loaded."; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // ssl options
 | 
					
						
							|  |  |  |         $contextOptions = [ | 
					
						
							|  |  |  |             'ssl' => [ | 
					
						
							|  |  |  |                 'verify_peer'		=> true, | 
					
						
							|  |  |  |                 'verify_peer_name'	=> true, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |         ]; | 
					
						
							|  |  |  |         $context = stream_context_create($contextOptions); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // get the file
 | 
					
						
							|  |  |  |         $fileContent = @file_get_contents($configjsFile, false, $context); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($fileContent !== false) { | 
					
						
							| 
									
										
										
										
											2024-08-31 16:50:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |             // when we need only uncommented values
 | 
					
						
							|  |  |  |             if ($raw === false) { | 
					
						
							|  |  |  |                 // remove block comments
 | 
					
						
							|  |  |  |                 $platformConfigjs = preg_replace('!/\*.*?\*/!s', '', $fileContent); | 
					
						
							|  |  |  |                 // remove single-line comments
 | 
					
						
							|  |  |  |                 $platformConfigjs = preg_replace('/\/\/[^\n]*/', '', $platformConfigjs); | 
					
						
							|  |  |  |                 // remove empty lines
 | 
					
						
							|  |  |  |                 $platformConfigjs = preg_replace('/^\s*[\r\n]/m', '', $platformConfigjs); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // when we need the full file as it is
 | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 $platformConfigjs = $fileContent; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return $platformConfigjs; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     // loading the interface_config.js
 | 
					
						
							| 
									
										
										
										
											2024-09-04 09:53:02 +00:00
										 |  |  |     public function getPlatformInterfaceConfigjs($jitsiUrl, $raw = false) { | 
					
						
							| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  |         // constructing the URL
 | 
					
						
							| 
									
										
										
										
											2024-09-04 09:53:02 +00:00
										 |  |  |         $interfaceConfigjsFile = $jitsiUrl . '/interface_config.js'; | 
					
						
							| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |         // default content, if we can't get the file contents
 | 
					
						
							|  |  |  |         $platformInterfaceConfigjs = "The file $interfaceConfigjsFile can't be loaded."; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // ssl options
 | 
					
						
							|  |  |  |         $contextOptions = [ | 
					
						
							|  |  |  |             'ssl' => [ | 
					
						
							|  |  |  |                 'verify_peer'		=> true, | 
					
						
							|  |  |  |                 'verify_peer_name'	=> true, | 
					
						
							|  |  |  |             ], | 
					
						
							|  |  |  |         ]; | 
					
						
							|  |  |  |         $context = stream_context_create($contextOptions); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // get the file
 | 
					
						
							|  |  |  |         $fileContent = @file_get_contents($interfaceConfigjsFile, false, $context); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($fileContent !== false) { | 
					
						
							| 
									
										
										
										
											2024-08-31 16:50:58 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |             // when we need only uncommented values
 | 
					
						
							|  |  |  |             if ($raw === false) { | 
					
						
							|  |  |  |                 // remove block comments
 | 
					
						
							|  |  |  |                 $platformInterfaceConfigjs = preg_replace('!/\*.*?\*/!s', '', $fileContent); | 
					
						
							|  |  |  |                 // remove single-line comments
 | 
					
						
							|  |  |  |                 $platformInterfaceConfigjs = preg_replace('/\/\/[^\n]*/', '', $platformInterfaceConfigjs); | 
					
						
							|  |  |  |                 // remove empty lines
 | 
					
						
							|  |  |  |                 $platformInterfaceConfigjs = preg_replace('/^\s*[\r\n]/m', '', $platformInterfaceConfigjs); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // when we need the full file as it is
 | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 $platformInterfaceConfigjs = $fileContent; | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2024-08-28 09:59:13 +00:00
										 |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return $platformInterfaceConfigjs; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ?>
 |