Skip to content

Commit

Permalink
Initial import
Browse files Browse the repository at this point in the history
  • Loading branch information
cfjedimaster committed May 23, 2012
0 parents commit e1a4aa8
Show file tree
Hide file tree
Showing 138 changed files with 15,824 additions and 0 deletions.
54 changes: 54 additions & 0 deletions Application.cfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<cfsetting enablecfoutputonly=true showdebugoutput=false>
<!---
Name : Application.cfm
Author : Raymond Camden
Created : September 2, 2004
Last Updated : August 3, 2007
History : change application.cfc to soundings.cfc
: Stupid IE. If you hit ENTER instead of clicking the button, it wouldn't send the value. (rkc 3/1/06)
: work w/o mapping (rkc 3/10/06)
: user changes (rkc 8/3/07)
Purpose :
--->

<cfapplication name="soundings" sessionManagement="true">

<cfif not isDefined("application.init") or isDefined("url.reinit")>

<!--- Get main settings --->
<cfset application.soundings = createObject("component","cfcs.soundings")>
<cfset application.settings = application.soundings.getSettings()>
<cfset application.survey = createObject("component","cfcs.survey").init(application.settings)>
<cfset application.question = createObject("component","cfcs.question").init(application.settings)>
<cfset application.questionType = createObject("component","cfcs.questiontype").init(application.settings)>
<cfset application.template = createObject("component","cfcs.template").init(application.settings)>
<cfset application.user = createObject("component","cfcs.user").init(application.settings)>
<cfset application.utils = createObject("component","cfcs.utils")>
<cfset application.toxml = createObject("component","cfcs.toxml")>

<cfset session.surveys = structNew()>
<cfset application.init = true>

</cfif>

<!--- include UDFs --->
<cfinclude template="includes/udf.cfm">

<cfif isDefined("url.logout")>
<cfset structDelete(session, "loggedin")>
</cfif>

<!--- handle security --->
<cfif not request.udf.isLoggedOn()>

<!--- are we trying to logon? --->
<cfif isDefined("form.username") and isDefined("form.password")>
<cfif application.user.authenticate(form.username,form.password)>
<cfset session.user = application.user.getUser(form.username)>
<cfset session.loggedin = true>
</cfif>
</cfif>

</cfif>

<cfsetting enablecfoutputonly=false>
19 changes: 19 additions & 0 deletions admin/Application.cfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
<cfsetting enablecfoutputonly=true>
<!---
Name : Application.cfm
Author : Raymond Camden
Created : September 2, 2004
Last Updated : September 2, 2004
History :
Purpose :
--->

<!--- include root app --->
<cfinclude template="../Application.cfm">

<cfif not request.udf.isLoggedOn()>
<cfinclude template="login.cfm">
<cfabort>
</cfif>

<cfsetting enablecfoutputonly=false>
27 changes: 27 additions & 0 deletions admin/index.cfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<cfsetting enablecfoutputonly=true>
<!---
Name : index.cfm
Author : Raymond Camden
Created : September 01, 2004
Last Updated : February 11, 2006
History : Just changed the text a bit.
Purpose :
--->
<cfimport taglib="../tags/" prefix="tags">

<tags:layout templatename="admin" title="Welcome to the Soundings Administrator">

<cfoutput>
<p>
Welcome to Soundings #application.settings.version#. This administrator allows you to edit all aspects of your surveys. Please select an option from the top menu to begin.
</p>

<p>
Please send any bug reports to <a href="mailto:ray@camdenfamily.com">Raymond Camden</a>. For the latest
news and updates, visit the <a href="http://soundings.riaforge.org">Soundings project page</a>.
</p>
</cfoutput>

</tags:layout>

<cfsetting enablecfoutputonly=false>
195 changes: 195 additions & 0 deletions admin/javaScripts.cfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
//Contents for menu 1
var menu1=new Array()
menu1[0]='<a href="surveys.cfm">Surveys</a>'
menu1[1]='<a href="questions.cfm">Questions</a>'
<cfif isBoolean(session.user.isAdmin) and session.user.isAdmin>menu1[menu1.length+1]='<a href="questiontypes.cfm">Question Types</a>'</cfif>
menu1[menu1.length+1]='<a href="templates.cfm">Templates</a>'

//Contents for menu 2
var menu2=new Array()
menu2[0]='<a href="password.cfm">Set Password</a>'
<cfif isBoolean(session.user.isAdmin) and session.user.isAdmin>menu2[1]='<a href="users.cfm">Users</a>'</cfif>


