代码拉取完成,页面将自动刷新
同步操作将从 DzzOffice 小胡团队/DzzOffice 点聚weboffice插件 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?php
/*
* @copyright
* @license
* @package DzzOffice
* @version DzzOffice 1.1.3
* @link
* @author 长弓(58170488@qq.com)
*/
if(!defined('IN_DZZ')) {
exit('Access Denied');
}
if($_GET['do']=='save'){
if(!$path=dzzdecode($_GET['path'])){
showmessage('此应用不支持直接打开,请在office文档右击选择打开');
}
$member=getuserbyuid($_G['uid']);
setglobal('uid',$member['uid']);
setglobal('username', $member['username']);
setglobal('adminid', $member['adminid']);
setglobal('groupid',$member['groupid']);
loadcache('usergroup_'.$member['groupid']);
$fn=$_G['setting']['attachdir'].'./cache/'.md5($path).".lock";
$uname=(file_get_contents($fn));
$s=$_GET['uname'];
if($uname==$s){
if ($_FILES["file"]["error"] > 0)
{
exit("Return Code: " . $_FILES["file"]["error"]);
}
else
{
$str=file_get_contents($_FILES["file"]["tmp_name"]);
if($icoarr=IO::setFileContent($path,$str)){
if($icoarr['error']){
exit(diconv($icoarr['error'],CHARSET,'GBK'));
}else{
if( @touch($fn)){exit(' succeed ');}
}
}
}
}else{
$user=getuserbyuid($uname);
exit(diconv('文件超过30分未保存,已经由 '.$user['username'].' 打开编辑,失去保存权限。',CHARSET,'GBK'));
}
}elseif(isset($_GET['do']) && $_GET['do']=='unlock'){
if(!$path=dzzdecode($_GET['path'])){
exit(json_encode(array('error'=>'参数错误!')));
}
$icoarr=IO::getMeta($path);
$isadmin=0;
if(perm_check::checkperm('edit',$icoarr)){
$isadmin=1;
}
$fn=$_G['setting']['attachdir'].'./cache/'.md5($path).".lock";
$uname=(file_get_contents($fn));
$s=$_GET['uname'];
if (file_exists($fn) && $isadmin==1 && $uname==$_G['uid']) { //判断文件是否锁定
unlink($fn);
}
exit(json_encode(array('msg'=>'success')));
}else{
if(!$path=dzzdecode($_GET['path'])){
showmessage('参数错误!');
}
$fn=$_G['setting']['attachdir'].'./cache/'.md5($path).".lock";
$error='';
$table='';
//清除过期的文件锁定,过期时间为30分
if ((time()-filemtime($fn)) > 1800){unlink($fn);}
$dpath=dzzencode($path);
$icoarr=IO::getMeta($path);
$patharr=explode(':',$path);
$navtitle=$icoarr['name'];
if($patharr[0]=='ftp'){
$fileurl=$_G['siteurl'].DZZSCRIPT.'?mod=io&op=getStream&path='.rawurldecode($_GET['path']);
}else{
$fileurl=IO::getFileUri($path);
$fileurl=str_replace('-internal.aliyuncs.com','.aliyuncs.com',$fileurl);
}
//判断有无编辑权限
$isadmin=0;
if($icoarr['ext']!='pdf' && perm_check::checkperm('edit',$icoarr)){
$isadmin=1;
}
//判断文件是否锁定
$uname=file_get_contents($fn);
$s=$_G['uid'];
if( $uname==$s || ! file_exists($fn)){$filelocked=0;}else{$filelocked=1;$lockuser=getuserbyuid($uname);}
$editable=(!$filelocked && $isadmin)?1:0;
include template('weboffice');
lockFile($fn,$s); //锁定文件,其它人只能只读
}
/**
* 锁定文件
*/
function lockFile($aimUrl,$uname) {
if (file_exists($aimUrl)) {
return true;
}
if( touch($aimUrl)){
file_put_contents($aimUrl,($uname));
return true;
}else{
return false;
}
}
?>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。