One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
home
/
sam
/
public_html
/
web
/
mambots
/
content
/
View File Name :
mosimage.php
<?php /** * @version $Id: mosimage.php 5939 2006-12-06 12:43:29Z 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', 'botMosImage' ); /** */ function botMosImage( $published, &$row, &$params, $page=0 ) { global $database, $_MAMBOTS; // simple performance check to determine whether bot should process further if ( strpos( $row->text, 'mosimage' ) === false ) { return true; } // expression to search for $regex = '/{mosimage\s*.*?}/i'; // check whether mosimage has been disabled for page // check whether mambot has been unpublished if (!$published || !$params->get( 'image' )) { $row->text = preg_replace( $regex, '', $row->text ); return true; } //count how many {mosimage} are in introtext if it is set to hidden. $introCount=0; if ( ! $params->get( 'introtext' ) & ! $params->get( 'intro_only') ) { preg_match_all( $regex, $row->introtext, $matches ); $introCount = count ( $matches[0] ); } // find all instances of mambot and put in $matches preg_match_all( $regex, $row->text, $matches ); // Number of mambots $count = count( $matches[0] ); // mambot only processes if there are any instances of the mambot in the text if ( $count ) { // check if param query has previously been processed if ( !isset($_MAMBOTS->_content_mambot_params['mosimage']) ) { // load mambot params info $query = "SELECT params" . "\n FROM #__mambots" . "\n WHERE element = 'mosimage'" . "\n AND folder = 'content'" ; $database->setQuery( $query ); $database->loadObject($mambot); // save query to class variable $_MAMBOTS->_content_mambot_params['mosimage'] = $mambot; } // pull query data from class variable $mambot = $_MAMBOTS->_content_mambot_params['mosimage']; $botParams = new mosParameters( $mambot->params ); $botParams->def( 'padding' ); $botParams->def( 'margin' ); $botParams->def( 'link', 0 ); $images = processImages( $row, $botParams, $introCount ); // store some vars in globals to access from the replacer $GLOBALS['botMosImageCount'] = 0; $GLOBALS['botMosImageParams'] =& $botParams; $GLOBALS['botMosImageArray'] =& $images; //$GLOBALS['botMosImageArray'] =& $combine; // perform the replacement $row->text = preg_replace_callback( $regex, 'botMosImage_replacer', $row->text ); // clean up globals unset( $GLOBALS['botMosImageCount'] ); unset( $GLOBALS['botMosImageMask'] ); unset( $GLOBALS['botMosImageArray'] ); unset( $GLOBALS['botJosIntroCount'] ); return true; } } function processImages ( &$row, &$params, &$introCount ) { global $mosConfig_absolute_path, $mosConfig_live_site; $images = array(); // split on \n the images fields into an array $row->images = explode( "\n", $row->images ); $total = count( $row->images ); $start = $introCount; for ( $i = $start; $i < $total; $i++ ) { $img = trim( $row->images[$i] ); // split on pipe the attributes of the image if ( $img ) { $attrib = explode( '|', trim( $img ) ); // $attrib[0] image name and path from /images/stories // $attrib[1] alignment if ( !isset($attrib[1]) || !$attrib[1] ) { $attrib[1] = ''; } // $attrib[2] alt & title if ( !isset($attrib[2]) || !$attrib[2] ) { $attrib[2] = 'Image'; } else { $attrib[2] = htmlspecialchars( $attrib[2] ); } // $attrib[3] border if ( !isset($attrib[3]) || !$attrib[3] ) { $attrib[3] = 0; } // $attrib[4] caption if ( !isset($attrib[4]) || !$attrib[4] ) { $attrib[4] = ''; $border = $attrib[3]; } else { $border = 0; } // $attrib[5] caption position if ( !isset($attrib[5]) || !$attrib[5] ) { $attrib[5] = ''; } // $attrib[6] caption alignment if ( !isset($attrib[6]) || !$attrib[6] ) { $attrib[6] = ''; } // $attrib[7] width if ( !isset($attrib[7]) || !$attrib[7] ) { $attrib[7] = ''; $width = ''; } else { $width = ' width: '. $attrib[7] .'px;'; } // image size attibutes $size = ''; if ( function_exists( 'getimagesize' ) ) { $size = @getimagesize( $mosConfig_absolute_path .'/images/stories/'. $attrib[0] ); if (is_array( $size )) { $size = ' width="'. $size[0] .'" height="'. $size[1] .'"'; } } // assemble the <image> tag $image = '<img src="'. $mosConfig_live_site .'/images/stories/'. $attrib[0] .'"'. $size; // no aligment variable - if caption detected if ( !$attrib[4] ) { if ($attrib[1] == 'left' OR $attrib[1] == 'right') { $image .= ' style="float: '. $attrib[1] .';"'; } else { $image .= $attrib[1] ? ' align="middle"' : ''; } } $image .=' hspace="6" alt="'. $attrib[2] .'" title="'. $attrib[2] .'" border="'. $border .'" />'; // assemble caption - if caption detected $caption = ''; if ( $attrib[4] ) { $caption = '<div class="mosimage_caption"'; if ( $attrib[6] ) { $caption .= ' style="text-align: '. $attrib[6] .';"'; $caption .= ' align="'. $attrib[6] .'"'; } $caption .= '>'; $caption .= $attrib[4]; $caption .= '</div>'; } // final output if ( $attrib[4] ) { // initialize variables $margin = ''; $padding = ''; $float = ''; $border_width = ''; $style = ''; if ( $params->def( 'margin' ) ) { $margin = ' margin: '. $params->def( 'margin' ).'px;'; } if ( $params->def( 'padding' ) ) { $padding = ' padding: '. $params->def( 'padding' ).'px;'; } if ( $attrib[1] ) { $float = ' float: '. $attrib[1] .';'; } if ( $attrib[3] ) { $border_width = ' border-width: '. $attrib[3] .'px;'; } if ( $params->def( 'margin' ) || $params->def( 'padding' ) || $attrib[1] || $attrib[3] ) { $style = ' style="'. $border_width . $float . $margin . $padding . $width .'"'; } $img = '<div class="mosimage" '. $style .' align="center">'; // display caption in top position if ( $attrib[5] == 'top' && $caption ) { $img .= $caption; } $img .= $image; // display caption in bottom position if ( $attrib[5] == 'bottom' && $caption ) { $img .= $caption; } $img .='</div>'; } else { $img = $image; } $images[] = $img; } } return $images; } /** * Replaces the matched tags an image * @param array An array of matches (see preg_match_all) * @return string */ function botMosImage_replacer( &$matches ) { $i = $GLOBALS['botMosImageCount']++; return @$GLOBALS['botMosImageArray'][$i]; } ?>