Differences From
Artifact [56e1fe84a6]:
516 516 end ::nocookie::;
517 517 end
518 518
519 519 if co.aid ~= 0 then
520 520 var sess, usr = co.srv:actor_session_fetch(co.aid, peer, co.aid_issue)
521 521 if sess.ok == false then co.aid = 0 co.aid_issue = 0 else
522 522 co.who = usr.ptr
523 - co.who.rights.powers = server:actor_powers_fetch(co.who.id)
523 + var pows = server:actor_powers_fetch(co.who.id)
524 + var privs = sess.val.privs
525 + if not privs.post() then (pows.post << false) end
526 + if not privs.edit() then (pows.edit << false) end
527 + if not privs.account() then (pows.account << false) end
528 + if not privs.artifact() then (pows.artifact << false) end
529 + if not privs.invite() then (pows.invite << false) end
530 + if not privs.moderate() then
531 + (pows.censor << false)
532 + (pows.discipline << false)
533 + (pows.vacate << false)
534 + (pows.crier << false)
535 + end
536 + if not privs.admin() then
537 + (pows.cred << false)
538 + (pows.elevate << false)
539 + (pows.demote << false)
540 + (pows.rebrand << false)
541 + (pows.herald << false)
542 + (pows.config << false)
543 + (pows.purge << false)
544 + end
545 + co.who.rights.powers = pows
524 546 var userhue, hueok = server:actor_conf_int_get(co.who.id, 'ui-accent')
525 547 if hueok then co.ui_hue = userhue end
526 548 end
527 549 end
528 550
529 551 var livelast_p = lib.http.findheader(msg, 'X-Live-Last-Arrival')
530 552 if livelast_p ~= nil and livelast_p.ptr ~= nil then