magic_showip.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: magic_showip.php 29373 2012-04-09 07:55:30Z chenmengshu $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. class magic_showip {
  12. var $version = '1.0';
  13. var $name = 'showip_name';
  14. var $description = 'showip_desc';
  15. var $price = '10';
  16. var $weight = '10';
  17. var $useevent = 1;
  18. var $targetgroupperm = true;
  19. var $copyright = '<a href="http://www.comsenz.com" target="_blank">Comsenz Inc.</a>';
  20. var $magic = array();
  21. var $parameters = array();
  22. function getsetting(&$magic) {
  23. }
  24. function setsetting(&$magicnew, &$parameters) {
  25. }
  26. function usesubmit() {
  27. global $_G;
  28. if(empty($_GET['username'])) {
  29. showmessage(lang('magic/showip', 'showip_info_nonexistence'));
  30. }
  31. $member = getuserinfo($_GET['username']);
  32. $this->_check($member['groupid']);
  33. $memberstatus = C::t('common_member_status')->fetch($member['uid']);
  34. $ip = $memberstatus['lastip'];
  35. unset($memberstatus);
  36. usemagic($this->magic['magicid'], $this->magic['num']);
  37. updatemagiclog($this->magic['magicid'], '2', '1', '0', 0, 'uid', $member['uid']);
  38. if($member['uid'] != $_G['uid']) {
  39. notification_add($member['uid'], 'magic', lang('magic/showip', 'showip_notification'), array('magicname' => $this->magic['name']), 1);
  40. }
  41. showmessage(lang('magic/showip', 'showip_ip_message'), '', array('username' => $_GET['username'], 'ip' => $ip), array('alert' => 'info', 'showdialog' => 1));
  42. }
  43. function show() {
  44. global $_G;
  45. $user = !empty($_GET['id']) ? dhtmlspecialchars($_GET['id']) : '';
  46. if($user) {
  47. $member = getuserinfo($user);
  48. $this->_check($member['groupid']);
  49. }
  50. magicshowtype('top');
  51. magicshowsetting(lang('magic/showip', 'showip_targetuser'), 'username', $user, 'text');
  52. magicshowtype('bottom');
  53. }
  54. function buy() {
  55. global $_G;
  56. if(!empty($_GET['id'])) {
  57. $member = getuserinfo($_GET['id']);
  58. if($_G['group']['allowviewip']) {
  59. $_GET['username'] = $member['username'];
  60. $this->usesubmit();
  61. } else {
  62. $this->_check($member['groupid']);
  63. }
  64. }
  65. }
  66. function _check($groupid) {
  67. if(!checkmagicperm($this->parameters['targetgroups'], $groupid)) {
  68. showmessage(lang('magic/showip', 'showip_info_noperm'));
  69. }
  70. }
  71. }
  72. ?>