コード例 #1
0
 public static function make()
 {
     if (!self::is_usable()) {
         return null;
     }
     return new Prompt_Admin_Jetpack_Import(stats_get_option('blog_id'), 'http://' . STATS_DASHBOARD_SERVER . '/wp-admin/index.php', array('Jetpack_Client', 'remote_request'), JETPACK__API_VERSION, JETPACK__VERSION, JETPACK_MASTER_USER);
 }
コード例 #2
0
ファイル: stats.php プロジェクト: iamtakashi/jetpack
/**
 * Abstract out building the rest api stats path.
 *
 * @param  string $resource
 * @return string
 */
function jetpack_stats_api_path($resource = '')
{
    $resource = ltrim($resource, '/');
    return sprintf('/sites/%d/stats/%s', stats_get_option('blog_id'), $resource);
}
コード例 #3
0
 function page_admin_scripts()
 {
     if ($this->is_redirecting) {
         return;
         // No need for scripts on a fallback page
     }
     $is_dev_mode = Jetpack::is_development_mode();
     // Enqueue jp.js and localize it
     wp_enqueue_script('react-plugin', plugins_url('_inc/build/admin.js', JETPACK__PLUGIN_FILE), array(), JETPACK__VERSION, true);
     if (!$is_dev_mode) {
         // Required for Analytics
         wp_enqueue_script('jp-tracks', '//stats.wp.com/w.js', array(), gmdate('YW'), true);
     }
     $localeSlug = explode('_', get_locale());
     $localeSlug = $localeSlug[0];
     // Collecting roles that can view site stats
     $stats_roles = array();
     $enabled_roles = function_exists('stats_get_option') ? stats_get_option('roles') : array('administrator');
     foreach (get_editable_roles() as $slug => $role) {
         $stats_roles[$slug] = array('name' => translate_user_role($role['name']), 'canView' => is_array($enabled_roles) ? in_array($slug, $enabled_roles, true) : false);
     }
     $response = rest_do_request(new WP_REST_Request('GET', '/jetpack/v4/module/all'));
     $modules = $response->get_data();
     // Preparing translated fields for JSON encoding by transforming all HTML entities to
     // respective characters.
     foreach ($modules as $slug => $data) {
         $modules[$slug]['name'] = html_entity_decode($data['name']);
         $modules[$slug]['description'] = html_entity_decode($data['description']);
         $modules[$slug]['short_description'] = html_entity_decode($data['short_description']);
         $modules[$slug]['long_description'] = html_entity_decode($data['long_description']);
     }
     // Add objects to be passed to the initial state of the app
     wp_localize_script('react-plugin', 'Initial_State', array('WP_API_root' => esc_url_raw(rest_url()), 'WP_API_nonce' => wp_create_nonce('wp_rest'), 'pluginBaseUrl' => plugins_url('', JETPACK__PLUGIN_FILE), 'connectionStatus' => array('isActive' => Jetpack::is_active(), 'isStaging' => Jetpack::is_staging_site(), 'devMode' => array('isActive' => $is_dev_mode, 'constant' => defined('JETPACK_DEV_DEBUG') && JETPACK_DEV_DEBUG, 'url' => site_url() && false === strpos(site_url(), '.'), 'filter' => apply_filters('jetpack_development_mode', false)), 'isPublic' => '1' == get_option('blog_public'), 'isInIdentityCrisis' => Jetpack::validate_sync_error_idc_option()), 'dismissedNotices' => $this->get_dismissed_jetpack_notices(), 'isDevVersion' => Jetpack::is_development_version(), 'currentVersion' => JETPACK__VERSION, 'happinessGravIds' => jetpack_get_happiness_gravatar_ids(), 'getModules' => $modules, 'showJumpstart' => jetpack_show_jumpstart(), 'rawUrl' => Jetpack::build_raw_urls(get_home_url()), 'adminUrl' => esc_url(admin_url()), 'stats' => array('data' => array('general' => false, 'day' => false, 'week' => false, 'month' => false), 'roles' => $stats_roles), 'settingNames' => array('jetpack_holiday_snow_enabled' => function_exists('jetpack_holiday_snow_option_name') ? jetpack_holiday_snow_option_name() : false), 'userData' => array('currentUser' => jetpack_current_user_data()), 'locale' => $this->get_i18n_data(), 'localeSlug' => $localeSlug, 'jetpackStateNotices' => array('messageCode' => Jetpack::state('message'), 'errorCode' => Jetpack::state('error'), 'errorDescription' => Jetpack::state('error_description')), 'tracksUserData' => Jetpack_Tracks_Client::get_connected_user_tracks_identity(), 'currentIp' => function_exists('jetpack_protect_get_ip') ? jetpack_protect_get_ip() : false));
 }
