3 * GForge Doc Mgr Facility
5 * Copyright 2002 GForge, LLC
14 by Quentin Cregan, SourceForge 06/2000
16 Complete OO rewrite by Tim Perdue 1/2003
19 require_once('../env.inc.php');
20 require_once $gfwww.'include/pre.php';
21 require_once $gfwww.'docman/include/doc_utils.php';
22 require_once $gfcommon.'docman/DocumentFactory.class.php';
23 require_once $gfcommon.'docman/DocumentGroupFactory.class.php';
26 EXPERIMENTAL CODE TO USE JAVASCRIPT TREE
28 function docman_recursive_display($docgroup) {
29 global $nested_groups,$nested_docs,$group_id;
30 if (is_array(@$nested_groups[$docgroup])) {
31 foreach ($nested_groups[$docgroup] as $dg) {
32 if (isset($nested_docs[$dg->getID()]) && is_array($nested_docs[$dg->getID()])) {
34 ['".'<span class="JSCookTreeFolderClosed"><i><img alt="" src="\' + ctThemeXPBase + \'folder1.gif" /></i></span><span class="JSCookTreeFolderOpen"><i><img alt="" src="\' + ctThemeXPBase + \'folderopen1.gif"></i></span>'."', '".addslashes($dg->getName())."', '#', '', '',";
35 docman_recursive_display($dg->getID());
36 foreach ($nested_docs[$dg->getID()] as $d) {
37 $docurl=util_make_url ('/docman/view.php/'.$group_id.'/'.$d->getID().'/'.urlencode($d->getFileName()));
38 $docname=addslashes($d->getName())." (".htmlspecialchars($d->getFileName(), ENT_QUOTES).")";
39 $docdesc=addslashes($d->getDescription());
40 echo ",['','".$docname."','".$docurl."','','".$docdesc."' ]";
50 $group_id = getIntFromRequest('group_id');
51 $language_id = getStringFromRequest('language_id');
52 $feedback = getStringFromRequest('feedback');
57 $g =& group_get_object($group_id);
58 if (!$g || !is_object($g) || $g->isError()) {
62 $df = new DocumentFactory($g);
64 exit_error(_('Error'),$df->getErrorMessage());
67 $dgf = new DocumentGroupFactory($g);
68 if ($dgf->isError()) {
69 exit_error(_('Error'),$dgf->getErrorMessage());
73 // Save chosen language in docman and print document details in documents list
76 setcookie("my_language_id", "$language_id", time()+3600*24*999);
78 if (!$language_id && isset($_COOKIE["my_language_id"]))
80 $language_id = $_COOKIE["my_language_id"];
83 // the "selected language" variable will be used in the links to navigate the
84 // document groups tree
87 if (session_loggedin()) {
88 $language_id = $LUSER->getLanguage();
93 $selected_language = $language_id;
94 } else if ($language_id == "*") {
96 $selected_language = "*";
98 $selected_language = $language_id;
101 // check if the user is docman's admin
102 $perm =& $g->getPermission( session_get_user() );
103 if (!$perm || $perm->isError() || !$perm->isDocEditor()) {
109 $df->setLanguageID($language_id);
111 docman_header(_('Document Manager: Display Document'),_('Project: %1$s'));
113 $d_arr =& $df->getDocuments();
114 if (!$d_arr || count($d_arr) <1){
115 $df->setLanguageId(0);
116 $d_arr = &$df->getDocuments();
119 if (!$d_arr || count($d_arr) < 1) {
120 print "<strong>"._('This project has no visible documents')."</strong>";
122 doc_droplist_count($group_id, $language_id, $g);
124 // Get the document groups info
125 $nested_groups =& $dgf->getNested();
127 $nested_docs=array();
128 //put the doc objects into an array keyed off the docgroup
129 foreach ($d_arr as $doc) {
130 $nested_docs[$doc->getDocGroupID()][] = $doc;
133 <script language="JavaScript"><!--
134 var myThemeXPBase = "<?php echo util_make_url ('/jscook/ThemeXP/'); ?>";
136 <script language="JavaScript" src="<?php echo util_make_url ('/jscook/JSCookTree.js'); ?>"></script>
137 <link rel="stylesheet" href="<?php echo util_make_url ('/jscook/ThemeXP/theme.css'); ?>" type="text/css" />
138 <script src="<?php echo util_make_url ('/jscook/ThemeXP/theme.js'); ?>" type="text/javascript"></script>
142 <input style="width: 100px" type="button" value="<?php echo _('expand all'); ?>" onclick="ctExpandTree('myMenuID',9);" />
143 <input style="width: 100px" type="button" value="<?php echo _('collapse all'); ?>" onclick="ctCollapseTree('myMenuID');" />
146 <div id="myMenuID"></div>
148 <script language="JavaScript"><!--
151 ['<span class="JSCookTreeFolderClosed"><i><img alt="" src="' + ctThemeXPBase + 'folder1.gif" /></i></span><span class="JSCookTreeFolderOpen"><i><img alt="" src="' + ctThemeXPBase + 'folderopen1.gif" /></i></span>', '/', '#', '', '', <?php docman_recursive_display(0); ?>
154 ctDraw ('myMenuID', myMenu, ctThemeXP1, 'ThemeXP', 0, 1);
158 <?php docman_display_documents($nested_groups,$df,$is_editor); ?>
162 docman_footer(array());
166 // c-file-style: "bsd"