作者:dorelljame
项目:piwi
private function getVersion($component)
{
if ($component === 'core') {
return Version::VERSION;
}
$pluginManager = Plugin\Manager::getInstance();
if ($pluginManager->isPluginLoaded($component)) {
$plugin = $pluginManager->getLoadedPlugin($component);
} else {
$plugin = new Plugin($component);
}
return $plugin->getVersion();
}
作者:bossrabbi
项目:piwi
public function getJavaScriptFiles()
{
if ($this->themeName == \Piwik\Plugin\Manager::DEFAULT_THEME) {
return false;
}
$info = $this->theme->getInformation();
if (empty($info['javascript'])) {
return false;
}
$jsFiles = $info['javascript'];
if (!is_array($jsFiles)) {
$jsFiles = array($jsFiles);
}
foreach ($jsFiles as &$jsFile) {
$jsFile = 'plugins/' . $this->theme->getPluginName() . '/' . $jsFile;
}
return $jsFiles;
}
作者:FluentDevelopmen
项目:piwi
/**
* Returns the name of the plugin/class that triggered the log.
*
* @return string
*/
private function getLoggingClassName()
{
$backtrace = $this->getBacktrace();
$name = Plugin::getPluginNameFromBacktrace($backtrace);
// if we can't determine the plugin, use the name of the calling class
if ($name == false) {
$name = $this->getClassNameThatIsLogging($backtrace);
}
return $name;
}
作者:96246
项目:piwi
/**
* Install a plugin, if necessary
*
* @param Plugin $plugin
*/
private function installPluginIfNecessary(Plugin $plugin)
{
$pluginName = $plugin->getPluginName();
$saveConfig = false;
// is the plugin already installed or is it the first time we activate it?
$pluginsInstalled = $this->getInstalledPluginsName();
if (!$this->isPluginInstalled($pluginName)) {
$this->executePluginInstall($plugin);
$pluginsInstalled[] = $pluginName;
$this->updatePluginsInstalledConfig($pluginsInstalled);
$updater = new Updater();
$updater->markComponentSuccessfullyUpdated($plugin->getPluginName(), $plugin->getVersion());
$saveConfig = true;
}
if ($saveConfig) {
PiwikConfig::getInstance()->forceSave();
}
}
作者:carriercom
项目:piwi
public function isTrackerPlugin(Plugin $plugin)
{
$hooks = $plugin->getListHooksRegistered();
$hookNames = array_keys($hooks);
foreach ($hookNames as $name) {
if (strpos($name, self::TRACKER_EVENT_PREFIX) === 0) {
return true;
}
if ($name === 'Request.initAuthenticationObject') {
return true;
}
}
return false;
}
作者:igorclar
项目:piwi
public static function loadAllPlugins($testEnvironment = null, $testCaseClass = false, $extraPluginsToLoad = array())
{
if (empty($testEnvironment)) {
$testEnvironment = new Piwik_TestingEnvironment();
}
DbHelper::createTables();
$pluginsManager = \Piwik\Plugin\Manager::getInstance();
$plugins = $testEnvironment->getCoreAndSupportedPlugins();
// make sure the plugin that executed this method is included in the plugins to load
$extraPlugins = array_merge($extraPluginsToLoad, array(\Piwik\Plugin::getPluginNameFromBacktrace(debug_backtrace()), \Piwik\Plugin::getPluginNameFromNamespace($testCaseClass), \Piwik\Plugin::getPluginNameFromNamespace(get_called_class())));
foreach ($extraPlugins as $pluginName) {
if (empty($pluginName)) {
continue;
}
if (in_array($pluginName, $plugins)) {
continue;
}
$plugins[] = $pluginName;
if ($testEnvironment) {
$testEnvironment->pluginsToLoad = array_merge($testEnvironment->pluginsToLoad ?: array(), array($pluginName));
}
}
Log::debug("Plugins to load during tests: " . implode(', ', $plugins));
$pluginsManager->loadPlugins($plugins);
}
作者:dorelljame
项目:piwi
public function getDbName()
{
if ($this->dbName !== false) {
return $this->dbName;
}
if ($this->persistFixtureData) {
$klass = new ReflectionClass($this);
$id = Plugin::getPluginNameFromNamespace($klass->getNamespaceName()) . "_" . $klass->getShortName();
return $id;
}
return self::getConfig()->database_tests['dbname'];
}
作者:FluentDevelopmen
项目:piwi
public function getThemeName()
{
return $this->plugin->getPluginName();
}
作者:TensorWrenchOS
项目:piwi
/**
* create template loader for a custom theme
* @param \Piwik\Plugin $theme
* @return \Twig_Loader_Filesystem
*/
protected function getCustomThemeLoader(Plugin $theme)
{
if (!file_exists(sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $theme->getPluginName()))) {
return false;
}
$themeLoader = new Twig_Loader_Filesystem(array(sprintf("%s/plugins/%s/templates/", PIWIK_INCLUDE_PATH, $theme->getPluginName())));
return $themeLoader;
}
作者:KiwiJuice
项目:handball-dacha
protected function isTrackerPlugin(Plugin $plugin)
{
$hooks = $plugin->getListHooksRegistered();
$hookNames = array_keys($hooks);
foreach ($hookNames as $name) {
if (strpos($name, self::TRACKER_EVENT_PREFIX) === 0) {
return true;
}
}
return false;
}
作者:bossrabbi
项目:piwi
/**
* @param Plugin $plugin
*/
private function createThemeFromPlugin($plugin)
{
$this->theme = $plugin;
$this->themeName = $plugin->getPluginName();
}
作者:piwi
项目:piwi
/**
* Get all lo that are defined by the given plugin.
*
* @param Plugin $plugin
* @return LocationProvider[]
*/
protected static function getLocationProviders(Plugin $plugin)
{
$locationProviders = $plugin->findMultipleComponents('LocationProvider', 'Piwik\\Plugins\\UserCountry\\LocationProvider');
$instances = [];
foreach ($locationProviders as $locationProvider) {
$instances[] = new $locationProvider();
}
return $instances;
}
作者:mgou-ne
项目:piwi
public function isTrackerPlugin(Plugin $plugin)
{
if (!$this->isPluginInstalled($plugin->getPluginName())) {
return false;
}
if ($plugin->isTrackerPlugin()) {
return true;
}
$dimensions = VisitDimension::getDimensions($plugin);
if (!empty($dimensions)) {
return true;
}
$dimensions = ActionDimension::getDimensions($plugin);
if (!empty($dimensions)) {
return true;
}
$hooks = $plugin->getListHooksRegistered();
$hookNames = array_keys($hooks);
foreach ($hookNames as $name) {
if (strpos($name, self::TRACKER_EVENT_PREFIX) === 0) {
return true;
}
if ($name === 'Request.initAuthenticationObject') {
return true;
}
}
$dimensions = ConversionDimension::getDimensions($plugin);
if (!empty($dimensions)) {
return true;
}
return false;
}
作者:brienomatt
项目:elmsl
private function doLog($level, $message, $sprintfParams = array())
{
if (!$this->shouldLoggerLog($level)) {
return;
}
$datetime = date("Y-m-d H:i:s");
if (is_string($message) && !empty($sprintfParams)) {
$message = vsprintf($message, $sprintfParams);
}
if (version_compare(phpversion(), '5.3.6', '>=')) {
$backtrace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS | DEBUG_BACKTRACE_PROVIDE_OBJECT);
} else {
$backtrace = debug_backtrace();
}
$tag = Plugin::getPluginNameFromBacktrace($backtrace);
// if we can't determine the plugin, use the name of the calling class
if ($tag == false) {
$tag = $this->getClassNameThatIsLogging($backtrace);
}
$this->writeMessage($level, $tag, $datetime, $message);
}
作者:jos
项目:CGE-File-Sharin
/**
* Get all action dimensions that are defined by the given plugin.
* @param Plugin $plugin
* @return ActionDimension[]
* @ignore
*/
public static function getDimensions(Plugin $plugin)
{
$dimensions = $plugin->findMultipleComponents('Columns', '\\Piwik\\Plugin\\Dimension\\ActionDimension');
$instances = array();
foreach ($dimensions as $dimension) {
$instances[] = new $dimension();
}
return $instances;
}
作者:FluentDevelopmen
项目:piwi
private function getPluginsToLoadDuringTest()
{
$plugins = $this->vars->getCoreAndSupportedPlugins();
// make sure the plugin that executed this method is included in the plugins to load
$extraPlugins = array_merge(self::$extraPluginsToLoad, $this->vars->pluginsToLoad ?: array(), array(Plugin::getPluginNameFromBacktrace(debug_backtrace()), Plugin::getPluginNameFromNamespace($this->vars->testCaseClass), Plugin::getPluginNameFromNamespace($this->vars->fixtureClass), Plugin::getPluginNameFromNamespace(get_called_class())));
foreach ($extraPlugins as $pluginName) {
if (empty($pluginName)) {
continue;
}
if (in_array($pluginName, $plugins)) {
continue;
}
$plugins[] = $pluginName;
}
return $plugins;
}
作者:mgou-ne
项目:piwi
public function __construct()
{
// this class is named 'Plugin', manually set the 'API' plugin
parent::__construct($pluginName = 'API');
}
作者:pombredann
项目:ArcherSy
/**
* Install a plugin, if necessary
*
* @param Plugin $plugin
*/
private function installPluginIfNecessary(Plugin $plugin)
{
$pluginName = $plugin->getPluginName();
$saveConfig = false;
// is the plugin already installed or is it the first time we activate it?
$pluginsInstalled = $this->getInstalledPluginsName();
if (!$this->isPluginInstalled($pluginName)) {
$this->executePluginInstall($plugin);
$pluginsInstalled[] = $pluginName;
$this->updatePluginsInstalledConfig($pluginsInstalled);
Updater::recordComponentSuccessfullyUpdated($plugin->getPluginName(), $plugin->getVersion());
$saveConfig = true;
}
if ($this->isTrackerPlugin($plugin)) {
$pluginsTracker = PiwikConfig::getInstance()->Plugins_Tracker['Plugins_Tracker'];
if (is_null($pluginsTracker)) {
$pluginsTracker = array();
}
if (!in_array($pluginName, $pluginsTracker)) {
$pluginsTracker[] = $pluginName;
$this->updatePluginsTrackerConfig($pluginsTracker);
$saveConfig = true;
}
}
if ($saveConfig) {
PiwikConfig::getInstance()->forceSave();
}
}
作者:KiwiJuice
项目:handball-dacha
public function getInformation()
{
$info = parent::getInformation();
$info['author'] = 'Piwik PRO';
$info['author_homepage'] = 'http://piwik.pro';
return $info;
}
作者:KiwiJuice
项目:handball-dacha
public function getInformation()
{
$suffix = ' Note: Requires the Transitions plugin enabled.';
$info = parent::getInformation();
$info['description'] .= ' ' . $suffix;
return $info;
}