get('tmp_path') . '/jed_checker/unzipped'; $class = 'jedcheckerRules'.ucfirst($rule); // Stop if the class does not exist if(!class_exists($class)) { return false; } // Loop through each folder and police it $folders = $this->getFolders(); foreach ($folders as $folder) { $this->police($class, $folder); } return true; } protected function police($class, $folder) { // Prepare rule properties $properties = array('basedir' => $folder); // Create instance of the rule $police = new $class($properties); // Perform check $police->check(); // Get the report and then print it $report = $police->get('report'); echo '' . JText::_('COM_JEDCHECKER_RULE') .' ' . JText::_($police->get('id')) . ' - '. JText::_($police->get('title')) . '
' . $report->getHTML(); flush(); ob_flush(); } protected function getFolders() { $folders = array(); // Add the folders in the "jed_checked/unzipped" folder $path = JFactory::getConfig()->get('tmp_path') . '/jed_checker/unzipped'; $tmp_folders = JFolder::folders($path); if (!empty($tmp_folders)) { foreach ($tmp_folders as $tmp_folder) { $folders[] = $path.'/'.$tmp_folder; } } // Parse the local.txt file and parse it $local = JFactory::getConfig()->get('tmp_path') . '/jed_checker/local.txt'; if (JFile::exists($local)) { $content = JFile::read($local); if (!empty($content)) { $lines = explode("\n", $content); if (!empty($lines)) { foreach ($lines as $line) { $line = trim($line); if (!empty($line)) { if (JFolder::exists(JPATH_ROOT.'/'.$line)) { $folders[] = JPATH_ROOT.'/'.$line; } elseif (JFolder::exists($line)) { $folders[] = $line; } } } } } } return $folders; } }