国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

146 lines
4.9KB

  1. <?php
  2. if(!defined('DEDEINC'))
  3. {
  4. exit("Request Error!");
  5. }
  6. /**
  7. * 友情链接
  8. *
  9. * @version $Id: flink.lib.php 1 9:29 2010年7月6日Z tianya $
  10. * @package DedeCMS.Taglib
  11. * @copyright Copyright (c) 2020, DedeBIZ.COM
  12. * @license https://www.dedebiz.com/license/v6
  13. * @link https://www.dedebiz.com
  14. */
  15. /*>>dede>>
  16. <name>友情链接</name>
  17. <type>全局标记</type>
  18. <for>V55,V56,V57</for>
  19. <description>用于获取友情链接</description>
  20. <demo>
  21. {dede:flink row='24'/}
  22. </demo>
  23. <attributes>
  24. <iterm>type:链接类型</iterm>
  25. <iterm>row:链接数量</iterm>
  26. <iterm>titlelen:站点文字的长度</iterm>
  27. <iterm>linktype:链接位置内页</iterm>
  28. <iterm>typeid:所有类型,可以在系统后台[模块]-[友情链接]中的“网站类型管理”中查看</iterm>
  29. </attributes>
  30. >>dede>>*/
  31. helper('cache');
  32. function lib_flink(&$ctag,&$refObj)
  33. {
  34. global $dsql,$cfg_soft_lang;
  35. $attlist="type|textall,row|24,titlelen|24,linktype|1,typeid|0";
  36. FillAttsDefault($ctag->CAttribute->Items,$attlist);
  37. extract($ctag->CAttribute->Items, EXTR_SKIP);
  38. $totalrow = $row;
  39. $revalue = '';
  40. if (isset($GLOBALS['envs']['flinkid']))
  41. {
  42. $typeid = $GLOBALS['envs']['flinkid'];
  43. }
  44. $wsql = " where ischeck >= '$linktype' ";
  45. if($typeid == 0)
  46. {
  47. $wsql .= '';
  48. }
  49. else if($typeid == 999)
  50. {
  51. $prefix = 'flink';
  52. $key = '999';
  53. $row = GetCache($prefix, $key);
  54. if(!is_array($row))
  55. {
  56. require (DEDEDATA.'/admin/config_update.php');
  57. if (!class_exists('DedeHttpDown', false)) {
  58. require_once(DEDEINC.'/dedehttpdown.class.php');
  59. }
  60. $del = new DedeHttpDown();
  61. if ( defined( 'LINKHOST' ) ) $linkHost = LINKHOST;
  62. else $linkHost = 'http://flink.dedecms.com/server_url.php';
  63. $del->OpenUrl($linkHost);
  64. $linkUrl = $del->GetHtml()."flink.php?lang={$cfg_soft_lang}&site={$_SERVER['SERVER_NAME']}";
  65. $del->OpenUrl($linkUrl);
  66. $linkInfo = $del->GetHtml();
  67. if(!empty($linkInfo)){
  68. $dedelink = explode("\t", $linkInfo);
  69. for($i=0; $i<count($dedelink); $i++) {
  70. if($i%5==0 && $i!=count($dedelink)) {
  71. $revalue .= "<li><a href='http://".@$dedelink[$i+1]."' target='_blank' title='".@$dedelink[$i+4]."'>".@$dedelink[$i]."</a></li>";
  72. }
  73. }
  74. } else {
  75. $revalue=<<<EOT
  76. <li><a href='http://ad.dedecms.com' target='_blank' title='DedeCMS广告'>DedeCMS广告</a></li><li><a href='http://service.dedecms.com' target='_blank' title='织梦客户服务中心'>
  77. 织梦客户服务中心</a></li><li><a href='http://ask.dedecms.com' target='_blank' title='织梦问答'>
  78. 织梦问答</a></li><li><a href='http://tools.dedecms.com' target='_blank' title='站长工具'>
  79. 站长工具</a></li><li><a href='http://site.desdev.cn' target='_blank' title='DedeCMS建站中心'>
  80. DedeCMS建站中心</a></li><li><a href='http://help.dedecms.com' target='_blank' title='织梦CMS帮助中心'>
  81. 织梦CMS帮助中心</a></li><li><a href='http://' target='_blank' title=''>
  82. </a></li>
  83. EOT;
  84. }
  85. $row['reval'] = $revalue;
  86. SetCache($prefix, $key, $row, 60*60*1);
  87. }
  88. return $row['reval'];
  89. }
  90. else
  91. {
  92. $wsql .= "And typeid = '$typeid'";
  93. }
  94. if($type=='image')
  95. {
  96. $wsql .= " And logo<>'' ";
  97. }
  98. else if($type=='text')
  99. {
  100. $wsql .= " And logo='' ";
  101. }
  102. $equery = "SELECT * FROM #@__flink $wsql order by sortrank asc limit 0,$totalrow";
  103. if(trim($ctag->GetInnerText())=='') $innertext = "<li>[field:link /]</li>";
  104. else $innertext = $ctag->GetInnerText();
  105. $dsql->SetQuery($equery);
  106. $dsql->Execute();
  107. while($dbrow=$dsql->GetObject())
  108. {
  109. if($type=='text'||$type=='textall')
  110. {
  111. $link = "<a href='".$dbrow->url."' target='_blank'>".cn_substr($dbrow->webname,$titlelen)."</a> ";
  112. }
  113. else if($type=='image')
  114. {
  115. $link = "<a href='".$dbrow->url."' target='_blank'><img src='".$dbrow->logo."' width='88' height='31' border='0'></a> ";
  116. }
  117. else
  118. {
  119. if($dbrow->logo=='')
  120. {
  121. $link = "<a href='".$dbrow->url."' target='_blank'>".cn_substr($dbrow->webname,$titlelen)."</a> ";
  122. }
  123. else
  124. {
  125. $link = "<a href='".$dbrow->url."' target='_blank'><img src='".$dbrow->logo."' width='88' height='31' border='0'></a> ";
  126. }
  127. }
  128. $rbtext = preg_replace("/\[field:url([\/\s]{0,})\]/isU", $row['url'], $innertext);
  129. $rbtext = preg_replace("/\[field:webname([\/\s]{0,})\]/isU", $row['webname'], $rbtext);
  130. $rbtext = preg_replace("/\[field:logo([\/\s]{0,})\]/isU", $row['logo'], $rbtext);
  131. $rbtext = preg_replace("/\[field:link([\/\s]{0,})\]/isU", $link, $rbtext);
  132. $revalue .= $rbtext;
  133. }
  134. return $revalue;
  135. }