From 25f13d5072e82e92abe99c8ba65084423fa57797 Mon Sep 17 00:00:00 2001 From: Miles Lott Date: Sun, 25 Mar 2001 02:48:11 +0000 Subject: [PATCH] Add category editing code, based on Notes' code, for prefs --- addressbook/addcategory.php | 65 +++++++++++++++++ addressbook/categories.php | 128 +++++++++++++++++++++++++++++++++ addressbook/deletecategory.php | 59 +++++++++++++++ addressbook/editcategory.php | 75 +++++++++++++++++++ 4 files changed, 327 insertions(+) create mode 100644 addressbook/addcategory.php create mode 100644 addressbook/categories.php create mode 100644 addressbook/deletecategory.php create mode 100644 addressbook/editcategory.php diff --git a/addressbook/addcategory.php b/addressbook/addcategory.php new file mode 100644 index 0000000000..2599816608 --- /dev/null +++ b/addressbook/addcategory.php @@ -0,0 +1,65 @@ +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',''); + $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(); +?> diff --git a/addressbook/categories.php b/addressbook/categories.php new file mode 100644 index 0000000000..835c1899f3 --- /dev/null +++ b/addressbook/categories.php @@ -0,0 +1,128 @@ + "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 = "\n" + . "\n" + . "\n" + . "\n" + . "\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;$inextmatchs->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 = ' '; } + +//-------------------------- 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',' '); + } + 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',' '); + } + $t->parse('list','cat_list',True); + } + } +// ---------------------------- end record declaration ----------------------------------------- + + $t->parse('out','cat_list_t',True); + $t->p('out'); + + $phpgw->common->phpgw_footer(); +?> diff --git a/addressbook/deletecategory.php b/addressbook/deletecategory.php new file mode 100644 index 0000000000..e0249c0bff --- /dev/null +++ b/addressbook/deletecategory.php @@ -0,0 +1,59 @@ + 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 = "\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 = "" . lang('No') .""; + $t->set_var("nolink",$nolink); + + $yeslinkf = $phpgw->link('/addressbook/deletecategory.php',"cat_id=$cat_id&confirm=True"); + $yeslinkf = "
link('/addressbook/deletecategory.php') . "\">" + . $hidden_vars + . "" + . "" + . "" + . "
"; + + $yeslink = "" . lang('Yes') .""; + $yeslink = $yeslinkf; + + $t->set_var('yeslink',$yeslink); + + $t->pparse('out','category_delete'); + } + + $phpgw->common->phpgw_footer(); +?> diff --git a/addressbook/editcategory.php b/addressbook/editcategory.php new file mode 100644 index 0000000000..d4b9f1956a --- /dev/null +++ b/addressbook/editcategory.php @@ -0,0 +1,75 @@ +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 = "\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(); +?>