seoOutput.class.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <?php
  2. class seoOutput{
  3. public static function show_table($data, $name, $args = array()){
  4. $data_arr = $data[$name];
  5. $th_arr = $td_arr = $value_arr = array();
  6. $args['td_width'] = $args['td_width'] ? $args['td_width'] : 'auto';
  7. $args['table_width'] = $args['table_width'] ? $args['table_width'] : 'auto';
  8. foreach($data_arr as $k => $v){
  9. $th_arr[] = '<th class="split" width="'.$args['td_width'].'"><div class="box box-center">'.stlang($v['name']).'</div></th>';
  10. $value_arr = !is_array($v['value']) ? array($v['value']) : $v['value'];
  11. foreach($value_arr as $k2 => $v2){
  12. $td_arr[$k2][] = '<td class="split" width="'.$args['td_width'].'"><div class="box box-center">'.$v2.'</div></td>';
  13. }
  14. }
  15. $td_str = '';
  16. $th_str = implode('', $th_arr);
  17. foreach($td_arr as $k => $v){
  18. $td_str .= '<tr class="seo-general-keyword-summary even ">'.implode('', $v).'</tr>';
  19. }
  20. return '<table class="tb_seo table-2 table-seo-general" style="border-collapse:separate; margin-right: 8px;width:'.$args['table_width'].'"><tbody><tr><caption><span style=" float:left">'.stlang($name).'</span>'.$args['caption'].'</caption></tr></tbody><tbody class="list-seo-general-keyword-detail"><tr class="header">'.$th_str.'</tbody> <tbody class="list_detail">'.$td_str.'</tbody></tbody><tbody></tbody><tbody></tbody></table>';
  21. }
  22. //输出头部
  23. public static function pick_header_output($args = array()){
  24. global $header_arr,$head_url;
  25. if(!$header_arr) return;
  26. $head_url = $head_url ? $head_url : '?'.PLUGIN_GO.$_GET['pmod'].'&myac=';
  27. $myac = $_GET['myac'];
  28. if(!$myac) $myac = $header_arr[0];
  29. $str = '<div class="itemtitle"><ul class="tab1" style="margin-top:8px;">';
  30. foreach($header_arr as $k => $v){
  31. $current = $v == $myac || $args['current'] == $v ? 'class="current"' : '';
  32. $str .= '<li '.$current.'><a href="'.$head_url.$v.'"><span>'.stlang($v).'</span></a></li>';
  33. }
  34. $str .='</ul></div>';
  35. return $str;
  36. }
  37. static public function show_tr($args , $type = 'input'){
  38. extract($args);
  39. $html = $html ? $html : self::$type($args['arr'], $args['info']);
  40. return "\n\r".self::add_tr($args, $html)."\n\r";
  41. }
  42. static public function add_tr($args, $html = ''){
  43. extract($args);
  44. $output = $name ? '<tr ><td colspan="2" class="td27" s="1">'.$name.':</td></tr>' : '';
  45. $tr_id = $tr_id ? 'id="'.$tr_id.'"' : '';
  46. $output .= '<tr '.$tr_id.' class="noborder" '.$style.'><td class="vtop rowform">'.$html.'</td><td class="vtop tips2" s="1">'.$desc.'</td></tr>';
  47. return $output;
  48. }
  49. static public function show_title($title){
  50. return '<tr><th colspan="15" class="partition">'.$title.'</th></tr>';
  51. }
  52. static public function input($args, $info = array()){
  53. extract($args);
  54. $length = $length ? $length : 6;
  55. $info[$name] = $info[$name] ? $info[$name] : $int_val;
  56. $set_name = $set_name == 1 || $type == 'file' ? $name : 'set['.$name.']';
  57. $type = $type ? $type : 'text';
  58. return '<input id="'.$name.'" type="'.$type.'" '.$js.' class="txt length_'.$length.'" name="'.$set_name.'" value="'.$info[$name].'">';
  59. }
  60. static public function textarea($args, $info = array()){
  61. extract($args);
  62. $length = $length ? $length : 6;
  63. $height = $height ? $height : 81;
  64. $info[$name] = $info[$name] ? $info[$name] : $int_val;
  65. $set_name = $set_name == 1 ? $name : 'set['.$name.']';
  66. return '<textarea rows="6" ondblclick="textareasize(this, 1)" cols="50" \'..\'="" onkeyup="textareasize(this, 0)" id="'.$name.'" '.$js.' class="tarea length_'.$length.'" style="height:'.$height.'px;" name="'.$set_name.'">'.$info[$name].'</textarea>';
  67. }
  68. public static function ifcheck($var) {
  69. return $var ? ' checked' : '';
  70. }
  71. //array('name' => 'avatar_setting_member', 'int_val' => 1, 'js' => array('show_user_set(1)', 'show_user_set(2)'), 'lang' => array('no_avatar_member', 'user_set'))
  72. static public function radio($args, $info = array()){
  73. extract($args);
  74. $str = '<ul onmouseover="altStyle(this);">';
  75. $lang = $lang ? $lang : array('yes', 'no');
  76. if($int_val && !$info[$name]) $info[$name] = $int_val;
  77. $info[$name] = $info[$name] ? $info[$name] : 1;
  78. $lang = $lang_arr ? $lang_arr : ($lang_type == 1 || !$lang_type ? array(stlang('_open'), stlang('_close')) : array(stlang('yes'), stlang('no')));
  79. $arr = $js_arr = array();
  80. if(count($lang) == 2 && $lang_type !=3) {
  81. $arr[1] = $lang[0];
  82. $arr[2] = $lang[1];
  83. $js_arr[1] = $js[0];
  84. $js_arr[2] = $js[1];
  85. }else{
  86. $arr = $lang;
  87. $js_arr = $js;
  88. }
  89. foreach($arr as $i => $v){
  90. $li_checked = 'class="'.self::ifcheck($info[$name] == $i).'"';
  91. $radio_checked = self::ifcheck($info[$name] == $i);
  92. $js_show = $js_arr[($i)] ? 'onclick="'.$js_arr[($i)].'"' : '';
  93. $str .= '<li '.$li_checked.'><label><input '.$js_show.' '.$radio_checked.' name="set['.$name.']" type="radio" class="radio '.$name.'" id="'.$name.'_'.$i.'" value="'.$i.'"><span>'.$v.'</span></label></li>';
  94. }
  95. $str .= '</ul>';
  96. return $str;
  97. }
  98. static public function select($args, $info = array()){
  99. extract($args);
  100. $flag = $flag ? $flag : 0;
  101. $multiple = $multiple ? 'multiple="multiple" size="10"' : '';
  102. $show_name = $multiple ? $name.'[]' : $name;
  103. $select = '<select '.$js.' name="'.$show_name.'" '.$multiple.' class="'.$class.'" id="'.$id.'">';
  104. $key_arr = array_keys($option_arr);
  105. $int_val = isset($info[$name]) ? $info[$name] : $int_val;
  106. $int_val = isset($int_val) ? $int_val : $key_arr[0];
  107. $int_val_arr = is_array($int_val) ? $int_val : array($int_val);
  108. foreach($option_arr as $k => $v){
  109. $select_value = $flag == 0 ? $v : $k;
  110. $select_value = (string)$select_value;
  111. $selected = in_array($select_value, $int_val_arr) ? 'selected="selected"' : '';
  112. $select .= '<option '.$selected.' value="'.strip_tags($select_value).'">'.$v.'</option>';
  113. }
  114. $select .= '</select>';
  115. return $select;
  116. }
  117. static public function checkbox($args, $info = array()){
  118. extract($args);
  119. $html = '';
  120. $int_val = isset($info[$name]) ? $info[$name] : $int_val;
  121. $int_val_arr = is_array($int_val) ? $int_val : array($int_val);
  122. foreach($option_arr as $k => $v){
  123. $checked = in_array($k, $int_val_arr) ? 'checked="checked"' : '';
  124. $html .= '<input '.$checked.' id="'.$name.$k.'" name="'.$name.'[]" type="checkbox" value="'.$k.'" /><label for="'.$name.$k.'">'.$v.'</label>';
  125. }
  126. return $html;
  127. }
  128. static public function show_page_rank($pr){
  129. if(!in_array($data, range(0,9))) $pr = 0;
  130. return '<img src="'.PLUGIN_URL.'/static/image/ranks/Rank_'.$pr.'.gif" width="45" height="20" />';
  131. }
  132. static public function show_baidu_rank($data){
  133. if(!in_array($data, range(0,9))) $data = 0;
  134. return '<img src="'.PLUGIN_URL.'/static/image/baiduapp/'.$data.'.gif" width="45" height="20" />';
  135. }
  136. static public function dateline($args, $info){
  137. global $_G;
  138. extract($args);
  139. $date_str = $date_type == 2 ? 'Y-m-d' : 'Y-m-d H:i';
  140. $length = $length ? $length : 2;
  141. $name_start = $name_arr[0] ? $name_arr[0] : $name.'_start';
  142. $name_end = $name_arr[1] ? $name_arr[1] : $name.'_end';
  143. $min_dateline = $_G['timestamp'] - 20*360*24*3600;//时间戳小于这个数,就不转换
  144. $start_time = ($info[$name_start] && is_int($info[$name_start]) && $info[$name_start] > $min_dateline) ? date($date_str, $info[$name_start]) : $info[$name_start];
  145. $end_time = ($info[$name_end] && is_int($info[$name_end]) && $info[$name_end] > $min_dateline) ? date($date_str, $info[$name_end]) : $info[$name_end];
  146. return '<script src="static/js/calendar.js?3R4" type="text/javascript" type="text/javascript"></script><input name="set['.$name_start.']" type="text" onclick="showcalendar(event, this, false)" value="'.$start_time.'" class="px length_'.$length.' '.$date_type.' mr20"><span class="mr20">'.stlang('_to').'</span><input name="set['.$name_end.']" type="text" value="'.$end_time.'" onclick="showcalendar(event, this, false)" class="px length_'.$length.' '.$date_type.' mr20">';
  147. }
  148. static public function show_qq($qq, $style = 0){
  149. if(!$qq) return;
  150. return $style == 1 ? '<a target="_blank" style="float:left; width:23px; display:block; text-align:right" href="http://wpa.qq.com/msgrd?v=3&amp;uin='.$qq.'&amp;site=qq&amp;menu=yes"><img style="float:rigth; cursor:pointer" border="0" src="http://wpa.qq.com/pa?p=1:'.$qq.':4&i='.time().'" alt="'.stlang('hits_send_msg').'" title="'.stlang('hits_send_msg').'"></a>' : '<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&amp;uin='.$qq.'&amp;site=qq&amp;menu=yes"><img style=cursor:pointer" border="0" src="http://wpa.qq.com/pa?p=1:'.$qq.':4&i='.time().'" alt="'.stlang('hits_send_msg').'" title="'.stlang('hits_send_msg').'"></a>';
  151. }
  152. static public function user_group_select($name, $ini_val = array(), $args = array()){
  153. global $_G,$lang;
  154. extract($args);
  155. $name = $name ? $name : 'groupid';
  156. $groupselect = array();
  157. $usergroupid = $ini_val;
  158. $query = DB::query("SELECT type, groupid, grouptitle, radminid FROM ".DB::table('common_usergroup')." WHERE groupid NOT IN ('6', '7') ORDER BY (creditshigher<>'0' || creditslower<>'0'), creditslower, groupid");
  159. while($group = DB::fetch($query)) {
  160. if($group_arr && !in_array($group['type'], $group_arr)) continue;
  161. $group['type'] = $group['type'] == 'special' && $group['radminid'] ? 'specialadmin' : $group['type'];
  162. $groupselect[$group['type']] .= "<option value=\"$group[groupid]\" ".(in_array($group['groupid'], $usergroupid) ? 'selected' : '').">$group[grouptitle]</option>\n";
  163. }
  164. $groupselect = ($groupselect['member'] ? '<optgroup label="'.$lang['usergroups_member'].'">'.$groupselect['member'].'</optgroup>' : '').
  165. ($groupselect['special'] ? '<optgroup label="'.$lang['usergroups_special'].'">'.$groupselect['special'].'</optgroup>' : '').
  166. ($groupselect['specialadmin'] ? '<optgroup label="'.$lang['usergroups_specialadmin'].'">'.$groupselect['specialadmin'].'</optgroup>' : '').
  167. '<optgroup label="'.$lang['usergroups_system'].'">'.$groupselect['system'].'</optgroup>';
  168. return '<select name="'.$name.'[]" multiple="multiple" size="10">'.($no_epmty ? '' : '<option value="">'.stlang('empty').'</option>').$groupselect.'</select>';
  169. }
  170. static public function show_tips($msg, $args = array()){
  171. extract($args);
  172. $title = $title ? $title : stlang('msg_notice');
  173. $w = $w ? $w : 600;
  174. $h = $h ? $h : 387;
  175. $html = '<script type="text/javascript" language="javascript">
  176. show_html_window(\''.$key.'\', \'<em>'.$title.'</em>\', '.$w.', '.$h.', \'<div class="c bart" style=" width:100%; height:'.($h - 60).'px;">'.$msg.'</div><p class="o pns"><button onclick="plugin_tips(\\\''.$key.'\\\');hideWindow(\\\''.$key.'\\\');" class="pn pnc" name="dsf" type="submit"><span>'.stlang('never_notice').'</span></button></p>\');</script>';
  177. return $html;
  178. }
  179. //$type right error notice
  180. static public function show_status($type = 'right'){
  181. return '<span class="status_'.$type.'"></span>';
  182. }
  183. static public function show_num_range($num){
  184. if(!$num) return;
  185. $title = stlang('rank_title', array('n' => $num));
  186. if($num < 4){
  187. return '<em class="red" title="'.$title.'">'.$num.'</em>';
  188. }else if($num > 3){
  189. return '<em title="'.$title.'">'.$num.'</em>';
  190. }
  191. }
  192. }
  193. ?>