From 43eabc489e8b8d10c7bbd975b2d1ed8a9b5c0c44 Mon Sep 17 00:00:00 2001 From: steinm Date: Fri, 14 Dec 2012 07:17:37 +0000 Subject: [PATCH] - has been moved into install directory some time ago --- UPDATE-v3.3.0/update.php | 116 --------------------------------------- UPDATE-v3.3.0/update.sql | 4 -- UPDATE-v3.3.0/update.txt | 51 ----------------- 3 files changed, 171 deletions(-) delete mode 100644 UPDATE-v3.3.0/update.php delete mode 100644 UPDATE-v3.3.0/update.sql delete mode 100644 UPDATE-v3.3.0/update.txt diff --git a/UPDATE-v3.3.0/update.php b/UPDATE-v3.3.0/update.php deleted file mode 100644 index 330f2c368..000000000 --- a/UPDATE-v3.3.0/update.php +++ /dev/null @@ -1,116 +0,0 @@ -isAdmin()) { - print "ERROR: You must be administrator to execute the update"; - die; -} - -function check($doupdate=0) { - global $db, $settings; - - $arr = array(); - $arr['tblDocuments'] = array('key'=>'id', 'fields'=>array('name', 'comment', 'keywords')); - $arr['tblDocumentFiles'] = array('key'=>'id', 'fields'=>array('name', 'comment', 'mimeType')); - $arr['tblFolders'] = array('key'=>'id', 'fields'=>array('name', 'comment')); - $arr['tblUsers'] = array('key'=>'id', 'fields'=>array('fullName', 'comment')); - $arr['tblGroups'] = array('key'=>'id', 'fields'=>array('name', 'comment')); - $arr['tblKeywords'] = array('key'=>'id', 'fields'=>array('keywords')); - $arr['tblKeywordCategories'] = array('key'=>'id', 'fields'=>array('name')); - $arr['tblCategory'] = array('key'=>'id', 'fields'=>array('name')); - $arr['tblEvents'] = array('key'=>'id', 'fields'=>array('name', 'comment')); - $arr['tblDocumentApproveLog'] = array('key'=>'approveLogId', 'fields'=>array('comment')); - $arr['tblDocumentStatusLog'] = array('key'=>'statusLogId', 'fields'=>array('comment')); - $arr['tblDocumentReviewLog'] = array('key'=>'reviewLogId', 'fields'=>array('comment')); - $arr['tblDocumentContent'] = array('keys'=>array('document', 'version'), 'fields'=>array('comment', 'mimeType')); - - $allupdates = array(); - echo "\n"; - echo "\n"; - foreach($arr as $tblname => $schema) { - if(isset($schema['key'])) - $queryStr = "SELECT ".$schema['key'].", `".implode('`,`', $schema['fields'])."` FROM ".$tblname; - elseif(isset($schema['keys'])) - $queryStr = "SELECT ".implode(',', $schema['keys']).", `".implode('`,`', $schema['fields'])."` FROM ".$tblname; - $recs = $db->getResultArray($queryStr); - foreach($recs as $rec) { - foreach($schema['fields'] as $field) { - if($rec[$field] !== mydmsDecodeString($rec[$field])) { - $updateSql = "UPDATE ".$tblname." SET `".$field."`=".$db->qstr(mydmsDecodeString($rec[$field]))." where "; - if(isset($schema['key'])) - $updateSql .= $schema['key']."=".$rec[$schema['key']]; - elseif(isset($schema['keys'])) { - $where = array(); - foreach($schema['keys'] as $key) { - $where[] = $key."=".$rec[$key]; - } - $updateSql .= implode(' AND ', $where); - } - $allupdates[] = $updateSql; - echo "\n"; - if($doupdate) { - $res = $db->getResult($updateSql); - if(!$res) { - $errormsg = 'Could not execute update statement'; - echo "\n"; - } else { - $errormsg = 'Object updated'; - echo "\n"; - } - } - } - } - } - } - echo "
TableFieldOld ValueNew ValueUpdate statement
".$tblname."".$field."".htmlspecialchars($rec[$field])."".htmlspecialchars(mydmsDecodeString($rec[$field]))."
".htmlspecialchars($updateSql)."
".$errormsg."
".$errormsg."
\n"; - echo "Summary of all updates
\n"; - echo "
".implode("
", $allupdates)."
"; - return true; -} - -UI::htmlStartPage('Database update'); -UI::globalNavigation(); -UI::pageNavigation('Database update'); -UI::contentContainerStart(); - -if(isset($_GET['doupdate']) && $_GET['doupdate'] == 1) - $doupdate = 1; -else - $doupdate = 0; - -if (!check($doupdate)) { - die; -} - -if(!$doupdate) { - print "

If the above update statements look ok, either execute them in your prefered mysql client or click on the link below.

"; - print "Execute update
\n"; -} - -UI::contentContainerEnd(); -UI::htmlEndPage(); -?> diff --git a/UPDATE-v3.3.0/update.sql b/UPDATE-v3.3.0/update.sql deleted file mode 100644 index e41fa1bc0..000000000 --- a/UPDATE-v3.3.0/update.sql +++ /dev/null @@ -1,4 +0,0 @@ -UPDATE tblVersion set major=3, minor=3, subminor=0; -ALTER TABLE tblDocumentContent MODIFY mimeType varchar(100); -ALTER TABLE tblDocumentFiles MODIFY mimeType varchar(100); -ALTER TABLE tblFolders ADD COLUMN `folderList` text NOT NULL; diff --git a/UPDATE-v3.3.0/update.txt b/UPDATE-v3.3.0/update.txt deleted file mode 100644 index b25ed7e10..000000000 --- a/UPDATE-v3.3.0/update.txt +++ /dev/null @@ -1,51 +0,0 @@ -Release information for 3.3.0 -------------------------------------- - -This release contains various improvements which require your manual -interaction during an upgrade from an earlier version. You ѕhould definitely -make a backup of your database and possibly your content folder. - -Folder search -------------- -The new folder search has introduced a new database field which has to -be initially filled. Without that field searching for subfolders in a -folder will not work. - -Data conversion ---------------- -The conversion of strings like names and comments of documents and folders, -when saved in the database, has been completely droped. This was originally -done for security reasons, both to prevent sql injections and cross side -scripting. Basically any field data that could do any harm, was replaced -by 'harmless' chars. Ampersands, semi colons, quotes, etc., they all have -been replaced by their html entity or masked by a backslash. The output of -those fields on html pages was not decoded anymore, but any other application -that accessed the database had to decode the data. - -The new approach with less impact on the data keeps the data -unmodified when saving it in the database without opening new security -wholes. Protection against cross side scripting is done when the data -is placed on a html page. - -As a consequence the complete database has to be searched for those -previously converted strings and converted back into the original value. - -For both of the above improvements a php script is provided which has to be -called after the database update. - -Content directory ------------------ -Each document in LetoDMS is associated with a directory in the file system. -Consequently, there is a limitation of documents set by the maximum number -of subdirectories in a directory of the filesystem. The currently most used -filesystem on Linux (ext3) supports only 31998 directories. In order to -overcome this limitation another level of directories has been put inbetween -the content directory and the document directory numbered from 1 to maxDirId. - -If you intend to switch to the new content directory format, you will have -to create a new directory with name '1' below the content dir and move all -document directories into it. If you have already a document with id 1, you -must choose a different name for your new sub directory and rename to 1 after -all document directories have been moved. - -