/** * Github Profile shortcode. * @param $atts * @return string */ function ghprofile_shortcode($atts) { $a = shortcode_atts(array('username' => get_option('wpgithub_defaultuser', 'seinoxygen')), $atts); // Init the cache system. $cache = new WpGithubCache(); // Set custom timeout in seconds. $cache->timeout = get_option('wpgithub_cache_time', 600); $profile = $cache->get($a['username'] . '.json'); if ($profile == NULL) { $github = new Github($a['username']); $profile = $github->get_profile(); $cache->set($a['username'] . '.json', $profile); } $html = '<div class="wpgithub-profile">'; $html .= '<div class="wpgithub-user">'; $html .= '<a class="wp-github-gravatar" target="_blank" href="' . $profile->html_url . '" title="View ' . $a['username'] . '\'s Github"><img width="80" src="' . $profile->avatar_url . '" alt="View ' . $a['username'] . '\'s Github" /></a>'; $html .= '<div class="wp-github-usr">'; $html .= '<h3 class="wpgithub-username"><a href="' . $profile->html_url . '" title="View ' . $a['username'] . '\'s Github">' . $a['username'] . '</a></h3>'; $html .= '<p class="wpgithub-name">' . $profile->name . '</p>'; $html .= '<p class="wpgithub-location">' . $profile->location . '</p>'; $html .= '</div></div>'; $html .= '<a target="_blank" class="wpgithub-bblock" href="https://github.com/' . $a['username'] . '?tab=repositories"><span class="wpgithub-count">' . $profile->public_repos . '</span><span class="wpgithub-text">Public Repos</span></a>'; $html .= '<a target="_blank" class="wpgithub-bblock" href="https://gist.github.com/' . $a['username'] . '"><span class="wpgithub-count">' . $profile->public_gists . '</span><span class="wpgithub-text">Public Gists</span></a>'; $html .= '<a target="_blank" class="wpgithub-bblock" href="https://github.com/' . $a['username'] . '/followers"><span class="wpgithub-count">' . $profile->followers . '</span><span class="wpgithub-text">Followers</span></a>'; $html .= '</div>'; return $html; }
function widget($args, $instance) { extract($args); $title = $this->get_title($instance); $username = $this->get_username($instance); echo $before_widget; echo $before_title . $title . $after_title; // Init the cache system. $cache = new Cache(); // Set custom timeout in seconds. $cache->timeout = get_option('wpgithub_cache_time', 600); $profile = $cache->get($username . '.json'); if ($profile == null) { $github = new Github($username); $profile = $github->get_profile(); $cache->set($username . '.json', $profile); } echo '<div class="wpgithub-profile">'; echo '<div class="wpgithub-user">'; echo '<a href="' . $profile->html_url . '" title="View ' . $username . '\'s Github"><img src="//gravatar.com/avatar/' . $profile->gravatar_id . '?s=56" alt="View ' . $username . '\'s Github" /></a>'; echo '<h3 class="wpgithub-username"><a href="' . $profile->html_url . '" title="View ' . $username . '\'s Github">' . $username . '</a></h3>'; echo '<p class="wpgithub-name">' . $profile->name . '</p>'; echo '<p class="wpgithub-location">' . $profile->location . '</p>'; echo '</div>'; echo '<a class="wpgithub-bblock" href="https://github.com/' . $username . '?tab=repositories"><span class="wpgithub-count">' . $profile->public_repos . '</span><span class="wpgithub-text">Public Repos</span></a>'; echo '<a class="wpgithub-bblock" href="https://gist.github.com/' . $username . '"><span class="wpgithub-count">' . $profile->public_gists . '</span><span class="wpgithub-text">Public Gists</span></a>'; echo '<a class="wpgithub-bblock" href="https://github.com/' . $username . '/followers"><span class="wpgithub-count">' . $profile->followers . '</span><span class="wpgithub-text">Followers</span></a>'; echo '</div>'; echo $after_widget; }