memcp.inc.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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: memcp.inc.php 29364 2012-04-09 02:51:41Z monkey $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. if(!$_G['uid']) {
  12. showmessage('not_loggedin', NULL, array(), array('login' => 1));
  13. }
  14. $myrepeatsusergroups = (array)unserialize($_G['cache']['plugin']['myrepeats']['usergroups']);
  15. if(in_array('', $myrepeatsusergroups)) {
  16. $myrepeatsusergroups = array();
  17. }
  18. $singleprem = FALSE;
  19. $permusers = $permuids = array();
  20. if(!in_array($_G['groupid'], $myrepeatsusergroups)) {
  21. $singleprem = TRUE;
  22. }
  23. foreach(C::t('#myrepeats#myrepeats')->fetch_all_by_username($_G['username']) as $user) {
  24. $permuids[] = $user['uid'];
  25. }
  26. $permusers = C::t('common_member')->fetch_all_username_by_uid($permuids);
  27. if(!$permusers && $singleprem) {
  28. showmessage('myrepeats:usergroup_disabled');
  29. }
  30. if($_GET['pluginop'] == 'add' && submitcheck('adduser')) {
  31. if($singleprem && in_array($_GET['usernamenew'], $permusers) || !$singleprem) {
  32. $usernamenew = addslashes(strip_tags($_GET['usernamenew']));
  33. $logindata = addslashes(authcode($_GET['passwordnew']."\t".$_GET['questionidnew']."\t".$_GET['answernew'], 'ENCODE', $_G['config']['security']['authkey']));
  34. if(C::t('#myrepeats#myrepeats')->count_by_uid_username($_G['uid'], $usernamenew)) {
  35. DB::query("UPDATE ".DB::table('myrepeats')." SET logindata='$logindata' WHERE uid='$_G[uid]' AND username='$usernamenew'");
  36. } else {
  37. $_GET['commentnew'] = addslashes($_GET['commentnew']);
  38. DB::query("INSERT INTO ".DB::table('myrepeats')." (uid, username, logindata, comment) VALUES ('$_G[uid]', '$usernamenew', '$logindata', '".strip_tags($_GET['commentnew'])."')");
  39. }
  40. dsetcookie('mrn', '');
  41. dsetcookie('mrd', '');
  42. showmessage('myrepeats:adduser_succeed', 'home.php?mod=spacecp&ac=plugin&id=myrepeats:memcp', array('usernamenew' => stripslashes($usernamenew)));
  43. }
  44. } elseif($_GET['pluginop'] == 'update' && submitcheck('updateuser')) {
  45. if(!empty($_GET['delete'])) {
  46. C::t('#myrepeats#myrepeats')->delete_by_uid_usernames($_G['uid'], $_GET['delete']);
  47. }
  48. $_GET['comment'] = daddslashes($_GET['comment']);
  49. foreach($_GET['comment'] as $user => $v) {
  50. C::t('#myrepeats#myrepeats')->update_comment_by_uid_username($_G['uid'], $user, strip_tags($v));
  51. }
  52. dsetcookie('mrn', '');
  53. dsetcookie('mrd', '');
  54. showmessage('myrepeats:updateuser_succeed', 'home.php?mod=spacecp&ac=plugin&id=myrepeats:memcp');
  55. }
  56. $username = empty($_GET['username']) ? '' : htmlspecialchars($_GET['username']);
  57. $repeatusers = array();
  58. foreach(C::t('#myrepeats#myrepeats')->fetch_all_by_uid($_G['uid']) as $myrepeat) {
  59. $myrepeat['lastswitch'] = $myrepeat['lastswitch'] ? dgmdate($myrepeat['lastswitch']) : '';
  60. $myrepeat['usernameenc'] = rawurlencode($myrepeat['username']);
  61. $myrepeat['comment'] = htmlspecialchars($myrepeat['comment']);
  62. $repeatusers[] = $myrepeat;
  63. }
  64. $_G['basescript'] = 'home';
  65. ?>