collection_follow.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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: collection_follow.php 25246 2011-11-02 03:34:53Z zhangguosheng $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. if(!$op || !$ctid || $_GET['formhash'] != FORMHASH) {
  12. showmessage('undefined_action', NULL);
  13. }
  14. if(!$_G['collection']['ctid'] || $_G['collection']['uid'] == $_G['uid']) {
  15. showmessage('collection_permission_deny');
  16. }
  17. $_GET['handlekey'] = 'followcollection';
  18. if($op == 'follow') {
  19. $follownum = C::t('forum_collectionfollow')->count_by_uid($_G['uid']);
  20. if($follownum >= $_G['group']['allowfollowcollection']) {
  21. showmessage('collection_follow_limited', '', array('limit' => $_G['group']['allowfollowcollection']), array('closetime' => '2', 'showmsg' => '1'));
  22. }
  23. $collectionfollow = C::t('forum_collectionfollow')->fetch_by_ctid_uid($ctid, $_G['uid']);
  24. if(!$collectionfollow['ctid']) {
  25. $data = array(
  26. 'uid' => $_G['uid'],
  27. 'username' => $_G['username'],
  28. 'ctid' => $ctid,
  29. 'dateline' => $_G['timestamp'],
  30. 'lastvisit' => $_G['timestamp']
  31. );
  32. C::t('forum_collectionfollow')->insert($data);
  33. C::t('forum_collection')->update_by_ctid($ctid, 0, 1, 0);
  34. if($_G['collection']['uid'] != $_G['uid']) {
  35. updatecreditbyaction('followedcollection', $_G['collection']['uid']);
  36. notification_add($_G['collection']['uid'], "system", 'collection_befollowed', array('from_id'=>$_G['collection']['ctid'], 'from_idtype'=>'collectionfollow', 'ctid'=>$_G['collection']['ctid'], 'collectionname'=>$_G['collection']['name']), 1);
  37. }
  38. showmessage('collection_follow_succ', dreferer(), array('status'=>1), array('closetime' => '2', 'showmsg' => '1'));
  39. }
  40. } elseif($op == 'unfo') {
  41. $collectionfollow = C::t('forum_collectionfollow')->fetch_by_ctid_uid($ctid, $_G['uid']);
  42. if($collectionfollow['ctid']) {
  43. C::t('forum_collectionfollow')->delete_by_ctid_uid($ctid, $_G['uid']);
  44. C::t('forum_collection')->update_by_ctid($ctid, 0, -1, 0);
  45. showmessage('collection_unfollow_succ', dreferer(), array('status'=>2), array('closetime' => '2', 'showmsg' => '1'));
  46. }
  47. }
  48. ?>