public function generateHtml($revisionId, $widgetId, $data, $skin) { if (empty($data['serialized'])) { $data['serialized'] = ''; } else { parse_str($data['serialized'], $data); $data['currentLink'] = $revisionId; } if (isset($data['data']['menu']['visibility'])) { if ($data['data']['menu']['visibility'] == 0) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } else { if (!empty($revisionId)) { $revision = \Ip\Internal\Revision::getRevision($revisionId); $pageId = $revision['pageId']; } else { $pageId = $data['data']['menu']['pageId']; } if ($data['data']['menu']['visibility'] == 1) { $parentId = Model::getParentId($data['data']['menu']['name']); if ($parentId == $pageId) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } elseif (Model::checkIfChildren(array($parentId), $pageId)) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } } elseif ($data['data']['menu']['visibility'] == 2) { if ($data['data']['menu']['pageId'] == $pageId) { return parent::generateHtml($revisionId, $widgetId, $data, $skin); } } } } return parent::generateHtml($revisionId, $widgetId, array(), $skin); }