Pagina 1 di 1

[modificare] il file per far ruotere l'header

Inviato: 19/02/2010, 10:57
da Gelmo
modificare il seguente file per far ruotare l'immagin presente nell'header.. è si trova nella cartella style/mio stile/template/header/rotator.php

Codice: Seleziona tutto

<?php

/*

	AUTOMATIC IMAGE ROTATOR
	Version 2.2 - December 4, 2003
	Copyright (c) 2002-2003 Dan P. Benjamin, Automatic, Ltd.
	All Rights Reserved.

	http://www.hiveware.com/imagerotator.php
	
	http://www.automaticlabs.com/
	
	
	DISCLAIMER
	Automatic, Ltd. makes no representations or warranties about
	the suitability of the software, either express or
	implied, including but not limited to the implied
	warranties of merchantability, fitness for a particular
	purpose, or non-infringement. Dan P. Benjamin and Automatic, Ltd.
	shall not be liable for any damages suffered by licensee
	as a result of using, modifying or distributing this
	software or its derivatives.
	
	
	ABOUT
	This PHP script will randomly select an image file from a
	folder of images on your webserver.  You can then link to it
	as you would any standard image file and you'll see a random
	image each time you reload.
	
	When you want to add or remove images from the rotation-pool,
	just add or remove them from the image rotation folder.


	VERSION CHANGES
	Version 1.0
		- Release version
	
	Version 1.5
		- Tweaked a few boring bugs
	
	Version 2.0
		- Complete rewrite from the ground-up
		- Made it clearer where to make modifications
		- Made it easier to specify/change the rotation-folder
		- Made it easier to specify/change supported image types
		- Wrote better instructions and info (you're them reading now)
		- Significant speed improvements
		- More error checking
		- Cleaner code (albeit more PHP-specific)
		- Better/faster random number generation and file-type parsing
		- Added a feature where the image to display can be specified
		- Added a cool feature where, if an error occurs (such as no
		  images being found in the specified folder) *and* you're
		  lucky enough to have the GD libraries compiled into PHP on
		  your webserver, we generate a replacement "error image" on
		  the fly.
		
    Version 2.1
        - Updated a potential security flaw when value-matching
          filenames

    Version 2.2
        - Updated a few more potential security issues
        - Optimized the code a bit.
        - Expanded the doc for adding new mime/image types.

        Thanks to faithful ALA reader Justin Greer for
        lots of good tips and solid code contribution!


	INSTRUCTIONS
	1. Modify the $folder setting in the configuration section below.
	2. Add image types if needed (most users can ignore that part).
	3. Upload this file (rotate.php) to your webserver.  I recommend
	   uploading it to the same folder as your images.
	4. Link to the file as you would any normal image file, like this:

			<img src="http://example.com/rotate.php">

	5. You can also specify the image to display like this:

			<img src="http://example.com/rotate.php?img=gorilla.jpg">
		
		This would specify that an image named "gorilla.jpg" located
		in the image-rotation folder should be displayed.
	
	That's it, you're done.

*/




/* ------------------------- CONFIGURATION -----------------------


	Set $folder to the full path to the location of your images.
	For example: $folder = '/user/me/example.com/images/';
	If the rotate.php file will be in the same folder as your
	images then you should leave it set to $folder = '.';

*/


	$folder = '.';


/*	

	Most users can safely ignore this part.  If you're a programmer,
	keep reading, if not, you're done.  Go get some coffee.

    If you'd like to enable additional image types other than
	gif, jpg, and png, add a duplicate line to the section below
	for the new image type.
	
	Add the new file-type, single-quoted, inside brackets.
	
	Add the mime-type to be sent to the browser, also single-quoted,
	after the equal sign.
	
	For example:
	
	PDF Files:

		$extList['pdf'] = 'application/pdf';
	
    CSS Files:

        $extList['css'] = 'text/css';

    You can even serve up random HTML files:

	    $extList['html'] = 'text/html';
	    $extList['htm'] = 'text/html';

    Just be sure your mime-type definition is correct!

*/

    $extList = array();
	$extList['gif'] = 'image/gif';
	$extList['jpg'] = 'image/jpeg';
	$extList['jpeg'] = 'image/jpeg';
	$extList['png'] = 'image/png';
	

// You don't need to edit anything after this point.


// --------------------- END CONFIGURATION -----------------------

$img = null;

if (substr($folder,-1) != '/') {
	$folder = $folder.'/';
}

if (isset($_GET['img'])) {
	$imageInfo = pathinfo($_GET['img']);
	if (
	    isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
        file_exists( $folder.$imageInfo['basename'] )
    ) {
		$img = $folder.$imageInfo['basename'];
	}
} else {
	$fileList = array();
	$handle = opendir($folder);
	while ( false !== ( $file = readdir($handle) ) ) {
		$file_info = pathinfo($file);
		if (
		    isset( $extList[ strtolower( $file_info['extension'] ) ] )
		) {
			$fileList[] = $file;
		}
	}
	closedir($handle);

	if (count($fileList) > 0) {
		$imageNumber = time() % count($fileList);
		$img = $folder.$fileList[$imageNumber];
	}
}

