/** * @param string $file * @return array */ private function dataForFile($file) { $loader = $this->scanEngine->getKnownFilesLoader(); $data = array(); if ($isKnownFile = $loader->isKnownFile($file)) { if ($loader->isKnownCoreFile($file)) { $data['cType'] = 'core'; } else { if ($loader->isKnownPluginFile($file)) { $data['cType'] = 'plugin'; list($itemName, $itemVersion, $cKey) = $loader->getKnownPluginData($file); $data = array_merge($data, array('cName' => $itemName, 'cVersion' => $itemVersion, 'cKey' => $cKey)); } else { if ($loader->isKnownThemeFile($file)) { $data['cType'] = 'theme'; list($itemName, $itemVersion, $cKey) = $loader->getKnownThemeData($file); $data = array_merge($data, array('cName' => $itemName, 'cVersion' => $itemVersion, 'cKey' => $cKey)); } } } } $data['canDiff'] = $isKnownFile; $data['canFix'] = $isKnownFile; $data['canDelete'] = !$isKnownFile; return $data; }
/** * @param string $file * @return array */ private function dataForFile($file, $fullPath = null) { $loader = $this->scanEngine->getKnownFilesLoader(); $data = array(); if ($isKnownFile = $loader->isKnownFile($file)) { if ($loader->isKnownCoreFile($file)) { $data['cType'] = 'core'; } else { if ($loader->isKnownPluginFile($file)) { $data['cType'] = 'plugin'; list($itemName, $itemVersion, $cKey) = $loader->getKnownPluginData($file); $data = array_merge($data, array('cName' => $itemName, 'cVersion' => $itemVersion, 'cKey' => $cKey)); } else { if ($loader->isKnownThemeFile($file)) { $data['cType'] = 'theme'; list($itemName, $itemVersion, $cKey) = $loader->getKnownThemeData($file); $data = array_merge($data, array('cName' => $itemName, 'cVersion' => $itemVersion, 'cKey' => $cKey)); } } } } $suppressDelete = false; $canRegenerate = false; if ($fullPath !== null) { $bootstrapPath = wordfence::getWAFBootstrapPath(); $htaccessPath = get_home_path() . '.htaccess'; $userIni = ini_get('user_ini.filename'); $userIniPath = false; if ($userIni) { $userIniPath = get_home_path() . $userIni; } if ($fullPath == $htaccessPath) { $suppressDelete = true; } else { if ($userIniPath !== false && $fullPath == $userIniPath) { $suppressDelete = true; } else { if ($fullPath == $bootstrapPath) { $suppressDelete = true; $canRegenerate = true; } } } } $data['canDiff'] = $isKnownFile; $data['canFix'] = $isKnownFile; $data['canDelete'] = !$isKnownFile && !$canRegenerate && !$suppressDelete; $data['canRegenerate'] = $canRegenerate; return $data; }