function jdGetScanStatus() { require_once JPATH_COMPONENT_ADMINISTRATOR . DS . 'helpers' . DS . 'log.php'; $objResponse = new xajaxResponse(); $controller = new JDefenderControllerScan(); $scanStatus = $controller->scan($doLog = JD_Scan_Helper::isLogging()); $scanInfo = JD_Vars_Helper::getGroup('jdefender_scan'); if (empty($scanInfo)) { $scanInfo = array(); } unset($scanInfo['status']); $progress = 0; if (!empty($scanInfo['total'])) { $scanned = 0; $scanned += @$scanInfo['files']; $scanned += @$scanInfo['dirs']; $progress = (int) floor($scanned / $scanInfo['total'] * 100); } $objResponse->assign('scanstatus', 'innerHTML', JText::_('Progress') . ': ' . $progress . '%'); $objResponse->script('setProgress(' . $progress . ');'); $objResponse->script('blink("scanstatus", 2);'); $js = array(); foreach ($scanInfo as $k => $v) { if ($k == 'last_scan_date') { continue; } $titles = JD_Log_Helper::readableLogType($k); if ($titles) { $js[] = '"' . addslashes(JHTML::link('index.php?option=com_jdefender&controller=log&task=showLog&cid[]=' . $k, $titles->title, 'target="_blank"')) . '" : ' . (int) $v; } else { $js[] = $k . ': ' . (int) $v; } } $js = '{' . implode(', ', $js) . '}'; $objResponse->script('onInfoUpdated("' . addslashes($js) . '")'); // Check scan status. if ($scanStatus && is_array($scanStatus) && count($scanStatus) == 2) { list($filesystemScanComplete, $optionScanComplete) = $scanStatus; if ($filesystemScanComplete && $optionScanComplete) { $objResponse->script('onScanComplete()'); } } return $objResponse; }
function createScanFileList() { $doLog = JD_Scan_Helper::isLogging(); // disable logging for now JD_Scan_Helper::setLogging(false); $fsScanner =& JD_Scanner::getInstance('filesystem'); // Register a validator, to form a filelist. $fileListCreator = new JD_Filelist_Creator(); $fsScanner->register($fileListCreator); // Make the file list $results = $fsScanner->scan(JPATH_ROOT, false); $filename = $this->_getFileListName(); // Write the file list to a temporary file file_put_contents($filename, $results['filelist'][1]); // Set filelist filename for scan process JD_Scan_Helper::setFilelist($filename); JD_Scan_Helper::setLogging($doLog); // Store total file number JD_Vars_Helper::setVar('total', 'jdefender_scan', $fsScanner->_filesScanned + $fsScanner->_foldersScanned); return array($fsScanner->_filesScanned, $fsScanner->_foldersScanned); }