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);
                }
            }
        }
    }
}