function.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  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 getTitle($id)
  39. {
  40. if (isset($id)) {
  41. $query = "SELECT name FROM channal WHERE id = ? ";
  42. $stmt = $this->dbh->prepare($query);
  43. $stmt->execute(array($id));
  44. $channal = $stmt->fetch(PDO::FETCH_ASSOC);
  45. if ($channel) {
  46. return $channel["name"];
  47. } else {
  48. return "";
  49. }
  50. } else {
  51. return "";
  52. }
  53. }
  54. public function getPower($id){
  55. #查询用户对此channel是否有权限
  56. $channelPower = 0;
  57. $query = "SELECT owner,status FROM channal WHERE id=? and status>0 ";
  58. $stmt = $this->dbh->prepare($query);
  59. $stmt->execute(array($id));
  60. $channel = $stmt->fetch(PDO::FETCH_ASSOC);
  61. if($channel){
  62. if(!isset($_COOKIE["userid"]) ){
  63. #未登录用户
  64. if($channel["status"]==30){
  65. #全网公开有建议权限
  66. return 10;
  67. }
  68. else{
  69. #其他状态没有任何权限
  70. return 0;
  71. }
  72. }
  73. if($channel["owner"]==$_COOKIE["userid"]){
  74. return 30;
  75. }
  76. else if($channel["status"]>=30){
  77. #全网公开的 可以提交pr
  78. $channelPower = 10;
  79. }
  80. }
  81. #查询共享权限,如果共享权限更大,覆盖上面的的
  82. $sharePower = share_get_res_power($_COOKIE["userid"],$id);
  83. if($sharePower>$channelPower){
  84. $channelPower=$sharePower;
  85. }
  86. return $channelPower;
  87. }
  88. }
  89. ?>