Changeset 6459
- Timestamp:
- 06/11/12 18:05:43 (12 years ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/expressoMail1_2/inc/class.ldap_functions.inc.php
r6139 r6459 436 436 $ldapService->connection = $this->ds; 437 437 $campos_extras = ''; 438 $justthese = array("cn", "mail", "telephonenumber", "mobile", "phpgwaccountvisible", "uid", "employeenumber", "ou" );438 $justthese = array("cn", "mail", "telephonenumber", "mobile", "phpgwaccountvisible", "uid", "employeenumber", "ou","vacationActive","vacationInfo"); 439 439 foreach($searchable_fields as $fields_ldap => $value_field) 440 440 { … … 473 473 $this->ldapConnect(true,$i); 474 474 $filter="(|(cn=*$search_for*)(mail=*$search_for*))"; 475 $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid","employeeNumber", "ou" );475 $justthese = array("cn", "mail", "telephoneNumber", "mobile", "phpgwAccountVisible", "uid","employeeNumber", "ou","vacationActive","vacationInfo"); 476 476 $sr=@ldap_search($this->ds, $this->ldap_context, $filter, $justthese, 0, $this->max_result+1); 477 477 if(!$sr) … … 496 496 497 497 $info_return['search_for'] = $params['search_for']; 498 return $ info_return;498 return $this->toISO8859($info_return); 499 499 } 500 500 501 /*Converte um parametro de UTF-8 para ISO8859*/ 502 function toISO8859($data) 503 { 504 if(!is_array($data)) 505 return mb_convert_encoding( $data , 'ISO-8859-1' , 'UTF-8 , ISO-8859-1' ); 506 $return = array(); 507 foreach ($data as $i => $v) 508 $return[$this->toISO8859($i)] = $this->toISO8859($v); 509 return $return; 510 } 511 501 512 function make_quicksearch_card($info, $cn) 502 513 { -
trunk/expressoMail1_2/js/QuickCatalogSearch.js
r6417 r6459 148 148 } 149 149 } 150 if (data_[id_contact].vacationactive == "TRUE"){ 151 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 152 if ( data_[id_contact].vacationinfo ){ 153 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data_[id_contact].vacationinfo +'</span></div></div>'); 154 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 155 var link = $('<a>').html('Ver mais'); 156 link.attr('id','more'); 157 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 158 details.append(link); 159 } 160 } 161 } 150 162 break; 151 163 case 'P': … … 156 168 if(data_[id_contact].telephonenumber != null) 157 169 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + data_[id_contact].telephonenumber + '</span></p>'); 170 if (data_[id_contact].vacationactive == "TRUE"){ 171 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 172 if (data_[id_contact].vacationinfo){ 173 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data_[id_contact].vacationinfo +'</span></div></div>'); 174 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 175 var link = $('<a>').html('Ver mais'); 176 link.attr('id','more'); 177 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 178 details.append(link); 179 } 180 } 181 } 158 182 break; 159 183 default: … … 189 213 } 190 214 } 215 if (data_[id_contact].vacationactive == "TRUE"){ 216 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 217 if (data_[id_contact].vacationinfo){ 218 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data_[id_contact].vacationinfo +'</span></div></div>'); 219 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 220 var link = $('<a>').html('Ver mais'); 221 link.attr('id','more'); 222 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 223 details.append(link); 224 } 225 } 226 } 191 227 break; 192 228 } … … 278 314 else if(contact_name.toLowerCase().indexOf(data.search_for.toLowerCase()) != -1 && data.search_for.indexOf(" ") == -1 && data.search_for.indexOf("@") == -1) 279 315 contact_name = contact_name.substring(0, contact_name.toLowerCase().indexOf(data.search_for.toLowerCase())) + "<u>" + contact_name.substr(contact_name.toLowerCase().indexOf(data.search_for.toLowerCase()), data.search_for.length) + "</u>" + contact_name.substring(contact_name.toLowerCase().indexOf(data.search_for.toLowerCase()) + data.search_for.length); 280 var line = '<span class="menu-control"><button class="'+btnClass+'" id="actions_'+i+'" onClick="'+exist+'(document.getElementById(\'contact_' + i + '\').innerHTML, this, \'contact_' + i + '\')">'+ signal +'</button></span><div id="contact_' + i + '" onDblClick="'+exist+'(this.innerHTML, document.getElementById(\'actions_'+i+'\'), \'contact_' + i + '\')"><div class="name_contact"><strong class="name">' + contact_name + '</strong><em class="email">' + ((utf8_decoder(data[i-1].mail) != undefined)? (utf8_decoder(data[i-1].mail) == 'undefined' ? get_lang("No mail") : utf8_decoder(data[i-1].mail)) : get_lang("No mail")) + '</em></div></div>'; 316 var vacationImg = ''; 317 if (data[i-1].vacationactive == "TRUE") 318 vacationImg = '<img src="templates/default/images/mala-small.png"/>'; 319 var line = '<span class="menu-control"><button class="'+btnClass+'" id="actions_'+i+'" onClick="'+exist+'(document.getElementById(\'contact_' + i + '\').innerHTML, this, \'contact_' + i + '\')">'+ signal +'</button></span><div id="contact_' + i + '" onDblClick="'+exist+'(this.innerHTML, document.getElementById(\'actions_'+i+'\'), \'contact_' + i + '\')"><div class="name_contact"><strong class="name">' + contact_name +' '+ vacationImg +'</strong><em class="email">' + ((utf8_decoder(data[i-1].mail) != undefined)? (utf8_decoder(data[i-1].mail) == 'undefined' ? get_lang("No mail") : utf8_decoder(data[i-1].mail)) : get_lang("No mail")) + '</em></div></div>'; 281 320 Op.innerHTML = line; 282 321 $(Op).val(i - 1); … … 316 355 } 317 356 } 318 } 357 } 358 if (data[first_contact].vacationactive == "TRUE"){ 359 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 360 if ( data[first_contact].vacationinfo ){ 361 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[first_contact].vacationinfo +'</span></div></div>'); 362 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 363 var link = $('<a>').html('Ver mais'); 364 link.attr('id','more'); 365 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 366 details.append(link); 367 } 368 } 369 } 319 370 break; 320 371 case 'P': … … 325 376 if(data[first_contact].telephonenumber != null) 326 377 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + data[first_contact].telephonenumber + '</span></p>'); 378 if (data[first_contact].vacationactive == "TRUE"){ 379 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 380 if ( data[first_contact].vacationinfo ){ 381 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[first_contact].vacationinfo +'</span></div></div>'); 382 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 383 var link = $('<a>').html('Ver mais'); 384 link.attr('id','more'); 385 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 386 details.append(link); 387 } 388 } 389 } 327 390 break; 328 391 default: … … 357 420 } 358 421 } 422 if (data[first_contact].vacationactive == "TRUE"){ 423 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 424 if ( data[first_contact].vacationinfo ){ 425 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[first_contact].vacationinfo +'</span></div></div>'); 426 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 427 var link = $('<a>').html('Ver mais'); 428 link.attr('id','more'); 429 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 430 details.append(link); 431 } 432 } 433 } 359 434 break; 360 435 } … … 388 463 }else 389 464 var extra_fields = []; 390 if(preferences.default_fields_quick_search != 0 && data[this.value] ) { 391 392 if(data[this.value].telephonenumber )465 if(preferences.default_fields_quick_search != 0 && data[this.value] ) { 466 details.append('<p><label class="attribute">' + utf8_decoder(data[this.value].cn[0]) + "</label>" + '<span class="value">' + (data[this.value].mail ? data[this.value].mail[0] : "")+ "</span></p>"); 467 if(data[this.value].telephonenumber ) 393 468 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + (data[this.value].telephonenumber ? data[this.value].telephonenumber[0] : "")+ "</span></p>"); 394 469 } … … 404 479 } 405 480 } 481 if (data[this.value].vacationactive == "TRUE"){ 482 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 483 if ( data[this.value].vacationinfo ){ 484 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[this.value].vacationinfo +'</span></div></div>'); 485 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 486 var link = $('<a>').html('Ver mais'); 487 link.attr('id','more'); 488 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 489 details.append(link); 490 } 491 } 492 } 406 493 break; 407 494 case 'P': … … 412 499 if(data[this.value].telephonenumber != null) 413 500 details.append('<p><label class="attribute">Telefone</label>' + '<span class="value">' + data[this.value].telephonenumber + "</span></p>"); 501 if (data[this.value].vacationactive == "TRUE"){ 502 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 503 if ( data[this.value].vacationinfo ){ 504 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[this.value].vacationinfo +'</span></div></div>'); 505 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 506 var link = $('<a>').html('Ver mais'); 507 link.attr('id','more'); 508 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 509 details.append(link); 510 } 511 } 512 } 414 513 break; 415 514 default: … … 443 542 } 444 543 } 544 if (data[this.value].vacationactive == "TRUE"){ 545 details.append('<p><img src="templates/default/images/mala-big.png"/><span class="title-outoffice">Filtro "Fora do Escritório" ativo.</span></p>'); 546 if ( data[this.value].vacationinfo ){ 547 details.append('<div class="outoffice"><div class="outoffice-inner"><span>'+ data[this.value].vacationinfo +'</span></div></div>') 548 if ( $('.outoffice-inner').height() > $('.outoffice').height() ){ 549 var link = $('<a>').html('Ver mais'); 550 link.attr('id','more'); 551 link.bind('click',function(){$('.outoffice').animate({height: $('.outoffice-inner').height(),width: '-=15px'},800); $('#more').unbind('click').hide();}); 552 details.append(link); 553 } 554 } 555 } 445 556 break; 446 557 } -
trunk/expressoMail1_2/templates/default/main.css
r6251 r6459 1256 1256 1257 1257 button.expressomail-button-icon-ative{color:#E17009 !important; border: 1px solid #E17009 !important;background: none repeat scroll 0 0 #FFE1CC !important;} 1258 1259 .outoffice 1260 { 1261 width: 295px; 1262 height: 50px; 1263 overflow: hidden; 1264 } 1265 1266 .title-outoffice 1267 { 1268 margin-left: 10px; 1269 font-family: verdana; 1270 font-size: 1.2em; 1271 } 1272 .outoffice span{ 1273 margin: 5px; 1274 } 1275 1276 #detalhes_contato img{ margin-bottom: -4px;} -
trunk/prototype/config/filter.ini
r6021 r6459 10 10 11 11 [before.delete] 12 deleteVacationRule = modules/filters/interceptors/FilterMapping.php 12 13 deleteRule = modules/filters/interceptors/FilterMapping.php 13 14 … … 22 23 makeId = modules/filters/interceptors/FilterMapping.php 23 24 applySieveFilter = modules/filters/interceptors/FilterMapping.php 25 verifyVacationRule = modules/filters/interceptors/FilterMapping.php 24 26 25 27 26 28 [after.update] 27 29 makeId = modules/filters/interceptors/FilterMapping.php 30 verifyVacationRule = modules/filters/interceptors/FilterMapping.php 28 31 29 32 -
trunk/prototype/config/user.ini
r5804 r6459 44 44 givenName = givenName 45 45 sn = sn 46 dn = dn 47 vacationInfo = vacationInfo 48 vacationActive = vacationActive 46 49 displayName = displayName 47 50 mailAlternateAddress = mailAlternateAddress -
trunk/prototype/modules/filters/interceptors/FilterMapping.php
r6392 r6459 697 697 return( $return ); 698 698 } 699 700 /** 701 * Método que insere no ldap as informações do vacation 702 * 703 * @license http://www.gnu.org/copyleft/gpl.html GPL 704 * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 705 * @sponsor Caixa Econômica Federal 706 * @author Cristiano Corrêa Schmidt 707 * @param <$uri> 708 * @param <$result> 709 * @param <$criteria> 710 * @param <$original> 711 * @return <void> 712 * @access public 713 */ 714 public function verifyVacationRule( &$uri , &$params , &$criteria , $original ) 715 { 716 if( $original['properties']['id'] === 'vacation' ) 717 { 718 719 $user = Controller::read(array('concept' => 'user' , 'id' => config::me('uidNumber') , 'service' => 'OpenLDAP')); 720 $ldapConf = Config::service('OpenLDAP', 'config'); 721 $con = ldap_connect( $ldapConf['host'] ); 722 ldap_set_option( $con,LDAP_OPT_PROTOCOL_VERSION, 3 ); 723 ldap_bind( $con, $ldapConf['user'], $ldapConf['password']); 724 725 $info = array(); 726 if(!in_array('Vacation', $user['objectClass'])) 727 $info['objectClass'] = 'Vacation'; 728 729 $info['vacationActive'] = strtoupper($original['properties']['enabled']); 730 731 if(isset($original['properties']['actions']) && isset($original['properties']['actions'][0]['parameter'])) 732 $info['vacationInfo'] = $original['properties']['actions'][0]['parameter']; 733 else if( !isset($user['vacationInfo']) ) 734 { 735 $rules = $this->getRules(); 736 if(is_array($rules)) 737 foreach ($rules as $rule) 738 if($rule['id'] === 'vacation') 739 $info['vacationInfo'] = $rule['actions'][0]['parameter']; 740 } 741 742 if(!in_array('Vacation', $user['objectClass'])) 743 ldap_mod_add ( $con , $user['dn'] , $info ); 744 else 745 ldap_modify ( $con , $user['dn'] , $info ); 746 747 748 ldap_close($con); 749 750 } 751 752 } 753 754 /** 755 * Método que remove do ldap as informações do vacation 756 * 757 * @license http://www.gnu.org/copyleft/gpl.html GPL 758 * @author Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br) 759 * @sponsor Caixa Econômica Federal 760 * @author Cristiano Corrêa Schmidt 761 * @param <$uri> 762 * @param <$result> 763 * @param <$criteria> 764 * @param <$original> 765 * @return <void> 766 * @access public 767 */ 768 public function deleteVacationRule( &$uri , &$params , &$criteria , $original ) 769 { 770 if( $original['URI']['id'] === 'vacation' ) 771 { 772 $user = Controller::read(array('concept' => 'user' , 'id' => config::me('uidNumber') , 'service' => 'OpenLDAP')); 773 $ldapConf = Config::service('OpenLDAP', 'config'); 774 $con = ldap_connect( $ldapConf['host'] ); 775 ldap_set_option( $con,LDAP_OPT_PROTOCOL_VERSION, 3 ); 776 ldap_bind( $con, $ldapConf['user'], $ldapConf['password']); 777 $info = array(); 778 $info['vacationActive'] = 'FALSE'; 779 $info['vacationInfo'] = ""; 780 ldap_modify ( $con , $user['dn'] , $info ); 781 ldap_close($con); 782 } 783 } 699 784 }
Note: See TracChangeset
for help on using the changeset viewer.