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('pre.php');
21 require_once('include/doc_utils.php');
22 require_once('common/docman/DocumentFactory.class');
23 require_once('common/docman/DocumentGroupFactory.class');
25 $group_id = getIntFromRequest('group_id');
26 $language_id = getStringFromRequest('language_id');
31 $g =& group_get_object($group_id);
32 if (!$g || !is_object($g) || $g->isError()) {
36 $df = new DocumentFactory($g);
38 exit_error($Language->getText('general','error'),$df->getErrorMessage());
41 $dgf = new DocumentGroupFactory($g);
42 if ($dgf->isError()) {
43 exit_error($Language->getText('general','error'),$dgf->getErrorMessage());
46 // the "selected language" variable will be used in the links to navigate the
47 // document groups tree
50 if (session_loggedin()) {
51 $language_id = $LUSER->getLanguage();
56 $selected_language = $language_id;
57 } else if ($language_id == "*") {
59 $selected_language = "*";
61 $selected_language = $language_id;
64 // check if the user is docman's admin
65 $perm =& $g->getPermission( session_get_user() );
66 if (!$perm || $perm->isError() || !$perm->isDocEditor()) {
72 $df->setLanguageID($language_id);
74 docman_header($Language->getText('docman_display_doc','title'),$Language->getText('docman_display_doc','section'));
76 $d_arr =& $df->getDocuments();
77 if (!$d_arr || count($d_arr) <1){
78 $df->setLanguageId(0);
79 $d_arr = &$df->getDocuments();
82 if (!$d_arr || count($d_arr) < 1) {
83 print "<strong>".$Language->getText('docman','error_no_docs')."</strong>";
85 doc_droplist_count($group_id, $language_id, $g);
87 // Get the document groups info
88 $nested_groups =& $dgf->getNested();
89 docman_display_documents($nested_groups,$df,$is_editor);
92 docman_footer(array());
95 $d_arr =& $df->getDocuments();
96 if (!$d_arr || count($d_arr) <1){
97 $df->setLanguageId(0);
98 $d_arr = &$df->getDocuments();
101 docman_header($Language->getText('docman_display_doc','title'),$Language->getText('docman_display_doc','section'),'docman','',$g->getPublicName());
103 if (!$d_arr || count($d_arr) < 1) {
104 print "<strong>".$Language->getText('docman','error_no_docs')."</strong>";
106 doc_droplist_count($group_id, $language_id, $g);
110 for ($i=0; $i<count($d_arr); $i++) {
112 // If we're starting a new "group" of docs, put in the
113 // docGroupName and start a new <ul>
115 if ($d_arr[$i]->getDocGroupID() != $last_group) {
116 print (($i==0) ? '' : '</ul></li><br />');
117 print "\n\n<li><strong>". $d_arr[$i]->getDocGroupName() ."</strong></li><li style=\"list-style: none\"><ul>";
118 $last_group=$d_arr[$i]->getDocGroupID();
120 print "\n<li><a href=\"".(( $d_arr[$i]->isURL() ) ? $d_arr[$i]->getFileName() : "view.php/$group_id/".$d_arr[$i]->getID()."/".$d_arr[$i]->getFileName() )."\">".
121 $d_arr[$i]->getName()." [ ".$d_arr[$i]->getFileName()." ]</a>".
122 "\n<br /><em>".$Language->getText('docman','description').":</em> ".$d_arr[$i]->getDescription()."</li>\n";
124 print "\n</ul></li></ul>\n";
127 docman_footer(array());