$_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; // 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 $ICEcoder["theme"]=="default" ? $themeURL = 'lib/editor.css' : $themeURL = $ICEcoder["codeMirrorDir"].'/theme/'.$ICEcoder["theme"].'.css'; // Do we need a file manager refresh? $refreshFM = $_POST['changedFileSettings']=="true" ? "true" : "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; $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 ''; } // 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) $slashType = strpos($_SERVER['DOCUMENT_ROOT'],"/")>-1 ? "/" : "\\"; $shortURLStarts = explode($slashType,$ICEcoder['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 $trimArray = $shortURLStarts[count($shortURLStarts)-1]!="" ? 1 : 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 ""; } } ?>