3 * GForge Doc Mgr Facility
5 * Copyright 2002 GForge, LLC
15 by Quentin Cregan, SourceForge 06/2000
17 Complete OO rewrite by Tim Perdue 1/2003
20 require_once('../env.inc.php');
21 require_once('pre.php');
22 require_once('include/doc_utils.php');
23 require_once('common/docman/DocumentFactory.class.php');
24 require_once('common/docman/DocumentGroupFactory.class.php');
26 $group_id = getIntFromRequest('group_id');
27 $language_id = getStringFromRequest('language_id');
32 $g =& group_get_object($group_id);
33 if (!$g || !is_object($g) || $g->isError()) {
37 $df = new DocumentFactory($g);
39 exit_error(_('Error'),$df->getErrorMessage());
42 $dgf = new DocumentGroupFactory($g);
43 if ($dgf->isError()) {
44 exit_error(_('Error'),$dgf->getErrorMessage());
48 // Save chosen language in docman and print document details in documents list
51 setcookie("my_language_id", "$language_id", time()+3600*24*999);
53 if (!$language_id && isset($_COOKIE["my_language_id"]))
55 $language_id = $_COOKIE["my_language_id"];
58 // the "selected language" variable will be used in the links to navigate the
59 // document groups tree
62 if (session_loggedin()) {
63 $language_id = $LUSER->getLanguage();
68 $selected_language = $language_id;
69 } else if ($language_id == "*") {
71 $selected_language = "*";
73 $selected_language = $language_id;
76 // check if the user is docman's admin
77 $perm =& $g->getPermission( session_get_user() );
78 if (!$perm || $perm->isError() || !$perm->isDocEditor()) {
84 $df->setLanguageID($language_id);
86 docman_header(_('Document Manager: Display Document'),_('Project: %1$s'));
88 $d_arr =& $df->getDocuments();
89 if (!$d_arr || count($d_arr) <1){
90 $df->setLanguageId(0);
91 $d_arr = &$df->getDocuments();
94 if (!$d_arr || count($d_arr) < 1) {
95 print "<strong>"._('This project has no visible documents')."</strong>";
97 doc_droplist_count($group_id, $language_id, $g);
99 // Get the document groups info
100 $nested_groups =& $dgf->getNested();
102 $nested_docs=array();
103 //put the doc objects into an array keyed off the docgroup
104 foreach ($d_arr as $doc) {
105 $nested_docs[$doc->getDocGroupID()][] = $doc;
109 EXPERIMENTAL CODE TO USE JAVASCRIPT TREE
111 function docman_recursive_display($docgroup) {
112 global $nested_groups,$nested_docs,$group_id;
113 if (is_array($nested_groups[$docgroup])) {
114 foreach ($nested_groups[$docgroup] as $dg) {
115 $folder = '<span class="JSCookTreeFolderClosed"><i><img src=\"/jscook/ThemeXP/folder1.gif\"></i></span><span class="JSCookTreeFolderOpen"><i><img src=\"/jscook/ThemeXP/folderopen1.gif\"></i></span>';
116 echo "\n['$folder', '".$dg->getName()."', '#', '', '',";
117 docman_recursive_display($dg->getID());
118 if (is_array($nested_docs[$dg->getID()])) {
119 foreach ($nested_docs[$dg->getID()] as $d) {
120 echo "\n\t,['<img src=\"/jscook/ThemeXP/page.gif\">', '".addslashes($d->getName())." (".$d->getFileName().")', '/docman/view.php/".$group_id."/".$d->getID()."/".$d->getFileName()."', '', '".addslashes($d->getDescription())."']";
130 <script language="JavaScript" src="<?php echo util_make_url ('/jscook/JSCookTree.js'); ?>"></script>
131 <link rel="stylesheet" href="<?php echo util_make_url ('/jscook/ThemeXP/theme.css'); ?>" type="text/css" />
132 <script src="/jscook/ThemeXP/theme.js" type="text/javascript"></script>
134 <script language="JavaScript"><!--
137 ['<span class="JSCookTreeFolderClosed"><i><img src="<?php echo util_make_url ('/jscook/ThemeXP/folder1.gif'); ?>"></i></span><span class="JSCookTreeFolderOpen"><i><img src="/jscook/ThemeXP/folderopen1.gif"></i></span>', '/', '#', '', '',
139 docman_recursive_display(0);
144 <div id="myMenuID"></div>
146 <script language="JavaScript"><!--
147 ctDraw ('myMenuID', myMenu, ctThemeXP1, 'ThemeXP', 0, 1);
152 docman_display_documents($nested_groups,$df,$is_editor);
156 docman_footer(array());
160 // c-file-style: "bsd"