Add category editing code, based on Notes' code, for prefs

This commit is contained in:
Miles Lott 2001-03-25 02:48:11 +00:00
parent a5bf90d42e
commit 25f13d5072
4 changed files with 327 additions and 0 deletions

View File

@ -0,0 +1,65 @@
<?php
/**************************************************************************\
* phpGroupWare - Addressbook *
* http://www.phpgroupware.org *
* Written by Bettina Gille [ceb@phpgroupware.org] *
* ----------------------------------------------- *
* 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. *
\**************************************************************************/
/* $Id$ */
$phpgw_info["flags"]["currentapp"] = 'addressbook';
include("../header.inc.php");
$t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('addressbook'));
$t->set_file(array('form' => 'category_form.tpl'));
$t->set_block('form','add','addhandle');
$t->set_block('form','edit','edithandle');
$c = CreateObject('phpgwapi.categories');
if ($submit) {
$errorcount = 0;
$exists = $c->exists('main',$cat_name);
if ($exists == True) { $error[$errorcount++] = lang('That category name has been used already !'); }
if (!$cat_name) { $error[$errorcount++] = lang('Please enter a name for that category !'); }
if (! $error) {
$cat_name = addslashes($cat_name);
$cat_description = addslashes($cat_description);
$c->add($cat_name,$cat_parent,$cat_description,$cat_data);
}
}
if ($errorcount) { $t->set_var('message',$phpgw->common->error_list($error)); }
if (($submit) && (! $error) && (! $errorcount)) { $t->set_var('message',lang("Category $cat_name has been added !")); }
if ((! $submit) && (! $error) && (! $errorcount)) { $t->set_var('message',''); }
$t->set_var('font',$font);
$t->set_var('user_name',$phpgw_info["user"]["fullname"]);
$t->set_var('title_categories',lang('Add category for'));
$t->set_var('actionurl',$phpgw->link('/addressbook/addcategory.php'));
$t->set_var('hidden_vars','<input type="hidden" name="cat_id" value="' . $cat_id . '">');
$t->set_var('lang_choose',lang('Choose the category'));
$t->set_var('lang_main_cat',lang('Category'));
$t->set_var('main_cat_list',$c->formated_list('select','mains'));
$t->set_var('lang_name',lang('Category name'));
$t->set_var('lang_descr',lang('Category description'));
$t->set_var('cat_name',$cat_name);
$t->set_var('cat_description',$cat_description);
$t->set_var('lang_add',lang('Add'));
$t->set_var('lang_reset',lang('Clear Form'));
$t->set_var('edithandle','');
$t->set_var('addhandle','');
$t->pparse('out','form');
$t->pparse('addhandle','add');
$phpgw->common->phpgw_footer();
?>

128
addressbook/categories.php Normal file
View File

