Empowering Smart Business (sm)

UDFs: getVariableScope()

The future of your business is an open road, JPG image (20.8kb)

getVariableScope()

Function that determines which scope an unscoped variable refers to.

<CFSCRIPT>
/**
 * Function that determines which scope an unscoped variable refers to.
 * 
 * @param localVar 	 Variable name to check. (Required)
 * @return Returns a string.
 * @author Mosh Teitelbaum
 * @version 1, August 6, 2004
 */
function getVariableScope(locVar) {
  var scopeList = "VARIABLES,CGI,FILE,URL,FORM,COOKIE,CLIENT,APPLICATION,SESSION,SERVER,REQUEST,CFHTTP,CALLER,ATTRIBUTES,ERROR,CFCATCH,CFFTP";
  var listEle = "";
  var cnt = 1;

  while (cnt LTE ListLen(scopeList)) {
    // Get current list element
    listEle = ListGetAt(scopeList, cnt);

    // Check for existence within current scope.  CGI is a special case
    if (listEle is "CGI" AND structKeyExists(cgi, locVar)) {
        return listEle;
    } else if (not listEle is "CGI" AND IsDefined("#listEle#.#locVar#")) {
        return listEle;
    }

    // Increment counter
    cnt = cnt + 1;
  }

}
</CFSCRIPT>

This UDF is also available from cflib.org at http://www.cflib.org/udf/getVariableScope.