https://www.mediawiki.org/wiki/Special:Code/MediaWiki/102093
Revision: 102093
Author: ashley
Date: 2011-11-05 13:36:28 +0000 (Sat, 05 Nov 2011)
Log Message:
-----------
CreateAPage: follow-up to r98699 as per Roan's review: rename the extension
setup file to match directory name (no code changes)
Added Paths:
-----------
trunk/extensions/CreateAPage/CreateAPage.php
Removed Paths:
-------------
trunk/extensions/CreateAPage/CreatePage.php
Copied: trunk/extensions/CreateAPage/CreateAPage.php (from rev 102092,
trunk/extensions/CreateAPage/CreatePage.php)
===================================================================
--- trunk/extensions/CreateAPage/CreateAPage.php
(rev 0)
+++ trunk/extensions/CreateAPage/CreateAPage.php 2011-11-05 13:36:28 UTC
(rev 102093)
@@ -0,0 +1,198 @@
+<?php
+/**
+ * A special page to create a new article using the easy-to-use interface at
+ * Special:CreatePage.
+ *
+ * @file
+ * @ingroup Extensions
+ * @version 3.91 (r15554)
+ * @author Bartek Łapiński <[email protected]>
+ * @author Jack Phoenix <[email protected]>
+ * @copyright Copyright © 2007-2008 Wikia Inc.
+ * @copyright Copyright © 2009-2011 Jack Phoenix
+ * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
2.0 or later
+ * @link http://www.mediawiki.org/wiki/Extension:CreateAPage Documentation
+ */
+
+if( !defined( 'MEDIAWIKI' ) ) {
+ die();
+}
+
+// Extension credits that will show up on Special:Version
+$wgExtensionCredits['specialpage'][] = array(
+ 'name' => 'CreateAPage',
+ 'author' => array(
+ 'Bartek Łapiński', 'Łukasz Garczewski', 'Przemek Piotrowski',
+ 'Jack Phoenix'
+ ),
+ 'version' => '3.91',
+ 'description' => '[[Special:CreatePage|Easy to use interface]] for
creating new articles',
+ 'url' => 'http://www.mediawiki.org/wiki/Extension:CreateAPage',
+);
+
+// Autoload classes and set up the new special page(s)
+$dir = dirname( __FILE__ ) . '/';
+$wgExtensionMessagesFiles['CreateAPage'] = $dir . 'CreateAPage.i18n.php';
+$wgAutoloadClasses['EasyTemplate'] = $dir . 'EasyTemplate.php'; // @todo
FIXME: kill templates and remove this class
+$wgAutoloadClasses['CreateMultiPage'] = $dir . 'CreateMultiPage.php';
+$wgAutoloadClasses['CreatePage'] = $dir . 'SpecialCreatePage.body.php';
+$wgAutoloadClasses['CreatePageEditor'] = $dir . 'CreatePageEditor.php';
+$wgAutoloadClasses['CreatePageMultiEditor'] = $dir . 'CreatePageEditor.php';
+$wgAutoloadClasses['CreatePageCreateplateForm'] = $dir .
'CreatePageCreateplateForm.php';
+$wgAutoloadClasses['CreatePageImageUploadForm'] = $dir .
'CreatePageImageUploadForm.php';
+$wgAutoloadClasses['PocketSilentArticle'] = $dir . 'CreatePageEditor.php';
+$wgSpecialPages['CreatePage'] = 'CreatePage';
+$wgSpecialPageGroups['CreatePage'] = 'pagetools';
+
+// Load AJAX functions, too
+require_once $dir . 'SpecialCreatePage_ajax.php';
+
+// ResourceLoader support for MediaWiki 1.17+
+$wgResourceModules['ext.createAPage'] = array(
+ 'styles' => 'CreatePage.css',
+ 'scripts' => 'js/CreateAPage.js',
+ 'messages' => array(
+ 'createpage-insert-image', 'createpage-upload-aborted',
+ 'createpage-img-uploaded', 'createpage-login-required',
+ 'createpage-login-href', 'createpage-login-required2',
+ 'createpage-give-title', 'createpage-img-uploaded',
+ 'createpage-article-exists', 'createpage-article-exists2',
+ 'createpage-title-invalid', 'createpage-please-wait',
+ 'createpage-show', 'createpage-hide',
+ 'createpage-must-specify-title', 'createpage-unsaved-changes',
+ 'createpage-unsaved-changes-details'
+ ),
+ 'dependencies' => array( 'jquery.ui', 'jquery.ui.dialog' ),
+ 'localBasePath' => dirname( __FILE__ ),
+ 'remoteExtPath' => 'CreateAPage',
+ 'position' => 'top' // available since r85616
+);
+
+// Our only configuration setting -- use CreateAPage on redlinks (i.e. clicking
+// on a redlink takes you to
index.php?title=Special:CreatePage&Createtitle=Title_of_our_page
+// instead of taking you to
index.php?title=Title_of_our_page&action=edit&redlink=1)
+$wgCreatePageCoverRedLinks = false;
+
+// Hooked functions
+$wgHooks['EditPage::showEditForm:initial'][] = 'wfCreatePagePreloadContent';
+// I'm not sure if this and the related, custom Article class are even needed
+// nowadays, so I'm disabling it for the time being.
+//$wgHooks['Image::RecordUpload:article'][] = 'wfCreatePageShowNoImagePage';
+$wgHooks['CustomEditor'][] = 'wfCreatePageRedLinks';
+$wgHooks['ConfirmEdit::onConfirmEdit'][] = 'wfCreatePageConfirmEdit'; //
ConfirmEdit CAPTCHA
+
+$wgHooks['GetPreferences'][] = 'wfCreatePageToggle';
+
+// handle ConfirmEdit CAPTCHA, only for CreatePage, which will be treated a
bit differently (edits in special page)
+function wfCreatePageConfirmEdit( &$captcha, &$editPage, $newtext, $section,
$merged, &$result ) {
+ global $wgTitle, $wgCreatePageCoverRedLinks;
+
+ // Enable only if the configuration global is set to true,
+ // only for Special:CreatePage and only when ConfirmEdit is installed
+ $canonspname = SpecialPage::resolveAlias( $wgTitle->getDBkey() );
+ if ( !$wgCreatePageCoverRedLinks ) {
+ return true;
+ }
+ if ( $canonspname != 'CreatePage' ) {
+ return true;
+ }
+ if ( !class_exists( 'SimpleCaptcha' ) ) {
+ return true;
+ }
+
+ if( $captcha->shouldCheck( $editPage, $newtext, $section, $merged ) ) {
+ if( $captcha->passCaptcha() ) {
+ $result = true;
+ return false;
+ } else {
+ // display CAP page
+ $mainform = new CreatePageCreatePlateForm();
+ $mainform->showForm( '', false, array( &$captcha,
'editCallback' ) );
+ $editor = new CreatePageMultiEditor(
$_SESSION['article_createplate'] );
+ $editor->generateForm( $newtext );
+
+ $result = false;
+ return false;
+ }
+ } else {
+ return true;
+ }
+}
+
+// when AdvancedEdit button is used, the existing content is preloaded
+function wfCreatePagePreloadContent( $editpage ) {
+ global $wgRequest;
+ if( $wgRequest->getCheck( 'createpage' ) ) {
+ $editpage->textbox1 = $_SESSION['article_content'];
+ }
+ return true;
+}
+
+// because MediaWiki jumps happily to the article page
+// when we create it - in this case, for image upload
+function wfCreatePageShowNoImagePage( $article, $title ) {
+ $article = new PocketSilentArticle( $title );
+ return true;
+}
+
+function wfCreatePageRedLinks( $article, $user ) {
+ global $wgRequest, $wgContentNamespaces, $wgCreatePageCoverRedLinks;
+
+ if ( !$wgCreatePageCoverRedLinks ) {
+ return true;
+ }
+
+ $namespace = $article->getTitle()->getNamespace();
+ if (
+ ( $user->getOption( 'createpage-redlinks', 1 ) == 0 ) ||
+ !in_array( $namespace, $wgContentNamespaces )
+ )
+ {
+ return true;
+ }
+
+ // nomulti should always bypass that (this is for AdvancedEdit mode)
+ if (
+ $article->getTitle()->exists() ||
+ ( $wgRequest->getVal( 'editmode' ) == 'nomulti' )
+ )
+ {
+ return true;
+ } else {
+ if ( $wgRequest->getCheck( 'wpPreview' ) ) {
+ return true;
+ }
+ $mainform = new CreatePageCreateplateForm();
+ $mainform->mTitle = $wgRequest->getVal( 'title' );
+ $mainform->mRedLinked = true;
+ $mainform->showForm( '' );
+ $mainform->showCreateplate( true );
+ return false;
+ }
+}
+
+/**
+ * Adds a new toggle into Special:Preferences when $wgCreatePageCoverRedLinks
+ * is set to true.
+ *
+ * @param $user Object: current User object
+ * @param $preferences Object: Preferences object
+ * @return Boolean: true
+ */
+function wfCreatePageToggle( $user, &$preferences ) {
+ global $wgCreatePageCoverRedLinks;
+ if ( $wgCreatePageCoverRedLinks ) {
+ $preferences['create-page-redlinks'] = array(
+ 'type' => 'toggle',
+ 'section' => 'editing/advancedediting',
+ 'label-message' => 'tog-createpage-redlinks',
+ );
+ }
+ return true;
+}
+
+// Restore what we temporarily encoded
+// moved from CreateMultiPage.php
+function wfCreatePageUnescapeKnownMarkupTags( &$text ) {
+ $text = str_replace( '<!---pipe--->', '|', $text );
+}
\ No newline at end of file
Deleted: trunk/extensions/CreateAPage/CreatePage.php
===================================================================
--- trunk/extensions/CreateAPage/CreatePage.php 2011-11-05 13:34:17 UTC (rev
102092)
+++ trunk/extensions/CreateAPage/CreatePage.php 2011-11-05 13:36:28 UTC (rev
102093)
@@ -1,198 +0,0 @@
-<?php
-/**
- * A special page to create a new article using the easy-to-use interface at
- * Special:CreatePage.
- *
- * @file
- * @ingroup Extensions
- * @version 3.91 (r15554)
- * @author Bartek Łapiński <[email protected]>
- * @author Jack Phoenix <[email protected]>
- * @copyright Copyright © 2007-2008 Wikia Inc.
- * @copyright Copyright © 2009-2011 Jack Phoenix
- * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License
2.0 or later
- * @link http://www.mediawiki.org/wiki/Extension:CreateAPage Documentation
- */
-
-if( !defined( 'MEDIAWIKI' ) ) {
- die();
-}
-
-// Extension credits that will show up on Special:Version
-$wgExtensionCredits['specialpage'][] = array(
- 'name' => 'CreateAPage',
- 'author' => array(
- 'Bartek Łapiński', 'Łukasz Garczewski', 'Przemek Piotrowski',
- 'Jack Phoenix'
- ),
- 'version' => '3.91',
- 'description' => '[[Special:CreatePage|Easy to use interface]] for
creating new articles',
- 'url' => 'http://www.mediawiki.org/wiki/Extension:CreateAPage',
-);
-
-// Autoload classes and set up the new special page(s)
-$dir = dirname( __FILE__ ) . '/';
-$wgExtensionMessagesFiles['CreateAPage'] = $dir . 'CreateAPage.i18n.php';
-$wgAutoloadClasses['EasyTemplate'] = $dir . 'EasyTemplate.php'; // @todo
FIXME: kill templates and remove this class
-$wgAutoloadClasses['CreateMultiPage'] = $dir . 'CreateMultiPage.php';
-$wgAutoloadClasses['CreatePage'] = $dir . 'SpecialCreatePage.body.php';
-$wgAutoloadClasses['CreatePageEditor'] = $dir . 'CreatePageEditor.php';
-$wgAutoloadClasses['CreatePageMultiEditor'] = $dir . 'CreatePageEditor.php';
-$wgAutoloadClasses['CreatePageCreateplateForm'] = $dir .
'CreatePageCreateplateForm.php';
-$wgAutoloadClasses['CreatePageImageUploadForm'] = $dir .
'CreatePageImageUploadForm.php';
-$wgAutoloadClasses['PocketSilentArticle'] = $dir . 'CreatePageEditor.php';
-$wgSpecialPages['CreatePage'] = 'CreatePage';
-$wgSpecialPageGroups['CreatePage'] = 'pagetools';
-
-// Load AJAX functions, too
-require_once $dir . 'SpecialCreatePage_ajax.php';
-
-// ResourceLoader support for MediaWiki 1.17+
-$wgResourceModules['ext.createAPage'] = array(
- 'styles' => 'CreatePage.css',
- 'scripts' => 'js/CreateAPage.js',
- 'messages' => array(
- 'createpage-insert-image', 'createpage-upload-aborted',
- 'createpage-img-uploaded', 'createpage-login-required',
- 'createpage-login-href', 'createpage-login-required2',
- 'createpage-give-title', 'createpage-img-uploaded',
- 'createpage-article-exists', 'createpage-article-exists2',
- 'createpage-title-invalid', 'createpage-please-wait',
- 'createpage-show', 'createpage-hide',
- 'createpage-must-specify-title', 'createpage-unsaved-changes',
- 'createpage-unsaved-changes-details'
- ),
- 'dependencies' => array( 'jquery.ui', 'jquery.ui.dialog' ),
- 'localBasePath' => dirname( __FILE__ ),
- 'remoteExtPath' => 'CreateAPage',
- 'position' => 'top' // available since r85616
-);
-
-// Our only configuration setting -- use CreateAPage on redlinks (i.e. clicking
-// on a redlink takes you to
index.php?title=Special:CreatePage&Createtitle=Title_of_our_page
-// instead of taking you to
index.php?title=Title_of_our_page&action=edit&redlink=1)
-$wgCreatePageCoverRedLinks = false;
-
-// Hooked functions
-$wgHooks['EditPage::showEditForm:initial'][] = 'wfCreatePagePreloadContent';
-// I'm not sure if this and the related, custom Article class are even needed
-// nowadays, so I'm disabling it for the time being.
-//$wgHooks['Image::RecordUpload:article'][] = 'wfCreatePageShowNoImagePage';
-$wgHooks['CustomEditor'][] = 'wfCreatePageRedLinks';
-$wgHooks['ConfirmEdit::onConfirmEdit'][] = 'wfCreatePageConfirmEdit'; //
ConfirmEdit CAPTCHA
-
-$wgHooks['GetPreferences'][] = 'wfCreatePageToggle';
-
-// handle ConfirmEdit CAPTCHA, only for CreatePage, which will be treated a
bit differently (edits in special page)
-function wfCreatePageConfirmEdit( &$captcha, &$editPage, $newtext, $section,
$merged, &$result ) {
- global $wgTitle, $wgCreatePageCoverRedLinks;
-
- // Enable only if the configuration global is set to true,
- // only for Special:CreatePage and only when ConfirmEdit is installed
- $canonspname = SpecialPage::resolveAlias( $wgTitle->getDBkey() );
- if ( !$wgCreatePageCoverRedLinks ) {
- return true;
- }
- if ( $canonspname != 'CreatePage' ) {
- return true;
- }
- if ( !class_exists( 'SimpleCaptcha' ) ) {
- return true;
- }
-
- if( $captcha->shouldCheck( $editPage, $newtext, $section, $merged ) ) {
- if( $captcha->passCaptcha() ) {
- $result = true;
- return false;
- } else {
- // display CAP page
- $mainform = new CreatePageCreatePlateForm();
- $mainform->showForm( '', false, array( &$captcha,
'editCallback' ) );
- $editor = new CreatePageMultiEditor(
$_SESSION['article_createplate'] );
- $editor->generateForm( $newtext );
-
- $result = false;
- return false;
- }
- } else {
- return true;
- }
-}
-
-// when AdvancedEdit button is used, the existing content is preloaded
-function wfCreatePagePreloadContent( $editpage ) {
- global $wgRequest;
- if( $wgRequest->getCheck( 'createpage' ) ) {
- $editpage->textbox1 = $_SESSION['article_content'];
- }
- return true;
-}
-
-// because MediaWiki jumps happily to the article page
-// when we create it - in this case, for image upload
-function wfCreatePageShowNoImagePage( $article, $title ) {
- $article = new PocketSilentArticle( $title );
- return true;
-}
-
-function wfCreatePageRedLinks( $article, $user ) {
- global $wgRequest, $wgContentNamespaces, $wgCreatePageCoverRedLinks;
-
- if ( !$wgCreatePageCoverRedLinks ) {
- return true;
- }
-
- $namespace = $article->getTitle()->getNamespace();
- if (
- ( $user->getOption( 'createpage-redlinks', 1 ) == 0 ) ||
- !in_array( $namespace, $wgContentNamespaces )
- )
- {
- return true;
- }
-
- // nomulti should always bypass that (this is for AdvancedEdit mode)
- if (
- $article->getTitle()->exists() ||
- ( $wgRequest->getVal( 'editmode' ) == 'nomulti' )
- )
- {
- return true;
- } else {
- if ( $wgRequest->getCheck( 'wpPreview' ) ) {
- return true;
- }
- $mainform = new CreatePageCreateplateForm();
- $mainform->mTitle = $wgRequest->getVal( 'title' );
- $mainform->mRedLinked = true;
- $mainform->showForm( '' );
- $mainform->showCreateplate( true );
- return false;
- }
-}
-
-/**
- * Adds a new toggle into Special:Preferences when $wgCreatePageCoverRedLinks
- * is set to true.
- *
- * @param $user Object: current User object
- * @param $preferences Object: Preferences object
- * @return Boolean: true
- */
-function wfCreatePageToggle( $user, &$preferences ) {
- global $wgCreatePageCoverRedLinks;
- if ( $wgCreatePageCoverRedLinks ) {
- $preferences['create-page-redlinks'] = array(
- 'type' => 'toggle',
- 'section' => 'editing/advancedediting',
- 'label-message' => 'tog-createpage-redlinks',
- );
- }
- return true;
-}
-
-// Restore what we temporarily encoded
-// moved from CreateMultiPage.php
-function wfCreatePageUnescapeKnownMarkupTags( &$text ) {
- $text = str_replace( '<!---pipe--->', '|', $text );
-}
\ No newline at end of file
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs