- added gui to manage categories

This commit is contained in:
steinm 2011-03-10 14:30:40 +00:00
parent b526c87934
commit 8f58f9909d
3 changed files with 318 additions and 0 deletions

89
op/op.Categories.php Normal file
View File

@ -0,0 +1,89 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.ClassEmail.php");
include("../inc/inc.Authentication.php");
if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
$action = $_GET["action"];
//Neue Kategorie anlegen -----------------------------------------------------------------------------
if ($action == "addcategory") {
$name = sanitizeString($_GET["name"]);
if (is_object($dms->getDocumentCategoryByName($name))) {
UI::exitError(getMLText("admin_tools"),getMLText("category_exists"));
}
$newCategory = $dms->addDocumentCategory($name);
if (!$newCategory) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
$categoryid=$newCategory->getID();
}
//Kategorie löschen ----------------------------------------------------------------------------------
else if ($action == "removecategory") {
if (!isset($_GET["categoryid"]) || !is_numeric($_GET["categoryid"]) || intval($_GET["categoryid"])<1) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_document_category"));
}
$categoryid = $_GET["categoryid"];
$category = $dms->getDocumentCategory($categoryid);
if (!is_object($category)) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_document_category"));
}
if (!$category->remove()) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
$categoryid=-1;
}
//Kategorie bearbeiten: Neuer Name --------------------------------------------------------------------
else if ($action == "editcategory") {
if (!isset($_GET["categoryid"]) || !is_numeric($_GET["categoryid"]) || intval($_GET["categoryid"])<1) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_document_category"));
}
$categoryid = $_GET["categoryid"];
$category = $dms->getDocumentCategory($categoryid);
if (!is_object($category)) {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_document_category"));
}
$name = sanitizeString($_GET["name"]);
if (!$category->setName($name)) {
UI::exitError(getMLText("admin_tools"),getMLText("error_occured"));
}
}
else {
UI::exitError(getMLText("admin_tools"),getMLText("unknown_command"));
}
header("Location:../out/out.Categories.php?categoryid=".$categoryid);
?>

145
out/out.Categories.php Normal file
View File

@ -0,0 +1,145 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
// Copyright (C) 2010 Matteo Lucarelli
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.Authentication.php");
if (!$user->isAdmin()) {
UI::exitError(getMLText("admin_tools"),getMLText("access_denied"));
}
UI::htmlStartPage(getMLText("admin_tools"));
UI::globalNavigation();
UI::pageNavigation(getMLText("admin_tools"), "admin_tools");
$categories = $dms->getDocumentCategories();
?>
<script language="JavaScript">
obj = -1;
function showCategories(selectObj) {
if (obj != -1)
obj.style.display = "none";
id = selectObj.options[selectObj.selectedIndex].value;
if (id == -1)
return;
obj = document.getElementById("categories" + id);
obj.style.display = "";
}
</script>
<?php
UI::contentHeading(getMLText("global_document_categories"));
UI::contentContainerStart();
?>
<table>
<tr>
<td><?php echo getMLText("selection")?>:</td>
<td>
<select onchange="showCategories(this)" id="selector">
<option value="-1"><?php echo getMLText("choose_category")?>
<option value="0"><?php echo getMLText("new_document_category")?>
<?php
$selected=0;
$count=2;
foreach ($categories as $category) {
if (isset($_GET["categoryid"]) && $category->getID()==$_GET["categoryid"]) $selected=$count;
print "<option value=\"".$category->getID()."\">" . $category->getName();
$count++;
}
?>
</select>
&nbsp;&nbsp;
</td>
<td id="categories0" style="display : none;">
<form action="../op/op.Categories.php" >
<input type="Hidden" name="action" value="addcategory">
<?php printMLText("name");?> : <input name="name">
<input type="Submit" value="<?php printMLText("new_document_category"); ?>">
</form>
</td>
<?php
foreach ($categories as $category) {
print "<td id=\"categories".$category->getID()."\" style=\"display : none;\">";
?>
<table>
<tr>
<td colspan="2">
<?php
if(!$category->isUsed()) {
?>
<a href="../op/op.Categories.php?categoryid=<?php print $category->getID();?>&action=removecategory"><img src="images/del.gif" border="0"><?php printMLText("rm_document_category");?></a>
<?php
} else {
?>
<p><?= getMLText('category_in_use') ?></p>
<?php
}
?>
</td>
</tr>
<tr>
<td colspan="2">
<?php UI::contentSubHeading("");?>
</td>
</tr>
<tr>
<td><?php echo getMLText("name")?>:</td>
<td>
<form action="../op/op.Categories.php" >
<input type="Hidden" name="action" value="editcategory">
<input type="Hidden" name="categoryid" value="<?php echo $category->getID()?>">
<input name="name" value="<?php echo $category->getName()?>">&nbsp;
<input type="Submit" value="<?php printMLText("save");?>">
</form>
</td>
</tr>
</table>
</td>
<?php } ?>
</tr></table>
<script language="JavaScript">
sel = document.getElementById("selector");
sel.selectedIndex=<?php print $selected ?>;
showCategories(sel);
</script>
<?php
UI::contentContainerEnd();
UI::htmlEndPage();
?>

View File

@ -0,0 +1,84 @@
<?php
// MyDMS. Document Management System
// Copyright (C) 2002-2005 Markus Westphal
// Copyright (C) 2006-2008 Malcolm Cowe
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
include("../inc/inc.Settings.php");
include("../inc/inc.ClassUI.php");
include("../inc/inc.DBInit.php");
include("../inc/inc.Language.php");
include("../inc/inc.Authentication.php");
$form = sanitizeString($_GET["form"]);
$selcats = sanitizeString($_GET["cats"]);
UI::htmlStartPage(getMLText("choose_target_category"));
UI::globalBanner();
UI::pageNavigation(getMLText("choose_target_category"));
?>
<script language="JavaScript">
var targetName = opener.document.<?php echo $form?>.categoryname<?php print $form ?>;
var targetID = opener.document.<?php echo $form?>.categoryid<?php print $form ?>;
$(document).ready(function(){
$('#getcategories').click(function(){
// alert($('#keywordta option:selected').text());
var value = '';
$('#keywordta option:selected').each(function(){
value += ' ' + $(this).text();
});
targetName.value = value;
targetID.value = $('#keywordta').val();
window.close();
return true;
});
});
</script>
<?php
UI::contentContainerStart();
$categories = $dms->getDocumentCategories();
$selcatsarr = explode(',', $selcats);
?>
<table>
<tr>
<td valign="top" class="inputDescription"><?php echo getMLText("categories")?>:</td>
<td>
<select id="keywordta" size="5" style="min-width: 100px;" multiple>
<?php
foreach($categories as $category) {
echo "<option value=\"".$category->getId()."\"";
if(in_array($category->getID(), $selcatsarr))
echo " selected";
echo ">".$category->getName()."</option>\n";
}
?>
</select>
</td>
</tr>
<tr>
<td></td>
<td>
<input type="button" id='getcategories' value="<?php echo getMLText("accept")?>"> &nbsp;&nbsp;
</td>
</tr>
</table>
<?php
UI::contentContainerEnd();
UI::htmlEndPage();
?>