}
}
+ /**
+ * delete - delete a DocumentGroup.
+ * delete is recursive and permanent
+ * TODO : use the delete status as document ?
+ * @param integer Document Group Id, integer Project Group Id
+ * @return boolean
+ */
+ function delete($doc_groupid,$project_group_id) {
+ $perm =& $this->Group->getPermission (session_get_user());
+ if (!$perm || !$perm->isDocEditor()) {
+ $this->setPermissionDeniedError();
+ return false;
+ }
+ db_begin();
+ /* delete documents in directory */
+ $result = db_query_params ('DELETE FROM doc_data where doc_group = $1 and group_id = $2',
+ array($doc_groupid,
+ $project_group_id));
+
+ /* delete directory */
+ $result = db_query_params ('DELETE FROM doc_groups where doc_group = $1 and group_id = $2',
+ array($doc_groupid,
+ $project_group_id));
+
+ db_commit();
+ /* is there any subdir ? */
+ $result = db_query_params ('select doc_group from doc_groups where parent_doc_group = $1 and group_id = $2',
+ array($doc_groupid,
+ $project_group_id));
+ /* make a recursive call */
+ while ($arr = db_fetch_array($result)) {
+ $this->delete($arr,$project_group_id);
+ }
+
+ if (!$result) {
+ return false;
+ }
+ return true;
+ }
+
/**
* hasDocuments - Recursive function that checks if this group or any of it childs has documents associated to it
*
}
$feedback = _('Updated successfully');
+ } elseif (getStringFromRequest('deletegroup')) {
+ $doc_group = getIntFromRequest('doc_group');
+
+ $dg = new DocumentGroup($g,$doc_group);
+ if ($dg->isError()) {
+ exit_error('Error',$dg->getErrorMessage());
+ }
+ if (!$dg->delete($doc_group,$group_id)) {
+ exit_error('Error',$dg->getErrorMessage());
+ }
+ $feedback = _('Deleted successfully');
+ header('Location: index.php?group_id='.$group_id.'&feedback='.urlencode($feedback));
+ die(); // End parsing file and redirect
} elseif (getStringFromRequest('addgroup')) {
$groupname = getStringFromRequest('groupname');
// Add a document group / view existing groups list
//
//
-} elseif (getStringFromRequest('addgroup')) {
+} elseif (getStringFromRequest('admingroup')) {
- docman_header(_('Document Manager Administration'),_('Add Document Groups'),'');
+ docman_header(_('Document Manager Administration'),_('Admin Document Groups'),'');
- echo "<h1>"._('Add Document Groups')."</h1>";
+ echo "<h1>"._('Admin Document Groups')."</h1>";
$dgf = new DocumentGroupFactory($g);
if ($dgf->isError()) {
$title_arr=array();
$title_arr[]=_('ID');
$title_arr[]=_('Group Name');
+ $title_arr[]=_('Delete Group');
echo $GLOBALS['HTML']->listTableTop ($title_arr);
}
?>
<p><strong><?php echo _('Add a group') ?>:</strong></p>
- <form name="addgroup" action="index.php?addgroup=1&group_id=<?php echo $group_id; ?>" method="post">
+ <form name="admingroup" action="index.php?addgroup=1&group_id=<?php echo $group_id; ?>" method="post">
<table>
<tr>
<th><?php echo _('New Group Name') ?>:</th>
</form>
<?php
docman_footer(array());
+} else if (getStringFromRequest('deletegroup') && getIntFromRequest('doc_group')) {
+ $doc_group = getIntFromRequest('doc_group');
+
+ $dg = new DocumentGroup($g,$doc_group);
+ if ($dg->isError()) {
+ exit_error('Error',$dg->getErrorMessage());
+ }
+
+ docman_header(_('Document Manager Administration'),_('Delete Groups'),'');
+?>
+ <p>
+ <form action="<?php echo util_make_url('/docman/admin/index.php').'?deletegroup=1&doc_group='.$dg->getID().'&group_id='.$dg->Group->getID() ?>" method="post">
+ <input type="hidden" name="submit" value="1" /><br />
+ <img src="/images/ic/cfolder15.png" /><?php echo $dg->getName(); ?><br />
+ <?php echo _('You are about to permanently delete this document group and his content (documents and subgroups).'); ?>
+ <p><input type="submit" name="post_changes" value="<?php echo _('Delete') ?>" /></p>
+ </form></p>
+<?php
+ docman_footer(array());
+
} else if (getStringFromRequest('deletedoc') && $docid) {
$d= new Document($g,$docid);
if ($d->isError()) {
?>
<h3><?php echo _('Document Manager: Administration') ?></h3>
<p>
- <a href="index.php?group_id=<?php echo $group_id; ?>&addgroup=1"><?php echo _('Add/Edit Document Groups') ?></a>
+ <a href="index.php?group_id=<?php echo $group_id; ?>&admingroup=1"><?php echo _('Add/Edit/Delete Document Groups') ?></a>
</p>
<?php
'<td>'.$margin.html_image('ic/'.$img,"15","13",array("border"=>"0")).' '.
'<a href="index.php?editgroup=1&doc_group='.
$doc_group->getID().'&group_id='.$doc_group->Group->getID().'">'.
- $doc_group->getName().'</a></td></tr>';
+ $doc_group->getName().'</a></td>'.
+ '<td><a href="index.php?deletegroup=1&doc_group='.$doc_group->getID().'&group_id='.$doc_group->Group->getID().'">'.
+ '<img src="/images/ic/trash.png"/></a></td></tr>';
// Show childs (if any)
$this->showTableNestedGroups($group_arr, $rowno, $doc_group->getID(), $level+1);
}