public function createPageList() { $this->import('BackendUser', 'User'); if ($this->User->isAdmin) { return $this->doCreatePageList(); } $return = ''; $processed = array(); foreach ($this->eliminateNestedPages($this->User->pagemounts) as $page) { $objPage = \PageModel::findWithDetails($page); // Root page mounted if ($objPage->type == 'root') { $title = $objPage->title; $start = $objPage->id; } else { $title = $objPage->rootTitle; $start = $objPage->rootId; } // Do not process twice if (in_array($start, $processed)) { continue; } // Skip websites that run under a different domain (see #2387) if ($objPage->domain && $objPage->domain != \Environment::get('host')) { continue; } $processed[] = $start; $return .= '<optgroup label="' . $title . '">' . $this->doCreatePageList($start) . '</optgroup>'; } return $return; }