TestUGC.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: stanley-king
  5. * Date: 2017/7/6
  6. * Time: 上午9:00
  7. */
  8. define('BASE_ROOT_PATH',str_replace('/test','',dirname(__FILE__)));
  9. require_once(BASE_ROOT_PATH . '/fooder.php');
  10. require_once(BASE_ROOT_PATH . '/helper/ugc_helper.php');
  11. class TestUGC extends PHPUnit_Framework_TestCase
  12. {
  13. public static function setUpBeforeClass()
  14. {
  15. Base::run_util();
  16. }
  17. public function testSpecialObj()
  18. {
  19. $special['share_title'] = '测试';
  20. $special['share_image'] = "http://192.168.0.200/data/upload/mobile/special/s0/s0_05240528172336404.png";
  21. $item['type'] = 'images';
  22. $item['images'][] = "http://192.168.0.200/data/upload/mobile/special/s0/s0_05240528172336404.png";
  23. $item['title'] = '第一次见到大海';
  24. $special['items'][] = $item;
  25. }
  26. public function testItem()
  27. {
  28. $y = 'a:8:{s:11:"home1_title";s:0:"";s:5:"image";s:25:"s67_05483603748979614.png";s:9:"show_type";s:5:"image";s:9:"show_data";s:25:"s67_05483603748979614.png";s:4:"type";s:0:"";s:4:"data";s:0:"";s:5:"title";s:0:"";s:8:"reserved";N;}';
  29. $x = unserialize($y);
  30. }
  31. public function testInitSrv()
  32. {
  33. ugc_helper::init_server();
  34. }
  35. public function testBonusMake()
  36. {
  37. $param["amount"] = 30;
  38. $param["bless"] = "晚安阿罗裤八团";
  39. $param["bonus_type"] = 1;
  40. $param["deadline"] = 1500983744;
  41. $param["multi"] = false;
  42. $param["num"] = 15;
  43. $param["rate"] = 50;
  44. $param["type"] = "bonus";
  45. $_SESSION['member_id'] = 39623;
  46. $_SESSION['member_mobile'] = '13911129867';
  47. $_SESSION['member_nickname'] = '江南舟子';
  48. $builder = new ugc\bonus_builder($param);
  49. $result = $builder->make();
  50. }
  51. public function testComment()
  52. {
  53. $special_id = 200;
  54. $mod_comment = Model('ugc_comment');
  55. for ($i = 0; $i < 20; ++$i)
  56. {
  57. $comment_id = $mod_comment->comment($special_id,36490,"TopA");
  58. $len = mt_rand(5,20);
  59. for ($j = 0; $j < $len; ++$j) {
  60. $mod_comment->respond_comment($special_id,$comment_id,36492,"TopRespond");
  61. }
  62. }
  63. }
  64. public function getTypeList($condition = array(), $pagesize = '', $fields = '*', $order = '', $limit = '')
  65. {
  66. return $this->table('bonus_type')->where($condition)->field($fields)->order($order)->limit($limit)->page($pagesize)->select();
  67. }
  68. public function getSpCount($special_id)
  69. {
  70. return Model()->table('ugc_comment')->where("comment_id=top_id and special_id={$special_id}")->count();
  71. }
  72. public function getSpCommentList($special_id,$page = 0,$count = 0,$lock = false)
  73. {
  74. return Model()->table('ugc_comment')->field('*')->where("comment_id=top_id and special_id={$special_id}")->order('comment_id desc')->limit(0)->page($page, $count)->lock($lock)->select();
  75. }
  76. public function getSpCommentListex($special_id,$pagesize = '')
  77. {
  78. return Model()->table('ugc_comment')->field('*')->where("comment_id=top_id and special_id={$special_id}")->order('comment_id desc')->page($pagesize)->lock($lock)->select();
  79. }
  80. public function testSubComments()
  81. {
  82. $special_id = 200;
  83. if($special_id < 0) {
  84. return self::outerr(errcode::ErrParamter,"该专题不存在");
  85. }
  86. $comment_id = 16;
  87. $mod_comment = Model('ugc_comment');
  88. $count = $mod_comment->comment_counts($special_id,$comment_id);
  89. $items = $mod_comment->getSubCommentList($special_id,'comment_id',10,$count);
  90. $pages = $mod_comment->gettotalpage();
  91. }
  92. public function testComments()
  93. {
  94. $special_id = 200;
  95. if($special_id < 0) {
  96. return self::outerr(errcode::ErrParamter,"该专题不存在");
  97. }
  98. $mod_comment = Model('ugc_comment');
  99. $count = $mod_comment->top_counts($special_id);
  100. $items = $mod_comment->getTopCommentList($special_id,'comment_id',10,$count);
  101. $pages = $mod_comment->gettotalpage();
  102. $mod = Model('ugc_comment');
  103. $commentids = $this->commentids($items);
  104. $comments = $mod->getCommentList(array('top_id' => ['in',$commentids]),'*',0);
  105. $comments_obj =new ugc\comments($comments,$special_id,[]);
  106. $comments = $comments_obj->comments();
  107. $users = $comments_obj->users();
  108. }
  109. private function comment_list($comments)
  110. {
  111. }
  112. private function commentids($items)
  113. {
  114. $result = [];
  115. foreach ($items as $val) {
  116. $commentid = intval($val['comment_id']);
  117. $result[] = $commentid;
  118. }
  119. return $result;
  120. }
  121. public function testEmojj()
  122. {
  123. $mod_comment = Model('ugc_comment');
  124. $item = $mod_comment->getCommentByID(569);
  125. $str = $item['content'];
  126. $s = iconv('UTF-8','UTF-16', $str);
  127. }
  128. function compatible_decode($unicode)
  129. {
  130. $str = '';
  131. $arr = array_filter(explode('u', $unicode));
  132. foreach ($arr as $k => $v) {
  133. if (strlen($v) == 4) {
  134. $num = (int)hexdec($v);
  135. $ord_1 = decbin(0xe0 | ($num >> 12));
  136. $ord_2 = decbin(0x80 | (($num >> 6) & 0x3f));
  137. $ord_3 = decbin(0x80 | ($num & 0x3f));
  138. $str .= chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3));
  139. }else{
  140. $str .= chr(hexdec($v));
  141. }
  142. }
  143. return $str;
  144. }
  145. public function testU16()
  146. {
  147. $x = 'u7f8eu5b9du83b2';
  148. $y = $this->compatible_decode($x);
  149. $x = json_decode($x);
  150. $str = "托尔斯泰🇺🇸🌹😃😄";
  151. $t = json_encode($str,JSON_UNESCAPED_UNICODE);
  152. $s = iconv('UTF-16', 'UTF-8', $str);
  153. $y = iconv_get_encoding();
  154. $len = iconv_strlen($str,'UTF-8');
  155. }
  156. public function testVoteResult()
  157. {
  158. $x = 'a:4:{i:0;i:0;i:1;i:0;i:2;i:0;i:3;i:0;}';
  159. $y = unserialize($x);
  160. }
  161. public function testUpdatevote()
  162. {
  163. $mod_special = Model('mb_special');
  164. $items = $mod_special->field('*')->where(['from_user' => 1,'special_id' => 263])->limit(false)->select();
  165. foreach ($items as $item)
  166. {
  167. $spid = intval($item['special_id']);
  168. $params = $item['params'];
  169. $vote_result = $item['vote_result'];
  170. if(!empty($params) && !empty($vote_result))
  171. {
  172. $params = unserialize($params);
  173. $vresult = unserialize($vote_result);
  174. $vote = $params['vote'];
  175. if(!empty($vote))
  176. {
  177. $params['vote'] = [];
  178. $params['vote'][] = $vote;
  179. $vote_result = [];
  180. $vote_result[] = $vresult;
  181. $mod_special->editUserSpecial($spid,['special_id' =>$spid],['params' => serialize($params),'vote_result' => serialize($vote_result)]);
  182. }
  183. }
  184. }
  185. }
  186. public function testParams() {
  187. $params = 'a:2:{s:4:"vote";a:1:{i:0;a:1:{i:0;a:4:{s:7:"options";a:4:{i:0;s:4:"1号";i:1;s:4:"2号";i:2;s:4:"3号";i:3;s:4:"4号";}s:8:"deadline";i:0;s:9:"vote_type";i:0;s:11:"vote_single";b:0;}}}s:9:"questions";a:0:{}}';
  188. $params = unserialize($params);
  189. $vote = $params['vote'][0][0];
  190. $params['vote'] = [];
  191. $params['vote'][] = $vote;
  192. $params = serialize($params);
  193. }
  194. public function testTitlexx() {
  195. $title = '默默地看着就
  196. 默默你你你
  197. 呃呃呃额额';
  198. $title = str_replace("\n","\\n",$title);
  199. $txt = str_replace( array( "\n", "\r" ), array( "\\n", "\\r" ), $title );
  200. }
  201. public function testImage()
  202. {
  203. $image = 'http://lrlz-image.oss-cn-shenzhen.aliyuncs.com/2792935C-A6BF-4F3C-9771-CF3977C044B3.jpeg?828,1472';
  204. $regxp = '/\?(\d+),(\d+)/i';
  205. $val = preg_match($regxp,$image,$match);
  206. if($val > 0) {
  207. $width = intval($match[1]);
  208. $height = intval($match[2]);
  209. }
  210. }
  211. public function testUpload()
  212. {
  213. $img_content = $this->data();
  214. $regx = '/^(data:\s*image\/(\w+);base64,)/';
  215. if (preg_match($regx, $img_content, $result))
  216. {
  217. $file_type = $result[2];
  218. $img = base64_decode( str_replace( $result[1], '', $img_content ) );
  219. return $img;
  220. } else {
  221. return false;
  222. }
  223. }
  224. public function testAsyncUgcPublish()
  225. {
  226. account_helper::onAsyncUgcPublish(288);
  227. }
  228. public function testAsyncUgcDel()
  229. {
  230. account_helper::onAsyncUgcDel(288);
  231. }
  232. public function testAsyncUgcSubmit()
  233. {
  234. account_helper::onAsyncUgcSubmit(290,39646);
  235. }
  236. public function testUrlencode()
  237. {
  238. $title = util::base64url_encode('校园招聘福利');
  239. $x = util::base64url_decode('5qCh5Zut5o6o5bm_');
  240. }
  241. public function testUrl()
  242. {
  243. $x = 'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzBweCIgd2lkdGg9IjMwcHgiIHZpZXdCb3g9Ii0xIC0xIDMxIDMxIj48Zz48cGF0aCBkPSJNMjkuNDQ5LDE0LjY2MiBDMjkuNDQ5LDIyLjcyMiAyMi44NjgsMjkuMjU2IDE0Ljc1LDI5LjI1NiBDNi42MzIsMjkuMjU2IDAuMDUxLDIyLjcyMiAwLjA1MSwxNC42NjIgQzAuMDUxLDYuNjAxIDYuNjMyLDAuMDY3IDE0Ljc1LDAuMDY3IEMyMi44NjgsMC4wNjcgMjkuNDQ5LDYuNjAxIDI5LjQ0OSwxNC42NjIiIGZpbGw9IiNmZmYiIHN0cm9rZT0iI2ZmZiIgc3Ryb2tlLXdpZHRoPSIxIj48L3BhdGg+PHBhdGggZD0iTTE0LjczMywxLjY4NiBDNy41MTYsMS42ODYgMS42NjUsNy40OTUgMS42NjUsMTQuNjYyIEMxLjY2NSwyMC4xNTkgNS4xMDksMjQuODU0IDkuOTcsMjYuNzQ0IEM5Ljg1NiwyNS43MTggOS43NTMsMjQuMTQzIDEwLjAxNiwyMy4wMjIgQzEwLjI1MywyMi4wMSAxMS41NDgsMTYuNTcyIDExLjU0OCwxNi41NzIgQzExLjU0OCwxNi41NzIgMTEuMTU3LDE1Ljc5NSAxMS4xNTcsMTQuNjQ2IEMxMS4xNTcsMTIuODQyIDEyLjIxMSwxMS40OTUgMTMuNTIyLDExLjQ5NSBDMTQuNjM3LDExLjQ5NSAxNS4xNzUsMTIuMzI2IDE1LjE3NSwxMy4zMjMgQzE1LjE3NSwxNC40MzYgMTQuNDYyLDE2LjEgMTQuMDkzLDE3LjY0MyBDMTMuNzg1LDE4LjkzNSAxNC43NDUsMTkuOTg4IDE2LjAyOCwxOS45ODggQzE4LjM1MSwxOS45ODggMjAuMTM2LDE3LjU1NiAyMC4xMzYsMTQuMDQ2IEMyMC4xMzYsMTAuOTM5IDE3Ljg4OCw4Ljc2NyAxNC42NzgsOC43NjcgQzEwLjk1OSw4Ljc2NyA4Ljc3NywxMS41MzYgOC43NzcsMTQuMzk4IEM4Ljc3NywxNS41MTMgOS4yMSwxNi43MDkgOS43NDksMTcuMzU5IEM5Ljg1NiwxNy40ODggOS44NzIsMTcuNiA5Ljg0LDE3LjczMSBDOS43NDEsMTguMTQxIDkuNTIsMTkuMDIzIDkuNDc3LDE5LjIwMyBDOS40MiwxOS40NCA5LjI4OCwxOS40OTEgOS4wNCwxOS4zNzYgQzcuNDA4LDE4LjYyMiA2LjM4NywxNi4yNTIgNi4zODcsMTQuMzQ5IEM2LjM4NywxMC4yNTYgOS4zODMsNi40OTcgMTUuMDIyLDYuNDk3IEMxOS41NTUsNi40OTcgMjMuMDc4LDkuNzA1IDIzLjA3OCwxMy45OTEgQzIzLjA3OCwxOC40NjMgMjAuMjM5LDIyLjA2MiAxNi4yOTcsMjIuMDYyIEMxNC45NzMsMjIuMDYyIDEzLjcyOCwyMS4zNzkgMTMuMzAyLDIwLjU3MiBDMTMuMzAyLDIwLjU3MiAxMi42NDcsMjMuMDUgMTIuNDg4LDIzLjY1NyBDMTIuMTkzLDI0Ljc4NCAxMS4zOTYsMjYuMTk2IDEwLjg2MywyNy4wNTggQzEyLjA4NiwyNy40MzQgMTMuMzg2LDI3LjYzNyAxNC43MzMsMjcuNjM3IEMyMS45NSwyNy42MzcgMjcuODAxLDIxLjgyOCAyNy44MDEsMTQuNjYyIEMyNy44MDEsNy40OTUgMjEuOTUsMS42ODYgMTQuNzMzLDEuNjg2IiBmaWxsPSIjYmQwODFjIj48L3BhdGg+PC9nPjwvc3ZnPg==';
  244. $y = base64_decode($x);
  245. }
  246. }