getAccount($_SESSION['EMAIL']); $subscriptionAccount[] = $account; $gwPresence = $oPrimaryAccount->gwAccount && $oPrimaryAccount->gwAccount->bLogged; $imapPresence = $oPrimaryAccount->protocol=='IMAP'; $api = createobject('api'); $shared_prefix = $api->GetProperty('C_GW_SharedAccountPrefix'); $groupWareSubscribed = false; $imapSubscribed = false; switch($method){ case 'subscribe': if($folder){ if($gwPresence){ try{ $oPrimaryAccount->gwAccount->subscribeFolder($shared_prefix.$account.'/'.$folder); $groupWareSubscribed = true; }catch(Exc $e){ } } if($imapPresence){ try{ $oPrimaryAccount->subscribeFolder($shared_prefix.$account.'/'.$folder); $imapSubscribed = true; }catch(Exc $e){ } } }else{ if($gwPresence){ try{ $oPrimaryAccount->gwAccount->subscribe($subscriptionAccount); $groupWareSubscribed = true; }catch(Exc $e){ } } if($imapPresence){ try{ $oPrimaryAccount->subscribe($subscriptionAccount); $imapSubscribed = true; }catch(Exc $e){ } } } if(!$groupWareSubscribed && !$imapSubscribed){ echo "Subscription failed"; }else{ echo "Subscription completed"; } break; case 'unsubscribe': if($folder){ if($gwPresence){ try{ $oPrimaryAccount->gwAccount->unsubscribeFolder($shared_prefix.$account.'/'.$folder); $groupWareSubscribed = true; }catch(Exc $e){ } } if($imapPresence){ try{ $oPrimaryAccount->unsubscribeFolder($shared_prefix.$account.'/'.$folder); $imapSubscribed = true; }catch(Exc $e){ } } }else{ if($gwPresence){ try{ $oPrimaryAccount->gwAccount->unsubscribe($subscriptionAccount); $groupWareSubscribed = true; }catch(Exc $e){ } } if($imapPresence){ try{ $oPrimaryAccount->unsubscribe($subscriptionAccount); $imapSubscribed = true; }catch(Exc $e){ } } } if(!$groupWareSubscribed && !$imapSubscribed){ echo "Unsubscription failed"; }else{ echo "Unsubscription completed"; } break; } ?>