From 22e6228a0866d73c20b273bae03398b63b88cbb2 Mon Sep 17 00:00:00 2001 From: Matt Pass Date: Mon, 24 Dec 2012 13:16:00 +0000 Subject: [PATCH] Version 1.3 --- lib/settings.php | 558 +++++++++++++++++++++++------------------------ 1 file changed, 279 insertions(+), 279 deletions(-) diff --git a/lib/settings.php b/lib/settings.php index d8d3cb2..36c5a1c 100644 --- a/lib/settings.php +++ b/lib/settings.php @@ -1,280 +1,280 @@ - "1.2", - "codeMirrorDir" => "CodeMirror-3.0", - "demoMode" => false -)+$ICEcoder; - -$onLoadExtras = ""; -$pluginsDisplay = ""; - -if ($ICEcoder['demoMode'] && $ICEcoder['accountPassword']!="") {$_SESSION['loggedIn']=true;}; -$demoMode = $ICEcoder['demoMode']; - -// Update this config file? -if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset($_POST["theme"]) && $_POST["theme"]) { - $settingsContents = file_get_contents($settingsFile); - // Replace our settings vars - $repPosStart = strpos($settingsContents,'"root"'); - $repPosEnd = strpos($settingsContents,'"previousFiles"'); - - // Prepare all our vars - $ICEcoder["root"] = strClean($_POST['root']); - $ICEcoder["tabsIndent"] = isset($_POST['tabsIndent']) && $_POST['tabsIndent'] ? "true" : "false"; - $ICEcoder["checkUpdates"] = isset($_POST['checkUpdates']) && $_POST['checkUpdates'] ? "true" : "false"; - $ICEcoder["openLastFiles"] = isset($_POST['openLastFiles']) && $_POST['openLastFiles'] ? "true" : "false"; - $ICEcoder["findFilesExclude"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['findFilesExclude']))).'")'; - $ICEcoder["codeAssist"] = isset($_POST['codeAssist']) && $_POST['codeAssist'] ? "true" : "false"; - $ICEcoder["visibleTabs"] = isset($_POST['visibleTabs']) && $_POST['visibleTabs'] ? "true" : "false"; - $ICEcoder["lockedNav"] = isset($_POST['lockedNav']) && $_POST['lockedNav'] ? "true" : "false"; - if ($_POST['accountPassword']!="") {$ICEcoder["accountPassword"] = generateHash(strClean($_POST['accountPassword']));}; - $ICEcoder["bannedFiles"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedFiles']))).'")'; - $ICEcoder["bannedPaths"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedPaths']))).'")'; - $ICEcoder["allowedIPs"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['allowedIPs']))).'")'; - $ICEcoder["plugins"] = 'array('.PHP_EOL.' array('.PHP_EOL.' '.str_replace('====================','),'.PHP_EOL.' array(',$_POST['plugins']).'))'; - $ICEcoder["theme"] = strClean($_POST['theme']); - $ICEcoder["lineWrapping"] = strClean($_POST['lineWrapping']); - $ICEcoder["tabWidth"] = numClean($_POST['tabWidth']); - - $settingsArray = array("root","tabsIndent","checkUpdates","openLastFiles","findFilesExclude","codeAssist","visibleTabs","lockedNav","accountPassword","bannedFiles","bannedPaths","allowedIPs","plugins","theme","lineWrapping","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/".$settingsFile." and press refresh"); - fwrite($fh, $settingsContents); - fclose($fh); - - // OK, now the config file has been updated, update our current session with new arrays - $settingsArray = array("findFilesExclude","bannedFiles","allowedIPs"); - for ($i=0;$itop.ICEcoder.settingsScreen('hide');top.ICEcoder.useNewSettings('".$themeURL."',".$ICEcoder["tabsIndent"].",".$ICEcoder["codeAssist"].",".$ICEcoder["lockedNav"].",".$ICEcoder["visibleTabs"].",".$ICEcoder["lineWrapping"].",".$ICEcoder["tabWidth"].",".$refreshFM.");"; -} - -// Establish our user level -if (!isset($_SESSION['loggedIn'])) {$_SESSION['loggedIn'] = false;}; -if(isset($_POST['loginPassword']) && generateHash(strClean($_POST['loginPassword']),$ICEcoder["accountPassword"])==$ICEcoder["accountPassword"]) {$_SESSION['loggedIn'] = true; header('Location: ../');}; -$_SESSION['loggedIn'] = $_SESSION['loggedIn']; - -// Define the serverType, docRoot & iceRoot -$serverType = stristr($_SERVER['SERVER_SOFTWARE'], "win") ? "Windows" : "Linux"; -$docRoot = rtrim(str_replace("\\","/",$_SERVER['DOCUMENT_ROOT'])); -$iceRoot = rtrim(str_replace("\\","/",$ICEcoder["root"])); -if ($_SESSION['loggedIn']) { - echo ""; -} - -// Setup our file security vars -$settingsArray = array("findFilesExclude","bannedFiles","allowedIPs"); -for ($i=0;$itop.window.location="/";'; -}; - -// Save the currently opened files for next time -if ($_SESSION['loggedIn'] && isset($_GET["saveFiles"]) && $_GET['saveFiles']) { - $settingsContents = file_get_contents($settingsFile); - - // Replace our previousFiles var with the the current - $repPosStart = strpos($settingsContents,'previousFiles" => "')+20; - $repPosEnd = strpos($settingsContents,'",',$repPosStart)-$repPosStart; - if (!$demoMode && $_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." and press refresh"); - fwrite($fh, $settingsContents); - } - } - fclose($fh); - } - echo ''; -} - -// If we're updating, do/redo plugins -if ($_SESSION['loggedIn']) { - // If we're updating, we need to recreate the plugins array - if (isset($_POST["theme"]) && $_POST["theme"]) { - $ICEcoder["plugins"] = array(); - $pluginsArray = explode("====================",str_replace("\"","",str_replace("\r","",str_replace("\n","",$_POST['plugins'])))); - for ($i=0;$i'.$ICEcoder['; - }; - - // If we're updating, replace the plugin display with our newly established one - echo ""; - - // Work out what plugins we'll need to set on a setInterval - $onLoadExtras = ""; - for ($i=0;$i - - "",','"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 ".$settingsFile." and press refresh"); - fwrite($fh, $settingsContents); - fclose($fh); - // Set the session user level - $_SESSION['loggedIn'] = true; - // Finally, load again as now this file has changed and auto login - header('Location: ../'); - } -?> - - - - -ICEcoder <?php -echo $ICEcoder["versionNo"]." : "; -echo $ICEcoder["accountPassword"] == "" ? "Setup" : "Login"; -?> - - - - - - -Password.focus()"> - -
-
-
- -
v
-
- Password" class="accountPassword">

