2017-08-23 19:40:27 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
class zipViewPlugin extends PluginBase{
|
|
|
|
function __construct(){
|
|
|
|
parent::__construct();
|
|
|
|
}
|
|
|
|
public function regiest(){
|
|
|
|
$this->hookRegiest(array(
|
|
|
|
'user.commonJs.insert' => 'zipViewPlugin.echoJs',
|
|
|
|
));
|
|
|
|
}
|
|
|
|
public function unzipList(){
|
2018-11-28 10:35:58 +00:00
|
|
|
$maxLength = 50000;
|
2017-08-23 19:40:27 +00:00
|
|
|
$path = $this->filePath($this->in['path']);
|
|
|
|
if(isset($this->in['index'])){
|
|
|
|
$download = isset($this->in['download'])?true:false;
|
|
|
|
KodArchive::filePreview($path,$this->in['index'],$download,$this->in['name']);
|
|
|
|
}else{
|
2017-09-11 15:46:06 +00:00
|
|
|
$cacheFile = TEMP_PATH.'zipView/'.hash_path($path).'.log';
|
2017-08-26 09:16:57 +00:00
|
|
|
if(file_exists($cacheFile)){
|
2018-11-28 10:35:58 +00:00
|
|
|
$content = file_get_contents($cacheFile);
|
|
|
|
$data = json_decode($content,true);
|
|
|
|
if( count($data) >= $maxLength ){
|
|
|
|
show_json("包含内容太多(".count($data)."项),请在本地打开查看;",false);
|
|
|
|
}
|
2017-08-26 09:16:57 +00:00
|
|
|
show_json($data);
|
|
|
|
}
|
|
|
|
mk_dir(get_path_father($cacheFile));
|
2018-11-28 10:35:58 +00:00
|
|
|
|
2017-08-23 19:40:27 +00:00
|
|
|
$result = KodArchive::listContent($path);
|
2017-09-11 15:46:06 +00:00
|
|
|
$data = json_encode($result['data']);
|
2018-11-28 10:35:58 +00:00
|
|
|
if( count($result['data']) >= $maxLength ){
|
|
|
|
show_json("包含内容太多(".count($result['data'])."项),请在本地打开查看;",false);
|
|
|
|
}
|
2017-09-11 15:46:06 +00:00
|
|
|
if($result['code'] && $data){
|
|
|
|
file_put_contents($cacheFile,$data);
|
|
|
|
show_json($result['data'],$result['code']);
|
|
|
|
}else{
|
|
|
|
show_json($result['data'],false);
|
2017-08-26 09:16:57 +00:00
|
|
|
}
|
2017-08-23 19:40:27 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
public function echoJs($st,$act){
|
|
|
|
if($this->isFileExtence($st,$act)){
|
|
|
|
$this->echoFile('static/main.js');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|