Beispiel #1
0
 /**
  * Gets the specific type of scanner. Must ve overriden
  * @param $type
  * @return JD_Scanner
  */
 function &getInstance($type)
 {
     $className = JD_Scanner::loadScanner($type);
     if (!class_exists($className)) {
         return null;
     }
     $res = call_user_func_array(array($className, 'getInstance'), array());
     return $res;
 }
Beispiel #2
0
 /**
  * 
  * @param $path
  * @param $doLog
  */
 function getScanData($path = '', $doLog = false)
 {
     $configModel =& JModel::getInstance('Configuration', 'JDefenderModel');
     $params = new JParameter($configModel->getIni());
     JD_Scanner::loadScanner();
     $fsScanner = false;
     if (!$this->getState('filesystem.scanned')) {
         $fsScanner =& JD_Filesystem_Scanner::getInstance();
         $fsScanner->loadValidator();
         // Set the "first scan" flag.
         if ($this->_isFirstScan()) {
             foreach ($fsScanner->listeners as $k => $v) {
                 if (method_exists($v, 'setFirstScan')) {
                     $fsScanner->listeners[$k]->setFirstScan(true);
                 }
             }
         }
         if ($doLog) {
             JD_Vars_Helper::setVar('status', 'jdefender_scan', JText::_('Scanning filesystem'));
         }
         // Run scanners
         if (empty($this->_filesystem_data)) {
             $this->_filesystem_data = $fsScanner->scan($path);
         }
     }
     $optScanner = false;
     if (!$this->getState('options.scanned')) {
         $optScanner =& JD_Options_Scanner::getInstance();
         $optScanner->loadValidator();
         if ($doLog) {
             JD_Vars_Helper::setVar('status', 'jdefender_scan', JText::_('Scanning system settings'));
         }
         // scan
         if (empty($this->_options_data)) {
             $this->_options_data = $optScanner->scan();
             $this->setState('options.scanned', true);
         }
     }
     // If filesystem scan ended
     if (!empty($this->_filesystem_data['EOF'])) {
         $this->setState('filesystem.scanned', true);
         unset($this->_filesystem_data['EOF']);
     }
     $result = array('filesystem' => &$this->_filesystem_data, 'options' => &$this->_options_data);
     return $result;
 }