Discover Habbo's history
Treat yourself with a Secret Santa gift.... of a random Wiki page for you to start exploring Habbo's history!
Happy holidays!
Celebrate with us at Habbox on the hotel, on our Forum and right here!
Join Habbox!
One of us! One of us! Click here to see the roles you could take as part of the Habbox community!


Results 1 to 6 of 6
  1. #1
    Join Date
    May 2005
    Location
    /etc/passwd
    Posts
    19,110
    Tokens
    1,139

    Latest Awards:

    Default How do i make a Recently Played Sig?

    How do i make a recently played sig without using Last.fm i have seen that some people use http://sambro75.freecoolsite.com/ wich some one probably set up for them. I would like to know how to do this aswell. So i dont have to use Last.fm.

    I post this here because it involves XML and stuff but i dont know how.

    Any Help??

    Will +REP!!

    Thanks
    :.:Numark:.:
    Quote Originally Posted by Chippiewill View Post
    e-rebel forum moderator
    :8

  2. #2
    Join Date
    Mar 2006
    Location
    C:\\Program Files
    Posts
    2,592
    Tokens
    0

    Latest Awards:

    Default

    Hey,
    Well, To get mine i did.
    Sign up at www.last.fm make a account on there
    And then i PM'd Redstcraous(sorry i dont know spelling but he goes alot in the 'Music' Forum) and he designed me a sig and then coded it and uploaded for me and i just added it to my sig.
    So basically
    Get in touch with him =]
    Thanks alot and hope it helps


  3. #3
    Join Date
    Feb 2006
    Location
    Ontario Canada
    Posts
    4,587
    Tokens
    0

    Latest Awards:

    Default

    doesnt it cost to get the last songs played into a custom image?

    lol found this:
    <?php
    /* ScrobblerSig 2.1 by Timothy Humphrey (Humpty), http://timothyhumphrey.name/scrobblersig
    *
    * Contributors
    *
    * electrichamster - The original creator of ScrobblerSig
    * russ
    */

    /* ---------- Main User Config ---------- */

    /*
    * The options that are listed below may be specified in the url if the allowParameters option is
    * true. To do so first append a question mark ? to the end of the url. Next, specify the option
    * name followed by an equal sign = and then the value; for example, option=value. Multiple options
    * are specified by separating them with an ampersand &; for example, option1=value1&option2=value2.
    * Enter %26 to specify an ampersand & character in the url, %3D for an equal = sign.
    *
    * The username option is an exception and is always allowed to be specified in the url, but whether
    * or not it is actually used depends on other options.
    *
    * All parameters may be specified by their regular name or by a short form; the short form that can
    * be used is specified in parenthesis at the beginning of the parameter's description. The general
    * naming convention for the short name is to use the first letter of each word comprising the name.
    * Be aware of conflicts though, such as backgroundColor (bc) and borderColor (bdc). Whether the
    * full or short name is used specify the parameter name in lowercase.
    *
    * Examples
    *
    * scrobblersig.php
    * scrobblersig.php?fontsize=24
    * scrobblersig.php?labelcolor=aa0000&trackcolor=a9b2 00
    * scrobblersig.php?fs=24
    * scrobblersig.php?lc=aa0000&tc=a9b200
    */
    //(u) Audioscrobbler username, see the allowAnyUser and allowWhitelistedUser options for info about
    //using this option in the url.
    $username = "slstratocaster";

    /*
    * All of the "-label" options below can display the time the track is played by specifying time
    * variables:
    * - <date> Outputs the date according to the dateFormat option
    * - <time> Outputs the time according to the timeFormat option
    * - <zone> Outputs the timezone according to the timeZoneOffset and timeZoneLabel options. The
    * timeZoneLabel is output instead of the timeZoneOffset if it is present.
    *
    * Example
    *
    * "This song was played at <time> <zone> on <date>"
    */
    //number of tracks
    $numberOfTracks = 10;
    //(cpl) Text to display if track is currently playing
    $currentlyPlayingLabel = "Currently playing:";

    //(lpl) Text to display if track isn't currently playing
    $lastPlayedLabel = "Last song played:";

    //(el1 and el2) Text to display if the song parse failed
    $errorLabel1 = "Error:";
    $errorLabel2 = "Unable to parse song title from audioscrobbler.com";

    /*
    * Time formats, see http://www.php.net/date for details about the dateFormat and timeFormat
    */
    //(df) Format used to replace the <date> pattern
    $dateFormat = "D, M j, Y";

    //(tf) Format used to replace the <time> pattern
    $timeFormat = "g:i A";

    //(tzo) Time between your time zone and GMT in [-]hour[:minute] format; that is the beginning minus
    //sign is optional and so are the minutes, if minutes are included separate from hours with a colon.
    //This is also used to replace the <zone> pattern if the timeZoneLabel option isn't specified.
    $timeZoneOffset = "-5";

    //(tzl) Replaces the <zone> pattern
    $timeZoneLabel = "EST";

    /*
    * Formatting options. The various "-color" options specify colors using the RRGGBB format, where
    * RR represents the hexadecimal numerical amount of red, GG the amount of green, and BB the amount
    * of blue; for example FF0000 is red, A9B200 is a dull golden color.
    */
    //(f) The filename of the truetype font to use. Native PHP font searching rules are used:
    // - If the .ttf extension is not specified it is appended.
    // - Most systems will search in the same directory as the script for the font and if it can't be
    // found search system font directories, this allows you to use any font on the system as well as
    // custom fonts.
    $font = "slkscr.ttf";

    //(fs) The size of the font in points
    $fontSize = 6;

    //(fc) The foreground color; the labelColor and trackColor parameters override this if set.
    $foregroundColor = "000000";

    //(lc) The color of the track label, the first line of text
    $labelColor = 000000;

    //(tc) The color of the track text, the second line of text
    $trackColor = 000000;

    //(a) Whether antialiasing should be applied to the text; specify 1 for true and 0 for false in the
    //url. If set to true you should set the backgroundColor to match the background of the page the
    //image will appear on for best results.
    $antialias = false;

    //(ha) Horizontal alignment of the text, can be "left" or "right"
    $horizontalAlign = "left";

    //(b) Whether or not a border is drawn around the image; specify 1 for true and 0 for false in the
    //url.
    $border = false;

    //(bdc) The color of the image border, see the border option
    $borderColor = "000000";

    //(p) The padding to appear on the sides of the image; the horizontalPadding and verticalPadding
    //parameters override this if set.
    $padding = 0;

    //(hp) The padding to appear on the left and right side of the image
    $horizontalPadding = 27;

    //(vp) The padding to appear on the top and bottom of the image
    $verticalPadding = 40;

    //(bc) The background color
    $backgroundColor = "000000";

    //(bi) Background image to use; may be GIF, PNG, or JPEG format
    $backgroundImage = "blurlistening1.png";

    //(bt) Whether the backgroundColor appears; specify 1 for true and 0 for false in the url.
    $backgroundTransparent = false;

    //(it) The image format, may be "png" or "jpg"
    $imageType = "png";

    //(mw) The maximum width of the image, 0 means unrestricted; ignored if a backgroundImage is used.
    $maxWidth = 0;

    //(mh) The maximum height of the image, 0 means unrestricted; ignored if a backgroundImage is used.
    $maxHeight = 0;


    /*
    * The following options may NOT be specified in the url
    */
    //Whether or not parameters specified in the url are used; setting this to false will result in
    //fewer variations of images being cached on the server.
    $allowParameters = true;

    //Whether or not any username can be specified for the username option in the url; this takes
    //precedence over the allowWhitelistedUser option.
    $allowAnyUser = false;

    //Whether or not whitelisted users can be specified for the username option in the url, see the
    //whitelistedUserFilename option.
    $allowWhitelistedUser = true;

    //The filename of a list of usernames, one on each line, that are allowed to be specified for the
    //username option; also see the allowWhitelistedUser option.
    $whitelistedUserFilename = "scrobblersig-whitelist.txt";

    //Whether or not the browser's cache should be used to help minimize bandwidth usage
    $useBrowserCache = true;

    //Number of seconds information is cached from Audioscrobbler
    $cacheDuration = 160;

    //Number of seconds to wait for a response from the Audioscrobbler server
    $timeout = 10;



    /* ---------- Main code, do not edit past this point ---------- */

    //error_reporting(E_ERROR | E_WARNING);

    function GetParameter($name, $altName, &$value, $bypassExtensionCheck = false) {
    //Get parameter while checking for disguising file extension
    if(isset($_GET[$name]) || isset($_GET[$altName])) {
    $name = isset($_GET[$name]) ? $name : $altName;
    $value = !$bypassExtensionCheck
    ? preg_replace("/(.*?)(\.png|\.jpg|\.gif)*/i", "\\1", $_GET[$name])
    : $_GET[$name];
    }
    }

    /* Get values from parameters */
    if($allowAnyUser)
    GetParameter("username", "u", $username);
    elseif($allowWhitelistedUser) {
    GetParameter("username", "u", $paramUsername);
    if($paramUsername) {
    $whitelistedUsers = @file_get_contents("./$whitelistedUserFilename");
    $username = preg_match("/\b$paramUsername\b/", $whitelistedUsers) ? $paramUsername : $username;
    }
    }

    if($allowParameters) {
    GetParameter("antialias", "a", $antialias);
    GetParameter("backgroundcolor", "bc", $backgroundColor);
    GetParameter("backgroundimage", "bi", $backgroundImage, true);
    GetParameter("backgroundtransparent", "bt", $backgroundTransparent);
    GetParameter("border", "b", $border);
    GetParameter("bordercolor", "bdc", $borderColor);
    GetParameter("currentlyplayinglabel", "cpl", $currentlyPlayingLabel);
    GetParameter("dateformat", "df", $dateFormat);
    GetParameter("errorlabel1", "el1", $errorLabel1);
    GetParameter("errorlabel2", "el2", $errorLabel2);
    GetParameter("font", "f", $font);
    GetParameter("fontsize", "fs", $fontSize);
    GetParameter("foregroundcolor", "fc", $foregroundColor);
    GetParameter("horizontalalign", "ha", $horizontalAlign);
    GetParameter("horizontalpadding", "hp", $horizontalPadding);
    GetParameter("image_type", "it", $imageType); //supported for compatibility
    GetParameter("imagetype", "it", $imageType);
    GetParameter("labelcolor", "lc", $labelColor);
    GetParameter("lastplayedlabel", "lpl", $lastPlayedLabel);
    GetParameter("maxheight", "mh", $maxHeight);
    GetParameter("maxwidth", "mw", $maxWidth);
    GetParameter("padding", "p", $padding);
    GetParameter("trackcolor", "tc", $trackColor);
    GetParameter("timeformat", "tf", $timeFormat);
    GetParameter("timezonelabel", "tzl", $timeZoneLabel);
    GetParameter("timezoneoffset", "tzo", $timeZoneOffset);
    GetParameter("verticalpadding", "vp", $verticalPadding);
    }

    /* Fix certain parameters to ensure proper values */
    if(!isset($labelColor)) $labelColor = $foregroundColor;
    if(!isset($trackColor)) $trackColor = $foregroundColor;
    if(!isset($horizontalPadding)) $horizontalPadding = $padding;
    if(!isset($verticalPadding)) $verticalPadding = $padding;

    $antialias = (bool) $antialias;
    $backgroundTransparent = (bool) $backgroundTransparent;
    $border = (bool) $border;
    $fontSize = (int) $fontSize;
    $horizontalAlign = $horizontalAlign == "right" ? "right" : "left";
    $horizontalPadding = (int) $horizontalPadding;
    $maxHeight = (int) $maxHeight;
    $maxWidth = (int) $maxWidth;
    $verticalPadding = (int) $verticalPadding;

    $temp = explode(":", $timeZoneOffset);
    $timeZoneOffset = (int) $temp[0];
    if(count($temp) > 1)
    $timeZoneOffset += (int) $temp[1] / 60 * (substr($temp[0], 0, 1) == "-" ? -1 : 1);

    /* Check to see if the song info needs updating */
    $safeUsername = escapeshellcmd($username);
    $dataFilename = "./sig-$safeUsername.txt";
    if(!file_exists($dataFilename) || (filemtime($dataFilename) + $cacheDuration < time())) {
    //Delete cached images
    $tempFiles = array_merge(glob("./sig-$safeUsername*.png"), glob("./sig-$safeUsername*.jpg"));
    if($tempFiles != null) {
    foreach($tempFiles as $filename)
    @unlink($filename);
    }

    //Get user track data from Audioscrobbler
    $data = "";
    $fp = @fopen("http://ws.audioscrobbler.com/txt/recent/$username", "r");
    if($fp != null) {
    stream_set_timeout($fp, $timeout);
    $data = fread($fp, 100000);
    fclose($fp);
    }

    if(trim($data) != "") {
    $dataFile = @fopen($dataFilename, "wt");
    if($dataFile != null) {
    @fwrite($dataFile, $data);
    @fclose($dataFile);
    }
    }
    elseif(file_exists($dataFilename)) {
    //Remove currently playing track info and preserve cached Audioscrobbler data
    if($data = @file($dataFilename)) {
    $data[0] = "\n";
    if($dataFile = @fopen($dataFilename, "wt")) {
    @fwrite($dataFile, implode("", $data));
    @fclose($dataFile);
    }
    }
    }
    }

    /* Determine if client cache should be used */
    if($useBrowserCache
    && isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]) && file_exists($dataFilename)
    && strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]) == filemtime($dataFilename)
    ) {
    header("Status: 304 Not Modified", true, 304); //HTTP status set this way to work on IIS
    exit;
    }

    /* Create image if no cached version of it exists */
    $imageFilename = "./sig-$safeUsername" . ($allowParameters && $_SERVER["QUERY_STRING"] ? "-" . md5($_SERVER["QUERY_STRING"]) : "") . ".$imageType";
    $image = null;
    if(!file_exists($imageFilename)) {
    $trackData = @file($dataFilename);
    if($trackData != null) {
    $trackData[0] = trim($trackData[0]);

    if($numberOfTracks > 1) {
    for ($t=1; $t<($numberOfTracks*2); $t=$t+2) {
    $track = $track.$trackData[$t];
    }
    }
    else {
    $track = $trackData[1];
    $label = $lastPlayedLabel;
    $date = strtotime($trackData[2]);
    }

    $track = html_entity_decode($track);

    if($timeZoneOffset != "")
    $date = strtotime((int) ($timeZoneOffset * 60) . " minute", $date);
    }
    else {
    $label = $errorLabel1;
    $track = $errorLabel2;
    $date = time();
    }

    //Replace time format variables with actual values
    $label = str_replace("<date>", gmdate($dateFormat, $date), $label);
    $label = str_replace("<time>", gmdate($timeFormat, $date), $label);
    $label = str_replace("<zone>", $timeZoneLabel ? $timeZoneLabel : ($timeZoneOffset < 0 ? "-" : "+") . sprintf("%'02d", abs($timeZoneOffset)) . sprintf("%'02d", round(abs(($timeZoneOffset - (int) $timeZoneOffset) * 60))), $label);

    $label = trim($label);
    $track = trim($track);

    /* Generate the image */
    //Get the text sizes
    $labelBounds = imagettfbbox($fontSize, 0, $font, $label);
    $labelWidth = $labelBounds[2] - $labelBounds[0] + 1;
    $labelHeight = -$labelBounds[7] + $labelBounds[1] + 1;

    $trackBounds = imagettfbbox($fontSize, 0, $font, $track);
    $trackWidth = $trackBounds[2] - $trackBounds[0] + 1;
    $trackHeight = -$trackBounds[7] + $trackBounds[1] + 1;

    //Get image dimensions
    $dimension = max($labelWidth, $trackWidth) + ($horizontalPadding * 2) + ($border ? 2 : 0);
    $maxWidth = ($maxWidth > 0 && $dimension > $maxWidth) ? $maxWidth : $dimension;
    $dimension = $labelHeight + $trackHeight + ($verticalPadding * 2) + ($border ? 2 : 0);
    $maxHeight = ($maxHeight > 0 && $dimension > $maxHeight) ? $maxHeight : $dimension;

    //Generate image canvas
    if($backgroundImage != "") {
    preg_match("/[^\.]+$/", $backgroundImage, $extension);
    switch($extension[0]) {
    case "gif":
    $image = @imagecreatefromgif($backgroundImage);
    break;
    case "png":
    $image = @imagecreatefrompng($backgroundImage);
    break;
    case "jpg":
    $image = @imagecreatefromjpeg($backgroundImage);
    break;
    }
    }
    if($image == null)
    $image = imagecreate($maxWidth, $maxHeight);

    //Set the colors
    preg_match_all("/[\dabcdef]{2}/i", $backgroundColor, $backColorParts);
    preg_match_all("/[\dabcdef]{2}/i", $borderColor, $borderColorParts);
    preg_match_all("/[\dabcdef]{2}/i", $labelColor, $labelColorParts);
    preg_match_all("/[\dabcdef]{2}/i", $trackColor, $trackColorParts);
    $blackColorPart = array(0, 0, 0);
    if(count($backColorParts[0]) != 3) $backColorParts[0] = $blackColorPart;
    if(count($borderColorParts[0]) != 3) $borderColorParts[0] = $blackColorPart;
    if(count($labelColorParts[0]) != 3) $labelColorParts[0] = $blackColorPart;
    if(count($trackColorParts[0]) != 3) $trackColorParts[0] = $blackColorPart;

    $backColorIndex = imagecolorallocate($image, hexdec($backColorParts[0][0]), hexdec($backColorParts[0][1]), hexdec($backColorParts[0][2]));
    $borderColorIndex = imagecolorallocate($image, hexdec($borderColorParts[0][0]), hexdec($borderColorParts[0][1]), hexdec($borderColorParts[0][2]));
    $labelColorIndex = imagecolorallocate($image, hexdec($labelColorParts[0][0]), hexdec($labelColorParts[0][1]), hexdec($labelColorParts[0][2]));
    $trackColorIndex = imagecolorallocate($image, hexdec($trackColorParts[0][0]), hexdec($trackColorParts[0][1]), hexdec($trackColorParts[0][2]));
    if($backgroundTransparent)
    imagecolortransparent($image, $backColorIndex);

    //Check to see if antialiasing is used
    if(!$antialias) {
    $labelColorIndex = -$labelColorIndex;
    $trackColorIndex = -$trackColorIndex;
    }

    //Draw border
    if($border)
    imagerectangle($image, 0, 0, $maxWidth - 1, $maxHeight - 1, $borderColorIndex);

    //Draw label
    $x = ($horizontalAlign == "right" ? max($labelWidth, $trackWidth) - $labelWidth : 0) + $horizontalPadding + ($border ? 1 : 0);
    $y = $labelHeight - abs($labelBounds[1]) + $verticalPadding + ($border ? 1 : 0);
    imagettftext($image, $fontSize, 0, $x, $y, $labelColorIndex, $font, $label);

    //Draw track
    $x = ($horizontalAlign == "right" ? max($labelWidth, $trackWidth) - $trackWidth : 0) + $horizontalPadding + ($border ? 1 : 0);
    $y = $trackHeight - abs($trackBounds[1]) + $verticalPadding + $labelHeight + ($border ? 1 : 0);
    imagettftext($image, $fontSize, 0, $x, $y, $trackColorIndex, $font, $track);

    //Save image
    if($imageType == "jpg")
    @imagejpeg($image, $imageFilename);
    else
    @imagepng($image, $imageFilename);

    if(file_exists($imageFilename)) {
    imagedestroy($image);
    $image = null;
    }
    }

    /* Output the image */
    //Output image headers
    if($imageType == "jpg")
    header("Content-type: image/jpeg");
    else
    header("Content-type: image/png");

    if(file_exists($dataFilename)) {
    header("Last-Modified: " . gmdate("D, d M Y H:i:s", filemtime($dataFilename)) . " GMT");
    header("Expires: " . gmdate("D, d M Y H:i:s", filemtime($dataFilename) + $cacheDuration) . " GMT");
    }

    //Output image
    if(!$image)
    readfile($imageFilename);
    else {
    if($imageType == "jpg")
    imagejpeg($image);
    else
    imagepng($image);
    imagedestroy($image);
    }
    ?>
    Last edited by Colin-Roberts; 17-07-2006 at 06:05 PM.

    .:.:#14:.:. .:.: Impossible Is Nothing :.:. .:.: 845 Rep:.:.
    .:.: Stand up for what is right, even if you stand alone:.:.


  4. #4
    Join Date
    Feb 2006
    Location
    Ontario Canada
    Posts
    4,587
    Tokens
    0

    Latest Awards:

    Default

    sry for double post but i found the files to do it i just keep getting fatal error ill post again when i get it sorted.

    .:.:#14:.:. .:.: Impossible Is Nothing :.:. .:.: 845 Rep:.:.
    .:.: Stand up for what is right, even if you stand alone:.:.


  5. #5
    Join Date
    Mar 2006
    Location
    C:\\Program Files
    Posts
    2,592
    Tokens
    0

    Latest Awards:

    Default

    Im not sure of that code, All i did was get in touch with Redstcraous, Sorry for spelling wrong.


  6. #6
    Join Date
    Feb 2006
    Location
    Ontario Canada
    Posts
    4,587
    Tokens
    0

    Latest Awards:

    Default

    if you look on taht web page he provided the one page has a linkt o the script used and on that webpage is your sig tucker and redstractos sig ect.

    .:.:#14:.:. .:.: Impossible Is Nothing :.:. .:.: 845 Rep:.:.
    .:.: Stand up for what is right, even if you stand alone:.:.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •