vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   How to use random logos? (https://vborg.vbsupport.ru/showthread.php?t=264169)

simadoura7 05-25-2011 06:19 AM

How to use random logos?
 
I have a forum and i want to use 5-6 logos and when refresh or change page automatictly change and the logo.
please let me know if there is an option or a mod.
I use v.4.1.3 Forum

setishock 05-25-2011 08:49 AM

Take this
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 it as rotate.php. You can use it at the default settings. Then drop the file in the folder with your logo images.
Next in stylevar titleimage put the path TO the images but end the path with rotate.php.
Now every time you refresh your browser or jump to another page the php file will pull up an image from the folder it's in and display it.
Hope that helps. The file I posted is in the public domain. I use it to rotate images in my widgets and sidebar blocks.

stl7997 05-26-2011 09:23 AM

<a href="https://vborg.vbsupport.ru/showthread.php?t=228130" target="_blank">https://vborg.vbsupport.ru/showthread.php?t=228130</a>

I've used this for a year now and it's worked great.

setishock 05-27-2011 05:02 AM

It's the same file.


All times are GMT. The time now is 11:50 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.03565 seconds
  • Memory Usage 1,747KB
  • 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
  • (1)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (4)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