From 6223c14c96d8e1eafc20866036bdd452663e138d Mon Sep 17 00:00:00 2001 From: bettina Date: Sun, 1 Apr 2001 01:48:00 +0000 Subject: [PATCH] included files to edit apps categories. each app can use the files in preferences dir --- preferences/addcategory.php | 84 +++++++++++ preferences/categories.php | 130 ++++++++++++++++++ preferences/deletecategory.php | 65 +++++++++ preferences/editcategory.php | 101 ++++++++++++++ .../templates/default/category_form.tpl | 66 +++++++++ preferences/templates/default/delete.tpl | 19 +++ preferences/templates/default/listcats.tpl | 60 ++++++++ 7 files changed, 525 insertions(+) create mode 100644 preferences/addcategory.php create mode 100644 preferences/categories.php create mode 100644 preferences/deletecategory.php create mode 100644 preferences/editcategory.php create mode 100644 preferences/templates/default/category_form.tpl create mode 100644 preferences/templates/default/delete.tpl create mode 100644 preferences/templates/default/listcats.tpl diff --git a/preferences/addcategory.php b/preferences/addcategory.php new file mode 100644 index 0000000000..33206ed8d2 --- /dev/null +++ b/preferences/addcategory.php @@ -0,0 +1,84 @@ + $cats_app, + 'noappheader' => True, + 'noappfooter' => True); + + $phpgw_info['flags'] = $phpgw_flags; + include('../header.inc.php'); + + $hidden_vars = "\n" + . "\n" + . "\n" + . "\n" + . "\n" + . "\n"; + + + $t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('preferences')); + $t->set_file(array('form' => 'category_form.tpl')); + $t->set_block('form','add','addhandle'); + $t->set_block('form','edit','edithandle'); + + $c = CreateObject('phpgwapi.categories'); + $c->app_name = $cats_app; + + if ($submit) { + $errorcount = 0; + + if (!$cat_name) { $error[$errorcount++] = lang('Please enter a name for that category !'); } + if (!$cat_parent) { $exists = $c->exists('mains',$cat_name); } + else { $exists = $c->exists('subs',$cat_name); } + if ($exists == True) { $error[$errorcount++] = lang('That category name has been used already !'); } + + if (! $error) { + $cat_name = addslashes($cat_name); + $cat_description = addslashes($cat_description); + if ($access) { $cat_access = 'private'; } + else { $cat_access = 'public'; } + + $c->add($cat_name,$cat_parent,$cat_description,$cat_data,$cat_access); + } + } + + 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('category_list',$c->formated_list('select','all',$cat_parent,'False')); + $t->set_var('hidden_vars',$hidden_vars); + $t->set_var('font',$font); + $t->set_var('user_name',$phpgw_info["user"]["fullname"]); + $t->set_var('doneurl',$phpgw->link('/preferences/categories.php')); + $t->set_var('title_categories',lang('Add category for')); + $t->set_var('actionurl',$phpgw->link('/preferences/addcategory.php')); + $t->set_var('lang_choose',lang('Choose the category')); + $t->set_var('lang_select_parent',lang('Select parent category')); + $t->set_var('lang_access',lang('Private')); + if ($access) { $t->set_var('access', ''); } + else { $t->set_var('access', '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('lang_done',lang('Done')); + $t->set_var('edithandle',''); + $t->set_var('addhandle',''); + $t->pparse('out','form'); + $t->pparse('addhandle','add'); + + $phpgw->common->phpgw_footer(); +?> diff --git a/preferences/categories.php b/preferences/categories.php new file mode 100644 index 0000000000..22056ae1bc --- /dev/null +++ b/preferences/categories.php @@ -0,0 +1,130 @@ + $cats_app, + 'enable_nextmatchs_class' => True, + 'noappheader' => True, + 'noappfooter' => True); + + $phpgw_info['flags'] = $phpgw_flags; + include('../header.inc.php'); + + $t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('preferences')); + $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" + . "\n"; + + $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('/preferences/addcategory.php',"cats_app=$cats_app")); + $t->set_var('lang_add',lang('Add')); + $t->set_var('lang_search',lang('Search')); + $t->set_var('actionurl',$phpgw->link('/preferences/categories.php',"cats_app=$cats_app")); + $t->set_var('lang_done',lang('Done')); + $t->set_var('doneurl',$phpgw->link('/preferences/')); + + 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'); + $c->app_name = $cats_app; + $categories = $c->return_array('all',$start,$limit,$query,$sort,$order,'False'); + +//--------------------------------- nextmatch -------------------------------------------- + + $left = $phpgw->nextmatchs->left('/preferneces/categories.php',$start,$c->total_records,"&cats_app=$cats_app"); + $right = $phpgw->nextmatchs->right('/preferences/categories.php',$start,$c->total_records,"&cats_app=$cats_app"); + $t->set_var('left',$left); + $t->set_var('right',$right); + + if ($c->total_records > $limit) { + $t->set_var('lang_showing',lang("showing x - x of x",($start + 1),($start + $limit),$c->total_records)); + } + else { $t->set_var('lang_showing',lang("showing x",$c->total_records)); } + +// ------------------------------ 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,'/preferences/categories.php',lang('Name'),"&cats_app=$cats_app")); + $t->set_var('sort_description',$phpgw->nextmatchs->show_sort_order($sort,'cat_description',$order,'/preferences/categories.php',lang('Description'),"&cats_app=$cats_app")); + $t->set_var('lang_app',lang($cats_app)); + $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']; + $space = '  '; + if ($categories[$i]['parent'] > 0) { $name = $space . $phpgw->strip_html($categories[$i]['name']); } + + $descr = $phpgw->strip_html($categories[$i]['description']); + if (! $descr) { $descr = ' '; } + + if ($categories[$i]['parent'] == 0) { + $name = '' . $phpgw->strip_html($categories[$i]['name']) . ''; + $descr = '' . $descr . ''; + } + +//-------------------------- template declaration for list records --------------------------- + + $t->set_var(array('name' => $name, + 'descr' => $descr)); + + + $t->set_var('app_url',$phpgw->link('/' . $phpgw_info['flags']['currentapp'] . '/index.php',"cat_id=$cat_id")); + + if ($categories[$i]["owner"] == $phpgw_info["user"]["account_id"]) { + $t->set_var('edit',$phpgw->link('/preferences/editcategory.php',"cat_id=$cat_id&cats_app=$cats_app")); + $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('/preferences/deletecategory.php',"cat_id=$cat_id&cats_app=$cats_app")); + $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(); +?> \ No newline at end of file diff --git a/preferences/deletecategory.php b/preferences/deletecategory.php new file mode 100644 index 0000000000..1162c20c81 --- /dev/null +++ b/preferences/deletecategory.php @@ -0,0 +1,65 @@ + True, + 'nonavbar' => True); + } + + $phpgw_info['flags']['currentapp'] = $cats_app; + $phpgw_info['flags']['noappheader'] = True; + $phpgw_info['flags']['noappfooter'] = True; + + include("../header.inc.php"); + + $c = CreateObject('phpgwapi.categories'); + $c->app_name = $cats_app; + + if (! $cat_id) { + Header('Location: ' . $phpgw->link('/preferences/categories.php')); + } + + if ($confirm) { + $c->delete($cat_id); + Header('Location: ' . $phpgw->link('/preferences/categories.php',"cats_app=$cats_app")); + } + else { + $hidden_vars = "\n" + . $hidden_vars = "\n"; + + $t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('preferences')); + $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('/preferences/categories.php',"cat_id=$cat_id&cats_app=$cats_app"); + $nolink = "" . lang('No') .""; + $t->set_var("nolink",$nolink); + + $yeslinkf = $phpgw->link('/preferences/deletecategory.php',"cat_id=$cat_id&confirm=True"); + $yeslinkf = "
link('/preferences/deletecategory.php') . "\">" + . $hidden_vars + . "" + . "" + . "" + . "
"; + + $yeslink = "" . lang('Yes') .""; + $yeslink = $yeslinkf; + + $t->set_var('yeslink',$yeslink); + + $t->pparse('out','category_delete'); + } + + $phpgw->common->phpgw_footer(); +?> \ No newline at end of file diff --git a/preferences/editcategory.php b/preferences/editcategory.php new file mode 100644 index 0000000000..48a8f533e1 --- /dev/null +++ b/preferences/editcategory.php @@ -0,0 +1,101 @@ + $cats_app, + 'noappheader' => True, + 'noappfooter' => True); + + $phpgw_info['flags'] = $phpgw_flags; + include('../header.inc.php'); + + $hidden_vars = "\n" + . "\n" + . "\n" + . "\n" + . "\n" + . "\n"; + + if (! $cat_id) { + Header('Location: ' . $phpgw->link('/preferences/categories.php',"sort=$sort&order=$order&query=$query&start=$start" + . "&filter=$filter")); + } + + $t = CreateObject('phpgwapi.Template',$phpgw->common->get_tpl_dir('preferences')); + $t->set_file(array('form' => 'category_form.tpl')); + $t->set_block('form','add','addhandle'); + $t->set_block('form','edit','edithandle'); + + $c = CreateObject('phpgwapi.categories'); + $c->app_name = $cats_app; + + 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"] ."' AND cat_parent='0'"); + $phpgw->db->next_record(); + if ($phpgw->db->f(0) != 0) { $error[$errorcount++] = lang('That main category name has been used already !'); } + + $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"] ."' AND cat_parent != '0'"); + $phpgw->db->next_record(); + if ($phpgw->db->f(0) != 0) { $error[$errorcount++] = lang('That sub category name has been used already !'); } + + $cat_name = addslashes($cat_name); + $cat_description = addslashes($cat_description); + if ($access) { $cat_access = 'private'; } + else { $cat_access = 'public'; } + + if (! $error) { $c->edit($cat_id,$cat_parent,$cat_name,$cat_description,$cat_data,$cat_access); } + } + + 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); + + $cat_parent = $cats[0]['parent']; + $t->set_var('category_list',$c->formated_list('select','all',$cat_parent,'False')); + $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('doneurl',$phpgw->link('/preferences/categories.php')); + $t->set_var('actionurl',$phpgw->link('/preferences/editcategory.php')); + $t->set_var('deleteurl',$phpgw->link('/preferences/deletecategory.php')); + $t->set_var('hidden_vars',$hidden_vars); + $t->set_var('lang_name',lang('Category name')); + $t->set_var('lang_descr',lang('Category description')); + $t->set_var('lang_select_parent',lang('Select parent category')); + $t->set_var('lang_access',lang('Private')); + if ($cats[0]['access']=='private') { $t->set_var('access', ''); } + else { $t->set_var('access', '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('lang_done',lang('Done')); + + $t->set_var('edithandle',''); + $t->set_var('addhandle',''); + + $t->pparse('out','form'); + $t->pparse('edithandle','edit'); + + $phpgw->common->phpgw_footer(); +?> diff --git a/preferences/templates/default/category_form.tpl b/preferences/templates/default/category_form.tpl new file mode 100644 index 0000000000..0c1f446d90 --- /dev/null +++ b/preferences/templates/default/category_form.tpl @@ -0,0 +1,66 @@ + + +
+ + + + +
{title_categories}: {user_name}
+{message} + + + + + + + + + + + + + + + + + + +
 