コード例 #4
0
ファイル: stats.php プロジェクト: valiror/sharingdais_demo1
function stats_admin_bar_menu(&$wp_admin_bar)
{
    $blog_id = stats_get_option('blog_id');
    $url = add_query_arg('page', 'stats', admin_url('admin.php'));
    // no menu_page_url() blog-side.
    $img_src = esc_attr(add_query_arg(array('noheader' => '', 'proxy' => '', 'chart' => 'admin-bar-hours-scale'), $url));
    $img_src_2x = esc_attr(add_query_arg(array('noheader' => '', 'proxy' => '', 'chart' => 'admin-bar-hours-scale-2x'), $url));
    $alt = esc_attr(__('Stats', 'jetpack'));
    $title = esc_attr(__('Views over 48 hours. Click for more Site Stats.', 'jetpack'));
    $menu = array('id' => 'stats', 'title' => "<div><script type='text/javascript'>var src;if(typeof(window.devicePixelRatio)=='undefined'||window.devicePixelRatio<2){src='{$img_src}';}else{src='{$img_src_2x}';}document.write('<img src=\\''+src+'\\' alt=\\'{$alt}\\' title=\\'{$title}\\' />');</script></div>", 'href' => $url);
    $wp_admin_bar->add_menu($menu);
}
コード例 #5
0
ファイル: stats.php プロジェクト: hypenotic/slowfood
function stats_admin_bar_menu(&$wp_admin_bar)
{
    $blog_id = stats_get_option('blog_id');
    $url = add_query_arg('page', 'stats', admin_url());
    $img_src = add_query_arg(array('noheader' => '', 'proxy' => '', 'chart' => 'admin-bar-hours', 'height' => 20, 'hours' => 48), $url);
    $title = __('Views over 48 hours. Click for more Site Stats.', 'stats');
    $menu = array('id' => 'stats', 'title' => "<img style='width:95px;height:20px' src='{$img_src}' alt='{$title}' title='{$title}' />", 'href' => $url);
    $wp_admin_bar->add_menu($menu);
}
コード例 #6
0
ファイル: stats.php プロジェクト: SymbiSoft/litprojects
function stats_dashboard_widget_content()
{
    $blog_id = stats_get_option('blog_id');
    if (!($width = (int) ($_GET['width'] / 2)) || $width < 250) {
        $width = 370;
    }
    if (!($height = (int) $_GET['height'] - 36) || $height < 230) {
        $height = 230;
    }
    $_width = $width - 5;
    $_height = $height - ($GLOBALS['is_winIE'] ? 16 : 5);
    // hack!
    $options = stats_dashboard_widget_options();
    $http = !empty($_SERVER['HTTPS']) ? 'https' : 'http';
    $src = clean_url("{$http}://dashboard.wordpress.com/wp-admin/index.php?page=estats&blog={$blog_id}&noheader=true&chart&unit={$options['chart']}&width={$_width}&height={$_height}");
    echo "<iframe id='stats-graph' class='stats-section' frameborder='0' style='width: {$width}px; height: {$height}px; overflow: hidden' src='{$src}'></iframe>";
    $post_ids = array();
    if (version_compare('2.7-z', $GLOBALS['wp_version'], '<=')) {
        $csv_args = array('top' => '&limit=8', 'active' => '&limit=5', 'search' => '&limit=5');
        $printf = __('%s %s Views');
    } else {
        $csv_args = array('top' => '', 'active' => '', 'search' => '');
        $printf = __('%s, %s views');
    }
    foreach ($top_posts = stats_get_csv('postviews', "days={$options['top']}{$csv_args['top']}") as $post) {
        $post_ids[] = $post['post_id'];
    }
    foreach ($active_posts = stats_get_csv('postviews', "days={$options['active']}{$csv_args['active']}") as $post) {
        $post_ids[] = $post['post_id'];
    }
    // cache
    get_posts(array('include' => join(',', array_unique($post_ids))));
    $searches = array();
    foreach ($search_terms = stats_get_csv('searchterms', "days={$options['search']}{$csv_args['search']}") as $search_term) {
        $searches[] = $search_term['searchterm'];
    }
    ?>
<div id="stats-info">
	<div id="top-posts" class='stats-section'>
		<div class="stats-section-inner">
		<h4 class="heading"><?php 
    _e('Top Posts');
    ?>
</h4>
		<?php 
    foreach ($top_posts as $post) {
        if (!get_post($post['post_id'])) {
            continue;
        }
        ?>
		<p><?php 
        printf($printf, '<a href="' . get_permalink($post['post_id']) . '">' . get_the_title($post['post_id']) . '</a>', number_format_i18n($post['views']));
        ?>
</p>
		<?php 
    }
    ?>
		</div>
	</div>
	<div id="top-search" class='stats-section'>
		<div class="stats-section-inner">
		<h4 class="heading"><?php 
    _e('Top Searches');
    ?>
</h4>
		<p><?php 
    echo join(',&nbsp; ', $searches);
    ?>
</p>
		</div>
	</div>
	<div id="active" class='stats-section'>
		<div class="stats-section-inner">
		<h4 class="heading"><?php 
    _e('Most Active');
    ?>
</h4>
		<?php 
    foreach ($active_posts as $post) {
        if (!get_post($post['post_id'])) {
            continue;
        }
        ?>
		<p><?php 
        printf($printf, '<a href="' . get_permalink($post['post_id']) . '">' . get_the_title($post['post_id']) . '</a>', number_format_i18n($post['views']));
        ?>
</p>
		<?php 
    }
    ?>
		</div>
	</div>
</div>
<br class="clear" />
<p class="textright">
	<a class="button" href="index.php?page=stats"><?php 
    _e('View All');
    ?>
</a>
</p>
<?php 
    exit;
}
コード例 #7
0
ファイル: stats.php プロジェクト: sjcockell/fuzzierlogic.blog
 function wpme_get_shortlink($id = 0, $context = 'post', $allow_slugs = true)
 {
     global $wp_query;
     $blog_id = stats_get_option('blog_id');
     if ('query' == $context) {
         if (is_singular()) {
             $id = $wp_query->get_queried_object_id();
             $context = 'post';
         } elseif (is_front_page()) {
             $context = 'blog';
         } else {
             return '';
         }
     }
     if ('blog' == $context) {
         if (empty($id)) {
             $id = $blog_id;
         }
         return 'http://wp.me/' . wpme_dec2sixtwo($id);
     }
     $post = get_post($id);
     if (empty($post)) {
         return '';
     }
     $post_id = $post->ID;
     $type = '';
     if ($allow_slugs && 'publish' == $post->post_status && 'post' == $post->post_type && strlen($post->post_name) <= 8 && false === strpos($post->post_name, '%') && false === strpos($post->post_name, '-')) {
         $id = $post->post_name;
         $type = 's';
     } else {
         $id = wpme_dec2sixtwo($post_id);
         if ('page' == $post->post_type) {
             $type = 'P';
         } elseif ('post' == $post->post_type) {
             $type = 'p';
         } elseif ('attachment' == $post->post_type) {
             $type = 'a';
         }
     }
     if (empty($type)) {
         return '';
     }
     return 'http://wp.me/' . $type . wpme_dec2sixtwo($blog_id) . '-' . $id;
 }