| | |
| | | */ |
| | | public function getActivityContentAttr($value) |
| | | { |
| | | return htmlspecialchars_decode($value); |
| | | $value = htmlspecialchars_decode($value); |
| | | return html_entity_decode($value, ENT_QUOTES, 'UTF-8'); |
| | | } |
| | | |
| | | /** |
| | |
| | | $data['app_id'] = self::$app_id; |
| | | $data['branch_id'] = $branch_id; |
| | | //活动时间 |
| | | $data['activity_start_time'] = strtotime($data['start_time']); |
| | | $data['activity_end_time'] = strtotime($data['end_time']); |
| | | $data['activity_start_time'] = strtotime($data['activity_start_time']); |
| | | $data['activity_end_time'] = strtotime($data['activity_end_time']); |
| | | //报名时间 |
| | | $data['register_start_time'] = time(); // 发布的时间即为报名开始时间(小程序端逻辑) |
| | | $data['register_end_time'] = $data['activity_end_time']; // 活动结束时间即为报名结束时间(小程序端逻辑) |
| | | $data['register_start_time'] = strtotime($data['register_start_time']); |
| | | $data['register_end_time'] = strtotime($data['register_end_time']); |
| | | // 处理emoji表情符号 |
| | | $data = $this->filterEmoji($data); |
| | | return $this->save($data); |
| | | } |
| | | |
| | |
| | | public function edit($data) |
| | | { |
| | | //活动时间 |
| | | $data['activity_start_time'] = strtotime($data['start_time']); |
| | | $data['activity_end_time'] = strtotime($data['end_time']); |
| | | $data['activity_start_time'] = strtotime($data['activity_start_time']); |
| | | $data['activity_end_time'] = strtotime($data['activity_end_time']); |
| | | //报名时间 |
| | | $data['register_start_time'] = time(); // 发布的时间即为报名开始时间(小程序端逻辑) |
| | | $data['register_end_time'] = $data['activity_end_time']; // 活动结束时间即为报名结束时间(小程序端逻辑) |
| | | $data['register_start_time'] = strtotime($data['register_start_time']); |
| | | $data['register_end_time'] = strtotime($data['register_end_time']); |
| | | // 处理emoji表情符号 |
| | | $data = $this->filterEmoji($data); |
| | | return $this->save($data); |
| | | } |
| | | |
| | |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 过滤emoji表情符号,转换为HTML实体 |
| | | * @param array $data |
| | | * @return array |
| | | */ |
| | | private function filterEmoji($data) |
| | | { |
| | | if (isset($data['content'])) { |
| | | $data['content'] = $this->emojiToHtml($data['content']); |
| | | } |
| | | if (isset($data['name'])) { |
| | | $data['name'] = $this->emojiToHtml($data['name']); |
| | | } |
| | | if (isset($data['describe'])) { |
| | | $data['describe'] = $this->emojiToHtml($data['describe']); |
| | | } |
| | | return $data; |
| | | } |
| | | |
| | | /** |
| | | * 将emoji表情符号转换为HTML实体 |
| | | * @param string $str |
| | | * @return string |
| | | */ |
| | | private function emojiToHtml($str) |
| | | { |
| | | if (empty($str)) { |
| | | return $str; |
| | | } |
| | | $str = preg_replace_callback( |
| | | '/[\x{1F600}-\x{1F64F}]|[\x{1F300}-\x{1F5FF}]|[\x{1F680}-\x{1F6FF}]|[\x{2600}-\x{26FF}]|[\x{2700}-\x{27BF}]/u', |
| | | function ($matches) { |
| | | return mb_convert_encoding($matches[0], 'HTML-ENTITIES', 'UTF-8'); |
| | | }, |
| | | $str |
| | | ); |
| | | return $str; |
| | | } |
| | | |
| | | } |