123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405 |
- <?php
- namespace Home\Controller;
- use Think\Controller;
- class ComController extends Controller {
-
- public function _initialize(){
- if(!session('zt_uid')){
- //redirect(U('Public/login'));
- $this->mtReturn(300,'登录超时,请刷新页面,或重新登录!');
- }
- $name=MODULE_NAME.'/'.CONTROLLER_NAME.'/'.ACTION_NAME;
- if(!authcheck($name,session('zt_uid'))){
- $this->mtReturn(300,'很抱歉,此项操作您没有权限!请联系管理员!');
- }
- $this->dbname = $this->dbname.CONTROLLER_NAME;
- $permdata=$this->permdata();
-
- }
-
- protected function mtReturn($status,$info) {
- if($status===200){
- $dat['username'] =session('zt_username');
- $dat['content'] = $info;
- $dat['os']=$_SERVER['HTTP_USER_AGENT'];
- $dat['url'] = U();
- $dat['addtime'] = date("Y-m-d H:i:s",time());
- $dat['ip'] = get_client_ip();
- M("log")->add($dat);
- }
- exit(json_encode(array('statusCode'=>$status,'message'=>$info)));
- ;
- }
-
- public function index(){
-
- }
- public function outcsv($fname,$sql){
- $User = M();
- $query=$sql." into outfile '/var/www/html/thinkphp_crm/admin1/tilen.csv' CHARACTER SET gbk ";
- $User->execute($query);
- $filename = '/var/www/html/thinkphp_crm/admin1/tilen.csv';
- //文件的类型
- $date = date("Y_m_d",time());
- $fname .= $date;
- //header('Content-type: application/xlsx');
- header('Content-Type: application/vnd.ms-excel');
- //下载显示的名字
- header('Content-Disposition: attachment; filename="'.$fname.'.csv"');
- $tr=readfile($filename);
- if($tr!==false)
- unlink("/var/www/html/thinkphp_crm/admin1/tilen.csv");
- exit;
- }
- public function outtablexls($fname,$sql){
- $User = M();
- $query=$sql." into outfile '/var/www/html/thinkphp_crm/admin1/tilen.xls' CHARACTER SET gbk ";
- $User->execute($query);
- $filename = '/var/www/html/thinkphp_crm/admin1/tilen.xls';
- //文件的类型
- $date = date("Y_m_d",time());
- $fname .= $date;
- //header('Content-type: application/xlsx');
- header('Content-Type: application/vnd.ms-excel');
- //下载显示的名字
- header('Content-Disposition: attachment; filename="'.$fname.'.xls"');
- $tr=readfile($filename);
- if($tr!==false)
- unlink("/var/www/html/thinkphp_crm/admin1/tilen.xls");
- exit;
- }
- public function outtablexlsx($fname,$sql){
- $User = M();
- $query=$sql." into outfile '/var/www/html/thinkphp_crm/admin1/tilen.xlsx' CHARACTER SET gbk ";
- $User->execute($query);
- $filename = '/var/www/html/thinkphp_crm/admin1/tilen.xlsx';
- //文件的类型
- $date = date("Y_m_d",time());
- $fname .= $date;
- header('Content-type: application/xlsx');
- //header('Content-Type: application/vnd.ms-excel');
- //下载显示的名字
- header('Content-Disposition: attachment; filename="'.$fname.'.xlsx"');
- $tr=readfile($filename);
- if($tr!==false)
- unlink("/var/www/html/thinkphp_crm/admin1/tilen.xlsx");
- exit;
- }
-
- public function edit(){
- $data=I('post.');
- if(IS_POST){
- $Model = D($this->dbname);
- if (!$Model->create()){
- $this->mtReturn(300,$Model->getError());
- }
- else{
- if (method_exists($this, '_befor_save')) {
- $data=$this->_befor_save($data);
- }
- // $wx=M()->query("SELECT * FROM sp_user where id='".$data['id']."'");
- $wx= $Model->where(array('id'=> $data['id']))->select();
- $res = $Model->save($data);
- if($res!== false){
- //日志代码开始
- $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---修改sp_'.$this->dbname.'表---ID:'.$data['id']."数据\r\n";
- $data_log1 ='修改前数据:'.json_encode($wx)."\r\n";
- $data_log2 ='修改的数据:'.json_encode($data)."\r\n";
- $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
- file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log2, FILE_APPEND|LOCK_EX);
- //日志代码结束
- $this->mtReturn(200,'编辑成功'. $data['id']);
- } else{
- $this->mtReturn(300,'编辑失败'. $res);
- }
- }
-
- }
- if (method_exists($this, '_befor_edit')) {
- $this->_befor_edit();
- }
-
- $this->display();
- }
- public function add(){
- $Data=I('post.');
- if(IS_POST){
- $Model = D($this->dbname);
- if (!$Model->create()){
- $this->mtReturn(300,$Model->getError());
- }
- else{
- if (method_exists($this, '_befor_insert')) {
- $Data=$this->_befor_insert($Data);
- }
- $Res = $Model->add($Data);
- if (method_exists($this, '_after_add')) {
- $this->_after_add($Data);
- }
- $Id = $Model->getLastInsID();
- if($Res){
- //日志开始
- $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
- $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---新增sp_'.$this->dbname.'表\r\n';
- $data_log1 ='新增数据:'.json_encode($Data)."\r\n";
- file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
- //日志结束
- $this->mtReturn(200,'新增成功'.$Id);
- } else{
- $this->mtReturn(300,'新增失败');
- }
- }
-
- }
- if (method_exists($this, '_befor_add')) {
- $this->_befor_add();
- }
- $this->display();
- }
- public function del(){
- $Model=M($this->dbname);
- $Data=I();
- if (session('power')==2){
- $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1);
- }else {
- if (method_exists($this, '_befor_del')) {
- $this->_befor_del($Data);
- }
- $wx= $Model->where(array('id'=> $Data['id']))->select();
- $res=$Model->where('id='.$Data['id'])->delete();
- if($res){
- //日志开始
- $filename_log = "/var/www/html/jdxf/log/config_log".date("Y-m-d").".log";
- $data_log ="\r\n".'['.date("Y-m-d H:i:s").']操作人员手机号:'.session('phone_login').'---删除sp_'.$this->dbname.'表---ID:'.$Data['id']."\r\n";
- $data_log1 ='删除前数据:'.json_encode($wx)."\r\n";
- file_put_contents($filename_log, $data_log, FILE_APPEND|LOCK_EX);
- file_put_contents($filename_log, $data_log1, FILE_APPEND|LOCK_EX);
- //日志开始结束
- $this->mtReturn(200,'删除成功'.$Data['id']);
- }else{
- $this->mtReturn(300,'删除失败');
- }
- }
- }
-
- public function deldata(){
- $Model=M($this->dbname,$this->regx_db);
- $Data=I();
- if (session('power')==2){
- $this->mtReturn(300,'本账号没有该权限,如需开通请联系管理员',1);
- }else {
- $res=$Model->where('id='.$Data['id'])->delete();
- if($res)
- $this->mtReturn(200,'删除成功'.$Data['id']);
- else
- $this->mtReturn(300,'删除失败');
- }
- }
- public function exportExcel($expTitle,$expCellName,$expTableData){//表名,表头(一维数组),二维数组 数据
- import("Org.Util_it.PHPExcel");
- import("Org.Util_it.PHPExcel.Writer.Excel2007");
- import("Org.Util_it.PHPExcel.IOFactory.php");
- //对数据进行检验
- if(!is_array($expTableData)){
- $this->mtReturn(300,'数据不是数组');
- }
- //检查文件名
- if(empty($expTitle)){
- $this->mtReturn(300,'文件名未设置');
- }
- $date = date("Y_m_d",time());
- $expTitle .= $date.".xlsx";
- //创建PHPExcel对象,注意,不能少了\
- $objPHPExcel = new \PHPExcel();
- $objProps = $objPHPExcel->getProperties();
- //设置表头
- $key = ord("A");
- foreach($expCellName as $v){
- $colum = chr($key);
- $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum.'1',$v);
- $key += 1;
- }
- $column = 2;
- $objActSheet = $objPHPExcel->getActiveSheet();
- //设置为文本格式
- foreach($expTableData as $key => $rows){ //行写入
- $span = ord("A");
- foreach($rows as $keyName=> $value){// 列写入
- $j = chr($span);
- $objActSheet->setCellValueExplicit($j.$column, $value);
- $span++;
- }
- $column++;
- }
- //$fileName = iconv("utf-8", "gb2312", $fileName);
- //重命名表
- // $objPHPExcel->getActiveSheet()->setTitle('test');
- //设置活动单指数到第一个表,所以Excel打开这是第一个表
- $objPHPExcel->setActiveSheetIndex(0);
- ob_end_clean();//清除缓冲区,避免乱码
- header('Content-Type: application/vnd.ms-excel');
- header("Content-Disposition: attachment;filename=\"$expTitle\"");
- header('Cache-Control: max-age=0');
- $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
- $objWriter->save('php://output'); //文件通过浏览器下载
- exit;
- }
- public function downfile(){//下载文件 file
- $data=I();
- $path_parts = pathinfo($data['file']);
- $DirName=$path_parts['dirname'];//有路径显示路径,无路径显示.
- $file_name = $path_parts['basename'];//文件名,有后缀
- $Extension=$path_parts['extension'];//后缀名
- $file_path=explode('-',$file_name)[3];
- $Y=substr($file_path,0,4);
- $M=substr($file_path,4,2);
- $D=substr($file_path,-2);
- $filename='/var/spool/asterisk/monitor/'.$Y.'/'.$M.'/'.$D.'/'.$file_name;
- if (!file_exists($filename)) {
- $this->mtReturn(300,'无文件,下载失败');
- }
- header('Content-type: application/x-'.$Extension);
- //下载显示的名字
- header('Content-Disposition: attachment; filename='.$file_name);
- $tr=readfile($filename);
- if($tr===false)
- $this->mtReturn(300,'下载错误');
- //echo json_encode($path_parts);
- }
- public function downother(){//下载文件 fileurl 路径 name 文件名
- $data=I();
- //$data['fileurl']='/var/www/html/spcrm/admin/knowfile/201705081713331721.html';
- $path_parts = pathinfo($data['fileurl']);
- $file_name = $path_parts['basename'];
- if (!file_exists($data['fileurl'])) {
- $this->mtReturn(300,'无文件,下载失败');
- }
- header('Content-type: application/x-'.$path_parts['extension']);
- //下载显示的名字
- header('Content-Disposition: attachment; filename='.$data['name']);
- $tr=readfile($data['fileurl']);
- if($tr===false)
- $this->mtReturn(300,'下载错误');
- //echo json_encode($path_parts);
- }
- public function play(){
- header ( " Cache-Control: no-cache, must-revalidate " );
- $Data=I();
- $Path_Parts = pathinfo($Data['file']);
- $File_Name = $Path_Parts['basename'];
- if(isset($Data['action']))
- {
- $File_Path=explode('-',$File_Name)[3];
- $Y=substr($File_Path,0,4);
- $M=substr($File_Path,4,2);
- $D=substr($File_Path,-2);
- $Filename='/var/spool/asterisk/monitor/'.$Y.'/'.$M.'/'.$D.'/'.$File_Name;
- if (!file_exists($Filename))
- {
- $this->mtReturn(300,'无文件,播放失败');
- }
- $Fp = fopen($Filename, 'rb');
- if (!$Fp)
- {
- $this->mtReturn(300,'文件无法打开');
- }
- /* header("Pragma: public");
- header("Expires: 0");
- header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
- header("Cache-Control: public");
- header("Content-Description: wav file");
- header("Content-Type: audio/wav");
- header("Content-Disposition: attachment; filename= ".$File_Name);
- header("Content-Transfer-Encoding: binary");
- header("Content-length: " . filesize($Filename));
- fpassthru($Fp);
- fclose($Fp);*/
- $path=$Filename;
- $filesize=filesize($Filename);
- header("Content-type:audio/mpeg");
- header("Content-length:$filesize");
- readfile($Filename);
- }
- else{
- $this->assign('filename',$File_Name);
- $this->display('Public/play');
- }
- }
- /**
- * [permdata description] 数据权限
- * @param [type] $status [description] 数据格式类型 默认是0
- * @return [type] [description] status=0 返回thinkphp数组形式array(in,'x,cc,c') status=1 返回字符串格1,2,1
- */
- protected function permdata($status=0) {
- $ModelUser=M('v_user');
- $Uid=session('zt_uid');
- $PermData=3;
- if($Uid!=1)
- {
- $ListData=$ModelUser->where(array('id' => $Uid))->Field("dataperm,agentid,depnameid")->select();
- $PermData =$ListData[0]['dataperm'];
- }
- if($PermData==1)
- {
- $Data =$ListData[0]['agentid'];
- }
- else if($PermData==2)
- {
-
- $ListId=$this->groupdata($ListData[0]['depnameid']).$ListData[0]['depnameid'];
- $DepData=explode(',',$ListId);
- $Map['depnameid']=array('in',$DepData);
- $List = M('v_user')->where($Map)->field("agentid")->select();
- $Ids=array();
- foreach ($List as $g) {
- $Ids = array_merge($Ids, explode(',', trim($g['agentid'], ',')));
- $IDBuff.=$g['agentid'].',';
- }
- $Data =array('in',array_unique($Ids));
- if($status==1)
- {
- $IDBuff = substr($IDBuff,0,strlen($var)-1);
- $Data=$IDBuff;
- }
-
- }
- else{
- $Data='';
- }
- return $Data;
- }
- protected function groupdata($DepPid){
- $ModelGroup=M('auth_group');
- $ListPid=$ModelGroup->where(array('pid' => $DepPid,'type'=> 0))->Field('id')->select();
- if(!empty($ListPid)){//如果有子类
- $i=0;
- foreach($ListPid as $g){
- $Arrt.=$g['id'].',';
- $Arrt.=$this->groupdata($g['id']);
- }
- return $Arrt;
- }
- }
- public function logcs($msg)
- {
- $msg = $msg."\n";
- $logFile = '/var/www/html/jdxf/log/cstest.log';
- file_put_contents($logFile, "[".date('Y-m-d H:i:s') . "]---" . $msg, FILE_APPEND | LOCK_EX);
- }
-
-
- }
|