Mam pewien skrypt generuje on losowo obrazki wszystko działa z tym że jest tam tylko możliwość podania linku do strony a ja chciałbym żeby po kliknięciu w nowym oknie wyświetlał się ten obrazek w Orginalnych rozmiarach.
mój plik php:
Kod
<?php
/**
* @version $Id: mod_random_image.php 2744 2006-03-11 18:15:33Z stingrey $
* @package Joomla
* @copyright Copyright © 2005 Open Source Matters. All rights reserved.
* @license [url="http://www.gnu.org/copyleft/gpl.html"]http://www.gnu.org/copyleft/gpl.html[/url] 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' );
global $mosConfig_absolute_path, $mosConfig_live_site;
$type = $params->get( 'type', 'jpg' );
$folder = $params->get( 'folder' );
$link = $params->get( 'link' );
$width = $params->get( 'width' );
$height = $params->get( 'height' );
$the_array = array();
$the_image = array();
// if folder includes livesite info, remove
if ( strpos($folder, $mosConfig_live_site) === 0 ) {
$folder = str_replace( $mosConfig_live_site, '', $folder );
}
// if folder includes absolute path, remove
if ( strpos($folder, $mosConfig_absolute_path) === 0 ) {
$folder= str_replace( $mosConfig_absolute_path, '', $folder );
}
// if folder doesnt contain slash to start, add
if ( strpos($folder, '/') !== 0 ) {
$folder = '/'. $folder;
}
// construct absolute path to directory
$abspath_folder = $mosConfig_absolute_path . $folder;
// check if directory exists
if (is_dir($abspath_folder)) {
if ($handle = opendir($abspath_folder)) {
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
$the_array[] = $file;
}
}
}
closedir($handle);
foreach ($the_array as $img) {
if (!is_dir($abspath_folder .'/'. $img)) {
if (eregi($type, $img)) {
$the_image[] = $img;
}
}
}
if (!$the_image) {
echo _NO_IMAGES;
} else {
$i = count($the_image);
$random = mt_rand(0, $i - 1);
$image_name = $the_image[$random];
$abspath_image = $abspath_folder . '/'. $image_name;
$size = getimagesize ($abspath_image);
if ($width == '') {
($size[0] > 100 ? $width = 100 : $width = $size[0]);
}
if ($height == '') {
$coeff = $size[0]/$size[1];
$height = (int) ($width/$coeff);
}
$image = $mosConfig_live_site . $folder .'/'. $image_name;
?>
<div align="center">
<center><br>
<a href="<?php echo $image_name; ?>" target="_blank">
<img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />
</a>
</center><br></div>
<?php
}
}
?>
/**
* @version $Id: mod_random_image.php 2744 2006-03-11 18:15:33Z stingrey $
* @package Joomla
* @copyright Copyright © 2005 Open Source Matters. All rights reserved.
* @license [url="http://www.gnu.org/copyleft/gpl.html"]http://www.gnu.org/copyleft/gpl.html[/url] 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' );
global $mosConfig_absolute_path, $mosConfig_live_site;
$type = $params->get( 'type', 'jpg' );
$folder = $params->get( 'folder' );
$link = $params->get( 'link' );
$width = $params->get( 'width' );
$height = $params->get( 'height' );
$the_array = array();
$the_image = array();
// if folder includes livesite info, remove
if ( strpos($folder, $mosConfig_live_site) === 0 ) {
$folder = str_replace( $mosConfig_live_site, '', $folder );
}
// if folder includes absolute path, remove
if ( strpos($folder, $mosConfig_absolute_path) === 0 ) {
$folder= str_replace( $mosConfig_absolute_path, '', $folder );
}
// if folder doesnt contain slash to start, add
if ( strpos($folder, '/') !== 0 ) {
$folder = '/'. $folder;
}
// construct absolute path to directory
$abspath_folder = $mosConfig_absolute_path . $folder;
// check if directory exists
if (is_dir($abspath_folder)) {
if ($handle = opendir($abspath_folder)) {
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..' && $file != 'CVS' && $file != 'index.html' ) {
$the_array[] = $file;
}
}
}
closedir($handle);
foreach ($the_array as $img) {
if (!is_dir($abspath_folder .'/'. $img)) {
if (eregi($type, $img)) {
$the_image[] = $img;
}
}
}
if (!$the_image) {
echo _NO_IMAGES;
} else {
$i = count($the_image);
$random = mt_rand(0, $i - 1);
$image_name = $the_image[$random];
$abspath_image = $abspath_folder . '/'. $image_name;
$size = getimagesize ($abspath_image);
if ($width == '') {
($size[0] > 100 ? $width = 100 : $width = $size[0]);
}
if ($height == '') {
$coeff = $size[0]/$size[1];
$height = (int) ($width/$coeff);
}
$image = $mosConfig_live_site . $folder .'/'. $image_name;
?>
<div align="center">
<center><br>
<a href="<?php echo $image_name; ?>" target="_blank">
<img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />
</a>
</center><br></div>
<?php
}
}
?>
Domyślam się że coś nie tak jest w sekcji
Kod
<a href="<?php echo $image_name; ?>" target="_blank">
Dodam jeszcze iż w oryginale końcówka wyglądała tak
Kod
<div align="center">
<center><br><?php
if ($link) {
?>
<a href="<?php echo $link; ?>" target="_blank">
<?php
}
?>
<img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />
<?php
if ($link) {
?>
</a>
<?php
}
?>
</center><br></div>
<center><br><?php
if ($link) {
?>
<a href="<?php echo $link; ?>" target="_blank">
<?php
}
?>
<img src="<?php echo $image; ?>" border="0" width="<?php echo $width; ?>" height="<?php echo $height; ?>" alt="<?php echo $image_name; ?>" /><br />
<?php
if ($link) {
?>
</a>
<?php
}
?>
</center><br></div>
I w tym oryginale obrazki odnosiły się do linku który podałem w administratorze.