/** * Constructor * * @return object * @access public * @since 4/14/06 */ function __construct() { $this->_action = 'editview'; $this->_controlsVisitor = new EditModeControlsSiteVisitor(); $this->_controlsVisitor->setReturnAction($this->_action); parent::__construct(); $this->_classNames = array('Block' => _('Content Block'), 'NavBlock' => _('Page'), 'NavSection' => _('Section'), 'SiteNavBlock' => _('Site'), 'MenuOrganizer' => _('Pages Container'), 'FlowOrganizer' => _('Content Container'), 'FixedOrganizer' => _('Layout Container'), 'SubMenu_multipart' => _('Section'), 'SidebarSubMenu_multipart' => _('Section with Sidebar'), 'ContentPage_multipart' => _('Page'), 'SidebarContentPage_multipart' => _('Page with Sidebar')); ob_start(); // Print out Javascript functions needed by our methods $this->printJavascript(); print <<<END \t\t\t \t\t\t<style type='text/css'> \t\t\t\t.controls_form { \t\t\t\t\ttext-align: left; \t\t\t\t\tcolor: #000; \t\t\t\t\tpadding: 3px; \t\t\t\t} \t\t\t\t \t\t\t\t.controls_form a { \t\t\t\t\ttext-align: left; \t\t\t\t\tcolor: #000; \t\t\t\t} \t\t\t</style> END; $harmoni = Harmoni::instance(); $outputHandler = $harmoni->getOutputHandler(); $outputHandler->setHead($outputHandler->getHead() . ob_get_clean()); UserDataHelper::writeHeadJs(); }
/** * Build the content for this action * * @return void * @access public * @since 5/8/07 */ function buildContent() { SegueAjaxPlugin::writeAjaxLib(); /********************************************************* * Other headers and footers *********************************************************/ $harmoni = Harmoni::instance(); $outputHandler = $harmoni->getOutputHandler(); UserDataHelper::writeHeadJs(); ob_start(); print Segue_MediaLibrary::getHeadHtml(); $outputHandler->setHead($outputHandler->getHead() . ob_get_clean()); parent::buildContent(); }
/** * Build the content for this action * * @return boolean * @access public * @since 4/26/05 */ function execute() { ob_start(); $harmoni = Harmoni::instance(); /********************************************************* * Other headers and footers *********************************************************/ $outputHandler = $harmoni->getOutputHandler(); // Add our common Harmoni javascript libraries require POLYPHONY_DIR . "/main/library/Harmoni.js.inc.php"; print Segue_MediaLibrary::getHeadHtml(); $outputHandler->setHead(ob_get_clean()); UserDataHelper::writeHeadJs(); // Get the plugin asset id $harmoni->request->startNamespace('plugin_manager'); $id = RequestContext::value('plugin_id'); if (RequestContext::value('extended') == 'true') { $showExtended = true; } else { $showExtended = false; } $harmoni->request->endNamespace(); // Get the plugin asset object $repositoryManager = Services::getService("Repository"); $idManager = Services::getService("Id"); $repository = $repositoryManager->getRepository($idManager->getId("edu.middlebury.segue.sites_repository")); $asset = $repository->getAsset($idManager->getId($id)); $pluginManager = Services::getService("Plugs"); $plugin = $pluginManager->getPlugin($asset); if (!is_object($plugin)) { print $plugin; } else { if ($showExtended) { print $plugin->executeAndGetExtendedMarkup(TRUE); } else { print $plugin->executeAndGetMarkup(TRUE); } } // exit(); $block = new UnstyledBlock(ob_get_clean()); return $block; }
/** * Add Javascript function to our header * * @return void * @access protected * @since 7/25/08 */ protected function addHeadJs() { UserDataHelper::writeHeadJs(); $harmoni = Harmoni::instance(); ob_start(); print "\n\n \t\t<script type='text/javascript' src='" . MYPATH . "/javascript/scriptaculous-js/lib/prototype.js'></script>\n\t\t<script type='text/javascript' src='" . MYPATH . "/javascript/scriptaculous-js/src/scriptaculous.js'></script>\n\t\t<script type='text/javascript' src='" . POLYPHONY_PATH . "javascript/CenteredPanel.js'></script>\n\t\t<script type='text/javascript' src='" . MYPATH . "/javascript/AliasPanel.js'></script>\n\t\t<script type='text/javascript' src='" . MYPATH . "/javascript/MigrationPanel.js'></script>\n\t\t<script type='text/javascript' src='" . MYPATH . "/javascript/ArchiveStatus.js'></script>\n\t\t\n\t\t<style type='text/css'>\n\t\t\t/* Other portal styles are in the static CSS file, images/SegueCommon.css */\n\t\t\tul.portal_folders li {\n\t\t\t\tlist-style-image: url(" . MYPATH . "/images/icons/16x16/folder_open.png);\n\t\t\t}\n\t\t</style>\n\t\t"; $handler = $harmoni->getOutputHandler(); $handler->setHead($handler->getHead() . ob_get_clean()); }
/** * Add the header controls to the main screen gui component * * @param object Component $mainScreen * @return object Component The allWrapper * @access public * @since 4/7/08 */ public function addHeaderControls(Component $mainScreen) { $harmoni = Harmoni::instance(); /********************************************************* * Additional setup *********************************************************/ $rootSiteComponent = SiteDispatcher::getCurrentRootNode(); $outputHandler = $harmoni->getOutputHandler(); /********************************************************* * Theme *********************************************************/ $outputHandler->setCurrentTheme($rootSiteComponent->getTheme()); /********************************************************* * Other headers and footers *********************************************************/ // Remove any existing title tags from the head text print preg_replace("/<title>[^<]*<\\/title>/", "", $outputHandler->getHead()); //Add our new title print "\n\t\t<title>"; print strip_tags(SiteDispatcher::getCurrentNode()->acceptVisitor(new BreadCrumbsVisitor(SiteDispatcher::getCurrentNode()))); print "</title>"; // Add our common Harmoni javascript libraries require POLYPHONY_DIR . "/main/library/Harmoni.js.inc.php"; print Segue_MediaLibrary::getHeadHtml(); $outputHandler->setHead(ob_get_clean()); UserDataHelper::writeHeadJs(); // Add the RSS head links RssLinkPrinter::addHeadLinks(SiteDispatcher::getCurrentNode()); // Add the selection Panel Segue_Selection::instance()->addHeadJavascript(); $allWrapper = new Container(new YLayout(), BLANK, 1); if (defined('SEGUE_SITE_HEADER')) { $this->siteMessage = $allWrapper->add(new Component($this->getSegueSiteHeader(), BLANK, 1), "100%", null, CENTER, TOP); } // :: login, links and commands $this->headRow = $allWrapper->add(new Container(new XLayout(), BLANK, 1), $rootSiteComponent->getWidth(), null, CENTER, TOP); $this->leftHeadColumn = $this->headRow->add($this->getSegueLinksComponent(), null, null, LEFT, TOP); $rightHeadColumn = $this->headRow->add(new Container(new YLayout(), BLANK, 1), null, null, CENTER, TOP); $rightHeadColumn->add($this->getLoginComponent(), null, null, RIGHT, TOP); if ($this->isAuthorizedToExecute()) { $rightHeadColumn->add($this->getCommandsComponent(), null, null, RIGHT, TOP); } $allWrapper->add($mainScreen, $rootSiteComponent->getWidth(), null, CENTER, TOP); // :: Top Row :: // $this->headRow = $mainScreen->add( // new Container(new XLayout, HEADER, 1), // "100%", null, CENTER, TOP); // $this->leftHeadColumn = $this->headRow->add( // new UnstyledBlock("<h1>".$rootSiteComponent->getTitleMarkup()."</h1>"), // null, null, LEFT, TOP); return $allWrapper; }