<?php
// +----------------------------------------------------------------------
// | WindSNS 国内领先企业级社交开源SNS框架系统
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2020 http://windsns.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 常州微诺信息科技有限公司 http://www.weinuo.net
// +----------------------------------------------------------------------
// | E-mail: open@weinuo.net
// +----------------------------------------------------------------------
namespace app\admin\controller;
use think\Controller;
use think\Db;
use think\Request;
use app\common\controller\Backend;
use fast\Tree;

/**
 * 分类管理
 *
 * @icon fa fa-list
 * @remark 用于统一管理网站的所有分类,分类可进行无限级分类,分类类型请在常规管理->系统配置->字典配置中添加
 */
class Article extends Backend
{


  //文章添加页面
    public function article_add()
    {
    	
     $articletype = Db::name('article_type')->order('article_typeid', 'desc')->select(); //栏目分类打印
     $this->assign('articletype', $articletype);	
     return $this->view->fetch('article_add');
      
    }


  //资讯添加
    public function addacticedo()
    {
        $time = time();
		$paytimess = date('Y-m-d H:i:s',$time);
	    $thistimes = strtotime($paytimess);//获取当前时间
	    $articleadd['article_little'] =  input('post.article_little'); // 获取资讯标题
	    $thisarticlelittle = input('post.article_little'); // 获取应用标题
	    $articleadd['article_admin'] =  input('post.article_admin'); // 获取资讯作者
	    $articleadd['article_times'] =  $thistimes;  // 获取发布时间	     
	    $articleadd['article_type'] =  input('post.article_type'); // 获取资讯分类
	    $articleadd['article_keyworld'] =  input('post.article_keyworld'); // 获取资讯关键字
	    $articleadd['article_zaiyao'] =  input('post.article_zaiyao'); // 获取资讯摘要
	    $articleadd['article_source'] =  input('post.article_source'); // 获取资讯来源
	    $articleadd['article_hot'] =  input('post.article_hot'); // 获取资讯推荐状态
	    $articleadd['article_state'] =  input('post.article_state'); // 获取资讯发布状态
	    $articleadd['article_infos'] =  input('post.article_infos'); // 获取资讯发布内容

        $sqllittle  = Db::name('article')->where(['article_little'=>$thisarticlelittle])->find();//重复判断！
		if($sqllittle){
			return $this->view->fetch('article_addno');//标题存在重复，保存失败！
			exit;
		}else{

		 $wedid = Db::name('article')->insert($articleadd);//   保存SQL
		 return $this->view->fetch('article_addok');//保存成功！
		}

    }


  //资讯列表页面
    public function article_list()
    {
        $articlelist = Db::name('article')->alias('a')->join('ws_article_type w','a.article_type = w.article_typeid')->order('articleid', 'desc')->paginate(30); //资讯列表
        $page = $articlelist->render();
    	$this->assign('articlelist', $articlelist);
        $this->assign('page', $page);
        return $this->view->fetch('article_list');
    }


  //资讯--栏目所对应的内容列表页面
    public function article_typelist($articletypesid)
    {
    	
    	$urlarticletypesid  =  input('get.articletypesid'); // 获取该栏目的栏目ID
        $articlelist = Db::name('article') -> alias('a') -> join('ws_article_type w','a.article_type = w.article_typeid') -> where(['article_type'=>$urlarticletypesid]) -> order('articleid', 'desc')->paginate(30); //资讯列表
        $page = $articlelist->render();
    	$this->assign('articlelist', $articlelist);
        $this->assign('page', $page);
        return $this->view->fetch('article_typelist');

    }






     //资讯状态切换 ----隐藏
    public function article_worldnulldo()
    {
    	
    $urlarticletypeid  =  input('get.articleworldid'); //  获取地址栏栏目ID
    $data['article_state'] =  2; // 获取资讯栏目状态: 1、开启 2、隐藏
    $xiugaizhuangtai = Db::name('article')->where('articleid', $urlarticletypeid)->update($data);// 
    return  $this->fetch('article_wolddook');//操作OK！，更新隐藏状态2

    }

   
      //资讯状态切换 ----开启
    public function article_worldokdo()
    {
    	
    $urlarticletypeid  =  input('get.articleworldid'); //  获取地址栏栏目ID
    $data['article_state'] =  1; // 获取资讯栏目状态: 1、开启 2、隐藏
    $xiugaizhuangtai = Db::name('article')->where('articleid', $urlarticletypeid)->update($data);// 
    return  $this->fetch('article_wolddook');//操作OK！，更新隐藏状态2

    }  



