radarrplexorganizrnginxsonarrdashboardserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelandinghtpc
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							59 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							59 lines
						
					
					
						
							1.6 KiB
						
					
					
				| <?php | |
| 
 | |
| /* | |
|  * This file is part of the Symfony package. | |
|  * | |
|  * (c) Fabien Potencier <fabien@symfony.com> | |
|  * | |
|  * For the full copyright and license information, please view the LICENSE | |
|  * file that was distributed with this source code. | |
|  */ | |
| 
 | |
| namespace Symfony\Component\HttpFoundation\Session; | |
| 
 | |
| /** | |
|  * Session utility functions. | |
|  * | |
|  * @author Nicolas Grekas <p@tchwork.com> | |
|  * @author Rémon van de Kamp <rpkamp@gmail.com> | |
|  * | |
|  * @internal | |
|  */ | |
| final class SessionUtils | |
| { | |
|     /** | |
|      * Finds the session header amongst the headers that are to be sent, removes it, and returns | |
|      * it so the caller can process it further. | |
|      */ | |
|     public static function popSessionCookie(string $sessionName, string $sessionId): ?string | |
|     { | |
|         $sessionCookie = null; | |
|         $sessionCookiePrefix = sprintf(' %s=', urlencode($sessionName)); | |
|         $sessionCookieWithId = sprintf('%s%s;', $sessionCookiePrefix, urlencode($sessionId)); | |
|         $otherCookies = []; | |
|         foreach (headers_list() as $h) { | |
|             if (0 !== stripos($h, 'Set-Cookie:')) { | |
|                 continue; | |
|             } | |
|             if (11 === strpos($h, $sessionCookiePrefix, 11)) { | |
|                 $sessionCookie = $h; | |
| 
 | |
|                 if (11 !== strpos($h, $sessionCookieWithId, 11)) { | |
|                     $otherCookies[] = $h; | |
|                 } | |
|             } else { | |
|                 $otherCookies[] = $h; | |
|             } | |
|         } | |
|         if (null === $sessionCookie) { | |
|             return null; | |
|         } | |
| 
 | |
|         header_remove('Set-Cookie'); | |
|         foreach ($otherCookies as $h) { | |
|             header($h, false); | |
|         } | |
| 
 | |
|         return $sessionCookie; | |
|     } | |
| }
 | |
| 
 |