diff --git a/lib/settings.php b/lib/settings.php index 62e07e2..4c0dfe7 100644 --- a/lib/settings.php +++ b/lib/settings.php @@ -1,5 +1,6 @@ "v 0.7.9", + "codeMirrorDir" => "CodeMirror-2.32", + "cMThisVer" => 2.32 +)+$ICEcoder; // Update this config file? if (isset($_POST["theme"]) && $_POST["theme"] && $_SESSION['userLevel'] == 10) { - $settingsFile = 'config.php'; $settingsContents = file_get_contents($settingsFile); // Replace our settings vars $repPosStart = strpos($settingsContents,'"root"'); @@ -53,34 +58,26 @@ if (isset($_POST["theme"]) && $_POST["theme"] && $_SESSION['userLevel'] == 10) { $ICEcoder["theme"] = strClean($_POST['theme']); $ICEcoder["tabWidth"] = numClean($_POST['tabWidth']); - $settingsNew = '"root" => $_SERVER[\'DOCUMENT_ROOT\']."'.$ICEcoder["root"].'",'.PHP_EOL; - $settingsNew .= '"tabsIndent" => '.$ICEcoder["tabsIndent"].','.PHP_EOL; - $settingsNew .= '"checkUpdates" => '.$ICEcoder["checkUpdates"].','.PHP_EOL; - $settingsNew .= '"openLastFiles" => '.$ICEcoder["openLastFiles"].','.PHP_EOL; - $settingsNew .= '"findFilesExclude" => '.$ICEcoder["findFilesExclude"].','.PHP_EOL; - $settingsNew .= '"codeAssist" => '.$ICEcoder["codeAssist"].','.PHP_EOL; - $settingsNew .= '"visibleTabs" => '.$ICEcoder["visibleTabs"].','.PHP_EOL; - $settingsNew .= '"lockedNav" => '.$ICEcoder["lockedNav"].','.PHP_EOL; - $settingsNew .= '"accountPassword" => "'.$ICEcoder["accountPassword"].'",'.PHP_EOL; - $settingsNew .= '"restrictedFiles" => '.$ICEcoder["restrictedFiles"].','.PHP_EOL; - $settingsNew .= '"bannedFiles" => '.$ICEcoder["bannedFiles"].','.PHP_EOL; - $settingsNew .= '"allowedIPs" => '.$ICEcoder["allowedIPs"].','.PHP_EOL; - $settingsNew .= '"plugins" => '.$ICEcoder["plugins"].','.PHP_EOL; - $settingsNew .= '"theme" => "'.$ICEcoder["theme"].'",'.PHP_EOL; - $settingsNew .= '"tabWidth" => '.$ICEcoder["tabWidth"].','.PHP_EOL; + $settingsArray = array("root","tabsIndent","checkUpdates","openLastFiles","findFilesExclude","codeAssist","visibleTabs","lockedNav","accountPassword","restrictedFiles","bannedFiles","allowedIPs","plugins","theme","tabWidth"); + $settingsNew = ""; + for ($i=0;$i '; + $settingWrap = $settingsArray[$i]=="root"||$settingsArray[$i]=="accountPassword"||$settingsArray[$i]=="theme" ? '"' : ''; + $settingsNew .= $settingWrap.$ICEcoder[$settingsArray[$i]].$settingWrap.','.PHP_EOL.PHP_EOL; + } // Compile our new settings $settingsContents = substr($settingsContents,0,$repPosStart).$settingsNew.substr($settingsContents,($repPosEnd),strlen($settingsContents)); // Now update the config file - $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on lib/config.php and press refresh"); + $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on lib/".$settingsFile." and press refresh"); fwrite($fh, $settingsContents); fclose($fh); // OK, now the config file has been updated, update our current session with new arrays - $_SESSION['findFilesExclude'] = $ICEcoder["findFilesExclude"] = explode(", ",strClean($_POST['findFilesExclude'])); - $_SESSION['restrictedFiles'] = $ICEcoder["restrictedFiles"] = explode(", ",strClean($_POST['restrictedFiles'])); - $_SESSION['bannedFiles'] = $ICEcoder["bannedFiles"] = explode(", ",strClean($_POST['bannedFiles'])); - $_SESSION['allowedIPs'] = $ICEcoder["allowedIPs"] = explode(", ",strClean($_POST['allowedIPs'])); + $settingsArray = array("findFilesExclude","restrictedFiles","bannedFiles","allowedIPs"); + for ($i=0;$itop.ICEcoder.settingsScreen('hide');top.ICEcoder.useNewSettings('".$themeURL."',".$ICEcoder["tabsIndent"].",".$ICEcoder["codeAssist"].",".$ICEcoder["lockedNav"].",".$ICEcoder["visibleTabs"].",".$ICEcoder["tabWidth"].",".$refreshFM.");"; } -// Save the currently opened files for next time -if (isset($_GET["saveFiles"]) && $_GET['saveFiles']) { - if ($_SESSION['userLevel'] == 10) { - $settingsFile = 'config.php'; - $settingsContents = file_get_contents($settingsFile); - - // Replace our previousFiles var with the the current - $repPosStart = strpos($settingsContents,'previousFiles" => "')+20; - $repPosEnd = strpos($settingsContents,'",',$repPosStart)-$repPosStart; - if ($_GET['saveFiles']!="CLEAR") { - $saveFiles=strClean($_GET['saveFiles']); - $settingsContents1 = substr($settingsContents,0,$repPosStart).$saveFiles.substr($settingsContents,($repPosStart+$repPosEnd),strlen($settingsContents)); - // Now update the config file - $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on lib/config.php"); - fwrite($fh, $settingsContents1); - - // Update our last10Files var? - $saveFilesArray = explode(",",$saveFiles); - $last10FilesArray = explode(",",$ICEcoder["last10Files"]); - for ($i=0;$i "')+18; - $repPosEnd = strpos($settingsContents1,'"',$repPosStart)-$repPosStart; - $commaExtra = $ICEcoder["last10Files"]!="" ? "," : ""; - if (count($last10FilesArray)>=10) {$ICEcoder["last10Files"]=substr($ICEcoder["last10Files"],0,strrpos($ICEcoder["last10Files"],','));}; - $settingsContents2 = substr($settingsContents1,0,$repPosStart).$saveFilesArray[$i].$commaExtra.$ICEcoder["last10Files"].substr($settingsContents1,($repPosStart+$repPosEnd),strlen($settingsContents1)); - // Now update the config file - $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on lib/config.php"); - fwrite($fh, $settingsContents2); - } - } - } - fclose($fh); - } - echo ''; -} +// Define the docRoot & iceRoot +$docRoot = rtrim(str_replace("\\","/",$_SERVER['DOCUMENT_ROOT'])); +$iceRoot = rtrim(str_replace("\\","/",$ICEcoder["root"])); // Establish our user level if (!isset($_SESSION['userLevel'])) {$_SESSION['userLevel'] = 0;}; if(isset($_POST['loginPassword']) && generateHash(strClean($_POST['loginPassword']),$ICEcoder["accountPassword"])==$ICEcoder["accountPassword"]) {$_SESSION['userLevel'] = 10;}; $_SESSION['userLevel'] = $_SESSION['userLevel']; -if (!isset($_SESSION['findFilesExclude'])) {$_SESSION['findFilesExclude'] = $ICEcoder["findFilesExclude"];} -if (!isset($_SESSION['restrictedFiles'])) {$_SESSION['restrictedFiles'] = $ICEcoder["restrictedFiles"];} -if (!isset($_SESSION['bannedFiles'])) {$_SESSION['bannedFiles'] = $ICEcoder["bannedFiles"];} -if (!isset($_SESSION['allowedIPs'])) {$_SESSION['allowedIPs'] = $ICEcoder["allowedIPs"];} +// Setup our file security vars +$settingsArray = array("findFilesExclude","restrictedFiles","bannedFiles","allowedIPs"); +for ($i=0;$itop.window.location="/";'; }; -// Establish our shortened URL, explode the path based on server type (Linux or Windows) -$slashType = strpos($_SERVER['DOCUMENT_ROOT'],"/")>-1 ? "/" : "\\"; -$shortURLStarts = explode($slashType,$ICEcoder['root']); +// Save the currently opened files for next time +if (isset($_GET["saveFiles"]) && $_GET['saveFiles']) { + if ($_SESSION['userLevel'] == 10) { + $settingsContents = file_get_contents($settingsFile); -// Then clear item at the end if there is one, plus trailing slash -// We end up with the directory name of the server root -$trimArray = $shortURLStarts[count($shortURLStarts)-1]!="" ? 1 : 2; -$shortURLStarts = $shortURLStarts[count($shortURLStarts)-$trimArray]; + // Replace our previousFiles var with the the current + $repPosStart = strpos($settingsContents,'previousFiles" => "')+20; + $repPosEnd = strpos($settingsContents,'",',$repPosStart)-$repPosStart; + if ($_GET['saveFiles']!="CLEAR") { + $saveFiles=strClean($_GET['saveFiles']); + $saveFilesArray = explode(",",$saveFiles); + $saveFiles=""; + for ($i=0;$i "')+18; + $repPosEnd = strpos($settingsContents,'"',$repPosStart)-$repPosStart; + $commaExtra = $ICEcoder["last10Files"]!="" ? "," : ""; + if (count($last10FilesArray)>=10) {$ICEcoder["last10Files"]=substr($ICEcoder["last10Files"],0,strrpos($ICEcoder["last10Files"],','));}; + $settingsContents = substr($settingsContents,0,$repPosStart).$saveFilesArray[$i].$commaExtra.$ICEcoder["last10Files"].substr($settingsContents,($repPosStart+$repPosEnd),strlen($settingsContents)); + // Now update the config file + $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on lib/".$settingsFile); + fwrite($fh, $settingsContents); + } + } + } + fclose($fh); + } + echo ''; +} // If we're updating or calling from the index.php page, do/redo plugins if ((isset($_POST["theme"]) && $_POST["theme"] && $_SESSION['userLevel'] == 10) || strpos($_SERVER['PHP_SELF'],"index.php")>0) { @@ -215,7 +213,7 @@ if ($ICEcoder["accountPassword"] == "" && isset($_GET['settings'])) { - ICE Coder - <?php echo $ICEcoder["versionNo"];?> :: Settings + ICEcoder <?php echo $ICEcoder["versionNo"];?> setup @@ -226,7 +224,7 @@ if ($ICEcoder["accountPassword"] == "" && isset($_GET['settings'])) {
-
+
@@ -246,12 +244,12 @@ if ($ICEcoder["accountPassword"] == "" && isset($_GET['settings'])) { if (isset($_POST['accountPassword'])) { $password = generateHash(strClean($_POST['accountPassword'])); - $settingsFile = 'lib/config.php'; + $settingsFile = 'lib/'.$settingsFile; $settingsContents = file_get_contents($settingsFile); // Replace our empty password with the one submitted by user $settingsContents = str_replace('"accountPassword" => "",','"accountPassword" => "'.$password.'",',$settingsContents); // Now update the config file - $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on lib/config.php"); + $fh = fopen($settingsFile, 'w') or die("Can't update config file. Please set public write permissions on ".$settingsFile); fwrite($fh, $settingsContents); fclose($fh); // Set the session user level