     //资讯---推荐状态切换 ----不推荐
    public function article_worldnulltuido()
    {
    	
    $urlarticletypeid  =  input('get.articlehotid'); //  获取地址栏栏目ID
    $data['article_hot'] =  1; // 获取资讯栏目状态: 1不推荐2推荐',
    $xiugaizhuangtai = Db::name('article')->where('articleid', $urlarticletypeid)->update($data);// 
    return  $this->fetch('article_wolddook');//操作OK！，更新隐藏状态2

    }

   
      //资讯---推荐状态切换 ----推荐
    public function article_worldoktuido()
    {
    	
    $urlarticletypeid  =  input('get.articlehotid'); //  获取地址栏栏目ID
    $data['article_hot'] =  2; // 获取资讯栏目状态: 1不推荐2推荐',
    $xiugaizhuangtai = Db::name('article')->where('articleid', $urlarticletypeid)->update($data);// 
    return  $this->fetch('article_wolddook');//操作OK！，更新隐藏状态2

    }  












    //资讯编辑页面
   
    public function article_edit($articleid)
    {
		$urlarticleid  =  input('get.articleid'); // 获取地址栏资讯ID
		$articleinfos = Db::name('article') -> where('articleid',$urlarticleid)->alias('a') -> join('ws_article_type w','a.article_type = w.article_typeid') -> select();//查询这个资讯所有信息
	    $this->assign('articleinfos', $articleinfos);//资讯信息赋值到页面
	    
	    $articletype = Db::name('article_type')->order('article_typeid', 'desc')->select(); //栏目分类打印
        $this->assign('articletype', $articletype);
	    
	    
	    
	    return $this->view->fetch('article_edit');
    }
   
   
   
   //资讯编辑执行
    public function editacticedo($articleid)
    {
    	$urlarticletypeid  =  input('get.articleid'); //  获取地址栏栏目ID

        $articleadd['article_little'] =  input('post.article_little'); // 获取资讯标题
	    $articleadd['article_admin'] =  input('post.article_admin'); // 获取资讯作者     
	    $articleadd['article_type'] =  input('post.article_type'); // 获取资讯分类
	    $articleadd['article_keyworld'] =  input('post.article_keyworld'); // 获取资讯关键字
	     $articleadd['article_zaiyao'] =  input('post.article_zaiyao'); // 获取资讯摘要
	    $articleadd['article_source'] =  input('post.article_source'); // 获取资讯来源
	    $articleadd['article_hot'] =  input('post.article_hot'); // 获取资讯推荐状态
	    $articleadd['article_state'] =  input('post.article_state'); // 获取资讯发布状态
	    $articleadd['article_infos'] =  input('post.article_infos'); // 获取资讯发布内容
        $xiugaizhuangtai = Db::name('article')->where('articleid', $urlarticletypeid)->update($articleadd);// 
        return  $this->fetch('article_wolddook');//操作OK！，更新隐藏状态2

    }  

   
   
    public function article_del($articleid) //删除资讯
    {
         $urlarticleid  =  input('get.articleid'); //  获取地址栏资讯ID
         $shanchu = Db::name('article')->where('articleid',$urlarticleid)->delete();
         if($shanchu){
            return $this->view->fetch('article_delok');//删除成功！
         }else{
          	return $this->view->fetch('article_delno');//删除失败！
			exit;
         }
   }
   

   
     //资讯栏目页面
    public function article_type()
    {

		$articletypeinfos = Db::name('article_type')->order('article_typeid', 'desc')->paginate(20); //资讯栏目列表
		$page = $articletypeinfos->render();
		$this->assign('articletypeinfos', $articletypeinfos);
		$this->assign('page', $page);
		return $this->view->fetch('article_type');
      
    }
   
