@verb #84:"tell_www_page" this none this rxdo #789 @program #84:"tell_www_page" this none this player:isa($webber) && caller == $www || raise(E_PERM) set_task_perms(player.user) {?object = #-1} = args if (!valid(object)) return pass(@args) endif $www.error:OK("Cache-Control: no-cache") url = $www:find_ref(object) prepstr = $string_utils:substitute(prepstr, $www.subst) edit = 0 for x in [1..length(prepstr)] if (!(prepstr[x] in {".", ":", "!", ",", ";"})) edit = 1 break x endif endfor player:tell("", $name, ": ", edit ? "Edit " | "Examine ", object.name, " (", object, ")") if (edit) player:tell("

View/Edit ", object, "", $html_utils:literal_text(prepstr), "

") if (prepstr[1] == "." || prepstr[1] == ",") this:edit_prop(prepstr[2..$], object) elseif (prepstr[1] == ":" || prepstr[1] == ";") this:edit_verb(prepstr[2..$], object) elseif (prepstr[1] == "!") this:edit_file(prepstr[2..$], object) endif else if (player.referer && $www:previous_object() != object && iobjstr) "We have an unknown form refering an chmod/chown to us." $msg:mtell("www_error", "Warning! Previous page doesn't appear to be this one!") player:tell("For security reasons the chmod or chown will not be made. Refering page: [", player.referer, "]") elseif ($www:parse_POST("chmod")) player.user:controls(object) || raise(E_PERM) object.r = !!$www:parse_POST("r") object.w = !!$www:parse_POST("w") object.f = !!$www:parse_POST("f") player:tell("Object chmoded.") elseif ((x = $www:parse_POST("chown")) && x != $su:nn(object.owner)) newowner = $su:match_nn_object(x, object.location, player.user) valid(newowner) || (newowner = $su:match_player(x, player.user)) if (newowner == object.owner) "Don't touch it." elseif (!player.user.wizard) $msg:mtell("www_error", "Permission denied, only wizards can change the owner.") elseif (!valid(newowner)) $msg:mtell("www_error", "Couldn't match new owner (" + x + ").") elseif (!newowner:isa($accountable)) $msg:mtell("www_error", $su:nn(newowner) + " doesn't look like a reasonable owner. Ownership not changed.") else player:tell("Chowning object to ", $su:nn(newowner), ".
") oldowner = object.owner x = $wiz_utils:set_owner(object, newowner, 1) if (typeof(x) == $ERR) $msg:mtell("www_error", tostr("Error during chown (", x, ").")) elseif (oldowner.wizard == newowner.wizard) for vnum in [1..length(verbs(object))] info = verb_info(object, vnum) if (info[1] == oldowner) info[1] == newowner set_verb_info(object, vnum, info) endif endfor "+c props were chowned in $wiz_utils:set_owner" endif endif endif player:tell("

Examining ", object.name, " (", object, ")

") this:tell_general(object) if (index(prepstr, ",")) this:tell_props(object) this:tell_iprops(object) elseif (index(prepstr, ".")) this:tell_props(object) player:tell("View the inherited properties.") endif if (index(prepstr, ";")) this:tell_verbs(object) this:tell_iverbs(object) elseif (index(prepstr, ":")) this:tell_verbs(object) player:tell("View the inherited verbs.") endif index(prepstr, "!") && this:tell_files(object) endif this:tell_www_tail(object) player:tell("") "Last modified by Dax (#789) on Thu Dec 15 14:45:39 2005 MST." .