add missing changes which got lost during last rebase

This commit is contained in:
Uwe Steinmann 2016-12-08 16:15:05 +01:00
parent 606effb759
commit 19f77a37c8
4 changed files with 59 additions and 22 deletions

View File

@ -1762,10 +1762,10 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
if ((is_bool($resArr) && !$resArr) || count($resArr)==0) return false; if ((is_bool($resArr) && !$resArr) || count($resArr)==0) return false;
$resArr = $resArr[0]; $resArr = $resArr[0];
return new SeedDMS_Core_DocumentFile($resArr["id"], $this, $resArr["userID"], $resArr["comment"], $resArr["date"], $resArr["dir"], $resArr["fileType"], $resArr["mimeType"], $resArr["orgFileName"], $resArr["name"]); return new SeedDMS_Core_DocumentFile($resArr["id"], $this, $resArr["userID"], $resArr["comment"], $resArr["date"], $resArr["dir"], $resArr["fileType"], $resArr["mimeType"], $resArr["orgFileName"], $resArr["name"],$resArr["version"],$resArr["public"]);
} /* }}} */ } /* }}} */
function getDocumentFiles() { /* {{{ */ function getDocumentFiles($version=0) { /* {{{ */
if (!isset($this->_documentFiles)) { if (!isset($this->_documentFiles)) {
$db = $this->_dms->getDB(); $db = $this->_dms->getDB();
@ -1784,19 +1784,19 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$this->_documentFiles = array(); $this->_documentFiles = array();
foreach ($resArr as $row) { foreach ($resArr as $row) {
array_push($this->_documentFiles, new SeedDMS_Core_DocumentFile($row["id"], $this, $row["userID"], $row["comment"], $row["date"], $row["dir"], $row["fileType"], $row["mimeType"], $row["orgFileName"], $row["name"])); array_push($this->_documentFiles, new SeedDMS_Core_DocumentFile($row["id"], $this, $row["userID"], $row["comment"], $row["date"], $row["dir"], $row["fileType"], $row["mimeType"], $row["orgFileName"], $row["name"], $row["version"], $row["public"]));
} }
} }
return $this->_documentFiles; return $this->_documentFiles;
} /* }}} */ } /* }}} */
function addDocumentFile($name, $comment, $user, $tmpFile, $orgFileName,$fileType, $mimeType ) { /* {{{ */ function addDocumentFile($name, $comment, $user, $tmpFile, $orgFileName,$fileType, $mimeType,$version=0,$public=1) { /* {{{ */
$db = $this->_dms->getDB(); $db = $this->_dms->getDB();
$dir = $this->getDir(); $dir = $this->getDir();
$queryStr = "INSERT INTO `tblDocumentFiles` (`comment`, `date`, `dir`, `document`, `fileType`, `mimeType`, `orgFileName`, `userID`, `name`) VALUES ". $queryStr = "INSERT INTO `tblDocumentFiles` (`comment`, `date`, `dir`, `document`, `fileType`, `mimeType`, `orgFileName`, `userID`, `name`, `version`, `public`) VALUES ".
"(".$db->qstr($comment).", ".$db->getCurrentTimestamp().", ".$db->qstr($dir).", ".$this->_id.", ".$db->qstr($fileType).", ".$db->qstr($mimeType).", ".$db->qstr($orgFileName).",".$user->getID().",".$db->qstr($name).")"; "(".$db->qstr($comment).", ".$db->getCurrentTimestamp().", ".$db->qstr($dir).", ".$this->_id.", ".$db->qstr($fileType).", ".$db->qstr($mimeType).", ".$db->qstr($orgFileName).",".$user->getID().",".$db->qstr($name).", ".((int) $version).", ".($public ? 1 : 0).")";
if (!$db->getResult($queryStr)) return false; if (!$db->getResult($queryStr)) return false;
$id = $db->getInsertID(); $id = $db->getInsertID();
@ -4378,6 +4378,16 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
*/ */
protected $_date; protected $_date;
/**
* @var integer version of document this file is attached to
*/
protected $_version;
/**
* @var integer 1 if this link is public, or 0 if is only visible to the owner
*/
protected $_public;
/** /**
* @var string directory where the file is stored. This is the * @var string directory where the file is stored. This is the
* document id with a proceding '/'. * document id with a proceding '/'.
@ -4406,7 +4416,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
*/ */
protected $_name; protected $_name;
function __construct($id, $document, $userID, $comment, $date, $dir, $fileType, $mimeType, $orgFileName,$name) { function __construct($id, $document, $userID, $comment, $date, $dir, $fileType, $mimeType, $orgFileName,$name,$version,$public) {
$this->_id = $id; $this->_id = $id;
$this->_document = $document; $this->_document = $document;
$this->_userID = $userID; $this->_userID = $userID;
@ -4417,6 +4427,8 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
$this->_mimeType = $mimeType; $this->_mimeType = $mimeType;
$this->_orgFileName = $orgFileName; $this->_orgFileName = $orgFileName;
$this->_name = $name; $this->_name = $name;
$this->_version = $version;
$this->_public = $public;
} }
function getID() { return $this->_id; } function getID() { return $this->_id; }
@ -4440,6 +4452,10 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
return $this->_document->getDir() . "f" .$this->_id . $this->_fileType; return $this->_document->getDir() . "f" .$this->_id . $this->_fileType;
} }
function getVersion() { return $this->_version; }
function isPublic() { return $this->_public; }
} /* }}} */ } /* }}} */
// //

