[Fusionforge-commits] r14005 - in trunk/src/common/docman: actions views
Franck VILLAUME
nerville at fusionforge.org
Fri Jul 29 11:37:50 CEST 2011
Author: nerville
Date: 2011-07-29 11:37:50 +0200 (Fri, 29 Jul 2011)
New Revision: 14005
Modified:
trunk/src/common/docman/actions/addfile.php
trunk/src/common/docman/views/listfile.php
Log:
add support for upload file in child project
Modified: trunk/src/common/docman/actions/addfile.php
===================================================================
--- trunk/src/common/docman/actions/addfile.php 2011-07-29 09:10:10 UTC (rev 14004)
+++ trunk/src/common/docman/actions/addfile.php 2011-07-29 09:37:50 UTC (rev 14005)
@@ -31,11 +31,6 @@
global $group_id; // id of group
global $dirid;
-if (!forge_check_perm('docman', $group_id, 'submit')) {
- $return_msg = _('Document Manager Action Denied.');
- session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$dirid.'&warning_msg='.urlencode($return_msg));
-}
-
$doc_group = getIntFromRequest('doc_group');
$title = getStringFromRequest('title');
$description = getStringFromRequest('description');
@@ -46,14 +41,37 @@
$name = getStringFromRequest('name');
$stateid = getIntFromRequest('stateid');
+if (!$doc_group) {
+ $doc_group = $dirid;
+}
+
+$baseurl = '/docman/?group_id='.$group_id;
+$redirecturl = $baseurl.'&view=listfile&dirid='.$doc_group;
+
+// plugin hierarchy handler
+$childgroup_id = getIntFromRequest('childgroup_id');
+if ($childgroup_id) {
+ $redirecturl .= '&childgroup_id='.$childgroup_id;
+ if (!forge_check_perm('docman', $childgroup_id, 'submit')) {
+ $return_msg = _('Document Manager Action Denied.');
+ session_redirect($redirecturl.'&warning_msg='.urlencode($return_msg));
+ }
+ $g = group_get_object($childgroup_id);
+}
+
+if (!forge_check_perm('docman', $group_id, 'submit')) {
+ $return_msg = _('Document Manager Action Denied.');
+ session_redirect($redirecturl.'&warning_msg='.urlencode($return_msg));
+}
+
if ($error_msg) {
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($error_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($error_msg));
}
if (!$doc_group || $doc_group == 100) {
//cannot add a doc unless an appropriate group is provided
$return_msg = _('No valid Directory was selected.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
}
if (!$title || !$description || (!$uploaded_data && !$file_url && (!$editor && !$name))) {
@@ -71,9 +89,9 @@
if (!$d || !is_object($d)) {
$return_msg= _('Error getting blank document.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
} elseif ($d->isError()) {
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($d->getErrorMessage()));
+ session_redirect($baseurl.'&error_msg='.urlencode($d->getErrorMessage()));
}
switch ($type) {
@@ -84,7 +102,7 @@
$data = $sanitizer->SanitizeHtml($data);
if (strlen($data)<1) {
$return_msg = _('Error getting blank document.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
}
$uploaded_data_type = 'text/html';
break;
@@ -98,7 +116,7 @@
case 'httpupload' : {
if (!is_uploaded_file($uploaded_data['tmp_name'])) {
$return_msg = _('Invalid file name.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
}
if (function_exists('finfo_open')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
@@ -114,7 +132,7 @@
case 'manualupload' : {
if (!forge_get_config('use_manual_uploads')) {
$return_msg = _('Manual uploads disabled.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
}
$incoming = forge_get_config('groupdir_prefix')."/".$g->getUnixName()."/incoming";
@@ -122,7 +140,7 @@
if (!util_is_valid_filename($manual_path) || !is_file($filename)) {
$return_msg = _('Invalid file name.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
}
if (function_exists('finfo_open')) {
@@ -139,15 +157,15 @@
}
default: {
$return_msg = _('Unknown type submission.');
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($return_msg));
+ session_redirect($baseurl.'&error_msg='.urlencode($return_msg));
}
}
if (!$d->create($uploaded_data_name, $uploaded_data_type, $data, $doc_group, $title, $description, $stateid)) {
if (forge_check_perm('docman', $group_id, 'approve')) {
- session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$doc_group.'&error_msg='.urlencode($d->getErrorMessage()));
+ session_redirect($redirecturl.'&error_msg='.urlencode($d->getErrorMessage()));
} else {
- session_redirect('/docman/?group_id='.$group_id.'&error_msg='.urlencode($d->getErrorMessage()));
+ session_redirect($baseurl.'&error_msg='.urlencode($d->getErrorMessage()));
}
} else {
if ($type == 'editor') {
@@ -156,10 +174,10 @@
}
if (forge_check_perm('docman', $group_id, 'approve')) {
$return_msg = sprintf(_('Document %s submitted successfully.'),$d->getFilename());
- session_redirect('/docman/?group_id='.$group_id.'&view=listfile&dirid='.$doc_group.'&feedback='.urlencode($return_msg));
+ session_redirect($redirecturl.'&feedback='.urlencode($return_msg));
} else {
$return_msg = sprintf(_('Document %s has been successfully uploaded and is waiting to be approved.'),$d->getFilename());
- session_redirect('/docman/?group_id='.$group_id.'&feedback='.urlencode($return_msg));
+ session_redirect($baseurl.'&feedback='.urlencode($return_msg));
}
}
?>
Modified: trunk/src/common/docman/views/listfile.php
===================================================================
--- trunk/src/common/docman/views/listfile.php 2011-07-29 09:10:10 UTC (rev 14004)
+++ trunk/src/common/docman/views/listfile.php 2011-07-29 09:37:50 UTC (rev 14005)
@@ -139,7 +139,7 @@
echo '<div id="right" style="float:left; width: 80%; overflow: auto; max-width: 90%;">';
if ($DocGroupName) {
echo '<h4>'._('Path:').' <i>'.$dgpath.'</i></h4>';
- echo '<h3 class="docman_h3" >'._('Document Folder:').'<i>'.$DocGroupName.'</i> ';
+ echo '<h3 class="docman_h3" >'._('Document Folder:').' <i>'.$DocGroupName.'</i> ';
if (forge_check_perm('docman', $group_id, 'approve')) {
echo '<a href="#" class="tabtitle" id="docman-editdirectory" title="'._('Edit this folder').'" >'. html_image('docman/configure-directory.png',22,22,array('alt'=>'edit')). '</a>';
echo '<a href="?group_id='.$group_id.'&action=trashdir&dirid='.$dirid.'" class="tabtitle" id="docman-trashdirectory" title="'._('Move this folder and his content to trash').'" >'. html_image('docman/trash-empty.png',22,22,array('alt'=>'trashdir')). '</a>';
More information about the Fusionforge-commits
mailing list