Loading View...
= 0); }); items.push({ id: 'forum', label: 'Forum', href: base + '?page=Forum', page: 'Forum', entity: 'shot', enabled: true }); return items; } function makeHref(path) { if (!path) return ''; var p = String(path); if (/^https?:\/\//i.test(p)) return p; if (p.charAt(0) === '?') return base + p; if (p.indexOf('p=') >= 0 || p.indexOf('page=') >= 0) return base + '?' + p; return base + '?p=' + encodeURIComponent(p); } function normalizeItem(it) { if (!it) return null; var id = String(it.id || '').trim(); if (!id) return null; var label = String(it.label || id); var enabled = (it.enabled === false) ? false : true; var href = String(it.href || it.url || '').trim(); var page = String(it.page || '').trim(); var entity = String(it.entity || '').trim(); var target = String(it.target || '').trim(); var pageNorm = String(page || '').trim().toLowerCase(); var labelNorm = String(label || '').trim().toLowerCase(); var hrefNormRaw = String(href || '').trim().toLowerCase(); var isScheduleLike = ( id === 'schedule' || pageNorm === 'schedule' || pageNorm === 'schedview' || labelNorm === 'schedule' || /[?&]p=schedule(?:&|$)/i.test(hrefNormRaw) || /[?&]p=schedview(?:&|$)/i.test(hrefNormRaw) || /[?&]page=schedule(?:&|$)/i.test(hrefNormRaw) ); if (!href) { if (id === 'shots') { href = base + '?p=table&e=shots'; page = page || 'Shots'; entity = entity || 'shot'; } else if (id === 'assets') { href = base + '?p=table&e=assets'; page = page || 'Assets'; entity = entity || 'asset'; } else if (id === 'tasks') { href = base + '?p=table&e=tasks'; page = page || 'Tasks'; entity = entity || 'task'; } else if (id === 'members') { href = base + '?p=table&e=members'; page = page || 'ProjectMembers'; entity = entity || 'member'; } else if (id === 'users') { href = base + '?p=table&e=users'; page = page || 'Users'; entity = entity || 'user'; } else if (id === 'schedule') { href = base + '?p=schedview'; page = page || 'SchedView'; target = '_blank'; } else { href = makeHref(id); } } else { href = makeHref(href); } if (isScheduleLike) { id = 'schedule'; href = base + '?p=schedview'; page = page || 'SchedView'; target = '_blank'; } return { id: id, label: label, href: href, enabled: enabled, page: page, entity: entity, target: target }; } var defaults = [ { id: 'shots', label: 'Shots', href: base + '?p=table&e=shots', page: 'Shots', entity: 'shot', enabled: true }, { id: 'assets', label: 'Assets', href: base + '?p=table&e=assets', page: 'Assets', entity: 'asset', enabled: true }, { id: 'tasks', label: 'Tasks', href: base + '?p=table&e=tasks', page: 'Tasks', entity: 'task', enabled: true }, { id: 'members', label: 'Members', href: base + '?p=table&e=members', page: 'ProjectMembers', entity: 'member', enabled: true }, { id: 'users', label: 'Users', href: base + '?p=table&e=users', page: 'Users', entity: 'user', enabled: true }, { id: 'forum', label: 'Forum', href: base + '?page=Forum', page: 'Forum', entity: 'shot', enabled: true }, { id: 'schedule', label: 'Schedule', href: base + '?p=schedview', page: 'SchedView', enabled: true, target: '_blank' } ]; try { if (typeof getProjectMeta === 'function') { var meta = getProjectMeta() || {}; var raw = meta['pnavi.config.json'] || meta['pnavi.config'] || ''; if (raw) { var cfg = JSON.parse(String(raw)); if (cfg && Array.isArray(cfg.items)) { var out = []; for (var i = 0; i < cfg.items.length; i++) { var item = normalizeItem(cfg.items[i]); if (item) out.push(item); } out = ensureForumItem(out); if (out.length) return out; } } } } catch (_) { } return ensureForumItem(defaults); })(); ?>
Detail
EDIT MODE
Discuss