- " class="button"> -
-
-
-
- - - - - "1.3", + "codeMirrorDir" => "CodeMirror-3.0", + "demoMode" => false +)+$ICEcoder; + +$onLoadExtras = ""; +$pluginsDisplay = ""; + +if ($ICEcoder['demoMode'] && $ICEcoder['accountPassword']!="") {$_SESSION['loggedIn']=true;}; +$demoMode = $ICEcoder['demoMode']; + +// Update this config file? +if (!$demoMode && isset($_SESSION['loggedIn']) && $_SESSION['loggedIn'] && isset($_POST["theme"]) && $_POST["theme"]) { + $settingsContents = file_get_contents($settingsFile); + // Replace our settings vars + $repPosStart = strpos($settingsContents,'"root"'); + $repPosEnd = strpos($settingsContents,'"previousFiles"'); + + // Prepare all our vars + $ICEcoder["root"] = strClean($_POST['root']); + $ICEcoder["tabsIndent"] = isset($_POST['tabsIndent']) && $_POST['tabsIndent'] ? "true" : "false"; + $ICEcoder["checkUpdates"] = isset($_POST['checkUpdates']) && $_POST['checkUpdates'] ? "true" : "false"; + $ICEcoder["openLastFiles"] = isset($_POST['openLastFiles']) && $_POST['openLastFiles'] ? "true" : "false"; + $ICEcoder["findFilesExclude"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['findFilesExclude']))).'")'; + $ICEcoder["codeAssist"] = isset($_POST['codeAssist']) && $_POST['codeAssist'] ? "true" : "false"; + $ICEcoder["visibleTabs"] = isset($_POST['visibleTabs']) && $_POST['visibleTabs'] ? "true" : "false"; + $ICEcoder["lockedNav"] = isset($_POST['lockedNav']) && $_POST['lockedNav'] ? "true" : "false"; + if ($_POST['accountPassword']!="") {$ICEcoder["accountPassword"] = generateHash(strClean($_POST['accountPassword']));}; + $ICEcoder["bannedFiles"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedFiles']))).'")'; + $ICEcoder["bannedPaths"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['bannedPaths']))).'")'; + $ICEcoder["allowedIPs"] = 'array("'.str_replace(',','","',str_replace(" ","",strClean($_POST['allowedIPs']))).'")'; + $ICEcoder["plugins"] = 'array('.PHP_EOL.' array('.PHP_EOL.' '.str_replace('====================','),'.PHP_EOL.' array(',$_POST['plugins']).'))'; + $ICEcoder["theme"] = strClean($_POST['theme']); + $ICEcoder["lineWrapping"] = strClean($_POST['lineWrapping']); + $ICEcoder["tabWidth"] = numClean($_POST['tabWidth']); + + $settingsArray = array("root","tabsIndent","checkUpdates","openLastFiles","findFilesExclude","codeAssist","visibleTabs","lockedNav","accountPassword","bannedFiles","bannedPaths","allowedIPs","plugins","theme","lineWrapping","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/".$settingsFile." and press refresh"); + fwrite($fh, $settingsContents); + fclose($fh); + + // OK, now the config file has been updated, update our current session with new arrays + $settingsArray = array("findFilesExclude","bannedFiles","allowedIPs"); + for ($i=0;$itop.ICEcoder.settingsScreen('hide');top.ICEcoder.useNewSettings('".$themeURL."',".$ICEcoder["tabsIndent"].",".$ICEcoder["codeAssist"].",".$ICEcoder["lockedNav"].",".$ICEcoder["visibleTabs"].",".$ICEcoder["lineWrapping"].",".$ICEcoder["tabWidth"].",".$refreshFM.");"; +} + +// Establish our user level +if (!isset($_SESSION['loggedIn'])) {$_SESSION['loggedIn'] = false;}; +if(isset($_POST['loginPassword']) && generateHash(strClean($_POST['loginPassword']),$ICEcoder["accountPassword"])==$ICEcoder["accountPassword"]) {$_SESSION['loggedIn'] = true; header('Location: ../');}; +$_SESSION['loggedIn'] = $_SESSION['loggedIn']; + +// Define the serverType, docRoot & iceRoot +$serverType = stristr($_SERVER['SERVER_SOFTWARE'], "win") ? "Windows" : "Linux"; +$docRoot = rtrim(str_replace("\\","/",$_SERVER['DOCUMENT_ROOT'])); +$iceRoot = rtrim(str_replace("\\","/",$ICEcoder["root"])); +if ($_SESSION['loggedIn']) { + echo ""; +} + +// Setup our file security vars +$settingsArray = array("findFilesExclude","bannedFiles","allowedIPs"); +for ($i=0;$itop.window.location="/";'; +}; + +// Save the currently opened files for next time +if ($_SESSION['loggedIn'] && isset($_GET["saveFiles"]) && $_GET['saveFiles']) { + $settingsContents = file_get_contents($settingsFile); + + // Replace our previousFiles var with the the current + $repPosStart = strpos($settingsContents,'previousFiles" => "')+20; + $repPosEnd = strpos($settingsContents,'",',$repPosStart)-$repPosStart; + if (!$demoMode && $_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." and press refresh"); + fwrite($fh, $settingsContents); + } + } + fclose($fh); + } + echo ''; +} + +// If we're updating, do/redo plugins +if ($_SESSION['loggedIn']) { + // If we're updating, we need to recreate the plugins array + if (isset($_POST["theme"]) && $_POST["theme"]) { + $ICEcoder["plugins"] = array(); + $pluginsArray = explode("====================",str_replace("\"","",str_replace("\r","",str_replace("\n","",$_POST['plugins'])))); + for ($i=0;$i'.$ICEcoder['; + }; + + // If we're updating, replace the plugin display with our newly established one + echo ""; + + // Work out what plugins we'll need to set on a setInterval + $onLoadExtras = ""; + for ($i=0;$i + + "",','"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 ".$settingsFile." and press refresh"); + fwrite($fh, $settingsContents); + fclose($fh); + // Set the session user level + $_SESSION['loggedIn'] = true; + // Finally, load again as now this file has changed and auto login + header('Location: ../'); + } +?> + + + + +ICEcoder <?php +echo $ICEcoder["versionNo"]." : "; +echo $ICEcoder["accountPassword"] == "" ? "Setup" : "Login"; +?> + + + + + + +Password.focus()"> + +
+
+
+ +
v
+
+ Password" class="accountPassword">

+ " class="button"> +
+
+
+
+ + + + + \ No newline at end of file