%s', $name, $hint, @in_array($name, $shrsb_plugopts['bookmark'])?'checked="checked" ':"", $name, $name, shrsb_truncate_text(end(explode('-', $name)), 9) ); } function shrsb_truncate_text($text, $nbrChar, $append='..') { if(strlen($text) > $nbrChar) { $text = substr($text, 0, $nbrChar); $text .= $append; } return $text; } // returns the option tag for a form select element // $opts array expecting keys: field, value, text function shrsb_form_select_option($opts) { global $shrsb_plugopts; $opts=array_merge( array( 'field'=>'', 'value'=>'', 'text'=>'', ), $opts ); return sprintf('%s', ($shrsb_plugopts[$opts['field']]==$opts['value'])?' selected="selected"':"", $opts['value'], $opts['text'] ); } // given an array $options of data and $field to feed into shrsb_form_select_option function shrsb_select_option_group($field, $options) { $h=''; foreach ($options as $value=>$text) { $h.=shrsb_form_select_option(array( 'field'=>$field, 'value'=>$value, 'text'=>$text, )); } return $h; } function shrsb_is_mobile_browser() { $useragent=$_SERVER['HTTP_USER_AGENT']; $isMobile = false; if(preg_match('/android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i',$useragent)||preg_match('/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|e\-|e\/|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\-|2|g)|yas\-|your|zeto|zte\-/i',substr($useragent,0,4))) { $isMobile = true; } return $isMobile; } // function to list bookmarks that have been chosen by admin function bookmark_list_item($name, $opts=array()) { global $shrsb_plugopts, $shrsb_bookmarks_data, $post; $onclick = ""; $post_info = shrsb_get_params($post->ID); // If Twitter, check for custom tweet configuration and modify tweet accordingly if($name == 'shr-twitter') { if(!shrsb_is_mobile_browser()) { $clickHandler = ' if(typeof(SHR_config) == "undefined" || !SHR_config) { window["SHR_config"] = {}; } window["__shr_service"] = "twitter"; window["__shr_log"] = true; window["__shr_center"] = true; SHR_config["shortener"] ="'.$post_info['shortener'].'"; SHR_config["shortener_key"] ="'.$post_info['shortener_key'].'"; SHR_config["apikey"] = "'.$shrsb_plugopts['apikey'].'"; SHR_config["twitter_template"] = "'.$shrsb_plugopts['tweetconfig'].'"; SHR_config["link"] = "PERMALINK"; SHR_config["title"] = "TITLE"; SHR_config["short_link"] = "'.$post_info['short_link'].'"; if(!window.SHR || !window.SHR.Servicelet) { var d = document; var s=d.createElement("script"); s.setAttribute("language","javascript"); s.id="shr-servicelet"; s.setAttribute("src", "'.$shrsb_plugopts['shrbase'].'" + "/media/js/servicelet.min.js"); d.body.appendChild(s); } else{ SHR.Servicelet.show(); } return false; '; foreach ($opts as $key=>$value) { $clickHandler = str_replace(strtoupper($key), $value, $clickHandler); } $clickHandler = str_replace('"',"'",$clickHandler); $clickHandler = str_replace(array("\n","\r"),"",$clickHandler); $onclick = " onclick=\"$clickHandler\""; } $url = $shrsb_plugopts['shrbase'].'/api/share/?'.implode('&',array( 'title=TITLE', 'link=PERMALINK', 'notes='.$post_info['notes'], 'short_link='.$post_info['short_link'], 'shortener='.$post_info['shortener'], 'shortener_key='.$post_info['shortener_key'], 'v=1', 'apitype=1', 'apikey='.$shrsb_plugopts['apikey'], 'source=Shareaholic', 'template='.urlencode($shrsb_plugopts['tweetconfig']), 'service='.$shrsb_bookmarks_data[$name]['id'], 'tags='.$post_info['d_tags'], 'ctype=' )); } else if($name == 'shr-comfeed') {// Otherwise, use default baseUrl format $url=$shrsb_bookmarks_data[$name]['baseUrl']; } else { $url = $shrsb_plugopts['shrbase'].'/api/share/?'.implode('&',array( 'title=TITLE', 'link=PERMALINK', 'notes='.$post_info['notes'], 'short_link='.$post_info['short_link'], 'shortener='.$post_info['shortener'], 'shortener_key='.$post_info['shortener_key'], 'v=1', 'apitype=1', 'apikey='.$shrsb_plugopts['apikey'], 'source=Shareaholic', 'template=', 'service='.$shrsb_bookmarks_data[$name]['id'], 'tags='.$post_info['d_tags'], 'ctype=' )); } $topt = ''; if($name == 'shr-facebook') { $onclick = " onclick=\"window.open(this.href,'sharer','toolbar=0,status=0,width=626,height=436'); return false;\""; } else { if($shrsb_plugopts['targetopt'] == '_blank') { $topt = ' class="external"'; } } foreach ($opts as $key=>$value) { $url=str_replace(strtoupper($key), $value, preg_replace('/\s+/', '%20', $url)); } if(is_feed()) { return sprintf( "\t\t".'
  • '."\n\t\t\t".'%s'."\n\t\t".'
  • '."\n", $name, $url, $shrsb_plugopts['reloption'], $topt, $shrsb_bookmarks_data[$name]['share'], $shrsb_bookmarks_data[$name]['share'] ); } else { return sprintf( "\t\t".'
  • '."\n\t\t\t".' '."\n\t\t".'
  • '."\n", $name, $url, $shrsb_plugopts['reloption'], $topt, $shrsb_bookmarks_data[$name]['share'], $onclick ); } } // Displays a multi-dimensional array as a HTML List (Tree structure). function shrsb_displayTree($var) { $newline = "\n"; $output = ""; foreach($var as $key => $value) { if (is_array($value) || is_object($value)) { $value = $newline . ""; } if (is_array($var)) { if (!stripos($value, "
  • " ."$key = $value" . "
  • " . $newline; } else { $output .= "$key = $value" . $newline; } } else { // is_object if (!stripos($value, "
  • " . $value . "
  • " . $newline; } $output .= "
  • " . $key . $value . "
  • " . $newline; } } return $output; }