forked from GNUsocial/gnu-social
		
	
		
			
				
	
	
		
			105 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * This file is part of libomb
 | |
|  *
 | |
|  * PHP version 5
 | |
|  *
 | |
|  * LICENSE: This program is free software: you can redistribute it and/or modify
 | |
|  * it under the terms of the GNU Affero General Public License as published by
 | |
|  * the Free Software Foundation, either version 3 of the License, or
 | |
|  * (at your option) any later version.
 | |
|  *
 | |
|  * This program is distributed in the hope that it will be useful,
 | |
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | |
|  * GNU Affero General Public License for more details.
 | |
|  *
 | |
|  * You should have received a copy of the GNU Affero General Public License
 | |
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |
|  *
 | |
|  * @package OMB
 | |
|  * @author  Adrian Lang <mail@adrianlang.de>
 | |
|  * @license http://www.gnu.org/licenses/agpl.html GNU AGPL 3.0
 | |
|  * @version 0.1a-20090828
 | |
|  * @link    http://adrianlang.de/libomb
 | |
|  */
 | |
| 
 | |
| require_once 'Validate.php';
 | |
| 
 | |
| /**
 | |
|  * Helper functions for libomb
 | |
|  *
 | |
|  * This class contains helper functions for libomb.
 | |
|  */
 | |
| class OMB_Helper
 | |
| {
 | |
| 
 | |
|     /**
 | |
|      * Non-scalar constants
 | |
|      *
 | |
|      * The set of OMB and OAuth Services an OMB Server has to implement.
 | |
|      */
 | |
| 
 | |
|     public static $OMB_SERVICES   = array(OMB_ENDPOINT_UPDATEPROFILE,
 | |
|                                           OMB_ENDPOINT_POSTNOTICE);
 | |
|     public static $OAUTH_SERVICES = array(OAUTH_ENDPOINT_REQUEST,
 | |
|                                           OAUTH_ENDPOINT_AUTHORIZE,
 | |
|                                           OAUTH_ENDPOINT_ACCESS);
 | |
| 
 | |
|     /**
 | |
|      * Validate URL
 | |
|      *
 | |
|      * Basic URL validation. Currently http, https, ftp and gopher are supported
 | |
|      * schemes.
 | |
|      *
 | |
|      * @param string $url The URL which is to be validated.
 | |
|      *
 | |
|      * @return bool Whether URL is valid.
 | |
|      *
 | |
|      * @access public
 | |
|      */
 | |
|     public static function validateURL($url)
 | |
|     {
 | |
|         return Validate::uri($url, array('allowed_schemes' => array('http',
 | |
|                                                     'https', 'gopher', 'ftp')));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Validate Media type
 | |
|      *
 | |
|      * Basic Media type validation. Checks for valid maintype and correct
 | |
|      * format.
 | |
|      *
 | |
|      * @param string $mediatype The Media type which is to be validated.
 | |
|      *
 | |
|      * @return bool Whether media type is valid.
 | |
|      *
 | |
|      * @access public
 | |
|      */
 | |
|     public static function validateMediaType($mediatype)
 | |
|     {
 | |
|         return preg_match('/^(\w+)\/([\w\d-+.]+)$/', $mediatype, $subtypes) > 0
 | |
|                &&
 | |
|                in_array(strtolower($subtypes[1]), array('application', 'audio',
 | |
|                'image', 'message', 'model', 'multipart', 'text', 'video'));
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Remove escaping from request parameters
 | |
|      *
 | |
|      * Neutralise the evil effects of magic_quotes_gpc in the current request.
 | |
|      * This is used before handing a request off to OAuthRequest::from_request.
 | |
|      * Many thanks to Ciaran Gultnieks for this fix.
 | |
|      *
 | |
|      * @access public
 | |
|      */
 | |
|     public static function removeMagicQuotesFromRequest()
 | |
|     {
 | |
|         if (get_magic_quotes_gpc() === 1) {
 | |
|             $_POST = array_map('stripslashes', $_POST);
 | |
|             $_GET  = array_map('stripslashes', $_GET);
 | |
|         }
 | |
|     }
 | |
| }
 | |
| ?>
 |