Index: /trunk/instant_messenger/docs/change_log.txt
===================================================================
--- /trunk/instant_messenger/docs/change_log.txt	(revision 21)
+++ /trunk/instant_messenger/docs/change_log.txt	(revision 21)
@@ -0,0 +1,7 @@
+Esse arquivo descreve todas as correções, alterações e novas implementações do 
+módulo instant_messenger, e a partir da versão 27/04/2007 [0.001]
+Alexandre Luiz Correia
+Rodrigo Souza dos Santos.
+
+27/04/2007 [0.001]
+- Vcard, corrigido para a visualização de caracteres e acentos. 
Index: /trunk/instant_messenger/inc/class.Ujabber.inc.php
===================================================================
--- /trunk/instant_messenger/inc/class.Ujabber.inc.php	(revision 20)
+++ /trunk/instant_messenger/inc/class.Ujabber.inc.php	(revision 21)
@@ -255,11 +255,11 @@
 		
 		// vCard
-		$array_vcard['FN'] = trim($arr['FN']['0']['#']) ? $arr['FN']['0']['#']: $id;
-		$array_vcard['NICKNAME'] = trim($arr['NICKNAME']['0']['#']) ? $arr['NICKNAME']['0']['#'] : $pJid;
-		$array_vcard['ORGNAME'] = trim($arr['ORG']['0']['#']['ORGNAME']['0']['#']) ? $arr['ORG']['0']['#']['ORGNAME']['0']['#'] : "";
-		$array_vcard['ORGUNIT'] = trim($arr['ORG']['0']['#']['ORGUNIT']['0']['#']) ? $arr['ORG']['0']['#']['ORGUNIT']['0']['#'] : "";		
-		$array_vcard['ROLE'] = trim($arr['ROLE']['0']['#']) ? $arr['ROLE']['0']['#'] : "";				
-		$array_vcard['BDAY'] = trim($arr['BDAY']['0']['#']) ? $arr['BDAY']['0']['#'] : "";
-		$array_vcard['DESC'] = trim($arr['DESC']['0']['#']) ? $arr['DESC']['0']['#'] : "";
+		$array_vcard['FN'] = trim($arr['FN']['0']['#']) ? urldecode($arr['FN']['0']['#']): $id;
+		$array_vcard['NICKNAME'] = trim($arr['NICKNAME']['0']['#']) ? urldecode($arr['NICKNAME']['0']['#']) : $pJid;
+		$array_vcard['ORGNAME'] = trim($arr['ORG']['0']['#']['ORGNAME']['0']['#']) ? urldecode($arr['ORG']['0']['#']['ORGNAME']['0']['#']) : "";
+		$array_vcard['ORGUNIT'] = trim($arr['ORG']['0']['#']['ORGUNIT']['0']['#']) ? urldecode($arr['ORG']['0']['#']['ORGUNIT']['0']['#']) : "";		
+		$array_vcard['ROLE'] = trim($arr['ROLE']['0']['#']) ? urldecode($arr['ROLE']['0']['#']) : "";				
+		$array_vcard['BDAY'] = trim($arr['BDAY']['0']['#']) ? urldecode($arr['BDAY']['0']['#']) : "";
+		$array_vcard['DESC'] = trim($arr['DESC']['0']['#']) ? urldecode($arr['DESC']['0']['#']) : "";
 		$array_vcard['JID'] = $pJid;
 		return $array_vcard;
@@ -277,13 +277,13 @@
 		$xmlVcard  = "<iq id='$id' type='set'>";
 		$xmlVcard .= "<vCard xmlns='vcard-temp'>";		
-		$xmlVcard .= "<FN>$pVcard[0]</FN>";
-		$xmlVcard .= "<NICKNAME>$pVcard[1]</NICKNAME>";									 
+		$xmlVcard .= "<FN>".urlencode($pVcard[0])."</FN>";
+		$xmlVcard .= "<NICKNAME>".urlencode($pVcard[1])."</NICKNAME>";									 
 		$xmlVcard .= "<ORG>";
-		$xmlVcard .= "<ORGNAME>$pVcard[2]</ORGNAME>";
-		$xmlVcard .= "<ORGUNIT>$pVcard[3]</ORGUNIT>";
+		$xmlVcard .= "<ORGNAME>".urlencode($pVcard[2])."</ORGNAME>";
+		$xmlVcard .= "<ORGUNIT>".urlencode($pVcard[3])."</ORGUNIT>";
 		$xmlVcard .= "</ORG>";
