KodExplorer/plugins/zipView/app.php

48 lines
1.5 KiB
PHP
Raw Normal View History

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');
}
}
}