{lang_name}:
{lang_descr}:
{lang_access}:{access}
+ + + + + + + + +
+ {hidden_vars} + + +
+ {hidden_vars} +
+ +
+ + + + + + + + + +
+ {hidden_vars} + +
+ {hidden_vars} +
+
+ {hidden_vars} +
+ + + \ No newline at end of file diff --git a/preferences/templates/default/delete.tpl b/preferences/templates/default/delete.tpl new file mode 100644 index 0000000000..816dd8e170 --- /dev/null +++ b/preferences/templates/default/delete.tpl @@ -0,0 +1,19 @@ + +


+
+ + + + + + + +
{deleteheader}
+ + + + + +
{nolink}{yeslink}
+
+
\ No newline at end of file diff --git a/preferences/templates/default/listcats.tpl b/preferences/templates/default/listcats.tpl new file mode 100644 index 0000000000..e2c61b0293 --- /dev/null +++ b/preferences/templates/default/listcats.tpl @@ -0,0 +1,60 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{title_categories}: {user_name}
+ + + {left} + + {right} + +
{lang_showing}
+
  +
+   +
{sort_name}{sort_description}{lang_app}{lang_edit}{lang_delete}
{name}{descr}{lang_app}{lang_edit_entry}{lang_delete_entry}
+
+ {hidden_vars} + +
+
+
+ {hidden_vars} + +
+
+
+