TP-Docs
HTML5 Icon HTML5 Icon HTML5 Icon
TP on Social Media

Recent

Welcome to TinyPortal. Please login or sign up.

July 14, 2024, 05:52:31 PM

Login with username, password and session length
Members
Stats
  • Total Posts: 195,315
  • Total Topics: 21,231
  • Online today: 132
  • Online ever: 3,540 (September 03, 2022, 01:38:54 AM)
Users Online
  • Users: 1
  • Guests: 143
  • Total: 144
  • @rjen

Random Smilie Box

Started by Tee, December 10, 2005, 02:01:13 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Tee

Can someone help me set up a random smilie box that would show a new smilie each time the page is clicked.  I have 960 + in my default smilie directory.

Also, can we have a box for tiny portal that would show current posts here at Tiny Portal?

Thanks

jaxdoug
http://jaxdoug.com

IchBin

You can get an rss feed of recent posts from any SMF forum AFAIK. Just add this to the forum link.
index.php?action=.xml;type=rss
So for TinyPortal you could try this for a recent post/rss feed:
http://www.tinyportal.net/smf/index.php?action=.xml;type=rss

As for a random smilie box. I would do a google search for random image script. You'll find a script that you can add to your smilie directory. Then all you need to do is add a php block and include the script like so:
include('path/to/random.php');

Ray

Quote from: IchBinâââ,¬Å¾Ã,¢ on December 10, 2005, 04:56:16 AM
You can get an rss feed of recent posts from any SMF forum AFAIK. Just add this to the forum link.
index.php?action=.xml;type=rss
So for TinyPortal you could try this for a recent post/rss feed:
http://www.tinyportal.net/smf/index.php?action=.xml;type=rss


Ok that is nice -- works really great


[attachment deleted by admin]

jdougher

I created an rss feed box and used the URL above (replacing string as necessary), but no headlines show up in the box. Why is that?

IchBin


Tee

Hey IchBin can you check out my rss block and maybe tell me why one of the links is spilling outside the frame where I have the rss for tiny portal (My Favorite Forum Block on the Left side).

Thanks
Doug

IchBin

In your TPsettings for the block you chose not to use the title AND frame. I think maybe because you're not using the frame it's not being confined to a certain amount of space.

Tee

#7
Ichbin, I found a script and if you call it up, it word in the browser, but will not work in a php block when call by include

http://jaxdoug.com/smf/Smileys/default/rotator.php

maybe I am putting the wrong information in the php box, but it shows text for the graphic and not image.

Doug

Ray

#8
Im getting this error now a lot ogf them

http://www.rranderson.com/dvd/index.php?action=viewErrorLog;descÂÃ, 
8: Undefined index: HTTP_SERVER_VARS
File: D:\RRAnderson\DVD\Sources\TPortal.php
Line: 65


http://www.rranderson.com/dvd/index.php?type=rss;action=.xml 
8: Undefined index: HTTP_SERVER_VARS
File: D:\RRAnderson\DVD\Sources\TPortal.php
Line: 65

IchBin

Doug you try this:
include('http://jaxdoug.com/smf/Smileys/default/rotator.php');
or this:
include('Smileys/default/rotator.php');


Ray, are those errors a result of this random script?

Tee

This is what Im getting

look at box on right side of site

Doug

jdougher

Yes, that doesn't work either. The block remains empty. Where is the log?

Quote from: IchBinÃ,â,,¢ on December 10, 2005, 03:53:34 PM
You used this line?
http://www.tinyportal.net/smf/index.php?action=.xml;type=rss

You get any errors for this in your log?



Tee

Well I can't get my random smiley box to work here is the code for the script I am using for the 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( $extListstrtolower$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( $extListstrtolower$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 (100100)
    or die ("Cannot initialize new GD image stream");
$background_color imagecolorallocate ($im255255255);
$text_color imagecolorallocate ($im0,0,0);
imagestring ($im255,  "IMAGE ERROR"$text_color);
imagepng ($im);
imagedestroy($im);
}
}

?>



when I create a phpblock on TP and use include('http://jaxdoug.com/smf/Smileys/default/rotator.php'); it reads the image as a text instead of showing the image.  I have the rotator.php in the same directory as my default smileys.

Doug

Skhilled

Sorry, for bumping but shouldn't this below contain an actual url to your images?

   $folder = '.';

something like below or where your images are?

   $folder = 'jaxdoug/smf/Smileys/default';


Tee

The script writer says, that if you put the script in the same directory (Smileys/default) you can leave it blank. 

Thanks

Doug

Skhilled

I see, it seems like it's not finding the directory for some reason and that's why I asked. Of course, I'm no expert on this but it just puzzled me.

Tee


Skhilled

Now that's weird! Try adding the url and see what happens...

IchBin

I've tried a few different random scripts and haven't been able to get one to work yet.

Tee

Thanks, thought it was just me.

jaxdoug