Home Private Messages Search
CPG Dragonfly™ CMS Dedicated Server & Bandwidth Sponsored by DedicatedNOW
Toggle Content
 
Forums ⇒ DragonflyCMS ⇒ Themes ⇒ How do i create rotating images in my theme?


How do i create rotating images in my theme?
Announce themes that you have created, or ask questions about how to create/modify a theme in 9.x. Includes the Requests sub-forum.
Go to page 1, 2  Next
Post new topic    Reply to topic    Printer Friendly Page     Forum Index ⇒  Themes

View previous topic :: View next topic  
Author Message
t31os
Supporter
Supporter

Offline Offline
Joined: Sep 22, 2004
Posts: 2025
Location: Somewhere in the intertubes... lolz
PostPosted: Tue Aug 23, 2005 7:45 pm
Post subject: How do i create rotating images in my theme?

After reading quite a few threads on members asking how to create rotating random images in the header of their themes, i thought it was about time i created a thread to show how to do this. Personally i felt the existing methods popping up were somewhat over complicated and required too much time. So i found a simple method, using a simple PHP script, its free, just keep the copyright in place.

What does this script do?
This script will rotate images in a set folder, so your random images need to go in a dedicated folder - eg. ' /YOURTHEME/images/random/ '

Does the rotation of images require the use of javascript?
No, the image rotation is done using PHP.

So how do i use the PHP script?
Create a folder within your theme's image folder dedicated to where you will have your random images. Only your random images should reside here.

Now create a file called rotate.php and paste the following code into that file and save.
*(Please make sure all code and copyright is left as is)*
PHP:
<?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);
}
}

?>

Next add the images you wish to have randomly display into the folder you created.

Now open the file you wish to display the random images on
*this would be header.html if you were using a random image in your header*
.

Now where you'd normally display an image like

Code::
<img src="{THEME_PATH}/images/yourimage.gif" alt="" />
Example assumes images are stored in the main image directory for your theme.
Replace this with
Code::
<img src="{THEME_PATH}/images/random/rotate.php">
Example assumes the folder for random images is called random and stored in the theme's main image directory.

The above example used in the cpgnuke theme would point to
Quote::
http://www.yoursite.com/themes/cpgnuke/images/random/rotate.php

Enjoy!... Wink


t31os's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
XP / 2.0 / 5.1 / 5.2 / none
Back to top
View user's profile Visit poster's website
ScotC
Nice poster
Nice poster

Offline Offline
Joined: Aug 25, 2004
Posts: 58
Location: Itasca, IL USA
PostPosted: Mon Aug 29, 2005 2:14 pm
Post subject: Re: How do i create rotating images in my theme?

The only thing that might be confusing people is the different between a random image IN a header and a random header. One is a single file which you have posted a great script for people to check out. This other solution deals with a header such as in Hardwired, Pitchers Themes , and other that require a specific SET of images to be pulled randomly. I think the flurry that recently came up was the multiple image type. In my case there is a headers directory similar to your random script except instead of a bunch of files to choose from there are a bunch of directories to choose from. Within each of those directories are the expected header files that must be pulled together (7 images in the hardwired theme) If you randomized all of the image pulled your header would look like some piece of modern art with the seven images being pulled from different headers.
All this is so that you might make some kind of distinction between the 2 types of randomizing that has been tackled in the last month or so. I think with the quality themes and particularly your headers you could doo some really cool stuff. Even if you used just 2 or 3 different headers in a Counterstrike theme you could have one with a Terrorist emphasis, one with an good guys emphasis(their name escapes me at the moment) and maybe one with both side diplayed equally


ScotC's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Linux/Apache 1.3.33/MySQL 4.0.22/PHP 4.3.9/CPGNUKE CVS
Back to top
View user's profile Visit poster's website Photo Gallery
MrPotatoes
Dragonfly addicted
Dragonfly addicted

Offline Offline
Joined: Apr 23, 2005
Posts: 403
Location: Florida
PostPosted: Wed Aug 31, 2005 3:49 am
Post subject: Re: How do i create rotating images in my theme?

if you make your header one image it should work just fine Smile

_________________
i'm just that sweet

