Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
The latest version Revision 22 works good now!
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="megaman5"]The latest version Revision 22 works good now![/QUOTE]
I agree, v22 works very well.
Only the äöüß problem is still there but maybe it has nothing to do with zimbrabackend.
//carlsan
I agree, v22 works very well.
Only the äöüß problem is still there but maybe it has nothing to do with zimbrabackend.
//carlsan
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="gnosbush"]I started a project on SourceForge to create a complete backend for Zimbra on Z-Push. So far I have a pretty decent start on it but could use help if anyone has PHP experience and is somewhat familar with the Zimbra SOAP calls (although you can really pick up on these pretty quickly). I will also need testers. Send me a message if interested.
The project on SF is located at Z-Push Zimbra Backend[/QUOTE]
Hi, we are a little group of freelancer we have a good experience in php ? What is the actual stade of the project and what do you need excatly ?
One of our customer have accepted to test Z-PUSH+OSE+BSEX could you provide us and/or recommand with an efficient howto ?
The project on SF is located at Z-Push Zimbra Backend[/QUOTE]
Hi, we are a little group of freelancer we have a good experience in php ? What is the actual stade of the project and what do you need excatly ?
One of our customer have accepted to test Z-PUSH+OSE+BSEX could you provide us and/or recommand with an efficient howto ?
-
- Ambassador
- Posts: 2767
- Joined: Mon Dec 16, 2013 11:35 am
- Location: France - Drôme
- ZCS/ZD Version: All of them
- Contact:
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
Here's a patch against version 23 that allows "accented" characters (éàäöüß etc) to work in Mails, Contacts and Calendar.
This was tested against ZCS OSE 6.0.4, iPhone 3GS 3.1.2 (french) and WM 6.1 (french, running on a Samsung i780).
Quick how to for the diff :
. go to z-push/backend directory
. cut/past below code to diff.txt
. copy zimbra.php to zimbra.php.old (to have a backup)
. patch zimbra.php
--- zimbra.php.old 2010-03-11 19:00:18.000000000 +0100
+++ zimbra.php 2010-03-11 19:50:27.000000000 +0100
@@ -936,7 +936,7 @@
//$body = $this->GetBody($message);
// decode body to truncate it
- $body = utf8_to_windows1252($this->getBody($message, $this->_useHTML));
+ $body = u2w($this->getBody($message, $this->_useHTML));
if(strlen($body) > $truncsize && $truncsize <> 0) {
$body = substr($body, 0, $truncsize);
$output->bodytruncated = 1;
@@ -944,7 +944,7 @@
$body = $body;
$output->bodytruncated = 0;
}
- $body = str_replace("
","
", windows1252_to_utf8(str_replace("
","",$body)));
+ $body = str_replace("
","
", w2u(str_replace("
","",$body)));
$output->bodysize = strlen($body);
$output->body = $body;
@@ -1017,7 +1017,7 @@
$image = $this->url2base64($this->_rest_url . '/?id='.$item['id'].'&part='.$item['a_attribute_part'][0]);
$output->$k = $image;
} else {
- $output->$k = w2u($item['a'][$param[$v]]);
+ $output->$k = $item['a'][$param[$v]];
}
} else {
@@ -1063,11 +1063,11 @@
// title
if(isset($item['inv'][$i]['comp'][0]['name'])) {
- $subApp->subject = w2u($item['inv'][$i]['comp'][0]['name']);
+ $subApp->subject = $item['inv'][$i]['comp'][0]['name'];
}
if(isset($item['inv'][$i]['comp'][0]['loc'])) {
- $subApp->location = w2u($item['inv'][$i]['comp'][0]['loc']);
+ $subApp->location = $item['inv'][$i]['comp'][0]['loc'];
}
// allday
@@ -1120,7 +1120,7 @@
$subApp->sensitivity = 0;
}
- $subApp->body = w2u($item['inv'][$i]['comp'][0]['desc'][0]);
+ $subApp->body = $item['inv'][$i]['comp'][0]['desc'][0];
$subApp->bodytruncated = 0;
// Reminder
@@ -1129,8 +1129,8 @@
}
// Organizer Name & Email
- $subApp->organizername = w2u($item['inv'][$i]['comp'][0]['or_attribute_d'][0]);
- $subApp->organizeremail = w2u($item['inv'][$i]['comp'][0]['or_attribute_a'][0]);
+ $subApp->organizername = $item['inv'][$i]['comp'][0]['or_attribute_d'][0];
+ $subApp->organizeremail = $item['inv'][$i]['comp'][0]['or_attribute_a'][0];
// Attendees
$cAttendees = count($item['inv'][$i]['comp'][0]['at_attribute_a']);
@@ -1141,9 +1141,9 @@
$attendee = new SyncAttendee();
if(isset($item['inv'][$i]['comp'][0]['at_attribute_d'][$i])) {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_d'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_d'][$i];
} else {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_a'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
}
$attendee->email = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
@@ -1627,12 +1627,12 @@
// subject
if(isset($input->subject)) {
- $soap .= 'name="'.w2u($input->subject).'" ';
+ $soap .= 'name="'.$input->subject.'" ';
}
// location
if(isset($input->location)) {
- $soap .= 'loc="'.w2u($input->location).'" ';
+ $soap .= 'loc="'.$input->location.'" ';
}
// close
@@ -1772,7 +1772,7 @@
$soap .= '';
//subject
- $soap .= ''.w2u($input->subject).'';
+ $soap .= ''.$input->subject.'';
//currently not used|/
$soap .= '
This was tested against ZCS OSE 6.0.4, iPhone 3GS 3.1.2 (french) and WM 6.1 (french, running on a Samsung i780).
Quick how to for the diff :
. go to z-push/backend directory
. cut/past below code to diff.txt
. copy zimbra.php to zimbra.php.old (to have a backup)
. patch zimbra.php
--- zimbra.php.old 2010-03-11 19:00:18.000000000 +0100
+++ zimbra.php 2010-03-11 19:50:27.000000000 +0100
@@ -936,7 +936,7 @@
//$body = $this->GetBody($message);
// decode body to truncate it
- $body = utf8_to_windows1252($this->getBody($message, $this->_useHTML));
+ $body = u2w($this->getBody($message, $this->_useHTML));
if(strlen($body) > $truncsize && $truncsize <> 0) {
$body = substr($body, 0, $truncsize);
$output->bodytruncated = 1;
@@ -944,7 +944,7 @@
$body = $body;
$output->bodytruncated = 0;
}
- $body = str_replace("
","
", windows1252_to_utf8(str_replace("
","",$body)));
+ $body = str_replace("
","
", w2u(str_replace("
","",$body)));
$output->bodysize = strlen($body);
$output->body = $body;
@@ -1017,7 +1017,7 @@
$image = $this->url2base64($this->_rest_url . '/?id='.$item['id'].'&part='.$item['a_attribute_part'][0]);
$output->$k = $image;
} else {
- $output->$k = w2u($item['a'][$param[$v]]);
+ $output->$k = $item['a'][$param[$v]];
}
} else {
@@ -1063,11 +1063,11 @@
// title
if(isset($item['inv'][$i]['comp'][0]['name'])) {
- $subApp->subject = w2u($item['inv'][$i]['comp'][0]['name']);
+ $subApp->subject = $item['inv'][$i]['comp'][0]['name'];
}
if(isset($item['inv'][$i]['comp'][0]['loc'])) {
- $subApp->location = w2u($item['inv'][$i]['comp'][0]['loc']);
+ $subApp->location = $item['inv'][$i]['comp'][0]['loc'];
}
// allday
@@ -1120,7 +1120,7 @@
$subApp->sensitivity = 0;
}
- $subApp->body = w2u($item['inv'][$i]['comp'][0]['desc'][0]);
+ $subApp->body = $item['inv'][$i]['comp'][0]['desc'][0];
$subApp->bodytruncated = 0;
// Reminder
@@ -1129,8 +1129,8 @@
}
// Organizer Name & Email
- $subApp->organizername = w2u($item['inv'][$i]['comp'][0]['or_attribute_d'][0]);
- $subApp->organizeremail = w2u($item['inv'][$i]['comp'][0]['or_attribute_a'][0]);
+ $subApp->organizername = $item['inv'][$i]['comp'][0]['or_attribute_d'][0];
+ $subApp->organizeremail = $item['inv'][$i]['comp'][0]['or_attribute_a'][0];
// Attendees
$cAttendees = count($item['inv'][$i]['comp'][0]['at_attribute_a']);
@@ -1141,9 +1141,9 @@
$attendee = new SyncAttendee();
if(isset($item['inv'][$i]['comp'][0]['at_attribute_d'][$i])) {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_d'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_d'][$i];
} else {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_a'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
}
$attendee->email = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
@@ -1627,12 +1627,12 @@
// subject
if(isset($input->subject)) {
- $soap .= 'name="'.w2u($input->subject).'" ';
+ $soap .= 'name="'.$input->subject.'" ';
}
// location
if(isset($input->location)) {
- $soap .= 'loc="'.w2u($input->location).'" ';
+ $soap .= 'loc="'.$input->location.'" ';
}
// close
@@ -1772,7 +1772,7 @@
$soap .= '';
//subject
- $soap .= ''.w2u($input->subject).'';
+ $soap .= ''.$input->subject.'';
//currently not used|/
$soap .= '
-
- Advanced member
- Posts: 120
- Joined: Fri Sep 12, 2014 11:55 pm
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
I Can't figure out why
1. Can not send email
2. After initial contact sync, no more contact syncing
3. After intial calendar sync, no more calendar syncing
I am using a palm pre w/ EAS / webos 1.4
here is a copy of my debug log when I force a sync on my phone.
03/11/10 16:30:21 [15898] --------
03/11/10 16:30:23 [15892] Start
03/11/10 16:30:23 [15892] Z-Push version: SVN 1.3 RC2 276
03/11/10 16:30:23 [15892] Client IP: 206.47.xxx.xxx
03/11/10 16:30:23 [15892] Client supports version 2.5
03/11/10 16:30:23 [15892] START Logon { username = xxxxxxxx@xxxx.com; domain = ; password = }
03/11/10 16:30:23 [15892] SOAP message:
03/11/10 16:30:23 [15892] SOAP response:
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: soap:Envelope (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: soap:Header (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: context (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2481 Undefined index: value (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: change (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: change_attribute_token (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: soap:Body (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: AuthResponse (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: authToken (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: lifetime (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: skin (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:146 Undefined index: refresh (8)
03/11/10 16:30:23 [15892] END Logon { connected = true }
03/11/10 16:30:23 [15892] START Setup { user = xxxxxxxx@xxxx.com; devid = PALM40e1a867733015c6fdca990d179c; protocolversion = 2.5 }
03/11/10 16:30:23 [15892] SOAP message:
03/11/10 16:30:23 [15892] SOAP response:
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2500 Undefined index: attributes (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2500 Undefined index: attributes (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2500 Undefined index: attributes (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:278 Undefined index: 11 (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:208 Undefined index: 11 (8)
03/11/10 16:30:23 [15892] [0] 1; name=USER_ROOT; view=message; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [1] 2360; name=XXXX dot COM; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [2] 5216; name=Accounts @ XXXX; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [3] 3380; name=Admin @ XXXX; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [4] 2385; name=AFI; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [5] 16; name=Briefcase; view=document; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [6] 2288; name=Public; view=document; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [7] 10; name=Calendar; view=appointment; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [8] 14; name=Chats; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [9] 7; name=Contacts; view=contact; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [10] 6; name=Drafts; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [11] 13; name=Emailed Contacts; view=contact; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [12] 257; name=Hurricanes; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [13] 2; name=Inbox; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [14] 4; name=Junk; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [15] 258; name=Junk E-mail; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [16] 12; name=Notebook; view=wiki; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [17] 5; name=Sent; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [18] 15; name=Tasks; view=task; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [19] 3; name=Trash; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] END Setup { 20 Folders Loaded }
03/11/10 16:30:23 [15892] POST cmd: GetAttachment
03/11/10 16:30:23 [15892] START GetAttachmentData { attname = '2:5587:4' }
03/11/10 16:30:25 [15892] END GetAttachmentData { true }
03/11/10 16:30:26 [15892] START Logoff
03/11/10 16:30:26 [15892] SOAP message:
03/11/10 16:30:26 [15892] SOAP response:
03/11/10 16:30:26 [15892] END Logoff
03/11/10 16:30:26 [15892] end
I am at z-push revision 23
1. Can not send email
2. After initial contact sync, no more contact syncing
3. After intial calendar sync, no more calendar syncing
I am using a palm pre w/ EAS / webos 1.4
here is a copy of my debug log when I force a sync on my phone.
03/11/10 16:30:21 [15898] --------
03/11/10 16:30:23 [15892] Start
03/11/10 16:30:23 [15892] Z-Push version: SVN 1.3 RC2 276
03/11/10 16:30:23 [15892] Client IP: 206.47.xxx.xxx
03/11/10 16:30:23 [15892] Client supports version 2.5
03/11/10 16:30:23 [15892] START Logon { username = xxxxxxxx@xxxx.com; domain = ; password = }
03/11/10 16:30:23 [15892] SOAP message:
03/11/10 16:30:23 [15892] SOAP response:
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: soap:Envelope (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: soap:Header (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: context (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2481 Undefined index: value (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: change (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: change_attribute_token (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: soap:Body (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: AuthResponse (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: authToken (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: lifetime (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2533 Undefined index: skin (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:146 Undefined index: refresh (8)
03/11/10 16:30:23 [15892] END Logon { connected = true }
03/11/10 16:30:23 [15892] START Setup { user = xxxxxxxx@xxxx.com; devid = PALM40e1a867733015c6fdca990d179c; protocolversion = 2.5 }
03/11/10 16:30:23 [15892] SOAP message:
03/11/10 16:30:23 [15892] SOAP response:
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2500 Undefined index: attributes (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2500 Undefined index: attributes (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:2500 Undefined index: attributes (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:278 Undefined index: 11 (8)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:208 Undefined index: 11 (8)
03/11/10 16:30:23 [15892] [0] 1; name=USER_ROOT; view=message; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [1] 2360; name=XXXX dot COM; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [2] 5216; name=Accounts @ XXXX; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [3] 3380; name=Admin @ XXXX; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [4] 2385; name=AFI; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [5] 16; name=Briefcase; view=document; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [6] 2288; name=Public; view=document; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [7] 10; name=Calendar; view=appointment; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [8] 14; name=Chats; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [9] 7; name=Contacts; view=contact; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [10] 6; name=Drafts; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [11] 13; name=Emailed Contacts; view=contact; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [12] 257; name=Hurricanes; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [13] 2; name=Inbox; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [14] 4; name=Junk; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [15] 258; name=Junk E-mail; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [16] 12; name=Notebook; view=wiki; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [17] 5; name=Sent; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] [18] 15; name=Tasks; view=task; include=0; virtual=0
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:199 Creating default object from empty value (2048)
03/11/10 16:30:23 [15892] /var/www/z-push/backend/zimbra.php:202 Undefined index: view (8)
03/11/10 16:30:23 [15892] [19] 3; name=Trash; view=message; include=1; virtual=0
03/11/10 16:30:23 [15892] END Setup { 20 Folders Loaded }
03/11/10 16:30:23 [15892] POST cmd: GetAttachment
03/11/10 16:30:23 [15892] START GetAttachmentData { attname = '2:5587:4' }
03/11/10 16:30:25 [15892] END GetAttachmentData { true }
03/11/10 16:30:26 [15892] START Logoff
03/11/10 16:30:26 [15892] SOAP message:
03/11/10 16:30:26 [15892] SOAP response:
03/11/10 16:30:26 [15892] END Logoff
03/11/10 16:30:26 [15892] end
I am at z-push revision 23
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="8141Klug"]Here's a patch against version 23 that allows "accented" characters (éàäöüß etc) to work in Mails, Contacts and Calendar.
[/QUOTE]
Shure you used v23? For me that diff.txt did not work.
BUT: I did the changes manually (to v23) and it works great! Is there any disadvantage if the changes come in the standard?
Greetings,
carlsan
[/QUOTE]
Shure you used v23? For me that diff.txt did not work.
BUT: I did the changes manually (to v23) and it works great! Is there any disadvantage if the changes come in the standard?
Greetings,
carlsan
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="powrrrplay"]here is a copy of my debug log when I force a sync on my phone.
[/QUOTE]
Is this your entire debug log? From what you posted, it just looks like the phone requested to get an attachment, not a full sync.
[/QUOTE]
Is this your entire debug log? From what you posted, it just looks like the phone requested to get an attachment, not a full sync.
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="carlsan"]Is there any disadvantage if the changes come in the standard?[/QUOTE]
Nope, the plan is to add them to the standard code. Klug has graciously agreed to do that for me.
Thank you Klug for researching and coming up with a solution to this problem.
Nope, the plan is to add them to the standard code. Klug has graciously agreed to do that for me.
Thank you Klug for researching and coming up with a solution to this problem.
-
- Advanced member
- Posts: 120
- Joined: Fri Sep 12, 2014 11:55 pm
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="gnosbush"]Is this your entire debug log? From what you posted, it just looks like the phone requested to get an attachment, not a full sync.[/QUOTE]
There is thousands of more lines to the debug log... shall i post all of it?
There is thousands of more lines to the debug log... shall i post all of it?
Z-Push Zimbra Backend (Push Email, Contacts, Appointments & Tasks)
[quote user="8141Klug"]Here's a patch against version 23 that allows "accented" characters (éàäöüß etc) to work in Mails, Contacts and Calendar.
This was tested against ZCS OSE 6.0.4, iPhone 3GS 3.1.2 (french) and WM 6.1 (french, running on a Samsung i780).
Quick how to for the diff :
. go to z-push/backend directory
. cut/past below code to diff.txt
. copy zimbra.php to zimbra.php.old (to have a backup)
. patch zimbra.php
--- zimbra.php.old 2010-03-11 19:00:18.000000000 +0100
+++ zimbra.php 2010-03-11 19:50:27.000000000 +0100
@@ -936,7 +936,7 @@
//$body = $this->GetBody($message);
// decode body to truncate it
- $body = utf8_to_windows1252($this->getBody($message, $this->_useHTML));
+ $body = u2w($this->getBody($message, $this->_useHTML));
if(strlen($body) > $truncsize && $truncsize <> 0) {
$body = substr($body, 0, $truncsize);
$output->bodytruncated = 1;
@@ -944,7 +944,7 @@
$body = $body;
$output->bodytruncated = 0;
}
- $body = str_replace("
","
", windows1252_to_utf8(str_replace("
","",$body)));
+ $body = str_replace("
","
", w2u(str_replace("
","",$body)));
$output->bodysize = strlen($body);
$output->body = $body;
@@ -1017,7 +1017,7 @@
$image = $this->url2base64($this->_rest_url . '/?id='.$item['id'].'&part='.$item['a_attribute_part'][0]);
$output->$k = $image;
} else {
- $output->$k = w2u($item['a'][$param[$v]]);
+ $output->$k = $item['a'][$param[$v]];
}
} else {
@@ -1063,11 +1063,11 @@
// title
if(isset($item['inv'][$i]['comp'][0]['name'])) {
- $subApp->subject = w2u($item['inv'][$i]['comp'][0]['name']);
+ $subApp->subject = $item['inv'][$i]['comp'][0]['name'];
}
if(isset($item['inv'][$i]['comp'][0]['loc'])) {
- $subApp->location = w2u($item['inv'][$i]['comp'][0]['loc']);
+ $subApp->location = $item['inv'][$i]['comp'][0]['loc'];
}
// allday
@@ -1120,7 +1120,7 @@
$subApp->sensitivity = 0;
}
- $subApp->body = w2u($item['inv'][$i]['comp'][0]['desc'][0]);
+ $subApp->body = $item['inv'][$i]['comp'][0]['desc'][0];
$subApp->bodytruncated = 0;
// Reminder
@@ -1129,8 +1129,8 @@
}
// Organizer Name & Email
- $subApp->organizername = w2u($item['inv'][$i]['comp'][0]['or_attribute_d'][0]);
- $subApp->organizeremail = w2u($item['inv'][$i]['comp'][0]['or_attribute_a'][0]);
+ $subApp->organizername = $item['inv'][$i]['comp'][0]['or_attribute_d'][0];
+ $subApp->organizeremail = $item['inv'][$i]['comp'][0]['or_attribute_a'][0];
// Attendees
$cAttendees = count($item['inv'][$i]['comp'][0]['at_attribute_a']);
@@ -1141,9 +1141,9 @@
$attendee = new SyncAttendee();
if(isset($item['inv'][$i]['comp'][0]['at_attribute_d'][$i])) {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_d'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_d'][$i];
} else {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_a'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
}
$attendee->email = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
@@ -1627,12 +1627,12 @@
// subject
if(isset($input->subject)) {
- $soap .= 'name="'.w2u($input->subject).'" ';
+ $soap .= 'name="'.$input->subject.'" ';
}
// location
if(isset($input->location)) {
- $soap .= 'loc="'.w2u($input->location).'" ';
+ $soap .= 'loc="'.$input->location.'" ';
}
// close
@@ -1772,7 +1772,7 @@
$soap .= '';
//subject
- $soap .= ''.w2u($input->subject).'';
+ $soap .= ''.$input->subject.'';
//currently not used|/
$soap .= '[/QUOTE]
Hi Kulg, thank you very much for this patch.
What I would like to know is : Is there anyone who have tested ZIMBRA OSE+Z-PUSH+Black Berry ? If yes how ?
This was tested against ZCS OSE 6.0.4, iPhone 3GS 3.1.2 (french) and WM 6.1 (french, running on a Samsung i780).
Quick how to for the diff :
. go to z-push/backend directory
. cut/past below code to diff.txt
. copy zimbra.php to zimbra.php.old (to have a backup)
. patch zimbra.php
--- zimbra.php.old 2010-03-11 19:00:18.000000000 +0100
+++ zimbra.php 2010-03-11 19:50:27.000000000 +0100
@@ -936,7 +936,7 @@
//$body = $this->GetBody($message);
// decode body to truncate it
- $body = utf8_to_windows1252($this->getBody($message, $this->_useHTML));
+ $body = u2w($this->getBody($message, $this->_useHTML));
if(strlen($body) > $truncsize && $truncsize <> 0) {
$body = substr($body, 0, $truncsize);
$output->bodytruncated = 1;
@@ -944,7 +944,7 @@
$body = $body;
$output->bodytruncated = 0;
}
- $body = str_replace("
","
", windows1252_to_utf8(str_replace("
","",$body)));
+ $body = str_replace("
","
", w2u(str_replace("
","",$body)));
$output->bodysize = strlen($body);
$output->body = $body;
@@ -1017,7 +1017,7 @@
$image = $this->url2base64($this->_rest_url . '/?id='.$item['id'].'&part='.$item['a_attribute_part'][0]);
$output->$k = $image;
} else {
- $output->$k = w2u($item['a'][$param[$v]]);
+ $output->$k = $item['a'][$param[$v]];
}
} else {
@@ -1063,11 +1063,11 @@
// title
if(isset($item['inv'][$i]['comp'][0]['name'])) {
- $subApp->subject = w2u($item['inv'][$i]['comp'][0]['name']);
+ $subApp->subject = $item['inv'][$i]['comp'][0]['name'];
}
if(isset($item['inv'][$i]['comp'][0]['loc'])) {
- $subApp->location = w2u($item['inv'][$i]['comp'][0]['loc']);
+ $subApp->location = $item['inv'][$i]['comp'][0]['loc'];
}
// allday
@@ -1120,7 +1120,7 @@
$subApp->sensitivity = 0;
}
- $subApp->body = w2u($item['inv'][$i]['comp'][0]['desc'][0]);
+ $subApp->body = $item['inv'][$i]['comp'][0]['desc'][0];
$subApp->bodytruncated = 0;
// Reminder
@@ -1129,8 +1129,8 @@
}
// Organizer Name & Email
- $subApp->organizername = w2u($item['inv'][$i]['comp'][0]['or_attribute_d'][0]);
- $subApp->organizeremail = w2u($item['inv'][$i]['comp'][0]['or_attribute_a'][0]);
+ $subApp->organizername = $item['inv'][$i]['comp'][0]['or_attribute_d'][0];
+ $subApp->organizeremail = $item['inv'][$i]['comp'][0]['or_attribute_a'][0];
// Attendees
$cAttendees = count($item['inv'][$i]['comp'][0]['at_attribute_a']);
@@ -1141,9 +1141,9 @@
$attendee = new SyncAttendee();
if(isset($item['inv'][$i]['comp'][0]['at_attribute_d'][$i])) {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_d'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_d'][$i];
} else {
- $attendee->name = w2u($item['inv'][$i]['comp'][0]['at_attribute_a'][$i]);
+ $attendee->name = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
}
$attendee->email = $item['inv'][$i]['comp'][0]['at_attribute_a'][$i];
@@ -1627,12 +1627,12 @@
// subject
if(isset($input->subject)) {
- $soap .= 'name="'.w2u($input->subject).'" ';
+ $soap .= 'name="'.$input->subject.'" ';
}
// location
if(isset($input->location)) {
- $soap .= 'loc="'.w2u($input->location).'" ';
+ $soap .= 'loc="'.$input->location.'" ';
}
// close
@@ -1772,7 +1772,7 @@
$soap .= '';
//subject
- $soap .= ''.w2u($input->subject).'';
+ $soap .= ''.$input->subject.'';
//currently not used|/
$soap .= '[/QUOTE]
Hi Kulg, thank you very much for this patch.
What I would like to know is : Is there anyone who have tested ZIMBRA OSE+Z-PUSH+Black Berry ? If yes how ?