diff --git a/src/Advertise.php b/src/Advertise.php deleted file mode 100644 index 7e5a98e..0000000 --- a/src/Advertise.php +++ /dev/null @@ -1,44 +0,0 @@ - ['attr' => 'time,format', 'close' => 0], //闭合标签,默认为不闭合 - 'open' => ['attr' => 'name,type', 'close' => 1], - - ]; - - /** - * 这是一个闭合标签的简单演示 - */ - public function tagClose($tag) - { - $format = empty($tag['format']) ? 'Y-m-d H:i:s' : $tag['format']; - $time = empty($tag['time']) ? time() : $tag['time']; - $parse = ''; - return $parse; - } - - /** - * 这是一个非闭合标签的简单演示 - */ - public function tagOpen($tag, $content) - { - $type = empty($tag['type']) ? 0 : 1; // 这个type目的是为了区分类型,一般来源是数据库 - $name = $tag['name']; // name是必填项,这里不做判断了 - $parse = ''; - $parse .= '{volist name="__LIST__" id="' . $name . '"}'; - $parse .= $content; - $parse .= '{/volist}'; - return $parse; - } -} diff --git a/src/Demo.php b/src/Demo.php deleted file mode 100644 index f2869f2..0000000 --- a/src/Demo.php +++ /dev/null @@ -1,44 +0,0 @@ - ['attr' => 'time,format', 'close' => 0], //闭合标签,默认为不闭合 - 'open' => ['attr' => 'name,type', 'close' => 1], - - ]; - - /** - * 这是一个闭合标签的简单演示 - */ - public function tagClose($tag) - { - $format = empty($tag['format']) ? 'Y-m-d H:i:s' : $tag['format']; - $time = empty($tag['time']) ? time() : $tag['time']; - $parse = ''; - return $parse; - } - - /** - * 这是一个非闭合标签的简单演示 - */ - public function tagOpen($tag, $content) - { - $type = empty($tag['type']) ? 0 : 1; // 这个type目的是为了区分类型,一般来源是数据库 - $name = $tag['name']; // name是必填项,这里不做判断了 - $parse = ''; - $parse .= '{volist name="__LIST__" id="' . $name . '"}'; - $parse .= $content; - $parse .= '{/volist}'; - return $parse; - } -} diff --git a/src/Ui.php b/src/Ui.php new file mode 100644 index 0000000..2b0f759 --- /dev/null +++ b/src/Ui.php @@ -0,0 +1,88 @@ + ['attr' => 'id,div', 'close' => 0], + 'article' => ['attr' => 'category,order,limit', 'close' => 1], + ]; + public function tagAdvertise($tag){ + $result = ''; + + $ad = new \app\model\Advertise; + $id = $tag['id']; + $div = $tag['div'] ?? ''; + + $data = $ad->where('id',$id)->field('group,content,status')->find(); + + if (empty($data)) return $result; + + // 判断定时广告是否到期 + // if ($data->cycle == 2) if ($data->stime >= $data->etime) return $result; + + $status = $data->status; + $group = $data->group; + + if ($status == 1) { + switch ($group) { + case 'code': + $result = htmlspecialchars_decode($data->content); + break; + case 'text': + $arr = json_decode($data->content,true); + $result = ''.$arr['name'].''; + break; + case 'image': + $arr = json_decode($data->content,true); + $width = empty($arr['width'])?'':'width:'.$arr['width'].';'; + $height = empty($arr['height'])?'':'height:'.$arr['height'].';'; + $result = ''.$arr['alt'].''; + break; + case 'slideshow': + $arr = json_decode($data->content,true); + break; + } + } + + return $result; + } + + public function tagArticle($tag,$content){ + $category = $tag['category'] ?? ''; + $order = $tag['order'] ?? 'id desc'; + $limit = $tag['limit'] ?? 10; + + $result = 'where("category","like","%,'.$category.',%")->limit('.$limit.')->order("'.$order.'")->select();'; + }else{ + $result .= '$article = \think\facade\Db::table("tco_article")->limit('.$limit.')->order("'.$order.'")->select();'; + } + + + $result .= 'foreach ($article as $item) :'; + $result .= '$item["aid"] = $skip::en("article",$item["id"]);'; + + + $result .= '$c = $cache::store("article")->get($item["aid"].".md");'; + $result .= '$item["thumbnail"] = $c["thumbnail"];'; + $result .= '$item["category_name"] = $c["category_name"];'; + $result .= '$item["des"] = $c["des"];'; + $result .= '$item["time"] = $date::interval($item["atime"],["minutes","hours","days"]);'; + + + $result .= 'extract($item);?>'; + $result .= $content; + $result .= ''; + return $result; + } +}