vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Design and Graphics Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=253)
-   -   Need my forum background picture to change on refresh (https://vborg.vbsupport.ru/showthread.php?t=267742)

GodzKiller 07-31-2011 09:46 PM

Need my forum background picture to change on refresh
 
Hey I am wanting to use this theme: https://vborg.vbsupport.ru/showthread.php?t=259252

But with my own background pictures. How do I make it change between pictures every time a new page is opened or the page is refreshed?

EDIT: Also how do i make it so when you scroll down and up the picture scroll with you.

setishock 07-31-2011 11:26 PM

I'll have to assume you used the stylevar for the background and parked your image there. On the right of the right hand ) put a space and add the word fixed. Save. That pins the image down and lets the forum scroll over it.
This code is a rotator I found out on the net several years ago and it works just fine.
Code:

<?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);
        }
}

?>

Save as rotate.php. You don't need to change any of the settings in that file either. Works great as is.

Make a folder and drop your images in it along with that file. Remember the path to the folder. Go to the stylevar background you are going to use and put the url in in this format > url(path/to/your/folder/rotate.php) fixed
Now when you jump from page to page, click the logo, or refresh the browser, the rotator will randomly pick an image and show it. Check out the forum sidebar at my place to see it in action. www.animeappeal.com

GodzKiller 08-01-2011 12:03 AM

Quote:

Originally Posted by setishock (Post 2227432)
I'll have to assume you used the stylevar for the background and parked your image there. On the right of the right hand ) put a space and add the word fixed. Save. That pins the image down and lets the forum scroll over it.
This code is a rotator I found out on the net several years ago and it works just fine.
Code:

<?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);
        }
}

?>

Save as rotate.php. You don't need to change any of the settings in that file either. Works great as is.

Make a folder and drop your images in it along with that file. Remember the path to the folder. Go to the stylevar background you are going to use and put the url in in this format > url(path/to/your/folder/rotate.php) fixed
Now when you jump from page to page, click the logo, or refresh the browser, the rotator will randomly pick an image and show it. Check out the forum sidebar at my place to see it in action. www.animeappeal.com

Ok i tried that code and another code but both made my background just plain white.

My site is: http://www.epicgamers.org/

http://img543.imageshack.us/img543/5671/stylevar.png

setishock 08-01-2011 02:27 AM

Hmmm
Take out the scroll center top for now. Is the url complete? I only see part of it.

GodzKiller 08-01-2011 11:08 AM

Quote:

Originally Posted by setishock (Post 2227492)
Hmmm
Take out the scroll center top for now. Is the url complete? I only see part of it.

I removed the "scroll center top" and it didn't do anything.

The full url is "url(/images/bf3/BF3 Backgrounds/rotate.php) fixed"

"bf3" is the theme folder, where all the files for the theme are.

"BF3 Backgrounds" is a folder I made inside the theme folder and I put all my background images in there including the rotate.php.

The images are .jpg but one is .png is that why it might not work?



EDIT: I tried making it "url(/images/bf3/BF3 Backgrounds/Crysis.jpeg) fixed". So it would link straight to an image. Even that didn't work. What has gone wrong?

NTMID8 08-01-2011 11:29 AM

Quote:

Originally Posted by GodzKiller (Post 2227595)
I removed the "scroll center top" and it didn't do anything.

The full url is "url(/images/bf3/BF3 Backgrounds/rotate.php) fixed"

"bf3" is the theme folder, where all the files for the theme are.

"BF3 Backgrounds" is a folder I made inside the theme folder and I put all my background images in there including the rotate.php.

The images are .jpeg but one is .png is that why it might not work?



EDIT: I tried making it "url(/images/bf3/BF3 Backgrounds/Crysis.jpeg) fixed". So it would link straight to an image. Even that didn't work. What has gone wrong?

Change your folder name to something more simple like "rotate" or just "backgrounds"... I have not gotten this code back in place since we upgraded to v4.1.x but had some issues on v3.8.2 until I got rid of spaces in the path name.

GodzKiller 08-01-2011 11:52 AM

Quote:

Originally Posted by NTMID8 (Post 2227599)
Change your folder name to something more simple like "rotate" or just "backgrounds"... I have not gotten this code back in place since we upgraded to v4.1.x but had some issues on v3.8.2 until I got rid of spaces in the path name.

Thank you so much. It changes the images now.

But when I add "fixed" at the end with a space it makes the images disappear again. Is that the only way to make the picture move whilst you scroll?


EDIT: I found out how to fix it. I had to put "fixed" in "Background Image Vertically Offset" field, and not after the url.

Problems solved thanks guys


All times are GMT. The time now is 01:18 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01084 seconds
  • Memory Usage 1,810KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code_printable
  • (4)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete