Changeset 4500 for sandbox/2.2.0.2
- Timestamp:
- 05/25/11 10:47:52 (13 years ago)
- Location:
- sandbox/2.2.0.2
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
sandbox/2.2.0.2/admin/inc/class.uiconfig.inc.php
r3018 r4500 79 79 /* Load hook file with functions to validate each config (one/none/all) */ 80 80 $GLOBALS['phpgw']->hooks->single('config_validate',$appname); 81 82 if (!isset($_POST['newsettings']['cc_allow_details'])) { 83 $_POST['newsettings']['cc_allow_details'] = "false"; 84 } 81 85 82 86 foreach($_POST['newsettings'] as $key => $config) 83 87 { 84 if ($config) 85 { 86 if($GLOBALS['phpgw_info']['server']['found_validation_hook'] && function_exists($key)) 87 { 88 call_user_func($key,$config); 89 if($GLOBALS['config_error']) 88 89 if ($config) 90 { // Código adicionado 91 if($GLOBALS['phpgw_info']['server']['found_validation_hook'] && (function_exists($key) || function_exists(substr($key,0,strrpos($key,'_')))) ) 92 { 93 if(function_exists(substr($key,0,strrpos($key,'_')))) 94 { 95 call_user_func(substr($key,0,strrpos($key,'_')),&$config); 96 } 97 else 98 { 99 call_user_func($key,&$config); 100 } 101 102 if($GLOBALS['config_error']) 90 103 { 91 104 $errors .= lang($GLOBALS['config_error']) . ' '; … … 152 165 echo parse_navbar(); 153 166 167 168 $campos = ''; 169 170 if($appname=="contactcenter") 171 { 172 173 foreach ($c->config_data as $key => $config) 174 { 175 $parts = explode('_', $key); 176 if (is_numeric($parts[3]) && $parts[1]=='attribute') 177 { 178 $fields[$parts[3]][$key] = $config; 179 } 180 181 182 if($key == 'cc_allow_details') { 183 $checkedCoisa = 'value="details"'; 184 if ($config=='true') { 185 $checkedCoisa = 'value="details" checked="checked"'; 186 } 187 } 188 } 189 190 191 foreach ($fields as $i => $line) 192 { 193 if ($line["cc_attribute_name_$i"] != '' && $line["cc_attribute_ldapname_$i"] != '') { 194 $selectedText = $line["cc_attribute_type_$i"] == 'text' ? 'selected="selected"' : ''; 195 $selectedTMult = $line["cc_attribute_type_$i"] == 'multivalues' ? 'selected="selected"' : ''; 196 197 $campos = $campos . "<div class=\"cc_attribute\"> 198 <label>" . lang('Name') .":</label> 199 <input type=\"text\" name=\"newsettings[cc_attribute_name_" . $i . "]\" value=\"".$line["cc_attribute_name_$i"]."\" /> 200 <label>" . lang('Corresponding LDAP') . ":</label> 201 <input type=\"text\" name=\"newsettings[cc_attribute_ldapname_" . $i . "]\" value=\"".$line["cc_attribute_ldapname_$i"]."\" /> 202 <label>" . lang('Type') . ":</label> 203 <select name=\"newsettings[cc_attribute_type_" . $i . "]\"> 204 <option value=\"text\" $selectedText>" . lang('Text') . "</option> 205 <option value=\"multivalues\" $selectedTMult>" . lang('Multivalued') ."</option> 206 </select> 207 <img src=\"contactcenter/templates/default/images/cc_x.png\" alt=\"". lang('Delete') . "\" style=\"width: 15px; height: 14px; cursor: pointer; position: relative; top: 3px;\" onclick=\"javascript:cc_attribute_delete(this)\"/> 208 </div>"; 209 } 210 } 211 212 if ($campos == '') 213 { 214 $campos = "<div class=\"cc_attribute\"> 215 <label>" . lang('Name') .":</label> 216 <input type=\"text\" name=\"newsettings[cc_attribute_name_0]\" value=\"\" /> 217 <label>" . lang('Corresponding LDAP') . ":</label> 218 <input type=\"text\" name=\"newsettings[cc_attribute_ldapname_0]\" value=\"\" /> 219 <label>" . lang('Type') . ":</label> 220 <select name=\"newsettings[cc_attribute_type_0]\"> 221 <option value=\"text\">" . lang('Text') . "</option> 222 <option value=\"multivalues\">" . lang('Multivalued') . "</option> 223 </select> 224 <img src=\"contactcenter/templates/default/images/cc_x.png\" alt=\"". lang('Delete') ."\" style=\"width: 15px; height: 14px; cursor: pointer; position: relative; top: 3px;\" onclick=\"javascript:cc_attribute_delete(this)\"/> 225 </div>"; 226 } 227 228 $t->set_var('lang_add_button', lang('Add')); 229 $t->set_var('lang_cc_Set_details_attributes', lang('Details on the Global Catalog Address')); 230 $t->set_var('lang_cc_Allow_view_details_label', lang('Enable display of contact details for the Global Catalog')); 231 $t->set_var('attribute_fields', $campos); 232 $t->set_var('cc_config_js', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/cc_config.js'); 233 $t->set_var('cc_allow_view_details_value', $checkedCoisa); 234 } 235 236 154 237 if($appname=="expressoAdmin1_2") { 155 238 /* Varre a pasta inc do admin do expresso procurando scripts de geração de login automático -
sandbox/2.2.0.2/contactcenter/inc/class.bo_ldap_manager.inc.php
r4352 r4500 193 193 /* 194 194 * @function get_external_ldap_fields_association 195 * @author M ï¿œrio Cï¿œsar Kolling <mario.kolling@serpro.gov.br>195 * @author Mário César Kolling <mario.kolling@serpro.gov.br> 196 196 * @abstract get the fields association for an external ldap_source 197 197 * @return an array with attribute mappings … … 206 206 /* 207 207 * @function test_connection 208 * @author M ï¿œrio Cï¿œsar Kolling <mario.kolling@serpro.gov.br>208 * @author Mário César Kolling <mario.kolling@serpro.gov.br> 209 209 * @abstract Test if we can bind to a ldap server in a reasonable time 210 210 * @param (string) $host ldap server's hostname … … 291 291 @function get_external_ldap_tree 292 292 @abstract Returns the LDAP external tree corresponding to the specified level 293 @author M ï¿œrio Cï¿œsar Kolling <mario.kolling@serpro.gov.br>293 @author Mário César Kolling <mario.kolling@serpro.gov.br> 294 294 @param (integer) $id_source The ID of the external LDAP source 295 295 @param (string) $context The context to be used as root branch … … 458 458 { 459 459 /* 460 * Esta opera ᅵᅵo resolve o problema causado pela conversï¿œo de caracteres acentuados realizada461 * pela fun ᅵᅵo ldap_explode_dn().460 * Esta operação resolve o problema causado pela conversão de caracteres acentuados realizada 461 * pela função ldap_explode_dn(). 462 462 */ 463 463 … … 539 539 list($group) = explode('=',$dn_parts_full[0]); 540 540 541 //Faz a compara ᅵᅵo do branch como case insensitive541 //Faz a comparação do branch como case insensitive 542 542 if (strtolower($group) == strtolower($branch_dn) or $branch_dn === 'all') 543 543 { -
sandbox/2.2.0.2/contactcenter/inc/class.ui_api.inc.php
r4498 r4500 183 183 $template->parse('out','search'); 184 184 185 return $template->get_var('out'); 186 } 187 188 function get_contact_details() 189 { 190 $template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL); 191 $template->set_file(array('details' => 'contact_details.tpl')); 192 193 if (!$this->commons_loaded) 194 { 195 $template->set_var('cc_api', $this->commons); 196 $this->commons_loaded = true; 197 } 198 else 199 { 200 $template->set_var('cc_api', ''); 201 } 202 203 //$template->set_var('ccContactDetails.js', $GLOBALS['phpgw_info']['server']['webserver_url'] . '/contactcenter/js/ccContactDetails.js'); 204 $template->set_var('cc_contact_details_title',lang("Contact's details")); 205 $template->set_var('cc_contact_details_close',lang("Close")); 206 $template->set_var('cc_contact_details_no_fields',lang("The extra details are not configured.")); 207 $template->set_var('cc_contact_details_attr_name',lang("Attribute name")); 208 $template->set_var('cc_contact_details_attr_value',lang("Value")); 209 $template->parse('out','details'); 185 210 return $template->get_var('out'); 186 211 } -
sandbox/2.2.0.2/contactcenter/inc/class.ui_data.inc.php
r4498 r4500 259 259 $GLOBALS['phpgw']->template->set_var('cc_msg_expresso_default_csv', lang('Export as Expresso (Default) CSV.')); 260 260 $GLOBALS['phpgw']->template->set_var('cc_msg_copy_to_catalog', lang('Copy to personal catalog.')); 261 $GLOBALS['phpgw']->template->set_var('cc_msg_show_extra_detail', lang("Show extra contact's details.")); 261 262 $GLOBALS['phpgw']->template->set_var('cc_msg_add_contact_to_group', lang('You did not add any contact for this group.')); 262 263 $GLOBALS['phpgw']->template->set_var('cc_msg_fill_field_name', lang('Fill the field Full Name')); … … 289 290 $main .= $api->get_quick_add_plugin(); 290 291 $main .= $api->get_add_group(); 292 $main .= $api->get_contact_details(); 291 293 $main .= $GLOBALS['phpgw']->template->get_var('out'); 292 294 … … 445 447 return $this->export_contacts($_POST['typeExport']); 446 448 449 case 'get_contact_details': 450 return $this->get_contact_details($_GET['id']); 451 447 452 case 'get_qtds_compartilhado': 448 453 return $this->get_qtds_compartilhado(); 454 449 455 case 'get_list_owners_perms_add': 450 456 echo $this->get_list_owners_perms_add(); … … 1323 1329 ) 1324 1330 ); 1325 1331 //verifica se esta habilitado a opcao de exibir os detalhes extras 1332 $objconfig = CreateObject('phpgwapi.config', 'contactcenter'); 1333 $config = $objconfig->read_repository(); 1334 $final[12] = isset($config['cc_allow_details'])? $config['cc_allow_details'] : false; 1326 1335 //echo 'Page: '.$page.'<br>'; 1327 1336 $n_entries = count($this->page_info['actual_entries']); … … 4434 4443 echo serialize($return); 4435 4444 } 4445 4446 /*! 4447 * @function get_contact_details 4448 * @abstract Retorna os detalhes extras de um contato 4449 * @author Luiz Carlos Viana Melo - Prognus 4450 * @param (string) O ID do usuário do LDAP 4451 */ 4452 function get_contact_details($id) 4453 { 4454 $data = array(); 4455 4456 if(!$this->bo->catalog->src_info) { 4457 $ldap = CreateObject('contactcenter.bo_ldap_manager'); 4458 $this->bo->catalog->src_info = $ldap->srcs[1]; 4459 } 4460 4461 $ds = $GLOBALS['phpgw']->common->ldapConnect($this->bo->catalog->src_info['host'], $this->bo->catalog->src_info['acc'], $this->bo->catalog->src_info['pw'], true); 4462 $dn=$this->bo->catalog->src_info['dn']; 4463 4464 //buscar os atributos do ldap 4465 $configobj = CreateObject('phpgwapi.config', 'contactcenter'); 4466 $prefs = $configobj->read_repository(); 4467 $attr_names = array(); 4468 $attr_types = array(); 4469 $justThese = array(); 4470 foreach ($prefs as $pref_key => $pref_value) 4471 { 4472 if (stripos($pref_key, "cc_attribute_name_") !== false) 4473 { 4474 $num = substr($pref_key, strlen("cc_attribute_name_")); 4475 $attr_names[] = $prefs["cc_attribute_name_$num"]; 4476 $attr_types[] = $prefs["cc_attribute_type_$num"]; 4477 $justThese[] = strtolower($prefs["cc_attribute_ldapname_$num"]); 4478 } 4479 } 4480 $sr = ldap_read($ds,$id, "objectClass=*",$justThese); 4481 $info = ldap_get_entries($ds, $sr); 4482 if ($info) 4483 { 4484 for ($i = 0; $i < count($justThese); $i++) 4485 { 4486 $attr = array(); 4487 $attr['name'] = $attr_names[$i]; 4488 if ($attr_types[$i] == 'multivalues') 4489 { 4490 $attr['type'] = 'multivalues'; 4491 $attr['value'] = array(); 4492 for ($j = 0; $j < $info[0][$justThese[$i]]['count']; $j++) 4493 $attr['value'][] = utf8_decode($info[0][$justThese[$i]][$j]); 4494 } 4495 else 4496 { 4497 $attr['type'] = 'text'; 4498 $attr['value'] = utf8_decode($info[0][$justThese[$i]][0]); 4499 } 4500 $data[] = $attr; 4501 } 4502 } 4503 else 4504 $data = 'error'; 4505 ldap_close($ds); 4506 4507 echo serialize($data); 4508 } 4436 4509 } 4437 4510 -
sandbox/2.2.0.2/contactcenter/inc/hook_config_validate.inc.php
r2 r4500 47 47 } 48 48 } 49 50 51 /* 52 * @function cc_allow_details 53 * @abstract Recebe o valor do checkbox e forï¿œa a saï¿œda para TRUE ou FALSE 54 * @author Prognus software livre - http://www.prognus.com.br | prognus@prognus.com.br 55 * @param $value 56 */ 57 function cc_allow_details(&$value) { 58 if ($value == 'details') { 59 $value = "true"; 60 } else { 61 $value = "false"; 62 } 63 } 49 64 ?> -
sandbox/2.2.0.2/contactcenter/js/cc.js
r4498 r4500 227 227 function closeFullAdd(){ 228 228 fullAddWin.close(); 229 } 230 /******** Contact details ***********/ 231 function openContactDetails(id){ 232 // Build the ContactDetails Window. 233 if(!contactdetailsWin && !is_ie) 234 __cdWin(); 235 236 contactdetailsWin.open(); 237 238 populateContactDetails(id); 239 } 240 241 function populateContactDetails(id) 242 { 243 var handler = function(responseText) 244 { 245 var fieldsDiv = Element('id_cc_contact_details_fields'); 246 var data = unserialize(responseText); 247 //alert(responseText); 248 fieldsDiv.innerHTML = ""; 249 if (data && data.length > 0) 250 { 251 //fieldsDiv.innerHTML = ""; 252 var table = document.createElement("table"); 253 table.border=0; 254 //table.style.borderBottom = '1px solid #999'; 255 //table.cellSpacing = '0'; 256 table.width = '480px'; 257 var attr_name_size = '50%'; 258 var attr_value_size = '50%'; 259 for(i = 0; i < data.length; i++) 260 { 261 var row = table.insertRow(i); 262 if ((i % 2) == 0) 263 row.setAttribute('class', 'row_off'); 264 else 265 row.setAttribute('class', 'row_on'); 266 //row.style.borderBottom = '1px solid #999'; 267 attr_name = row.insertCell(0); 268 attr_value = row.insertCell(1); 269 attr_name.style.width = attr_name_size; 270 attr_value.style.width = attr_value_size; 271 attr_name.innerHTML = data[i]['name']; 272 if (data[i]['type'] == 'text') 273 attr_value.innerHTML = data[i]['value']; 274 else 275 { 276 var multivalue_div = document.createElement("div"); 277 multivalue_div.style.overflow = 'auto'; 278 multivalue_div.style.height = '100px'; 279 multivalue_div.style.border = '1px solid #999'; 280 //multivalue_div.style.backgroundColor = 'transparent'; 281 for (j = 0; j < data[i]['value'].length; j++) 282 { 283 multivalue_div.appendChild(document.createTextNode(data[i]['value'][j])); 284 multivalue_div.appendChild(document.createElement("br")); 285 } 286 attr_value.appendChild(multivalue_div); 287 } 288 } 289 fieldsDiv.appendChild(table); 290 } 291 else 292 fieldsDiv.innerHTML = Element('cc_contact_details_no_fields').value; 293 }; 294 Connector.newRequest('populateContactDetails', '../index.php?menuaction=contactcenter.ui_data.data_manager&method=get_contact_details&id=' + id, 'GET', handler); 295 } 296 297 function closeContactDetails(){ 298 contactdetailsWin.close(); 229 299 } 230 300 /********** New Contact *************/ … … 2302 2372 Element(id+':cc_photo').src = '../index.php?menuaction=contactcenter.ui_data.data_manager&method=get_photo' + (data[4][pos] != 0 ? '&id='+data[3][pos][k] : ''); 2303 2373 if(ccTree.catalog_perms == 1) 2374 { 2304 2375 Element(id+':cc_icon_data').innerHTML = '<span title="'+Element('cc_msg_copy_to_catalog').value+'" id="' + id + ':ccQuickAdd" onmouseout="window.status=\'\';" onclick="ccQuickAddContact.showList(\''+ Element(id+':cc_id').value + '\');return true;" style="cursor: pointer; cursor: hand; z-index: 1"><img src="templates/default/images/address-conduit-16.png" align="center"></span>'; 2376 if (data[12] == true || data[12] == 'true') 2377 Element(id+':cc_icon_data').innerHTML += " | " + '<span title="'+ Element('cc_msg_show_extra_detail').value+'" id="' + id + ':ccContactDetails" onclick="javascript:openContactDetails(\'' + Element(id+':cc_id').value + '\');" style="cursor: pointer; cursor: hand; z-index: 1"><img src="templates/default/images/addressbook-mini.png" align="center"></span>'; 2378 } 2305 2379 break; 2306 2380 -
sandbox/2.2.0.2/contactcenter/setup/phpgw_es-es.lang
r4498 r4500 205 205 Not Allowed contactcenter es-es Acceso negado 206 206 Unavailable function contactcenter es-es Función no disponible 207 Details on the Global Catalog Address common es-es Detalles en el Catálogo Global de Direcciones 208 Enable display of contact details for the Global Catalog common es-es Permitir visualización de detalles para contactos del Catálogo Global 209 Nome common es-es Nombre 210 Type common es-es Tipo 211 Delete common es-es Borrar 212 Add common es-es Añadir 213 The reported field was not found in LDAP common es-es El campo reportado como correspondencia en LDAP no se encontró 214 Text common es-es Texto 215 Multivalued common es-es multivalor -
sandbox/2.2.0.2/contactcenter/templates/default/config.tpl
r3262 r4500 1 1 <!-- BEGIN header --> 2 <form method="POST" action="{action_url}"> 2 <script type="text/javascript" src="{cc_config_js}"></script> 3 <!-- Foi incluído essa parte no evento do form (onsubmit....) e foi incluído a linha de cima para usar o arquivo .js --> 4 <form onsubmit="javascript:cc_attribute_clear(this);" method="POST" action="{action_url}"> 3 5 <table border="0" align="center"> 4 6 <tr class="th"> … … 79 81 </td> 80 82 </tr> 81 <tr class="th"> 82 <td colspan="2"> </td> 83 </tr> 84 <tr> 85 <td></td> 86 </tr> 87 <tr> 88 <td></td> 89 </tr> 83 <tr class="th"> 84 <td colspan="2"> <b>{lang_cc_Set_details_attributes}</b></td> 85 </tr> 86 <tr> 87 <td colspan="2" id="cc_attribute_fields"> 88 <div> 89 <input id="config_cc_allow_details" type="checkbox" name="newsettings[cc_allow_details]" {cc_allow_view_details_value} value="details"/> 90 <label for="config_cc_allow_details" >{lang_cc_Allow_view_details_label}</label> 91 92 </div> 93 94 <div align="right" id="cc_attribute_box_adder"> 95 <input type="button" onclick="javascript:cc_attribute_add();" name="addattribute" value="{lang_add_button}" /> 96 </div> 97 98 <br /> 99 {attribute_fields} 100 </td> 101 </tr> 90 102 <!-- <tr class="row_on"> 91 103 <td>{lang_objectClass_to_be_used_as_a_Contact}:</td> -
sandbox/2.2.0.2/contactcenter/templates/default/index.tpl
r3311 r4500 86 86 <input id="cc_msg_expresso_default_csv" type="hidden" value="{cc_msg_expresso_default_csv}"> 87 87 <input id="cc_msg_copy_to_catalog" type="hidden" value="{cc_msg_copy_to_catalog}"> 88 <input id="cc_msg_show_extra_detail" type="hidden" value="{cc_msg_show_extra_detail}"> 88 89 <input id="cc_msg_fill_field_name" type="hidden" value="{cc_msg_fill_field_name}"> 89 90 <input id="cc_msg_add_contact_to_group" type="hidden" value="{cc_msg_add_contact_to_group}">
Note: See TracChangeset
for help on using the changeset viewer.