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