OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
3-31-025chanakya
/
Xpress
/
NLEditor
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/26/2025 04:21:24 AM
rwxr-xr-x
📄
Edit-arvind-index.php
61.9 KB
03/26/2025 04:16:33 AM
rw-r--r--
📁
NW_images
-
03/26/2025 04:21:28 AM
rwxr-xr-x
📄
aditya_index.php
44.57 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
arvind-save-template.php
3.75 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
arvinds-index.php
52.82 KB
03/26/2025 04:16:33 AM
rw-r--r--
📁
assets
-
03/26/2025 04:21:24 AM
rwxr-xr-x
📄
db_gallery.php
285 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📄
delete_image.php
646 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📄
edit_template.php
658 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📄
fetch_data.php
779 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📄
fetch_titles.php
0 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📁
images10
-
03/26/2025 04:20:38 AM
rwxr-xr-x
📁
images11
-
03/26/2025 04:20:38 AM
rwxr-xr-x
📁
images12
-
03/26/2025 04:20:38 AM
rwxr-xr-x
📁
images13
-
03/26/2025 04:20:39 AM
rwxr-xr-x
📁
images14
-
03/26/2025 04:20:40 AM
rwxr-xr-x
📁
images15
-
03/26/2025 04:20:43 AM
rwxr-xr-x
📁
images16
-
03/26/2025 04:20:43 AM
rwxr-xr-x
📁
images17
-
03/26/2025 04:20:44 AM
rwxr-xr-x
📁
images18
-
03/26/2025 04:20:44 AM
rwxr-xr-x
📁
images19
-
03/26/2025 04:20:45 AM
rwxr-xr-x
📁
images2
-
03/26/2025 04:20:47 AM
rwxr-xr-x
📁
images20
-
03/26/2025 04:20:47 AM
rwxr-xr-x
📁
images21
-
03/26/2025 04:20:48 AM
rwxr-xr-x
📁
images3
-
03/26/2025 04:20:52 AM
rwxr-xr-x
📁
images4
-
03/26/2025 04:20:52 AM
rwxr-xr-x
📁
images5
-
03/26/2025 04:20:54 AM
rwxr-xr-x
📁
images6
-
03/26/2025 04:20:54 AM
rwxr-xr-x
📁
images7
-
03/26/2025 04:20:56 AM
rwxr-xr-x
📁
images8
-
03/26/2025 04:20:56 AM
rwxr-xr-x
📁
images9
-
03/26/2025 04:20:57 AM
rwxr-xr-x
📄
index.php
45.3 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
load_template.php
2.2 KB
03/26/2025 04:16:33 AM
rw-r--r--
📁
newsletter
-
03/26/2025 04:21:25 AM
rwxr-xr-x
📄
nleditor_navbar.php
10.1 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
save-template.php
2.45 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
script.js
34.02 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
styles.css
2.43 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
template1.jpg
0 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📄
test.php
1.58 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
test_index.php
46.51 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
texts.txt
1.7 KB
03/26/2025 04:16:33 AM
rw-r--r--
📄
upload.php
858 bytes
03/26/2025 04:16:33 AM
rw-r--r--
📁
uploads
-
03/26/2025 04:20:57 AM
rwxr-xr-x
Editing: arvind-save-template.php
Close
<?php include "../../assets/php/validate.logged.php"; include "db_gallery.php"; // Set content type to JSON header('Content-Type: application/json'); // Enable error reporting for debugging error_reporting(E_ALL); ini_set('display_errors', 1); // Log file for debugging $log_file = __DIR__ . '/template_save_log.txt'; file_put_contents($log_file, "Save template request received at " . date('Y-m-d H:i:s') . "\n", FILE_APPEND); try { // Check if user is logged in (using $gUserId from validate.logged.php) if (!isset($gUserId) || empty($gUserId)) { throw new Exception("User not authenticated"); } file_put_contents($log_file, "User authenticated: $gUserId\n", FILE_APPEND); // Define directory for templates - use absolute path $uploadDir = __DIR__ . '/uploads/NW_templates/'; file_put_contents($log_file, "Upload directory: $uploadDir\n", FILE_APPEND); // Make sure the directory exists with proper permissions if (!file_exists($uploadDir)) { if (!mkdir($uploadDir, 0755, true)) { throw new Exception("Failed to create directory: $uploadDir"); } file_put_contents($log_file, "Created directory: $uploadDir\n", FILE_APPEND); } // Validate required inputs if (!isset($_POST['template'])) { throw new Exception("Required field missing: template content"); } if (!isset($_POST['templateFileName'])) { throw new Exception("Required field missing: template filename"); } // Get the template content and filename $templateContent = $_POST['template']; $templateFileName = basename($_POST['templateFileName']); // Sanitize filename file_put_contents($log_file, "Template filename: $templateFileName\n", FILE_APPEND); // Validate template filename if (!preg_match('/^[\w\-\.]+$/', $templateFileName)) { throw new Exception("Invalid template filename"); } // Create a unique file name for the template $uniqueTemplateFileName = time() . '-' . $templateFileName; $templatePath = $uploadDir . $uniqueTemplateFileName; file_put_contents($log_file, "Full template path: $templatePath\n", FILE_APPEND); // Save the template file with error checking $result = file_put_contents($templatePath, $templateContent); if ($result === false) { $errorMessage = error_get_last() ? error_get_last()['message'] : 'Unknown error'; throw new Exception("Failed to save template file: $errorMessage"); } file_put_contents($log_file, "Template file saved successfully: $result bytes written\n", FILE_APPEND); // Prepare the database insert statement $stmt = $conn->prepare("INSERT INTO userTemplates (user_id, fileUrl) VALUES (?, ?)"); if (!$stmt) { throw new Exception("Database prepare failed: " . $conn->error); } // We store just the unique filename in the database $fileUrl = 'NW_templates/' . $uniqueTemplateFileName; // Bind parameters and execute $stmt->bind_param("is", $gUserId, $fileUrl); if (!$stmt->execute()) { throw new Exception("Failed to save template to database: " . $stmt->error); } file_put_contents($log_file, "Template saved to database successfully\n", FILE_APPEND); // Close the statement $stmt->close(); // Return success response echo json_encode([ 'success' => true, 'templatePath' => $fileUrl, 'message' => 'Template saved successfully' ]); } catch (Exception $e) { file_put_contents($log_file, "Error: " . $e->getMessage() . "\n", FILE_APPEND); echo json_encode([ 'success' => false, 'error' => $e->getMessage() ]); } ?>