/** * The actual text for the JS snippet because drupal doesn't seem to be * able to add JS from template like Wordpress does... * Using heredocs for now * * @return string JS block for shareaholic code */ private static function js_snippet() { $api_key = ShareaholicUtilities::get_option('api_key'); $js_url = ShareaholicUtilities::asset_url('pub/shareaholic.js'); $page_config = ShareaholicPublicJS::get_page_config(); $js_snippet = <<<DOC <script type='text/javascript' data-cfasync='false'> //<![CDATA[ (function() { var shr = document.createElement('script'); shr.setAttribute('data-cfasync', 'false'); shr.src = '{$js_url}'; shr.type = 'text/javascript'; shr.async = 'true'; shr.onload = shr.onreadystatechange = function() { var rs = this.readyState; if (rs && rs != 'complete' && rs != 'loaded') return; var site_id = '{$api_key}'; var page_config = {$page_config}; try { Shareaholic.init(site_id, page_config); } catch (e) {} }; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(shr, s); })(); //]]> </script> DOC; return $js_snippet; }
/** * The actual text for the JS snippet because drupal doesn't seem to be * able to add JS from template like Wordpress does... * Using heredocs for now * * @return string JS block for shareaholic code */ private static function js_snippet() { $api_key = ShareaholicUtilities::get_option('api_key'); $js_url = ShareaholicUtilities::asset_url('pub/shareaholic.js'); $base_settings = json_encode(ShareaholicPublicJS::get_base_settings()); $overrides = ShareaholicPublicJS::get_overrides(); $js_snippet = <<<DOC <script type='text/javascript' data-cfasync='false'> //<![CDATA[ _SHR_SETTINGS = {$base_settings}; //]]> </script> <script type='text/javascript' src='{$js_url}' data-shr-siteid='{$api_key}' data-cfasync='false' async='async' {$overrides}> </script> DOC; return $js_snippet; }
/** * Inserts the script code snippet into the head of the page */ public static function script_tag() { if (ShareaholicUtilities::has_accepted_terms_of_service() && ShareaholicUtilities::get_or_create_api_key()) { ShareaholicUtilities::load_template('script_tag', array('api_key' => ShareaholicUtilities::get_option('api_key'), 'base_settings' => ShareaholicPublicJS::get_base_settings(), 'overrides' => ShareaholicPublicJS::get_overrides())); } }
/** * Inserts the script code snippet into the head of the page */ public static function script_tag() { if (ShareaholicUtilities::has_accepted_terms_of_service() && ShareaholicUtilities::get_or_create_api_key()) { ShareaholicUtilities::load_template('script_tag', array('shareaholic_url' => Shareaholic::URL, 'api_key' => ShareaholicUtilities::get_option('api_key'), 'page_config' => ShareaholicPublicJS::get_page_config())); } }