[Turn on line numbering]arg @parent; var par, data, out; if (!.has_flag('variables, sender())) throw(~perm, sender().namef('ref) + " is not allowed to read variables on " + .namef('ref)); if (parent) { if (type(parent[1]) != 'objnum) throw(~type, parent[1] + " is not an object."); return (> data(parent[1]) <); } else { data = (> data() <); out = #[]; for par in (data) { // if the parent doesn't exist anymore, just let them see the data. if (!valid(par[1]) || par[1].has_flag('variables, sender())) out = out.add(par[1], par[2]); else out = out.add(par[1], ["*** Permission Denied ***"]); } return out; }
// Created as a part of ColdCore, see: @help Credit