class_schema.php 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668
  1. <?php
  2. if (!defined('IN_DISCUZ')) {
  3. exit('Access Denied');
  4. }
  5. class BaiduPostSchema
  6. {
  7. protected $_postContent;
  8. protected $_createdTime;
  9. protected $_viewAuthority;
  10. protected $_isHost;
  11. protected $_postSequenceNumber;
  12. protected $_attachment = array();
  13. protected $_authorIcon; //用户头像
  14. protected $_author; //作者
  15. public function setAuthor($author)
  16. {
  17. $this->_author = baidu_strip_invalid_xml(baidu_diconv(trim($author), CHARSET, 'utf-8'));
  18. }
  19. public function setAuthorIcon($uid, $size = "small")
  20. {
  21. $authorIconUrl = baidu_get_avatar($uid, $size);
  22. $this->_authorIcon = $authorIconUrl;
  23. }
  24. public function setPostContent($content)
  25. {
  26. $this->_postContent = baidu_strip_invalid_xml(baidu_diconv(trim($content), CHARSET, 'utf-8'));
  27. }
  28. public function setCreatedTime($time)
  29. {
  30. $time = trim($time);
  31. $this->_createdTime = preg_match('#^\d+$#', $time) ? baidu_date_format($time) : $time;
  32. }
  33. public function setViewAuthority($string)
  34. {
  35. $this->_viewAuthority = baidu_diconv(trim($string), CHARSET, 'utf-8');
  36. }
  37. public function setIsHost($ishost)
  38. {
  39. $this->_isHost = intval($ishost);
  40. }
  41. public function setPostSequenceNumber($number)
  42. {
  43. $this->_postSequenceNumber = intval($number);
  44. }
  45. public function addAttachment(BaiduAttachmentSchema $attach)
  46. {
  47. $this->_attachment[] = $attach;
  48. }
  49. public function toXml()
  50. {
  51. $attach_xml = '';
  52. foreach ($this->_attachment as $x) {
  53. $attach_xml .= $x->toXml();
  54. }
  55. return
  56. "<post>" .
  57. "<postContent><![CDATA[{$this->_postContent}]]></postContent>" .
  58. "<createdTime>{$this->_createdTime}</createdTime>" .
  59. "<viewAuthority><![CDATA[{$this->_viewAuthority}]]></viewAuthority>" .
  60. "<author><![CDATA[{$this->_author}]]></author>" .
  61. "<authorIcon><![CDATA[{$this->_authorIcon}]]></authorIcon>" .
  62. //"<isHost>{$this->_isHost}</isHost>" .
  63. "<postSequenceNumber>{$this->_postSequenceNumber}</postSequenceNumber>" .
  64. $attach_xml .
  65. "</post>";
  66. }
  67. }
  68. class BaiduAttachmentSchema
  69. {
  70. protected $_attachmentName; //<!-- attachmentName: 附件名称,含文件格式(txt、rar、mp3等),最少出现1次 最多出现1次,类型为字符串 -->
  71. protected $_attachmentUrl; //<!-- attachmentUrl: 附件访问地址,,最少出现1次 最多出现1次,类型为URL地址 -->
  72. protected $_attachmentSize; //<!-- attachmentSize: 附件大小,K、M、B等,最少出现0次 最多出现1次,类型为字符串 -->
  73. protected $_attachmentDownloadAuthority; //<!-- attachmentDownloadAuthority: 附件访问权限,0非登录(游客可访问)、1登录、2登录+回帖、3登录+积分、4登录+用户等级,最少出现0次 最多出现1次,类型为整数 -->
  74. protected $_attachmentDownloadCount; //<!-- attachmentDownloadCount: 附件下载次数,,最少出现0次 最多出现1次,类型为整数 -->
  75. protected $_attachmentType;
  76. public function setName($name)
  77. {
  78. $this->_attachmentName = baidu_strip_invalid_xml(baidu_diconv(trim($name), CHARSET, 'utf-8'));
  79. $this->_setType(strtolower(fileext($this->_attachmentName)));
  80. }
  81. public function setUrl($url)
  82. {
  83. $this->_attachmentUrl = baidu_encode_url(trim($url));
  84. }
  85. public function setSize($size)
  86. {
  87. if (preg_match('#^\d+$#', $size)) {
  88. if ($size > 1024 * 1024) {
  89. $size = round($size / 1024 / 1024, 1) . 'M';
  90. } elseif ($size > 1024) {
  91. $size = round($size / 1024, 1) . 'K';
  92. } else {
  93. $size .= 'B';
  94. }
  95. }
  96. $this->_attachmentSize = $size;
  97. }
  98. public function setDownloadAuthority($authority)
  99. {
  100. $this->_attachmentDownloadAuthority = intval($authority);
  101. }
  102. public function setDownloadCount($count)
  103. {
  104. $this->_attachmentDownloadCount = intval($count);
  105. }
  106. protected function _setType($extname)
  107. {
  108. /**
  109. * 0=普通
  110. * 1=图片
  111. * 2=音频
  112. * 3=视频
  113. * 4=下载
  114. */
  115. if (preg_match("/bittorrent|^torrent/", $extname)) {
  116. $typeid = 4;
  117. } elseif (preg_match("/pdf|^pdf/", $extname)) {
  118. $typeid = 4;
  119. } elseif (preg_match("/image|^(jpg|gif|png|bmp)/", $extname)) {
  120. $typeid = 1;
  121. } elseif (preg_match("/flash|^(swf|fla|flv|swi)/", $extname)) {
  122. $typeid = 3;
  123. } elseif (preg_match("/audio|video|^(wav|mid|mp3|m3u|wma|asf|asx|vqf|mpg|mpeg|avi|wmv)/", $extname)) {
  124. $typeid = 2;
  125. } elseif (preg_match("/real|^(ra|rm|rv)/", $extname)) {
  126. $typeid = 3;
  127. } elseif (preg_match("/htm|^(php|js|pl|cgi|asp)/", $extname)) {
  128. $typeid = 0;
  129. } elseif (preg_match("/text|^(txt|rtf|wri|chm)/", $extname)) {
  130. $typeid = 0;
  131. } elseif (preg_match("/word|powerpoint|^(doc|ppt)/", $extname)) {
  132. $typeid = 0;
  133. } elseif (preg_match("/^rar/", $extname)) {
  134. $typeid = 4;
  135. } elseif (preg_match("/compressed|^(zip|arj|arc|cab|lzh|lha|tar|gz)/", $extname)) {
  136. $typeid = 4;
  137. } elseif (preg_match("/octet-stream|^(exe|com|bat|dll)/", $extname)) {
  138. $typeid = 4;
  139. } else {
  140. $typeid = 0;
  141. }
  142. $this->_attachmentType = $typeid;
  143. }
  144. public function toXml()
  145. {
  146. return
  147. "<attachment>" .
  148. "<attachmentName><![CDATA[{$this->_attachmentName}]]></attachmentName>" .
  149. "<attachmentUrl><![CDATA[{$this->_attachmentUrl}]]></attachmentUrl>" .
  150. "<attachmentSize><![CDATA[{$this->_attachmentSize}]]></attachmentSize>" .
  151. "<attachmentDownloadAuthority>{$this->_attachmentDownloadAuthority}</attachmentDownloadAuthority>" .
  152. "<attachmentDownloadCount>{$this->_attachmentDownloadCount}</attachmentDownloadCount>" .
  153. "<attachmentType><![CDATA[{$this->_attachmentType}]]></attachmentType>" .
  154. "</attachment>";
  155. }
  156. }
  157. class BaiduThreadSchema
  158. {
  159. protected $_forumName; //版块名称
  160. protected $_threadUrl; //链接地址
  161. protected $_threadTitle; //主题title
  162. protected $_post = array(); //帖子
  163. protected $_replyCount; //回复数
  164. protected $_viewCount; //浏览数
  165. protected $_lastReplyTime; //最后回复时间
  166. protected $_forumIcon; //版块图片
  167. protected $_moderators; //版主
  168. protected $_authorIcon; //用户头像
  169. protected $_author; //作者
  170. protected $_supportCount = null; //主题 支持数
  171. protected $_opposeCount = null; //主题 反对数
  172. protected $_isDigest; //是否精华
  173. protected $_stickyLevel; //置顶,0为不置顶,1为版面,2为分区,3为全局
  174. protected $_lastReplier; //最后回复人
  175. protected $_favorCount; //收藏数
  176. protected $_sharedCount; //分享数
  177. public function setFavorCount($favtimes)
  178. {
  179. $this->_favorCount = $favtimes;
  180. }
  181. public function setSharedCount($sharetimes)
  182. {
  183. $this->_sharedCount = $sharetimes;
  184. }
  185. public function setLastReplier($name)
  186. {
  187. $this->_lastReplier = baidu_strip_invalid_xml(baidu_diconv(trim($name), CHARSET, 'utf-8'));
  188. }
  189. public function setStickyLevel($level)
  190. {
  191. $this->_stickyLevel = $level;
  192. }
  193. public function setIsDigest($digest)
  194. {
  195. $this->_isDigest = $digest;
  196. }
  197. public function setSupportCount($count)
  198. {
  199. global $_G;
  200. $recommendthread = $_G['setting']['recommendthread'];
  201. if (isset($recommendthread['status'])) {
  202. $this->_supportCount = $count;
  203. }
  204. }
  205. public function setOpposeCount($count)
  206. {
  207. global $_G;
  208. $recommendthread = $_G['setting']['recommendthread'];
  209. if (isset($recommendthread['status'])) {
  210. $this->_opposeCount = $count;
  211. }
  212. }
  213. public function setAuthor($author)
  214. {
  215. $this->_author = baidu_strip_invalid_xml(baidu_diconv(trim($author), CHARSET, 'utf-8'));
  216. }
  217. public function setForumIcon($forumIcon)
  218. {
  219. global $_G;
  220. if ($forumIcon) {
  221. $url = $_G['siteurl'] . $_G['setting']['attachurl'] . "common/" . $forumIcon;
  222. } else {
  223. $url = $_G['siteurl'] . $_G['style']['imgdir'] . "/forum.gif";
  224. }
  225. $this->_forumIcon = $url;
  226. }
  227. public function setModerators($moderators)
  228. {
  229. $this->_moderators = baidu_strip_invalid_xml(baidu_diconv(trim($moderators), CHARSET, 'utf-8'));
  230. }
  231. public function setAuthorIcon($uid, $size = "small")
  232. {
  233. $authorIconUrl = baidu_get_avatar($uid, $size);
  234. $this->_authorIcon = $authorIconUrl;
  235. }
  236. public function setForumName($name)
  237. {
  238. $this->_forumName = baidu_strip_invalid_xml(baidu_diconv(trim($name), CHARSET, 'utf-8'));
  239. }
  240. public function setThreadUrl($url)
  241. {
  242. $this->_threadUrl = trim($url);
  243. }
  244. public function setThreadTitle($title)
  245. {
  246. $this->_threadTitle = baidu_strip_invalid_xml(baidu_diconv(trim($title), CHARSET, 'utf-8'));
  247. }
  248. public function setReplyCount($count)
  249. {
  250. $this->_replyCount = intval($count);
  251. }
  252. public function setViewCount($count)
  253. {
  254. $this->_viewCount = intval($count);
  255. }
  256. public function setLastReplyTime($time)
  257. {
  258. $time = trim($time);
  259. $this->_lastReplyTime = preg_match('#^\d+$#', $time) ? baidu_date_format($time) : $time;
  260. }
  261. public function addPost(BaiduPostSchema $post)
  262. {
  263. $this->_post[] = $post;
  264. }
  265. public function toXml()
  266. {
  267. $xml = "<url>" .
  268. "<loc><![CDATA[{$this->_threadUrl}]]></loc>" .
  269. "<lastmod><![CDATA[{$this->_lastReplyTime}]]></lastmod>" .
  270. "<data>" .
  271. "<thread>" .
  272. "<threadUrl><![CDATA[{$this->_threadUrl}]]></threadUrl>" .
  273. "<author><![CDATA[{$this->_author}]]></author>" .
  274. "<authorIcon><![CDATA[{$this->_authorIcon}]]></authorIcon>" .
  275. "<threadTitle><![CDATA[{$this->_threadTitle}]]></threadTitle>" .
  276. "<stickyLevel><![CDATA[{$this->_stickyLevel}]]></stickyLevel>" .
  277. "<isDigest><![CDATA[{$this->_isDigest}]]></isDigest>";
  278. foreach ($this->_post as $post) {
  279. $xml .= $post->toXml();
  280. }
  281. $xml .= "<replyCount>{$this->_replyCount}</replyCount>" .
  282. "<viewCount>{$this->_viewCount}</viewCount>" .
  283. "<lastReplier>" .
  284. "<accountName><![CDATA[{$this->_lastReplier}]]></accountName>" .
  285. "</lastReplier>" .
  286. "<lastReplyTime>{$this->_lastReplyTime}</lastReplyTime>" .
  287. "<favorCount>{$this->_favorCount}</favorCount>" .
  288. "<sharedCount>{$this->_sharedCount}</sharedCount>";
  289. if ($this->_supportCount != null && $this->_opposeCount != null) {
  290. $xml .= "<supportCount>{$this->_supportCount}</supportCount>" .
  291. "<opposeCount>{$this->_opposeCount}</opposeCount>";
  292. }
  293. $xml .= "<forumIn>" .
  294. "<forumName><![CDATA[{$this->_forumName}]]></forumName>" .
  295. "<forumIcon><![CDATA[{$this->_forumIcon}]]></forumIcon>" .
  296. "<boardMasterID><![CDATA[{$this->_moderators}]]></boardMasterID>" .
  297. "</forumIn>" .
  298. "</thread>" .
  299. "</data>" .
  300. "</url>";
  301. return $xml;
  302. }
  303. public function toDeleteXml()
  304. {
  305. $xml = "<url><loc><![CDATA[{$this->_threadUrl}]]></loc></url>";
  306. return $xml;
  307. }
  308. public function toSitemapXml()
  309. {
  310. $date = date('Y-m-d');
  311. return "<url><loc><![CDATA[{$this->_threadUrl}]]></loc><lastmod>{$date}</lastmod></url>";
  312. }
  313. }
  314. class BaiduForumSchema
  315. {
  316. protected $_boardName;
  317. protected $_boardUrl;
  318. protected $_logo;
  319. protected $_boardMaster = array();
  320. protected $_description;
  321. protected $_postCount;
  322. protected $_memberCount;
  323. protected $_activeMemberCount;
  324. protected $_hotPost = array();
  325. public function setBoardName($name)
  326. {
  327. $this->_boardName = baidu_strip_invalid_xml(baidu_diconv(trim($name), CHARSET, 'utf-8'));
  328. }
  329. public function setBoardUrl($url)
  330. {
  331. $this->_boardUrl = $url;
  332. }
  333. public function setLogo($url)
  334. {
  335. $this->_logo = $url;
  336. }
  337. public function setBoardMaster(BaiduBoardMasterSchema $boardMaster)
  338. {
  339. $this->_boardMaster[] = $boardMaster;
  340. }
  341. public function setDescripttion($description)
  342. {
  343. $this->_description = baidu_strip_invalid_xml(baidu_diconv(trim($description), CHARSET, 'utf-8'));
  344. }
  345. public function setPostCount($count)
  346. {
  347. $this->_postCount = $count;
  348. }
  349. public function setMemberCount($count)
  350. {
  351. $this->_memberCount = $count;
  352. }
  353. public function setActiveMemberCount($count)
  354. {
  355. $this->_activeMemberCount = $count;
  356. }
  357. public function setHotPost(BaiduHotPostSchema $hotPost)
  358. {
  359. $this->_hotPost[] = $hotPost;
  360. }
  361. public function toXml()
  362. {
  363. $xml = "<url>"
  364. . '<loc><![CDATA[' . $this->_boardUrl . ']]></loc>'
  365. . '<data>'
  366. . '<display>'
  367. . '<boardName><![CDATA[' . $this->_boardName . ']]></boardName>'
  368. . '<boardUrl><![CDATA[' . $this->_boardUrl . ']]></boardUrl>'
  369. . '<logo><![CDATA[' . $this->_logo . ']]></logo>';
  370. if ($this->_boardMaster) {
  371. foreach ($this->_boardMaster as $boardMaster) {
  372. $xml .= $boardMaster->toXml();
  373. }
  374. }
  375. $xml .= '<description><![CDATA[' . $this->_description . ']]></description>'
  376. . '<postCount>' . $this->_postCount . '</postCount>'
  377. . '<memberCount>' . $this->_memberCount . '</memberCount>'
  378. . '<activeMemberCount>' . $this->_activeMemberCount . '</activeMemberCount>';
  379. if ($this->_hotPost) {
  380. foreach ($this->_hotPost as $hotPost) {
  381. $xml .= $hotPost->toXml();
  382. }
  383. }
  384. $xml .= '</display></data></url>';
  385. return $xml;
  386. }
  387. }
  388. class BaiduBoardMasterSchema
  389. {
  390. protected $_name;
  391. protected $_url;
  392. public function setName($name)
  393. {
  394. $this->_name = baidu_strip_invalid_xml(baidu_diconv(trim($name), CHARSET, 'utf-8'));
  395. }
  396. public function setUrl($url)
  397. {
  398. $this->_url = $url;
  399. }
  400. public function toXml()
  401. {
  402. return '<boardMaster>'
  403. . '<name><![CDATA[' . $this->_name . ']]></name>'
  404. . '<url><![CDATA[' . $this->_url . ']]></url>'
  405. . '</boardMaster>';
  406. }
  407. }
  408. class BaiduHotPostSchema
  409. {
  410. protected $_threadUrl;
  411. protected $_postTitle;
  412. protected $_createTime;
  413. protected $_viewCount;
  414. protected $_replyCount;
  415. public function setThreadUrl($url)
  416. {
  417. $this->_threadUrl = $url;
  418. }
  419. public function setPostTitle($title)
  420. {
  421. $this->_postTitle = baidu_strip_invalid_xml(baidu_diconv(trim($title), CHARSET, 'utf-8'));
  422. }
  423. public function setCreateTime($time)
  424. {
  425. $this->_createTime = preg_match('#^\d+$#', $time) ? baidu_date_format($time) : $time;
  426. }
  427. public function setViewCount($count)
  428. {
  429. $this->_viewCount = $count;
  430. }
  431. public function setReplayCount($count)
  432. {
  433. $this->_replyCount = $count;
  434. }
  435. public function toXml()
  436. {
  437. return '<hotPost>'
  438. . '<threadUrl><![CDATA[' . $this->_threadUrl . ']]></threadUrl>'
  439. . '<postTitle><![CDATA[' . $this->_postTitle . ']]></postTitle>'
  440. . '<createTime>' . $this->_createTime . '</createTime>'
  441. . '<viewCount>' . $this->_viewCount . '</viewCount>'
  442. . '<replyCount>' . $this->_replyCount . '</replyCount>'
  443. . '</hotPost>';
  444. }
  445. }
  446. class BaiduForumUserSchema
  447. {
  448. protected $_nickName;
  449. protected $_spaceUrl;
  450. protected $_photoUrl;
  451. protected $_profile;
  452. protected $_level;
  453. protected $_postCount;
  454. protected $_fanCount;
  455. protected $_friendCount;
  456. protected $_gender;
  457. protected $_location;
  458. protected $_constellation;
  459. protected $_birthday;
  460. protected $_registerTime;
  461. protected $_netAge;
  462. protected $_lastLoginTime;
  463. protected $_signatureText;
  464. protected $_signaturePhoto;
  465. public function getNickName()
  466. {
  467. return $this->_nickName;
  468. }
  469. public function setNickName($name)
  470. {
  471. $this->_nickName = baidu_strip_invalid_xml(baidu_diconv(trim($name), CHARSET, 'utf-8'));
  472. }
  473. public function setSpaceUrl($url)
  474. {
  475. $this->_spaceUrl = $url;
  476. }
  477. public function setPhotoUrl($url)
  478. {
  479. $this->_photoUrl = $url;
  480. }
  481. public function setProfile($profile)
  482. {
  483. $this->_profile = baidu_strip_invalid_xml(baidu_diconv(trim($profile), CHARSET, 'utf-8'));
  484. }
  485. public function setLevel($level)
  486. {
  487. $this->_level = baidu_diconv(trim($level), CHARSET, 'utf-8');
  488. }
  489. public function setPostCount($count)
  490. {
  491. $this->_postCount = $count;
  492. }
  493. public function setFanCount($count)
  494. {
  495. $this->_fanCount = $count;
  496. }
  497. public function setFriendCount($count)
  498. {
  499. $this->_friendCount = $count;
  500. }
  501. public function setGender($gender)
  502. {
  503. $zh_gender = array(0 => "保密", 1 => "男", 2 => "女");
  504. $this->_gender = $zh_gender[$gender];
  505. }
  506. public function setLocation($location)
  507. {
  508. $this->_location = baidu_diconv(trim($location), CHARSET, 'utf-8');
  509. }
  510. public function setConstellation($constellation)
  511. {
  512. $this->_constellation = baidu_diconv(trim($constellation), CHARSET, 'utf-8');
  513. ;
  514. }
  515. public function setBirthday($birthday)
  516. {
  517. $this->_birthday = $birthday;
  518. }
  519. public function setRegisterTime($time)
  520. {
  521. $this->_registerTime = date("Y-m-d", $time);
  522. ;
  523. }
  524. public function setNetAge($age)
  525. {
  526. $this->_netAge = $age;
  527. }
  528. public function setLastLoginTime($time)
  529. {
  530. $this->_lastLoginTime = preg_match('#^\d+$#', $time) ? baidu_date_format($time) : $time;
  531. }
  532. public function setSignatureText($text)
  533. {
  534. $this->_signatureText = baidu_strip_invalid_xml(baidu_diconv(trim($text), CHARSET, 'utf-8'));
  535. ;
  536. }
  537. public function setSignaturePhoto($photo)
  538. {
  539. $this->_signaturePhoto = $photo;
  540. }
  541. public function toXml()
  542. {
  543. return '<url>'
  544. . '<loc><![CDATA[' . $this->_spaceUrl . ']]></loc>'
  545. . '<data>'
  546. . '<display>'
  547. . '<nickName><![CDATA[' . $this->_nickName . ']]></nickName>'
  548. . '<spaceUrl><![CDATA[' . $this->_spaceUrl . ']]></spaceUrl>'
  549. . '<photoUrl><![CDATA[' . $this->_photoUrl . ']]></photoUrl>'
  550. . '<profile><![CDATA[' . $this->_profile . ']]></profile>'
  551. . '<level><![CDATA[' . $this->_level . ']]></level>'
  552. . '<postCount>' . $this->_postCount . '</postCount>'
  553. . '<fanCount>' . $this->_fanCount . '</fanCount>'
  554. . '<friendCount>' . $this->_friendCount . '</friendCount>'
  555. . '<gender>' . $this->_gender . '</gender>'
  556. . '<location>' . $this->_location . '</location>'
  557. . '<constellation>' . $this->_constellation . '</constellation>'
  558. . '<birthday>' . $this->_birthday . '</birthday>'
  559. . '<registerTime>' . $this->_registerTime . '</registerTime>'
  560. . '<netAge>' . $this->_netAge . '</netAge>'
  561. . ($this->_lastLoginTime ? '<lastLoginTime>' . $this->_lastLoginTime . '</lastLoginTime>' : "")
  562. . '<signatureText><![CDATA[' . $this->_signatureText . ']]></signatureText>'
  563. . '<signaturePhoto><![CDATA[' . $this->_signaturePhoto . ']]></signaturePhoto>'
  564. . '</display>'
  565. . '</data>'
  566. . '</url>';
  567. }
  568. }