Exemplo n.º 1
0
function cc_message_entry($data, $link = "message.php")
{
    global $msg_status;
    $id = $data['msgid'];
    return array('msgid' => $id, 'mdate' => myTimestamp($data['mtime'], 'm', _MD_TIME_UNIT), 'title' => "<a href='message.php?id={$id}'>" . $data['title'] . "</a>", 'uname' => xoops_getLinkedUnameFromId($data['uid']), 'status' => $msg_status[$data['status']], 'raw' => $data);
}
Exemplo n.º 2
0
}
// recording contactee access time
$now = time();
if ($uid == $data['uid'] && $now > $data['atime']) {
    $xoopsDB->queryF("UPDATE " . CCMES . " SET atime={$now} WHERE msgid={$msgid}");
}
include XOOPS_ROOT_PATH . "/header.php";
$breadcrumbs = new XoopsBreadcrumbs(_MD_CCENTER_RECEPTION, 'reception.php');
$pass = isset($_GET['p']) ? $_GET['p'] : '';
$add = $pass ? "p=" . urlencode($pass) : "";
$to_uname = XoopsUser::getUnameFromId($data['touid']);
$res = $xoopsDB->query("SELECT * FROM " . FORMS . " WHERE formid=" . $data['fidref']);
$form = $xoopsDB->fetchArray($res);
$items = get_form_attribute($form['defs']);
$raws = unserialize_text($data['body']);
$values = cc_display_values($raws, $items, $data['msgid'], $add);
$data['comment'] = $myts->displayTarea($data['comment']);
$isadmin = $uid && $xoopsUser->isAdmin($xoopsModule->getVar('mid'));
$title = $data['title'];
if ($isadmin) {
    $breadcrumbs->set($title, "reception.php?form=" . $data['fidref']);
} else {
    $breadcrumbs->set($title, "index.php?form=" . $data['fidref']);
}
list($lab) = array_keys($raws);
$breadcrumbs->set($lab . ': ' . $raws[$lab], '');
$breadcrumbs->assign();
$has_mail = !empty($data['email']);
$xoopsTpl->assign(array('subject' => $title, 'sender' => xoops_getLinkedUnameFromId($data['uid']), 'sendto' => $data['touid'] ? xoops_getLinkedUnameFromId($data['touid']) : _MD_CONTACT_NOTYET, 'cdate' => formatTimestamp($data['ctime']), 'mdate' => myTimestamp($data['mtime'], 'l', _MD_TIME_UNIT), 'adate' => myTimestamp($data['atime'], 'l', _MD_TIME_UNIT), 'readit' => $data['atime'] >= $data['mtime'], 'data' => $data, 'items' => $values, 'status' => $msg_status[$data['status']], 'is_eval' => is_cc_evaluate($msgid, $uid, $pass), 'is_mine' => $data['touid'] == $uid, 'is_getmine' => $data['touid'] == 0 && $uid && in_array($data['cgroup'], $xoopsUser->getGroups()), 'own_status' => array_slice($msg_status, 1, $isadmin ? 4 : 3), 'xoops_pagetitle' => htmlspecialchars($xoopsModule->getVar('name') . " | " . $data['title']), 'has_mail' => $has_mail));
include XOOPS_ROOT_PATH . '/include/comment_view.php';
include XOOPS_ROOT_PATH . "/footer.php";
Exemplo n.º 3
0
function msg_detail($msgid)
{
    global $xoopsDB, $msg_status, $myts;
    $users = $xoopsDB->prefix('users');
    $res = $xoopsDB->query("SELECT m.*,title,priuid,u.uname,cgroup,f.uname cfrom FROM " . CCMES . " m LEFT JOIN " . FORMS . " ON fidref=formid LEFT JOIN {$users} u ON touid=u.uid LEFT JOIN {$users} f ON m.uid=f.uid WHERE msgid={$msgid}");
    $data = $xoopsDB->fetchArray($res);
    $data['stat'] = $msg_status[$data['status']];
    $data['cdate'] = formatTimestamp($data['ctime'], 'm');
    $data['mdate'] = myTimestamp($data['mtime'], 'm', _AM_TIME_UNIT);
    $labs = array('title' => _AM_FORM_TITLE, 'uid' => _AM_MSG_FROM, 'stat' => _AM_MSG_STATUS, 'cdate' => _AM_MSG_CTIME, 'mdate' => _AM_MSG_MTIME, 'uname' => _AM_MSG_CHARGE, 'value' => _AM_MSG_VALUE, 'comment' => _AM_MSG_COMMS);
    $touid = false;
    echo "<h2>" . _AM_MSG_ADMIN . "</h2>\n";
    echo "<form method='post'>\n";
    echo "<input type='hidden' name='msgid' value='{$msgid}'/>\n";
    echo "<table class='ccinfo' cellspacing='1' width='100%'>\n";
    $n = 0;
    $upage = "../message.php?id={$msgid}";
    foreach ($labs as $k => $lab) {
        $bg = $n++ % 2 ? 'even' : 'odd';
        $val = htmlspecialchars($data[$k], ENT_QUOTES);
        switch ($k) {
            case 'title':
                $val = "<a href='{$upage}'>{$val}</a>\n";
                break;
            case 'uid':
                if ($val > 0) {
                    $val = "<a href='" . XOOPS_URL . "/userinfo.php?uid={$val}'>" . htmlspecialchars($data['cfrom'], ENT_QUOTES) . "</a>";
                } else {
                    if ($data['email']) {
                        $val = htmlspecialchars($data['email'], ENT_QUOTES);
                        $val = "<a href='mailto:{$val}'>{$val}</a>";
                    } else {
                        $val = _CC_USER_NONE;
                    }
                }
                break;
            case 'stat':
                $val = select_widget('status', $msg_status, $data['status']);
                break;
            case 'uname':
                $touid = new MyFormSelect(_AM_FORM_PRIM_CONTACT, 'touid', $data['touid']);
                $gid = $data['priuid'] < 0 ? -$data['priuid'] : $data['cgroup'];
                $touid->addOption('0', _AM_FORM_PRIM_NONE);
                $touid->addOptionUsers($gid);
                $val = $touid->render() . "\n<input type='hidden' name='cgroup' id='cgroup' value='{$gid}'/>\n";
                break;
            case 'value':
                $val = "<input name='{$k}' size='4' value='{$val}'/>";
                break;
            case 'comment':
                $val = "<textarea name='{$k}' cols='50' rows='4'>{$val}</textarea>";
                break;
            default:
        }
        echo "<tr><th>{$lab}</th><td>{$val}</td></tr>\n";
    }
    echo "<tr><th></th><td><input type='submit' name='store' value='" . _AM_SUBMIT . "'/></td></tr>\n";
    echo "</table>\n";
    echo "</from><br/>\n";
    if (!empty($touid)) {
        echo $touid->renderSupportJS();
    }
    echo "<table class='outer' cellspacing='1'>\n";
    $n = 0;
    foreach (unserialize_text($data['body']) as $k => $v) {
        $bg = $n++ % 2 ? 'even' : 'odd';
        $k = htmlspecialchars($k, ENT_QUOTES);
        $v = nl2br(htmlspecialchars($v, ENT_QUOTES));
        echo "<tr><td class='head'>{$k}</td><td class='{$bg}'>{$v}</td></tr>\n";
    }
    echo "</table>\n";
    $res = $xoopsDB->query("SELECT l.*,uname FROM " . CCLOG . " l LEFT JOIN " . $xoopsDB->prefix('users') . " ON euid=uid WHERE midref={$msgid} ORDER BY logid DESC");
    $log = array();
    echo '<a id="logging"></a><h3>' . _AM_LOGGING . "</h3>\n";
    if ($xoopsDB->getRowsNum($res)) {
        $anon = $GLOBALS['xoopsConfig']['anonymous'];
        echo "<table>\n";
        $reg = array('/\\(comid=(\\d+)\\)/');
        $rep = array('(<a href="' . $upage . '#comment\\1">comid=\\1</a>)');
        while ($data = $xoopsDB->fetchArray($res)) {
            $uname = htmlspecialchars(empty($data['uname']) ? $anon : $data['uname'], ENT_QUOTES);
            $comment = preg_replace($reg, $rep, $myts->displayTarea($data['comment']));
            echo "<tr><td nowrap>" . formatTimestamp($data['ltime']) . "</td><td nowrap>" . "[{$uname}]</td><td width='100%'>{$comment}</td></tr>\n";
        }
        echo "</table>\n";
    } else {
        echo _AM_NODATA;
    }
}