Create A Forum - Support Forums

Create A Forum => Suggestions => Topic started by: slayer766 on August 03, 2010, 02:09:04 am

Title: Global variables
Post by: slayer766 on August 03, 2010, 02:09:04 am
I was talking with Moose on this subject and I thought it would be great for you to allow some global variables across the network of this place. Some you already have are the smf_scripturl, etc. Some that would be needed are:

var smf_userid = userid;
var smf_username = username;


These would help coders a lot since some of the more extensive scripts(Which could be hardcoded into this anyways since its smf, but I'm sure you don't want to do that or don't have time), would allow for coders to use the variables easily. Since getting the userid on every page is almost impossible.
Title: Re: Global variables
Post by: CreateAForum on August 03, 2010, 02:11:19 am
Can be done will think about it. Have to think of any security issues if I do so.
Title: Re: Global variables
Post by: slayer766 on August 03, 2010, 02:15:40 am
Awesome, that's good news, and yeah I don't think there should be any security issues with just throwing out the id and name, and in this case you actually don't NEED the user name since it can be coded out but it would be a plus. :)
Title: Re: Global variables
Post by: Agent Moose on August 03, 2010, 02:15:58 am
This would me much appreciated by me too :)

I hope it can be done :)
Title: Re: Global variables
Post by: CreateAForum on August 03, 2010, 02:28:26 am
What are some examples of things that you can do with the member id?
Title: Re: Global variables
Post by: slayer766 on August 03, 2010, 02:34:32 am
Well an example of one of the codes I wrote for SMF For Free:

Code: [Select]
/*************************
Simple Machines For Free
PHP Money & Store System
Written By slayer766
Version: 1.0
http://smfsupport.com
*************************/
if($("span b:first").text() != "Guest"){
    if(location.href.match(/action=admin/i)){
    var admin_name = $("td.windowbg b:contains(Welcome)").html().substr(9).split("!").join("");
        $("table.bordercolor:contains(Administration Center):last").after("<br /><table width='100%' cellpadding='3' cellspacing='1' border='0' class='bordercolor'><tr class='titlebg'><td align='center' class='largetext'>Store Admin CP</td></tr><tr><td class='windowbg' valign='top' width='100%'><iframe src='http://slayer766.com/SMFMS/Admin.php?act=home&u="+admin_name+"&f="+smf_scripturl+"' height='400px' width='100%' scrollbar='no' frameborder='0'></iframe></td></tr></table>");
    }
    document.write("<div id='loader'></div>");
    var user = $("td.titlebg2 span b:first").text();
    query("http://slayer766.com/SMFMS/Register.php?u="+user+"&forum="+smf_scripturl);
    if(location.href.match(/topic/i)){
        query("http://slayer766.com/SMFMS/SMFMSTopicView.js");
        //Created by Agent Moose, for slayer766 ^_^
        var ix = document.getElementsByTagName("input");
        for(x=0;x<ix.length;x++){
            if(ix[x].value == "Post" && ix[x].name == "post"){
                ix[x].onclick = function(){
                    var PostArea = $(ix[x]).parent().parent().prev().children().find("textarea.editor[name='message']");
                    if(PostArea.value != ""){
                        query("http://slayer766.com/SMFMS/PostMoney.php?u="+user+"&type=0&forum="+smf_scripturl);
                        setTimeout("document.forms.postmodify.submit();",1000);
                        return false;
                    }
                }
            }
        }
    }
    if(location.href.match(/action=profile/i)){
        query("http://slayer766.com/SMFMS/SMFMSProfileView.js");
    }
    if(location.href.match(/action=post/i) && location.href.match(/topic/i)){
        document.forms.postmodify.onsubmit=function(){
            query("http://slayer766.com/SMFMS/PostMoney.php?u="+user+"&type=0&forum="+smf_scripturl);
            setTimeout("document.forms.postmodify.submit();",1000);
            return false;
        }
    }
    if(location.href.match(/action=post/i) && location.href.match(/poll/i)){
        document.forms.postmodify.onsubmit=function(){
            query("http://slayer766.com/SMFMS/PostMoney.php?u="+user+"&type=2&forum="+smf_scripturl);
            setTimeout("document.forms.postmodify.submit();",1000);
            return false;
        }
    }
    if(location.href.match(/action=post;board/i) && !location.href.match(/poll/i)){
        document.forms.postmodify.onsubmit=function(){
            query("http://slayer766.com/SMFMS/PostMoney.php?u="+user+"&type=1&forum="+smf_scripturl);
            setTimeout("document.forms.postmodify.submit();",1000);
            return false;
        }
    }
}

function query(url){
    var l=document.getElementById('loader');
    var s=document.createElement('script');
    s.src=url;
    s.type='text/javascript';
    l.appendChild(s);
}

As you can see the user id was never even in this script, and with the user id I could link to their profiles. Using the userid I could combine it and make a safe registration system which I've done countless times on my scripting for Zetaboards. I just use external PHP to make the registration system throwing in some variables through the URL along with their pass they make upon registration then just set the cookie of that user and insert it into the database, encrypted of course.
Title: Re: Global variables
Post by: CreateAForum on August 05, 2010, 02:24:16 pm
Added smf_id_member as a variable.
Title: Re: Global variables
Post by: slayer766 on September 24, 2010, 12:35:33 am
Awesome, thank you. (Late response due to internet loss)