source: trunk/contactcenter/inc/class.ui_api.inc.php @ 285

Revision 285, 17.9 KB checked in by brunocosta, 16 years ago (diff)

Correção dos problemas gerados no commit anterior, a funcionalidade citada no ticket #199 foram temporariamente desativadas.

  • Property svn:eol-style set to native
  • Property svn:executable set to *
Line 
1<?php
2  /***************************************************************************\
3  * eGroupWare - Contacts Center                                              *
4  * http://www.egroupware.org                                                 *
5  * Written by:                                                               *
6  *  - Raphael Derosso Pereira <raphaelpereira@users.sourceforge.net>         *
7  *  - Jonas Goes <jqhcb@users.sourceforge.net>                               *
8  *  sponsored by Thyamad - http://www.thyamad.com                            *
9  * ------------------------------------------------------------------------- *
10  *  This program is free software; you can redistribute it and/or modify it  *
11  *  under the terms of the GNU General Public License as published by the    *
12  *  Free Software Foundation; either version 2 of the License, or (at your   *
13  *  option) any later version.                                               *
14  \***************************************************************************/
15
16        /*
17         * This is the Main ContactCenter API for other eGroupWare applications
18         *
19         */
20 
21        class ui_api
22        {
23                var $commons;
24                var $commons_loaded = false;
25               
26                function ui_api()
27                {
28                        $preferences = ExecMethod('contactcenter.ui_preferences.get_preferences');
29                       
30                        if (!is_array($preferences))
31                        {
32                                $preferences['personCardEmail'] = 1;
33                                //$preferences['personCardPhone'] = 2;
34                        }
35                       
36                        //$template_dir = PHPGW_SERVER_ROOT . '/contactcenter/templates/default/';
37                        //$template = CreateObject('phpgwapi.Template',$template_dir);
38                        $template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
39
40                        $template->set_file(array('api' => 'api_common.tpl'));
41                       
42                        $template->set_var('cc_email_id_type', $preferences['personCardEmail']);
43                       
44                       
45                        /* Messages */
46                        $template->set_var('cc_msg_err_invalid_catalog',lang('Unavailable or empty Catalog'));
47                        $template->set_var('cc_msg_err_contacting_server',lang('Couldn\'t contact server or server response is invalid. Contact Admin.'));
48                        $template->set_var('cc_msg_err_timeout',lang('Operation Timed Out.'));
49                        $template->set_var('cc_msg_err_serialize_data_unknown',lang('Data to be serialized is of unknown type!'));
50                        /* End Messages */
51
52                        if ($preferences['displayConnector'])
53                        {
54                                $template->set_var('cc_connector_visible', 'true');
55                        }
56                        else
57                        {
58                                $template->set_var('cc_connector_visible', 'false');
59                        }
60                        $template->set_var('cc_loading_1', lang('Contacting Server...'));
61                        $template->set_var('cc_loading_2', lang('Server Contacted. Waiting for response...'));
62                        $template->set_var('cc_loading_3', lang('Processing Information...'));
63                        $template->set_var('cc_loading_image', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/templates/default/images/loading_back.png');
64                        $template->set_var('cc_server_root', $GLOBALS['phpgw_info']['server']['webserver_url']);
65                        $template->set_var('cc_phpgw_img_dir', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/images');
66
67                        /* Style Sheets */
68                        $template->set_var('cc_css', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/styles/cc_api.css');
69                        $template->set_var('cc_dtree_css', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/js/dftree/dftree.css');
70
71                        /* JS Files */
72                        $template->set_var('cc_js_aux', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/ccAux.js');
73                        $template->set_var('cc_js_connector', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/connector.js');
74                        $template->set_var('cc_js_wz_dragdrop', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/js/wz_dragdrop/wz_dragdrop.js');
75                        $template->set_var('cc_js_dtree', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/js/dftree/dftree.js');
76                        $template->set_var('cc_js_dtabs', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/js/dTabs/dTabs.js');
77                        $template->set_var('cc_js_djswin', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/js/dJSWin/dJSWin.js');
78                        $template->set_var('cc_js_catalog_tree', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/cc_tree.js');
79                       
80                        $template->parse('out','api');
81
82                        $this->commons = $template->get_var('out');
83                        $this->commons_loaded = false;
84                }
85               
86                /* DEPRECTED! Use get_email_win() instead */
87                function ui_get_email_win()
88                {
89                        return $this->get_email_win();
90                }
91
92                function get_email_win()
93                {
94                        //$search = $this->ui_get_search_win();
95                       
96                        $template_dir = PHPGW_SERVER_ROOT . '/contactcenter/templates/default/';
97                        $template = CreateObject('phpgwapi.Template', $template_dir);
98
99                        $template->set_file(array('email_win' => 'email_win.tpl'));
100                       
101                        if (!$this->commons_loaded)
102                        {
103                                $template->set_var('cc_api', $this->commons);
104                                $this->commons_loaded = true;
105                        }
106                        else
107                        {
108                                $template->set_var('cc_api', '');
109                        }
110                       
111                        //$template->set_var('cc_search_win', $search);
112                        $template->set_var('cc_js_search', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/cc_search.js');
113                       
114                        $template->set_var('cc_email_id_type', $search);
115                       
116                        $template->set_var('cc_email_win_title',lang('Contact Center').' - '.lang('Catalog Entries Emails'));
117                        $template->set_var('cc_email_status',lang('Status').':');
118                        $template->set_var('cc_email_search_text',lang('Search').'...');
119                       
120                        $template->set_var('cc_choose_catalogue',lang('Choose a catalogue').'...');
121                        $template->set_var('cc_choose_ordinance',lang('Choose a ordinance').'...');
122                       
123                        $template->set_var('cc_btn_to_add',lang('To').' >>');
124                        $template->set_var('cc_btn_to_del','<< '.lang('To'));
125                        $template->set_var('cc_btn_cc_add',lang('Cc').' >>');
126                        $template->set_var('cc_btn_cc_del','<< '.lang('Cc'));
127                        $template->set_var('cc_btn_cco_add',lang('Bcc').' >>');
128                        $template->set_var('cc_btn_cco_del','<< '.lang('Bcc'));
129                        $template->set_var('cc_btn_new',lang('New').'...');
130                        $template->set_var('cc_btn_details',lang('Details').'...');
131                        $template->set_var('cc_btn_update',lang('Update'));
132                        $template->set_var('cc_btn_ok',lang('Ok'));
133                        $template->set_var('cc_btn_cancel',lang('Cancel'));
134                       
135                        $template->set_var('cc_label_to',lang('To').':');
136                        $template->set_var('cc_label_cc',lang('Cc').':');
137                        $template->set_var('cc_label_cco',lang('Bcc').':');
138                        $template->set_var('cc_label_entries',lang('Entries').':');
139                        $template->set_var('cc_label_catalogues',lang('Catalogues').':');
140                        $template->set_var('cc_label_catalogue_type',lang('Type Of Catalogue').':');
141                        $template->set_var('cc_label_ordinance_type',lang('Type Of Ordinace').':');
142                       
143                        $template->set_var('phpgw_img_dir', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/images');
144                       
145                        $template->set_var('cc_js_email_win', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/cc_email_win.js');
146                       
147                        $template->parse('out','email_win');
148
149                        return $template->get_var('out');
150                }
151
152                function ui_get_search_win()
153                {
154                        return $this->get_search_win();
155                }
156
157                function get_search_win()
158                {
159                        $template_dir = PHPGW_SERVER_ROOT . '/contactcenter/templates/default/';
160                        $template = CreateObject('phpgwapi.Template',$template_dir);
161
162                        $template->set_file(array('search' => 'search_win.tpl'));
163                       
164                        if (!$this->commons_loaded)
165                        {
166                                $template->set_var('cc_api', $this->commons);
167                                $this->commons_loaded = true;
168                        }
169                        else
170                        {
171                                $template->set_var('cc_api', '');
172                        }
173                       
174                        $template->set_var('cc_search_title',lang('Contact Center - Search for Catalog Entries'));
175                        $template->set_var('cc_search_minimize',lang('Minimize'));
176                        $template->set_var('cc_search_close',lang('Close'));
177                        $template->set_var('cc_search_catalogues',lang('Catalogues'));
178                        $template->set_var('cc_search_for',lang('Search for...'));
179                        $template->set_var('cc_search_recursive',lang('Recursive Search?'));
180                        $template->set_var('cc_search_go',lang('Go'));
181                        $template->set_var('cc_search_cancel',lang('Cancel'));
182                       
183                        $template->set_var('cc_js_search_win', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/cc_search_win.js');
184                       
185                        $template->set_var('phpgw_img_dir', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/phpgwapi/images');
186                       
187                        $template->parse('out','search');
188
189                        return $template->get_var('out');
190                }
191
192                function get_search_obj()
193                {
194                        return "\n".'<script type="text/javascript" src="'.$GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/cc_search.js'.'"></script>'."\n";
195                }
196
197                function ui_get_full_add()
198                {
199                        return $this->get_full_add();
200                }
201
202                function get_full_add()
203                {
204                        $template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
205
206                        $template->set_file(array('full_add' => 'full_add.tpl'));
207                       
208                        if (!$this->commons_loaded)
209                        {
210                                $template->set_var('cc_api', $this->commons);
211                                $this->commons_loaded = true;
212                        }
213                        else
214                        {
215                                $template->set_var('cc_api', '');
216                        }
217                       
218                        $template->set_var('cc_contact_title',lang('Contact Center').' - '.lang('Contacts'));
219
220                        /* Messages */
221                        $template->set_var('cc_msg_err_empty_field',lang('field is empty'));
222                        $template->set_var('cc_msg_type_state',lang('Type new state here').'...');
223                        $template->set_var('cc_msg_type_city',lang('Type new city here').'...');
224                        /* End Messages */
225                       
226                        /* Contact */
227                        $template->set_var('cc_contact_save',lang('Save'));
228                        $template->set_var('cc_contact_cancel',lang('Cancel'));
229                        $template->set_var('cc_contact_reset',lang('Reset'));
230
231                        $template->set_var('cc_contact_personal',lang('Personal'));
232                        $template->set_var('cc_contact_addrs',lang('Addresses'));
233                        $template->set_var('cc_contact_conns',lang('Connections'));
234                        $template->set_var('emails_telephones', lang("E-Mails and Telephones"));
235                        $template->set_var('cc_default', lang("Default"));
236
237                        /* End Contact */
238                       
239                        /* Contact - Personal Data */
240                        $dateformat = $GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
241               
242                        $j = 0;
243                        for ($i = 0; $i < 5; $i+=2)
244                        {
245                                switch($dateformat{$i})
246                                {
247                                        case 'Y':
248                                                $date[$j]['size'] = 4;
249                                                $date[$j]['name'] = lang('Year');
250                                                break;
251
252                                        case 'm':
253                                        case 'M':
254                                                $date[$j]['size'] = 2;
255                                                $date[$j]['name'] = lang('Month');
256                                                break;
257
258                                        case 'd':
259                                                $date[$j]['size'] = 2;
260                                                $date[$j]['name'] = lang('Day');
261                                }
262                                $j++;
263                        }
264                       
265                        $template->set_var('cc_pd_birth_size_0', "{$date[0]['size']}");
266                        $template->set_var('cc_pd_birth_size_1', "{$date[1]['size']}");
267                        $template->set_var('cc_pd_birth_size_2', "{$date[2]['size']}");
268                       
269                        $template->set_var('cc_pd_birthdate_0', "{$date[0]['name']}");
270                        $template->set_var('cc_pd_birthdate_1', "{$date[1]['name']}");
271                        $template->set_var('cc_pd_birthdate_2', "{$date[2]['name']}");
272
273                        $template->set_var('cc_pd_select_photo_b', lang('Browse').'...');
274                        $template->set_var('cc_form_photo_src', 'photo_form.html');
275                       
276                        $template->set_var('cc_pd_select_photo',lang('Select Photo'));
277                        $template->set_var('cc_pd_alias',lang('Alias'));
278                        $template->set_var('cc_pd_given_names',lang('Given Names'));
279                        $template->set_var('cc_pd_family_names',lang('Family Names'));
280                        $template->set_var('cc_pd_full_name',lang('Full Name'));
281                        $template->set_var('cc_pd_birthdate',lang('Birthdate'));
282                        $template->set_var('cc_pd_gpg_finger_print',lang('GPG Finger Print'));
283                        $template->set_var('cc_pd_suffix',lang('Suffix'));
284                        $template->set_var('cc_pd_choose_suffix',lang('Choose Suffix...'));
285                        $template->set_var('cc_pd_prefix',lang('Prefix'));
286                        $template->set_var('cc_pd_choose_prefix',lang('Choose Prefix...'));
287                        $template->set_var('cc_pd_notes',lang('Notes'));
288                        $template->set_var('cc_pd_sex',lang('Sex'));
289                        $template->set_var('cc_pd_choose_sex',lang('Choose Sex ...'));
290                        $template->set_var('cc_pd_male',lang('Male'));
291                        $template->set_var('cc_pd_female',lang('Female'));
292                        /* End Contact - Personal Data */
293                       
294                        /* Contact - Addresses */
295                        $template->set_var('cc_addr_types',lang('Type of Address'));
296                        $template->set_var('cc_addr_choose_types',lang('Choose Type of Address').'...');
297                        $template->set_var('cc_addr_countries',lang('Country'));
298                        $template->set_var('cc_addr_choose_countries',lang('Choose Country').'...');
299                        $template->set_var('cc_addr_states',lang('State'));
300                        $template->set_var('cc_addr_states_new',lang('New State').'...');
301                        $template->set_var('cc_addr_states_nostate',lang('No State'));
302                        $template->set_var('cc_addr_choose_states',lang('Choose State').'...');
303                        $template->set_var('cc_addr_cities',lang('City'));
304                        $template->set_var('cc_addr_cities_new',lang('New City').'...');
305                        $template->set_var('cc_addr_choose_cities',lang('Choose City').'...');
306                        $template->set_var('cc_addr_1',lang('Address 1'));
307                        $template->set_var('cc_addr_2',lang('Address 2'));
308                        $template->set_var('cc_addr_complement',lang('Complement'));
309                        $template->set_var('cc_addr_other',lang('Address Other'));
310                        $template->set_var('cc_addr_postal_code',lang('Postal Code'));
311                        $template->set_var('cc_addr_po_box',lang('PO Box'));
312                        $template->set_var('cc_addr_is_default',lang('Is Default?'));
313                        $template->set_var('cc_addr_yes',lang('Yes'));
314                        $template->set_var('cc_addr_no',lang('No'));
315                        $template->set_var('cc_available',lang('Available'));
316                        /* End Contact - Addresses */
317                       
318                       
319                        /* Contact - Connections */
320                        $template->set_var('cc_conn_type',lang('Type of Connection'));
321                        $template->set_var('cc_conn_name',lang('Connection Name'));
322                        $template->set_var('cc_conn_value',lang('Connection Value'));
323                       
324                        $template->set_var('cc_new_same_type',lang('New from the same Type').'...');
325                       
326                        $template->set_var('cc_conn_type_none',lang('Choose Type of Connection').'...');
327                        /* End Contact - Connections */
328
329                        $template->set_var('email', lang("E-Mail"));
330                        $template->set_var('telephone', lang("Telephone"));
331                        $template->set_var('choose_email_telephone', lang("Choose 'E-Mail' or 'Telephone'"));
332
333                        $template->parse('out_full', 'full_add');
334
335                        return $template->get_var('out_full');
336                }
337
338                function get_quick_add_plugin()
339                {
340                        $template_dir = PHPGW_SERVER_ROOT . '/contactcenter/templates/default/';
341                        $template = CreateObject('phpgwapi.Template',$template_dir);
342
343                        $template->set_file(array('quickAdd' => 'quickAddPlugin.tpl'));
344                       
345                        if (!$this->commons_loaded)
346                        {
347                                $template->set_var('cc_api', $this->commons);
348                                $this->commons_loaded = true;
349                        }
350                        else
351                        {
352                                $template->set_var('cc_api', '');
353                        }
354                       
355                        $template->set_var('ccQAPluginFile', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/ccQuickAdd-plugin.js');
356
357                        /* Fields Insertion */
358
359                        // TODO: get this from preferences
360                        $nFields = 5;
361                        $fields = array(
362                                lang('Alias'),
363                                lang('Given Names'),
364                                lang('Family Names'),
365                                lang('Phone'),
366                                lang('Email')
367                        );
368                       
369                        $template->set_var('ccQAnFields', $nFields);
370                       
371                        $fieldsHTML = '';
372                        $fieldsTop = 10;
373                        $fieldsSpace = 30;
374                        for ($i = 0; $i < $nFields; $i++)
375                        {
376                                $fieldsHTML .= '<span id="ccQuickAddT'.$i.'" style="position: absolute; top: '.($fieldsTop+$i*$fieldsSpace).'px; left: 5px; width: 100px; text-align: right; border: 0px solid #999;">'.$fields[$i].':</span>'."\n";
377                                if ($i == 0){
378                                        $fieldsHTML .= '<input id="ccQuickAddI'.$i.'" type="text" value="" maxlength="30" style="position: absolute; top: '.($fieldsTop+$i*$fieldsSpace).'px; left: 110px; width: 135px;">'."\n";
379                                }
380                                else if ($i == 4){
381                                        $fieldsHTML .= '<input id="ccQuickAddI'.$i.'" type="text" value="" maxlength="100" style="position: absolute; top: '.($fieldsTop+$i*$fieldsSpace).'px; left: 110px; width: 135px;">'."\n";
382                                }
383                                else {
384                                        $fieldsHTML .= '<input id="ccQuickAddI'.$i.'" type="text" value="" maxlength="50" style="position: absolute; top: '.($fieldsTop+$i*$fieldsSpace).'px; left: 110px; width: 135px;">'."\n";
385                                }
386                        }
387
388                        $template->set_var('ccQAFields', $fieldsHTML);
389                        $template->set_var('ccQAWinHeight', ($i+1)*$fieldsSpace+$fieldsTop);
390                        $template->set_var('ccQAFunctionsTop', ($fieldsTop+$i*$fieldsSpace).'px');
391                       
392                        /* Images Dir */
393                        $template->set_var('ccQACardImgRoot', $GLOBALS['phpgw_info']['server']['webserver_url'].'/contactcenter/templates/default/images/');
394                       
395                        /* Texts */
396                        $template->set_var('ccQATitle', lang('Contact Center').' - '.lang('Quick Add'));
397                        $template->set_var('ccQASave', lang('Save'));
398                        $template->set_var('ccQAClear', lang('Reset'));
399                        $template->set_var('ccQACancel', lang('Cancel'));
400                       
401                        $template->parse('out_QA', 'quickAdd');
402
403                        return $template->get_var('out_QA');
404                }
405               
406                function get_add_group()
407                {
408                        $template_dir = PHPGW_SERVER_ROOT . '/contactcenter/templates/default/';
409                        $template = CreateObject('phpgwapi.Template',$template_dir);
410
411                        $template->set_file(array('addGroup' => 'addGroup.tpl'));
412                       
413                        if (!$this->commons_loaded)
414                        {
415                                $template->set_var('cc_api', $this->commons);
416                                $this->commons_loaded = true;
417                        }
418                        else
419                        {
420                               
421                                $template->set_var('cc_api', '');
422                        }
423                       
424                        $template->set_var('ccAGFile', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/ccAddGroup.js');                 
425                        $template->set_var('ccAGWinHeightIE', '285');                   
426                        $template->set_var('ccAGWinHeightMO', '335');
427                       
428                        /* Images Dir */
429                        $template->set_var('ccAGCardImgRoot', $GLOBALS['phpgw_info']['server']['webserver_url'].'/contactcenter/templates/default/images/');
430                       
431                        /* Texts */
432                        $template->set_var('ccAGTitle', lang('Contact Center').' - '.lang('Group Add'));
433                        $template->set_var('ccAGSave', lang('Save'));
434                        $template->set_var('ccAGClear', lang('Reset'));
435                        $template->set_var('ccAGCancel', lang('Cancel'));
436                        $title = '<input type="text" id="title" name="title" value="'.$group['title'].'" size="50" maxlength="50"/>';                   
437                               
438                        $template->set_var('title', $title);                                                                                           
439                        // set content and label variables.
440                        $template->set_var(array(
441                                                'msg_text'      => lang($status),                                               
442                                                'txt_title'     => lang('Contact Group List'),                                         
443                                                'txt_cancel'=> lang('cancel'),
444                                                'txt_add'=> lang('Add'),                                               
445                                                'txt_rem'=> lang('Remove'),
446                                                'txt_personal_contacts' => lang('Personal Contacts'),
447                                                'txt_contacts_in_list' => lang("Participants"),
448                                                'txt_name'      => lang('Full Name')));
449                                               
450                        $template->parse('out_AG', 'addGroup');
451                       
452                        return $template->get_var('out_AG');
453                }
454        }
455?>
Note: See TracBrowser for help on using the repository browser.