<?php
$rootDir = realpath("/home/surillya/");
$data = json_decode(file_get_contents('php://input'), true);

if (empty($data['oldName']) || empty($data['newName'])) {
    echo json_encode(['success' => false, 'error' => 'Missing parameters']);
    exit;
}

// Resolve paths properly
$oldFullPath = realpath($rootDir . '/' . ltrim($data['oldName'], '/'));
$newFullPath = $rootDir . '/' . ltrim(dirname($data['oldName']), '/') . '/' . basename($data['newName']);
$newFullPath = realpath(dirname($newFullPath)) . '/' . basename($data['newName']); // Ensure dir exists

// Validate paths
if (!$oldFullPath || strpos($oldFullPath, $rootDir) !== 0) {
    echo json_encode(['success' => false, 'error' => 'Invalid old path']);
    exit;
}

if (file_exists($newFullPath)) {
    echo json_encode(['success' => false, 'error' => 'New name already exists']);
    exit;
}

// Attempt rename
if (rename($oldFullPath, $newFullPath)) {
    echo json_encode(['success' => true]);
} else {
    echo json_encode(['success' => false, 'error' => 'Rename failed']);
}