Talk:Store Thank You Messages

From Homestar Runner Wiki

Revision as of 16:40, 19 February 2006 by Venusy (Talk | contribs)
Jump to: navigation, search

This page will describe the special "Thank You" messages from the Store. The title should be better, but I can't think of a better one. Any ideas on what it should be moved to? Thunderbird 19:10, 3 February 2006 (UTC)

Mirrors

Can we get mirrors to the toons that we usually can't see? Or would that be going too far legally? - Joshua 15:22, 7 February 2006 (UTC)

How does the flash know something's been bought?

How does the flash know something's been bought? There must be some kind of parameter or something passed to the HTML that tells the flash that an Item's been bought... Does anyone know? --Stux 16:02, 19 February 2006 (UTC)

From what I can tell, the JavaScript on the page reads the browser referrer, then adds it as a Flash variable (for example, "heythanks.swf?rf=Referrer goes here"). I guess that if it doesn't match a preset value embedded in the Flash, then it takes you to the backdoor message. --videlectrix.pngENUSY discussionitem_icon.gif user.gifmail_icon.gif 16:15, 19 February 2006 (UTC)
Hmmm... quite interesting. So we'd just need to disassemble the Actionscript to figure out what the referrer codes are (or is)... --Stux 16:23, 19 February 2006 (UTC)
Just decomplied heythanks.swf. See below for the actionscript. It seems like the only referrers are "https://order.store.yahoo.com/" and everything else. --videlectrix.pngENUSY discussionitem_icon.gif user.gifmail_icon.gif 16:40, 19 February 2006 (UTC)

Decompiled ActionScript

// Frame 1 actions...

function masterPresent () {
    return true
    }
function controllerLoaded () {
    var _local7 = _root.rf.substr(0, 30)
    if (_local7 == "https://order.store.yahoo.com/") {
        var _local6 = new Array ("thankyou_celegante.swf","thankyou_bubsness.swf","thankyou_song.swf","thankyou_cinnamon.swf")
        var _local2 = sceneChoice = Math.floor(Math.random() * ((_local6.length - 1)))
        var _local4 = new Date ()
        var _local5 = LocalData.load("ty", "lt")
        var _local3 = LocalData.load("ty", "n")
        if ((_local5 == undefined) ||  (_local3 == undefined)) {
            } 
            else if ((!isNaN (_local5.getTime())) &&  (!isNaN (_local3))) {
                if ((_local4.getTime() - _local5.getTime()) / 60000 < 10) {
                    _local2 = Number(_local3)
                    if (_local4.getHours() < 5) {
                        }
                    }
                }
        _local2 = 3
        LocalData.save("ty", "lt", _local4)
        LocalData.save("ty", "n", _local2)
        _root.content_mc.loadMovie(_local6[_local2])
        } else {
        _root.content_mc.loadMovie("thankyou_bonus.swf")
        }
    }
test_txt.text = _root.rf
stop()
_root.onEnterFrame = function  () {
    if ((_root.getBytesLoaded() > 4) &&  (_root.getBytesLoaded() >= _root.getBytesTotal())) {
        controllerLoaded ()
        delete(_root.onEnterFrame)
        }
    }
Personal tools