wbw_channel_list.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. require_once '../config.php';
  3. require_once "../public/_pdo.php";
  4. require_once "../public/function.php";
  5. require_once '../share/function.php';
  6. require_once '../channal/function.php';
  7. require_once '../ucenter/function.php';
  8. require_once '../redis/function.php';
  9. $redis = redis_connect();
  10. $output["status"] = 0;
  11. $output["error"] = "";
  12. $output["data"] = "";
  13. if (!isset($_COOKIE["userid"])) {
  14. $output["status"] = 1;
  15. $output["error"] = "#not_login";
  16. echo json_encode($output, JSON_UNESCAPED_UNICODE);
  17. exit;
  18. }
  19. $_book = $_POST["book"];
  20. $_para = json_decode($_POST["para"]);
  21. $output["para"] = $_POST["para"];
  22. $output["book"] = $_POST["book"];
  23. /* 创建一个填充了和params相同数量占位符的字符串 */
  24. $place_holders = implode(',', array_fill(0, count($_para), '?'));
  25. $params = $_para;
  26. $params[] = $_book;
  27. #查重复
  28. $channelList = array();
  29. #先查自己的
  30. PDO_Connect(_FILE_DB_CHANNAL_,_DB_USERNAME_,_DB_PASSWORD_);
  31. $query = "SELECT uid FROM "._TABLE_CHANNEL_." WHERE owner_uid = ? and status>0 LIMIT 100";
  32. $FetchChannal = PDO_FetchAll($query, array($_COOKIE["user_uid"]));
  33. foreach ($FetchChannal as $key => $value) {
  34. # code...
  35. $channelList[$value["uid"]]=array("power"=>30,"type"=>"my");
  36. }
  37. # 找协作的
  38. $coop_channal = share_res_list_get($_COOKIE["user_uid"],2);
  39. foreach ($coop_channal as $key => $value) {
  40. # return res_id,res_type,power res_title res_owner_id
  41. if(isset($channelList[$value["res_id"]])){
  42. if($channelList[$value["res_id"]]<(int)$value["power"]){
  43. $channelList[$value["res_id"]]=array("power"=>(int)$value["power"]);
  44. }
  45. }
  46. else{
  47. $channelList[$value["res_id"]]=array("power"=>(int)$value["power"],"type"=>"collaborate");
  48. }
  49. }
  50. # 查询全网公开 的
  51. PDO_Connect( _FILE_DB_USER_WBW_,_DB_USERNAME_,_DB_PASSWORD_);
  52. $query = "SELECT channel_uid FROM "._TABLE_USER_WBW_BLOCK_." WHERE paragraph IN ($place_holders) AND book_id = ? AND channel_uid IS NOT NULL AND status = 30 group by channel_uid ";
  53. $publicChannel = PDO_FetchAll($query, $params);
  54. foreach ($publicChannel as $key => $channel) {
  55. # code...
  56. if(!isset($channelList[$channel["channel_uid"]])){
  57. $channelList[$channel["channel_uid"]]=array("power"=>10,"type"=>"public");
  58. }
  59. }
  60. $channelInfo = new Channal($redis);
  61. $userInfo = new UserInfo();
  62. $i = 0;
  63. $outputData = array();
  64. foreach ($channelList as $key => $row) {
  65. $queryParam = $params;
  66. $queryParam[] = $key;
  67. $query = "SELECT count(*) FROM "._TABLE_USER_WBW_BLOCK_." WHERE paragraph IN ($place_holders) AND book_id = ? AND channel_uid = ? ";
  68. $wbwCount = PDO_FetchOne($query, $queryParam);
  69. $channelList[$key]["wbw_para"] = $wbwCount;
  70. $channelList[$key]["count"] = count($_para);
  71. $info = $channelInfo->getChannal($key);
  72. if($info){
  73. $channelList[$key]["id"] = $info["uid"];
  74. $channelList[$key]["name"] = $info["name"];
  75. $channelList[$key]["lang"] = $info["lang"];
  76. $channelList[$key]["user"] = $userInfo->getName($info["owner_uid"]);
  77. $outputData[]=$channelList[$key];
  78. }
  79. }
  80. $output["data"] = $outputData;
  81. echo json_encode($output, JSON_UNESCAPED_UNICODE);