TinyPortal

Development => Block Codes => Topic started by: Tee on December 10, 2005, 02:01:13 AM

Title: Random Smilie Box
Post by: Tee on December 10, 2005, 02:01:13 AM
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
Title: Re: Random Smilie Box
Post by: 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

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');
Title: Re: Random Smilie Box
Post by: Ray on December 10, 2005, 06:05:54 AM
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]
Title: Re: Random Smilie Box
Post by: jdougher on December 10, 2005, 03:37:42 PM
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?
Title: Re: Random Smilie Box
Post by: 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?
Title: Re: Random Smilie Box
Post by: Tee on December 10, 2005, 04:35:19 PM
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
Title: Re: Random Smilie Box
Post by: IchBin on December 10, 2005, 04:42:50 PM
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.
Title: Re: Random Smilie Box
Post by: Tee on December 10, 2005, 06:06:21 PM
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
Title: Re: Random Smilie Box
Post by: Ray on December 10, 2005, 06:15:38 PM
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
Title: Re: Random Smilie Box
Post by: IchBin on December 10, 2005, 06:57:30 PM
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?
Title: Re: Random Smilie Box
Post by: Tee on December 10, 2005, 07:20:30 PM
This is what Im getting

look at box on right side of site

Doug
Title: Re: Random Smilie Box
Post by: jdougher on December 10, 2005, 07:47:19 PM
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?
Title: Re: Random Smilie Box
Post by: bloc on December 10, 2005, 08:25:28 PM
Somehow on this site only http://www.tinyportal.net/smf/index.php?action=.xml works, but not http://www.tinyportal.net/smf/index.php?action=.xml;type=rss
Title: Re: Random Smilie Box
Post by: Ray on December 10, 2005, 09:45:30 PM
No from this ICH

http://www.tinyportal.net/smf/index.php?action=.xml;type=rss
Title: Re: Random Smilie Box
Post by: Tee on December 10, 2005, 09:58:04 PM
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
Title: Re: Random Smilie Box
Post by: Skhilled on December 11, 2005, 08:14:28 PM
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';

Title: Re: Random Smilie Box
Post by: Tee on December 11, 2005, 08:30:54 PM
The script writer says, that if you put the script in the same directory (Smileys/default) you can leave it blank. 

Thanks

Doug
Title: Re: Random Smilie Box
Post by: Skhilled on December 11, 2005, 08:59:17 PM
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.
Title: Re: Random Smilie Box
Post by: Tee on December 11, 2005, 09:16:18 PM
If you type it in a browser, http://jaxdoug.com/smf/Smileys/default/rotator.php  it works perfect.

Doug
Title: Re: Random Smilie Box
Post by: Skhilled on December 11, 2005, 09:22:26 PM
Now that's weird! Try adding the url and see what happens...
Title: Re: Random Smilie Box
Post by: IchBin on December 11, 2005, 10:35:43 PM
I've tried a few different random scripts and haven't been able to get one to work yet.
Title: Re: Random Smilie Box
Post by: Tee on December 11, 2005, 10:44:51 PM
Thanks, thought it was just me.

jaxdoug