From 08313276b059a21b3f86b51e90f67f92b6904b5d Mon Sep 17 00:00:00 2001 From: vargenau Date: Tue, 20 Jul 2010 09:09:04 +0000 Subject: [PATCH] Create user page automagically (for Gforge) git-svn-id: svn://svn.code.sf.net/p/phpwiki/code/trunk@7625 96ab9672-09ca-45d6-a79d-3d69d39ca109 --- lib/loadsave.php | 2 +- themes/gforge/pgsrc/CategoryWiki%20user | 16 ++++++++++++++++ themes/gforge/templates/navbar.tmpl | 5 +++++ themes/gforge/themeinfo.php | 9 +++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 themes/gforge/pgsrc/CategoryWiki%20user diff --git a/lib/loadsave.php b/lib/loadsave.php index 80d12959f..ac033a01a 100644 --- a/lib/loadsave.php +++ b/lib/loadsave.php @@ -1532,7 +1532,7 @@ function SetupWiki (&$request) } else if (WIKI_NAME == "help") { $mandatory = explode(':','SandBox:Template/Category:TemplateTalk:SpecialPages:CategoryCategory:CategoryActionPage:Help/TextFormattingRules:PhpWikiAdministration'); } else { - $mandatory = explode(':','SandBox:Template/Category:TemplateTalk:SpecialPages:CategoryCategory:CategoryActionPage:TextFormattingRules:PhpWikiAdministration'); + $mandatory = explode(':','SandBox:Template/UserPage:Template/Category:TemplateTalk:SpecialPages:CategoryCategory:CategoryActionPage:TextFormattingRules:PhpWikiAdministration'); } foreach (array_merge($mandatory, $GLOBALS['AllActionPages'], diff --git a/themes/gforge/pgsrc/CategoryWiki%20user b/themes/gforge/pgsrc/CategoryWiki%20user new file mode 100644 index 000000000..fdf4f06d4 --- /dev/null +++ b/themes/gforge/pgsrc/CategoryWiki%20user @@ -0,0 +1,16 @@ +Date: Thu, 15 Apr 2010 16:33:18 +0000 +Mime-Version: 1.0 (Produced by PhpWiki 1.4.0RC-20100415) +X-Rcs-Id: $Id$ +Content-Type: application/x-phpwiki; + pagename=CategoryWiki%20user; + flags=EXTERNAL_PAGE; + markup=2; + charset=UTF-8 +Content-Transfer-Encoding: binary + +This Category lists **all users who have created their own user page** in this wiki. + +<> + +---- +[[CategoryCategory]] diff --git a/themes/gforge/templates/navbar.tmpl b/themes/gforge/templates/navbar.tmpl index 7ece8ec9e..957690e2f 100644 --- a/themes/gforge/templates/navbar.tmpl +++ b/themes/gforge/templates/navbar.tmpl @@ -3,6 +3,8 @@ ?> getPreferences(); +$dbh = $request->getDbh(); +$username = $user->UserName(); ?> @@ -20,5 +22,8 @@ $curuserprefs = $user->getPreferences(); isSignedIn()) { ?> + isWikiPage($username)) { ?> + + diff --git a/themes/gforge/themeinfo.php b/themes/gforge/themeinfo.php index 47fc61396..6d6ed42e1 100644 --- a/themes/gforge/themeinfo.php +++ b/themes/gforge/themeinfo.php @@ -137,6 +137,15 @@ class WikiTheme_gforge extends WikiTheme_Wikilens { $this->setDateFormat("%d %B %Y"); $this->setTimeFormat("%H:%M"); } + + /* Callback when a new user creates or edits a page */ + function CbNewUserEdit (&$request, $userid) { + $content = "{{Template/UserPage}}\n\n----\n[[CategoryWiki user]]"; + $dbi =& $request->_dbi; + $page = $dbi->getPage($userid); + $page->save($content, WIKIDB_FORCE_CREATE, array('author' => $userid)); + $dbi->touch(); + } } $WikiTheme = new WikiTheme_gforge('gforge'); -- 2.45.0