Skip to content
This repository was archived by the owner on Dec 14, 2023. It is now read-only.

Commit 105b073

Browse files
author
mattpass
committed
Overhaul setting previousFiles and last10Files to use class methods
1 parent c082a1a commit 105b073

File tree

1 file changed

+22
-38
lines changed

1 file changed

+22
-38
lines changed

lib/settings-save-current-files.php

Lines changed: 22 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,41 @@
11
<?php
2+
require_once dirname(__FILE__) . "/../classes/Settings.php";
3+
4+
$settingsClass = new \ICEcoder\Settings();
5+
26
include_once("settings-common.php");
37
$text = $_SESSION['text'];
48
$t = $text['settings-save-current-files'];
59

610
// Save the currently opened files for next time
711
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;
1312
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];
2118
}
22-
$saveFiles = rtrim($saveFiles,",");
23-
} else {
24-
$saveFilesArray = array();
25-
$saveFiles = "";
2619
}
27-
$settingsContents = substr($settingsContents,0,$repPosStart).$saveFiles.substr($settingsContents,($repPosStart+$repPosEnd),strlen($settingsContents));
2820
// 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)) {
3422
echo "<script>parent.parent.ICEcoder.message('".$t['Cannot update config...']." data/".$settingsFile." ".$t['and try again']."');</script>";
3523
}
36-
3724
// 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+
};
4733
// 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"])) {
5335
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+
}
5539
}
5640
}
5741
}

0 commit comments

Comments
 (0)