Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/filemang...
File: edit_text.php
<?php ini_set('display_errors', 0); // Turns off error display
[0] Fix | Delete
ini_set('log_errors', 1);
[1] Fix | Delete
[2] Fix | Delete
include_once 'function.php';
[3] Fix | Delete
[4] Fix | Delete
[5] Fix | Delete
$title = 'Fix File';
[6] Fix | Delete
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
[7] Fix | Delete
$page = $page <= 0 ? 1 : $page;
[8] Fix | Delete
[9] Fix | Delete
include_once 'header.php';
[10] Fix | Delete
[11] Fix | Delete
echo '<div class="title">' . $title . '</div>';
[12] Fix | Delete
[13] Fix | Delete
if ($dir == null || $name == null || !is_file(processDirectory($dir . '/' . $name))) {
[14] Fix | Delete
echo '<div class="list"><span>The path does not exist</span></div>
[15] Fix | Delete
<div class="title">Function</div>
[16] Fix | Delete
<ul class="list">
[17] Fix | Delete
<li><img src="icon/list.png"/> <a href="index.php' . $pages['paramater_0'] . '">List</a></li>
[18] Fix | Delete
</ul>';
[19] Fix | Delete
} else if (!isFormatText($name) && !isFormatUnknown($name)) {
[20] Fix | Delete
echo '<div class="list"><span>This file is not in text format</span></div>
[21] Fix | Delete
<div class="title">Function</div>
[22] Fix | Delete
<ul class="list">
[23] Fix | Delete
<li><img src="icon/list.png"/> <a href="index.php?dir=' . $dirEncode . $pages['paramater_1'] . '">List</a></li>
[24] Fix | Delete
</ul>';
[25] Fix | Delete
} else {
[26] Fix | Delete
$total = 0;
[27] Fix | Delete
$configs = array('page_file_edit' => 10000,);
[28] Fix | Delete
[29] Fix | Delete
[30] Fix | Delete
[31] Fix | Delete
$index = ($page * $configs['page_file_edit']) - $configs['page_file_edit'];
[32] Fix | Delete
$dir = processDirectory($dir);
[33] Fix | Delete
$path = $dir . '/' . $name;
[34] Fix | Delete
$content = file_get_contents($path);
[35] Fix | Delete
$pageLine = $configs['page_file_edit'];
[36] Fix | Delete
$notice = null;
[37] Fix | Delete
[38] Fix | Delete
if (isset($_POST['s_save'])) {
[39] Fix | Delete
if ((empty($_POST['content']) && strlen($content) <= 0 && $pageLine > 0) || (empty($_POST['content']) && $pageLine <= 0)) {
[40] Fix | Delete
$notice = '<div class="notice_failure">No content has been entered yet</div>';
[41] Fix | Delete
} else {
[42] Fix | Delete
if ($pageLine > 0) {
[43] Fix | Delete
$content = str_replace("\r\n", "\n", $content);
[44] Fix | Delete
$content = str_replace("\r", "\n", $content);
[45] Fix | Delete
[46] Fix | Delete
if (strpos($content, "\n") !== false) {
[47] Fix | Delete
$ex = explode("\n", $content);
[48] Fix | Delete
$count = count($ex);
[49] Fix | Delete
$end = $index + $configs['page_file_edit'] <= $count ? $index + $configs['page_file_edit'] : $count;
[50] Fix | Delete
$content = null;
[51] Fix | Delete
[52] Fix | Delete
if ($index > 0)
[53] Fix | Delete
for ($i = 0; $i < $index; ++$i)
[54] Fix | Delete
$content .= $ex[$i] . "\n";
[55] Fix | Delete
[56] Fix | Delete
$content .= str_replace("\r", "\n", str_replace("\r\n", "\n", $_POST['content']));
[57] Fix | Delete
[58] Fix | Delete
if ($page < ceil($count / $configs['page_file_edit']))
[59] Fix | Delete
for ($i = $end; $i < $count; ++$i)
[60] Fix | Delete
$content .= "\n" . $ex[$i];
[61] Fix | Delete
} else {
[62] Fix | Delete
$content = $_POST['content'];
[63] Fix | Delete
}
[64] Fix | Delete
} else {
[65] Fix | Delete
$content = $_POST['content'];
[66] Fix | Delete
$content = str_replace("\r\n", "\n", $content);
[67] Fix | Delete
$content = str_replace("\r", "\n", $content);
[68] Fix | Delete
}
[69] Fix | Delete
[70] Fix | Delete
if (file_put_contents($path, $content)) {
[71] Fix | Delete
$notice = '<div class="notice_succeed">Save successfully</div>';
[72] Fix | Delete
} else {
[73] Fix | Delete
$notice = '<div class="notice_failure">Save failure</div>';
[74] Fix | Delete
$content = file_get_contents($path);
[75] Fix | Delete
}
[76] Fix | Delete
}
[77] Fix | Delete
}
[78] Fix | Delete
[79] Fix | Delete
if (strlen($content) > 0) {
[80] Fix | Delete
$content = str_replace("\r\n", "\n", $content);
[81] Fix | Delete
$content = str_replace("\r", "\n", $content);
[82] Fix | Delete
[83] Fix | Delete
if ($pageLine > 0 && strpos($content, "\n") !== false) {
[84] Fix | Delete
$ex = explode("\n", $content);
[85] Fix | Delete
$count = count($ex);
[86] Fix | Delete
[87] Fix | Delete
if ($count > $configs['page_file_edit']) {
[88] Fix | Delete
$content = null;
[89] Fix | Delete
$total = ceil($count / $configs['page_file_edit']);
[90] Fix | Delete
$end = $index + $configs['page_file_edit'] <= $count ? $index + $configs['page_file_edit'] : $count;
[91] Fix | Delete
[92] Fix | Delete
for ($i = $index; $i < $end; ++$i) {
[93] Fix | Delete
if ($i >= $end - 1)
[94] Fix | Delete
$content .= $ex[$i];
[95] Fix | Delete
else
[96] Fix | Delete
$content .= $ex[$i] . "\n";
[97] Fix | Delete
}
[98] Fix | Delete
}
[99] Fix | Delete
}
[100] Fix | Delete
}
[101] Fix | Delete
[102] Fix | Delete
$error_syntax = null;
[103] Fix | Delete
$isExecute = isFunctionExecEnable();
[104] Fix | Delete
[105] Fix | Delete
if ($isExecute && isset($_POST['s_check_syntax'])) {
[106] Fix | Delete
@exec(getPathPHP() . ' -c -f -l ' . $path, $output, $value);
[107] Fix | Delete
[108] Fix | Delete
if ($value == -1)
[109] Fix | Delete
$error_syntax = 'Cannot check for holesi';
[110] Fix | Delete
else if ($value == 255 || count($output) == 3)
[111] Fix | Delete
$error_syntax = $output[1];
[112] Fix | Delete
else
[113] Fix | Delete
$error_syntax = 'No error';
[114] Fix | Delete
}
[115] Fix | Delete
[116] Fix | Delete
echo $notice;
[117] Fix | Delete
[118] Fix | Delete
if ($error_syntax != null) {
[119] Fix | Delete
echo '<div class="list">
[120] Fix | Delete
<span class="bull">&bull; </span><span><strong>Error checking</strong><hr/>
[121] Fix | Delete
<div class="break-word">' . $error_syntax . '</div>
[122] Fix | Delete
</div>';
[123] Fix | Delete
}
[124] Fix | Delete
[125] Fix | Delete
echo '<div class="list">
[126] Fix | Delete
<span class="bull">&bull; </span><span>' . printPath($dir, true) . '</span><hr/>
[127] Fix | Delete
<div class="ellipsis break-word">
[128] Fix | Delete
<span class="bull">&bull; </span>File: <strong class="file_name_edit">' . $name . '</strong><hr/>
[129] Fix | Delete
</div>
[130] Fix | Delete
<form action="edit_text.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . ($page > 1 ? '&page=' . $page : null) . '" method="post">
[131] Fix | Delete
<span class="bull">&bull; </span>Content:<br/>
[132] Fix | Delete
<div class="parent_box_edit">
[133] Fix | Delete
<textarea class="box_edit" name="content">' . htmlspecialchars($content) . '</textarea>
[134] Fix | Delete
</div>
[135] Fix | Delete
<div class="search_replace search">
[136] Fix | Delete
<span class="bull">&bull; </span>Search:<br/>
[137] Fix | Delete
<input type="text" name="search" value=""/>
[138] Fix | Delete
</div>
[139] Fix | Delete
<div class="search_replace replace">
[140] Fix | Delete
<span class="bull">&bull; </span>Replace:<br/>
[141] Fix | Delete
<input type="text" name="replace" value=""/>
[142] Fix | Delete
</div>
[143] Fix | Delete
<div class="input_action">' .
[144] Fix | Delete
($isExecute && strtolower(getFormat($name)) == 'php' ? '<input type="checkbox" name="s_check_syntax" value="1"' . (isset($_POST['s_check_syntax']) ? ' checked="checked"' : null) . '/>Error checking' : '') . '<hr/>
[145] Fix | Delete
<input type="submit" name="s_save" value="Save"/>
[146] Fix | Delete
</div>
[147] Fix | Delete
</form>';
[148] Fix | Delete
[149] Fix | Delete
if ($pageLine > 0 && $total > 1)
[150] Fix | Delete
echo page($page, $total, array(PAGE_URL_DEFAULT => 'edit_text.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'], PAGE_URL_START => 'edit_text.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '&page='));
[151] Fix | Delete
[152] Fix | Delete
echo '</div>
[153] Fix | Delete
<div class="title">Function</div>
[154] Fix | Delete
<ul class="list">
[155] Fix | Delete
<li><img src="icon/edit_text_line.png"/> <a href="edit_text_line.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Edit by line</a></li>
[156] Fix | Delete
<li><img src="icon/download.png"/> <a href="file_download.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Download</a></li>
[157] Fix | Delete
<li><img src="icon/info.png"/> <a href="file.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Information</a></li>
[158] Fix | Delete
<li><img src="icon/rename.png"/> <a href="file_rename.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Rename</a></li>
[159] Fix | Delete
<li><img src="icon/copy.png"/> <a href="file_copy.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Copy</a></li>
[160] Fix | Delete
<li><img src="icon/Copy.png"/> <a href="file_Copy.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Move</a></li>
[161] Fix | Delete
<li><img src="icon/delete.png"/> <a href="file_delete.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Delete</a></li>
[162] Fix | Delete
<li><img src="icon/access.png"/> <a href="file_chmod.php?dir=' . $dirEncode . '&name=' . $name . $pages['paramater_1'] . '">Chmod</a></li>
[163] Fix | Delete
<li><img src="icon/list.png"/> <a href="index.php?dir=' . $dirEncode . $pages['paramater_1'] . '">List</a></li>
[164] Fix | Delete
</ul>';
[165] Fix | Delete
}
[166] Fix | Delete
[167] Fix | Delete
include_once 'footer.php';
[168] Fix | Delete
[169] Fix | Delete
[170] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function