Merge branch 'seeddms-5.1.x' of https://git.code.sf.net/p/seeddms/code into seeddms-5.1.x-docblock

This commit is contained in:
Jörg Neugebauer 2017-11-08 14:09:31 +01:00
commit 10896ca183
20 changed files with 118 additions and 57 deletions

View File

@ -9,6 +9,7 @@
- add list of expired documents to MyDocument page
- move code of DocumentAccess and EditDocument into controller
- make width of preview images in drop folder configurable
- hide pager on search page when all folders/documents are listed
--------------------------------------------------------------------------------
Changes in version 5.1.3
@ -56,6 +57,7 @@
Changes in version 5.0.14
--------------------------------------------------------------------------------
- use cmd timeout when indexing documents (Closes #344)
- add change password function to rest api (merge from sebbuku)
--------------------------------------------------------------------------------
Changes in version 5.0.13

View File

@ -31,6 +31,13 @@ class SeedDMS_Preview_PdfPreviewer extends SeedDMS_Preview_Base {
'application/vnd.oasis.opendocument.text' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'text/rtf' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/msword' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/vnd.ms-excel' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'text/plain' => "unoconv -d document -f pdf --stdout -v '%f' > '%o'",
'application/postscript' => "ps2pdf '%f' - > '%o'",
// 'image/jpeg' => "convert '%f' pdf:- > '%o'",
// 'image/png' => "convert '%f' pdf:- > '%o'",
// 'image/gif' => "convert '%f' pdf:- > '%o'",
);
} /* }}} */

View File