if ($img!=null) {
	$imageInfo = pathinfo($img);
	$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
	header ($contentType);
	readfile($img);
} else {
	if ( function_exists('imagecreate') ) {
		header ("Content-type: image/png");
		$im = @imagecreate (100, 100)
		    or die ("Cannot initialize new GD image stream");
		$background_color = imagecolorallocate ($im, 255, 255, 255);
		$text_color = imagecolorallocate ($im, 0,0,0);
		imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
		imagepng ($im);
		imagedestroy($im);
	}
}

?>

ma un utente e membro del mio staff mi ha fatto venire in mente che sarebbe bello avere un header presonalizzato per tipo di forum..
cioè visualizzare un header diverso in base al forum che si va a visitare..
io dispongo di questo codice ( presente di defoult) nel portale.. pero mi stavo chiedendo se era possibile cambiare questo codice inmodo che si carichi un determinato header in base all asezione che vi va a guardare!

Re: [modificare] il file per far ruotere l'header

Inviato: 19/02/2010, 14:28
da Carlo
Prima di tutto scrivi correttamente, ovvero se io non leggessi il titolo, ma solo questo non capirei. Correggi pertanto.
il file è questo.. è si trova nella cartella style/mio stile/template/header/rotator.php
Per questo chi cerca con Google avrà meno possibilità di trovare questo topic.


Comunque dovresti dirmi (o meglio, farmi vedere) come viene richiamato tale file nel template.

Re: [modificare] il file per far ruotere l'header

Inviato: 19/02/2010, 17:38
da Gelmo
consigli su come modificare il topic?? non riesco a capire ??


il file viene richiamato nel file coffee_time/teme/colours.css

cosi.

Codice: Seleziona tutto

#site-description {
   background: url("{T_THEME_PATH}/headers/rotate.php");
   background-repeat: no-repeat;
}

Re: [modificare] il file per far ruotere l'header

Inviato: 19/02/2010, 17:48
da Carlo
Ehm... ma così non c'è modo di far sapere al file rotator.php il forum cui si stà visitando, poichè lo stilesheet non viene caricato insieme alla pagina che si stà visitando.
Gelmo ha scritto:consigli su come modificare il topic?? non riesco a capire ??
Provvedo io.

Re: [modificare] il file per far ruotere l'header

Inviato: 19/02/2010, 20:31
da Gelmo
ti spiego quello che mi è venuto in mente a me..

il mio sito tratta di sharing .. e quindi io pensavo di fare una cosa del genere.. nell'index di visualizza il loko che nel mio caso è grande 1000x198 con all'interno immagini di personaggi di telefilm e anime e film
nelle varie sezioni si possesse far vedere solo i pesonaggi dei film nella sezione film o nella sezione anime i pg degli anime e cosi via!

spero di essermi spiegato... se non si può modificare il file rotato sono aperto a nuove idee!

Re: [modificare] il file per far ruotere l'header

Inviato: 19/02/2010, 20:48
da Carlo
Allora, nel template overall_header.html, trova:

Codice: Seleziona tutto

<div id="site-description">
e sostituiscilo con:

Codice: Seleziona tutto

<div id="site-description" style="background: url('{T_THEME_PATH}/headers/rotate.php<!-- IF FORUM_ID -->?img=f{FORUM_ID}.png<!-- ENDIF -->'); background-repeat: no-repeat;">
Con questa modifica, se l'utente è in una sezione, userà come immagine f1.png (dove 1 è l'ID del forum in cui si trova).

----------

Ovviamente poi devi eliminare questa parte nel CSS:

Codice: Seleziona tutto

#site-description {
   background: url("{T_THEME_PATH}/headers/rotate.php");
   background-repeat: no-repeat;
}

Re: [modificare] il file per far ruotere l'header

Inviato: 20/02/2010, 12:36
da Gelmo
ok quindi se io volessi far vedere una immagine sola e sola quella nell'indice e nel portale e poi tutte immagine diverse in base all'id del forum..?

dovrei fare cosi?

Codice: Seleziona tutto

<div id="site-description" style="background: url('{T_THEME_PATH}/headers/site_logo.jpg
<!-- IF FORUM_1 -->?img=f1.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_2 -->?img=f2.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_3 -->?img=f3.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_4 -->?img=f4.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_5 -->?img=f5.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_6 -->?img=f6.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_7 -->?img=f7.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_8 -->?img=f8.png<!-- ENDIF -->'); background-repeat: no-repeat;">
<!-- IF FORUM_9 -->?img=f9.png<!-- ENDIF -->'); background-repeat: no-repeat;">
immagino sia sbagliato..

Re: [modificare] il file per far ruotere l'header

Inviato: 20/02/2010, 14:13
da Carlo
E' sbagliata la condizione e il backround, perchè così come lo hai scritto tu si ripete. Dovrebbe essere così:

Codice: Seleziona tutto

<div id="site-description" style="background: url('{T_THEME_PATH}/headers/rotate.php<!-- IF FORUM_ID == 1 -->?img=f1.png<!-- ENDIF --><!-- IF FORUM_ID == 2 -->?img=f2.png<!-- ENDIF --><!-- IF FORUM_ID == 3 -->?img=f3.png<!-- ENDIF -->'); background-repeat: no-repeat;">

Re: [modificare] il file per far ruotere l'header

Inviato: 20/02/2010, 15:36
da Gelmo
ok! granzie dopo la provo!!