parent.parent.ICEcoder.showHide('hide', parent.document.getElementById('blackMask')); parent.parent.ICEcoder.refreshFileManager();"; } else { // Start creating a new chunk for the FTP sites $settingsNew = '"ftpSites" => array( '; } // ====== // ADDING // ====== if ($_GET['action']=="add") { // Add the new FTP site if ($_POST['ftpSiteNEW'] != "") { $settingsNew .= ' array( "site" => "' . injClean($_POST['ftpSiteNEW']) . '", "host" => "' . injClean($_POST['ftpHostNEW']) . '", "user" => "' . injClean($_POST['ftpUserNEW']) . '", "pass" => "' . injClean($_POST['ftpPassNEW']) . '", "pasv" => ' . injClean($_POST['ftpPASVNEW']) . ', "mode" => "' . injClean($_POST['ftpModeNEW']) . '", "root" => "' . injClean($_POST['ftpRootNEW']) . '" ), '; } } // =============================================== // UPDATING & REMOVING PLUS UPDATE CONFIG SETTINGS // =============================================== if ("choose" !== $_GET['action'] && "edit" !== $_GET['action']) { // Look at each of the existing FTP sites for ($i = 0; $i < count($oldFTPSites); $i++) { // Updating if ("update" === $_GET['action'] && $i == $_GET['ftpSiteRef']) { $settingsNew .= ' array( "site" => "' . injClean($_POST['ftpSiteNEW']) . '", "host" => "' . injClean($_POST['ftpHostNEW']) . '", "user" => "' . injClean($_POST['ftpUserNEW']) . '", "pass" => "' . injClean($_POST['ftpPassNEW']) . '", "pasv" => ' . injClean($_POST['ftpPASVNEW']) . ', "mode" => "' . injClean($_POST['ftpModeNEW']) . '", "root" => "' . injClean($_POST['ftpRootNEW']) . '" ), '; // Deleting } elseif ("remove" === $_GET['action'] && $i == $_GET['ftpSiteRef']) { // Do nothing, so we ignore this entry now // Entry is as before } else { $settingsNew .= ' array( "site" => "' . $oldFTPSites[$i]['site'] . '", "host" => "' . $oldFTPSites[$i]['host'] . '", "user" => "' . $oldFTPSites[$i]['user'] . '", "pass" => "' . $oldFTPSites[$i]['pass'] . '", "pasv" => ' . ($oldFTPSites[$i]['pasv'] ? 'true' : 'false') . ', "mode" => "' . ('FTP_ASCII' === $oldFTPSites[$i]['mode'] ? 'FTP_ASCII' : 'FTP_BINARY') . '", "root" => "' . $oldFTPSites[$i]['root'] . '" ), '; } } // Rtrim off the last comma $settingsNew = rtrim($settingsNew,', '); $settingsNew .= ' ),' . PHP_EOL; // Now we have a new settingsNew string to use // we can update the FTP sites in the settings file // Identify the bit to replace $repPosStart = strpos($settingsContents, '"ftpSites"'); $repPosEnd = strpos($settingsContents, '"tutorialOnLogin"'); // Compile our new settings $settingsContents = substr($settingsContents, 0, $repPosStart) . $settingsNew . substr($settingsContents, $repPosEnd, strlen($settingsContents)); // Now update the config file if (is_writeable("../data/" . $settingsFile)) { $fh = fopen("../data/" . $settingsFile, 'w'); fwrite($fh, $settingsContents); fclose($fh); // Finally, reload the iFrame screen for the user header("Location: ftp-manager.php?updatedFTPSites&csrf=" . $_SESSION["csrf"]); echo ""; die($t['Saving FTP sites']); } else { echo ""; } } } ?>