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

52 lines
1.8KB

  1. <?php
  2. if (!defined('DEDEINC')) exit('dedebiz');
  3. /**
  4. * QRCode
  5. *
  6. * @version $Id: qrcode.lib.php 1 9:29 2020年9月14日 tianya $
  7. * @package DedeBIZ.Taglib
  8. * @copyright Copyright (c) 2022, DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license
  10. * @link https://www.dedebiz.com
  11. */
  12. $GLOBALS['qrcode_id'] = isset($GLOBALS['qrcode_id']) ? $GLOBALS['qrcode_id'] : 1;
  13. function lib_qrcode(&$ctag, &$refObj)
  14. {
  15. //属性处理
  16. $attlist = "type|,id|";
  17. FillAttsDefault($ctag->CAttribute->Items, $attlist);
  18. extract($ctag->CAttribute->Items, EXTR_SKIP);
  19. //var_dump($refObj->Fields['id']);
  20. if (empty($type) and empty($id)) {
  21. if (get_class($refObj) == 'Archives') {
  22. $type = 'arc';
  23. $id = $refObj->Fields['id'];
  24. } elseif (get_class($refObj) == 'ListView' or get_class($refObj) == 'SgListView') {
  25. $type = 'list';
  26. $id = $refObj->Fields['id'];
  27. } elseif (get_class($refObj) == 'PartView' and !empty($refObj->Fields['id'])) {
  28. $type = 'list';
  29. $id = $refObj->Fields['id'];
  30. } elseif (get_class($refObj) == 'PartView' and empty($refObj->Fields['id'])) {
  31. $type = 'index';
  32. $id = 0;
  33. }
  34. }
  35. $reval = <<<EOT
  36. <a href='https://www.dedebiz.com/' id='__dedeqrcode_{$GLOBALS['qrcode_id']}'>二维码、二维码生成</a>
  37. <script type="text/javascript">
  38. var __dedeqrcode_id={$GLOBALS['qrcode_id']};
  39. var __dedeqrcode_aid={$id};
  40. var __dedeqrcode_type='{$type}';
  41. var __dedeqrcode_dir='{$GLOBALS['cfg_plus_dir']}';
  42. </script>
  43. <script language="javascript" type="text/javascript" src="{$GLOBALS['cfg_static_dir']}/img/qrcode.js"></script>
  44. EOT;
  45. $GLOBALS['qrcode_id']++;
  46. return $reval;
  47. }