@ -0,0 +1,128 @@
<?php
/**************************************************************************\
* phpGroupWare - Inventory *
* http://www.phpgroupware.org *
* Written by Bettina Gille [ceb@phpgroupware.org] *
* ----------------------------------------------- *
* 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. *
\**************************************************************************/
/* $Id$ */
$phpgw_info["flags"] = array("currentapp" => "addressbook",
"enable_nextmatchs_class" => True,
"enable_categories_class" => True);
include("../header.inc.php");
$t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('addressbook'));
$t->set_file(array('cat_list_t' => 'listcats.tpl',
'cat_list' => 'listcats.tpl'));
$t->set_block('cat_list_t','cat_list','list');
$common_hidden_vars = "<input type=\"hidden\" name=\"sort\" value=\"$sort\">\n"
. "<input type=\"hidden\" name=\"order\" value=\"$order\">\n"
. "<input type=\"hidden\" name=\"query\" value=\"$query\">\n"
. "<input type=\"hidden\" name=\"start\" value=\"$start\">\n"
. "<input type=\"hidden\" name=\"filter\" value=\"$filter\">\n";
if (isset($phpgw_info["user"]["preferences"]["addressbook"]["addressbook_font"])) {
$font = $phpgw_info["user"]["preferences"]["addressbook"]["addressbook_font"];
}
else { $font = set_font(); }
$t->set_var('font',$font);
$t->set_var('user_name',$phpgw_info["user"]["fullname"]);
$t->set_var('title_categories',lang('Categories for'));
$t->set_var('lang_action',lang('Category list'));
$t->set_var('add_action',$phpgw->link("/addressbook/addcategory.php"));
$t->set_var('lang_add',lang('Add'));
$t->set_var('lang_search',lang('Search'));
$t->set_var('actionurl',$phpgw->link("/addressbook/categories.php"));
if (! $start) { $start = 0; }
if($phpgw_info["user"]["preferences"]["common"]["maxmatchs"] && $phpgw_info["user"]["preferences"]["common"]["maxmatchs"] > 0) {
$limit = $phpgw_info["user"]["preferences"]["common"]["maxmatchs"];
}
else { $limit = 15; }
$c = CreateObject('phpgwapi.categories');
$categories = $c->return_array($type,$start,$limit,$query,$sort,$order);
//--------------------------------- nextmatch --------------------------------------------
$left = $phpgw->nextmatchs->left('/addressbook/categories.php',$start,$c->total_records);
$right = $phpgw->nextmatchs->right('/addressbook/categories.php',$start,$c->total_records);
$t->set_var('left',$left);
$t->set_var('right',$right);
if ($c->total_records > $limit) {
$lang_showing=lang("showing x - x of x",($start + 1),($start + $limit),$c->total_records);
}
else { $lang_showing=lang("showing x",$c->total_records); }
$t->set_var('lang_showing',$lang_showing);
// ------------------------------ end nextmatch ------------------------------------------
//------------------- list header variable template-declarations -------------------------
$t->set_var('th_bg',$phpgw_info["theme"][th_bg]);
$t->set_var('sort_name',$phpgw->nextmatchs->show_sort_order($sort,'cat_name',$order,'/addressbook/categories.php',lang('Name')));
$t->set_var('sort_description',$phpgw->nextmatchs->show_sort_order($sort,'cat_description',$order,'/addressbook/categories.php',lang('Description')));
$t->set_var('lang_addressbook',lang('Addressbook'));
$t->set_var('lang_edit',lang('Edit'));
$t->set_var('lang_delete',lang('Delete'));
// -------------------------- end header declaration --------------------------------------
for ($i=0;$i<count($categories);$i++) {
if ($categories[$i]['owner'] == $phpgw_info["user"]["account_id"]) {
$tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color);
$t->set_var(tr_color,$tr_color);
$cat_id = $categories[$i]['id'];
$owner = $categories[$i]['owner'];
$name = $phpgw->strip_html($categories[$i]['name']);
$descr = $phpgw->strip_html($categories[$i]['description']);
if (! $descr) { $descr = '&nbsp;'; }
//-------------------------- template declaration for list records ---------------------------
$t->set_var(array('name' => $name,
'descr' => $descr));
$t->set_var('addressbook',$phpgw->link('/addressbook/index.php',"filter=$cat_id"));
if ($categories[$i]["owner"] == $phpgw_info["user"]["account_id"]) {
$t->set_var('edit',$phpgw->link('/addressbook/editcategory.php',"cat_id=$cat_id"));
$t->set_var('lang_edit_entry',lang('Edit'));
}
else {
$t->set_var('edit','');
$t->set_var('lang_edit_entry','&nbsp;');
}
if ($categories[$i]["owner"] == $phpgw_info["user"]["account_id"]) {
$t->set_var('delete',$phpgw->link('/addressbook/deletecategory.php',"cat_id=$cat_id"));
$t->set_var('lang_delete_entry',lang('Delete'));
}
else {
$t->set_var('delete','');
$t->set_var('lang_delete_entry','&nbsp;');
}
$t->parse('list','cat_list',True);
}
}
// ---------------------------- end record declaration -----------------------------------------
$t->parse('out','cat_list_t',True);
$t->p('out');
$phpgw->common->phpgw_footer();
?>

View File

