00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00022 class TutorialsLayout extends SLayout2
00023 {
00024
00035 public function msBuild ($page, $ms, $layout)
00036 {
00037
00038 switch($ms)
00039 {
00040 case 'TopBar':
00041 return $this->layoutTopBar($page, $ms, $layout);
00042 case 'PathBar':
00043 return;# $this->layoutPathBar($page, $ms, $layout);
00044 case 'PageTitle':
00045 return ;#$this->layoutPageTitle($page, $ms, $layout);
00046 case 'Content':
00047 return $this->layoutContent($page, $ms, $layout);
00048 case 'ContentWell':
00049 return $this->layoutContentWell($page, $ms, $layout);
00050 case 'BottomBar':
00051 return $this->layoutBottomBar($page, $ms, $layout);
00052 case 'TabsBar1':
00053 return $this->layoutTabsBar1($page, $ms, $layout);
00054 case 'TabsBar2':
00055 return $this->layoutTabsBar2($page, $ms, $layout);
00056 case 'UpperFeatureWell':
00057 return $this->layoutUpperFeatureWell($page, $ms, $layout);
00058 case 'LowerFeatureWell':
00059 return $this->layoutLowerFeatureWell($page, $ms, $layout);
00060 case 'FlashWell':
00061 return $this->layoutFlashWell($page, $ms, $layout);
00062 default:
00063 return parent::msBuild($page, $ms, $layout);
00064 }
00065 }
00066
00067 function layoutHead($page, $ms, $dl)
00068 {
00069 $page->setSlot('WindowTitle', $page->getSlot('CollName') . ": " . $page->getSlot('PageName'));
00070 parent::layoutHead($page, $ms, $dl);
00071 }
00072
00080 function getMetaSlotDivider () {
00081 return <<<END
00082 <div class="PR2-MetaSlotDivider">
00083 <hr />
00084 </div>
00085
00086 END;
00087 }
00088
00089
00090
00091
00092
00093
00104 public function layoutFlashWell ($page, $ms, $dl)
00105 {
00106 $flash = $page->getSlot('Flash');
00107 if ($flash == "") return;
00108 $msd = $this->getMetaSlotDivider();
00109 $html =<<<END_HTML
00110 <!--************************************
00111 Flash
00112 ************************************-->
00113 <div class="PR2-MetaSlot-FlashWell">
00114 $flash
00115 </div>
00116 $msd
00117 END_HTML;
00118 $page->setMetaSlot('FlashWell', $html);
00119 }
00120
00121
00122
00123
00124
00125 function layoutTopBar($page, $ms, $dl)
00126 {
00127 $ctitle = $page->getSlot('CollName');
00128 $nw1 = $nw2 = $nw3 = " ";
00129 switch($dl){
00130 case 'ThreeNavWells':$nw1 = $page->getSlot('TopBarNavWell1');
00131 case 'TwoNavWells':$nw2 = $page->getSlot('TopBarNavWell2');
00132 case 'OneNavWell': $nw3 = $page->getSlot('TopBarNavWell3');
00133 default: break;
00134 }
00135 if ($nw2 == ""){ $nw2 = $nw1; $nw1 = " "; }
00136 if ($nw3 == ""){ $nw3 = $nw2; $nw2 = " "; }
00137
00138 $homeURL = SPath::getFullPath('Project') . '/..';
00139
00140 $ss = ($page->getSlot('SearchScript')) ? $page->getSlot('SearchScript') : "Search";
00141
00142 $msd = $this->getMetaSlotDivider();
00143
00144 $tabs = $page->getSlot('TabsBar1');
00145 $topLinks = $page->getSlot('TopBarLinks');
00146 if ($topLinks == '') {
00147 $topLinks = "<a href='$homeURL/sitemap/' >SITE MAP</a> |
00148 <a href='$homeURL/about/contact/' >CONTACT US</a>";
00149 }
00150 $topBarExtra = $page->getSlot('TopBarExtra');
00151 $html =<<<END_HTML
00152
00153 <!--************************************
00154 TopBar
00155 ************************************-->
00156 <div id="topBar">
00157 <a href="$homeURL" style="display:none">HOME</a>
00158 <a href="$homeURL" id="logoBar"> </a>
00159 $topBarExtra
00160 </div>
00161 END_HTML;
00162 $page->setMetaSlot('TopBar', $html);
00163 }
00164
00165
00166
00167
00178 public function layoutPageTitle ($page, $ms, $dl)
00179 {
00180 if ($page->getSlot('PageTitleRightText') != "") {
00181 $rightSide = '<div class="PR2-Slot-PageTitleRightText">' . $page->getSlot('PageTitleRightText')
00182 . '</div>';
00183 } else {
00184 $rightSide = "";
00185 }
00186
00187 $ptitle = $page->getSlot('PageName');
00188
00189 $msd = $this->getMetaSlotDivider();
00190
00191 $html =<<<END_HTML
00192
00193 <!--************************************
00194 PageTitle
00195 ************************************-->
00196 <div id="PR2-MetaSlot-PageTitle">
00197 $rightSide
00198 $ptitle
00199 </div>
00200 END_HTML;
00201 $page->setMetaSlot('PageTitle', $html);
00202 }
00203
00204
00205
00206
00217 public function layoutPathBar ($page, $ms, $l)
00218 {
00219 $ptitle = $page->getSlot('PageName');
00220 $path = $page->getSlot('Path');
00221 $msd = $this->getMetaSlotDivider();
00222
00223 $fullPath = ($path != '') ? ($path . ' > ' . $ptitle) : '';
00224
00225
00226 $html =<<<END_HTML
00227
00228 <!--************************************
00229 PathBar
00230 ************************************-->
00231 <div id="PR2-MetaSlot-PathBar">
00232 $fullPath
00233 </div>
00234
00235 END_HTML;
00236 return($html);
00237 }
00238
00239
00240
00241
00242
00253 public function layoutUpperFeatureWell($page, $ms, $l)
00254 {
00255 $this->layoutWell('UpperFeatureWell', $page, $ms, $l);
00256 }
00257
00268 public function layoutLowerFeatureWell($page, $ms, $l)
00269 {
00270 $this->layoutWell('LowerFeatureWell', $page, $ms, $l);
00271 }
00272
00283 public function layoutContentWell ($page, $ms, $l)
00284 {
00285 global $COMMON_URL, $PATH;
00286
00287 $main = $page->getSlot('Main');
00288 if ($this->parent->getOption('HidePageName')) {
00289 $pageName = '';
00290 } else {
00291 $pageName = $page->getSlot('PageName');
00292 }
00293 $sideBar = $page->getSlot('SideBar');
00294
00295 $msd = $this->getMetaSlotDivider();
00296 $pathBar = '';
00297 if ($this->parent->getPageTemplate()->getDisplayForMetaSlot('PathBar'))
00298 $pathBar = $this->layoutPathBar($page, $ms, $l);
00299 $subTitle = $page->getSlot('SubTitle');
00300 $html =<<<END
00301
00302
00303 <div class="breadcrumbs">$pathBar</div>
00304
00305 <div id="contentContainer">
00306 <div id="menu">
00307 <img src="$PATH[root]/..$COMMON_URL/ui/TutorialsLayout/images/menuBgTop.png" />
00308 <div id="menuItems">
00309 $sideBar
00310 </div>
00311 <img src="$PATH[root]/..$COMMON_URL/ui/TutorialsLayout/images/menuBgBottom.png" />
00312 </div>
00313
00314 <div id="pr2ContentContainer">
00315 <img src="$PATH[root]/..$COMMON_URL/ui/TutorialsLayout/images/contentBgTop.png" />
00316 <div id="pr2Content">
00317 <div class="title">
00318 $pageName
00319 </div>
00320 <div id="pr2Add">
00321 $main
00322 </div>
00323 </div>
00324 <img src="$PATH[root]/..$COMMON_URL/ui/TutorialsLayout/images/contentBgBottom.png" />
00325
00326 <div id="copyright">
00327 © 2010 - Shodor
00328 </div>
00329 </div>
00330
00331 </div>
00332 END;
00333 $page->setMetaSlot('ContentWell', $html);
00334 }
00335
00336
00347 public function layoutContent ($page, $ms, $l)
00348 {
00349 $msd = $this->getMetaSlotDivider();
00350
00351 $html =<<<END
00352 This is the content zone
00353
00354 $msd
00355 END;
00356 $page->setMetaSlot('Content', $html);
00357 }
00358
00359
00360
00361
00362
00363
00375 public function layoutWell ($wellname, $page, $ms, $l)
00376 {
00377
00378 $html =<<<END_HTML
00379
00380 <!--************************************
00381 $wellname
00382 ************************************-->
00383 <tbody id="$wellname">
00384 <tr>
00385 END_HTML;
00386
00387 $col2 = $col3 = $leftSideBar = $rightSideBar = "";
00388 $wrapperId = $wellname . "Wrapper";
00389
00390
00391 $wnc1 = $wellname . "Column1";
00392 $mainContent = ($wellname == "ContentWell") ? $page->getSlot('Main') : $page->getSlot("$wellname");
00393 $col1 = $this->packageColumn($mainContent, $wellname, '1');
00394 $wellTdName = $wellname . "Td";
00395
00396 $wellStart = <<<ENDSTART
00397 <td class="pageLeftBorder pageRightBorder" id="$wellTdName">
00398 <div align="center">
00399 <table class="WellWrapper" id="$wrapperId" border="0" cellspacing="0" cellpadding="0">
00400 <tr>
00401 ENDSTART;
00402 $wellEnd = <<<ENDEND
00403 </tr>
00404 </table>
00405 </div>
00406 </td>
00407 ENDEND;
00408
00409 $wellEnd .=<<<END_HTML
00410 </tr>
00411 <tr class="metaSlotDivider">
00412 <td><hr /></td>
00413 </tr>
00414 END_HTML;
00415
00416 $wellEnd .= "</tbody>";
00417
00418
00419
00420 switch($l){
00421 case 'Start':
00422 $page->setMetaSlot("$wellname", $html . $wellStart);
00423 return;
00424 case 'End':
00425 $page->setMetaSlot("$wellname", $wellEnd);
00426 return;
00427 case 'LeftSideBarOnly':
00428 $leftSideBar = $this->packageSideBar($page->getSlot($wellname . 'SideBar'), 'Left');
00429 $rightSideBar = "";
00430 break;
00431 case 'RightSideBarOnly':
00432 $leftSideBar = "";
00433 $rightSideBar = $this->packageSideBar($page->getSlot($wellname . 'SideBar'), 'Right');
00434 break;
00435 case 'BothSideBars':
00436 $leftSideBar = $this->packageSideBar($page->getSlot($wellname . 'SideBar'), 'Left');
00437 $rightSideBar = $this->packageSideBar($page->getSlot($wellname .'SideBar2'), 'Right');
00438 break;
00439 case 'ThreeColumns':
00440 $col3 = $this->packageColumn($page->getSlot($wellname . "Column3"), $wellname, '3');
00441
00442 case 'TwoColumns':
00443 $col2 = $this->packageColumn($page->getSlot($wellname . "Column2"), $wellname, '2');
00444 break;
00445 case 'OneColumn':
00446 case 'NoSideBars':
00447 default:
00448 break;
00449 }
00450
00451
00452 $html .=<<<END_HTML
00453 $wellStart
00454 $leftSideBar
00455 $col1
00456 $col2
00457 $col3
00458 $rightSideBar
00459 $wellEnd
00460 END_HTML;
00461
00462
00463 $page->setMetaSlot("$wellname", $html);
00464 }
00465
00476 protected function packageColumn ($content, $wellname, $number)
00477 {
00478 $id = $wellname . "Column" . $number;
00479
00480 return <<<END_RETURN
00481
00482 <td id="$id" valign="top">
00483 <div class="$wellname tdFillDiv">
00484 <div class="contentDiv">
00485 $content
00486 </div>
00487 </div>
00488 </td>
00489
00490 END_RETURN;
00491 }
00492
00502 protected function packageSideBar ($sidebar, $side)
00503 {
00504 $class = $side . "SideBarTd";
00505 return <<<END_RETURN
00506
00507 <td class="$class" valign="top">
00508 <div class="SideBar tdFillDiv">
00509 $sidebar
00510 </div>
00511 </td>
00512 END_RETURN;
00513 }
00514
00515
00516
00517
00528 public function layoutBottomBar ($page, $ms, $l)
00529 {
00530
00531 }
00532
00543 public function layoutBottomTags ($page, $ms, $layout)
00544 {
00545 $width = $this->parent->getOption('minPageWidth');
00546 $analytics = $page->getSlot('Analytics');
00547
00548 $bottomLinks = <<<LINKS
00549
00550 LINKS
00551 ;
00552
00553 if ($page->getSlot('BottomBarLinks') != '')
00554 $bottomLinks = $page->getSlot('BottomBarLinks');
00555
00556 $page->setMetaSlot('BottomTags', <<<END_TAGS
00557
00558 </div>
00559
00560 <div id="footer">
00561 $bottomLinks
00562 </div>
00563
00564 $analytics
00565 </body>
00566 </html>
00567 END_TAGS
00568 );
00569 }
00570
00581 public function layoutStartBodyTags($page, $ms, $layout)
00582 {
00583 $barHTML = <<<END_CONTENT
00584 <div class="PR2-MetaSlot-UniversalBar">
00585 <div class="PR2-UniversalBarLinks">
00586 <a class="PR2-UniversalBarLink" style="left: 245px;width: 75px;" href='/'></a>
00587 <a class="PR2-UniversalBarLink" style="left: 325px;width: 75px;" href='/about'></a>
00588 <a class="PR2-UniversalBarLink" style="left: 400px;width: 75px;" href='/students'></a>
00589 <a class="PR2-UniversalBarLink" style="left: 480px;width: 75px;" href='/parents'></a>
00590 <a class="PR2-UniversalBarLink" style="left: 558px;width: 75px;" href='/educators'></a>
00591 <a class="PR2-UniversalBarLink" style="left: 635px;width: 133px;" href='/activities'></a>
00592 </div>
00593 </div>
00594 END_CONTENT;
00595 $onload = $page->getSlot('OnLoad');
00596 $bodyId = $page->getSlot('BodyId');
00597 if ($bodyId != ""){ $bodyId = "id=\"$bodyId\""; }
00598 if ($onload != ""){ $onload = "javascript:" . $onload; }
00599 $showUniversalBar = SConfig::getOption('pr2.showUniversalBar');
00600 $universalBar = ($showUniversalBar) ? $barHTML : '';
00601
00602 $isMainPage = SConfig::getOption('pr2.mainPage');
00603 $extraClass = ($isMainPage?' PR2-MainPage':'');
00604
00605 $page->setMetaSlot('StartBodyTags', <<<END_TAGS
00606
00607 <body $bodyId class="PR2-Body{$extraClass}" onload="$onload">
00608 $universalBar
00609 <div class="PR2-Page">
00610
00611 END_TAGS
00612 );
00613
00614 }
00615
00616 }
00617
00618
00619 ?>