1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
|
<?php //-*-php-*-
rcs_id('$Id: themeinfo.php,v 1.56 2007/07/01 09:36:10 rurban Exp $');
/**
* A PhpWiki theme inspired by the Aqua appearance of Mac OS X.
*
* The images used with this theme depend on the PNG alpha channel to
* blend in with whatever background color or texture is on the page.
* When viewed with an older browser, the images may be incorrectly
* rendered with a thick solid black border. When viewed with a modern
* browser, the images will display with nice edges and blended
* shadows.
*
* The defaut link icons I want to move into this theme, and come up
* with some new linkicons for the default look. (Any ideas,
* feedback?)
*
* Do you like the icons used in the buttons?
*
* See buttons/README for more info on the buttons.
*
* The background image is a subtle brushed paper texture or stucco
* effect very close to white. If your monitor isn't calibrated well
* you may not see it.
* */
require_once('lib/Theme.php');
class Theme_MacOSX extends Theme {
function getCSS() {
// FIXME: this is a hack which will not be needed once
// we have dynamic CSS.
$css = Theme::getCSS();
$css->pushcontent(HTML::style(array('type' => 'text/css'),
new RawXml(sprintf("<!--\nbody {background-image: url(%s);}\n-->\n",
$this->getImageURL('bgpaper8')))));
//for non-browse pages, like former editpage, message etc.
//$this->getImageURL('bggranular')));
return $css;
}
function getRecentChangesFormatter ($format) {
include_once($this->file('lib/RecentChanges.php'));
if (preg_match('/^rss|^sidebar/', $format))
return false; // use default
return '_MacOSX_RecentChanges_Formatter';
}
function getPageHistoryFormatter ($format) {
include_once($this->file('lib/RecentChanges.php'));
if (preg_match('/^rss|^sidebar/', $format))
return false; // use default
return '_MacOSX_PageHistory_Formatter';
}
function linkUnknownWikiWord($wikiword, $linktext = '') {
global $request;
// Get rid of anchors on unknown wikiwords
if (isa($wikiword, 'WikiPageName')) {
$default_text = $wikiword->shortName;
$wikiword = $wikiword->name;
}
else {
$default_text = $wikiword;
}
$url = WikiURL($wikiword, array('action' => 'create'));
//$link = HTML::span(HTML::a(array('href' => $url), '?'));
$button = $this->makeButton('?', $url);
$button->addTooltip(sprintf(_("Create: %s"), $wikiword));
$link = HTML::span($button);
if (!empty($linktext)) {
$link->unshiftContent(HTML::u($linktext));
$link->setAttr('class', 'named-wikiunknown');
}
else {
$link->unshiftContent(HTML::u($this->maybeSplitWikiWord($default_text)));
$link->setAttr('class', 'wikiunknown');
}
if ($request->getArg('frame'))
$link->setAttr('target', '_top');
return $link;
}
function load() {
// CSS file defines fonts, colors and background images for this
// style. The companion '*-heavy.css' file isn't defined, it's just
// expected to be in the same directory that the base style is in.
// This should result in phpwiki-printer.css being used when
// printing or print-previewing with style "PhpWiki" or "MacOSX" selected.
$this->setDefaultCSS('MacOSX',
array('' => 'MacOSX.css',
'print' => 'phpwiki-printer.css'));
// This allows one to manually select "Printer" style (when browsing page)
// to see what the printer style looks like.
$this->addAlternateCSS(_("Printer"), 'phpwiki-printer.css', 'print, screen');
$this->addAlternateCSS(_("Top & bottom toolbars"), 'MacOSX-topbottombars.css');
/**
* The logo image appears on every page and links to the HomePage.
*/
$this->addImageAlias('logo', WIKI_NAME . 'Logo.png');
/**
* The Signature image is shown after saving an edited page. If this
* is set to false then the "Thank you for editing..." screen will
* be omitted.
*/
$this->addImageAlias('signature', WIKI_NAME . "Signature.png");
// Uncomment this next line to disable the signature.
//$this->addImageAlias('signature', false);
/*
* Link icons.
*/
$this->setLinkIcon('http');
$this->setLinkIcon('https');
$this->setLinkIcon('ftp');
$this->setLinkIcon('mailto');
$this->setLinkIcon('interwiki');
$this->setLinkIcon('wikiuser');
$this->setLinkIcon('*', 'url');
$this->setButtonSeparator(""); //use no separator instead of default
$this->addButtonAlias('?', 'uww');
$this->addButtonAlias(_("Lock Page"), "Lock Page");
$this->addButtonAlias(_("Unlock Page"), "Unlock Page");
$this->addButtonAlias(_("Page Locked"), "Page Locked");
$this->addButtonAlias("...", "alltime");
/**
* WikiWords can automatically be split by inserting spaces between
* the words. The default is to leave WordsSmashedTogetherLikeSo.
*/
//$this->setAutosplitWikiWords(false);
/*
* You may adjust the formats used for formatting dates and times
* below. (These examples give the default formats.)
* Formats are given as format strings to PHP strftime() function See
* http://www.php.net/manual/en/function.strftime.php for details.
* Do not include the server's zone (%Z), times are converted to the
* user's time zone.
*/
$this->setDateFormat("%A, %B %d, %Y"); // must not contain time
$this->setTimeFormat("%I:%M:%S %p");
}
}
$WikiTheme = new Theme_MacOSX('MacOSX');
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// (c-file-style: "gnu")
// Local Variables:
// mode: php
// tab-width: 8
// c-basic-offset: 4
// c-hanging-comment-ender-p: nil
// indent-tabs-mode: nil
// End:
?>
|