protected function markModified()
{
// Return if marked as modified already
if ($this->blnIsModified === true) {
return;
}
$this->blnIsModified = true;
// Reset the top and bottom content (see #344)
$this->strTop = '';
$this->strBottom = '';
// Import the Files object (required in the destructor)
$this->Files = \Files::getInstance();
// Parse the local configuration file
if (static::$blnHasLcf) {
$strMode = 'top';
$resFile = fopen(TL_ROOT . '/system/config/localconfig.php', 'rb');
while (!feof($resFile)) {
$strLine = fgets($resFile);
$strTrim = trim($strLine);
if ($strTrim == '?>') {
continue;
}
if ($strTrim == '### INSTALL SCRIPT START ###') {
$strMode = 'data';
continue;
}
if ($strTrim == '### INSTALL SCRIPT STOP ###') {
$strMode = 'bottom';
continue;
}
if ($strMode == 'top') {
$this->strTop .= $strLine;
} elseif ($strMode == 'bottom') {
$this->strBottom .= $strLine;
} elseif ($strTrim != '') {
$arrChunks = array_map('trim', explode('=', $strLine, 2));
$this->arrData[$arrChunks[0]] = $arrChunks[1];
}
}
fclose($resFile);
}
}