php Piwik-Plugin类(方法)实例源码

下面列出了php Piwik-Plugin 类(方法)源码代码实例,从而了解它的用法。

作者: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;
 }


问题


面经


文章

微信
公众号

扫码关注公众号