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;
$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)) {
$db = $this->_dms->getDB();
@ -1784,19 +1784,19 @@ class SeedDMS_Core_Document extends SeedDMS_Core_Object { /* {{{ */
$this->_documentFiles = array();
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;
} /* }}} */
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();
$dir = $this->getDir();
$queryStr = "INSERT INTO `tblDocumentFiles` (`comment`, `date`, `dir`, `document`, `fileType`, `mimeType`, `orgFileName`, `userID`, `name`) 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).")";
$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).", ".((int) $version).", ".($public ? 1 : 0).")";
if (!$db->getResult($queryStr)) return false;
$id = $db->getInsertID();
@ -4378,6 +4378,16 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
*/
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
* document id with a proceding '/'.
@ -4406,7 +4416,7 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
*/
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->_document = $document;
$this->_userID = $userID;
@ -4417,6 +4427,8 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
$this->_mimeType = $mimeType;
$this->_orgFileName = $orgFileName;
$this->_name = $name;
$this->_version = $version;
$this->_public = $public;
}
function getID() { return $this->_id; }
@ -4440,6 +4452,10 @@ class SeedDMS_Core_DocumentFile { /* {{{ */
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
$name = $_FILES["userfile"]['name'][$file_num];
$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];
$userfiletype = $_FILES["userfile"]["type"][$file_num];
@ -90,7 +97,7 @@ for ($file_num=0;$file_num<count($_FILES["userfile"]["tmp_name"]);$file_num++){
}
$res = $document->addDocumentFile($name, $comment, $user, $userfiletmp,
basename($userfilename),$fileType, $userfiletype );
basename($userfilename),$fileType, $userfiletype, $version, $public);
if (is_bool($res) && !$res) {
UI::exitError(getMLText("folder_title", array("foldername" => $folder->getName())),getMLText("error_occured"));

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">
<input type="hidden" name="documentid" value="<?php print $document->getId(); ?>">
<div class="control-group">
<label class="control-label"><?php printMLText("local_file");?>:</label>
<div class="controls">
@ -155,28 +154,39 @@ $(document).ready( function() {
?>
</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">
<label class="control-label"><?php printMLText("name");?>:</label>
<div class="controls">
<input type="text" name="name" id="name" size="60">
</div>
<div class="controls"><input type="text" name="name" id="name" size="60"></div>
</div>
<div class="control-group">
<label class="control-label"><?php printMLText("comment");?>:</label>
<div class="controls">
<textarea name="comment" id="comment" rows="4" cols="80"<?php echo $strictformcheck ? ' required' : ''; ?>></textarea>
</div>
</div>
<div class="controls">
<input class="btn" type="submit" value="<?php printMLText("add");?>">
<?php
if ($document->getAccessMode($user) >= M_READWRITE) {
print "<div class=\"control-group\"><label class=\"control-label\">".getMLText("document_link_public")."</label>";
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>
</form>
<?php
$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>".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 "<td>".htmlspecialchars($file->getComment())."</td>";