@ -0,0 +1,59 @@
<?php
/**************************************************************************\
* phpGroupWare - Addressbook *
* (http://www.phpgroupware.org) *
* Written by Bettina Gille [ceb@phpgroupware.org] *
* ----------------------------------------------- *
* 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. *
\**************************************************************************/
/* $Id$ */
if ($confirm) {
$phpgw_info["flags"] = array('noheader' => True,
'nonavbar' => True);
}
$phpgw_info["flags"]["currentapp"] = "addressbook";
include("../header.inc.php");
$c = CreateObject('phpgwapi.categories');
if (! $cat_id) {
Header('Location: ' . $phpgw->link('/addressbook/categories.php'));
}
if ($confirm) {
$c->delete($cat_id);
Header('Location: ' . $phpgw->link('/addressbook/categories.php'));
}
else {
$hidden_vars = "<input type=\"hidden\" name=\"cat_id\" value=\"$cat_id\">\n";
$t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('addressbook'));
$t->set_file(array('category_delete' => 'delete.tpl'));
$t->set_var('deleteheader',lang('Are you sure you want to delete this category ?'));
$nolinkf = $phpgw->link('/addressbook/categories.php',"cat_id=$cat_id");
$nolink = "<a href=\"$nolinkf\">" . lang('No') ."</a>";
$t->set_var("nolink",$nolink);
$yeslinkf = $phpgw->link('/addressbook/deletecategory.php',"cat_id=$cat_id&confirm=True");
$yeslinkf = "<FORM method=\"POST\" name=yesbutton action=\"".$phpgw->link('/addressbook/deletecategory.php') . "\">"
. $hidden_vars
. "<input type=hidden name=cat_id value=$cat_id>"
. "<input type=hidden name=confirm value=True>"
. "<input type=submit name=yesbutton value=Yes>"
. "</FORM><SCRIPT>document.yesbutton.yesbutton.focus()</SCRIPT>";
$yeslink = "<a href=\"$yeslinkf\">" . lang('Yes') ."</a>";
$yeslink = $yeslinkf;
$t->set_var('yeslink',$yeslink);
$t->pparse('out','category_delete');
}
$phpgw->common->phpgw_footer();
?>

View File

@ -0,0 +1,75 @@
<?php
/**************************************************************************\
* phpGroupWare - Addressbook *
* http://www.phpgroupware.org *
* Written by Bettina Gille [ceb@phpgroupware.org] *
* ----------------------------------------------- *
* 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. *
\**************************************************************************/
/* $Id$ */
$phpgw_info["flags"]["currentapp"] = 'addressbook';
include("../header.inc.php");
if (! $cat_id) {
Header("Location: " . $phpgw->link('/addressbook/categories.php',"sort=$sort&order=$order&query=$query&start=$start"
. "&filter=$filter"));
}
$t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('addressbook'));
$t->set_file(array('form' => 'category_form.tpl'));
$t->set_block('form','add','addhandle');
$t->set_block('form','edit','edithandle');
$c = CreateObject('phpgwapi.categories');
if ($submit) {
$errorcount = 0;
if (!$cat_name) { $error[$errorcount++] = lang('Please enter a name for that category !'); }
$phpgw->db->query("SELECT count(*) from phpgw_categories WHERE cat_name='$cat_name' AND cat_id !='$cat_id' AND cat_appname='"
. $phpgw_info["flags"]["currentapp"] ."'");
$phpgw->db->next_record();
if ($phpgw->db->f(0) != 0) { $error[$errorcount++] = lang('That category name has been used already !'); }
$cat_name = addslashes($cat_name);
$cat_description = addslashes($cat_description);
if (! $error) { $c->edit($cat_id,$cat_parent,$cat_name,$cat_description,$cat_data); }
}
if ($errorcount) { $t->set_var('message',$phpgw->common->error_list($error)); }
if (($submit) && (! $error) && (! $errorcount)) { $t->set_var('message',lang("Category $cat_name has been updated !")); }
if ((! $submit) && (! $error) && (! $errorcount)) { $t->set_var('message',''); }
$cats = $c->return_single($cat_id);
$t->set_var('font',$font);
$t->set_var('user_name',$phpgw_info["user"]["fullname"]);
$t->set_var('title_categories',lang('Edit category for'));
$t->set_var('lang_action',lang('Edit category'));
$t->set_var('actionurl',$phpgw->link('/addressbook/editcategory.php'));
$t->set_var('deleteurl',$phpgw->link('/addressbook/deletecategory.php'));
$hidden_vars = "<input type=\"hidden\" name=\"cat_id\" value=\"$cat_id\">\n";
$t->set_var('hidden_vars',$hidden_vars);
$t->set_var('lang_name',lang('Category name'));
$t->set_var('lang_descr',lang('Category description'));
$cat_id = $cats[0]['id'];
$t->set_var('cat_name',$phpgw->strip_html($cats[0]['name']));
$t->set_var('cat_description',$phpgw->strip_html($cats[0]['description']));
$t->set_var('lang_edit',lang('Edit'));
$t->set_var('lang_delete',lang('Delete'));
$t->set_var('edithandle','');
$t->set_var('addhandle','');
$t->pparse('out','form');
$t->pparse('edithandle','edit');
$phpgw->common->phpgw_footer();
?>