From 03348f7b0df69f4471738a552b457402f23f7c04 Mon Sep 17 00:00:00 2001 From: Miles Lott Date: Sun, 8 Jul 2001 13:55:24 +0000 Subject: [PATCH] Committing traffic direction of 3layer --- addressbook/index.php | 328 +++--------------------------------------- addressbook/main.php | 48 +++++++ 2 files changed, 66 insertions(+), 310 deletions(-) create mode 100644 addressbook/main.php diff --git a/addressbook/index.php b/addressbook/index.php index 17badf29bf..793c685ed9 100755 --- a/addressbook/index.php +++ b/addressbook/index.php @@ -1,320 +1,28 @@ and * - * Miles Lott * - * -------------------------------------------- * - * 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. * - \**************************************************************************/ + /**************************************************************************\ + * phpGroupWare - Messenger * + * http://www.phpgroupware.org * + * This application written by Joseph Engo * + * -------------------------------------------- * + * Funding for this program was provided by http://www.checkwithmom.com * + * -------------------------------------------- * + * 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$ */ + /* $Id$ */ $phpgw_info['flags'] = array( 'currentapp' => 'addressbook', + 'noheader' => True, 'enable_contacts_class' => True, - 'enable_nextmatchs_class' => True + 'enable_nextmatchs_class' => True, + 'nonavbar' => True ); - include('../header.inc.php'); - $t = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); - $t->set_file(array('addressbook_list_t' => 'index.tpl')); - $t->set_block('addressbook_list_t','addressbook_header','addressbook_header'); - $t->set_block('addressbook_list_t','column','column'); - $t->set_block('addressbook_list_t','row','row'); - $t->set_block('addressbook_list_t','addressbook_footer','addressbook_footer'); - - $contacts = CreateObject('phpgwapi.contacts'); - - $customfields = array(); - while (list($col,$descr) = @each($phpgw_info['user']['preferences']['addressbook'])) - { - if ( substr($col,0,6) == 'extra_' ) - { - $field = ereg_replace('extra_','',$col); - $field = ereg_replace(' ','_',$field); - $customfields[$field] = ucfirst($field); - } - } - - if (!isset($cat_id)) - { - $cat_id = $phpgw_info['user']['preferences']['addressbook']['default_category']; - } - if ($phpgw_info['user']['preferences']['addressbook']['autosave_category']) - { - $phpgw->preferences->delete('addressbook','default_category'); - $phpgw->preferences->add('addressbook','default_category',$cat_id); - } - $phpgw->preferences->save_repository(); - - $extrafields = array( - 'ophone' => 'ophone', - 'address2' => 'address2', - 'address3' => 'address3' - ); - /* $qfields = $contacts->stock_contact_fields + $extrafields + $customfields; */ - - /* create column list and the top row of the table based on user prefs */ - while ($column = each($contacts->stock_contact_fields)) - { - $test = strtolower($column[0]); - if (isset($phpgw_info['user']['preferences']['addressbook'][$test]) && - $phpgw_info['user']['preferences']['addressbook'][$test]) - { - $showcol = display_name($column[0]); - $cols .= ' ' . "\n"; - $cols .= ' '; - $cols .= $phpgw->nextmatchs->show_sort_order($sort, - $column[0],$order,"/addressbook/index.php",$showcol,"&cat_id=".$cat_id); - $cols .= "\n "; - $cols .= "\n"; - - /* To be used when displaying the rows */ - $columns_to_display[$column[0]] = True; - } - } - - $nonstd = $extrafields + $customfields; - while ($column = each($nonstd)) - { - $test = strtolower($column[1]); - if (isset($phpgw_info['user']['preferences']['addressbook'][$test]) && - $phpgw_info['user']['preferences']['addressbook'][$test]) - { - $showcol = display_name($column[0]); - /* This must be a custom field */ - if (!$showcol) { $showcol = $column[1]; } - $cols .= ' ' . "\n"; - $cols .= ' '; - $cols .= $showcol; - $cols .= "\n "; - $cols .= "\n"; - - /* To be used when displaying the rows */ - $columns_to_display[$column[0]] = True; - } - } - - 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 = 30; - } - - if (!$filter) - { - if($phpgw_info['user']['preferences']['addressbook']['default_filter']) - { - $filter = $phpgw_info['user']['preferences']['addressbook']['default_filter']; - } - else - { - $filter = 'none'; - } - } - - /* - Set qfilter to display entries where tid=n (normal contact entry), - else they may be accounts, etc. - */ - $qfilter = 'tid=n'; - switch ($filter) - { - case 'blank': - $nosearch = True; - break; - case 'none': - break; - case 'private': - $qfilter .= ',access=private'; /* fall through */ - case 'yours': - $qfilter .= ',owner='.$phpgw_info['user']['account_id']; - break; - default: - $qfilter .= ',owner='.$filter; - } - if ($cat_id) - { - $qfilter .= ',cat_id='.$cat_id; - } - - /* Check if prefs were set, if not, create some defaults */ - if (!$columns_to_display ) - { - $columns_to_display = array( - 'n_given' => 'n_given', - 'n_family' => 'n_family', - 'org_name' => 'org_name' - ); - $columns_to_display = $columns_to_display + $customfields; - /* No prefs,. so cols above may have been set to "" or a bunch of */ - $cols=""; - while ($column = each($columns_to_display)) - { - $showcol = display_name($column[0]); - if (!$showcol) { $showcol = $column[1]; } - $cols .= ' ' . "\n"; - $cols .= ' '; - $cols .= $phpgw->nextmatchs->show_sort_order($sort, - $column[0],$order,"/addressbook/index.php",$showcol,"&cat_id=$cat_id"); - $cols .= "\n "; - $cols .= "\n"; - } - $noprefs=lang('Please set your preferences for this app'); - } - $qcols = $columns_to_display; - - if (!$userid) { $userid = $phpgw_info['user']['account_id']; } - - if ($nosearch && !$query) - { - $entries = array(); - $contacts->total_records = 0; - } - else - { - /* read the entry list */ - $entries = addressbook_read_entries($start,$limit,$qcols,$query,$qfilter,$sort,$order,$userid); - } - - $search_filter = $phpgw->nextmatchs->show_tpl('/addressbook/index.php', - $start, $contacts->total_records,"&order=$order&filter=$filter&sort=$sort&query=$query&cat_id=$cat_id","75%", - $phpgw_info["theme"]["th_bg"],1,1,1,1); - - $lang_showing = $phpgw->nextmatchs->show_hits($contacts->total_records,$start); - - /* set basic vars and parse the header */ - $t->set_var(font,$phpgw_info['theme']['font']); - $t->set_var('lang_view',lang('View')); - $t->set_var('lang_vcard',lang('VCard')); - $t->set_var('lang_edit',lang('Edit')); - $t->set_var('lang_owner',lang('Owner')); - - $t->set_var('searchreturn',$noprefs . ' ' . $searchreturn); - $t->set_var('lang_showing',$lang_showing); - $t->set_var('search_filter',$search_filter); - $t->set_var('cats',lang('Category')); - $t->set_var('cats_url',$phpgw->link('/addressbook/index.php')); - $t->set_var('cats_link',cat_option($cat_id)); - $t->set_var('lang_cats',lang('Select')); - $t->set_var('lang_addressbook',lang('Address book')); - $t->set_var('th_bg',$phpgw_info['theme']['th_bg']); - $t->set_var('th_font',$phpgw_info['theme']['font']); - $t->set_var('th_text',$phpgw_info['theme']['th_text']); - $t->set_var('lang_add',lang('Add')); - $t->set_var('add_url',$phpgw->link('/addressbook/add.php')); - $t->set_var('lang_addvcard',lang('AddVCard')); - $t->set_var('vcard_url',$phpgw->link('/addressbook/vcardin.php')); - $t->set_var('lang_import',lang('Import Contacts')); - $t->set_var('import_url',$phpgw->link('/addressbook/import.php')); - $t->set_var('lang_import_alt',lang('Alt. CSV Import')); - $t->set_var('import_alt_url',$phpgw->link('/addressbook/csv_import.php')); - $t->set_var('lang_export',lang('Export Contacts')); - $t->set_var('export_url',$phpgw->link('/addressbook/export.php')); - $t->set_var('start',$start); - $t->set_var('sort',$sort); - $t->set_var('order',$order); - $t->set_var('filter',$filter); - $t->set_var('query',$query); - $t->set_var('cat_id',$cat_id); - $t->set_var('qfield',$qfield); - $t->set_var('query',$query); - $t->set_var('start',$start); - $t->set_var('filter',$filter); - $t->set_var('cols',$cols); - - $t->pparse('out','addressbook_header'); - - /* Show the entries */ - /* each entry */ - for ($i=0;$iset_var('columns',''); - $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); - $t->set_var('row_tr_color',$tr_color); - $myid = $entries[$i]['id']; - $myowner = $entries[$i]['owner']; - - /* each entry column */ - while ($column = each($columns_to_display)) - { - $ref = $data=''; - $coldata = $entries[$i][$column[0]]; - /* Some fields require special formatting. */ - if ($column[0] == 'url') - { - if ( !empty($coldata) && (substr($coldata,0,7) != 'http://') ) { $coldata = 'http://' . $coldata; } - $ref=''; - $data=$coldata.''; - } - elseif ( ($column[0] == 'email') || ($column[0] == 'email_home') ) - { - if ($phpgw_info['user']['apps']['email']) - { - $ref=''; - } - else - { - $ref=''; - } - $data=$coldata . ''; - } - else /* But these do not */ - { - $ref = ''; $data = $coldata; - } - $t->set_var('col_data',$ref.$data); - $t->parse('columns','column',True); - } - - if (1) - { - $t->set_var('row_view_link',$phpgw->link('/addressbook/view.php', - "ab_id=$myid&start=$start&order=$order&filter=" - . "$filter&query=$query&sort=$sort&cat_id=$cat_id")); - } - else - { - $t->set_var('row_view_link',''); - $t->set_var('lang_view',lang('Private')); - } - - $t->set_var('row_vcard_link',$phpgw->link('/addressbook/vcardout.php', - "ab_id=$myid&start=$start&sort=$sort&order=$order&filter=" - . "$filter&query=$query&sort=$sort&cat_id=$cat_id")); -/* echo '
: ' . $contacts->grants[$myowner] . ' - ' . $myowner; */ - if ($contacts->check_perms($contacts->grants[$myowner],PHPGW_ACL_EDIT) || $myowner == $phpgw_info['user']['account_id']) - { - $t->set_var('row_edit','' . lang('Edit') . ''); - } - else - { - $t->set_var('row_edit',' '); - } - - $t->set_var('row_owner',$phpgw->accounts->id2name($myowner)); - - $t->parse('rows','row',True); - $t->pparse('out','row'); - reset($columns_to_display); - } - - $t->pparse('out','addressbook_footer'); - $phpgw->common->phpgw_footer(); + $obj = CreateObject('addressbook.uiaddressbook'); + $obj->get_list(); ?> diff --git a/addressbook/main.php b/addressbook/main.php new file mode 100644 index 0000000000..97536d6658 --- /dev/null +++ b/addressbook/main.php @@ -0,0 +1,48 @@ + * + * -------------------------------------------- * + * Funding for this program was provided by http://www.checkwithmom.com * + * -------------------------------------------- * + * 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 ($menuaction) + { + list($app,$class,$method) = explode('.',$menuaction); + if (! $app || ! $class || ! $method) + { + $invalid_data = True; + } + } + else + { + $app = 'home'; + $invalid_data = True; + } + + $phpgw_info['flags'] = array( + 'noheader' => True, + 'nonavbar' => True, + 'currentapp' => $app + ); + include('../header.inc.php'); + + $obj = CreateObject(sprintf('%s.%s',$app,$class)); + if ((is_array($obj->public_functions) && $obj->public_functions[$method]) && ! $invalid_data) + { + eval("\$obj->$method();"); + } + else + { + $_obj = CreateObject('addressbook.uiaddressbook'); + $_obj->get_list(); + } +?>