예제 #1
0
 /**
  * Visit a MenuOrganizerSiteComponent
  * 
  * @param object MenuOrganizerSiteComponent $siteComponent
  * @return mixed
  * @access public
  * @since 6/6/08
  */
 public function visitMenuOrganizer(MenuOrganizerSiteComponent $siteComponent)
 {
     if (!$this->_started) {
         $this->_started = true;
         return $siteComponent->getParentComponent()->acceptVisitor($this);
     }
     // If we hit a second menu, the one passed wasn't root.
     return false;
 }
 /**
  * Visit a menu organizer
  *
  * @param object MenuOrganizerSiteComponent
  * @return boolean
  * @access public
  * @since 8/1/08
  */
 public function visitMenuOrganizer(MenuOrganizerSiteComponent $siteComponent)
 {
     $parent = $siteComponent->getParentComponent();
     return $parent->acceptVisitor($this);
 }
 /**
  * Answer a placeholder for a menu target
  * 
  * @param object MenuOrganizerSiteComponent $organizer
  * @return Component
  * @access protected
  * @since 12/18/07
  */
 protected function getMenuTargetPlaceholder(MenuOrganizerSiteComponent $organizer)
 {
     // Add a placeholder to our target if we don't have any children
     ob_start();
     print "<div style='height: 50px;'>";
     $authZ = Services::getService("AuthZ");
     $idMgr = Services::getService("Id");
     if ($authZ->isUserAuthorized($idMgr->getId("edu.middlebury.authorization.add_children"), $organizer->getQualifierId())) {
         print _("This Section has no Pages yet. <br/><br/>Add a Page by clicking the <strong>+ Page</strong> button for this Section and choose 'Page'.");
     } else {
         print " ";
         print "\n</div>";
         return new UnstyledBlock(ob_get_clean());
     }
     print "\n</div>";
     $placeholder = new UnstyledBlock(ob_get_clean());
     $title = str_replace('%1', $organizer->getParentComponent()->getDisplayName(), _("<em>Sub-Menu of</em> %1 <em>Target Placeholder</em>"));
     $controlsHTML = $this->getControlsHTML($organizer, $title, '', '#F00', '#F99', '#F66');
     $placeholder->setPreHTML($controlsHTML);
     $styleCollection = new StyleCollection('.placeholder_red_outline', 'placeholder_red_outline', 'Red Outline', 'A red outline around a menu placeholder');
     $styleCollection->addSP(new BorderSP('1px', 'solid', '#F00'));
     $placeholder->addStyle($styleCollection);
     return $placeholder;
 }
 /**
  * Visit a MenuOrganizerSiteComponent
  * 
  * @param object MenuOrganizerSiteComponent $siteComponent
  * @return mixed
  * @access public
  * @since 8/31/07
  */
 public function visitMenuOrganizer(MenuOrganizerSiteComponent $siteComponent)
 {
     $parent = $siteComponent->getParentComponent();
     if (!$parent) {
         throw new OperationFailedException("No parent for " . $siteComponent->getId());
     }
     return $parent->acceptVisitor($this);
 }