Method code for $directories.find_page__objref()

[Turn off line numbering]
  1: arg url, interface;
  2: var page, script_name, meth, found, lock, obj;
  3: 
  4: script_name = "";
  5: if ((| (obj = $object_lib.to_dbref(url[1])) |)) {
  6:     page = obj;
  7:     script_name += "/" + url[1];
  8:     url = url.subrange(2);
  9:     if ((| (meth = tosym(url[1])) |)) {
 10:         if ((| page.find_method(meth) |)) {
 11:             interface.set_info('generate, meth);
 12:             script_name += "/" + url[1];
 13:             url = url.subrange(2);
 14:             found = 1;
 15:             if (page.has_ancestor($page) && page.get_lock())
 16:                 lock = page;
 17:         } else {
 18:             return 'pagenf;
 19:         }
 20:     } else if ((| page.find_method('generate) |)) {
 21:         interface.set_info('generate, 'generate);
 22:         script_name;
 23:         found = 1;
 24:         if (page.has_ancestor($page) && page.get_lock())
 25:             lock = page;
 26:     } else {
 27:         return 'pagenf;
 28:     }
 29:     interface.set_info('script_name, script_name);
 30:     interface.set_info('path_info, "/" + url.join("/"));
 31:     interface.set_info('directory_object, $directories);
 32:     interface.set_info('lock_object, lock);
 33:     return page;
 34: }
 35: return 'pagenf;

// Brad Roberts
// Bruce Mitchener, Jr.
// Created 16-May-1997 as a part of ColdCore, see: @help Credit

Tlon