function buildNewPosts() { global $INTERNAL, $CONFIG, $RESPONSE; foreach ($INTERNAL[CALLER_SYSTEM_ID]->GetPosts() as $post) { $RESPONSE->Posts .= $post->GetXml(); archiveExternalChat($post); } }
function appendPosts() { global $INTERNAL, $GROUPS, $VISITOR, $CONFIG; $posts = explode(POST_ACTION_VALUE_SPLITTER, slashesStrip($_POST[POST_INTERN_PROCESS_POSTS . "_va"])); $receivers = explode(POST_ACTION_VALUE_SPLITTER, slashesStrip($_POST[POST_INTERN_PROCESS_POSTS . "_vb"])); $postids = explode(POST_ACTION_VALUE_SPLITTER, slashesStrip($_POST[POST_INTERN_PROCESS_POSTS . "_vc"])); $time = time(); foreach ($posts as $key => $post) { if ($receivers[$key] == GROUP_EVERYONE_INTERN || isset($GROUPS[$receivers[$key]])) { foreach ($INTERNAL as $internal) { if ($internal->SystemId != CALLER_SYSTEM_ID) { if ($receivers[$key] == GROUP_EVERYONE_INTERN || in_array($receivers[$key], $internal->Groups)) { if ($internal->Status != USER_STATUS_OFFLINE || !isnull($CONFIG["gl_ogcm"])) { $npost = new Post(getId(32), CALLER_SYSTEM_ID, $internal->SystemId, $posts[$key], $time); $npost->Persistent = true; if ($receivers[$key] == GROUP_EVERYONE_INTERN || in_array($receivers[$key], $INTERNAL[CALLER_SYSTEM_ID]->Groups)) { $npost->ReceiverGroup = $receivers[$key]; } $npost->Save(); } } } } } else { if ($receivers[$key] == GROUP_EVERYONE_EXTERN) { foreach ($INTERNAL[CALLER_SYSTEM_ID]->ExternalChats as $chat) { $npost = new Post(getId(32), CALLER_SYSTEM_ID, $chat->ExternalUser->SystemId, $posts[$key], $time); $npost->Save(); } } else { $npost = new Post($postids[$key], CALLER_SYSTEM_ID, $receivers[$key], $posts[$key], $time); $npost->Persistent = isset($INTERNAL[$receivers[$key]]); $npost->Save(); if (!$npost->Persistent) { archiveExternalChat($npost); } } } } }