123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- <?php
-
-
- namespace app\api\logic\v1;
-
- use think\Db;
-
- class AskLogic
- {
-
- public function GetReplyHtml($data = array())
- {
- $ReplyHtml = '';
-
- if (empty($data['is_review'])) return $ReplyHtml;
-
-
-
- $data['add_time'] = friend_date($data['add_time']);
-
- $data['content'] = htmlspecialchars_decode($data['content']);
- if (!empty($data['at_users_id'])) {
- $data['content'] = '回复 @'.$data['at_usersname'].': '.$data['content'];
- }
-
- $DelAnswerUrl = $this->GetUrlData($data, 'DelAnswerUrl');
-
-
- $ReplyHtml = <<<EOF
- <li class="secend-li" id="{$data['answer_id']}_answer_li">
- <div class="head-secend">
- <a><img src="{$data['head_pic']}" style="width:30px;height:30px;border-radius:100%;margin-right: 16px;"></a>
- <strong>{$data['username']}</strong>
- <span style="margin:0 10px"> | </span>
- <span>{$data['add_time']}</span>
- <div style="flex-grow:1"></div>
- <span id="{$data['answer_id']}_replyA" onclick="replyUser('{$data['answer_pid']}','{$data['users_id']}','{$data['username']}','{$data['answer_id']}')" class="secend-huifu-btn" style="cursor: pointer;">回复</span>
- |
- <a data-url="{$DelAnswerUrl}" onclick="DataDel(this, '{$data['answer_id']}', 2)" class="secend-huifu-btn" style="cursor: pointer; color:red;">删除</a>
- </div>
- <div class="secend-huifu-text">
- {$data['content']}
- </div>
- </li>
- EOF;
-
- $ReturnHtml = ['review' => false, 'htmlcode' => $ReplyHtml];
- return $ReturnHtml;
- }
-
-
- public function GetUrlData($param = array(), $SpecifyUrl = null)
- {
- if (empty($param['ask_id'])) $param['ask_id'] = 0;
- $result = [];
-
- $result['NewDateUrl'] = url('plugins/Ask/index');
-
-
-
- $result['AskDetailsUrl'] = url('plugins/Ask/details', ['ask_id'=>$param['ask_id']]);
-
-
-
- $result['RecomDateUrl'] = url('plugins/Ask/index', ['type_id'=>0, 'is_recom'=>1]);
-
-
- $result['RewardUrl'] = url('plugins/Ask/index', ['type_id'=>0, 'is_recom'=>3]);
-
-
- $result['PendingAnswerUrl'] = url('plugins/Ask/index', ['type_id'=>0, 'is_recom'=>2]);
-
-
-
- $result['AddAnswerUrl'] = url('plugins/Ask/ajax_add_answer', ['ask_id'=>$param['ask_id'], '_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['DelAnswerUrl'] = url('plugins/Ask/ajax_del_answer', ['ask_id'=>$param['ask_id'], '_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['ClickLikeUrl'] = url('plugins/Ask/ajax_click_like', ['_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['AddAskUrl'] = url('plugins/Ask/add_ask');
-
- $result['SubmitAddAsk'] = url('plugins/Ask/add_ask', ['_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['EditAskUrl'] = url('plugins/Ask/edit_ask', ['ask_id'=>$param['ask_id']]);
-
-
-
- $result['UsersIndexUrl'] = url('plugins/Ask/ask_index');
-
-
-
- $result['EditAnswer'] = url('plugins/Ask/ajax_edit_answer');
-
- if ('ajax_edit_answer' == request()->action()) {
- $result['EditAnswer'] = url('plugins/Ask/ajax_edit_answer', ['_ajax'=>1], true, false, 1, 1, 0);
- }
-
-
- $result['BestAnswerUrl'] = url('plugins/Ask/ajax_best_answer', ['ask_id'=>$param['ask_id'], '_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['ShowCommentUrl'] = url('plugins/Ask/ajax_show_comment', ['ask_id'=>$param['ask_id'], '_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['ReviewCommentUrl'] = url('plugins/Ask/ajax_review_comment', ['ask_id'=>$param['ask_id'], '_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['ReviewAskUrl'] = url('plugins/Ask/ajax_review_ask', ['_ajax'=>1], true, false, 1, 1, 0);
-
-
-
- $result['AnswerLikeNum'] = url('plugins/Ask/details', ['ask_id' => $param['ask_id']], true, false, 1, 1, 0);
-
-
- if (!empty($param['type_id'])) {
- $result['PendingAnswerUrl'] = url('plugins/Ask/index', ['type_id'=>$param['type_id'], 'is_recom'=>2]);
-
- }
-
- if (!empty($SpecifyUrl)) {
- if (!empty($result[$SpecifyUrl])) {
- return $result[$SpecifyUrl];
- }else{
- return $result['NewDateUrl'];
- }
- }else{
- return $result;
- }
- }
-
-
- public function GetRateData(){
- $rate = [];
- $data = Db::name('weapp')->where(['code'=>'Ask'])->getField('data');
- $dataArr = unserialize($data);
- !empty($dataArr['rate']) && $rate = $dataArr['rate'];
-
- return $rate;
- }
-
-
- public function ContentDealWith($param = null)
- {
- if (!empty($param['content'])) {
- $content = $param['content'];
- }else if(!empty($param['ask_content'])){
- $content = $param['ask_content'];
- }else{
- return false;
- }
-
-
- $content = addslashes($content);
-
- $content = preg_replace('/style(\s*)=(\s*)[\'|\"](.*?)[\'|\"]/i', '', $content);
-
- $content = preg_replace('/class(\s*)=(\s*)[\'|\"](.*?)[\'|\"]/i', '', $content);
-
- return $content;
- }
-
-
- public function GetSensitiveData(){
- $sensitive = [];
- $data = Db::name('weapp')->where(['code'=>'Ask'])->getField('data');
- $dataArr = unserialize($data);
- !empty($dataArr['sensitive']) && $sensitive = $dataArr['sensitive'];
- if (!empty($sensitive['sensitive_data'])){
- $sensitive['sensitive_data'] = str_replace(",",",",$sensitive['sensitive_data']);
- $sensitive['sensitive_data'] = explode(",",$sensitive['sensitive_data']);
- }
-
- return $sensitive;
- }
-
-
- public function sensitive($list, $string){
- $count = 0;
- $sensitiveWord = '';
- $stringAfter = $string;
- $pattern = "/" . implode("|", $list) . "/i";
- if (preg_match_all($pattern, $string, $matches)) {
- $patternList = $matches[0];
- $count = count($patternList);
- $sensitiveWord = implode(',', $patternList);
- $replaceArray = array_combine($patternList, array_fill(0, count($patternList), '**'));
- $stringAfter = strtr($string, $replaceArray);
- }
-
- return [$count,$sensitiveWord,$stringAfter];
-
- }
-
- }
|