-		$xmlVcard .= "<ROLE>$pVcard[4]</ROLE>";
-		$xmlVcard .= "<BDAY>$pVcard[5]</BDAY>";
-		$xmlVcard .= "<DESC>$pVcard[6]</DESC>";	
+		$xmlVcard .= "<ROLE>".urlencode($pVcard[4])."</ROLE>";
+		$xmlVcard .= "<BDAY>".urlencode($pVcard[5])."</BDAY>";
+		$xmlVcard .= "<DESC>".urlencode($pVcard[6])."</DESC>";	
 		$xmlVcard .= "</vCard></iq>";
 		
Index: /trunk/instant_messenger/js/im_preferences.js
===================================================================
--- /trunk/instant_messenger/js/im_preferences.js	(revision 20)
+++ /trunk/instant_messenger/js/im_preferences.js	(revision 21)
@@ -282,19 +282,19 @@
 		var _this = this;
 		IM.vcard_user['VCARD_FN'] = document.getElementById('FN').value;
-		_this.save_vcard = document.getElementById('FN').value + ";";
+		_this.save_vcard = url_encode(encodeURI(document.getElementById('FN').value)) + ";";
 		IM.vcard_user['VCARD_NICKNAME'] = document.getElementById('NICKNAME').value;
-		_this.save_vcard += document.getElementById('NICKNAME').value + ";";
+		_this.save_vcard += url_encode(encodeURI(document.getElementById('NICKNAME').value)) + ";";
 		var nickname = document.getElementById('span_nickname').innerHTML;
 		document.getElementById('span_nickname').innerHTML = (IM.vcard_user['VCARD_NICKNAME']) ? "<b>&nbsp;" + IM.vcard_user['VCARD_NICKNAME'].substring(0,30) + "</b>" : nickname;
 		IM.vcard_user['VCARD_ORGNAME'] = document.getElementById('ORGNAME').value;
-		_this.save_vcard += document.getElementById('ORGNAME').value + ";";
+		_this.save_vcard += url_encode(encodeURI(document.getElementById('ORGNAME').value)) + ";";
 		IM.vcard_user['VCARD_ORGUNIT'] = document.getElementById('ORGUNIT').value;
-		_this.save_vcard += document.getElementById('ORGUNIT').value + ";";
+		_this.save_vcard += url_encode(encodeURI(document.getElementById('ORGUNIT').value)) + ";";
 		IM.vcard_user['VCARD_ROLE'] = document.getElementById('ROLE').value;
-		_this.save_vcard += document.getElementById('ROLE').value + ";";
+		_this.save_vcard += url_encode(encodeURI(document.getElementById('ROLE').value)) + ";";
 		IM.vcard_user['VCARD_BDAY'] = document.getElementById('BDAY').value;
-		_this.save_vcard += document.getElementById('BDAY').value + ";";		
+		_this.save_vcard += url_encode(encodeURI(document.getElementById('BDAY').value)) + ";";		
 		IM.vcard_user['VCARD_DESC'] = document.getElementById('DESC').value;
-		_this.save_vcard += document.getElementById('DESC').value;		
+		_this.save_vcard += url_encode(encodeURI(document.getElementById('DESC').value));		
 		var message_desc = document.getElementById('span_message').innerHTML;
 		document.getElementById('span_message').innerHTML = (IM.vcard_user['VCARD_DESC']) ? "<b>&nbsp;" + IM.vcard_user['VCARD_DESC'].substring(0,30) + "</b>" : message_desc ;
