}
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
-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');