This file is indexed.

/usr/share/letodms/UPDATE-v1.8.1/update.php is in letodms 3.2.1+dfsg-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?php
//    MyDMS. Document Management System
//    Copyright (C) 2002-2005  Markus Westphal
//    Copyright (C) 2006-2008 Malcolm Cowe
//    Copyright (C) 2010 Matteo Lucarelli
//
//    This program is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//    This program is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with this program; if not, write to the Free Software
//    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

include("../inc/inc.Settings.php");
include("../inc/inc.AccessUtils.php");
include("../inc/inc.ClassAccess.php");
include("../inc/inc.ClassDocument.php");
include("../inc/inc.ClassFolder.php");
include("../inc/inc.ClassGroup.php");
include("../inc/inc.ClassUser.php");
include("../inc/inc.DBAccess.php");
include("../inc/inc.FileUtils.php");
include("../inc/inc.Authentication.php");

print "<html></body>";

if (!$user->isAdmin()) {
	print "<b>ERROR: You must be administrator to execute the update</b>";
	die;
}

function update_content()
{

	GLOBAL $db,$settings;
	
	// create temp folder
	if (!makedir($settings->_contentDir."/temp")) return false;
	
	// for all contents
	$queryStr = "SELECT * FROM tblDocumentContent";
	$contents = $db->getResultArray($queryStr);
	
	if (is_bool($contents)&&!$contents) return false;
	
	for ($i=0;$i<count($contents);$i++){
	
		// create temp/documentID folder
		if (!makedir($settings->_contentDir."/temp/".$contents[$i]["document"])) return false;
		
		// move every content in temp/documentID/version.fileType
		$source = $settings->_contentDir."/".$contents[$i]["dir"]."/data".$contents[$i]["fileType"];

		$target = $settings->_contentDir."/temp/".$contents[$i]["document"]."/".$contents[$i]["version"].$contents[$i]["fileType"];		
		if (!copyFile($source, $target)) return false;
	}
	
	
	// change directory
	if (!renameDir($settings->_contentDir."/".$settings->_contentOffsetDir,$settings->_contentDir."/old")) return false;
	if (!renameDir($settings->_contentDir."/temp",$settings->_contentDir."/".$settings->_contentOffsetDir)) return false;
	
	return true;
}

function update_db()
{
	GLOBAL $db,$settings;

	// for all contents
	$queryStr = "SELECT * FROM tblDocumentContent";
	$contents = $db->getResultArray($queryStr);
	
	if (is_bool($contents)&&!$contents) return false;
	
	for ($i=0;$i<count($contents);$i++){
	
		$queryStr = "UPDATE tblDocumentContent set dir = '". $settings->_contentOffsetDir."/".$contents[$i]["document"]."/' WHERE document = ".$contents[$i]["document"];
		if (!$db->getResult($queryStr)) return false;
	
	}

	// run the update-2.0.sql
	$fd = fopen ("update.sql", "r");
	
	if (is_bool($fd)&&!$fd) return false;
	
	$queryStr = fread($fd, filesize("update.sql"));
	
	if (is_bool($queryStr)&&!$queryStr) return false;
	
	fclose ($fd);
	if (!$db->getResult($queryStr)) return false;
	
	return true;
}


print "<b>Updating ...please wait</b><br>";


if (!update_content()) {
	print "<b>ERROR: An error occurred during the directory reordering</b>";
	die;
}

if (!update_db()) {
	print "<b>ERROR: An error occurred during the DB update</b>";
	print "<br><b>Please try to execute the update.sql manually</b>";
	die;
}

print "<b>Update done</b><br>";


print "</body></html>";

?>