protected function getSourceCode($files)
{
for ($j = 0; $j < count($files); $j++) {
$src = [];
$txt = '';
if (isset($files[$j]['file'])) {
$sourceFile = $files[$j]['file'];
$fromLine = $files[$j]['line'] - 3;
$toLine = $fromLine + 6;
$i = 0;
$handle = fopen($sourceFile, "r");
if ($handle) {
$src[] = '<?php' . PHP_EOL;
while (($line = fgets($handle)) !== false) {
$line = str_replace("\r\n", "\n", $line);
$line = str_replace("\r", "\n", $line);
$i++;
if ($i >= $fromLine && $i <= $toLine) {
$txt .= $i . ':' . $line;
if ($i == $files[$j]['line']) {
$src[] = '-@' . $i . ':' . substr($line, 0, -1) . '@-';
} else {
$src[] = $i . ':' . $line;
}
}
}
fclose($handle);
$src = highlight_string(implode("", $src), true);
$src = str_replace('-@', '<div style="background-color:#FFDFD8 !important">', $src);
$src = str_replace('@-', '</div>', $src);
$src = str_replace('<?php<br />', '', $src);
$src = str_replace('\\n', '', $src);
$files[$j]['src'] = $src;
$files[$j]['source'] = $txt;
$files[$j]['fileName'] = '..' . substr($files[$j]['file'], strlen(base_path()));
$files[$j]['tag'] = strpos($files[$j]['file'], app_path()) === false ? 'vendor' : 'my code';
}
}
}
return $files;
}