OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
cream
/
NLEditor
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
06/17/2025 10:17:24 AM
rwxrwxr-x
📄
Edit-arvind-index.php
62.34 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
NW_images
-
04/30/2025 06:15:48 AM
rwxr-xr-x
📄
aditya_index.php
45.01 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
arvind-save-template.php
3.7 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
arvinds-index.php
53.27 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
assets
-
04/30/2025 06:15:43 AM
rwxr-xr-x
📄
db_gallery.php
294 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
delete_image.php
646 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
edit_template.php
658 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
fetch_data.php
779 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📄
fetch_titles.php
0 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📁
images10
-
04/30/2025 06:15:11 AM
rwxr-xr-x
📁
images11
-
04/30/2025 06:15:11 AM
rwxr-xr-x
📁
images12
-
04/30/2025 06:15:11 AM
rwxr-xr-x
📁
images13
-
04/30/2025 06:15:12 AM
rwxr-xr-x
📁
images14
-
04/30/2025 06:15:13 AM
rwxr-xr-x
📁
images15
-
04/30/2025 06:15:14 AM
rwxr-xr-x
📁
images16
-
04/30/2025 06:15:15 AM
rwxr-xr-x
📁
images17
-
04/30/2025 06:15:15 AM
rwxr-xr-x
📁
images18
-
04/30/2025 06:15:16 AM
rwxr-xr-x
📁
images19
-
04/30/2025 06:15:16 AM
rwxr-xr-x
📁
images2
-
04/30/2025 06:15:17 AM
rwxr-xr-x
📁
images20
-
04/30/2025 06:15:18 AM
rwxr-xr-x
📁
images21
-
04/30/2025 06:15:18 AM
rwxr-xr-x
📁
images3
-
04/30/2025 06:15:19 AM
rwxr-xr-x
📁
images4
-
04/30/2025 06:15:20 AM
rwxr-xr-x
📁
images5
-
04/30/2025 06:15:20 AM
rwxr-xr-x
📁
images6
-
04/30/2025 06:15:21 AM
rwxr-xr-x
📁
images7
-
04/30/2025 06:15:22 AM
rwxr-xr-x
📁
images8
-
04/30/2025 06:15:23 AM
rwxr-xr-x
📁
images9
-
04/30/2025 06:15:23 AM
rwxr-xr-x
📄
index.php
45.74 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
load_template.php
2.2 KB
05/19/2025 10:07:22 AM
rw-r--r--
📁
newsletter
-
04/30/2025 06:15:46 AM
rwxr-xr-x
📄
nleditor_navbar.php
10.19 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
save-template.php
2.39 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
script.js
34.02 KB
04/30/2025 06:15:11 AM
rw-r--r--
📄
styles.css
2.43 KB
04/30/2025 06:15:11 AM
rw-r--r--
📄
template1.jpg
0 bytes
04/30/2025 06:15:11 AM
rw-r--r--
📄
test.php
1.58 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
test_index.php
47.04 KB
05/19/2025 10:07:22 AM
rw-r--r--
📄
texts.txt
1.7 KB
04/30/2025 06:15:11 AM
rw-r--r--
📄
upload.php
858 bytes
05/19/2025 10:07:22 AM
rw-r--r--
📁
uploads
-
05/19/2025 10:07:22 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 // 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() ]); } ?>