@@ -314,9 +314,9 @@
 		for(var i=0; i < IM.vcard_contacts.length; i++){
 			if(IM.vcard_contacts[i].jid == pJid){
-				document.getElementById('_lbl_FN').innerHTML = IM.vcard_contacts[i].VCARD_FN;
-				document.getElementById('_lbl_Nickname').innerHTML = IM.vcard_contacts[i].VCARD_NICKNAME;
-				document.getElementById('_lbl_Orgunit').innerHTML = IM.vcard_contacts[i].VCARD_ORGUNIT;
-				document.getElementById('_lbl_Role').innerHTML = IM.vcard_contacts[i].VCARD_ROLE;
-				document.getElementById('_lbl_Birthday').innerHTML = IM.vcard_contacts[i].VCARD_BDAY;																
+				document.getElementById('_lbl_FN').innerHTML = decodeURI(IM.vcard_contacts[i].VCARD_FN);
+				document.getElementById('_lbl_Nickname').innerHTML = decodeURI(IM.vcard_contacts[i].VCARD_NICKNAME);
+				document.getElementById('_lbl_Orgunit').innerHTML = decodeURI(IM.vcard_contacts[i].VCARD_ORGUNIT);
+				document.getElementById('_lbl_Role').innerHTML = decodeURI(IM.vcard_contacts[i].VCARD_ROLE);
+				document.getElementById('_lbl_Birthday').innerHTML = decodeURI(IM.vcard_contacts[i].VCARD_BDAY);																
 				return;
 			}	
Index: /trunk/instant_messenger/js/im_functions.js
===================================================================
--- /trunk/instant_messenger/js/im_functions.js	(revision 20)
+++ /trunk/instant_messenger/js/im_functions.js	(revision 21)
@@ -240,12 +240,12 @@
 		if ( !_this.load_photo ){
 
-			_this.vcard_user['VCARD_FN'] = data.VCARD_FN;
-			_this.vcard_user['VCARD_NICKNAME'] = data.VCARD_NICKNAME;
-			_this.vcard_user['VCARD_ORGNAME']  = data.VCARD_ORGNAME;
-			_this.vcard_user['VCARD_ORGUNIT']  = data.VCARD_ORGUNIT;
-			_this.vcard_user['VCARD_ROLE'] = data.VCARD_ROLE;
-			_this.vcard_user['VCARD_BDAY'] = data.VCARD_BDAY;
-			_this.vcard_user['VCARD_DESC'] = data.VCARD_DESC;
-			_this.vcard_user['VCARD_JID']  = data.VCARD_JID;
+			_this.vcard_user['VCARD_FN'] = decodeURI(data.VCARD_FN);
+			_this.vcard_user['VCARD_NICKNAME'] = decodeURI(data.VCARD_NICKNAME);
+			_this.vcard_user['VCARD_ORGNAME']  = decodeURI(data.VCARD_ORGNAME);
+			_this.vcard_user['VCARD_ORGUNIT']  = decodeURI(data.VCARD_ORGUNIT);
+			_this.vcard_user['VCARD_ROLE'] = decodeURI(data.VCARD_ROLE);
+			_this.vcard_user['VCARD_BDAY'] = decodeURI(data.VCARD_BDAY);
+			_this.vcard_user['VCARD_DESC'] = decodeURI(data.VCARD_DESC);
+			_this.vcard_user['VCARD_JID']  = decodeURI(data.VCARD_JID);
 
 			im_win.get_photo_ldap(_this.vcard_user['VCARD_JID']);
Index: /trunk/instant_messenger/index.php
===================================================================
--- /trunk/instant_messenger/index.php	(revision 20)
+++ /trunk/instant_messenger/index.php	(revision 21)
@@ -43,6 +43,3 @@
 	// Footer
 	$GLOBALS['phpgw']->common->phpgw_footer();
-     
-	// Language
-	echo "<script src='/instant_messenger/inc/load_lang.php?".$im_version."' type='text/javascript'></script>";
 ?>
Index: /trunk/calendar/doc/change_log.txt
===================================================================
--- /trunk/calendar/doc/change_log.txt	(revision 2)
+++ /trunk/calendar/doc/change_log.txt	(revision 21)
@@ -3,4 +3,10 @@
 Nilton Emilio Buhrer Neto.
 
+02/05/2007 - [0.9.2]
+- Corrigindo bug que mostra todos os alarmes de um evento
+independente do dono. Agora só mostra os eventos do dono.
+
+30/04/2007 - [0.9.2]
+- Ajustado o layout da versão de impressão do calendário.
 
 27/02/2007 - [0.9.2]
Index: /trunk/calendar/inc/class.uicalendar.inc.php
===================================================================
--- /trunk/calendar/inc/class.uicalendar.inc.php	(revision 15)
+++ /trunk/calendar/inc/class.uicalendar.inc.php	(revision 21)
@@ -3390,5 +3390,5 @@
 			foreach($vars['participants']['data'] as $user => $str)
 			{
-				if ($this->bo->check_perms(PHPGW_ACL_EDIT,0,$user) && ereg('^(.*) \((.*)\)$',$str,$parts))
+			if ($this->bo->check_perms(PHPGW_ACL_EDIT,0,$user) && ereg('^(.*) \((.*)\)$',$str,$parts))
 				{
 					$vars['participants']['data'][$user] = $parts[1].' (<a href="'.$this->page('edit_status','&cal_id='.$event['id'].'&owner='.$user).'">'.$parts[2].'</a>)';
@@ -3413,10 +3413,13 @@
 				foreach($event['alarm'] as $key => $alarm)
 				{
-					$icon = '<img src="'.$GLOBALS['phpgw']->common->image('calendar',($alarm['enabled']?'enabled':'disabled')).'" width="13" height="13">';
-					$var = Array(
-						'field'	=> $icon.$GLOBALS['phpgw']->common->show_date($alarm['time']),
-						'data'	=> lang('Email Notification for %1',$GLOBALS['phpgw']->common->grab_owner_name($alarm['owner']))
-					);
-					$this->output_template_array($p,'row','list',$var);
+					if ($this->bo->so->owner == $alarm['owner']) // Show only alert from user who is requesting
+					{	
+						$icon = '<img src="'.$GLOBALS['phpgw']->common->image('calendar',($alarm['enabled']?'enabled':'disabled')).'" width="13" height="13">';
+						$var = Array(
+							'field'	=> $icon.$GLOBALS['phpgw']->common->show_date($alarm['time']),
+							'data'	=> lang('Email Notification for %1',$GLOBALS['phpgw']->common->grab_owner_name($alarm['owner']))
+						);
+						$this->output_template_array($p,'row','list',$var);
+					}
 				}
 			}
Index: /trunk/calendar/templates/celepar/month_day.tpl
===================================================================
--- /trunk/calendar/templates/celepar/month_day.tpl	(revision 2)
+++ /trunk/calendar/templates/celepar/month_day.tpl	(revision 21)
@@ -2,5 +2,5 @@
 <!-- BEGIN m_w_table -->
 
-<table id="calendar_m_w_table" class="calendar_m_w_table" width="100%">
+<table id="calendar_m_w_table" class="calendar_print_main" border="1" width="100%">
 	<! from month_header.tpl -->
 	{row}
Index: /trunk/calendar/templates/celepar/app_print.css
===================================================================
--- /trunk/calendar/templates/celepar/app_print.css	(revision 2)
+++ /trunk/calendar/templates/celepar/app_print.css	(revision 21)
@@ -13,7 +13,7 @@
 .button {
 	font-family: Verdana, Arial, Helvetica, sans-serif;
-	font-size: 10px;
+	font-size: 12px;
 	color: 006699;
 	background-color: #D4D0C8;
-	border: 1px solid #666666;
+	border: 2px solid #666666;
 }
Index: /trunk/expressoMail1_2/docs/change_log.txt
===================================================================
--- /trunk/expressoMail1_2/docs/change_log.txt	(revision 13)
+++ /trunk/expressoMail1_2/docs/change_log.txt	(revision 21)
@@ -67,2 +67,4 @@
 - Corrigido problema de mensagens que têm nome de arquivos nos atributos "parameters" e "dparameters" de sua estrutura.
 
+27/04/2007 - [1.2030]
+- Implementado ocultação de usuários e grupos no expressoMail e na Calendar.
Index: /trunk/expressoMail1_2/inc/class.ldap_functions.inc.php
===================================================================
--- /trunk/expressoMail1_2/inc/class.ldap_functions.inc.php	(revision 2)
+++ /trunk/expressoMail1_2/inc/class.ldap_functions.inc.php	(revision 21)
@@ -209,10 +209,10 @@
 	    {
 	    	$justthese = array("gidNumber","cn");
-			$sr=ldap_list($this->ds, $user_context, ("(&(cn=*)(phpgwaccounttype=g))"),$justthese);
+			$sr=ldap_list($this->ds, $user_context, ("(&(cn=*)(phpgwaccounttype=g)(!(phpgwaccountvisible=-1)))"),$justthese);
 			$info = ldap_get_entries($this->ds, $sr);
 			for ($i=0; $i<$info["count"]; $i++)
 				$groups[$uids=$info[$i]["gidnumber"][0]] = Array('name'	=>	$uids=$info[$i]["cn"][0], 'type'	=>	g);			
 			$justthese = array("phpgwaccountvisible","uidNumber","cn");
-			$sr=ldap_list($this->ds, $user_context, ("(&(cn=*)(phpgwaccounttype=u)(!(cn=lista*)))"),$justthese);
+			$sr=ldap_list($this->ds, $user_context, ("(&(cn=*)(phpgwaccounttype=u)(!(phpgwaccountvisible=-1)))"),$justthese);
 			$info = ldap_get_entries($this->ds, $sr);
 			for ($i=0; $i<$info["count"]; $i++)
@@ -252,5 +252,5 @@
 		$context= $params['context'];
 		$justthese = array("cn", "uid", "cn");
-		$filter = "(&(phpgwaccounttype=u)(!(cn=lista*)))";
+		$filter = "(&(phpgwaccounttype=u)(!(phpgwaccountvisible=-1)))";
 
 	    if ($this->ds) 