View File

@ -77,6 +77,13 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
else else
$name = $_FILES["userfile"]['name'][$file_num]; $name = $_FILES["userfile"]['name'][$file_num];
$comment = $_POST["comment"]; $comment = $_POST["comment"];
$version = (int) $_POST["version"];
$public = (isset($_POST["public"]) && $_POST["public"] == 'true') ? 1 : 0;
$v = $document->getContentByVersion($version);
if(!$v) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
}
$userfiletmp = $_FILES["userfile"]["tmp_name"][$file_num]; $userfiletmp = $_FILES["userfile"]["tmp_name"][$file_num];
$userfiletype = $_FILES["userfile"]["type"][$file_num]; $userfiletype = $_FILES["userfile"]["type"][$file_num];
@ -90,8 +97,8 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
} }
$res = $document->addDocumentFile($name, $comment, $user, $userfiletmp, $res = $document->addDocumentFile($name, $comment, $user, $userfiletmp,
basename($userfilename),$fileType, $userfiletype ); basename($userfilename),$fileType, $userfiletype, $version, $public);
if (is_bool($res) && !$res) { if (is_bool($res) && !$res) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured")); UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));
} else { } else {

View File

@ -143,7 +143,6 @@ $(document).ready( function() {
<form class="form-horizontal" action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" id="form1"> <form class="form-horizontal" action="../op/op.AddFile.php" enctype="multipart/form-data" method="post" name="form1" id="form1">
<input type="hidden" name="documentid" value="<?php print $document->getId(); ?>"> <input type="hidden" name="documentid" value="<?php print $document->getId(); ?>">
<div class="control-group"> <div class="control-group">
<label class="control-label"><?php printMLText("local_file");?>:</label> <label class="control-label"><?php printMLText("local_file");?>:</label>
<div class="controls"> <div class="controls">
@ -155,28 +154,39 @@ $(document).ready( function() {
?> ?>
</div> </div>
</div> </div>
<div class="control-group">
<label class="control-label"><?php printMLText("link_to_version");?>:</label>
<div class="controls"><select name="version" id="version">
<option value=""></option>
<?php
$versions = $document->getContent();
foreach($versions as $version)
echo "<option value=\"".$version->getVersion()."\">".getMLText('version')." ".$version->getVersion()."</option>";
?>
</select></div>
</div>
<div class="control-group"> <div class="control-group">
<label class="control-label"><?php printMLText("name");?>:</label> <label class="control-label"><?php printMLText("name");?>:</label>
<div class="controls"> <div class="controls"><input type="text" name="name" id="name" size="60"></div>
<input type="text" name="name" id="name" size="60">
</div>
</div> </div>
<div class="control-group"> <div class="control-group">
<label class="control-label"><?php printMLText("comment");?>:</label> <label class="control-label"><?php printMLText("comment");?>:</label>
<div class="controls"> <div class="controls">
<textarea name="comment" id="comment" rows="4" cols="80"<?php echo $strictformcheck ? ' required' : ''; ?>></textarea> <textarea name="comment" id="comment" rows="4" cols="80"<?php echo $strictformcheck ? ' required' : ''; ?>></textarea>
</div> </div>
</div> </div>
<?php
if ($document->getAccessMode($user) >= M_READWRITE) {
<div class="controls"> print "<div class=\"control-group\"><label class=\"control-label\">".getMLText("document_link_public")."</label>";
<input class="btn" type="submit" value="<?php printMLText("add");?>"> print "<div class=\"controls\">";
print "<input type=\"checkbox\" name=\"public\" value=\"true\" checked />";
print "</div></div>";
}
?>
<div class="control-group">
<label class="control-label"></label>
<div class="controls"><input class="btn" type="submit" value="<?php printMLText("add");?>"></div>
</div> </div>
</form> </form>
<?php <?php
$this->contentContainerEnd(); $this->contentContainerEnd();

View File

@ -1215,6 +1215,10 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "<li>".getMLText("uploaded_by")." <a href=\"mailto:".$responsibleUser->getEmail()."\">".htmlspecialchars($responsibleUser->getFullName())."</a></li>"; print "<li>".getMLText("uploaded_by")." <a href=\"mailto:".$responsibleUser->getEmail()."\">".htmlspecialchars($responsibleUser->getFullName())."</a></li>";
print "<li>".getLongReadableDate($file->getDate())."</li>"; print "<li>".getLongReadableDate($file->getDate())."</li>";
if($file->getVersion())
print "<li>".getMLText('linked_to_current_version')."</li>";
else
print "<li>".getMLText('linked_to_document')."</li>";
print "</ul></td>"; print "</ul></td>";
print "<td>".htmlspecialchars($file->getComment())."</td>"; print "<td>".htmlspecialchars($file->getComment())."</td>";