@ -496,8 +496,7 @@ class SeedDMS_SessionMgr {
function getLastAccessedSessions($datetime) { /* {{{ */
if(!$ts = makeTsFromLongDate($datetime))
return false;
$queryStr = "SELECT * FROM `tblSessions` WHERE `lastAccess`>=".$ts;
$queryStr .= " ORDER BY `lastAccess` DESC";
$queryStr = "SELECT a.* FROM `tblSessions` AS a LEFT OUTER JOIN `tblSessions` AS b ON a.`userID`=b.`userID` AND a.`lastAccess`< b.`lastAccess` WHERE b.`userID` IS NULL AND a.`lastAccess` >=".$ts;
$resArr = $this->db->getResultArray($queryStr);
if (is_bool($resArr) && $resArr == false)
return false;

View File

@ -92,6 +92,7 @@ if (get_magic_quotes_gpc()) {
unset($process);
}
$indexconf = null;
if($settings->_enableFullSearch) {
if($settings->_fullSearchEngine == 'sqlitefts') {
$indexconf = array(

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (725)
// Translators: Admin (735)
$text = array(
'2_factor_auth' => '',
@ -175,7 +175,7 @@ URL: [url]',
'automatic_status_update' => 'Canvi automátic d\'estat',
'back' => 'Endarrere',
'backup_list' => 'Llista de còpies de seguretat existents',
'backup_log_management' => '',
'backup_log_management' => 'Còpia / Accés',
'backup_remove' => 'Eliminar fitxer de còpia de seguretat',
'backup_tools' => 'Eines de còpia de seguretat',
'between' => 'entre',
@ -302,7 +302,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Documents',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Documents caducats',
'documents_in_process' => 'Documents en procés',
'documents_locked' => '',
'documents_locked_by_you' => 'Documents bloquejats per vostè',
@ -363,7 +363,7 @@ URL: [url]',
'drag_icon_here' => 'Arrossegui aquí una icona de carpeta o document',
'dropfolderdir_missing' => '',
'dropfolder_file' => '',
'dropfolder_folder' => '',
'dropfolder_folder' => 'Carpeta',
'dropupload' => 'Pujada ràpida',
'drop_files_here' => 'Dugui arxius aquí',
'dump_creation' => 'Creació de bolcat de BDD',
@ -443,7 +443,7 @@ URL: [url]',
'files' => 'Fitxers',
'files_deletion' => 'Eliminació de fitxers',
'files_deletion_warning' => 'Amb aquesta opció es poden eliminar tots els fitxers del DMS complet. La informació de versionat romandrà visible.',
'files_loading' => '',
'files_loading' => 'Esperi, fins que l\'arxiu estigui carregat …',
'file_size' => 'Mida',
'filter_for_documents' => '',
'filter_for_folders' => 'Filtre adicional per les carpetes',
@ -503,10 +503,10 @@ URL: [url]',
'hu_HU' => 'Hongarès',
'id' => 'ID',
'identical_version' => '',
'import' => '',
'import' => 'importar',
'importfs' => '',
'import_fs' => 'Importa del sistema d\'arxius',
'import_fs_warning' => '',
'import_fs_warning' => 'Només funciona arrastrant carpetes.La operació importarà recursivament totes les carpetes i arxius.',
'include_content' => '',
'include_documents' => 'Incloure documents',
'include_subdirectories' => 'Incloure subdirectoris',
@ -705,7 +705,7 @@ URL: [url]',
'no_version_check' => '',
'no_version_modification' => '',
'no_workflow_available' => '',
'objectcheck' => '',
'objectcheck' => 'Carpeta / Comprobació del document',
'object_check_critical' => '',
'object_check_warning' => '',
'obsolete' => 'Obsolet',
@ -791,7 +791,7 @@ URL: [url]',
'removed_revisor' => '',
'removed_workflow_email_body' => '',
'removed_workflow_email_subject' => '',
'removeFolderFromDropFolder' => '',
'removeFolderFromDropFolder' => 'Esborrar carpeta després de la importació',
'remove_marked_files' => '',
'repaired' => '',
'repairing_objects' => '',
@ -1443,7 +1443,7 @@ URL: [url]',
'users_done_work' => '',
'user_exists' => 'L\'usuari ja existeix.',
'user_group' => '',
'user_group_management' => '',
'user_group_management' => 'Usuaris/Control de grups',
'user_image' => 'Imatge',
'user_info' => 'Informació d\'usuari',
'user_list' => 'Llista d\'usuaris',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (729), kreml (455)
// Translators: Admin (732), kreml (455)
$text = array(
'2_factor_auth' => '',
@ -319,7 +319,7 @@ URL: [url]',
'documentcontent' => 'Obsah dokumentu',
'documents' => 'Dokumenty',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Expirované dokumenty',
'documents_in_process' => 'Zpracovávané dokumenty',
'documents_locked' => '',
'documents_locked_by_you' => 'Vámi uzamčené dokumenty',
@ -470,7 +470,7 @@ URL: [url]',
'expired_at_date' => '',
'expired_documents' => '',
'expires' => 'Platnost vyprší',
'expire_by_date' => '',
'expire_by_date' => 'Platnost končí k datu',
'expire_in_1d' => '',
'expire_in_1h' => '',
'expire_in_1m' => 'Expiruje o mesiac',
@ -494,7 +494,7 @@ URL: [url]',
'files' => 'Soubory',
'files_deletion' => 'Soubor odstraněn',
'files_deletion_warning' => 'Pomocí této volby můžete odstranit všechny soubory z celé složky DMS. Verzovací informace zůstanou viditelné.',
'files_loading' => 'Vyčkejte dokud se nenahraje seznam souborů ...',
'files_loading' => 'Vyčkejte dokud se nenahraje seznam souborů ',
'file_size' => 'Velikost souboru',
'filter_for_documents' => 'Další filtr pro dokumenty',
'filter_for_folders' => 'Další filtr pro složky',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (2484), dgrutsch (22)
// Translators: Admin (2487), dgrutsch (22)
$text = array(
'2_factor_auth' => '2-Faktor Authentifizierung',
@ -310,7 +310,7 @@ URL: [url]',
'debug' => 'Debug',
'december' => 'Dezember',
'default_access' => 'Standardberechtigung',
'default_keywords' => 'Verfügbare Schlüsselworte',
'default_keywords' => 'Verfügbare Stichworte',
'definitions' => 'Definitionen',
'delete' => 'Löschen',
'details' => 'Details',
@ -433,7 +433,7 @@ Der Link ist bis zum [valid] gültig.
'edit' => 'Bearbeiten',
'edit_attributes' => 'Edit attributes',
'edit_comment' => 'Kommentar bearbeiten',
'edit_default_keywords' => 'Schlüsselworte bearbeiten',
'edit_default_keywords' => 'Stichworte bearbeiten',
'edit_document_access' => 'Zugriffsrechte bearbeiten',
'edit_document_notify' => 'Beobachtung von Dokumenten',
'edit_document_props' => 'Bearbeiten',
@ -661,7 +661,7 @@ URL: [url]',
'keep' => 'Beibehalten',
'keep_doc_status' => 'Dokumentenstatus beibehalten',
'keywords' => 'Stichworte',
'keywords_loading' => 'Bitte warten, bis die Schlüsselwortliste geladen ist …',
'keywords_loading' => 'Bitte warten, bis die Stichwortliste geladen ist …',
'keyword_exists' => 'Stichwort besteht bereits',
'ko_KR' => 'Koreanisch',
'language' => 'Sprache',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: acabello (20), Admin (1040), angel (123), francisco (2), jaimem (14)
// Translators: acabello (20), Admin (1041), angel (123), francisco (2), jaimem (14)
$text = array(
'2_factor_auth' => '',
@ -319,7 +319,7 @@ URL: [url]',
'documentcontent' => 'Contenido del documento',
'documents' => 'Documentos',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Documentos Caducos',
'documents_in_process' => 'Documentos en proceso',
'documents_locked' => '',
'documents_locked_by_you' => 'Documentos bloqueados por usted',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1064), jeromerobert (50), lonnnew (9), Oudiceval (465)
// Translators: Admin (1065), jeromerobert (50), lonnnew (9), Oudiceval (465)
$text = array(
'2_factor_auth' => 'Authentification forte',
@ -324,7 +324,7 @@ URL: [url]',
'documentcontent' => 'Version de document',
'documents' => 'Documents',
'documents_checked_out_by_you' => 'Documents bloqués par vous',
'documents_expired' => '',
'documents_expired' => 'Documents périmés',
'documents_in_process' => 'Documents en cours',
'documents_locked' => 'Documents verrouillés',
'documents_locked_by_you' => 'Documents verrouillés',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (607), ribaz (1023)
// Translators: Admin (619), ribaz (1023)
$text = array(
'2_factor_auth' => '',
@ -319,7 +319,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Dokumentumok',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Lejárt dokumentumok',
'documents_in_process' => 'Feldolgozás alatt lévő dokumentumok',
'documents_locked' => '',
'documents_locked_by_you' => 'Ön által zárolt dokumentumok',
@ -468,16 +468,16 @@ URL: [url]',
'exclude_items' => 'Kizárt elemek',
'expired' => 'Lejárt',
'expired_at_date' => '',
'expired_documents' => '',
'expired_documents' => 'Lejárt dokumentumok',
'expires' => 'Lejárat',
'expire_by_date' => '',
'expire_by_date' => 'Érvényesség dátum szerint',
'expire_in_1d' => '',
'expire_in_1h' => '',
'expire_in_1m' => '',
'expire_in_1w' => '',
'expire_in_1y' => '',
'expire_in_1m' => 'Érvényesség egy hónapon belül',
'expire_in_1w' => 'Érvényesség egy héten belül',
'expire_in_1y' => 'Érvényesség egy éven belül',
'expire_in_2h' => '',
'expire_in_2y' => '',
'expire_in_2y' => 'Érvényesség két éven belül',
'expire_today' => '',
'expire_tomorrow' => '',
'expiry_changed_email' => 'Lejárati dátum módosítva',
@ -574,7 +574,7 @@ URL: [url]',
'hu_HU' => 'Magyar',
'id' => 'ID',
'identical_version' => 'Az új verzió megegyezik az eredetivel.',
'import' => '',
'import' => 'Import',
'importfs' => '',
'import_fs' => 'Importálás fájlrendszerből',
'import_fs_warning' => '',
@ -854,7 +854,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'personal_default_keywords' => 'Személyes kulcsszó lista',
'pl_PL' => 'Lengyel',
'possible_substitutes' => '',
'preset_expires' => '',
'preset_expires' => 'Érvényesség beállítása',
'preview' => 'Előnézet',
'preview_converters' => '',
'preview_images' => '',
@ -862,7 +862,7 @@ Amennyiben problémákba ütközik a bejelentkezés során, kérjük vegye fel a
'preview_plain' => '',
'previous_state' => 'Előző állapot',
'previous_versions' => 'Előző változatok',
'process' => '',
'process' => 'Folyamat',
'process_without_user_group' => '',
'pt_BR' => 'Portugál (BR)',
'quota' => 'Kvóta',
@ -1590,12 +1590,12 @@ URL: [url]',
'uploading_zerosize' => 'Üres állomány feltöltése. Feltöltés megszakítva.',
'used_discspace' => 'Felhasznált lemezterület',
'user' => 'Felhasználó',
'userid_groupid' => '',
'userid_groupid' => 'Felhasználó ID/Csoport ID',
'users' => 'Felhasználók',
'users_and_groups' => 'Felhasználók/Csoportok',
'users_done_work' => 'Felhasználók elvégzett munka',
'user_exists' => 'Felhasználó már létezik.',
'user_group' => '',
'user_group' => 'Felhasználó/Csoport',
'user_group_management' => 'Felhasználók/Csoportok kezelése',
'user_image' => 'Kép',
'user_info' => 'Felhasználói információ',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1568), rickr (144), s.pnt (26)
// Translators: Admin (1571), rickr (144), s.pnt (26)
$text = array(
'2_factor_auth' => 'Autorizzazione a due fattori',
@ -325,7 +325,7 @@ URL: [url]',
'documentcontent' => 'Contenuto documento',
'documents' => 'Documenti',
'documents_checked_out_by_you' => 'Documenti approvati da te',
'documents_expired' => '',
'documents_expired' => 'Documenti scaduti',
'documents_in_process' => 'Documenti in lavorazione',
'documents_locked' => 'Documenti bloccati',
'documents_locked_by_you' => 'Documenti bloccati da te',
@ -860,7 +860,7 @@ Dovessero esserci ancora problemi al login, prego contatta l\'Amministratore di
'personal_default_keywords' => 'Parole-chiave personali',
'pl_PL' => 'Polacco',
'possible_substitutes' => 'Sostituti',
'preset_expires' => '',
'preset_expires' => 'Scadenza preimpostata',
'preview' => 'Anteprima',
'preview_converters' => 'Anteprima convesione documento',
'preview_images' => '',
@ -1629,7 +1629,7 @@ URL: [url]',
'users_and_groups' => 'Utenti/Gruppi',
'users_done_work' => 'Lavoro eseguito dagli Utenti',
'user_exists' => 'Utente già esistente',
'user_group' => '',
'user_group' => 'Utente/Gruppo',
'user_group_management' => 'Gestione Utenti/Gruppi',
'user_image' => 'Immagine',
'user_info' => 'Informazioni utente',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (738), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270)
// Translators: Admin (739), gijsbertush (329), pepijn (45), reinoutdijkstra@hotmail.com (270)
$text = array(
'2_factor_auth' => '',
@ -317,7 +317,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Documenten',
'documents_checked_out_by_you' => 'Door u in behandeling genomen documenten',
'documents_expired' => '',
'documents_expired' => 'Verlopen documenten',
'documents_in_process' => 'Documenten in behandeling',
'documents_locked' => 'Geblokkeerde documenten',
'documents_locked_by_you' => 'Documenten door U geblokkeerd',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (784), netixw (84), romi (93), uGn (112)
// Translators: Admin (785), netixw (84), romi (93), uGn (112)
$text = array(
'2_factor_auth' => '',
@ -312,7 +312,7 @@ URL: [url]',
'documentcontent' => 'Zawartość dokumentu',
'documents' => 'Dokumenty',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Wygasłe dokumenty',
'documents_in_process' => 'Dokumenty procesowane',
'documents_locked' => '',
'documents_locked_by_you' => 'Dokumenty zablokowane przez Ciebie',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (961), flaviove (627), lfcristofoli (352)
// Translators: Admin (963), flaviove (627), lfcristofoli (352)
$text = array(
'2_factor_auth' => '',
@ -319,7 +319,7 @@ URL: [url]',
'documentcontent' => 'Conteúdo do Documento',
'documents' => 'Documentos',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Documentos Expirados',
'documents_in_process' => 'Documentos em Processo',
'documents_locked' => '',
'documents_locked_by_you' => 'Documentos bloqueados por você',
@ -1144,7 +1144,7 @@ URL: [url]',
'settings_dropFolderDir' => 'Diretório para pasta suspensa',
'settings_dropFolderDir_desc' => 'Este diretório pode ser usado para soltar arquivos no sistema de arquivos do servidor e importá-los de lá, em vez de fazer o upload através do browser. O diretório deve conter um sub-diretório para cada usuário que tem permissão para importar arquivos desta forma.',
'settings_Edition' => 'Configurações Edição',
'settings_editOnlineFileTypes' => '',
'settings_editOnlineFileTypes' => 'Editar online os tipos de arquivos',
'settings_editOnlineFileTypes_desc' => 'Arquivos com as seguintes extensões podem ser editados online (use somente letras minúsculas)',
'settings_enable2FactorAuthentication' => '',
'settings_enable2FactorAuthentication_desc' => '',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (1052), aydin (83)
// Translators: Admin (1053), aydin (83)
$text = array(
'2_factor_auth' => '',
@ -318,7 +318,7 @@ URL: [url]',
'documentcontent' => '',
'documents' => 'Dokümanlar',
'documents_checked_out_by_you' => '',
'documents_expired' => '',
'documents_expired' => 'Süresi dolan belgeler',
'documents_in_process' => 'İşlemdeki Dokümanlar',
'documents_locked' => '',
'documents_locked_by_you' => 'Doküman sizin tarafınızdan kilitlendi',

View File

@ -19,7 +19,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
//
// Translators: Admin (732), archonwang (469), fengjohn (5)
// Translators: Admin (733), archonwang (469), fengjohn (5)
$text = array(
'2_factor_auth' => '双重认证',
@ -320,7 +320,7 @@ URL: [url]',
'documentcontent' => '文档内容',
'documents' => '文档',
'documents_checked_out_by_you' => '您签出的文档',
'documents_expired' => '',
'documents_expired' => '过期的文档',
'documents_in_process' => '待处理文档',
'documents_locked' => '已锁定的文档',
'documents_locked_by_you' => '被您锁定的文档',

View File

@ -383,11 +383,13 @@ if(isset($_GET["fullsearch"]) && $_GET["fullsearch"] && $settings->_enableFullSe
}
}
}
$totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit)
$totalPages++;
if (!isset($_GET["pg"]) || strcasecmp($_GET["pg"], "all"))
if (!isset($_GET["pg"]) || strcasecmp($_GET["pg"], "all")) {
$totalPages = (int) (count($entries)/$limit);
if(count($entries)%$limit)
$totalPages++;
$entries = array_slice($entries, ($pageNumber-1)*$limit, $limit);
} else
$totalPages = 1;
// }}}
}

View File

@ -970,6 +970,53 @@ function createAccount() { /* {{{ */
return;
} /* }}} */
/**
* Updates the password of an existing Account, the password must be PUT as a md5 string
*
* @param <type> $id The user name or numerical identifier
*/
function changeAccountPassword($id) { /* {{{ */
global $app, $dms, $userobj;
checkIfAdmin();
if ($app->request()->put('password') == null)
{
$app->response()->header('Content-Type', 'application/json');
echo json_encode(array('success'=>false, 'message'=>'You must PUT a new password', 'data'=>''));
return;
}
$newPassword = $app->request()->put('password');
if(is_numeric($id))
$account = $dms->getUser($id);
else {
$account = $dms->getUserByLogin($id);
}
/**
* User not found
*/
if (!$account) {
$app->response()->status(404);
return;
}
$operation = $account->setPwd($newPassword);
if (!$operation){
$app->response()->header('Content-Type', 'application/json');
echo json_encode(array('success'=>false, 'message'=>'', 'data'=>'Could not change password.'));
return;
}
$app->response()->header('Content-Type', 'application/json');
echo json_encode(array('success'=>true, 'message'=>'', 'data'=>''));
return;
} /* }}} */
function getAccountById($id) { /* {{{ */
global $app, $dms, $userobj;
checkIfAdmin();
@ -1393,6 +1440,7 @@ $app->get('/account/locked', 'getLockedDocuments');
$app->post('/accounts', 'createAccount');
$app->get('/accounts/:id', 'getAccountById');
$app->put('/accounts/:id/disable', 'setDisabledAccount');
$app->put('/accounts/:id/password', 'changeAccountPassword');
$app->post('/groups', 'createGroup');
$app->get('/groups/:id', 'getGroup');
$app->put('/groups/:id/addUser', 'addUserToGroup');

View File

@ -46,6 +46,8 @@ class SeedDMS_View_Session extends SeedDMS_Bootstrap_Style {
$sessionmgr = new SeedDMS_SessionMgr($dms->getDB());
$sessions = $sessionmgr->getLastAccessedSessions(date('Y-m-d H:i:s', time()-3600));
if(!$sessions)
return '';
if ($user->isGuest() || count($sessions) == 0) {
return '';

View File

@ -130,7 +130,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if($document) {
if ($document->getAccessMode($user) >= M_READ) {
$previewer = new SeedDMS_Preview_Previewer($cachedir, $previewwidth);
$txt = $this->callHook('documentListItem', $document, $previewer, true, '');
$txt = $this->callHook('documentListItem', $document, $previewer, 'viewitem');
if(is_string($txt))
$content = $txt;
else