The page you are looking at now is at this URL: http://pastoid.com/awc
This paste was last updated on April 21, 2009 at 2:12 am.
<?php class Piwik extends Plugin { public function info() { return array( 'url' => 'http://trac.habariproject.org/habari-extras/browser/plugins/piwik', 'name' => 'Piwik', 'description' => 'Automatically adds Piwik tracking code to the theme footer.', 'license' => 'Apache License 2.0', 'author' => 'Andy C', 'authorurl' => 'http://nbrightside.com/habari/', 'version' => '0.1' ); } /** * Display help text * @return string The help text */ public function help() { return '<p>Piwik is an Open Source Web analytics package. Piwik is self-hosted software. You need to install and configure Piwik separately. Piwik needs PHP and a MySQL database to store data on site visits. <p>For more details, see <a href="http://piwik.org/">http://piwik.org/</a> <p>This plugin embeds the Piwik (Javascript) tracking code in the theme footer. To install the plugin, unpack under the \'/user/plugins\' directory in your Habari installation. Then activate and configure the plugin from the dashboard (Admin-Plugins). <p>The configuration options are: <ul> <li>Pwiki site URL: This is the full URL of the Piwik site (e.g. \'http://www.example.com/piwik\') - the trailing slash \'/\' is required.</li> <li>Piwik site number: Piwik can track multiple Web sites. The site number is displayed in the Piwik-Settings administration screen under the \'Site\' tab in the \'ID\' field.</li> <li>Tracked logged-in users: Visits by logged in users can optionally be ignored.</li> <li>Auth Token: Your API "token_auth" to allow retrieval of stats for dashboard modules.</li> </ul>'; } public function filter_plugin_config($actions, $plugin_id) { if ( $this->plugin_id() == $plugin_id ) { $actions[]= _t('Configure'); } return $actions; } public function action_plugin_ui($plugin_id, $action) { if ( $this->plugin_id() == $plugin_id && $action == _t('Configure')){ $form = new FormUI(strtolower(get_class($this))); $form->append('text', 'siteurl', 'option:piwik__siteurl', _t('Piwik site URL')); $form->append('text', 'sitenum', 'option:piwik__sitenum', _t('Piwik site number')); $form->append('checkbox', 'trackloggedin', 'option:piwik__trackloggedin', _t( 'Track logged-in users', 'piwik' )); $form->append('text', 'auth_token', 'option:piwik__auth_token', _t('Piwik Auth Token')); $form->append('text', 'outlink', 'option:piwik__outlink_name', _t('Piwik Outlink Var Name')); $form->append('submit', 'save', 'Save'); $form->on_success( array( $this, 'save_config' ) ); $form->out(); } } /** * Invoked when the before the plugin configurations are saved * * @param FormUI $form The configuration form being saved * @return true */ public function save_config( $form ) { $form->save(); Session::notice('Piwik plugin configuration saved'); return false; } public function action_plugin_deactivation( $file ) { if ( realpath( $file ) == __FILE__ ) { Options::delete('piwik__siteurl'); Options::delete('piwik__sitenum'); Options::delete('piwik__trackloggedin'); Options::delete('piwik__auth_token'); Options::delete('piwik__outlink_name'); } } /** * Add update beacon support **/ public function action_update_check() { Update::add( 'Piwik', 'xxx', $this->info->version ); } public function action_plugin_activation($file) { if (Plugins::id_from_file($file) != Plugins::id_from_file(__FILE__)) return; Options::set('piwik__trackloggedin', false); Options::set('piwik__outlink_name', 'link'); } public function filter_post_content_out( $content, $post ) { $outlink_url = sprintf( "%s/piwik.php?%s='.urlencode('$2').'&idsite=%d", rtrim(Options::get('piwik__siteurl'), '/'), Options::get('piwik__outlink_name'), Options::get('piwik__sitenum') ); $content = preg_replace( '/href=([\'"])(http:\/\/(?:[^\'"]+))([\'"])/e', "stripslashes('href=$1$outlink_url$3')", $content ); return $content; } public function theme_footer($theme) { $class= strtolower( get_class( $this ) ); $siteurl = Options::get( $class . '__siteurl'); $ssl_siteurl = str_replace("http://", "https://", $siteurl); $sitenum = Options::get( $class . '__sitenum'); $trackloggedin = Options::get( $class . '__trackloggedin'); if ( URL::get_matched_rule()->entire_match == 'user/login') { // Login page; don't dipslay return; } if ( User::identify()->loggedin ) { // Only track the logged in user if we were told to if ( !($trackloggedin) ) { return; } } echo <<<EOD <!-- Piwik --> <script type="text/javascript"> var pkBaseURL = (("https:" == document.location.protocol) ? "${ssl_siteurl}" : "${siteurl}" ); document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E")); </script><script type="text/javascript"> piwik_action_name = ''; piwik_idsite = "${sitenum}"; piwik_url = pkBaseURL + "piwik.php"; piwik_log(piwik_action_name, piwik_idsite, piwik_url); </script> <noscript><p>Web analytics <img src="${siteurl}/piwik.php?idsite=${sitenum}" style="border:0" alt=""/></p></noscript> <!-- End Piwik Tag --> EOD; } public function filter_dash_modules( $modules ) { array_push( $modules, 'Piwik Last Visitors', 'Piwik Visit Times' ); Stack::add('admin_stylesheet', array($this->get_url() . '/piwikdash.css', 'screen'), 'piwikdash'); return $modules; } public function filter_dash_module_piwik_last_visitors( $module, $module_id, $theme ) { if ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && $_SERVER['HTTPS'] != 'off' ) { $siteurl = rtrim( str_replace( "http://", "https://", Options::get('piwik__siteurl') ), '/' ); } else { $siteurl = rtrim( Options::get('piwik__siteurl'), '/' ); } $sitenum = Options::get('piwik__sitenum'); $auth_token = Options::get('piwik__auth_token'); $api_query = http_build_query(array( 'module' => 'VisitsSummary', 'action' => 'getLastVisitsGraph', 'idSite' => $sitenum, 'period' => 'day', 'date' => 'last30', 'viewDataTable' => 'generateDataChartEvolution', 'token_auth' => $auth_token, ), null, '&'); $api_url = urlencode("$siteurl/index.php?" . $api_query); $module['title']= _t('Piwik Last Visitors', 'piwik'); $module['content']= <<<VISITORS <div class="item"><object style="visibility: visible;" id="VisitsSummarygetLastVisitsGraphChart_swf" data="$siteurl/libs/open-flash-chart/open-flash-chart.swf" bgcolor="#FAFAFA" type="application/x-shockwave-flash" height="190" width="100%"><param value="sameDomain" name="allowScriptAccess"><param value="opaque" name="wmode"><param value="data=$api_url" name="flashvars"></object></div> VISITORS; return $module; } public function filter_dash_module_piwik_visit_times( $module, $module_id, $theme ) { if ( isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] && $_SERVER['HTTPS'] != 'off' ) { $siteurl = rtrim( str_replace( "http://", "https://", Options::get('piwik__siteurl') ), '/' ); } else { $siteurl = rtrim( Options::get('piwik__siteurl'), '/' ); } $sitenum = Options::get('piwik__sitenum'); $auth_token = Options::get('piwik__auth_token'); $api_query = http_build_query(array( 'module' => 'VisitTime', 'action' => 'getVisitInformationPerServerTime', 'idSite' => $sitenum, 'period' => 'day', 'date' => 'today', 'viewDataTable' => 'generateDataChartVerticalBar', 'token_auth' => $auth_token, ), null, '&'); $api_url = urlencode("$siteurl/index.php?" . $api_query); $module['title']= _t('Piwik Visit Times', 'piwik'); $module['content']= <<<TIMES <div class="item"><object style="visibility: visible;" id="VisitTimegetVisitInformationPerServerTimeChart_swf" data="$siteurl/libs/open-flash-chart/open-flash-chart.swf" bgcolor="#FAFAFA" type="application/x-shockwave-flash" height="190" width="100%"><param value="sameDomain" name="allowScriptAccess"><param value="opaque" name="wmode"><param value="data=$api_url" name="flashvars"></object></div> TIMES; return $module; } } ?>
| Referring Domain | Hits |
|---|---|
| Unknown Referer | 127 |
| www.nigma.ru | 10 |
| www.google.com | 3 |
| search.live.com | 1 |
Tip: Use Pastoid to shorten URLs with this bookmarklet: Pastoid This