| Server IP : 104.21.21.239 / Your IP : 216.73.216.37 Web Server : Apache/2.4.68 (Amazon Linux) OpenSSL/3.5.5 System : Linux ip-172-31-69-123.ec2.internal 6.1.176-223.369.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 24 13:34:27 UTC 2026 x86_64 User : ec2-user ( 1000) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/home2/cgny/public_html/newadmin/ |
Upload File : |
<cfinclude template="header.cfm">
<div id="content">
<div id="content-header"></div>
<div class="container-fluid" style="margin-left:200px;">
<cfsetting requesttimeout="600">
<cftry>
<!--- Check if file was uploaded --->
<cfif structKeyExists(form, "csvfile")>
<!--- Save uploaded file to temp directory --->
<cffile action="upload" filefield="csvfile" destination="/home/home2/cgny/public_html/2019/newadmin/" nameconflict="overwrite" result="uploadResult">
<!--- Read and parse CSV file --->
<cfset csvData = []>
<cffile action="read" file="#uploadResult.serverFile#" variable="fileContent">
<cfset csvLines = listToArray(fileContent, chr(10))>
<!--- Parse each row starting from line 2 (skip header) --->
<cfloop index="i" from="2" to="#arrayLen(csvLines)#">
<cfset rowData = listToArray(csvLines[i])>
<!--- Ensure each row has exactly 3 columns --->
<cfif arrayLen(rowData) EQ 3>
<cfset rowData = arrayMap(rowData, function(val) { return trim(val); })>
<cfif len(rowData[1]) AND len(rowData[2])>
<!--- Clean numeric Points field --->
<cfset rowData[3] = reReplace(rowData[3], "[^0-9.]", "", "all")>
<cfif isNumeric(rowData[3])>
<cfset csvData.append(rowData)>
<cfelse>
<cfoutput><p>Warning: Skipping line #i#: Invalid numeric Points. Data: #arrayToList(rowData, ", ")#</p></cfoutput>
</cfif>
<cfelse>
<cfoutput><p>Warning: Skipping line #i#: Missing Name or Email. Data: #arrayToList(rowData, ", ")#</p></cfoutput>
</cfif>
<cfelse>
<cfoutput><p>Warning: Skipping line #i#: Invalid column count. Data: #arrayToList(rowData, ", ")#</p></cfoutput>
</cfif>
</cfloop>
<!--- Clear previous data in temp_table2 --->
<cftry>
<cfquery name="truncateTable" datasource="#ds#">
TRUNCATE TABLE temp_table2
</cfquery>
<cfcatch></cfcatch>
</cftry>
<!--- Insert parsed CSV data into temp_table2 --->
<cfloop index="i" from="1" to="#arrayLen(csvData)#">
<cfquery name="insertData" datasource="#ds#">
INSERT INTO temp_table2 (name, email, points)
VALUES (
<cfqueryparam value="#csvData[i][1]#" cfsqltype="CF_SQL_VARCHAR">,
<cfqueryparam value="#csvData[i][2]#" cfsqltype="CF_SQL_VARCHAR">,
<cfqueryparam value="#csvData[i][3]#" cfsqltype="CF_SQL_INTEGER">
);
</cfquery>
</cfloop>
<p><a href="emailall2.cfm" onclick="return confirm('Are you sure?');">Email Everyone</a></p>
<!--- Retrieve and display aggregated user data --->
<cfquery name="getUserData" datasource="#ds#">
SELECT name, email, SUM(points) AS total_points
FROM temp_table2
GROUP BY email, name
ORDER BY name;
</cfquery>
<cfoutput>
<table id="example23" class="display nowrap table table-hover table-striped table-bordered" cellspacing="0" width="100%">
<tr>
<th>Name</th>
<th>Email</th>
<th>Total Points</th>
<th>Action</th>
</tr>
<cfloop query="getUserData">
<tr>
<td>#name#</td>
<td>#email#</td>
<td>#total_points#</td>
<td><a href="email2.cfm?email=#urlEncodedFormat(email)#">Send Email</a></td>
</tr>
</cfloop>
</table>
</cfoutput>
<cfelse>
<cfoutput>
<p>No file uploaded. Please go back and try again.</p>
<p><a href="index.cfm">Back to Upload</a></p>
</cfoutput>
</cfif>
<cfcatch>
<cfoutput>
<p>Error: #cfcatch.message#</p>
<p><a href="index.cfm">Back to Upload</a></p>
</cfoutput>
</cfcatch>
</cftry>
</div>
<br><br><br><br>
<cfinclude template="footer.cfm">