本文整理汇总了PHP中hoturl_post函数的典型用法代码示例。如果您正苦于以下问题:PHP hoturl_post函数的具体用法?PHP hoturl_post怎么用?PHP hoturl_post使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了hoturl_post函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: echo_username_form
static function echo_username_form(Contact $user, $first)
{
global $Me;
if (!$first && !$user->seascode_username) {
return;
}
echo Ht::form(hoturl_post("index", array("set_username" => 1, "u" => $Me->user_linkpart($user), "reposite" => "harvardseas"))), '<div class="f-contain">';
$notes = array();
if (!$user->seascode_username) {
$notes[] = array(true, "Please enter your " . self::home_link("code.seas.harvard.edu") . " username and click “Save.”");
}
ContactView::echo_group(self::home_link("code.seas") . " username", Ht::entry("username", $user->seascode_username) . " " . Ht::submit("Save"), $notes);
echo "</div></form>";
}
示例2: confHeader
confHeader();
$Conf->footer();
exit;
}
if (isset($_REQUEST["refuse"]) || isset($_REQUEST["decline"])) {
if (!$paperTable->editrrow || !$Me->is_my_review($paperTable->editrrow) && !$Me->can_administer($prow)) {
Conf::msg_error("This review was not assigned to you, so you can’t decline it.");
} else {
if ($paperTable->editrrow->reviewType >= REVIEW_SECONDARY) {
Conf::msg_error("PC members can’t decline their primary or secondary reviews. Contact the PC chairs directly if you really cannot finish this review.");
} else {
if ($paperTable->editrrow->reviewSubmitted) {
Conf::msg_error("This review has already been submitted; you can’t decline it now.");
} else {
if (defval($_REQUEST, "refuse") == "1" || defval($_REQUEST, "decline") == "1") {
$Conf->confirmMsg("<p>Select “Decline review” to decline this review (you may enter a brief explanation, if you’d like). Thank you for telling us that you cannot complete your review.</p><div class='g'></div><form method='post' action=\"" . hoturl_post("review", "p=" . $paperTable->prow->paperId . "&r=" . $paperTable->editrrow->reviewId) . "\" enctype='multipart/form-data' accept-charset='UTF-8'><div class='aahc'>" . Ht::hidden("refuse", "refuse") . " " . Ht::textarea("reason", "", array("rows" => 3, "cols" => 40, "spellcheck" => "true")) . "\n <span class='sep'></span>" . Ht::submit("Decline review") . "</div></form>");
} else {
refuseReview();
Dbl::qe_raw("unlock tables");
loadRows();
}
}
}
}
}
if (isset($_REQUEST["accept"])) {
if (!$paperTable->editrrow || !$Me->is_my_review($paperTable->editrrow) && !$Me->can_administer($prow)) {
Conf::msg_error("This review was not assigned to you, so you cannot confirm your intention to write it.");
} else {
if ($paperTable->editrrow->reviewModified <= 0) {
Dbl::qe_raw("update PaperReview set reviewModified=1 where reviewId=" . $paperTable->editrrow->reviewId . " and coalesce(reviewModified,0)<=0");
示例3: reset_password
static function reset_password($ids, $contact)
{
global $Conf;
return self::modify_password_mail("contactId!=" . $contact->contactId, true, false, $ids);
$Conf->confirmMsg("Passwords reset. To send mail with the new passwords, <a href='" . hoturl_post("users", "modifygo=1&modifytype=sendaccount&pap[]=" . (is_array($ids) ? join("+", $ids) : $ids)) . "'>click here</a>.");
}
示例4: hoturl_post
function hoturl_post($base, $args = null)
{
return hoturl_post($base, $this->hoturl_args($args));
}
示例5: loadRows
if (($pcid = cvtint(@$_REQUEST["pcid"])) <= 0) {
Conf::msg_error("Enter a PC member.");
} else {
if (($pctype = cvtint(@$_REQUEST["pctype"])) == REVIEW_PRIMARY || $pctype == REVIEW_SECONDARY || $pctype == REVIEW_PC) {
$Me->assign_review($prow->paperId, $pcid, $pctype);
$Conf->update_rev_tokens_setting(false);
}
}
loadRows();
}
// paper table
$paperTable = new PaperTable($prow, make_qreq(), "assign");
$paperTable->initialize(false, false);
confHeader();
// begin form and table
$loginUrl = hoturl_post("assign", "p={$prow->paperId}");
$paperTable->paptabBegin();
// reviewer information
$proposals = null;
if (setting("extrev_chairreq")) {
if ($Me->allow_administer($prow)) {
$q = "";
} else {
$q = " and requestedBy={$Me->contactId}";
}
$result = Dbl::qe_raw("select name, ReviewRequest.email, firstName as reqFirstName, lastName as reqLastName, ContactInfo.email as reqEmail, requestedBy, reason, reviewRound from ReviewRequest join ContactInfo on (ContactInfo.contactId=ReviewRequest.requestedBy) where ReviewRequest.paperId={$prow->paperId}" . $q);
$proposals = edb_orows($result);
}
$t = reviewTable($prow, $rrows, null, null, "assign", $proposals);
$t .= reviewLinks($prow, $rrows, null, null, "assign", $allreviewslink);
if ($t !== "") {
示例6: quit
if (!$Me->can_view_run($Pset, $Runner, $RunMany ? null : $User)) {
if (!$Me->isPC && !$Runner->visible) {
quit("Command reserved for TFs");
} else {
if ($Runner->disabled) {
quit("Command disabled");
} else {
quit("Can’t run command right now");
}
}
}
}
// magic multi-runner
if ($Me->isPC && @$_GET["runmany"] && check_post()) {
$Conf->header(htmlspecialchars($Pset->title . " " . $Runner->title), "home");
echo '<h2 id="runmany61_who"></h2>', Ht::form(hoturl_post("run")), '<div class="f-contain">', Ht::hidden("u", ""), Ht::hidden("pset", $Pset->urlkey), Ht::hidden("run", $Runner->name, array("id" => "runmany61")), '</div></form>';
echo '<div id="run61out_' . $Runner->name . '">', '<div class="run61" id="run61_' . $Runner->name . '">', '<div class="run61in"><pre class="run61pre"></pre></div>', '</div>', '</div>';
echo '<div id="runmany61_users">', htmlspecialchars($_GET["runmany"]), '</div>';
$Conf->footerScript('runmany61()');
echo '<div class="clear"></div>', "\n";
$Conf->footer();
exit;
}
// repo
$Info = user_pset_info();
$Repo = $Info->repo;
$RecentCommits = $Info->recent_commits();
// can we run this?
if (!$Repo) {
quit("No repository to run");
} else {
示例7: array
<path d="M 61.71,62.611 C 66.977,55.945 70.128,47.531 70.128,38.378 C 70.128,29.161 66.936,20.696 61.609,14.01" style="fill:none;stroke:#111111;stroke-width:5;stroke-linecap:round"/>
</svg><svg id="muteicon" class="fx" width="1.5em" height="1.5em" viewBox="0 0 75 75" style="position:relative;bottom:-3px">
<polygon points="39.389,13.769 22.235,28.606 6,28.606 6,47.699 21.989,47.699 39.389,62.75 39.389,13.769" style="stroke:#111111;stroke-width:5;stroke-linejoin:round;fill:#111111;" />
<path d="M 48.651772,50.269646 69.395223,25.971024" style="fill:none;stroke:#111111;stroke-width:5;stroke-linecap:round"/>
<path d="M 69.395223,50.269646 48.651772,25.971024" style="fill:none;stroke:#111111;stroke-width:5;stroke-linecap:round" />
</svg></button></td>';
//echo '<span class="hidden fhn_ib"> Mute</span>';
//echo '<span class="hidden fhx_ib"> Unmute</span></button></td>';
// show-papers
if ($Me->has_database_account()) {
echo '<td style="padding-left:2em">', Ht::checkbox("buzzer_showpapers", 1, $show_papers, array("id" => "buzzer_showpapers", "onclick" => "trackertable_showpapers()")), " ", Ht::label("Show papers"), '</td>';
Ht::stash_script("trackertable_showpapers()");
}
// kiosk mode
if ($Me->privChair) {
echo '<td style="padding-left:2em">', Ht::js_button("Kiosk mode", "popup(this,'kiosk',0,true)"), '</td>';
$Conf->footerHtml('<div id="popup_kiosk" class="popupc">
<p>Kiosk mode is a discussion status page with no
other site privileges. It’s safe to leave a browser in kiosk mode
open in the hallway.</p>
<p><b>Kiosk mode will sign you out of the site.</b>
Do not use kiosk mode on your main browser. Instead, sign in to
another browser and navigate to this page.
Or use these URLs:</p>
<p><table><tr><td class="lcaption nw">With papers</td>
<td>' . hoturl_absolute("buzzer", array("__PATH__" => $kiosk_keys[1])) . '</td></tr>
<tr><td class="lcaption nw">Conflicts only</td>
<td>' . hoturl_absolute("buzzer", array("__PATH__" => $kiosk_keys[0])) . '</td></tr></table></p>' . Ht::form_div(hoturl_post("buzzer")) . '<div class="popup_actions">' . Ht::hidden("buzzer_showpapers", 1, array("class" => "popup_populate")) . Ht::js_button("Cancel", "popup(null,'kiosk',1)") . Ht::submit("signout_to_kiosk", "Enter kiosk mode", array("class" => "bb")) . '</div></div></form>');
}
echo "</tr></table></form>\n";
$Conf->footer();
示例8: foreach
}
echo " <tr>\n";
foreach ($buttons as $b) {
$x = is_array($b) ? $b[0] : $b;
echo " <td class='ptb_button'>", $x, "</td>\n";
}
echo " </tr>\n <tr>\n";
foreach ($buttons as $b) {
$x = is_array($b) ? $b[1] : "";
echo " <td class='ptb_explain'>", $x, "</td>\n";
}
echo " </tr>\n </table></div>\n";
echo "</div>\n", "</div>\n", "</form>\n";
if ($newProfile) {
echo '</div><div class="fx9">';
echo Ht::form(hoturl_post("profile", join("&", $form_params)), array("id" => "accountform", "autocomplete" => "off")), "<div class='profiletext aahc", $UserStatus->nerrors ? " alert" : "", "'>\n", Ht::password("chromefooler", "", array("style" => "display:none"));
create_modes(true);
$bulkentry = @$_REQUEST["bulkentry"];
if ($bulkentry === null && ($session_bulkentry = $Conf->session("profile_bulkentry")) && is_array($session_bulkentry) && $session_bulkentry[0] > $Now - 5) {
$bulkentry = $session_bulkentry[1];
$Conf->save_session("profile_bulkentry", null);
}
echo '<div class="f-contain"><div class="f-i"><div class="f-e">', Ht::textarea("bulkentry", $bulkentry, ["rows" => 1, "cols" => 80, "placeholder" => "Enter users one per line"]), '</div></div></div>';
echo '<div class="g"><strong>OR</strong> ', '<input type="file" name="bulk" size="30" /></div>';
echo '<div>', Ht::submit("bulkregister", "Save accounts"), '</div>';
echo "<p>Enter or upload CSV user data, including a header to explain your format. For example:</p>\n", '<pre class="entryexample">
name,email,affiliation,roles
John Adams,john@earbox.org,UC Berkeley,pc
"Adams, John Quincy",quincy@whitehouse.gov
</pre>', "\n", '<p>Or just enter an email address per line.</p>', '<p>Supported CSV fields include:</p><table>', '<tr><td class="lmcaption"><code>name</code></td>', '<td>User name</td></tr>', '<tr><td class="lmcaption"><code>first</code></td>', '<td>First name</td></tr>', '<tr><td class="lmcaption"><code>last</code></td>', '<td>Last name</td></tr>', '<tr><td class="lmcaption"><code>affiliation</code></td>', '<td>Affiliation</td></tr>', '<tr><td class="lmcaption"><code>roles</code></td>', '<td>User roles: blank, “<code>pc</code>”, “<code>chair</code>”, or “<code>sysadmin</code>”</td></tr>', '<tr><td class="lmcaption"><code>tags</code></td>', '<td>PC tags (space-separated)</td></tr>', '<tr><td class="lmcaption"><code>add_tags</code>, <code>remove_tags</code></td>', '<td>PC tags to add or remove</td></tr>', '<tr><td class="lmcaption"><code>collaborators</code></td>', '<td>Collaborators</td></tr>', '<tr><td class="lmcaption"><code>follow</code></td>', '<td>Email notification: blank, “<code>reviews</code>”, “<code>allreviews</code>”</td></tr>', "</table>\n";
echo '</div></form></div></div>';
示例9: array
} else {
$Acct->change_password($_REQUEST["upassword"], true);
$Acct->log_activity("Reset password");
$Conf->confirmMsg("Your password has been changed. You may now sign in to the conference site.");
$capmgr->delete($capdata);
$Conf->save_session("password_reset", (object) array("time" => $Now, "email" => $Acct->email, "password" => $_REQUEST["upassword"]));
go(hoturl("index"));
}
}
}
$password_class = " error";
}
$Conf->header("Reset Password", "resetpassword", null);
if (!isset($_REQUEST["autopassword"]) || trim($_REQUEST["autopassword"]) != $_REQUEST["autopassword"] || strlen($_REQUEST["autopassword"]) < 16 || !preg_match("/\\A[-0-9A-Za-z@_+=]*\\z/", $_REQUEST["autopassword"])) {
$_REQUEST["autopassword"] = Contact::random_password();
}
if (!isset($_REQUEST["useauto"]) || $_REQUEST["useauto"] != "n") {
$_REQUEST["useauto"] = "y";
}
$confname = $Opt["longName"];
if ($Opt["shortName"] && $Opt["shortName"] != $Opt["longName"]) {
$confname .= " (" . $Opt["shortName"] . ")";
}
echo "<div class='homegrp'>\nWelcome to the ", htmlspecialchars($confname), " submissions site.";
if (isset($Opt["conferenceSite"])) {
echo " For general information about ", htmlspecialchars($Opt["shortName"]), ", see <a href=\"", htmlspecialchars($Opt["conferenceSite"]), "\">the conference site</a>.";
}
echo "</div>\n<hr class='home' />\n<div class='homegrp' id='homereset'>\n", Ht::form(hoturl_post("resetpassword")), '<div class="f-contain">', Ht::hidden("resetcap", $_REQUEST["resetcap"]), Ht::hidden("autopassword", $_REQUEST["autopassword"]), "<p>This form will reset the password for <b>", htmlspecialchars($Acct->email), "</b>. Use our suggested replacement password, or choose your own.</p>\n<table>\n <tr><td>", Ht::radio("useauto", "y", null), " </td><td>", Ht::label("Use password <tt>" . htmlspecialchars($_REQUEST["autopassword"]) . "</tt>"), "</td></tr>\n <tr><td>", Ht::radio("useauto", "n", null, array("id" => "usemy", "onclick" => "x=\$\$(\"login_d\");if(document.activeElement!=x)x.focus()")), " </td><td style='padding-top:1em'>", Ht::label("Use this password:"), "</td></tr>\n <tr><td></td><td><div class='f-i'>\n <div class='f-c", $password_class, "'>Password</div>\n <div class='f-e'><input id='login_d' type='password' name='upassword' size='36' tabindex='1' value='' onkeypress='if(!((x=\$\$(\"usemy\")).checked)) x.click()' /></div>\n</div>\n<div class='f-i'>\n <div class='f-c", $password_class, "'>Password (again)</div>\n <div class='f-e'><input id='login_d' type='password' name='upassword2' size='36' tabindex='1' value='' /></div>\n</div></td></tr>\n<tr><td colspan='2' style='padding-top:1em'>\n<div class='f-i'>", Ht::submit("go", "Reset password", array("tabindex" => 1)), "</div></td>\n</tr></table>\n</div></form>\n<hr class='home' /></div>\n";
$Conf->footerScript("crpfocus(\"login\", null, 2)");
echo '<hr class="c" />', "\n";
$Conf->footer();
示例10: reviewTable
//.........这里部分代码省略.........
} else {
$subrev[] = array($tclass, $t, $scores);
}
}
// proposed review rows
if ($proposals) {
foreach ($proposals as $rr) {
$t = "";
// review ID
$t = "<td>Proposed review</td>";
// reviewer identity
$t .= "<td>" . Text::user_html($rr);
if ($allow_admin) {
$t .= _review_table_actas($rr);
}
$t .= "</td>";
// requester
if ($conflictType <= 0 || $admin) {
$t .= '<td style="font-size:smaller">';
if ($rr->requestedBy == $Me->contactId) {
$t .= "you";
} else {
if ($u = get($pcm, $rr->requestedBy)) {
$t .= $Me->reviewer_html_for($rr->requestedBy);
} else {
$t .= Text::user_html([$rr->reqFirstName, $rr->reqLastName, $rr->reqEmail]);
}
}
$t .= '</td>';
$want_requested_by = true;
}
$t .= '<td>';
if ($admin) {
$t .= '<small>' . Ht::form(hoturl_post("assign", "p={$prow->paperId}")) . '<div class="inline">' . Ht::hidden("name", $rr->name) . Ht::hidden("email", $rr->email) . Ht::hidden("reason", $rr->reason);
if ($rr->reviewRound !== null) {
if ($rr->reviewRound == 0) {
$rname = "unnamed";
} else {
$rname = $Conf->round_name($rr->reviewRound);
}
if ($rname) {
$t .= Ht::hidden("round", $rname);
}
}
$t .= Ht::submit("add", "Approve review", array("style" => "font-size:smaller")) . ' ' . Ht::submit("deny", "Deny request", array("style" => "font-size:smaller")) . '</div></form>';
} else {
if ($rr->reqEmail === $Me->email) {
$t .= _retract_review_request_form($prow, $rr);
}
}
$t .= '</td>';
// affix
$nonsubrev[] = array("", $t);
}
}
// unfinished review notification
$notetxt = "";
if ($conflictType >= CONFLICT_AUTHOR && !$admin && $notShown && $Me->can_view_review($prow, null, null)) {
if ($notShown == 1) {
$t = "1 review remains outstanding.";
} else {
$t = "{$notShown} reviews remain outstanding.";
}
$t .= '<br /><span class="hint">You will be emailed if new reviews are submitted or existing reviews are changed.</span>';
$notetxt = '<div class="revnotes">' . $t . "</div>";
}
示例11: result_html
private function result_html()
{
global $Conf, $Me, $Qreq, $SSel, $pcsel;
$assignments = $this->autoassigner->assignments();
ReviewAssigner::$prefinfo = $this->autoassigner->prefinfo;
ob_start();
if (!$assignments) {
$Conf->warnMsg("Nothing to assign.");
return ob_get_clean();
}
$assignset = new AssignmentSet($Me, true);
$assignset->parse(join("\n", $assignments));
list($atypes, $apids) = $assignset->types_and_papers(true);
$badpairs_inputs = $badpairs_arg = array();
for ($i = 1; $i <= 20; ++$i) {
if ($Qreq["bpa{$i}"] && $Qreq["bpb{$i}"]) {
array_push($badpairs_inputs, Ht::hidden("bpa{$i}", $Qreq["bpa{$i}"]), Ht::hidden("bpb{$i}", $Qreq["bpb{$i}"]));
$badpairs_arg[] = $Qreq["bpa{$i}"] . "-" . $Qreq["bpb{$i}"];
}
}
echo Ht::form_div(hoturl_post("autoassign", ["saveassignment" => 1, "assigntypes" => join(" ", $atypes), "assignpids" => join(" ", $apids), "xbadpairs" => count($badpairs_arg) ? join(" ", $badpairs_arg) : null, "profile" => $Qreq->profile, "XDEBUG_PROFILE" => $Qreq->XDEBUG_PROFILE, "seed" => $Qreq->seed]));
$atype = $assignset->type_description();
echo "<h3>Proposed " . ($atype ? $atype . " " : "") . "assignment</h3>";
Conf::msg_info("Select “Apply changes” if this looks OK. (You can always alter the assignment afterwards.) Reviewer preferences, if any, are shown as “P#”.");
$assignset->report_errors();
$assignset->echo_unparse_display();
// print preference unhappiness
if ($Qreq->profile && $this->atype_review) {
$umap = $this->autoassigner->pc_unhappiness();
sort($umap);
echo '<p style="font-size:65%">Preference unhappiness: ';
$usum = 0;
foreach ($umap as $u) {
$usum += $u;
}
if (count($umap) % 2 == 0) {
$umedian = ($umap[count($umap) / 2 - 1] + $umap[count($umap) / 2]) / 2;
} else {
$umedian = $umap[(count($umap) - 1) / 2];
}
echo 'mean ', sprintf("%.2f", $usum / count($umap)), ', min ', $umap[0], ', 10% ', $umap[(int) (count($umap) * 0.1)], ', 25% ', $umap[(int) (count($umap) * 0.25)], ', median ', $umedian, ', 75% ', $umap[(int) (count($umap) * 0.75)], ', 90% ', $umap[(int) (count($umap) * 0.9)], ', max ', $umap[count($umap) - 1], '<br/>Time: ', sprintf("%.6f", microtime(true) - $this->start_at);
foreach ($this->autoassigner->profile as $name => $time) {
echo ', ', sprintf("%s %.6f", htmlspecialchars($name), $time);
}
echo '</p>';
}
echo "<div class='g'></div>", "<div class='aahc'><div class='aa'>\n", Ht::submit("submit", "Apply changes"), "\n ", Ht::submit("download", "Download assignment file"), "\n ", Ht::submit("cancel", "Cancel"), "\n";
foreach (array("t", "q", "a", "revtype", "revaddtype", "revpctype", "cleartype", "revct", "revaddct", "revpcct", "pctyp", "balance", "badpairs", "rev_roundtag", "method", "haspap") as $t) {
if (isset($Qreq[$t])) {
echo Ht::hidden($t, $Qreq[$t]);
}
}
echo Ht::hidden("pcs", join(" ", array_keys($pcsel))), join("", $badpairs_inputs), Ht::hidden("p", join(" ", $SSel->selection())), "\n";
// save the assignment
echo Ht::hidden("assignment", join("\n", $assignments)), "\n";
echo "</div></div></div></form>";
return ob_get_clean();
}
示例12: header
function header($title, $id, $actionBar, $title_div = null)
{
global $ConfSitePATH, $Me, $Now, $Opt;
if ($this->headerPrinted) {
return;
}
// <head>
if ($title === "Home") {
$title = "";
}
$this->header_head($title);
// <body>
$body_class = "";
if ($id === "paper_view" || $id === "paper_edit" || $id === "review" || $id === "assign") {
$body_class = "paper";
}
echo "<body";
if ($id) {
echo ' id="', $id, '"';
}
if ($body_class) {
echo ' class="', $body_class, '"';
}
echo ">\n";
// initial load (JS's timezone offsets are negative of PHP's)
Ht::stash_script("hotcrp_load.time(" . -date("Z", $Now) / 60 . "," . (get($Opt, "time24hour") ? 1 : 0) . ")");
// deadlines settings
if ($Me) {
Ht::stash_script("hotcrp_deadlines.init(" . json_encode($Me->my_deadlines($this->paper)) . ")");
}
if (self::$gDefaultFormat) {
Ht::stash_script("render_text.set_default_format(" . self::$gDefaultFormat . ")");
}
// meeting tracker
$trackerowner = ($trackerstate = $this->setting_json("tracker")) && $trackerstate->trackerid && $trackerstate->sessionid == session_id();
if ($trackerowner) {
Ht::stash_script("hotcrp_deadlines.tracker(0)");
}
echo '<div id="prebody"><div id="header">';
// $header_site
$is_home = $id === "home";
$site_div = '<div id="header_site" class="header_site_logo ' . ($is_home ? "header_site_home" : "header_site_page") . '"><h1><a class="qq" href="' . hoturl("index") . '">' . htmlspecialchars($Opt["shortName"]);
if (!$is_home) {
$site_div .= ' <span style="font-weight:normal">Home</span>';
}
$site_div .= '</a></h1></div>';
// $header_profile
$profile_html = "";
if ($Me && !$Me->is_empty()) {
// profile link
$xsep = ' <span class="barsep">·</span> ';
if ($Me->has_email()) {
$profile_html .= '<a class="q" href="' . hoturl("profile") . '"><strong>' . htmlspecialchars($Me->email) . '</strong></a> <a href="' . hoturl("profile") . '">Profile</a>' . $xsep;
}
// "act as" link
if (($actas = get($_SESSION, "last_actas")) && get($_SESSION, "trueuser") && ($Me->privChair || Contact::$trueuser_privChair === $Me)) {
// Link becomes true user if not currently chair.
if (!$Me->privChair || strcasecmp($Me->email, $actas) == 0) {
$actas = $_SESSION["trueuser"]->email;
}
if (strcasecmp($Me->email, $actas) != 0) {
$profile_html .= "<a href=\"" . selfHref(array("actas" => $actas)) . "\">" . ($Me->privChair ? htmlspecialchars($actas) : "Admin") . " " . Ht::img("viewas.png", "Act as " . htmlspecialchars($actas)) . "</a>" . $xsep;
}
}
// help, sign out
$x = $id == "search" ? "t={$id}" : ($id == "settings" ? "t=chair" : "");
$profile_html .= '<a href="' . hoturl("help", $x) . '">Help</a>';
if (!$Me->has_email() && !isset($Opt["httpAuthLogin"])) {
$profile_html .= $xsep . '<a href="' . hoturl("index", "signin=1") . '">Sign in</a>';
}
if (!$Me->is_empty() || isset($Opt["httpAuthLogin"])) {
$profile_html .= $xsep . '<a href="' . hoturl_post("index", "signout=1") . '">Sign out</a>';
}
}
if (!$title_div && $title) {
$title_div = '<div id="header_page"><h1>' . $title . '</h1></div>';
}
if (!$title_div && $actionBar) {
$title_div = '<hr class="c" />';
}
$renderf = get($Opt, "headerRenderer");
if (!$renderf) {
$renderf = "Conf::echo_header";
}
if (is_array($renderf)) {
require_once $renderf[0];
$renderf = $renderf[1];
}
call_user_func($renderf, $this, $is_home, $site_div, $title_div, $profile_html, $actionBar);
echo " <hr class=\"c\" /></div>\n";
echo "<div id=\"initialmsgs\">\n";
if (get($Opt, "maintenance")) {
echo "<div class=\"merror\"><strong>The site is down for maintenance.</strong> ", is_string($Opt["maintenance"]) ? $Opt["maintenance"] : "Please check back later.", "</div>";
}
$this->save_messages = false;
if (($msgs = $this->session("msgs")) && count($msgs)) {
$this->save_session("msgs", null);
foreach ($msgs as $m) {
$this->msg($m[0], $m[1]);
}
//.........这里部分代码省略.........
示例13: htmlspecialchars
$revopt[htmlspecialchars($reviewer_contact->email)] = Text::name_html($Me) . " (not on PC)";
}
echo Ht::select("reviewer", $revopt, htmlspecialchars($reviewer_contact->email), array("onchange" => "\$\$(\"redisplayform\").submit()")), "<div class='g'></div></td></tr>\n";
}
echo "<tr><td class='lxcaption'><strong>Search:</strong></td><td class='lentry'><input type='text' size='32' name='q' value=\"", htmlspecialchars(defval($_REQUEST, "q", "")), "\" /><span class='sep'></span></td>", "<td>", Ht::submit("redisplay", "Redisplay"), "</td>", "</tr>\n";
$show_data = array();
if (!$Conf->subBlindAlways() && ($Conf->subBlindNever() || $pl->any->openau)) {
$show_data[] = '<span class="sep">' . Ht::checkbox("showau", 1, strpos($pldisplay, " au ") !== false, array("disabled" => !$Conf->subBlindNever() && !$pl->any->openau, "onchange" => "plinfo('au',this)", "id" => "showau")) . " " . Ht::label("Authors") . '</span>';
}
if (!$Conf->subBlindNever() && $Me->privChair) {
$show_data[] = '<span class="sep' . (!$Conf->subBlindAlways() ? " fx10" : "") . '">' . Ht::checkbox("showanonau", 1, strpos($pldisplay, " anonau ") !== false, array("disabled" => !$pl->any->anonau, "onchange" => (!$Conf->subBlindAlways() ? "" : "plinfo('au',this);") . "plinfo('anonau',this)", "id" => !$Conf->subBlindAlways() ? "showanonau" : "showau")) . " " . Ht::label(!$Conf->subBlindAlways() ? "Anonymous authors" : "Authors") . '</span>';
}
if (!$Conf->subBlindAlways() || $Me->privChair) {
$show_data[] = '<span class="sep fx10">' . Ht::checkbox("showaufull", 1, strpos($pldisplay, " aufull ") !== false, array("onchange" => "plinfo('aufull',this)", "id" => "showaufull")) . " " . Ht::label("Full author info") . "</span>";
$Conf->footerScript("plinfo.extra=function(type,dofold){var x=(type=='au'?!dofold:(\$\$('showau')||{}).checked);fold('redisplayform',!x,10)};");
}
if ($pl->any->abstract) {
$show_data[] = '<span class="sep">' . Ht::checkbox("showabstract", 1, strpos($pldisplay, " abstract ") !== false, array("onchange" => "plinfo('abstract',this)")) . " " . Ht::label("Abstracts") . '</span>';
}
if ($pl->any->topics) {
$show_data[] = '<span class="sep">' . Ht::checkbox("showtopics", 1, strpos($pldisplay, " topics ") !== false, array("onchange" => "plinfo('topics',this)")) . " " . Ht::label("Topics") . '</span>';
}
if (count($show_data) && $pl->count) {
echo '<tr><td class="lxcaption"><strong>Show:</strong> ', '</td><td colspan="2" class="lentry">', join('', $show_data), '</td></tr>';
}
echo "</table></div></form>";
// </div></div>
echo "</td></tr></table>\n";
// main form
echo Ht::form_div(hoturl_post("reviewprefs", "reviewer={$reviewer}" . (defval($_REQUEST, "q") ? "&q=" . urlencode($_REQUEST["q"]) : "")), array("class" => "assignpc", "onsubmit" => "return plist_onsubmit.call(this)", "id" => "sel")), Ht::hidden("defaultact", "", array("id" => "defaultact")), Ht::hidden_default_submit("default", 1), "<div class='pltable_full_ctr'>\n", '<noscript><div style="text-align:center">', Ht::submit("update", "Save changes"), '</div></noscript>', $pl_text, "</div></div></form>\n";
$Conf->footer();
示例14: show
function show($prow, $rrows, $rrow, &$options)
{
global $Conf, $Opt, $Me, $useRequest;
if (!$options) {
$options = array();
}
$editmode = defval($options, "edit", false);
$reviewOrdinal = unparseReviewOrdinal($rrow);
self::check_review_author_seen($prow, $rrow, $Me);
if (!$editmode) {
$rj = $this->unparse_review_json($prow, $rrow, $Me);
if (get($options, "editmessage")) {
$rj->message_html = $options["editmessage"];
}
$Conf->echoScript("review_form.add_review(" . json_encode($rj) . ");\n");
return;
}
// From here on, edit mode.
$forceShow = $Me->is_admin_force() ? "&forceShow=1" : "";
$reviewLinkArgs = "p={$prow->paperId}" . ($rrow ? "&r={$reviewOrdinal}" : "") . "&m=re" . $forceShow;
$reviewPostLink = hoturl_post("review", $reviewLinkArgs);
$reviewDownloadLink = hoturl("review", $reviewLinkArgs . "&downloadForm=1" . $forceShow);
echo Ht::form($reviewPostLink, array("class" => "revcard")), '<div class="aahc">', Ht::hidden_default_submit("default", "");
if ($rrow) {
echo Ht::hidden("version", defval($rrow, "reviewEditVersion", 0) + 1);
}
echo '<div class="revcard" id="r', $reviewOrdinal, '"><div class="revcard_head">';
// Links
if ($rrow) {
echo '<div class="floatright"><a href="' . hoturl("review", "r={$reviewOrdinal}&text=1" . $forceShow) . '" class="xx">', Ht::img("txt.png", "[Text]", "b"), " <u>Plain text</u></a>", "</div>";
}
echo "<h3>";
if ($rrow) {
echo '<a href="', hoturl("review", "r={$reviewOrdinal}" . $forceShow), '" class="q">Edit Review';
if ($rrow->reviewSubmitted) {
echo " #", $reviewOrdinal;
}
echo "</a>";
} else {
echo "Write Review";
}
echo "</h3>\n";
$open = $sep = " <span class='revinfo'>";
$xsep = " <span class='barsep'>·</span> ";
$showtoken = $rrow && $Me->review_token_cid($prow, $rrow);
$type = "";
if ($rrow && $Me->can_view_review_round($prow, $rrow, null)) {
$type = review_type_icon($rrow->reviewType);
if ($rrow->reviewRound > 0 && $Me->can_view_review_round($prow, $rrow, null)) {
$type .= " <span class=\"revround\" title=\"Review round\">" . htmlspecialchars($Conf->round_name($rrow->reviewRound, true)) . "</span>";
}
}
if ($rrow && $Me->can_view_review_identity($prow, $rrow, null) && (!$showtoken || !Contact::is_anonymous_email($rrow->email))) {
echo $sep, $rrow->reviewBlind ? "[" : "", Text::user_html($rrow), $rrow->reviewBlind ? "]" : "", " ", $type;
$sep = $xsep;
} else {
if ($type) {
echo $sep, $type;
$sep = $xsep;
}
}
if ($showtoken) {
echo $sep, "Review token ", encode_token((int) $rrow->reviewToken);
$sep = $xsep;
}
if ($rrow && $rrow->reviewModified > 0 && $Me->can_view_review_time($prow, $rrow)) {
echo $sep, "Updated ", $Conf->printableTime($rrow->reviewModified);
$sep = $xsep;
}
if ($sep != $open) {
echo "</span>\n";
}
if (defval($options, "editmessage")) {
echo "<div class='hint'>", defval($options, "editmessage"), "</div>\n";
}
// download?
echo '<hr class="c" />';
echo "<table class='revoff'><tr>\n <td><strong>Offline reviewing</strong> </td>\n <td>Upload form: <input type='file' name='uploadedFile' accept='text/plain' size='30' />\n ", Ht::submit("uploadForm", "Go"), "</td>\n </tr><tr>\n <td></td>\n <td><a href='{$reviewDownloadLink}'>Download form</a>\n <span class='barsep'>·</span>\n <span class='hint'><strong>Tip:</strong> Use <a href='", hoturl("search"), "'>Search</a> or <a href='", hoturl("offline"), "'>Offline reviewing</a> to download or upload many forms at once.</span></td>\n </tr></table></div>\n";
// ready?
$ready = $useRequest ? defval($_REQUEST, "ready") : !($rrow && $rrow->reviewModified && !$rrow->reviewSubmitted);
// review card
echo '<div class="revcard_body">';
// administrator?
$admin = $Me->allow_administer($prow);
if ($rrow && !$Me->is_my_review($rrow) && $admin) {
echo Ht::xmsg("info", "This isn’t your review, but as an administrator you can still make changes.");
}
// delegate?
if ($rrow && !$rrow->reviewSubmitted && $rrow->contactId == $Me->contactId && $rrow->reviewType == REVIEW_SECONDARY) {
$ndelegated = 0;
foreach ($rrows as $rr) {
if ($rr->reviewType == REVIEW_EXTERNAL && $rr->requestedBy == $rrow->contactId) {
$ndelegated++;
}
}
if ($ndelegated == 0) {
$t = "As a secondary reviewer, you can <a href=\"" . hoturl("assign", "p={$rrow->paperId}") . "\">delegate this review to an external reviewer</a>, but if your external reviewer declines to review the paper, you should complete this review yourself.";
} else {
if ($rrow->reviewNeedsSubmit == 0) {
$t = "A delegated external reviewer has submitted their review, but you can still complete your own if you’d like.";
//.........这里部分代码省略.........
示例15: PaperList
$paperList = new PaperList($search, ["sort" => true, "list" => true, "reviewer" => $pcm[$reviewer]], make_qreq());
$paperList->display .= " topics ";
if ($qreq->kind != "c") {
$paperList->display .= "reviewers ";
}
if (isset($showau)) {
$search->overrideMatchPreg = true;
$search->matchPreg = array();
if ($showau) {
$search->matchPreg["authorInformation"] = make_match_preg($showau);
}
if ($showco) {
$search->matchPreg["collaborators"] = make_match_preg($showco);
}
}
$a = isset($qreq->sort) ? "&sort=" . urlencode($qreq->sort) : "";
echo "<div class='aahc'><form class='assignpc' method='post' action=\"", hoturl_post("manualassign", "reviewer={$reviewer}&kind={$qreq->kind}{$a}"), "\" enctype='multipart/form-data' accept-charset='UTF-8'><div>\n", Ht::hidden("t", $qreq->t), Ht::hidden("q", $qreq->q), Ht::hidden("papx", join(" ", $search->paperList())), "<div class=\"aa\">", Ht::submit("update", "Save assignments", array("class" => "bb"));
if ($qreq->kind != "c") {
$rev_rounds = $Conf->round_selector_options();
if (count($rev_rounds) > 1) {
echo '<span style="padding-left:2em">Review round: ', Ht::select("rev_roundtag", $rev_rounds, $qreq->rev_roundtag ?: "unnamed", array("id" => "assrevroundtag")), '</span>';
} else {
if (!@$rev_rounds["unnamed"]) {
echo '<span style="padding-left:2em">Review round: ', $Conf->current_round_name(), '</span>';
}
}
}
echo "<span style='padding-left:2em'>", Ht::checkbox(false, false, true, array("id" => "assrevimmediate")), " ", Ht::label("Automatically save assignments", "assrevimmediate"), "</span></div>\n", $paperList->table_html($qreq->kind == "c" ? "conflict" : "reviewAssignment", array("class" => "pltable_full", "table_id" => "foldpl", "header_links" => true, "nofooter" => true, "fold" => array("allrevtopicpref" => true))), "<div class='aa'>", Ht::submit("update", "Save assignments", array("class" => "bb")), "</div></div></form></div>\n";
}
echo '<hr class="c" />';
$Conf->footer();