|
1 | 1 | <?php
|
| 2 | +require_once dirname(__FILE__) . "/../classes/Settings.php"; |
| 3 | + |
| 4 | +$settingsClass = new \ICEcoder\Settings(); |
| 5 | + |
2 | 6 | include_once("settings-common.php");
|
3 | 7 | $text = $_SESSION['text'];
|
4 | 8 | $t = $text['settings-save-current-files'];
|
5 | 9 |
|
6 | 10 | // Save the currently opened files for next time
|
7 | 11 | if ($_SESSION['loggedIn'] && isset($_GET["saveFiles"]) && $_GET['saveFiles']) {
|
8 |
| - $settingsContents = getData("../data/".$settingsFile); |
9 |
| - |
10 |
| - // Replace our previousFiles var with the the current |
11 |
| - $repPosStart = strpos($settingsContents,'previousFiles" => "')+20; |
12 |
| - $repPosEnd = strpos($settingsContents,'",',$repPosStart)-$repPosStart; |
13 | 12 | if (!$demoMode) {
|
14 |
| - if ($_GET['saveFiles']!="CLEAR") { |
15 |
| - $saveFiles=$_GET['saveFiles']; |
16 |
| - $saveFilesArray = explode(",",$saveFiles); |
17 |
| - $saveFiles=""; |
18 |
| - for ($i=0;$i<count($saveFilesArray);$i++) { |
19 |
| - $saveFilesArray[$i] = str_replace("/","|",$docRoot).$saveFilesArray[$i]; |
20 |
| - $saveFiles .= $saveFilesArray[$i].","; |
| 13 | + $saveFilesArray = []; |
| 14 | + if ("CLEAR" !== $_GET['saveFiles']) { |
| 15 | + $saveFilesArray = explode(",", $_GET['saveFiles']); |
| 16 | + for ($i = 0; $i < count($saveFilesArray); $i++) { |
| 17 | + $saveFilesArray[$i] = str_replace("/", "|", $docRoot) . $saveFilesArray[$i]; |
21 | 18 | }
|
22 |
| - $saveFiles = rtrim($saveFiles,","); |
23 |
| - } else { |
24 |
| - $saveFilesArray = array(); |
25 |
| - $saveFiles = ""; |
26 | 19 | }
|
27 |
| - $settingsContents = substr($settingsContents,0,$repPosStart).$saveFiles.substr($settingsContents,($repPosStart+$repPosEnd),strlen($settingsContents)); |
28 | 20 | // Now update the config file
|
29 |
| - if (is_writeable("../data/".$settingsFile)) { |
30 |
| - $fh = fopen("../data/".$settingsFile, 'w'); |
31 |
| - fwrite($fh, $settingsContents); |
32 |
| - fclose($fh); |
33 |
| - } else { |
| 21 | + if (false === $settingsClass->savePreviousFiles($settingsFile, $saveFilesArray)) { |
34 | 22 | echo "<script>parent.parent.ICEcoder.message('".$t['Cannot update config...']." data/".$settingsFile." ".$t['and try again']."');</script>";
|
35 | 23 | }
|
36 |
| - |
37 | 24 | // Update our last10Files var?
|
38 |
| - $last10FilesArray = explode(",",$ICEcoder["last10Files"]); |
39 |
| - for ($i=0;$i<count($saveFilesArray);$i++) { |
40 |
| - $inLast10Files = in_array($saveFilesArray[$i],$last10FilesArray); |
41 |
| - if (!$inLast10Files && $saveFilesArray[$i] !="") { |
42 |
| - $repPosStart = strpos($settingsContents,'last10Files" => "')+18; |
43 |
| - $repPosEnd = strpos($settingsContents,'"',$repPosStart)-$repPosStart; |
44 |
| - $commaExtra = $ICEcoder["last10Files"]!="" ? "," : ""; |
45 |
| - if (count($last10FilesArray)>=10) {$ICEcoder["last10Files"]=substr($ICEcoder["last10Files"],0,strrpos($ICEcoder["last10Files"],','));}; |
46 |
| - $settingsContents = substr($settingsContents,0,$repPosStart).$saveFilesArray[$i].$commaExtra.$ICEcoder["last10Files"].substr($settingsContents,($repPosStart+$repPosEnd),strlen($settingsContents)); |
| 25 | + for ($i = 0; $i < count($saveFilesArray); $i++) { |
| 26 | + $inLast10Files = in_array($saveFilesArray[$i], $ICEcoder["last10Files"]); |
| 27 | + if (false === $inLast10Files && "" !== $saveFilesArray[$i]) { |
| 28 | + $ICEcoder["last10Files"][] = $saveFilesArray[$i]; |
| 29 | + echo "<script>console.log(".count($saveFilesArray).count($ICEcoder["last10Files"]).");</script>"; |
| 30 | + if (10 <= count($ICEcoder["last10Files"])) { |
| 31 | + $ICEcoder["last10Files"] = array_slice($ICEcoder["last10Files"], 0, 10); |
| 32 | + }; |
47 | 33 | // Now update the config file
|
48 |
| - if (is_writeable("../data/".$settingsFile)) { |
49 |
| - $fh = fopen("../data/".$settingsFile, 'w'); |
50 |
| - fwrite($fh, $settingsContents); |
51 |
| - fclose($fh); |
52 |
| - } else { |
| 34 | + if (false === $settingsClass->saveLast10Files($settingsFile, $ICEcoder["last10Files"])) { |
53 | 35 | echo "<script>parent.parent.ICEcoder.message('".$t['Cannot update config...']." data/".$settingsFile." ".$t['and try again']."');</script>";
|
54 |
| - } |
| 36 | + } else { |
| 37 | + echo "<script>console.log(".$ICEcoder["last10Files"][$i].");</script>"; |
| 38 | + } |
55 | 39 | }
|
56 | 40 | }
|
57 | 41 | }
|
|
0 commit comments