'.$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; // 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"); 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'])); // Work out the theme to use now if ($ICEcoder["theme"]=="default") {$themeURL="lib/editor.css";} else {$themeURL=$ICEcoder["codeMirrorDir"]."/theme/".$ICEcoder["theme"].".css";}; // Do we need a file manager refresh? if ($_POST['changedFileSettings']=="true") {$refreshFM="true";} else {$refreshFM="false";}; // With all that worked out, we can now hide the settings screen and apply the new settings echo ""; } // 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; if ($ICEcoder["last10Files"]!="") {$commaExtra=",";} else {$commaExtra="";}; 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 ''; } // 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"];} // Determin our allowed IP addresses $allowedIP = false; for($i=0;$itop.window.location="/";'; }; // Establish our shortened URL, explode the path based on server type (Linux or Windows) if (strpos($_SERVER['DOCUMENT_ROOT'],"/")>-1) {$slashType = "/";} else {$slashType = "\\";}; $shortURLStarts = explode($slashType,$_SERVER['DOCUMENT_ROOT']); // Then clear item at the end if there is one, plus trailing slash // We end up with the directory name of the server root if ($shortURLStarts[count($shortURLStarts)-1]!="") {$trimArray=1;} else {$trimArray=2;} $shortURLStarts = $shortURLStarts[count($shortURLStarts)-$trimArray]; // If we're updating or calling from the index.php page, do/redo plugins & last opened files if ((isset($_POST["theme"]) && $_POST["theme"] && $_SESSION['userLevel'] == 10) || strpos($_SERVER['PHP_SELF'],"index.php")>0) { // If we're updating, we need to recreate the plugins array if (isset($_POST["theme"]) && $_POST["theme"] && $_SESSION['userLevel'] == 10) { $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 if (isset($_POST["theme"]) && $_POST["theme"] && $_SESSION['userLevel'] == 10) { echo ""; } // Work out what plugins we'll need to set on a setInterval $onLoadExtras = ""; for ($i=0;$i ICE Coder - <?php echo $ICEcoder["versionNo"];?> :: Settings
0) { // If we're setting a password if (isset($_POST['accountPassword'])) { $password = generateHash(strClean($_POST['accountPassword'])); $settingsFile = 'lib/config.php'; $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"); fwrite($fh, $settingsContents); fclose($fh); // Set the session user level $_SESSION['userLevel'] = 10; // Finally, load again as now this file has changed and auto login header('Location: index.php'); } else { // We need to set the password header('Location: lib/settings.php?settings=set'); } } // If we're logging in, refresh the file manager and show icons if login is correct if(isset($_POST['loginPassword'])) { if(isset($_POST['loginPassword']) && generateHash(strClean($_POST['loginPassword']),$ICEcoder["accountPassword"])==$ICEcoder["accountPassword"]) { $loginAttempt = 'loginOK'; } else { $loginAttempt = 'loginFailed'; } echo ""; } } ?>