$data['status'] = _STATUS_ACCEPT; } // 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';
function order_notify($data, $email, $value) { global $xoopsModuleConfig, $xoopsUser, $xoopsModule; $poster = new XoopsUser($data['uid']); $eid = $data['eid']; $exid = $data['exid']; $url = EGUIDE_URL . '/event.php?eid=' . $eid . ($exid ? "&sub={$exid}" : ''); $xoopsMailer =& getMailer(); $xoopsMailer->useMail(); $tplname = $data['autoaccept'] ? "accept%s.tpl" : "order%s.tpl"; $extra = eguide_form_options('reply_extension'); $tplfile = sprintf($tplname, ''); // default template name $tmpdir = template_dir($tplfile); if ($extra) { $vals = unserialize_text($value); if (isset($vals[$extra])) { $extpl = sprintf($tplname, $vals[$extra]); if (file_exists("{$tmpdir}{$extpl}")) { $tplfile = $extpl; } } } else { $extra = eguide_form_options('reply_tpl_suffix'); if ($extra) { $extpl = sprintf($tplname, $extra); if (file_exists("{$tmpdir}{$extpl}")) { $tplfile = $extpl; } } } $xoopsMailer->setTemplateDir($tmpdir); $xoopsMailer->setTemplate($tplfile); if ($xoopsModuleConfig['member_only'] && is_object($xoopsUser)) { $user = $xoopsUser; if (isset($data['reserv_uid'])) { $ruid = $data['reserv_uid']; $user = new XoopsUser($ruid); } else { $xoopsMailer->setToUsers($user); } $uinfo = sprintf("%s: %s (%s)\n", _MD_UNAME, $user->getVar('uname'), $user->getVar('name')); } else { if (!empty($email)) { $xoopsMailer->setToEmails($email); } $uinfo = ""; } if ($email) { $uinfo .= sprintf("%s: %s\n", _MD_EMAIL, $email); } $rvid = $data['rvid']; $conf = $data['confirm']; $edate = eventdate($data['edate']); $tags = array("EVENT_URL" => $url, "RVID" => $rvid, "CANCEL_KEY" => $conf, "CANCEL_URL" => EGUIDE_URL . "/reserv.php?op=cancel&rvid={$rvid}&key={$conf}", "INFO" => $uinfo . $value, "TITLE" => $edate . " " . $data['title'], "EVENT_DATE" => $edate, "EVENT_TITLE" => $data['title'], "SUMMARY" => strip_tags($data['summary'])); $subj = eguide_form_options('reply_subject', _MD_SUBJECT); $xoopsMailer->assign($tags); $xoopsMailer->setSubject($subj); $xoopsMailer->setFromEmail($poster->getVar('email')); $xoopsMailer->setFromName(eguide_from_name()); $ret = $xoopsMailer->send(); // send to order person if (!$ret) { return $ret; } $xoopsMailer->reset(); $xoopsMailer->useMail(); $xoopsMailer->setTemplateDir(template_dir($tplfile)); $xoopsMailer->setTemplate($tplfile); $xoopsMailer->assign($tags); $xoopsMailer->setSubject($subj); $xoopsMailer->setFromEmail($poster->getVar('email')); $xoopsMailer->setFromName(eguide_from_name()); if ($data['notify']) { if (!in_array($xoopsModuleConfig['notify_group'], $poster->groups())) { $xoopsMailer->setToUsers($poster); } $member_handler =& xoops_gethandler('member'); $notify_group = $member_handler->getGroup($xoopsModuleConfig['notify_group']); $xoopsMailer->setToGroups($notify_group); $xoopsMailer->send(); } return $ret; }
function ListCtrl($name, $init = array(), $combo = '') { if (empty($combo)) { global $xoopsModuleConfig; $combo = $xoopsModuleConfig['status_combo']; } $this->name = $name; $this->combo = unserialize_text($combo); if (!isset($_SESSION['listctrl'])) { $_SESSION['listctrl'] = array(); } if (!isset($_SESSION['listctrl'][$name]) || isset($_GET['reset']) && $_GET['reset'] == 'yes') { if (!isset($init['stat'])) { list($init['stat']) = array_values($this->combo); } $_SESSION['listctrl'][$name] = $init; } $this->vars =& $_SESSION['listctrl'][$name]; $this->updateVars($_REQUEST); }
} include_once XOOPS_ROOT_PATH . '/class/pagenav.php'; $cond = "fidref={$id} AND status<>" . $xoopsDB->quoteString(_STATUS_DEL); $res = $xoopsDB->query('SELECT count(*) FROM ' . CCMES . " WHERE {$cond}"); list($count) = $xoopsDB->fetchRow($res); $max = $xoopsModuleConfig['max_lists']; $args = preg_replace('/start=\\d+/', '', $_SERVER['QUERY_STRING']); $nav = new XoopsPageNav($count, $max, $start, "start", $args); $xoopsTpl->assign('pagenav', $count > $max ? $nav->renderNav() : ""); if ($form['priuid'] < 0 && !$isadmin) { $cond .= " AND touid=" . $xoopsUser->getVar('uid'); $form['description'] = str_replace('{TO_NAME}', $xoopsUser->getVar('name'), $form['description']); } $xoopsTpl->assign('form', $form); $res = $xoopsDB->query('SELECT * FROM ' . CCMES . " WHERE {$cond} ORDER BY msgid DESC", $max, $start); $xoopsTpl->assign('export_range', $export_range); $mlist = array(); while ($data = $xoopsDB->fetchArray($res)) { $values = unserialize_text($data['body']); if ($mpos >= 0 && !isset($values[$mlab])) { array_splice($values, $mpos, 0, array($data['email'])); } $data['values'] = array_slice($values, 0, $max_cols); $data['uname'] = $xoopsUser->getUnameFromId($data['uid']); $data['mdate'] = formatTimestamp($data['mtime']); $data['cdate'] = formatTimestamp($data['ctime']); $data['stat'] = $msg_status[$data['status']]; $mlist[] = $data; } $xoopsTpl->assign('mlist', $mlist); include XOOPS_ROOT_PATH . "/footer.php";
function make_lists($data) { global $xoopsDB; $eid = $data['eid']; $exid = $data['exid']; $myts =& MyTextSanitizer::getInstance(); if ($data['reservation'] && !empty($data['reserved'])) { $show = array(); $item = array(); foreach (explode("\n", trim($data['optfield'])) as $n) { $a = explode(",", preg_replace('/[\\n\\r]/', "", $n)); $lab = preg_replace('/[\\*#]$/', "", array_shift($a)); if (preg_match('/^!/', $lab)) { $lab = preg_replace('/^!\\s*/', '', $lab); $show[] = $lab; } $item[] = $lab; } $list = array(); if (count($show)) { $result = $xoopsDB->query('SELECT * FROM ' . RVTBL . " WHERE eid={$eid} AND exid={$exid} AND status=" . _RVSTAT_RESERVED . ' ORDER BY rdate'); $nc = 0; while ($rdata = $xoopsDB->fetchArray($result)) { $a = unserialize_text($rdata['info']); if (!empty($rdata['uid'])) { $uid = $rdata['uid']; $uinfo = " (<a href='" . XOOPS_URL . "/userinfo.php?uid={$uid}'>" . XoopsUser::getUnameFromId($uid) . "</a>)"; } else { $uinfo = ""; } $order = array(); foreach ($show as $v) { $order[] = $myts->sanitizeForDisplay($a[$v]) . $uinfo; $uinfo = ""; } $list[++$nc] = $order; } } return array('labels' => $show, 'list' => $list); } return array(); }
$xoopsTpl->assign('event', $data); if (isset($_GET['back'])) { $back = $myts->stripSlashesGPC($_GET['back']); } else { $back = isset($_SERVER['HTTP_REFERER']) ? $myts->makeTboxData4Edit($_SERVER['HTTP_REFERER']) : ''; } $form = "<h3>" . _MD_RESERV_CANCEL . "</h3>\n" . "<form action='reserv.php' method='post'>\n" . "<input type='hidden' name='op' value='delete' />\n" . "<input type='hidden' name='eid' value='" . $data['eid'] . "' />\n<input type='hidden' name='key' value='{$key}' />\n" . "<input type='hidden' name='back' value='{$back}' />\n" . "<input type='hidden' name='rvid' value='{$rvid}' />\n" . "<input type='submit' value='" . _SUBMIT . "' />\n</form>\n"; $xoopsTpl->assign('submit', $form); $values = array(); if ($email) { $values[_MD_EMAIL] = $email; } if ($ruid) { $values[_MD_UNAME] = XoopsUser::getUnameFromId($ruid); } $values = array_merge($values, unserialize_text($info)); $xoopsTpl->assign('values', $values); } } else { echo "<div class='evform'>\n"; echo "<div class='error'>" . _MD_RESERV_NOTFOUND . "</div>"; echo "</div>\n"; } break; case 'register': $email = $xoopsUser ? $xoopsUser->getVar('email') : ""; echo "<h2>" . _MD_NOTIFY_EVENT . "</h2>\n"; echo "<form action='reserv.php' method='post'>\n<table class='evtbl' align='center'>\n"; echo "<tr><th>" . _MD_EMAIL . "*</th><td><input size='40' name='email' value='{$email}'/> <input type='submit' value='" . _REGISTER . "'></td></tr>\n"; echo "</table>\n"; echo "<p align='center'>" . _MD_NOTIFY_REQUEST . "</p>";
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; } }
$edate = $data['edate']; $tab = formatTimestamp($edate, 'md'); $n = 1; while (isset($sheets[$tab]) && count($sheets[$tab]['rows']) >= $max_sect) { $n++; $tab = formatTimestamp($edate, 'md') . "({$n})"; } if (empty($sheets[$tab])) { $day = formatTimestamp($edate, 'Y-m-d'); $sheets[$tab] = array('title' => $data['title'], 'edate' => $day, 'rows' => array()); } $res = $xoopsDB->query("SELECT * FROM " . RVTBL . " WHERE eid={$eid} AND status=" . _RVSTAT_RESERVED . " AND exid=" . (empty($data['exid']) ? 0 : $data['exid'])); $rows = array(); $member_handler =& xoops_gethandler('member'); while ($rvdata = $xoopsDB->fetchArray($res)) { $row = unserialize_text($rvdata['info']); $row[_MD_ORDER_DATE] = formatTimestamp($rvdata['rdate'], 'Y-m-d H:i:s'); $row[_MD_EMAIL] = $rvdata['email']; $row[_MD_UNAME] = display_username($rvdata['uid']); $row[_MD_RVID] = $rvdata['rvid']; $vals = array(); foreach ($outs as $k) { $v = empty($k) || empty($row[$k]) ? "" : $row[$k]; $type = preg_match('/^-?\\d+$/', $v) ? "Number" : "String"; $vals[] = array('value' => $v, 'type' => $type); } while (count($vals) < $nfield) { // padding blanks $vals[] = $nbsp; } $rows[] = $vals;
$template = file_get_contents(template_dir('confirm.tpl') . "/confirm.tpl"); $mailmsg = htmlspecialchars(str_replace($pat, $rep, $template)); $max = $xoopsModuleConfig['max_item']; $xoopsTpl->assign(array('order_count' => $nrec, 'reserv_num' => sprintf(_MD_RESERV_REG, $nrsv), 'print_date' => formatTimestamp(time(), _MD_POSTED_FMT), 'labels' => array_merge(array($xoopsModuleConfig['member_only'] ? _MD_UNAME : _MD_EMAIL), array_slice($item, 0, $max)), 'reserv_msg' => $mailmsg, 'operations' => array(_RVSTAT_RESERVED => _MD_ACTIVATE, _RVSTAT_REFUSED => _MD_REFUSE))); $citem = $list = $nitem = array(); $confirm = 0; while ($order = $xoopsDB->fetchArray($result)) { $order['confirm'] = $cf = $order['status'] == _RVSTAT_ORDER; if ($cf) { $confirm++; } $order['date'] = formatTimestamp($order['rdate'], _MD_TIME_FMT); $order['stat'] = $rv_stats[$order['status']]; $add = array(); $ok = $order['status'] == _RVSTAT_RESERVED; foreach (unserialize_text($order['info']) as $lab => $v) { if ($ok) { if (isset($nitem[$lab])) { if ($nitem[$lab] !== "") { if (preg_match('/^-?\\d+$/', $v)) { $nitem[$lab] += $v; } else { $nitem[$lab] = ""; // include not numeric } } } else { $nitem[$lab] = preg_match('/^-?\\d+$/', $v) ? $v : ""; } if ($v && isset($mc[$lab])) { $mv = $mc[$lab] == 'checkbox' ? explode(",", $v) : array($v);