MrPotatoes's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Windows XP | P4HT 3.4| 1.5GB RAM | 256 Vid Card PCIX | Apache2.0.52 | MySQL 1.4.8 | PHP 4.3.10 | 9.03
Back to top
View user's profile Visit poster's website
ScotC
Nice poster
Nice poster

Offline Offline
Joined: Aug 25, 2004
Posts: 58
Location: Itasca, IL USA
PostPosted: Thu Sep 01, 2005 8:11 pm
Post subject: Re: How do i create rotating images in my theme?

I'm not saying that my way is the best way. I'm just making the distinction between randomizing a single image within a header and randomizing the entire header(multiple images of a set). I think there are great uses for both. I just lean towards the random header over a single graphic within the header.


ScotC's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Linux/Apache 1.3.33/MySQL 4.0.22/PHP 4.3.9/CPGNUKE CVS
Back to top
View user's profile Visit poster's website Photo Gallery
Corduroy
Newbie
Newbie

Offline Offline
Joined: Apr 21, 2004
Posts: 2
Location: Chile
PostPosted: Tue Sep 27, 2005 1:57 am
Post subject: Re: How do i create rotating images in my theme?

Can't help but ... THANKS. You made my day (easier).


Corduroy's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Linux 2.4.20-28.9/1.3.29/4.018/4.3.3
Back to top
View user's profile Visit poster's website
portrower8
Nice poster
Nice poster

Offline Offline
Joined: Feb 01, 2005
Posts: 123

PostPosted: Sat Oct 15, 2005 5:35 pm
Post subject: Re: How do i create rotating images in my theme?

I would like my header to be different every time someone visits our webpage. Problem is, the header has different images in it. And I cannot make it one image because menu buttons are a part of the header.

So, is there a way to do that? Have a rotating header based on multiple images?

Thanks!
Justin


portrower8 please enter your server specs in your user profile! Crying or Very sad
Back to top
View user's profile Visit poster's website Photo Gallery
t31os
Supporter
Supporter

Offline Offline
Joined: Sep 22, 2004
Posts: 2025
Location: Somewhere in the intertubes... lolz
PostPosted: Sat Oct 15, 2005 6:08 pm
Post subject: Re: How do i create rotating images in my theme?

There's a solution to that already elsewhere in this forum, the above version is a slim version used to rotate one image.


t31os's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
XP / 2.0 / 5.1 / 5.2 / none
Back to top
View user's profile Visit poster's website
grimesy
Newbie
Newbie

Offline Offline
Joined: Sep 23, 2005
Posts: 18

PostPosted: Mon Oct 17, 2005 2:45 pm
Post subject: Re: How do i create rotating images in my theme?

so could this be changed to a random sound? so like when some one visits your website it will play a sound, and when they re-visit the homepage it will play another sound?


grimesy's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
dragonfly
Back to top
View user's profile Visit poster's website
urshadowarrior
Newbie
Newbie

Offline Offline
Joined: Aug 30, 2005
Posts: 15

PostPosted: Tue Nov 29, 2005 12:46 am
Post subject: Re: How do i create rotating images in my theme?

how about if you have a swf file? how can you get it to work?


urshadowarrior's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
CPGNuke 8.2C
Back to top
View user's profile Visit poster's website
Magistus
Newbie
Newbie

Offline Offline
Joined: Sep 08, 2006
Posts: 1

PostPosted: Sun Sep 10, 2006 4:33 am
Post subject: Re: How do i create rotating images in my theme?

I followed all the steps and the image fails to display, I get the red X box and when I check the img properties it is still saying rotate.php! Help!


Magistus's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
No idea
Back to top
View user's profile Visit poster's website
djdevon3
Gold Supporter
Gold Supporter

Offline Offline
Joined: Aug 05, 2004
Posts: 4363

PostPosted: Tue Jun 05, 2007 4:26 pm
Post subject: Re: How do i create rotating images in my theme?

I haven't actually tried the code t31os posted but if it works then it is much more diverse than what I'm going to post.

I've archived t31os script here:
www.treasurecoastdesig...&p=377#377

