Example #1
0
 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);
 }