SourceForge logo
SourceForge logo
Menu

phpwiki-checkins

Update of /cvsroot/phpwiki/phpwiki
In directory usw-pr-cvs1:/tmp/cvs-serv2684
Modified Files:
	DBLIB.txt INSTALL INSTALL.flatfile INSTALL.mSQL INSTALL.mysql 
	INSTALL.pgsql README UPGRADING index.php phpwiki.css 
Added Files:
	phpwiki-heavy.css 
Log Message:
Jeff's hacks II.
This is a major change, to say the least. Some highlights:
 o Completely new database API.
 WARNING: all database schemas (currently MySQL, Postgres and DBA
 support is working) use completely revised schema, so you must
 start this new code with a new blank database...
 
 o WikiPlugins
 o New template engine.
In addition, some more incremental changes:
 o Cascading Style Sheets reworked.
 o Expanded syntax for text search: e.g. "wiki OR wacky AND NOT page".
 o PhpWiki should now work with register_globals off. (Security issue.)
 o Edit preview button.
 (and probably more, which I'm forgetting about now.)
Much of this code is still in a state of flux (particularly
the new template engine code, and to a lesser extent the API
for the plugins.)
Feel free to play and hack on this, just be warned that some of it may
still change quite a bit...
See pgsrc/ReleaseNotes for a few more notes.
And feel free to post questions or comments either publicly on
<php...@li...>, or privately, to
<da...@da...>.
--- NEW FILE ---
/* 
 * phpwiki-heavy.css
 *
 * This is stuff which should be in phpwiki.css, but which breaks NS4.
 */
/* Hide the elements we put in just to get around NS4 bugs. */
.ns4bug, DIV.br { display: none; }
/* This makes spacings in NS4 too big. */
.toolbar, DIV.toolbar { margin: 0.5ex 0ex; }
/* This break NS4, but is necessary for IE4. */
DIV.wikitext { width: auto; }
/* Make Wikilinks inside <B> tags larger. */
B .wiki, STRONG .wiki,
B .wikipage, STRONG .wikipage
{ font-size: larger; }
/* Make wikiaction links look like buttons */ 
A.wikiaction, A.wikiadmin, INPUT.button
{
 border-style: outset;
 border-width: thin;
 color: #006;
 padding-top: 0ex;
 padding-bottom: 0ex;
 padding-left: 0.2em;
 padding-right: 0.2em;
}
Index: DBLIB.txt
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/DBLIB.txt,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** DBLIB.txt	2001年02月17日 05:35:56	1.9
--- DBLIB.txt	2001年09月18日 19:16:23	1.10
***************
*** 1,158 ****
! This is a description of the database interface for PhpWiki. Regardless
! of what kind of data store is used (RDBMS, DBM files, flat text files)
! you should be able to write a library that supports that data store.
 
! A few notes: 
 
! * While most functions specify a "db reference" as the first value
! passed in, this can be any kind of data type that your functions
! know about. For example, in the DBM implementation this is a hash of
! integers that refer to open database files, but in the MySQL
! version it's an associative array that contains the DB information.
! 
! * Functions that return the page data must return a hash (associative
! array) of all the data, where 'content' == the text of the page in Wiki
! markup, 'version' is an integer representing the version, 'author'
! the IP address or host name of the previous author and so on. See
! the next paragraph for a precise description.
! 
! * The data structure. This is commonly named $pagehash in the source
! code; it's an associative array with values that are integers,
! strings and arrays (i.e. a heterogenous data structure). Here's a
! current description:
! 
! $pagehash = {
! author => string,
! content => array (where each element is a line of the page),
! created => integer (a number in Unix time since the Epoch),
! flags => integer,
! lastmodified => integer (also Unix time),
! pagename => string,
! version => integer
! };
! 
! The functions are:
! 
! OpenDataBase($dbname)
! takes: a string, the name of the database
! returns: a reference to the database (a handle)
! 
! 
! CloseDataBase($dbi)
! takes: a reference to the database (handle)
! returns: the value of the close. For databases with persistent
! connections, this doesn't return anything.
! 
! 
! MakeDBHash($pagename, $pagehash)
! takes: page name, page array
! returns: an encoded version of the $pagehash suitable for
! insertion into the data store. This is an internal helper
! function used mainly for the RDBMSs.
! 
! MakePageHash($dbhash)
! takes: an array that came from the database
! returns: the $pagehash data structure used by the
! application. This function undoes what MakeDBHash does.
! 
! RetrievePage($dbi, $pagename, $pagestore)
! takes: db reference, string which is the name of a page, and a
! string indicating which store to fetch the page from (live or archive).
! returns: a PHP associative array containing the page data
! 	 (text, version, author, etc)
! 
! 
! InsertPage($dbi, $pagename, $pagehash)
! takes: db reference, page name (string), associative array
! 	 of all page data
! returns: nothing (hmm. It should probably return true/false)
! 
! SaveCopyToArchive($dbi, $pagename, $pagehash)
! Similar to InsertPage but for handling the archive store. The
! goal here was to separate the two (live db and archive db) in
! case there were different storage formats (for example, the
! archive might only store diffs of the pages). However this is
! not the case in the implementations.
! 
! IsWikiPage($dbi, $pagename)
! takes: db reference, string containing page name
! returns: true or false, if the page already exists in the live db.
! 
! IsInArchive($dbi, $pagename)
! takes: db reference, string containing page name
! returns: true or false, if the page already exists in the archive.
! 
! InitTitleSearch($dbi, $search)
! takes: db reference, search string
! returns: a handle to identify the query and the current position
! within the result set.
! 
! RemovePage($dbi, $pagename)
! takes: db reference, name of the page
! returns: nothing
! This deletes a page from both the live and archive page stores.
! 
! TitleSearchNextMatch($dbi, &$pos)
! takes: db reference, reference to a hash created by
! InitTitleSearch
! returns: the next page name that contains a match to the search term
! (advances $pos to next result field as well)
! 
! MakeSQLSearchClause($search, $column)
! takes: a search string, column name
! returns: a SQL query string suitable for a database query
! 
! InitFullSearch($dbi, $search)
! takes: db reference, string containing search term
! returns: similar to InitTitleSearch: a handle to identify the
! query and the current position within the result set.
! 
! 
! FullSearchNextMatch($dbi, &$pos)
! takes: db reference, reference to a hash created by
! InitFullSearch
! returns: an associative array, where:
! 		 'name' -- contains the page name
! 		 'hash' -- contains the hash of the page data
! (advances $pos to next result field as well)
! 
! 
! IncreaseHitCount($dbi, $pagename)
! takes: db reference, string (name of a page)
! returns: nothing (MySQL implementation returns the last result
! set but it is not used by the caller)
! 	 
! 
! GetHitCount($dbi, $pagename)
! takes: db reference, string (page name)
! returns: an integer, the number of hits the page has received
! 
! 
! InitMostPopular($dbi, $limit)
! takes: a db reference and an integer, which is the limit of the
! number of pages you want returned.
! returns: the result set from the query
! 
! 
! MostPopularNextMatch($dbi, $res)
! takes: db reference, the result set returned by InitMostPopular
! returns: the next row from the result set, as a PHP array type
! 
! GetAllWikiPageNames($dbi)
! takes: db reference
! returns: an array containing all page names
! 
! GetWikiPageLinks($dbi, $pagename)
! takes: db reference, page name
! returns: a two-dimensional array containing outbound links
! ordered by score desc ('out'); inbound links ordered by score
! desc ('in'); inbound or outbound links ordered by most number of
! page views ('popular').
! 
! SetWikiPageLinks($dbi, $pagename, $linklist)
! takes: db reference, page name, list of pages linking to this
! one
! This deletes the existing list of linking pages and inserts all
! the page names in $linklist.
 
 $Id$
--- 1,7 ----
! This release uses a complete new database API.
 
! For now, see lib/WikiDB.php for a description of the external API to the database.
 
! See lib/WikiDB/backend.php for more detail on how to write a new backend.
 
 $Id$
Index: INSTALL
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/INSTALL,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** INSTALL	2001年02月01日 02:50:51	1.8
--- INSTALL	2001年09月18日 19:16:23	1.9
***************
*** 1,6 ****
 0. INSTALLATION
 
! PhpWiki requires PHP version 3.0.9 or greater, since it uses the 
! preg_*() family of functions.
 
 Untar/gzip this file into the directory where you want it to live.
--- 1,5 ----
 0. INSTALLATION
 
! PhpWiki requires PHP version 4.0.? or greater.
 
 Untar/gzip this file into the directory where you want it to live.
***************
*** 10,29 ****
 bash$ tar -xvf phpwiki-X.XX.tar
 
! To improve efficiency, edit lib/config.php and set the $ServerAddress
! by hand; this will save a regexp call on every invocation.
 
- Example:
- Let's say you own the web server http://www.foo.com/. You untar in the
- server's root directory; then you should be able to just go to your new
- Wiki:
 
- http://www.foo.com/phpwiki/index.php
- 
- If you configure your server to recognize index.php as the index of a
- directory, you can just do:
- 
- http://www.foo.com/phpwiki/
- 
- 
 1. CONFIGURATION
 
--- 9,15 ----
 bash$ tar -xvf phpwiki-X.XX.tar
 
! Look at index.php and edit the settings there to your liking.
 
 
 1. CONFIGURATION
 
***************
*** 36,44 ****
 If you don't want the DBM files to live in /tmp you must make sure the web
 server can read/write to your chosen location. It's probably a bad idea
! to leave it in /tmp. (Again, edit lib/config.php). 
 
 For example, you create a subdirectory called "pages" in the wiki
 directory made when you untarred PhpWiki. Move the DBM files there.
! The files are called: wikipagesdb, wikiarchivedb, wikilinksdb,
 wikihottopicsdb, and wikihitcountdb. The files should already have proper
 rights and owners, as they were created by the web server. Otherwise
--- 22,30 ----
 If you don't want the DBM files to live in /tmp you must make sure the web
 server can read/write to your chosen location. It's probably a bad idea
! to leave it in /tmp. (Again, edit index.php). 
 
 For example, you create a subdirectory called "pages" in the wiki
 directory made when you untarred PhpWiki. Move the DBM files there.
! (FIXME: this is incorrect:)The files are called: wikipagesdb, wikiarchivedb, wikilinksdb,
 wikihottopicsdb, and wikihitcountdb. The files should already have proper
 rights and owners, as they were created by the web server. Otherwise
***************
*** 80,89 ****
 as the root document of a directory.
 
 This web application was written under PHP version 3.0.12 and 
 the latest build of PHP4. It's tested under the following systems:
 
 MySQL + Debian
! mSQL + Red Hat 4.1
! DBM or Postgresql on Red Hat 6.2
 
 It reportedly works on Windows with Apache+PHP, which amazes me. 
--- 66,76 ----
 as the root document of a directory.
 
+ FIXME: obsolete. (PHP 3 won't work)
 This web application was written under PHP version 3.0.12 and 
 the latest build of PHP4. It's tested under the following systems:
 
 MySQL + Debian
! mSQL + Red Hat 4.1 (FIXME: msql currently won't work)
! DBA or Postgresql on Red Hat 6.2
 
 It reportedly works on Windows with Apache+PHP, which amazes me. 
Index: INSTALL.flatfile
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/INSTALL.flatfile,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** INSTALL.flatfile	2001年04月06日 18:21:36	1.4
--- INSTALL.flatfile	2001年09月18日 19:16:23	1.5
***************
*** 1,2 ****
--- 1,5 ----
+ FIXME: The flatfile backend has not yet been ported to the new database
+ scheme. For now, it is broken.
+ 
 If you cannot run PhpWiki on top of a relational database like
 MySQL or Postgresql, and your system does not support DBM files
***************
*** 130,132 ****
 sw...@pa...
 
! $Id$
\ No newline at end of file
--- 133,135 ----
 sw...@pa...
 
! $Id$
Index: INSTALL.mSQL
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/INSTALL.mSQL,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** INSTALL.mSQL	2001年03月02日 00:38:50	1.4
--- INSTALL.mSQL	2001年09月18日 19:16:23	1.5
***************
*** 1,2 ****
--- 1,5 ----
+ FIXME: The flatfile backend has not yet been ported to the new database
+ scheme. For now, it is broken.
+ 
 Note: mSQL will not be supported in the 1.3 development branch, unless
 someone wants to assume responsibility for it. When the new version of
***************
*** 57,59 ****
 sw...@pa...
 
! $Id$
\ No newline at end of file
--- 60,62 ----
 sw...@pa...
 
! $Id$
Index: INSTALL.mysql
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/INSTALL.mysql,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** INSTALL.mysql	2001年07月15日 15:49:44	1.7
--- INSTALL.mysql	2001年09月18日 19:16:23	1.8
***************
*** 1,2 ****
--- 1,3 ----
+ FIXME: these instructions are slightly broken.
 
 Installing phpwiki with mySQL 
Index: INSTALL.pgsql
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/INSTALL.pgsql,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** INSTALL.pgsql	2001年03月03日 19:43:14	1.8
--- INSTALL.pgsql	2001年09月18日 19:16:23	1.9
***************
*** 1,2 ****
--- 1,6 ----
+ FIXME: The pgsql backend has not yet been ported to the new database
+ scheme. (Though it should not be very hard, and is certainly in
+ the works.)
+ 
 ----------
 NOTE for the 1.2 release: You may see a few warnings when you first
***************
*** 69,71 ****
 Report bugs to php...@li...
 
! $Id$
\ No newline at end of file
--- 73,75 ----
 Report bugs to php...@li...
 
! $Id$
Index: README
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/README,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** README	2001年03月03日 19:43:14	1.11
--- README	2001年09月18日 19:16:23	1.12
***************
*** 1,2 ****
--- 1,4 ----
+ FIXME: This is outdated.
+ 
 This web application is licensed under the Gnu Public License, which
 should be included in the same directory as this README. A copy
Index: UPGRADING
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/UPGRADING,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** UPGRADING	2001年04月06日 18:21:36	1.2
--- UPGRADING	2001年09月18日 19:16:23	1.3
***************
*** 1,2 ****
--- 1,11 ----
+ FIXME: WARNING WARNING: the schemas used by the new databases
+ are completely incompatible with schemas in any previous version
+ of PhpWiki. If you install this new PhpWiki, you must start with a
+ new empty database (currently either mysql or dba). (It will be
+ filled with the usual default pages.)
+ 
+ FIXME: add more.
+ 
+ 
 More comprehensive updgrading information is forthcoming... however in
 the meantime, this message is in the Open Discussion board on
***************
*** 46,48 ****
 
 
! $Id$
\ No newline at end of file
--- 55,57 ----
 
 
! $Id$
Index: index.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/index.php,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** index.php	2001年07月20日 17:40:12	1.20
--- index.php	2001年09月18日 19:16:23	1.21
***************
*** 22,26 ****
 // Part Null: Don't touch this!
 
! define ('PHPWIKI_VERSION', '1.3.0pre');
 require "lib/prepend.php";
 rcs_id('$Id$');
--- 22,26 ----
 // Part Null: Don't touch this!
 
! define ('PHPWIKI_VERSION', '1.3.0-jeffs-hacks');
 require "lib/prepend.php";
 rcs_id('$Id$');
***************
*** 81,95 ****
 $DBParams = array(
 // Select the database type:
! // Uncomment one of these, or leave all commented for the default
! // data base type ('dba' if supported, else 'dbm'.)
! //'dbtype' => 'dba',
! //'dbtype' => 'dbm',
! //'dbtype' => 'mysql',
! //'dbtype' => 'pgsql',
! //'dbtype' => 'msql',
! //'dbtype' => 'file',
 
 // Used by all DB types:
! 'database' => 'wiki',
 // prefix for filenames or table names
 /* 
--- 81,104 ----
 $DBParams = array(
 // Select the database type:
! //'dbtype' => 'SQL',
! 'dbtype' => 'dba',
 
+ // For SQL based backends, specify the database as a DSN
+ // The most general form of a DSN looks like:
+ //
+ // phptype(dbsyntax)://username:password@protocol+hostspec/database
+ //
+ // For a MySQL database, the following should work:
+ //
+ // mysql://user:password@host/databasename
+ //
+ // FIXME: My version Pear::DB seems to be broken enough that there is
+ // no way to connect to a mysql server over a socket right now.
+ //'dsn' => 'mysql://guest@:/var/lib/mysql/mysql.sock/test',
+ //'dsn' => 'mysql://guest@localhost/test',
+ 'dsn' => 'pgsql://localhost/test',
+ 
 // Used by all DB types:
! 
 // prefix for filenames or table names
 /* 
***************
*** 98,121 ****
 * installation.
 */
! 'prefix' => 'phpwiki_',
 
! // Used by 'dbm', 'dba', 'file'
 'directory' => "/tmp",
! 
! // 'dbm' and 'dba create files named "$directory/${database}{$prefix}*".
! // 'file' creates files named "$directory/${database}/{$prefix}*/*".
! // The sql types use tables named "{$prefix}*"
! 
! // Used by 'dbm', 'dba'
 'timeout' => 20,
! 
! // Used by *sql as neccesary to log in to server:
! 'server' => 'localhost',
! 'port' => '',
! 'socket' => '',
! 'user' => 'guest',
! 'password' => ''
 );
 
 
 /////////////////////////////////////////////////////////////////////
--- 107,185 ----
 * installation.
 */
! //'prefix' => 'phpwiki_',
 
! // Used by 'dba'
 'directory' => "/tmp",
! 'dba_handler' => 'gdbm', // Either of 'gdbm' or 'db2' work great for me.
! //'dba_handler' => 'db2',
! //'dba_handler' => 'db3', // doesn't work at all for me....
 'timeout' => 20,
! //'timeout' => 5
 );
 
+ /////////////////////////////////////////////////////////////////////
+ //
+ // The next section controls how many old revisions of each page
+ // are kept in the database.
+ //
+ // There are two basic classes of revisions: major and minor.
+ // Which class a revision belongs in is determined by whether the
+ // author checked the "this is a minor revision" checkbox when they
+ // saved the page.
+ // 
+ // There is, additionally, a third class of revisions: author revisions.
+ // The most recent non-mergable revision from each distinct author is
+ // and author revision.
+ //
+ // The expiry parameters for each of those three classes of revisions
+ // can be adjusted seperately. For each class there are five
+ // parameters (usually, only two or three of the five are actually set)
+ // which control how long those revisions are kept in the database.
+ //
+ // max_keep: If set, this specifies an absolute maximum for the number
+ // of archived revisions of that class. This is meant to be
+ // used as a safety cap when a non-zero min_age is specified.
+ // It should be set relatively high, and it's purpose is to
+ // prevent malicious or accidental database overflow due
+ // to someone causing an unreasonable number of edits in a short
+ // period of time.
+ //
+ // min_age: Revisions younger than this (based upon the supplanted date)
+ // will be kept unless max_keep is exceeded. The age should
+ // be specified in days. It should be a non-negative,
+ // real number,
+ //
+ // min_keep: At least this many revisions will be kept.
+ //
+ // keep: No more than this many revisions will be kept.
+ //
+ // max_age: No revision older than this age will be kept.
+ //
+ // Supplanted date: Revisions are timestamped at the instant that they cease
+ // being the current revision. Revision age is computed using this timestamp,
+ // not the edit time of the page.
+ //
+ // Merging: When a minor revision is deleted, if the preceding revision is by
+ // the same author, the minor revision is merged with the preceding revision
+ // before it is deleted. Essentially: this replaces the content (and supplanted
+ // timestamp) of the previous revision with the content after the merged minor
+ // edit, the rest of the page metadata for the preceding version (summary, mtime, ...)
+ // is not changed.
+ //
+ // Keep up to 8 major edits, but keep them no longer than a month.
+ $ExpireParams['major'] = array('max_age' => 32,
+ 'keep'	 => 8);
+ // Keep up to 4 minor edits, but keep them no longer than a week.
+ $ExpireParams['minor'] = array('max_age' => 7,
+ 'keep' => 4);
+ // Keep the latest contributions of the last 8 authors up to a year.
+ // Additionally, (in the case of a particularly active page) try to keep the
+ // latest contributions of all authors in the last week (even if there are
+ // more than eight of them,) but in no case keep more than twenty unique
+ // author revisions.
+ $ExpireParams['author'] = array('max_age' => 365,
+ 'keep' => 8,
+ 'min_age' => 7,
+ 'max_keep' => 20);
 
 /////////////////////////////////////////////////////////////////////
***************
*** 161,164 ****
--- 225,232 ----
 
 // CSS location
+ //
+ // Note that if you use the stock phpwiki style sheet, 'phpwiki.css',
+ // you should make sure that it's companion 'phpwiki-heavy.css'
+ // is installed in the same directory that the base style file is.
 define("CSS_URL", "phpwiki.css");
 
***************
*** 176,179 ****
--- 244,248 ----
 $dateformat = "%B %e, %Y";	// must not contain time
 
+ // FIXME: delete
 // this defines how many page names to list when displaying
 // the MostPopular pages; the default is to show the 20 most popular pages
***************
*** 198,201 ****
--- 267,271 ----
 define('WIKI_PGSRC', "pgsrc"); // Default (old) behavior.
 //define('WIKI_PGSRC', 'wiki.zip'); // New style.
+ //define('WIKI_PGSRC', '../../../Logs/Hamwiki/hamwiki-20010830.zip'); // New style.
 
 // DEFAULT_WIKI_PGSRC is only used when the language is *not*
***************
*** 314,321 ****
 include "lib/main.php";
 
! // For emacs users
 // Local Variables:
 // mode: php
! // c-file-style: "ellemtel"
 // End: 
 ?>
--- 384,394 ----
 include "lib/main.php";
 
! // (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: 
 ?>
Index: phpwiki.css
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/phpwiki.css,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** phpwiki.css	2001年02月15日 21:33:06	1.2
--- phpwiki.css	2001年09月18日 19:16:23	1.3
***************
*** 2,135 ****
 Classes:
 
! wikitext 
 
! wikiword - A wiki page name
! rawurl - A raw url (like http://some.where.com/howdy.jpg)
! interwiki - An interwiki name
 
! linkurl - A link to an external URL
! interwikilink - A link to an external wiki
! wikilink = A link to an existing page 
! wikiunknown = A link to a non-existing page
! wikiaction - A link which to an action (edit, diff, info...)
! wikiadmin - A link to an admin action (lock, remove ...)
! wikiunsafe - A link to an admin action which is located on an unlocked page.
 */
 
! TABLE.outer { background-color: black; }
! TABLE.inner { background-color: white; }
 
 /*
! * WikiWords in sans-serif
 */
! .wikiword
! {
! font-family: avantgarde, helvetica, sans-serif;
! } 
! PRE .wikiword, 
! TT .wikiword
! {
! font-family: monospace;
! }
! H1 .wikiword
! {
! font-size: large;
! }
! SMALL .wikiword
! {
! font-size: small;
 }
 
! .interwiki
! {
! font-family: zapf chancery, cursive;
! }
! 
 
 
 /*
! * Raw URLS in smaller font
 */
! .rawurl
! {
! font-family: serif;
! font-size: smaller;
 }
 
 
! /*
! * No underline for wikilinks.
! */
! .wikilink,
! .wikiunknown,
! .wikiunknown U,
! .wikiaction,
! .wikiadmin,
! .interwikilink,
! .footnote A, 
! .footnote-rev 
! {
! text-decoration: none;
! /* color: #600; */
 }
! .wikiunknown,
! .wikiunknown U
 {
! color: #600;
 }
 
- 
 /*
! * Different backgrounds depening on link type.
 */
! /*
! .wikilink
! {
! background-color: #ddc;
 }
 */
- .wikiaction,
- .wikiaction INPUT,
- .wikiaction TABLE
- {
- background-color: #ddf;
- }
- .wikiadmin,
- .wikiadmin INPUT,
- .wikiadmin TABLE
- {
- background-color: #fdd;
- }
- .wikiunsafe
- {
- background-color: #eee;
- }
 
! .wikilink:link
! {
! /* color: #c00; */
! }
! .wikilink:visited,
! {
! /* color: #600; */
! }
 
 
 /*
! * Special colors for the '?' after unknown wikiwords.
 */
! A.wikiunknown
! {
! color: #fffff0;
! background-color: #663333;
! font-family: avantgarde, helvetica, sans-serif;
! text-decoration: none;
! }
! PRE A.wikiunknown,
! TT A.wikiunknown
 {
! font-family: monospace;
 }
 
 
 /* For emacs users
--- 2,188 ----
 Classes:
 
! DIV.wikitext - the transformed wiki page text.
! 
! A.wiki - link to page in wiki.
! A.named-wiki - a named link to page in wiki (from e.g. [name|WikiPage]).
! A.interwiki - link to page in another wiki
! SPAN.wikipage - page name within interwiki link.
! A.named-interwiki - link to page in another wiki
! A.url - link to external URL from wiki page.
! A.named-url - link to external URL from wiki page.
! 
! .wikiunknown A, .wikiunknown U
! .named-wikiunknown A, .named-wikiunknown U
 
! A.wikiaction
! A.wikiadmin
! .wikiunsafe
! 
! A.backlinks
 
! TODO: Get rid of tables in wikiaction forms.
 */
+ 
+ /* NS4 doesn't grok @import. This allows us to put things which break NS4
+ * in another file.
+ */
+ @import url(phpwiki-heavy.css);
+ 
+ BODY { background: ivory; }
 
! BODY { font-family: arial, helvetica, sans-serif; }
 
 /*
! * NS4, defaults from BODY don't always propagate correctly.
! * So we need this:
! */ 
! .wikitext, .toolbar, P, TD { font-family: arial, helvetica, sans-serif; }
! 
! INPUT.button { font-family: arial, helvetica, sans-serif; }
! 
! .wikitext PRE { font-family: monospace; }
! 
! DIV.wikitext {
! background: white;
! border: thin;
! border-color: black;
! border-style: solid;
! padding-left: 0.8em; 
! padding-right: 0.8em; 
! padding-top: 0px;
! padding-bottom: 0px;
! margin: 0.5ex 0px;
! /* This breaks Netscape 4: (display does not go full width).
! width: auto;
 */
! clear: both;
 }
 
! INPUT.wikitext { margin:0px; }
 
+ DIV.toolbar { margin: 1ex 0ex; }
 
 /*
! * This is a kluge for NS4 which doesn't honor the clear: settings on
! * .tool-left and .tool-right.
! *
! * Putting in explicit <br clear="all"> messes up the formatting in
! * other browsers. Instead we'll put in a:
! *
! * <div class="br"><br class="ignore" clear="all"></div>
! *
! * The clear:both on DIV.br seems to work. And we'll disable the <br> altogether (in
! * CSS aware browsers) by setting display:none.
! *
! * Actually, I haven't yet found a browser which doesn't put a line break
! * between successive <div>'s. This makes the <br class="ignore"> completely
! * unnecessary. 
 */
! DIV.br { clear:both; line-height: 0px; }
! .ignore { display: none; }
! 
! DIV.errors {
! background: #eee;
! border: medium;
! border-color: red;
! border-style: solid;
! padding-left: 0.8em; 
! padding-right: 0.8em; 
! padding-top: 0px;
! padding-bottom: 0px;
! margin: 1em;
! /* This breaks Netscape 4: (display does not go full width).
! width: auto;
! */
! clear: both;
 }
 
+ .errors H4 {
+ color:red;
+ text-decoration: underline;
+ margin:0px;
+ }
 
! P.error {
! font-size: smaller;
! font-family: monospace;
! margin:0px;
 }
! .error UL
 {
! font-size: smaller;
! font-family: monospace;
 }
 
 /*
! * Style for <hr>s in wiki markup.
 */
! .wikitext HR {
! background: #666;
! height: 1px;
! width: 90%;
! margin-left:auto;
! margin-right:auto;
! align:center; /* for NS4 */
 }
+ 
+ 
+ /*
+ * Link styles
+ */
+ /* Wiki Links */
+ A.wiki { text-decoration: none; }
+ .wiki { font-weight: bold; }
+ /* This is obscene in NS4
+ B .wiki, STRONG .wiki { font-size: larger; }
 */
 
! /* Unknown links */
! .wikiunknown A, .named-wikiunknown A, .wikiunknown U
! { text-decoration: none; }
! 
! .wikiunknown, .named-wikiunknown
! {color: #600; }
! .wikiunknown A, .named-wikiunknown
! { color: white; background-color: #600; }
! 
! 
! /* Interwiki links */
! A.interwiki { text-decoration: none; }
! .wikipage { font-weight: bold; }
! 
! .interwiki,
! I .interwiki .wikipage, EM .interwiki .wikipage
! { font-style: oblique; }
 
+ .interwiki .wikipage,
+ I .interwiki, EM .interwiki 
+ { font-style: normal; }
 
 /*
! * wikiaction, wikiadmin, wikiunsafe:
 */
! A.wikiaction, A.wikiadmin { text-decoration: none; }
! A.wikiaction, .wikiaction TABLE, SPAN.wikiaction { background-color: #ddd; }
! A.wikiadmin, .wikiadmin TABLE { background-color: #fdd; }
! .wikiunsafe { background-color: #ccc; }
! 
! /*
! * Put a border around wikiaction forms:
! * This doesn't work for NS4.
! */
! .wikiaction TABLE, .wikiadmin TABLE
 {
! border-style: ridge;
! border-width: medium;
 }
+ .wikiaction TABLE { border-color: #9cf; }
+ .wikiadmin TABLE { border-color: #f99; }
+ 
+ /* Backlinks */
+ A.backlinks { color: #006; }
 
+ /* Make the textarea on the edit page full width */
+ TEXTAREA.wikiedit { width: 100%; margin-top: 1ex; }
 
 /* For emacs users
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.
Thanks for helping keep SourceForge clean.
X





Briefly describe the problem (required):
Upload screenshot of ad (required):
Select a file, or drag & drop file here.
Screenshot instructions:

Click URL instructions:
Right-click on the ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Ad destination/click URL:

AltStyle によって変換されたページ (->オリジナル) /