133 lines
6.0 KiB
PHP
133 lines
6.0 KiB
PHP
<?php
|
|
/*
|
|
* @copyright QiaoQiaoShiDai Internet Technology(Shanghai)Co.,Ltd
|
|
* @license https://www.oaooa.com/licenses/
|
|
*
|
|
* @link https://www.oaooa.com
|
|
*/
|
|
if(!defined('IN_OAOOA') ) {
|
|
exit('Access Denied');
|
|
}
|
|
if(!$rid = dzzdecode($_GET['path'],'',0)){
|
|
exit('Access Denied');
|
|
}
|
|
//require_once(MOD_PATH . './jwt/jwtmanager.php' );
|
|
require_once(DZZ_ROOT.MOD_PATH . '/jwt/jwtmanager.php' );
|
|
$app=C::t('app_market')->fetch_by_identifier('onlyoffice_view','dzz');
|
|
|
|
$onlyofficesetting =unserialize($app['extra']);
|
|
$onlyDocumentUrl=$onlyofficesetting['DocumentUrl'];
|
|
//$onlyDocumentUrl='http://192.168.124.11:90/';
|
|
$onlyofficesetting['secret']=$onlyofficesetting['secret'];
|
|
$onlyofficedocurl = $onlyofficesetting['FileUrl'] ? $onlyofficesetting['FileUrl']:getglobal('siteurl');
|
|
$onlyDocumentUrl=rtrim(str_replace('web-apps/apps/api/documents/api.js','',$onlyDocumentUrl),'/').'/web-apps/apps/api/documents/api.js';
|
|
$host=explode(':',$_SERVER['HTTP_HOST']);
|
|
$onlyDocumentUrl=str_replace(array('localhost','127.0.0.1'),$host[0],$onlyDocumentUrl);
|
|
|
|
if(empty($onlyDocumentUrl)) showmessage('应用服务器为空,不能调用,请联系系统管理员');
|
|
/*$pathdata = DB::fetch_first("select v.path,ra.path as fpath from %t r left join %t ra on ra.rid = r.rid left join %t v on r.appid=v.appid where r.rid = %s", array('pichome_resources','pichome_resources_attr', 'pichome_vapp', $rid));
|
|
$patharr = explode(':',$pathdata['path']);
|
|
$did = is_numeric($patharr[1]) ? $patharr[1]:1;
|
|
$connectdata = C::t('connect_storage')->fetch($did);*/
|
|
//if(!$connectdata['docstatus']){
|
|
// showmessage('该文件预览需文档处理支持,当前存储位置未开启文档处理,如需预览请联系管理员开启文档处理');
|
|
// exit();
|
|
//}
|
|
|
|
$docexts=array('doc', 'docm', 'docx', 'docxf', 'dot', 'dotm', 'dotx', 'epub', 'fodt', 'fb2', 'htm', 'html','mht', 'odt', 'oform', 'ott', 'oxps', 'pdf', 'rtf', 'txt', 'djvu', 'xml', 'xps','wps');
|
|
$sheetexts=array('xls', 'xlsx', 'ods', 'csv','fods','ots','xlsm','xlt','xltm','xltx');
|
|
$showexts=array('ppt', 'pptx', 'pps', 'ppsx', 'odp','fodp','otp','pot','potm','potx','ppsm','pptm');
|
|
$_G['DOC_SERV_FILLFORMS'] = array(".oform", ".docx");
|
|
$_G['DOC_SERV_VIEWD'] = array(".pdf", ".djvu", ".xps", ".oxps");
|
|
$_G['DOC_SERV_EDITED'] = array(".docx", ".xlsx", ".csv", ".pptx", ".txt", ".docxf");
|
|
$_G['DOC_SERV_CONVERT'] = array(".docm", ".doc", ".dotx", ".dotm", ".dot", ".odt", ".fodt", ".ott", ".xlsm", ".xlsb", ".xls", ".xltx", ".xltm", ".xlt", ".ods", ".fods", ".ots", ".pptm", ".ppt", ".ppsx", ".ppsm", ".pps", ".potx", ".potm", ".pot", ".odp", ".fodp", ".otp", ".rtf", ".mht", ".html", ".htm", ".xml", ".epub", ".fb2");
|
|
|
|
$meta=IO::getMeta($rid);
|
|
$meta['title'] = $meta['name'];
|
|
if($meta['ext']=='wps'){
|
|
$meta['ext']='doc';
|
|
}
|
|
if(in_array($meta['ext'],$docexts)){
|
|
$documentType='word';
|
|
}elseif(in_array($meta['ext'],$sheetexts)){
|
|
$documentType='cell';
|
|
}elseif(in_array($meta['ext'],$showexts)){
|
|
$documentType='slide';
|
|
}
|
|
$mode='view';
|
|
$perm_edit=false;
|
|
$perm_download=false;
|
|
$perm_print=false;
|
|
$fullscreenstream = getglobal('siteurl').'index.php?mod=onlyoffice_view&path='.$_GET['path'];
|
|
|
|
$key=$rid;
|
|
$stream= $onlyofficedocurl . 'index.php?mod=io&op=getStream&hash='.VERHASH.'&path=' . dzzencode($rid.'_3', '', 0, 0);
|
|
|
|
$saveurl='';
|
|
$config = [
|
|
"type" => helper_browser::ismobile()?"mobile":"desktop",
|
|
"documentType" => $documentType,
|
|
"document" => [
|
|
"title" => $meta['title'],
|
|
"url" => $stream,
|
|
"fileType" => $meta['ext'],
|
|
"key" => $key,
|
|
"info" => [
|
|
"owner" => $meta['username'],
|
|
"uploaded" => dgmdate($meta['dateline'],'Y-m-d'),
|
|
// "folder"=>$meta['relpath'],
|
|
],
|
|
"permissions" => [ // the permission for the document to be edited and downloaded or not
|
|
"comment" => true,
|
|
"copy" => $perm_download,
|
|
"download" => $perm_download,
|
|
"edit" => $perm_edit,
|
|
"print" => $perm_print,
|
|
"fillForms" => false,//$editorsMode != "view" && $editorsMode != "comment" && $editorsMode != "embedded" && $editorsMode != "blockcontent",
|
|
"modifyFilter" =>false, //$editorsMode != "filter",
|
|
"modifyContentControl" =>false, //$editorsMode != "blockcontent",
|
|
"review" =>false, //$canEdit && ($editorsMode == "edit" || $editorsMode == "review"),
|
|
"rename"=>false,
|
|
"changeHistory"=>false
|
|
]
|
|
],
|
|
"editorConfig" => [
|
|
"actionLink" =>null, //empty($_GET["actionLink"]) ? null : json_decode($_GET["actionLink"]),
|
|
"mode" => $mode,
|
|
"lang" => "zh",
|
|
"location" => "cn",
|
|
"callbackUrl" => $saveurl, // absolute URL to the document storage service
|
|
"createUrl" => null,
|
|
"user" => [ // the user currently viewing or editing the document
|
|
"id" => $_G['uid'],
|
|
"name" => $_G['username'],
|
|
"group" => $_G['group']['grouptitle']
|
|
],
|
|
|
|
"customization" => [ // the parameters for the editor interface
|
|
"about" => false, // the About section display
|
|
"comments" => true,
|
|
"feedback" => false, // the Feedback & Support menu button display
|
|
"forcesave" => false, // adds the request for the forced file saving to the callback handler when saving the document
|
|
"goback" => false,
|
|
"plugins" => false,
|
|
"autosave" => false,
|
|
"compactToolbar" => true,
|
|
"leftMenu" => false,
|
|
"rightMenu" => false,
|
|
"toolbar" => false,
|
|
"header" => false,
|
|
"uiTheme"=> empty($_GET['theme'])?"theme-light":'theme-'.$_GET['theme'],
|
|
"features"=> [
|
|
"spellcheck"=>[
|
|
"mode" => false,
|
|
]
|
|
]
|
|
|
|
]
|
|
]
|
|
];
|
|
if($onlyofficesetting['secret']){
|
|
$config["token"] = jwtEncode($config,$onlyofficesetting['secret']);
|
|
}
|
|
include template('main'); |