function generate_scripts() { $script = ''; if (is_array(self::$scripts)) { if (is_ssl()) { $rating_js_file = "https://polldaddy.com/js/rating/rating.js"; } else { $rating_js_file = "http://i0.poll.fm/js/rating/rating.js"; } if (isset(self::$scripts['rating'])) { $script = "<script type='text/javascript' charset='UTF-8' id='polldaddyRatings'><!--//--><![CDATA[//><!--\n"; foreach (self::$scripts['rating'] as $rating) { $script .= "PDRTJS_settings_{$rating['id']}{$rating['item_id']}={$rating['settings']}; if ( typeof PDRTJS_RATING !== 'undefined' ){if ( typeof PDRTJS_{$rating['id']}{$rating['item_id']} == 'undefined' ){PDRTJS_{$rating['id']}{$rating['item_id']} = new PDRTJS_RATING( PDRTJS_settings_{$rating['id']}{$rating['item_id']} );}}"; } $script .= "\n//--><!]]></script><script type='text/javascript' charset='UTF-8' src='{$rating_js_file}'></script>"; } if (isset(self::$scripts['poll'])) { foreach (self::$scripts['poll'] as $poll) { $script .= "<script type='text/javascript' charset='UTF-8' src='{$poll['url']}'></script>"; } } } self::$scripts = false; echo $script; }
/** * Polldaddy shortcode. * * Overwrite jetpack native shortcode. * Add the script for each shortcode. Convert in FB IA markup. * * @param array $atts Array of attributes passed to shortcode. * * @return string|void FB IA formatted polldaddy markup. * Nothing if polldaddy functionality doesn't exist. */ public function polldaddy_shortcode($atts) { if (!class_exists('PolldaddyShortcode')) { return ''; } $polldaddy = new PolldaddyShortcode(); // Get polldaddy markup. Needs to be run first so script vars are set. $html = $polldaddy->polldaddy_shortcode($atts); // Get scripts as they are echo-ed not returned. ob_start(); $polldaddy->generate_scripts(); $scripts = ob_get_clean(); return sprintf('<figure class="op-interactive"><iframe>%s</iframe></figure>', $html . $scripts); }