/** * @param $type * @return array */ public function getPluginIds($type) { $pluginsDirs = false; $config = \code_review::getConfig(); switch ($type) { case self::T_PLUGINS_INACTIVE: $pluginsDirs = $this->getPluginIds(self::T_PLUGINS_ALL); $actives = call_user_func($config['plugins_getter'], 'active'); foreach ($actives as $plugin) { if ($plugin instanceof \ElggPlugin) { $pluginsDirs = array_diff($pluginsDirs, array($plugin->getID())); } else { $pluginsDirs = array_diff($pluginsDirs, array($plugin)); } } break; case self::T_PLUGINS_ACTIVE: $pluginsDirs = call_user_func($config['plugins_getter'], 'active'); foreach ($pluginsDirs as $key => $plugin) { if ($plugin instanceof \ElggPlugin) { $pluginsDirs[$key] = $plugin->getID(); } } break; case self::T_PLUGINS_ALL: $pluginsDirs = \code_review::getPluginDirsInDir($config['pluginspath']); break; } return $pluginsDirs; }
public function testAnalyzerFailOnBadPath() { $config = new \CodeReview\Config(array(), array($this, 'getLatestVersion')); $config->parseInput(array('subpath' => 'does/not/exist', 'version' => '1.2', 'include_disabled_plugins' => false, 'find_deprecated_functions' => true, 'find_private_functions' => false, 'fix_problems' => false)); $generalConfig = \code_review::getConfig(); $this->assertEquals(dirname(__FILE__) . '/test_files/fake_elgg/', $generalConfig['path']); $analyzer = new \CodeReview\Analyzer($config); $this->setExpectedException('CodeReview\\IOException', "Invalid subPath specified. " . dirname(__FILE__) . "/test_files/fake_elgg/does/not/exist/ does not exists!"); $analyzer->analyze(); }
/** * @param string $subPath * @param bool $skipInactive * @throws CodeReview_IOException * @return CodeReviewFileFilterIterator */ public function getPhpFilesIterator($subPath = 'engine/') { $config = code_review::getConfig(); $path = $config['path'] . $subPath; if (!file_exists($path)) { throw new CodeReview_IOException("Invalid subPath specified. {$path} does not exists!"); } $i = new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::SKIP_DOTS); $i = new RecursiveIteratorIterator($i, RecursiveIteratorIterator::LEAVES_ONLY); $i = new RegexIterator($i, "/.*\\.php/"); $i = new CodeReviewFileFilterIterator($i, $config['path'], $this->options); return $i; }