static function GetTrail($start = null) { $obj = utopia::GetInstance('uCMS_List'); $arr = $obj->GetNestedArray(); $out = array(); //TODO: add (Search Results) to end of title if current page is filtered. $out[$_SERVER['REQUEST_URI']] = '{utopia.title}'; // '<a href="'.$_SERVER['REQUEST_URI'].'">{utopia.title}</a>'; foreach (self::$extras as $a) { $out[$a[1]] = $a[0]; //'<a href="'.$a[1].'">'.$a[0].'</a>'; } $obj = utopia::GetInstance('uCMS_View'); $row = uCMS_View::findPage(); do { if (!$row) { break; } $url = $obj->GetURL($row['cms_id']); $title = $row['nav_text'] ? $row['nav_text'] : $row['title']; $out[$url] = $title; } while ($row['parent'] && ($row = uCMS_List::findKey($arr, $row['parent']))); $build = array(); foreach ($out as $k => $v) { $build[] = '<a href="' . $k . '">' . $v . '</a>'; } $build = array_unique($build); if ($start) { $build[] = $start; } if (count($build) < 1) { return ''; } return implode(' > ', array_reverse($build)); }
static function GetChildren($parent) { $specific = isset(self::$children[$parent]) ? self::$children[$parent] : array(); $currentModule = $parent == utopia::GetCurrentModule() && isset(self::$children['/']) ? self::$children['/'] : array(); $catchAll = isset(self::$children['*']) ? self::$children['*'] : array(); $baseModule = array(); switch ($parent) { case 'uCMS_View': $currentPage = uCMS_View::findPage(); if ($currentPage['is_home'] && isset(self::$children[''])) { $baseModule = self::$children['']; } break; case 'uDashboard': if (isset(self::$children[''])) { $baseModule = self::$children['']; } } $arr = array_merge($catchAll, $baseModule, $currentModule, $specific); return $arr; }
public static function editPageCallback() { $thisObj = utopia::GetInstance(__CLASS__); if (uEvents::TriggerEvent('CanAccessModule', $thisObj) === FALSE) { return; } if (self::$editCallbackDone) { return; } self::$editCallbackDone = true; $rec = uCMS_View::findPage(); if (!$rec) { return; } if (!isset($_GET['edit'])) { $obj = utopia::GetInstance('uCMS_View'); $editURL = $obj->GetURL(array('cms_id' => $rec['cms_id'], 'edit' => 1)); uAdminBar::AddItem('<a class="btn" href="' . $editURL . '">Edit Page</a>', FALSE, null, 'edit-page-link'); return; } uJavascript::LinkFile(utopia::GetRelativePath(dirname(__FILE__) . '/cms.js'), 9999); ob_start(); $thisObj->ClearFilters(); $thisObj->AddFilter('cms_id', ctEQ, itNONE, $rec['cms_id']); $thisObj->fields['content']['visiblename'] = NULL; $thisObj->fields['publishing']['visiblename'] = NULL; $thisObj->tabGroup = '_ADMIN_EDIT_'; $thisObj->ShowData(); $thisObj->tabGroup = NULL; $c = ob_get_clean(); $pubCell = '<span class="right publish-buttons" style="padding-left:10px">' . $thisObj->GetCell('publishing', $rec) . '</span>'; $obj = utopia::GetInstance('uCMS_View'); $url = $obj->GetURL(array('cms_id' => $rec['cms_id'])); uAdminBar::AddItem('<span class="left">Page Information</span>' . $pubCell, $c); uAdminBar::AddItem('<a class="btn" href="' . $url . '">Stop Editing</a>', FALSE, null, 'edit-page-link'); }