This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".
The branch, master has been updated
via d610efb13e3be0b9de2a25b8e8adad3db9abc0a6 (commit)
from 37d609d0ecd3594241562d36da6040c2d0669de5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://scm.fusionforge.org/anonscm/gitweb/?p=fusionforge/fusionforge.git;a=commitdiff;h=d610efb13e3be0b9de2a25b8e8adad3db9abc0a6
commit d610efb13e3be0b9de2a25b8e8adad3db9abc0a6
Author: Franck Villaume <[email protected]>
Date: Sun Apr 2 14:02:56 2017 +0200
forge cli: implement docgroupDump & add missing help messages
diff --git a/src/bin/forge b/src/bin/forge
index 063825d..c56fe46 100755
--- a/src/bin/forge
+++ b/src/bin/forge
@@ -65,11 +65,21 @@ class CliActions {
echo "to dump a document from a specific
project.\n";
echo $dumpFormatInfo;
break;
+ case 'docgroupDump':
+ echo "Use: .../forge docgroupDump <docgroupid>
[json|raw]\n";
+ echo "to dump a document group (folder) from a
specific project.\n";
+ echo $dumpFormatInfo;
+ break;
case 'docmanDump':
echo "Use: .../forge docmanDump <groupid>
[json|raw]\n";
echo "to dump docman from a specific
project.\n";
echo $dumpFormatInfo;
break;
+ case 'releaseDump':
+ echo "Use: .../forge releaseDump <releaseid>
[json|raw]\n";
+ echo "to dump a spectific FRS release from a
specific project.\n";
+ echo $dumpFormatInfo;
+ break;
case 'packageDump':
echo "Use: .../forge packageDump <packageid>
[json|raw]\n";
echo "to dump a spectific FRS package from a
specific project.\n";
@@ -80,6 +90,11 @@ class CliActions {
echo "to dump FRS from a specific project.\n";
echo $dumpFormatInfo;
break;
+ case 'surveyDump':
+ echo "Use: .../forge surveyDump <surveyid>
[json|raw]\n";
+ echo "to dump a specific survey from a specific
project.\n";
+ echo $dumpFormatInfo;
+ break;
case 'groupDump':
echo "Use: .../forge groupDump <groupid>
[json|raw]\n";
echo "to dump a group.\n";
@@ -328,6 +343,29 @@ class CliActions {
return $documentDump;
}
+ function docgroupDump($docgroup_id, $format = 'json') {
+ $docgroupDump['id'] = $docgroup_id;
+ $docgroup = documentgroup_get_object_byid($docgroup_id);
+ if ($docgroup && is_object($docgroup) && !$docgroup->isError())
{
+ $dm = new DocumentManager($docgroup->getGroup());
+ if ($dm && is_object($dm) && !$dm->isError()) {
+ $docgroupDump['subdocgroups'] =
$dm->getTree($docgroup_id);
+ $df = new
DocumentFactory($docgroup->getGroup());
+ $df->setDocGroupID($docgroup_id);
+ $df->setStateID(array(1, 2, 3, 4, 5));
+ $df->setOrder(array('docid'));
+ $docgroupDump['files'] =
(array)$df->getDocumentsWithVersions();
+ } else {
+ $docgroupDump['error'][] = _('Unable to get
document manager for docgroup id')._(': ').$docgroup_id;
+ }
+ } else {
+ $docgroupDump['error'][] = _('Unable to get docgroup
id')._(': ').$docgroup_id;
+ }
+ ksort($docgroupDump);
+ $this->print_result($docgroupDump, $format);
+ return $docgroupDump;
+ }
+
function docmanDump($group_id, $format = 'json') {
$docmanDump = array();
$group = group_get_object($group_id);
diff --git a/src/common/docman/DocumentGroup.class.php
b/src/common/docman/DocumentGroup.class.php
index 86d2c4c..54fcd8e 100644
--- a/src/common/docman/DocumentGroup.class.php
+++ b/src/common/docman/DocumentGroup.class.php
@@ -59,6 +59,25 @@ function &documentgroup_get_object($docgroup_id, $group_id,
$res = false) {
return $DOCUMENTGROUP_OBJ["_".$docgroup_id."_"];
}
+function &documentgroup_get_object_byid($docgroup_id, $res = false) {
+ global $DOCUMENTGROUP_OBJ;
+ if (!isset($DOCUMENTGROUP_OBJ["_".$docgroup_id."_"])) {
+ if ($res) {
+ //the db result handle was passed in
+ } else {
+ $res = db_query_params('SELECT * FROM doc_groups WHERE
doc_group = $1',
+ array($docgroup_id));
+ }
+ if (!$res || db_numrows($res) < 1) {
+ $DOCUMENTGROUP_OBJ["_".$docgroup_id."_"] = false;
+ } else {
+ $arr = db_fetch_array($res);
+ $DOCUMENTGROUP_OBJ["_".$docgroup_id."_"] = new
DocumentGroup(group_get_object($arr['group_id']), $arr);
+ }
+ }
+ return $DOCUMENTGROUP_OBJ["_".$docgroup_id."_"];
+}
+
class DocumentGroup extends FFError {
/**
-----------------------------------------------------------------------
Summary of changes:
src/bin/forge | 38 +++++++++++++++++++++++++++++++
src/common/docman/DocumentGroup.class.php | 19 ++++++++++++++++
2 files changed, 57 insertions(+)
hooks/post-receive
--
FusionForge
_______________________________________________
Fusionforge-commits mailing list
[email protected]
http://lists.fusionforge.org/cgi-bin/mailman/listinfo/fusionforge-commits