function.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. require_once "../path.php";
  3. require_once "../share/function.php";
  4. function channel_get_title($id)
  5. {
  6. if (isset($id)) {
  7. PDO_Connect( _FILE_DB_CHANNAL_);
  8. $query = "SELECT name FROM channal WHERE id = ? ";
  9. $channel = PDO_FetchRow($query, array($id));
  10. if ($channel) {
  11. return $channel["name"];
  12. } else {
  13. return "";
  14. }
  15. } else {
  16. return "";
  17. }
  18. }
  19. class Channal
  20. {
  21. private $dbh;
  22. public function __construct() {
  23. $this->dbh = new PDO(_FILE_DB_CHANNAL_, "", "",array(PDO::ATTR_PERSISTENT=>true));
  24. $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  25. }
  26. public function getChannal($id){
  27. $query = "SELECT * FROM channal WHERE id= ? ";
  28. $stmt = $this->dbh->prepare($query);
  29. $stmt->execute(array($id));
  30. $channal = $stmt->fetch(PDO::FETCH_ASSOC);
  31. if($channal){
  32. return $channal;
  33. }
  34. else{
  35. return false;
  36. }
  37. }
  38. public function getPower($id){
  39. #查询用户对此channel是否有权限
  40. $channelPower = 0;
  41. $query = "SELECT owner,status FROM channal WHERE id=? and status>0 ";
  42. $stmt = $this->dbh->prepare($query);
  43. $stmt->execute(array($id));
  44. $channel = $stmt->fetch(PDO::FETCH_ASSOC);
  45. if($channel){
  46. if(!isset($_COOKIE["userid"]) ){
  47. #未登录用户
  48. if($channel["status"]==30){
  49. #全网公开有建议权限
  50. return 10;
  51. }
  52. else{
  53. #其他状态没有任何权限
  54. return 0;
  55. }
  56. }
  57. if($channel["owner"]==$_COOKIE["userid"]){
  58. return 30;
  59. }
  60. else if($channel["status"]>=30){
  61. #全网公开的 可以提交pr
  62. $channelPower = 10;
  63. }
  64. }
  65. #查询共享权限,如果共享权限更大,覆盖上面的的
  66. $sharePower = share_get_res_power($_COOKIE["userid"],$id);
  67. if($sharePower>$channelPower){
  68. $channelPower=$sharePower;
  69. }
  70. return $channelPower;
  71. }
  72. }
  73. ?>