<?php
/*
-Plugin Name: Site Plugin for danixland.net
-Description: Site specific code changes for danixland.net
+Plugin Name: Site Plugin for danix.xyz
+Description: Site specific code changes for danix.xyz
+Plugin URI: https://danix.xyz
+Version: 0.7.3
+Author: Danilo 'danix' Macri
+Author URI: https://danix.xyz
*/
/**
* Disable admin bar sitewide
*/
-show_admin_bar(__return_false());
+show_admin_bar( __return_false() );
/**
* Allow Shortcodes inside the html widget
*/
-add_filter( 'widget_text', 'do_shortcode' );
+//add_filter( 'widget_text', 'do_shortcode' );
/**
* make sure the links menu in the admin is visible
*
*/
function danix_gravatar( $atts ) {
- extract(shortcode_atts(array(
- 'email' => '',
- 'size' => '200',
- 'default' => '',
- 'alt' => ''
- ), $atts));
-
- if( empty($email) )
- return '';
-
- $output = get_avatar($email, $size, $default, $alt);
-
- return $output;
+ extract(
+ shortcode_atts(
+ array(
+ 'email' => '',
+ 'size' => '200',
+ 'default' => '',
+ 'alt' => '',
+ ),
+ $atts
+ )
+ );
+
+ if ( empty( $email ) ) {
+ return '';
+ }
+
+ $output = get_avatar( $email, $size, $default, $alt );
+
+ return $output;
}
-add_shortcode('gravatar', 'danix_gravatar');
+add_shortcode( 'gravatar', 'danix_gravatar' );
/**
- * The download button shortcode
- *
- * @param url $link link address.
- * @param string $linkname text that will be displayed by the button.
- * @return string HTML the link tag that will be rendered to the page.
- *
+ * Added baguette.js to display a lightbox for images and galleries
*/
-function danix_download_button( $atts ) {
- extract(shortcode_atts(array(
- 'link' => '',
- 'linkname' => ''
- ), $atts));
-
- if ( empty($link) )
- return '';
-
- $output = sprintf(
- '<a href="%s" class="download_button">%s</a>',
- $link,
- $linkname
- );
-
- return $output;
+function baguette_register_assets() {
+ wp_register_script( 'baguettebox', plugin_dir_url( __FILE__ ) . '/baguette/baguetteBox.min.js', array(), '1.11.1', true );
+ wp_register_script( 'baguetteload', plugin_dir_url( __FILE__ ) . '/baguette/baguetteLoad.js', array(), '1.11.1', true );
+ wp_register_style( 'baguettebox-css', plugin_dir_url( __FILE__ ) . '/baguette/baguetteBox.min.css', array(), '1.11.1' );
}
-add_shortcode('download', 'danix_download_button');
+add_action( 'wp_enqueue_scripts', 'baguette_register_assets' );
+
+function baguette_enqueue_assets() {
+ if ( has_block( 'gallery' ) || has_block( 'image' ) ) {
+ wp_enqueue_script( 'baguettebox' );
+ wp_enqueue_script( 'baguetteload' );
+ wp_enqueue_style( 'baguettebox-css' );
+ }
+}
+add_action( 'wp_enqueue_scripts', 'baguette_enqueue_assets' );
-/**
- * The google analytics code
- *
+/*
+ * Do not translate smileys into emoticons.
*/
-function danix_google_anal() {?>
-<!-- Global site tag (gtag.js) - Google Analytics -->
-<script async src="https://www.googletagmanager.com/gtag/js?id=UA-23882460-1"></script>
-<script>
- window.dataLayer = window.dataLayer || [];
- function gtag(){dataLayer.push(arguments);}
- gtag('js', new Date());
+add_filter( 'option_use_smilies', '__return_false' );
- gtag('config', 'UA-23882460-1');
-</script>
-<?php }
-add_action('wp_head', 'danix_google_anal', 10);
-
-/**
- * The googlemaps shortcode
- *
- * @param width the width of the returned map
- * @param height the height of the returned map
- * @param src the url of the map you want to display
- * @return string HTML the map object
- * @since 0.57
- *
+/*
+ # Add matomo tracking js code to head
*/
-function danix_gmaps($atts, $content = null) {
- extract(shortcode_atts(array(
- "width" => '640',
- "height" => '480',
- "src" => ''
- ), $atts));
- return '<iframe width="'.$width.'" height="'.$height.'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'.$src.'&output=embed" ></iframe>';
-}
-add_shortcode("googlemaps", "danix_gmaps");
-
-function danix_get_plugins_stats() {
- $url = 'https://api.wordpress.org/plugins/info/1.0/';
- $fields = array(
- 'downloaded' => true,
- 'rating' => false,
- 'description' => false,
- 'short_description' => false,
- 'donate_link' => false,
- 'tags' => false,
- 'sections' => false,
- 'homepage' => false,
- 'added' => false,
- 'last_updated' => false,
- 'compatibility' => false,
- 'tested' => false,
- 'requires' => false,
- 'downloadlink' => false,
- );
- $args = (object) array( 'author' => 'danixland', 'fields' => $fields );
- $request = array( 'action' => 'query_plugins', 'timeout' => 15, 'request' => serialize( $args) );
- $response = wp_remote_post( $url, array( 'body' => $request ) );
- $plugins_info = unserialize( $response['body'] );
- $result = array();
- $total_dl = '';
- if ( isset( $plugins_info ) ) {
- # let's build our array of data to return
- foreach ($plugins_info->plugins as $plugin) {
- $pl_name = $plugin->slug;
- $pl_dirlink = 'https://wordpress.org/plugins/' . $pl_name;
- $pl_download = $plugin->download_link;
- $pl_downloaded = $plugin->downloaded;
- $pl_voters = $plugin->num_ratings;
- $pl_stars = $plugin->ratings;
- $avg_vote = ($pl_stars[1] + $pl_stars[2] * 2 + $pl_stars[3] * 3 + $pl_stars[4] * 4 + $pl_stars[5] * 5) / $pl_voters;
- $pl_avg_vote = ( ! is_int($avg_vote) ? 0 : $avg_vote );
- $result[$pl_name] = array(
- 'dir_link' => $pl_dirlink,
- 'dl_link' => $pl_download,
- 'downloaded' => $pl_downloaded,
- 'voters' => $pl_voters,
- 'avg_rating' => $pl_avg_vote
- );
- $total_dl += $pl_downloaded;
- }
- $result['total_plugins'] = count($plugins_info->plugins);
- $result['total_downloads'] = $total_dl;
- return $result;
- }
- return array();
-}
-
-// Execute cron
-function danix_save_plugins_stats() {
-
- $plugins = danix_get_plugins_stats();
- update_option( 'danix_plugins_stats', $plugins );
-}
-add_action( 'danix_save_plugins_stats', 'danix_save_plugins_stats' );
-
-// Schedule cron
-if ( ! wp_next_scheduled( 'danix_save_plugins_stats' ) ) :
- wp_schedule_event( 1407110400, 'daily', 'danix_save_plugins_stats' ); // 1407110400 is 08 / 4 / 2014 @ 0:0:0 UTC
+if ( ! function_exists( 'matomo_tracking' ) ) :
+ function matomo_tracking() {
+ ?>
+<!-- Matomo -->
+<script type="text/javascript">
+ var _paq = window._paq = window._paq || [];
+ /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
+ _paq.push(["setDocumentTitle", document.domain + "/" + document.title]);
+ _paq.push(["setCookieDomain", "*.danix.xyz"]);
+ _paq.push(["setDomains", ["*.danix.xyz"]]);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+ (function() {
+ var u="//lucky.danix.xyz/";
+ _paq.push(['setTrackerUrl', u+'matomo.php']);
+ _paq.push(['setSiteId', '1']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+</script>
+<!-- End Matomo Code -->
+ <?php
+ }
endif;
-
-/**
- * The dotOrg plugins stats shortcode
- *
- * @param url $link link address.
- * @param string $linkname text that will be displayed by the button.
- * @return string HTML the link tag that will be rendered to the page.
- *
- */
-function danix_display_plugins_stats() {
- $option_stats = get_option('danix_plugins_stats');
- $plugins = ( false === $option_stats ? danix_get_plugins_stats() : $option_stats );
- $average = '';
- foreach ($plugins as $plugin) {
- $average += $plugin['avg_rating'];
- }
- $average = $average / $plugins['total_plugins'];
- ?>
- <dl>
- <dt><?php _e("Plugins", 'sog_simplify'); ?></dt>
- <dd><?php printf( _n('I created %s plugin', 'I created %s plugins', $plugins['total_plugins'], 'sog_simplify' ), $plugins['total_plugins'] ); ?></dd><br />
- <?php foreach ($plugins as $name => $data) {
- if (is_array($data) ) : ?>
- <dd><a href="<?php echo $data['dir_link']; ?>"><?php echo $name; ?></a></dd>
- <?php endif; ?>
- <?php } ?>
- <dt><?php _e('Total Downloads', 'sog_simplify'); ?></dt>
- <dd><?php echo $plugins['total_downloads']; ?></dd>
- </dl>
-<?php }
-add_shortcode('dotOrgStats', 'danix_display_plugins_stats');
+add_action( 'wp_head', 'matomo_tracking' );