//Contents for menu 3
var menu3=new Array()
menu3[0]='<a href="stats.cfm">Reporting</a>'


//Contents for menu 4
var menu4=new Array()
menu4[0]='<a href="index.cfm">Admin Home</a>'
menu4[1]='<a href="../">Soundings Home</a>'
menu4[2]='<a href="index.cfm?logout=1">Logout</a>'


var menuwidth='185px' //default menu width
var menubgcolor='#407ED8' //menu bgcolor
var disappeardelay=250 //menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes" //hide menu when user clicks within menu?

/////No further editting needed

var ie4=document.all
var ns6=document.getElementById&&!document.all

if (ie4||ns6)
document.write('<div id="dropmenudiv" style="visibility:hidden;width:'+menuwidth+';background-color:'+menubgcolor+'" onMouseover="clearhidemenu()" onMouseout="dynamichide(event)"></div>')

function getposOffset(what, offsettype){
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null){
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}


function showhide(obj, e, visible, hidden, menuwidth){
if (ie4||ns6)
dropmenuobj.style.left=dropmenuobj.style.top=-500
if (menuwidth!=""){
dropmenuobj.widthobj=dropmenuobj.style
dropmenuobj.widthobj.width=menuwidth
}
if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
obj.visibility=visible
else if (e.type=="click")
obj.visibility=hidden
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
var edgeoffset=0
if (whichedge=="rightedge"){
var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
dropmenuobj.contentmeasure=dropmenuobj.offsetWidth
if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth
}
else{
var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
dropmenuobj.contentmeasure=dropmenuobj.offsetHeight
if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight
if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge
}
}
return edgeoffset
}

function populatemenu(what){
if (ie4||ns6)
dropmenuobj.innerHTML=what.join("")
}


function dropdownmenu(obj, e, menucontents, menuwidth){
if (window.event) event.cancelBubble=true
else if (e.stopPropagation) e.stopPropagation()
clearhidemenu()
dropmenuobj=document.getElementById? document.getElementById("dropmenudiv") : dropmenudiv
populatemenu(menucontents)

if (ie4||ns6){
showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth)
dropmenuobj.x=getposOffset(obj, "left")
dropmenuobj.y=getposOffset(obj, "top")
dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px"
dropmenuobj.style.top=dropmenuobj.y-clearbrowseredge(obj, "bottomedge")+obj.offsetHeight+"px"
}

return clickreturnvalue()
}

function clickreturnvalue(){
if (ie4||ns6) return false
else return true
}

function contains_ns6(a, b) {
while (b.parentNode)
if ((b = b.parentNode) == a)
return true;
return false;
}

function dynamichide(e){
if (ie4&&!dropmenuobj.contains(e.toElement))
delayhidemenu()
else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
delayhidemenu()
}

function hidemenu(e){
if (typeof dropmenuobj!="undefined"){
if (ie4||ns6)
dropmenuobj.style.visibility="hidden"
}
}

function delayhidemenu(){
if (ie4||ns6)
delayhide=setTimeout("hidemenu()",disappeardelay)
}

function clearhidemenu(){
if (typeof delayhide!="undefined")
clearTimeout(delayhide)
}

if (hidemenu_onclick=="yes")
document.onclick=hidemenu

function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
51 changes: 51 additions & 0 deletions admin/login.cfm
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<cfsetting enablecfoutputonly=true>
<!---
Name : login.cfm
Author : Raymond Camden
Created : September 01, 2004
Last Updated : March 4, 2005
History : removed bad js
Purpose :
--->
<cfimport taglib="../tags/" prefix="tags">

<tags:layout templatename="plain" title="Soundings Admin Login">

<cfoutput>

<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0" height="90%" width="100%">
<TR>
<TD ALIGN="center" VALIGN="middle">

<form action="#cgi.script_name#?#cgi.query_string#" method="post" name="login">
<table width="585" height="115" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><div align="center"><img src="../images/logo.gif" width="172" height="185"></div></td>
</tr>
<tr>
<td height="115" background="../images/login.gif"><table width="68%" border="0" align="right" cellpadding="7" cellspacing="0">
<tr>
<td>
<input type="text" name="username" value="">
</td>
</tr>
<tr>
<td>
<input type="password" name="password" value=""> <input type="submit" name="logon" value="Login"></td>
</tr>

</table></td>
</tr>
</table>
</form>
</TD>
</TR>
</TABLE>
<script>
document.login.username.focus();
</script>
</cfoutput>

</tags:layout>

<cfsetting enablecfoutputonly=false>
Loading

0 comments on commit e1a4aa8

Please sign in to comment.