国内流行的内容管理系统(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.

66 lines
1.9KB

  1. <?php
  2. if(!defined('DEDEINC'))
  3. {
  4. exit("Request Error!");
  5. }
  6. require_once(DEDEINC."/taglib/flink.lib.php");
  7. /**
  8. * 友情链接
  9. *
  10. * @version $Id: flinktype.lib.php 1 15:57 2011年2月18日Z niap $
  11. * @package DedeCMS.Taglib
  12. * @copyright Copyright (c) 2020, DedeBIZ.COM
  13. * @license https://www.dedebiz.com/license
  14. * @link https://www.dedebiz.com
  15. */
  16. function lib_flinktype(&$ctag,&$refObj)
  17. {
  18. global $dsql;
  19. $attlist="row|24,titlelen|24";
  20. FillAttsDefault($ctag->CAttribute->Items,$attlist);
  21. extract($ctag->CAttribute->Items, EXTR_SKIP);
  22. $totalrow = $row;
  23. $revalue = '';
  24. $equery = "SELECT * FROM `#@__flinktype` order by id asc limit 0,$totalrow";
  25. if(trim($ctag->GetInnerText())=='') $innertext = "<li>[field:typename /]</li>";
  26. else $innertext = $ctag->GetInnerText();
  27. if(!isset($type)) $type = '';
  28. $dtp = new DedeTagParse();
  29. $dtp->SetNameSpace("dede","{","}");
  30. $dtp->LoadString($innertext);
  31. $dsql->SetQuery($equery);
  32. $dsql->Execute();
  33. $rs = '';
  34. $row = array();
  35. while($dbrow=$dsql->GetObject())
  36. {
  37. $row[] = $dbrow;
  38. }
  39. $dedecms = new stdClass;
  40. $dedecms->id = 999;
  41. $dedecms->typename = '织梦链';
  42. if($type == 'dedecms') $row[] = $dedecms;
  43. foreach ($row as $key => $value) {
  44. if (is_array($dtp->CTags))
  45. {
  46. $GLOBALS['envs']['flinkid'] = $value->id;
  47. foreach($dtp->CTags as $tagid=>$ctag)
  48. {
  49. $tagname = $ctag->GetName();
  50. if($tagname=="flink") $dtp->Assign($tagid, lib_flink($ctag, $refObj));
  51. }
  52. }
  53. $rs = $dtp->GetResult();
  54. $rs = preg_replace("/\[field:id([\/\s]{0,})\]/isU", $value->id, $rs);
  55. $rs = preg_replace("/\[field:typename([\/\s]{0,})\]/isU", $value->typename, $rs);
  56. $revalue .= $rs;
  57. }
  58. return $revalue;
  59. }