Sharing_Service::get_blog_services PHP Method

get_blog_services() public method

public get_blog_services ( )
    public function get_blog_services()
    {
        $options = get_option('sharing-options');
        $enabled = get_option('sharing-services');
        $services = $this->get_all_services();
        if (!is_array($options)) {
            $options = array('global' => $this->get_global_options());
        }
        $global = $options['global'];
        // Default services
        if (!is_array($enabled)) {
            $enabled = array('visible' => array(), 'hidden' => array());
            /**
             * Filters the list of default Sharing Services.
             *
             * @module sharedaddy
             *
             * @since 1.1.0
             *
             * @param array $enabled Array of default Sharing Services.
             */
            $enabled = apply_filters('sharing_default_services', $enabled);
        }
        // Cleanup after any filters that may have produced duplicate services
        $enabled['visible'] = array_unique($enabled['visible']);
        $enabled['hidden'] = array_unique($enabled['hidden']);
        // Form the enabled services
        $blog = array('visible' => array(), 'hidden' => array());
        foreach ($blog as $area => $stuff) {
            foreach ((array) $enabled[$area] as $service) {
                if (isset($services[$service])) {
                    $blog[$area][$service] = new $services[$service]($service, array_merge($global, isset($options[$service]) ? $options[$service] : array()));
                }
            }
        }
        /**
         * Filters the list of enabled Sharing Services.
         *
         * @module sharedaddy
         *
         * @since 1.1.0
         *
         * @param array $blog Array of enabled Sharing Services.
         */
        $blog = apply_filters('sharing_services_enabled', $blog);
        // Add CSS for NASCAR
        if (count($blog['visible']) || count($blog['hidden'])) {
            add_filter('post_flair_block_css', 'post_flair_service_enabled_sharing');
        }
        // Convenience for checking if a service is present
        $blog['all'] = array_flip(array_merge(array_keys($blog['visible']), array_keys($blog['hidden'])));
        return $blog;
    }

Usage Example

 function get_default_sharing_status()
 {
     $default_sharing_status = false;
     if (class_exists('Sharing_Service')) {
         $ss = new Sharing_Service();
         $blog_services = $ss->get_blog_services();
         $default_sharing_status = !empty($blog_services['visible']);
     }
     return (bool) $default_sharing_status;
 }
All Usage Examples Of Sharing_Service::get_blog_services