http://www.mediawiki.org/wiki/Special:Code/MediaWiki/96129
Revision: 96129
Author: preilly
Date: 2011-09-02 17:20:29 +0000 (Fri, 02 Sep 2011)
Log Message:
-----------
fix for bug 30551 - Create a simple feedback option for mobile users
Modified Paths:
--------------
trunk/extensions/MobileFrontend/MobileFrontend.php
trunk/extensions/MobileFrontend/views/layout/_footmenu_default.html.php
Added Paths:
-----------
trunk/extensions/MobileFrontend/views/information/leave_feedback.html.php
Modified: trunk/extensions/MobileFrontend/MobileFrontend.php
===================================================================
--- trunk/extensions/MobileFrontend/MobileFrontend.php 2011-09-02 17:11:23 UTC
(rev 96128)
+++ trunk/extensions/MobileFrontend/MobileFrontend.php 2011-09-02 17:20:29 UTC
(rev 96129)
@@ -65,7 +65,7 @@
);
class ExtMobileFrontend {
- const VERSION = '0.5.51';
+ const VERSION = '0.5.52';
/**
* @var DOMDocument
@@ -132,6 +132,14 @@
'mobile-frontend-enable-images',
'mobile-frontend-featured-article',
'mobile-frontend-news-items',
+ 'mobile-frontend-leave-feedback-title',
+ 'mobile-frontend-leave-feedback-notice',
+ 'mobile-frontend-leave-feedback-subject',
+ 'mobile-frontend-leave-feedback-message',
+ 'mobile-frontend-leave-feedback-cancel',
+ 'mobile-frontend-leave-feedback-submit',
+ 'mobile-frontend-leave-feedback-link-text',
+ 'mobile-frontend-leave-feedback',
);
public $itemsToRemove = array(
@@ -316,7 +324,29 @@
if ( self::$useFormat === 'mobile-wap' ) {
$this->contentFormat = 'WML';
}
+
+ if ( $mobileAction == 'leave_feedback' ) {
+ echo $this->renderLeaveFeedbackXHTML();
+ wfProfileOut( __METHOD__ );
+ exit();
+ }
+ if ( $mobileAction == 'leave_feedback_post' ) {
+
+ $subject = htmlspecialchars( $wgRequest->getText(
'subject', '' ) );
+ $message = htmlspecialchars( $wgRequest->getText(
'message', '' ) );
+
+ $title = Title::newFromText( 'MobileFrontend Extension
Feedback' );
+ $article = new Article( $title );
+ $rawtext = $article->getRawText();
+ $rawtext .= "\n== {$subject} == \n {$message} ~~~~ \n
<small>User agent: {$userAgent}</small> ";
+ $article->doEdit( $rawtext, '' );
+ $location = str_replace(
'&mobileaction=leave_feedback_post', '', $wgRequest->getFullRequestURL() );
+ $wgRequest->response()->header( 'Location: ' .
$location );
+ wfProfileOut( __METHOD__ );
+ exit();
+ }
+
if ( $mobileAction == 'disable_mobile_site' ) {
if ( $this->contentFormat == 'XHTML' ) {
echo $this->renderDisableMobileSiteXHTML();
@@ -437,6 +467,33 @@
}
wfProfileOut( __METHOD__ );
}
+
+ private function renderLeaveFeedbackXHTML() {
+ global $wgRequest;
+ wfProfileIn( __METHOD__ );
+ if ( $this->contentFormat == 'XHTML' ) {
+ $this->getMsg();
+
+ $title =
self::$messages['mobile-frontend-leave-feedback-title'];
+ $notice =
self::$messages['mobile-frontend-leave-feedback-notice'];
+ $linkText =
self::$messages['mobile-frontend-leave-feedback-link-text'];
+ $subject =
self::$messages['mobile-frontend-leave-feedback-subject'];
+ $message =
self::$messages['mobile-frontend-leave-feedback-message'];
+ $cancel =
self::$messages['mobile-frontend-leave-feedback-cancel'];
+ $submit =
self::$messages['mobile-frontend-leave-feedback-submit'];
+
+ $feedbackPostURL = str_replace(
'&mobileaction=leave_feedback', '', $wgRequest->getFullRequestURL() ) .
'&mobileaction=leave_feedback_post';
+ require( 'views/layout/_search_webkit.html.php' );
+ require( 'views/layout/_footmenu_default.html.php' );
+ require( 'views/information/leave_feedback.html.php' );
+ $contentHtml = $leaveFeedbackHtml;
+ require( 'views/layout/application.html.php' );
+ wfProfileOut( __METHOD__ );
+ return $applicationHtml;
+ }
+ wfProfileOut( __METHOD__ );
+ return '';
+ }
private function renderOptInMobileSiteXHTML() {
wfProfileIn( __METHOD__ );
Added: trunk/extensions/MobileFrontend/views/information/leave_feedback.html.php
===================================================================
--- trunk/extensions/MobileFrontend/views/information/leave_feedback.html.php
(rev 0)
+++ trunk/extensions/MobileFrontend/views/information/leave_feedback.html.php
2011-09-02 17:20:29 UTC (rev 96129)
@@ -0,0 +1,27 @@
+<?php
+
+$scriptUrl = wfScript();
+
+$leaveFeedbackHtml = <<<EOT
+<form action='{$feedbackPostURL}' method='post'>
+<div tabindex="-1">
+ <div unselectable="on">
+ <span unselectable="on"><p>{$title}</p></span>
+ </div>
+ <div>
+ <div>
+ <div><p><small>{$notice} "<a
href="{$scriptUrl}?title=MobileFrontend_Extension_Feedback"
target="_blank">{$linkText}</a>"</small>
+ </p></div>
+ <div><p>{$subject}:<br><input type="text"
name="subject" maxlength="60" style="width:40%;"></p>
+ </div>
+ <div><p>{$message}:<br><textarea name="message"
style="width:40%;" rows="5" cols="60"></textarea></p>
+ </div>
+ </div>
+ </div>
+ <div><button onClick="javascript:history.back();"
type="button"><span>{$cancel}</span></button>
+ <input type="submit" value="{$submit}"></input>
+ </div>
+</div>
+</form>
+
+EOT;
Property changes on:
trunk/extensions/MobileFrontend/views/information/leave_feedback.html.php
___________________________________________________________________
Added: svn:eol-style
+ native
Modified:
trunk/extensions/MobileFrontend/views/layout/_footmenu_default.html.php
===================================================================
--- trunk/extensions/MobileFrontend/views/layout/_footmenu_default.html.php
2011-09-02 17:11:23 UTC (rev 96128)
+++ trunk/extensions/MobileFrontend/views/layout/_footmenu_default.html.php
2011-09-02 17:20:29 UTC (rev 96129)
@@ -5,7 +5,10 @@
$copyright = self::$messages['mobile-frontend-copyright'];
$disableImages = self::$messages['mobile-frontend-disable-images'];
$enableImages = self::$messages['mobile-frontend-enable-images'];
+$leaveFeedback = self::$messages['mobile-frontend-leave-feedback'];
+$leaveFeedbackURL = self::$currentURL . '&mobileaction=leave_feedback';
+
$disableMobileSiteURL = self::$disableMobileSiteURL;
$viewNormalSiteURL = self::$viewNormalSiteURL;
@@ -21,7 +24,7 @@
<div id='footer'>
<div class='nav' id='footmenu'>
<div class='mwm-notice'>
- <a href="{$viewNormalSiteURL}">{$regularSite}</a> | <a
href="{$imagesURL}">{$imagesToggle}</a>
+ <a href="{$viewNormalSiteURL}">{$regularSite}</a> | <a
href="{$imagesURL}">{$imagesToggle}</a> | <a
href="{$leaveFeedbackURL}">{$leaveFeedback}</a>
<div id="perm">
<a href="{$disableMobileSiteURL}">{$permStopRedirect}</a>
</div>
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs