<?php
/**
 * @Statement: [ An Ordinary Person ]
 * @Author: 闻子 < QQ：270988107 >
 * @Copyright: 闻子 2016-2019 All rights reserved.
 *
 *    .--,       .--,
 *   ( (  \.---./  ) )
 *    '.__/o   o\__.'
 *       {=  ^  =}
 *        >  -  <
 *       /       \
 *      //       \\
 *     //|   .   |\\
 *     "'\       /'"_.-~^`'-.
 *        \  _  /--'         `
 *      ___)( )(___
 *     (((__) (__)))    高山仰止,景行行止.虽不能至,心向往之.
 *
 */

namespace app\index\controller;

use Db;

use app\common\logic\Menu as LogicMenu;

Trait Basedata
{
	/**
	 * 定义逻辑
	 * @Author: 闻子 < QQ：270988107 >
	 */
	private static $MenuLogic = null;

	/**
	 * 初始化
	 * @Author: 闻子 < QQ：270988107 >
	 */
    function initialize()
    {
    	self::$MenuLogic = get_sington_object('LogicMenu', LogicMenu::class);
    	$this->assign(array('MenuData'=>$this->MenuList(),'UserInfo'=>$this->UserInfo(),'MenuOneInfo'=>$this->MenuOneInfo(),'Scodeupload' => $this->Scodeupload(),'Scodedown' => $this->Scodedown(),'RecommendCode' => $this->RecommendCode(),'ArticleInfo' => $this->ArticleInfo(),'ConfigInfo' => $this->ConfigInfo(), 'PageInfo' => $this->PageInfo(), 'LinkInfo' => $this->LinkInfo()));
    }

	/**
	 * 菜单遍历
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function UserInfo()
    {
    	return Db::name('user')->where('id',session('admin.id'))->find();
    }

	/**
	 * 菜单遍历
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function MenuList()
    {
    	return self::$MenuLogic->getMenuList([],'sort asc');
    }

	/**
	 * 取菜单第一个ID
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function MenuOneInfo()
    {
    	return self::$MenuLogic->getMenuOrderInfo([],true,'sort asc');
    }

	/**
	 * 最新上传
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function Scodeupload()
    {
    	return Db::name('scode')->alias('a')->join('user w','a.uid = w.id')->field('a.id,a.title,a.user,w.avatar')->where('examine',1)->select();
    }

	/**
	 * 最新下载
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function Scodedown()
    {
    	return Db::name('down')->alias('a')->join('user b','a.uid = b.id')->join('scode c','a.codeid = c.id')->field('a.id,a.codeid,a.user,a.time,b.avatar,c.title')->where('examine',1)->select();
    }

	/**
	 * 推荐源码
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function RecommendCode()
    {
 		return Db::name('scode')->where('examine',1)->limit(12)->order('id desc')->select();
    }

   	/**
	 * 推荐文章
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function ArticleInfo()
    {
 		return Db::name('article')->limit(12)->order('id desc')->select();
    }

   	/**
	 * 单页获取
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function PageInfo()
    {
 		return Db::name('page')->order('id asc')->select();
    }

   	/**
	 * 友情链接获取
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function LinkInfo()
    {
 		return Db::name('link')->order('id asc')->select();
    }

   	/**
	 * 网站信息
	 * @Author: 闻子 < QQ：270988107 >
	 */
    private function ConfigInfo()
    {
 		return Db::name('config')->where('id',1)->find();
    }
}