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

Revision 2475, 18.7 KB checked in by rodsouza, 14 years ago (diff)

Ticket #1009 - Correção de problemas no ExpressoContacts? ao exibir algumas imagens.

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