Added baguette.js to display a lightbox for images and galleries
[danixland-site-plugin.git] / danixland-site-plugin.php
index 71af06e..e95172d 100644 (file)
@@ -1,7 +1,11 @@
 <?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.2
+Author: Danilo 'danix' Macri
+Author URI: https://danix.xyz
 */
 
 /**
@@ -12,7 +16,7 @@ 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
@@ -43,38 +47,12 @@ function danix_gravatar( $atts ) {
 }
 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.
- *
- */
-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;
-}
-add_shortcode('download', 'danix_download_button');
-
 /**
  * The google analytics code
  *
  */
-function danix_google_anal() {?>
+/*function danix_google_anal() {
+    if ( function_exists('cn_cookies_accepted') && cn_cookies_accepted() ) { ?>
 <!-- Global site tag (gtag.js) - Google Analytics -->
 <script async src="https://www.googletagmanager.com/gtag/js?id=UA-23882460-1"></script>
 <script>
@@ -85,8 +63,9 @@ function danix_google_anal() {?>
   gtag('config', 'UA-23882460-1');
 </script>
 <?php }
+}
 add_action('wp_head', 'danix_google_anal', 10);
-
+*/
 /**
  * The googlemaps shortcode
  *
@@ -97,7 +76,7 @@ add_action('wp_head', 'danix_google_anal', 10);
  * @since 0.57
  *
  */
-function danix_gmaps($atts, $content = null) {
+/*function danix_gmaps($atts, $content = null) {
     extract(shortcode_atts(array(
       "width" => '640',
       "height" => '480',
@@ -106,98 +85,36 @@ function danix_gmaps($atts, $content = null) {
     return '<iframe width="'.$width.'" height="'.$height.'" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'.$src.'&amp;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 );
+/*
+ * Swap src with data-src inside img tags to use lazyload
+ */
+function dagreynix_lazy_load($atts) {
+       $default  = get_template_directory_uri() . '/img/standard-post-thumb.png';
+       if ( array_key_exists('src', $atts) ) {
+               $atts['data-src'] = $atts['src'];
+               $atts['src'] = $default;
+       }
+       return $atts;
 }
-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
-endif;
+// add_filter( 'wp_get_attachment_image_attributes', 'dagreynix_lazy_load', 10, 2 );
 
 /**
- * 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.
- *
+ * Added baguette.js to display a lightbox for images and galleries
  */
-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');
+function baguette_register_assets() {
+  wp_register_script( 'baguettebox', plugin_dir_url( __FILE__ ) . '/baguette/baguetteBox.min.js', [], '1.11.1', true );
+  wp_register_script( 'baguetteload', plugin_dir_url( __FILE__ ) . '/baguette/baguetteLoad.js', [], '1.11.1', true );
+  wp_register_style( 'baguettebox-css', plugin_dir_url( __FILE__ ) . '/baguette/baguetteBox.min.css', [], '1.11.1' );
+}
+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' );