/httpdocs/wp-content/plugins/digg-digg/include/dd-class.php
PHP | 2280 lines | 1562 code | 556 blank | 162 comment | 46 complexity | 9aba344c8683bc4014c66037449b6dc4 MD5 | raw file
Possible License(s): BSD-3-Clause, GPL-3.0, LGPL-2.1, GPL-2.0
Large files files are truncated, but you can click here to view the full file
- <?php
- // XXX: NEW BUTTONS: Extend this base class. Set defaults as class properties
- class BaseDD {
-
- //String for replacement.
- const VOTE_URL = 'VOTE_URL';
- const VOTE_TITLE = 'VOTE_TITLE';
- const VOTE_IMAGE = 'VOTE_IMAGE';
- const VOTE_BUTTON_DESIGN = 'VOTE_BUTTON_DESIGN';
- const SCHEDULER_TIMER = 'SCHEDULER_TIMER';
- const POST_ID = 'POST_ID';
- const VOTE_BUTTON_DESIGN_LAZY_WIDTH = 'VOTE_BUTTON_DESIGN_LAZY_WIDTH';
- const VOTE_BUTTON_DESIGN_LAZY_HEIGHT = 'VOTE_BUTTON_DESIGN_LAZY_HEIGHT';
-
- //default value
- const DEFAULT_APPEND_TYPE = 'none';
- const DEFAULT_OPTION_AJAX = 'false';
- const DEFAULT_BUTTON_DESIGN = 'Normal';
- const DEFAULT_BUTTON_WEIGHT = '100';
- // define properties
- var $name; //name of the vote button
- var $websiteURL; //website URL
- var $apiURL; //Button API for development
-
- var $baseURL; // vote button URL, before construt
- var $baseURL_lazy; // vote button URL, before construt, lazy version
- var $baseURL_lazy_script; // jQuery script , lazy version
- var $scheduler_lazy_script; //scheduler function
- var $scheduler_lazy_timer; //miliseconds
-
- var $finalURL; //final URL for display, after constructs
- var $finalURL_lazy;//final lazy URL for display, after constructs
- var $finalURL_lazy_script;//final jQuery, after constructs
- var $final_scheduler_lazy_script; //final scheduler, after constructs
-
- var $isEncodeRequired = true; //is URL or title need encode?
- var $islazyLoadAvailable = true; //is lazy load avaliable?
-
- //contains DD option value, in array
- var $wp_options;
- var $option_append_type;
- var $option_button_design;
- var $option_button_weight;
- var $option_ajax_left_float;
- var $option_lazy_load;
-
- var $button_weight_value;
-
- //default float button design
- var $float_button_design = self::DEFAULT_BUTTON_DESIGN;
-
- //default button layout, suit in most cases
- var $buttonLayout = array(
- "Normal" => "Normal",
- "Compact" => "Compact"
- );
-
- // Default options
- var $append_type = 'none';
- var $button_design = 'Normal';
- var $ajax_left_float = false;
- var $lazy_load = false;
-
- public function getButtonDesign($button){
- return $this->buttonLayout[$button];
- }
-
- //default lazy button layout, suit in most cases
- var $buttonLayoutLazy = array(
- "Normal" => "Normal",
- "Compact" => "Compact"
- );
-
- public function getButtonDesignLazy($button){
- return $this->buttonLayoutLazy[$button];
- }
-
- var $buttonLayoutLazyWidth = array(
- "Normal" => "51",
- "Compact" => "120"
- );
-
- public function getButtonDesignLazyWidth($button){
- return $this->buttonLayoutLazyWidth[$button];
- }
-
- var $buttonLayoutLazyHeight = array(
- "Normal" => "69",
- "Compact" => "22"
- );
-
- public function getButtonDesignLazyHeight($button){
- return $this->buttonLayoutLazyHeight[$button];
- }
-
- function BaseDD($name, $websiteURL, $apiURL, $baseURL) {
- $this->name = $name;
- $this->websiteURL = $websiteURL;
- $this->apiURL = $apiURL;
- $this->baseURL = $baseURL;
-
- $this->initWPOptions();
- }
-
- private function initWPOptions() {
- $this->wp_options = array();
-
- // XXX: Set default options in the subclass
- $this->wp_options[$this->option_append_type] = $this->append_type;
- //$this->wp_options[$this->option_append_type] = self::DEFAULT_APPEND_TYPE;
-
- $this->wp_options[$this->option_button_design] = $this->button_design;
- //$this->wp_options[$this->option_button_design] = self::DEFAULT_BUTTON_DESIGN;
-
- $this->wp_options[$this->option_ajax_left_float] = $this->ajax_left_float;
- //$this->wp_options[$this->option_ajax_left_float] = self::DEFAULT_OPTION_AJAX;
-
- $this->wp_options[$this->option_lazy_load] = $this->lazy_load;
- //$this->wp_options[$this->option_lazy_load] = self::DEFAULT_OPTION_AJAX;
-
- $this->wp_options[$this->option_button_weight] = $this->button_weight_value;
- }
-
- public function getOptionLazyLoad(){
- return $this->wp_options[$this->option_lazy_load];
- }
- public function getOptionAjaxLeftFloat(){
- return $this->wp_options[$this->option_ajax_left_float];
- }
- public function getOptionButtonWeight(){
- return $this->wp_options[$this->option_button_weight];
- }
- public function getOptionAppendType(){
- return $this->wp_options[$this->option_append_type];
- }
- public function getOptionButtonDesign(){
- return $this->wp_options[$this->option_button_design];
- }
-
- //construct base URL, based on $lazy value
- public function constructURL($url, $title,$button, $postId, $lazy, $globalcfg = ''){
-
- //rawurlencode - replace space with %20
- //urlencode - replace space with +
- if($this->isEncodeRequired){
- $title = rawurlencode($title);
- $url = rawurlencode($url);
- }
-
- if($lazy==DD_EMPTY_VALUE || $lazy==false){
- $this->constructNormalURL($url, $title,$button, $postId);
- }else{
- $this->constructLazyLoadURL($url, $title,$button, $postId);
- }
-
- }
-
- public function constructNormalURL($url, $title,$button, $postId){
-
- $finalURL = $this->baseURL;
- $finalURL = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesign($button),$finalURL);
- $finalURL = str_replace(self::VOTE_TITLE,$title,$finalURL);
- $finalURL = str_replace(self::VOTE_URL,$url,$finalURL);
- $this->finalURL = $finalURL;
- }
-
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
-
- $finalURL_lazy = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(self::VOTE_TITLE,$title,$finalURL_lazy);
- $finalURL_lazy = str_replace(self::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(self::POST_ID,$postId,$finalURL_lazy);
-
- $this->finalURL_lazy = $finalURL_lazy;
-
- //lazy loading javascript
- $finalURL_lazy_script = $this->baseURL_lazy_script;
-
- $finalURL_lazy_script = str_replace(self::VOTE_BUTTON_DESIGN_LAZY_WIDTH,$this->getButtonDesignLazyWidth($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_BUTTON_DESIGN_LAZY_HEIGHT,$this->getButtonDesignLazyHeight($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_TITLE,$title,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_URL,$url,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- //scheduler to run the lazy loading
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(self::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(self::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
- }
- //iframe class has different construct URL for normal and lazy load
- class BaseIFrameDD extends BaseDD{
- const EXTRA_VALUE = "EXTRA_VALUE";
-
- var $buttonLayoutWidthHeight = array(
- "Normal" => "height=\"69\" width=\"51\"",
- "Compact" => "height=\"22\" width=\"120\"",
- );
-
- public function getIframeWH($button){
- return $this->buttonLayoutWidthHeight[$button];
- }
-
- public function constructNormalURL($url, $title,$button, $postId){
-
- $finalURL = $this->baseURL;
- $finalURL = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesign($button),$finalURL);
- $finalURL = str_replace(parent::VOTE_TITLE,$title,$finalURL);
- $finalURL = str_replace(parent::VOTE_URL,$url,$finalURL);
- $finalURL = str_replace(parent::POST_ID,$postId,$finalURL);
-
- $finalURL = str_replace(self::EXTRA_VALUE,$this->getIframeWH($button),$finalURL);
- $this->finalURL = $finalURL;
- }
-
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(self::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(self::VOTE_BUTTON_DESIGN_LAZY_WIDTH,$this->getButtonDesignLazyWidth($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_BUTTON_DESIGN_LAZY_HEIGHT,$this->getButtonDesignLazyHeight($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_TITLE,$title,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::VOTE_URL,$url,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(self::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(self::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(self::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- }
-
- //warning : in baseURL or lazyURL, all text have to enclose by html tag, else it will display pure text in the_excerpt mode
- // DEFAULT BUTTONS (IN THEIR DEFAULT ORDER)
- // TODO: consider tidying this up by loading these classes from separate files
- /******************************************************************************************
- *
- * http://www.twitter.com
- * //data-counturl
- */
- class DD_Twitter extends BaseDD{
- var $append_type = 'left_float';
- var $button_design = 'Normal';
- var $ajax_left_float = 'on';
- var $lazy_load = false;
-
- const NAME = "Twitter";
- const URL_WEBSITE = "http://www.twitter.com";
- const URL_API = "http://twitter.com/goodies/tweetbutton";
- const DEFAULT_BUTTON_WEIGHT = "110";
- const BASEURL ="<a href=\"http://twitter.com/share\" class=\"twitter-share-button\" data-url=\"VOTE_URL\" data-count=\"VOTE_BUTTON_DESIGN\" data-text=\"VOTE_TITLE\" data-via=\"VOTE_SOURCE\" ></a><script type=\"text/javascript\" src=\"http://platform.twitter.com/widgets.js\"></script>";
-
- const OPTION_APPEND_TYPE = "dd_twitter_appendType";
- const OPTION_BUTTON_DESIGN = "dd_twitter_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_twitter_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_twitter_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_twitter_lazy_load";
-
- const BASEURL_LAZY ="<div class='dd-twitter-ajax-load dd-twitter-POST_ID'></div><a href=\"http://twitter.com/share\" class=\"twitter-share-button\" data-url=\"VOTE_URL\" data-count=\"VOTE_BUTTON_DESIGN\" data-text=\"VOTE_TITLE\" data-via=\"VOTE_SOURCE\" ></a>";
- const BASEURL_LAZY_SCRIPT = " function loadTwitter_POST_ID(){ jQuery(document).ready(function(\$) { \$('.dd-twitter-POST_ID').remove();\$.getScript('http://platform.twitter.com/widgets.js'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadTwitter_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
- var $buttonLayout = array(
- "Normal" => "vertical",
- "Compact" => "horizontal"
- );
-
- var $buttonLayoutLazy = array(
- "Normal" => "vertical",
- "Compact" => "horizontal"
- );
-
- var $isEncodeRequired = false;
-
- const VOTE_SOURCE = "VOTE_SOURCE";
-
- public function DD_Twitter() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
- public function constructURL($url, $title,$button, $postId, $lazy, $globalcfg = ''){
-
- if($this->isEncodeRequired){
- $title = rawurlencode($title);
- $url = rawurlencode($url);
- }
-
- $twitter_source = '';
- if($globalcfg!=''){
- $twitter_source = $globalcfg[DD_GLOBAL_TWITTER_OPTION][DD_GLOBAL_TWITTER_OPTION_SOURCE];
- }
- if($lazy==DD_EMPTY_VALUE){
- //format twitter source
- $this->baseURL = str_replace(self::VOTE_SOURCE,$twitter_source,$this->baseURL);
-
- $this->constructNormalURL($url, $title,$button, $postId);
-
- }else{
- //format twitter source
- $this->baseURL_lazy = str_replace(self::VOTE_SOURCE,$twitter_source,$this->baseURL_lazy);
-
- $this->constructLazyLoadURL($url, $title,$button, $postId);
- }
-
- }
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_TITLE,$title,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(parent::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(parent::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(parent::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
- }
-
- }
- /******************************************************************************************
- * Buffer Button
- * http://bufferapp.com/goodies/button
- *
- */
- class DD_Buffer extends BaseDD{
- var $append_type = 'after_content';
- var $button_design = 'Normal';
- var $ajax_left_float = 'on';
- var $lazy_load = false;
-
- const NAME = "Buffer";
- const URL_WEBSITE = "http://bufferapp.com/";
- const URL_API = "http://bufferapp.com/goodies/button/";
- const DEFAULT_BUTTON_WEIGHT = "99";
-
- var $isEncodeRequired = false;
-
- const BASEURL = '<a href="http://bufferapp.com/add" class="buffer-add-button" data-count="VOTE_BUTTON_DESIGN" data-url="VOTE_URL" data-via="VOTE_BUFFER_SOURCE"></a><script type="text/javascript" src="http://static.bufferapp.com/js/button.js"></script>';
- const BASEURL_LAZY = '<a href="http://bufferapp.com/add" class="buffer-add-button" data-count="VOTE_BUTTON_DESIGN" data-url="VOTE_URL" data-via="VOTE_BUFFER_SOURCE"></a>';
- const BASEURL_LAZY_SCRIPT = "function loadBuffer_POST_ID(){ jQuery(document).ready(function(\$) { \$('.dd-buffer-POST_ID').remove();\$.getScript('http://static.bufferapp.com/js/button.js'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadBuffer_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
-
- const OPTION_APPEND_TYPE = "dd_buffer_appendType";
- const OPTION_BUTTON_DESIGN = "dd_buffer_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_buffer_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_buffer_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_buffer_lazy_load";
-
- const VOTE_BUFFER_SOURCE = "VOTE_BUFFER_SOURCE";
-
- var $buttonLayout = array(
- "Normal" => "vertical",
- "Compact" => "horizontal",
- "No Count" => "none"
- );
-
- var $buttonLayoutLazy = array(
- "Normal" => "vertical",
- "Compact" => "horizontal",
- "No Count" => "none"
- );
-
- // XXX: Old-style constructor
- public function DD_Buffer() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
- public function constructURL($url, $title, $button, $postId, $lazy, $globalcfg = ''){
-
- if($this->isEncodeRequired){
- $title = rawurlencode($title);
- $url = rawurlencode($url);
- }
-
- $buffer_source = '';
- if($globalcfg!=''){
- $buffer_source = $globalcfg[DD_GLOBAL_BUFFER_OPTION][DD_GLOBAL_BUFFER_OPTION_SOURCE];
- }
- if($lazy==DD_EMPTY_VALUE || $lazy==false){
- //format twitter source
- $this->baseURL = str_replace(self::VOTE_BUFFER_SOURCE,$buffer_source,$this->baseURL);
- $this->constructNormalURL($url, $title,$button, $postId);
- }else{
- //format twitter source
- $this->baseURL_lazy = str_replace(self::VOTE_BUFFER_SOURCE,$buffer_source,$this->baseURL_lazy);
-
- $this->constructLazyLoadURL($url, $title,$button, $postId);
- }
-
- }
-
- public function constructNormalURL($url, $title, $button, $postId){
-
- $finalURL = $this->baseURL;
- $finalURL = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesign($button),$finalURL);
- $finalURL = str_replace(self::VOTE_TITLE,$title,$finalURL);
- $finalURL = str_replace(self::VOTE_URL,$url,$finalURL);
- $finalURL = str_replace(parent::POST_ID,$postId,$finalURL);
- $this->finalURL = $finalURL;
- }
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(parent::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(parent::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(parent::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(parent::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- }
- /******************************************************************************************
- *
- * Facebook Like (XFBML)
- * https://developers.facebook.com/tools/lint/
- *
- */
- class DD_FbLike_XFBML extends BaseDD{
- var $append_type = 'left_float';
- var $button_design = 'Like Button Count';
- var $ajax_left_float = 'on';
- var $lazy_load = false;
-
- const NAME = "Facebook Like (XFBML)";
- const URL_WEBSITE = "http://www.facebook.com";
- const URL_API = "http://developers.facebook.com/docs/reference/plugins/like";
- const BASEURL = "<script src=\"http://connect.facebook.net/FACEBOOK_LOCALE/all.js#xfbml=1\"></script><fb:like href=\"VOTE_URL\" FACEBOOK_SEND FACEBOOK_SHOW_FACE VOTE_BUTTON_DESIGN ></fb:like>";
-
- const FB_LOCALES = "http://www.facebook.com/translations/FacebookLocales.xml";
- const DEFAULT_BUTTON_WEIGHT = "96";
-
- const OPTION_APPEND_TYPE = "dd_fblike_xfbml_appendType";
- const OPTION_BUTTON_DESIGN = "dd_fblike_xfbml_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_fblike_xfbml_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_fblike_xfbml_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_fblike_xfbml_lazy_load";
-
- const LIKE_STANDARD = " width=\"450\" ";
- const LIKE_BUTTON_COUNT= " layout=\"button_count\" width=\"92\" ";
- const LIKE_BOX_COUNT= " layout=\"box_count\" width=\"50\" ";
- const RECOMMEND_STANDARD = " action=\"recommend\" width=\"400\" ";
- const RECOMMEND_BUTTON_COUNT= " action=\"recommend\" layout=\"button_count\" width=\"130\" ";
- const RECOMMEND_BOX_COUNT= " action=\"recommend\" layout=\"box_count\" width=\"90\" ";
- const FACEBOOK_SEND = "FACEBOOK_SEND"; //send=\"true\"
- const FACEBOOK_SHOW_FACE = "FACEBOOK_SHOW_FACE"; //show_faces=\"true\"
- const FACEBOOK_LOCALE = "FACEBOOK_LOCALE";
-
- var $islazyLoadAvailable = false;
-
- var $float_button_design = "Like Box Count";
-
- var $buttonLayout = array(
- "Like Standard" => self::LIKE_STANDARD,
- "Like Button Count" => self::LIKE_BUTTON_COUNT,
- "Like Box Count" => self::LIKE_BOX_COUNT,
- "Recommend Standard" => self::RECOMMEND_STANDARD,
- "Recommend Button Count" => self::RECOMMEND_BUTTON_COUNT,
- "Recommend Box Count" => self::RECOMMEND_BOX_COUNT
- );
-
- public function DD_FbLike_XFBML() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
- public function constructURL($url, $title,$button, $postId, $lazy, $globalcfg = ''){
-
- if($this->isEncodeRequired){
- $title = rawurlencode($title);
- $url = rawurlencode($url);
- }
-
- $fb_locale = '';
- $fb_send = '';
- $fb_face = '';
- $fb_send_value = '';
- $fb_face_value = '';
-
- if($globalcfg!=''){
- $fb_locale = $globalcfg[DD_GLOBAL_FACEBOOK_OPTION][DD_GLOBAL_FACEBOOK_OPTION_LOCALE];
- $fb_send = $globalcfg[DD_GLOBAL_FACEBOOK_OPTION][DD_GLOBAL_FACEBOOK_OPTION_SEND];
- $fb_face = $globalcfg[DD_GLOBAL_FACEBOOK_OPTION][DD_GLOBAL_FACEBOOK_OPTION_FACE];
-
- if($fb_send == DD_DISPLAY_ON){
- $fb_send_value = "send=\"true\"";
- }else{
- $fb_send_value = "send=\"false\"";
- }
-
- if($fb_face == DD_DISPLAY_ON){
- $fb_face_value = "show_faces=\"true\"";
- }else{
- $fb_face_value = "show_faces=\"false\"";
- }
-
- }
- //show face and send button
- $this->baseURL = str_replace(self::FACEBOOK_LOCALE,$fb_locale,$this->baseURL);
- $this->baseURL = str_replace(self::FACEBOOK_SEND,$fb_send_value,$this->baseURL);
- $this->baseURL = str_replace(self::FACEBOOK_SHOW_FACE,$fb_face_value,$this->baseURL);
-
- $this->constructNormalURL($url, $title,$button, $postId);
-
- }
-
- }
- /******************************************************************************************
- *
- * http://www.google.com/+1/button/
- * http://www.google.com/webmasters/+1/button/
- *
- */
- class DD_Google1 extends BaseDD{
- var $append_type = 'left_float';
- var $button_design = 'Normal';
- var $ajax_left_float = 'on';
- var $lazy_load = false;
-
- const NAME = "Google +1";
- const URL_WEBSITE = "http://www.google.com/+1/button/";
- const URL_API = "http://code.google.com/apis/+1button/";
- const DEFAULT_BUTTON_WEIGHT = "95";
-
- var $isEncodeRequired = false;
-
- const BASEURL = "<script type='text/javascript' src='https://apis.google.com/js/plusone.js'></script><g:plusone size='VOTE_BUTTON_DESIGN' href='VOTE_URL'></g:plusone>";
- const BASEURL_LAZY = "<div class='dd-google1-ajax-load dd-google1-POST_ID'></div><g:plusone size='VOTE_BUTTON_DESIGN' href='VOTE_URL'></g:plusone>";
- const BASEURL_LAZY_SCRIPT = " function loadGoogle1_POST_ID(){ jQuery(document).ready(function(\$) { \$('.dd-google1-POST_ID').remove();\$.getScript('https://apis.google.com/js/plusone.js'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadGoogle1_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
-
- const OPTION_APPEND_TYPE = "dd_google1_appendType";
- const OPTION_BUTTON_DESIGN = "dd_google1_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_google1_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_google1_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_google1_lazy_load";
-
- var $buttonLayout = array(
- "Normal" => "tall",
- "Compact (15px)" => "small",
- "Compact (20px)" => "medium",
- "Compact (24px)" => "none"
- );
-
- var $buttonLayoutLazy = array(
- "Normal" => "tall",
- "Compact (15px)" => "small",
- "Compact (20px)" => "medium",
- "Compact (24px)" => "none"
- );
-
- public function DD_Google1() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
-
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(parent::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(parent::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(parent::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(parent::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- }
- /******************************************************************************************
- *
- * http://www.linkedin.com
- *
- */
- class DD_Linkedin extends BaseDD{
- var $append_type = 'left_float';
- var $button_design = 'Normal';
- var $ajax_left_float = 'on';
- var $lazy_load = false;
-
- const NAME = "Linkedin";
- const URL_WEBSITE = "http://www.linkedin.com";
- const URL_API = "http://www.linkedin.com/publishers";
- const DEFAULT_BUTTON_WEIGHT = "94";
-
- const BASEURL = "<script type='text/javascript' src='http://platform.linkedin.com/in.js'></script><div class='dd-linkedin-share'><div data-url='VOTE_URL' data-counter='VOTE_BUTTON_DESIGN'></div></div>";
-
- const BASEURL_LAZY = "<div class='dd-linkedin-ajax-load dd-linkedin-POST_ID'></div><script type='IN/share' data-url='VOTE_URL' data-counter='VOTE_BUTTON_DESIGN'></script>";
- const BASEURL_LAZY_SCRIPT = " function loadLinkedin_POST_ID(){ jQuery(document).ready(function(\$) { \$('.dd-linkedin-POST_ID').remove();\$.getScript('http://platform.linkedin.com/in.js'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadLinkedin_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
-
- const OPTION_APPEND_TYPE = "dd_linkedin_appendType";
- const OPTION_BUTTON_DESIGN = "dd_linkedin_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_linkedin_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_linkedin_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_linkedin_lazy_load";
- var $buttonLayout = array(
- "Normal" => "top",
- "Compact" => "right",
- "NoCount" => "none"
- );
-
- var $buttonLayoutLazy = array(
- "Normal" => "top",
- "Compact" => "right",
- "NoCount" => "none"
- );
-
- var $isEncodeRequired = false;
-
- public function DD_Linkedin() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
-
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(self::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(self::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(self::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(self::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(self::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- }
- // NON-DEFAULTS
- /******************************************************************************************
- *
- * Pinterest
- * http://pinterest.com/about/goodies/#button_for_websites
- *
- */
- class DD_Pinterest extends BaseDD{
- const NAME = "Pinterest";
- const URL_WEBSITE = "http://pinterest.com";
- const URL_API = "http://pinterest.com/about/goodies/#button_for_websites";
- const DEFAULT_BUTTON_WEIGHT = "10";
- const BASEURL = '<a href="http://pinterest.com/pin/create/button/?url=VOTE_URL&description=VOTE_TITLE&media=VOTE_IMAGE" class="pin-it-button" count-layout="VOTE_BUTTON_DESIGN"></a><script type="text/javascript" src="http://assets.pinterest.com/js/pinit.js"></script>';
- const BASEURL_LAZY = '<a href="http://pinterest.com/pin/create/button/?url=VOTE_URL&description=VOTE_TITLE&media=VOTE_IMAGE" class="pin-it-button dd-pinterest-ajax-load dd-pinterest-POST_ID" count-layout="VOTE_BUTTON_DESIGN"></a>';
- const BASEURL_LAZY_SCRIPT = "function loadPinterest_POST_ID(){ jQuery(document).ready(function(\$) { \$.getScript('http://assets.pinterest.com/js/pinit.js'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadPinterest_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
-
- const OPTION_APPEND_TYPE = "dd_pinterest_appendType";
- const OPTION_BUTTON_DESIGN = "dd_pinterest_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_pinterest_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_pinterest_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_pinterest_lazy_load";
-
- var $buttonLayout = array(
- "Normal" => "vertical",
- "Compact" => "horizontal",
- "No Count" => "none"
- );
-
- var $buttonLayoutLazy = array(
- "Normal" => "vertical",
- "Compact" => "horizontal",
- "No Count" => "none"
- );
-
- public function DD_Pinterest() {
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
- //construct base URL, based on $lazy value
- public function constructURL($url, $title, $button, $postId, $lazy, $globalcfg = ''){
- //rawurlencode - replace space with %20
- //urlencode - replace space with +
- if($this->isEncodeRequired) {
- $title = rawurlencode($title);
- $url = rawurlencode($url);
- }
-
- if($lazy==DD_EMPTY_VALUE || $lazy==false){
- $this->constructNormalURL($url, $title,$button, $postId);
- }else{
- $this->constructLazyLoadURL($url, $title,$button, $postId);
- }
-
- }
-
- public function constructNormalURL($url, $title,$button, $postId){
-
- $finalURL = $this->baseURL;
- $finalURL = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesign($button),$finalURL);
- $finalURL = str_replace(self::VOTE_TITLE,$title,$finalURL);
- $finalURL = str_replace(self::VOTE_URL,$url,$finalURL);
- $finalURL = str_replace(parent::POST_ID,$postId,$finalURL);
- $finalURL = str_replace(parent::VOTE_TITLE,$title,$finalURL);
- $finalURL = str_replace(parent::VOTE_URL,$url,$finalURL);
-
- // If theme uses post thumbnails, grab the chosen thumbnail if not grab the first image attached to post
- if(current_theme_supports('post-thumbnails')){
- $thumb = wp_get_attachment_image_src(get_post_thumbnail_id($postId), 'full');
- } else {
- $image_args = array(
- 'order' => 'ASC',
- 'orderby' => 'menu_order',
- 'post_type' => 'attachment',
- 'post_parent' => $postId,
- 'post_mime_type' => 'image',
- 'post_status' => null,
- 'numberposts' => -1,
- );
- $attachments = get_posts($image_args);
-
- if ($attachments) {
- $thumb = wp_get_attachment_image_src($attachments[0]->ID, 'full');
- }
- }
-
- if($thumb){
- $image = $thumb[0];
- } else {
- $image = '';
- }
-
- $finalURL = str_replace(parent::VOTE_IMAGE,$image,$finalURL);
- $this->finalURL = $finalURL;
- }
-
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::POST_ID,$postId,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_TITLE,$title,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_URL,$url,$finalURL_lazy);
- if(current_theme_supports('post-thumbnails')) $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($postId), 'full' );
- else $thumb = false;
- if($thumb) $image = $thumb[0];
- else $image = '';
- $finalURL_lazy = str_replace(parent::VOTE_IMAGE,$image,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(parent::VOTE_TITLE,$title,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::VOTE_URL,$url,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(parent::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(parent::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- }
- /******************************************************************************************
- *
- * Flattr
- * http://developers.flattr.net/button/
- *
- */
- class DD_Flattr extends BaseDD{
- const NAME = "Flattr";
- const URL_WEBSITE = "http://flattr.com";
- const URL_API = "http://developers.flattr.net/button/";
- const DEFAULT_BUTTON_WEIGHT = "10";
- const BASEURL = '<script src="http://api.flattr.com/js/0.6/load.js?mode=auto"></script><a class="FlattrButton" href="VOTE_URL" style="display:none;" title="VOTE_TITLE" data-flattr-uid="VOTE_FLATTR_UID" data-flattr-button="VOTE_BUTTON_DESIGN" data-flattr-category="text"></a>';
- const BASEURL_LAZY = '<a class="FlattrButton" href="VOTE_URL" style="display:none;" title="VOTE_TITLE" data-flattr-uid="VOTE_FLATTR_UID" data-flattr-button="VOTE_BUTTON_DESIGN" data-flattr-category="text"></a>';
- const BASEURL_LAZY_SCRIPT = "function loadFlattr_POST_ID(){ jQuery(document).ready(function(\$) { \$.getScript('http://api.flattr.com/js/0.6/load.js?mode=auto'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadFlattr_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
- const OPTION_APPEND_TYPE = "dd_flattr_appendType";
- const OPTION_BUTTON_DESIGN = "dd_flattr_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_flattr_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_flattr_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_flattr_lazy_load";
-
- var $buttonLayout = array(
- "Normal" => "default",
- "Compact" => "compact"
- );
-
- var $buttonLayoutLazy = array(
- "Normal" => "default",
- "Compact" => "compact"
- );
-
- const VOTE_FLATTR_UID = 'VOTE_FLATTR_UID';
-
- public function DD_Flattr() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL = self::BASEURL;
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
- //construct base URL, based on $lazy value
- public function constructURL($url, $title, $button, $postId, $lazy, $globalcfg = ''){
-
- $flattr_uid = 'flattr';
- if($globalcfg!=''){
- $flattr_uid = $globalcfg[DD_GLOBAL_FLATTR_OPTION][DD_GLOBAL_FLATTR_OPTION_UID];
- if(empty($flattr_uid)) $flattr_uid = 'flattr';
- }
- if($lazy==DD_EMPTY_VALUE || $lazy==false){
- $this->baseURL = str_replace(self::VOTE_FLATTR_UID, $flattr_uid, $this->baseURL);
- $this->constructNormalURL($url, $title, $button, $postId);
- }else{
- $this->baseURL_lazy = str_replace(self::VOTE_FLATTR_UID, $flattr_uid, $this->baseURL_lazy);
- $this->constructLazyLoadURL($url, $title, $button, $postId);
- }
-
- }
-
- public function constructNormalURL($url, $title, $button, $postId){
-
- $finalURL = $this->baseURL;
- $finalURL = str_replace(self::VOTE_BUTTON_DESIGN,$this->getButtonDesign($button),$finalURL);
- $finalURL = str_replace(self::VOTE_TITLE,$title,$finalURL);
- $finalURL = str_replace(self::VOTE_URL,$url,$finalURL);
- $finalURL = str_replace(parent::POST_ID,$postId,$finalURL);
- $this->finalURL = $finalURL;
- }
- public function constructLazyLoadURL($url, $title, $button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_TITLE,$title,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(parent::POST_ID,$postId,$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(parent::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(parent::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- }
- /******************************************************************************************
- *
- * Facebook Like (IFrame)
- *
- */
- class DD_FbLike extends BaseIFrameDD{
- const NAME = "Facebook Like (IFrame)";
- const URL_WEBSITE = "http://www.facebook.com";
- const URL_API = "http://developers.facebook.com/docs/reference/plugins/like";
- const BASEURL = "<iframe src='http://www.facebook.com/plugins/like.php?href=VOTE_URL&locale=FACEBOOK_LOCALE&VOTE_BUTTON_DESIGN' scrolling='no' frameborder='0' style='border:none; overflow:hidden; EXTRA_VALUE' allowTransparency='true'></iframe>";
-
- const FB_LOCALES = "http://www.facebook.com/translations/FacebookLocales.xml";
- const DEFAULT_BUTTON_WEIGHT = "96";
-
- const OPTION_APPEND_TYPE = "dd_fblike_appendType";
- const OPTION_BUTTON_DESIGN = "dd_fblike_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_fblike_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_fblike_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_fblike_lazy_load";
-
- const BASEURL_LAZY = "<div class='dd-fblike-ajax-load dd-fblike-POST_ID'></div><iframe class=\"DD_FBLIKE_AJAX_POST_ID\" src='' height='0' width='0' scrolling='no' frameborder='0' allowTransparency='true'></iframe>";
- const BASEURL_LAZY_SCRIPT = " function loadFBLike_POST_ID(){ jQuery(document).ready(function(\$) { \$('.dd-fblike-POST_ID').remove();\$('.DD_FBLIKE_AJAX_POST_ID').attr('width','VOTE_BUTTON_DESIGN_LAZY_WIDTH');\$('.DD_FBLIKE_AJAX_POST_ID').attr('height','VOTE_BUTTON_DESIGN_LAZY_HEIGHT');\$('.DD_FBLIKE_AJAX_POST_ID').attr('src','http://www.facebook.com/plugins/like.php?href=VOTE_URL&locale=FACEBOOK_LOCALE&VOTE_BUTTON_DESIGN'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadFBLike_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
-
- const LIKE_STANDARD = "layout=standard&action=like&width=350&height=24&colorscheme=light"; //350x24
- const LIKE_BUTTON_COUNT= "layout=button_count&action=like&width=92&height=20&colorscheme=light"; //92x20
- const LIKE_BOX_COUNT= "layout=box_count&action=like&width=50&height=60&colorscheme=light"; //50x60
- const RECOMMEND_STANDARD = "layout=standard&action=recommend&width=400&height=24&colorscheme=light"; //400x24
- const RECOMMEND_BUTTON_COUNT= "layout=button_count&action=recommend&width=130&height=20&colorscheme=light"; //130x20
- const RECOMMEND_BOX_COUNT= "layout=box_count&action=recommend&width=90&height=60&colorscheme=light"; //90x60
- const EXTRA_VALUE = "EXTRA_VALUE";
- const FACEBOOK_LOCALE = "FACEBOOK_LOCALE";
-
- var $float_button_design = "Like Box Count";
-
- var $buttonLayout = array(
- "Like Standard" => self::LIKE_STANDARD,
- "Like Button Count" => self::LIKE_BUTTON_COUNT,
- "Like Box Count" => self::LIKE_BOX_COUNT,
- "Recommend Standard" => self::RECOMMEND_STANDARD,
- "Recommend Button Count" => self::RECOMMEND_BUTTON_COUNT,
- "Recommend Box Count" => self::RECOMMEND_BOX_COUNT
- );
-
- var $buttonLayoutLazy = array(
- "Like Standard" => self::LIKE_STANDARD,
- "Like Button Count" => self::LIKE_BUTTON_COUNT,
- "Like Box Count" => self::LIKE_BOX_COUNT,
- "Recommend Standard" => self::RECOMMEND_STANDARD,
- "Recommend Button Count" => self::RECOMMEND_BUTTON_COUNT,
- "Recommend Box Count" => self::RECOMMEND_BOX_COUNT
- );
-
- var $buttonLayoutWidthHeight = array(
- "Like Standard" => "width:500px; height:24px;",
- "Like Button Count" => "width:92px; height:20px;",
- "Like Box Count" => "width:50px; height:62px;",
- "Recommend Standard" => "width:500px; height:24px;",
- "Recommend Button Count" => "width:130px; height:20px;",
- "Recommend Box Count" => "width:90px; height:60px;"
- );
-
- var $buttonLayoutLazyWidth = array(
- "Like Standard" => "500",
- "Like Button Count" => "92",
- "Like Box Count" => "50",
- "Recommend Standard" => "500",
- "Recommend Button Count" => "130",
- "Recommend Box Count" => "90"
- );
-
- var $buttonLayoutLazyHeight = array(
- "Like Standard" => "24",
- "Like Button Count" => "20",
- "Like Box Count" => "62",
- "Recommend Standard" => "24",
- "Recommend Button Count" => "20",
- "Recommend Box Count" => "60"
- );
-
- public function DD_FbLike() {
-
- $this->option_append_type = self::OPTION_APPEND_TYPE;
- $this->option_button_design = self::OPTION_BUTTON_DESIGN;
- $this->option_button_weight = self::OPTION_BUTTON_WEIGHT;
- $this->option_ajax_left_float = self::OPTION_AJAX_LEFT_FLOAT;
- $this->option_lazy_load = self::OPTION_LAZY_LOAD;
-
- $this->baseURL_lazy = self::BASEURL_LAZY;
- $this->baseURL_lazy_script = self::BASEURL_LAZY_SCRIPT;
- $this->scheduler_lazy_script = self::SCHEDULER_LAZY_SCRIPT;
- $this->scheduler_lazy_timer = self::SCHEDULER_LAZY_TIMER;
-
- $this->button_weight_value = self::DEFAULT_BUTTON_WEIGHT;
-
- parent::BaseDD(self::NAME, self::URL_WEBSITE, self::URL_API, self::BASEURL);
-
- }
-
- public function constructLazyLoadURL($url, $title,$button, $postId){
-
- $finalURL_lazy = $this->baseURL_lazy;
- $finalURL_lazy = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_TITLE,$title,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::VOTE_URL,$url,$finalURL_lazy);
- $finalURL_lazy = str_replace(parent::POST_ID,$postId,$finalURL_lazy);
- $this->finalURL_lazy = $finalURL_lazy;
-
- $finalURL_lazy_script = $this->baseURL_lazy_script;
- $finalURL_lazy_script = str_replace(parent::VOTE_BUTTON_DESIGN_LAZY_WIDTH,$this->getButtonDesignLazyWidth($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::VOTE_BUTTON_DESIGN_LAZY_HEIGHT,$this->getButtonDesignLazyHeight($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::VOTE_BUTTON_DESIGN,$this->getButtonDesignLazy($button),$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::VOTE_TITLE,$title,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::VOTE_URL,$url,$finalURL_lazy_script);
- $finalURL_lazy_script = str_replace(parent::POST_ID,$postId,$finalURL_lazy_script);
-
- //add new line
- //convert & to &
- $finalURL_lazy_script = str_replace("&","&",$finalURL_lazy_script);
- $this->finalURL_lazy_script = $finalURL_lazy_script;
-
- $final_scheduler_lazy_script = $this->scheduler_lazy_script;
- $final_scheduler_lazy_script = str_replace(parent::SCHEDULER_TIMER,$this->scheduler_lazy_timer,$final_scheduler_lazy_script);
- $final_scheduler_lazy_script = str_replace(parent::POST_ID,$postId,$final_scheduler_lazy_script);
- $this->final_scheduler_lazy_script = $final_scheduler_lazy_script;
-
- }
-
- public function constructURL($url, $title,$button, $postId, $lazy, $globalcfg = ''){
-
- if($this->isEncodeRequired){
- $title = rawurlencode($title);
- $url = rawurlencode($url);
- }
-
- $facebook_locale = '';
- if($globalcfg!=''){
- $facebook_locale = $globalcfg[DD_GLOBAL_FACEBOOK_OPTION][DD_GLOBAL_FACEBOOK_OPTION_LOCALE];
- }
-
- if($lazy==DD_EMPTY_VALUE){
- $this->baseURL = str_replace(self::FACEBOOK_LOCALE,$facebook_locale,$this->baseURL);
- $this->constructNormalURL($url, $title,$button, $postId);
-
- }else{
- $this->baseURL_lazy_script = str_replace(self::FACEBOOK_LOCALE,$facebook_locale,$this->baseURL_lazy_script);
- $this->constructLazyLoadURL($url, $title,$button, $postId);
-
- }
-
- }
-
- }
- /******************************************************************************************
- *
- * http://www.digg.com
- *
- */
- class DD_Digg extends BaseDD{
-
- const NAME = "Digg";
- const URL_WEBSITE = "http://www.digg.com";
- const URL_API = "http://about.digg.com/downloads/button/smart";
- const DEFAULT_BUTTON_WEIGHT = "95";
-
- const BASEURL = "<script type='text/javascript'>(function() {var s = document.createElement('SCRIPT'), s1 = document.getElementsByTagName('SCRIPT')[0];s.type = 'text/javascript';s.async = true;s.src = 'http://widgets.digg.com/buttons.js';s1.parentNode.insertBefore(s, s1);})();</script> <a class='DiggThisButton VOTE_BUTTON_DESIGN' href='http://digg.com/submit?url=VOTE_URL&title=VOTE_TITLE'></a>";
- const BASEURL_LAZY = "<div class='dd-digg-ajax-load dd-digg-POST_ID'></div><a class='DiggThisButton DD_DIGG_AJAX_POST_ID VOTE_BUTTON_DESIGN'></a>";
- const BASEURL_LAZY_SCRIPT = " function loadDigg_POST_ID(){ jQuery(document).ready(function(\$) { \$('.dd-digg-POST_ID').remove();\$('.DD_DIGG_AJAX_POST_ID').attr('href','http://digg.com/submit?url=VOTE_URL&title=VOTE_TITLE');\$.getScript('http://widgets.digg.com/buttons.js'); }); }";
- const SCHEDULER_LAZY_SCRIPT = "window.setTimeout('loadDigg_POST_ID()',SCHEDULER_TIMER);";
- const SCHEDULER_LAZY_TIMER = "1000";
-
- const OPTION_APPEND_TYPE = "dd_digg_appendType";
- const OPTION_BUTTON_DESIGN = "dd_digg_buttonDesign";
- const OPTION_BUTTON_WEIGHT = "dd_digg_button_weight";
- const OPTION_AJAX_LEFT_FLOAT = "dd_digg_ajax_left_float";
- const OPTION_LAZY_LOAD = "dd_digg_lazy_load";
-
- var $buttonLayout = array(
- "W…
Large files files are truncated, but you can click here to view the full file