示例#1
0
        /**
         * Get OpenSocialShare Vertical Simple Social Sharing div and script.
         * 
         * @global type $post
         * @global type $oss_share_settings
         * @global type $oss_api_settings
         * @return type
         */
        public static function get_vertical_sharing_script()
        {
            global $post, $oss_share_settings, $oss_api_settings;
            if (is_object($post)) {
                $ossMeta = get_post_meta($post->ID, '_oss_meta', true);
                // If sharing disabled on this page/post, return content unaltered.
                if (isset($ossMeta['sharing']) && $ossMeta['sharing'] == '1' && !is_front_page()) {
                    return;
                }
            }
            $is_mobile = self::mobile_detect();
            if ($is_mobile && isset($oss_share_settings['mobile_enable']) && $oss_share_settings['mobile_enable'] == '1') {
                return;
            }
            $position = OSS_Vertical_Sharing::get_vertical_position();
            if (isset(OSS_Vertical_Sharing::$position['class'])) {
                foreach (OSS_Vertical_Sharing::$position['class'] as $key => $value) {
                    $position[$value]['class'] = $value;
                }
            }
            if (isset($position)) {
                foreach ($position as $key => $value) {
                    if ($value) {
                        switch ($key) {
                            case 'top_left':
                                $params = array('top' => '0px', 'right' => '', 'bottom' => '', 'left' => '0px');
                                $class = OSS_Vertical_Sharing::$params['top_left']['class'];
                                break;
                            case 'top_right':
                                $params = array('top' => '', 'right' => '0px', 'bottom' => '', 'left' => '');
                                $class = OSS_Vertical_Sharing::$params['top_right']['class'];
                                break;
                            case 'middle_right':
                                $params = array('top' => '', 'right' => '0px', 'bottom' => '', 'left' => '');
                                $class = OSS_Vertical_Sharing::$params['middle_right']['class'];
                                break;
                            case 'middle_left':
                                $params = array('top' => '', 'right' => '0px', 'bottom' => '', 'left' => '');
                                $class = OSS_Vertical_Sharing::$params['middle_left']['class'];
                                break;
                            case 'bottom_left':
                                $params = array('top' => '', 'right' => '', 'bottom' => '0px', 'left' => '0px');
                                $class = OSS_Vertical_Sharing::$params['bottom_left']['class'];
                                break;
                            case 'bottom_right':
                                $params = array('top' => '', 'right' => '0px', 'bottom' => '0px', 'left' => '');
                                $class = OSS_Vertical_Sharing::$params['bottom_right']['class'];
                                break;
                            default:
                                $params = array('top' => '', 'right' => '', 'bottom' => '', 'left' => '');
                                $class = $position[$key]['class'];
                                break;
                        }
                        if (isset($params)) {
                            $top = $params['top'] ? $params['top'] : '';
                            $right = $params['right'];
                            $bottom = $params['bottom'];
                            $left = $params['left'];
                            $hybrid = false;
                            $theme = $oss_share_settings['vertical_share_interface'];
                            switch ($theme) {
                                case '32-v':
                                    $size = '32';
                                    $widgetTheme = '0';
                                    $countertype = '0';
                                    break;
                                case '16-v':
                                    $size = '16';
                                    $widgetTheme = '0';
                                    $countertype = '0';
                                    break;
                                case 'hybrid-v-h':
                                    $hybrid = true;
                                    $size = '32';
                                    $countertype = "1";
                                    $widgetTheme = '1';
                                    break;
                                case 'hybrid-v-v':
                                    $hybrid = true;
                                    $size = '32';
                                    $countertype = "0";
                                    $widgetTheme = '1';
                                    break;
                                default:
                                    $size = '32';
                                    $top = 'top';
                                    $left = 'left';
                                    break;
                            }
                            $verticalShare = '';
                            if (isset($oss_share_settings['emailMessage']) && $oss_share_settings['emailMessage'] != '') {
                                $verticalShare .= 'emailMessage:"' . $oss_share_settings['emailMessage'] . '",';
                            }
                            if (isset($oss_share_settings['emailSubject']) && $oss_share_settings['emailSubject'] != '') {
                                $verticalShare .= 'emailSubject:"' . $oss_share_settings['emailSubject'] . '",';
                            }
                            if ($oss_share_settings['emailcontent'] != '') {
                                $verticalShare .= 'isEmailContentReadOnly:' . $oss_share_settings['emailcontent'] . ',';
                            }
                            if ($oss_share_settings['mobile_enable'] != '') {
                                $verticalShare .= 'isMobileFriendly:' . $oss_share_settings['mobile_enable'] . ',';
                            }
                            if ($oss_share_settings['isTotalShare'] != '') {
                                $verticalShare .= 'isTotalShare:' . $oss_share_settings['isTotalShare'] . ',';
                            }
                            if (isset($oss_share_settings['facebookAppId']) && $oss_share_settings['facebookAppId'] != '') {
                                $verticalShare .= 'facebookAppId:"' . $oss_share_settings['facebookAppId'] . '",';
                            }
                            if ($oss_share_settings['shortenUrl'] != '') {
                                $verticalShare .= 'isShortenUrl:' . $oss_share_settings['shortenUrl'] . ',';
                            }
                            if ($oss_share_settings['isOpenSingleWindow'] != '') {
                                $verticalShare .= 'isOpenSingleWindow:' . $oss_share_settings['isOpenSingleWindow'] . ',';
                            }
                            if (!empty($oss_share_settings['popupHeightWidth']) && !empty($oss_share_settings['popupWindowHeight']) && !empty($oss_share_settings['popupWindowWidth'])) {
                                $popUpWindow = '{height:' . $oss_share_settings['popupWindowHeight'] . ',width :' . $oss_share_settings['popupWindowWidth'] . '}';
                                $verticalShare .= 'popupWindowSize:' . $popUpWindow . ',';
                            }
                            if (isset($oss_share_settings['twittermention']) && $oss_share_settings['twittermention'] != '') {
                                $verticalShare .= 'twittermention:"' . $oss_share_settings['twittermention'] . '",';
                            }
                            if (isset($oss_share_settings['twitterhashtags']) && $oss_share_settings['twitterhashtags'] != '') {
                                $verticalShare .= 'twitterhashtag:"' . $oss_share_settings['twitterhashtags'] . '",';
                            }
                            if (isset($oss_share_settings['customOptions']) && $oss_share_settings['customOptions'] != '') {
                                $verticalShare .= $oss_share_settings['customOptions'] . ',';
                            }
                            $scriptVertical = '{name:';
                            if ($oss_share_settings['vertical_share_interface'] == 'hybrid-v-v' && $oss_share_settings['vertical_sharing_providers']['Hybrid']['Facebook Like'] == 'Facebook Like' && $oss_share_settings['facebookPage'] != '' || $oss_share_settings['vertical_share_interface'] == 'hybrid-v-h' && $oss_share_settings['vertical_sharing_providers']['Hybrid']['Facebook Like'] == 'Facebook Like' && $oss_share_settings['facebookPage'] != '') {
                                foreach ($oss_share_settings['vertical_sharing_providers']['Hybrid'] as $key => $value) {
                                    if ($key == 'Facebook Like') {
                                        $scriptVertical .= '"' . $value . '"' . ',';
                                        $scriptVertical .= 'url:' . '"' . $oss_share_settings['facebookPage'] . '"';
                                        $scriptVertical .= '},';
                                    } else {
                                        $scriptVertical .= '"' . $value . '"' . ',';
                                    }
                                }
                                $scriptVertical = substr($scriptVertical, 0, -1);
                            }
                            ?>
                            <script type="text/javascript">
        var shareWidgetVertical = new OpenSocialShare();
        shareWidgetVertical.init({
             <?php 
                            echo $verticalShare;
                            ?>
                 
            isCounterWidgetTheme: <?php 
                            echo $widgetTheme;
                            ?>
, // 0 or 1 - standard themes or counter widget themes
            isHorizontalCounter: <?php 
                            echo $countertype;
                            ?>
, // 0 or 1 - counter on top or counter to right - counter themes only
            isHorizontalLayout: 0, // 0 or 1 - vertical layout or horizontal layout
            widgetIconSize: "<?php 
                            echo $size;
                            ?>
", // "16" or "32" - 16px or 32px standard themes only
            widgetStyle: "square", //"image", "square" or "responsive" - standard themes only
           
            providers: {
                
                   top: ["<?php 
                            if (isset($oss_share_settings['vertical_rearrange_providers'])) {
                                echo implode('","', $oss_share_settings['vertical_rearrange_providers']);
                            }
                            ?>
"]
                },
            widgets: {
                 //all : _private.getAllButtonName(_private.widgetConfig),
         <?php 
                            if ($oss_share_settings['vertical_share_interface'] == 'hybrid-v-v' && $oss_share_settings['vertical_sharing_providers']['Hybrid']['Facebook Like'] == 'Facebook Like' && $oss_share_settings['facebookPage'] != '' || $oss_share_settings['vertical_share_interface'] == 'hybrid-v-h' && $oss_share_settings['vertical_sharing_providers']['Hybrid']['Facebook Like'] == 'Facebook Like' && $oss_share_settings['facebookPage'] != '') {
                                ?>
                 top: [<?php 
                                echo $scriptVertical;
                                ?>
]
         <?php 
                            } else {
                                ?>
             top: ["<?php 
                                echo implode('","', $oss_share_settings['vertical_sharing_providers']['Hybrid']);
                                ?>
"]
         <?php 
                            }
                            ?>
             },
           
            theme: 'OpenSocialShareDefaultTheme',  
        });
        shareWidgetVertical.injectInterface(".<?php 
                            echo $class;
                            ?>
");
        shareWidgetVertical.setWidgetTheme(".<?php 
                            echo $class;
                            ?>
");
    </script>
                        
                            <?php 
                        }
                    }
                }
            }
        }