   //资讯栏目添加
     public function addacticetype()
    {
      $time = time();
	  $paytimess = date('Y-m-d H:i:s',$time);
	  $thistimes = strtotime($paytimess);//获取当前时间
	  
	  $article_typenames = $this->request->request('article_typenames');
      $articleadtypeadd['article_typenames'] =  input('post.article_typenames'); // 获取资讯栏目名称
      $thisarticlenames = input('post.article_typenames'); // 获取资讯栏目名称
      $articleadtypeadd['article_typestate'] =  input('post.article_typestate'); // 获取资讯栏目状态
      $articleadtypeadd['article_typetimes'] =  $thistimes; // 获取资讯栏目添加的时间

      $sqlnames  = Db::name('article_type')->where(['article_typenames'=>$thisarticlenames])->find();//重复判断！

		if(!$article_typenames){
         	return $this->view->fetch('article_addtypenoa');//标题为空判断，保存失败！
         	exit;
        }elseif($sqlnames){
			return $this->view->fetch('article_addtypeno');//标题存在重复，保存失败！
			exit;
		}else{

		 $wedid = Db::name('article_type')->insert($articleadtypeadd);//   保存SQL
		 return $this->view->fetch('article_addtypeok');//保存成功！
		}  
      

    }  
   
   
    public function article_typedel($articletypeid) //删除资讯栏目
    {
        $urlarticletypeid  =  input('get.articletypeid'); //  获取地址栏栏目ID
        $typewoldsum = Db::name('article')->where(['article_type' => $urlarticletypeid])->count();//查询该栏目下存在的资讯数量
         
        if($typewoldsum > 1 or $typewoldsum == 1){
            return $this->view->fetch('article_deltypenoa');//如果该栏目ID下存在文章数，删除失败！
			exit;
        }else{
         	
         	$shanchu = Db::name('article_type')->where('article_typeid',$urlarticletypeid)->delete();
 	        if($shanchu){
	            return $this->view->fetch('article_deltypeok');//删除成功！
	        }else{
	          	return $this->view->fetch('article_delno');//删除失败！
				exit;
	        }

        }


   }
    
  
    
   //栏目更新执行
    public function article_typeup($articletypeid)
    {
      $appstid =   Request::instance()->request('articletypeid');//获取当前栏目的ID 
      $articleadtypenames['article_typenames'] =  input('post.article_typenames'); // 获取资讯栏目名称
      $thisarticlenames = input('post.article_typenames'); // 获取资讯栏目名称
      $sqlnames  = Db::name('article_type')->where(['article_typenames'=>$thisarticlenames])->find();//重复判断！
      
      if(!$articleadtypenames['article_typenames']){
         	return $this->view->fetch('article_addtypenoa');//标题为空判断，保存失败！
         	exit;
      }elseif($sqlnames){
			return $this->view->fetch('article_addtypeno');//标题存在重复，保存失败！
			exit;
		}else{
      	    $xiugaizhuangtai = Db::name('article_type')->where('article_typeid', $appstid)->update($articleadtypenames);// 
            return  $this->fetch('article_typedook');//操作OK！，更新隐藏状态2
      }

    }
   


     //资讯栏目状态切换 ----隐藏
    public function article_typenulldo()
    {
    	
    $urlarticletypeid  =  input('get.articletypeid'); //  获取地址栏栏目ID
    $data['article_typestate'] =  2; // 获取资讯栏目状态: 1、开启 2、隐藏
    $xiugaizhuangtai = Db::name('article_type')->where('article_typeid', $urlarticletypeid)->update($data);// 
    return  $this->fetch('article_typedook');//操作OK！，更新隐藏状态2

    }

   
      //资讯栏目状态切换 ----开启
    public function article_typeokdo()
    {
    	
    $urlarticletypeid  =  input('get.articletypeid'); //  获取地址栏栏目ID
    $data['article_typestate'] =  1; // 获取资讯栏目状态: 1、开启 2、隐藏
    $xiugaizhuangtai = Db::name('article_type')->where('article_typeid', $urlarticletypeid)->update($data);// 
    return  $this->fetch('article_typedook');//操作OK！，更新隐藏状态2

    }  
   
   
   
   
   
   
   
   
   
   
   
   
   
}