And the one Kristin did for xsport which is much easier to manage but only does images. Good for random header images. Kristin's code is much smaller and simple to work with. I recommend this method to those daunted by t31os's code:
www.treasurecoastdesig...=1226#1226


djdevon3's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Linux/1.3.33/4.4/4.3.11
Back to top
View user's profile Visit poster's website Photo Gallery
shooh
Newbie
Newbie

Offline Offline
Joined: Jan 25, 2007
Posts: 42

PostPosted: Wed Jul 25, 2007 2:09 am
Post subject: Re: How do i create rotating images in my theme?

@djdevon3: thank you for the link, it was really helpful. with the help of script given in the link, i added random text as well.


shooh's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Linux/1.3.37/5.0.27/5.2.1/9.2.1
Back to top
View user's profile Visit poster's website
Savis
Newbie
Newbie

Offline Offline
Joined: Nov 05, 2007
Posts: 7

PostPosted: Fri Mar 14, 2008 2:48 pm
Post subject: Using random topic images for new Posts - How to set it up?

I honestly do not know where to post this so if this is in the wrong place I apologize...

What I would like to accomplish is this…

On my webpage I would like to make it so that the topic image that it uses for new posts are random…


I have a list of 20 or so images that I would like to use….

Now I understand that “Random” selection is scientifically impossible. (with out human reason)


Savis


Savis's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
CentOS 5, Apache 1.3.39, MySQL 4.1.21, PHP 5.2.5, Dragonfly CMS 9.2.2.1
Back to top
View user's profile Visit poster's website
petrakid
Newbie
Newbie

Offline Offline
Joined: Jul 09, 2007
Posts: 21

PostPosted: Mon Mar 17, 2008 4:43 pm
Post subject: Re: Using random topic images for new Posts - How to set it up?

Wow, I'm just now wondering the same thing - can we randomize topic images when news items appear in the homepage?


petrakid's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
Linux 2.6.23.13-grsec-sg1/Apache 1.3.37 (Unix)/MySQL 5.0.45-community-log/DF 9.2.1
Back to top
View user's profile Visit poster's website
ejoj
Newbie
Newbie

Offline Offline
Joined: Sep 21, 2007
Posts: 6

PostPosted: Tue Mar 18, 2008 5:04 pm
Post subject: Re: How do i create rotating images in my theme?

I get an error Running this script. On my local testsite it works ok, but when i uppload it to the productionsite it only shows the alt tag...
Anyone else got this problem and know a solution for it?


ejoj's server specs (Server OS / Apache / MySQL / PHP / DragonflyCMS)
SunOS-5.10-i86pc/2.2.8/4.1.22/4.4.4/9.2.1
Back to top
View user's profile
Display posts from previous:   
Post new topic    Reply to topic    Printer Friendly Page    Forum Index ⇒  Themes
Page 1 of 2
All times are GMT
Go to page 1, 2  Next



Jump to:  


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum


 
   Toggle Content User Info

Welcome Anonymous

Nickname
Password
(Register)

   Toggle Content Last CVS commits
· Fixed .ico Expires header.
· Removed domain name from cookies so subdomains wont access them anymore.
· CSS and JS, case insensitives.
· CSS and JS, send correct HTTP 1.1 headers and fixed issues where themes and...
· Further security class improvements.
· 301 redirects on LEO changes
· Option to force 3xx http status codes
· Validate googlebot.com and google.com crawlers.
· CCBot
· Rss with etag and atom.

閱讀詳細內容...

   Toggle Content Community

Support for DragonflyCMS in a other languages:

Deutsch
Español

   Toggle Content X-links
UltraEdit Browse Happy logo Firefox MySQL PostgreSQL Valid CSS! Valid XHTML 1.0! Unicode Encoded Badge NukeBiz Resources Raven DragonflyCMS Dedicated Now InsideSupport Lampe Berger

You are seeing squares or questionmarks on this page?

All content of this website is copyrighted by the Creative Commons NC-SA
The logos and trademarks used on this site are the property of their respective owners
We are not responsible for comments posted by our users, as they are the property of the poster.
Our server runs on a P3 1.2GHz with 512MB RAM with no accelerators
Support GoPHP5.org
Interactive software released under GNU GPL, Code Credits, Privacy Policy