X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FPiwikAnalyticsPlugin.php;h=e36bd1c5c341c16fbe22bc3e91183a255d1e1617;hb=0d72456a84b8fc9a612b26ac8c26ce12c1759711;hp=458b577fa0975f3578c36d506d48c164a71f4f0c;hpb=042c61ed6de1bbc993eefe47552028157f3e1e28;p=quix0rs-gnu-social.git diff --git a/plugins/PiwikAnalyticsPlugin.php b/plugins/PiwikAnalyticsPlugin.php index 458b577fa0..e36bd1c5c3 100644 --- a/plugins/PiwikAnalyticsPlugin.php +++ b/plugins/PiwikAnalyticsPlugin.php @@ -1,6 +1,6 @@ . * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2008 Control Yourself, Inc. + * @package StatusNet + * @author Evan Prodromou + * @author Tobias Diekershoff + * @copyright 2008 StatusNet, Inc. * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ */ -if (!defined('LACONICA')) { +if (!defined('STATUSNET')) { exit(1); } /** * Plugin to use Piwik Analytics (based on the Google Analytics plugin by Evan) * - * This plugin will spoot out the correct JavaScript spell to invoke Piwik Analytics on a page. + * This plugin will spoot out the correct JavaScript spell to invoke + * Piwik Analytics on a page. * * To use this plugin please add the following three lines to your config.php -#Add Piwik Analytics -require_once('plugins/PiwikAnalyticsPlugin.php'); -$pa = new PiwikAnalyticsPlugin("example.com/piwik/","id"); * - * exchange example.com/piwik/ with the url (without http:// or https:// !) to your - * piwik installation and make sure you don't forget the final / - * exchange id with the ID your laconica installation has in your Piwik analytics + * require_once('plugins/PiwikAnalyticsPlugin.php'); + * $pa = new PiwikAnalyticsPlugin("example.com/piwik/","id"); + * + * exchange example.com/piwik/ with the url to your piwik installation and + * make sure you don't forget the final / + * exchange id with the ID your statusnet installation has in your Piwik analytics * * @category Plugin - * @package Laconica + * @package StatusNet * @author Tobias Diekershoff * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @link http://status.net/ * * @see Event */ class PiwikAnalyticsPlugin extends Plugin { - // the base of your Piwik installation - var $piwikroot = null; - // the Piwik Id of your laconica installation - var $piwikId = null; + /** the base of your Piwik installation */ + public $piwikroot = null; + /** the Piwik Id of your statusnet installation */ + public $piwikId = null; + + /** + * constructor + * + * @param string $root Piwik root URL + * @param string $id Piwik ID of this app + */ function __construct($root=null, $id=null) { $this->piwikroot = $root; - $this->piwikid = $id; + $this->piwikid = $id; parent::__construct(); } + /** + * Called when all scripts have been shown + * + * @param Action $action Current action + * + * @return boolean ignored + */ + function onEndShowScripts($action) { - $js1 = 'var pkBaseURL = (("https:" == document.location.protocol) ? "https://'. - $this->piwikroot.'" : "http://'.$this->piwikroot. - '"); document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\''. - ' type=\'text/javascript\'%3E%3C/script%3E"));'; - $js2 = 'piwik_action_name = ""; piwik_idsite = '.$this->piwikid. - '; piwik_url = pkBaseURL + "piwik.php"; piwik_log(piwik_action_name, piwik_idsite, piwik_url);'; - $action->elementStart('script', array('type' => 'text/javascript')); - $action->raw($js1); - $action->elementEnd('script'); - $action->elementStart('script', array('type' => 'text/javascript')); - $action->raw($js2); - $action->elementEnd('script'); + $piwikCode = << + + + + +ENDOFPIWIK; + + $action->raw($piwikCode); + return true; } -} \ No newline at end of file +}