http://www.mediawiki.org/wiki/Special:Code/MediaWiki/99361
Revision: 99361 Author: kwisatz Date: 2011-10-09 18:32:42 +0000 (Sun, 09 Oct 2011) Log Message: ----------- Follow up to r99355 and r99357: used TitleObject->getFullURL() and prefixed table field names; added message documentation Modified Paths: -------------- trunk/extensions/TwitterLogin/SpecialTwitterLogin.php trunk/extensions/TwitterLogin/TwitterLogin.i18n.php trunk/extensions/TwitterLogin/TwitterLogin.php Added Paths: ----------- trunk/extensions/TwitterLogin/schema/ trunk/extensions/TwitterLogin/schema/twitter_user.patch.twitter_id.sql trunk/extensions/TwitterLogin/schema/twitter_user.patch.user_id.sql trunk/extensions/TwitterLogin/schema/twitter_user.sql Removed Paths: ------------- trunk/extensions/TwitterLogin/twitter_user.sql Modified: trunk/extensions/TwitterLogin/SpecialTwitterLogin.php =================================================================== --- trunk/extensions/TwitterLogin/SpecialTwitterLogin.php 2011-10-09 18:05:39 UTC (rev 99360) +++ trunk/extensions/TwitterLogin/SpecialTwitterLogin.php 2011-10-09 18:32:42 UTC (rev 99361) @@ -23,7 +23,6 @@ private $_consumerKey; private $_consumerSecret; - private $_oauthCallback; private $_twUserTable = 'twitter_user'; public function __construct(){ @@ -32,20 +31,19 @@ $this->_consumerKey = $wgConsumerKey; $this->_consumerSecret = $wgConsumerSecret; - $this->_oauthCallback = 'https://'.$_SERVER['SERVER_NAME'].$wgScriptPath.'/index.php/Special:TwitterLogin/callback'; } // default method being called by a specialpage public function execute( $parameter ){ switch($parameter){ case 'redirect': - $this->_redirect(); + $this->_redirect(); break; case 'callback': - $this->_handleCallback(); + $this->_handleCallback(); break; default: - $this->_default(); + $this->_default(); break; } @@ -59,7 +57,7 @@ if ( !$wgUser->isLoggedIn() ) { $wgOut->addWikiText( wfMsg( 'twitterlogin-signup') ); - $wgOut->addHTML( '<a href="' . $wgScriptPath . '/index.php/Special:TwitterLogin/redirect">' + $wgOut->addHTML( '<a href="' . $this->getTitle( 'redirect' )->getFullURL() .'">' .'<img src="' . $wgExtensionAssetsPath . '/TwitterLogin/' . 'images/sign-in-with-twitter-d.png"/></a>' ); } else { @@ -110,10 +108,12 @@ // Creating OAuth object $connection = new TwitterOAuth( $this->_consumerKey, $this->_consumerSecret ); + // set callback url + $oauthCallback = $this->getTitle( 'callback' )->getFullURL(); + // Getting temporary credentials - $request_token = $connection->getRequestToken( $this->_oauthCallback ); + $request_token = $connection->getRequestToken( $oauthCallback ); - // set returnto url $_SESSION['returnto'] = ( $wgRequest->getText( 'returnto' ) ) ? $wgRequest->getText( 'returnto' ) : ''; @@ -225,7 +225,7 @@ private function _storeInTable( $user, $screen_name ){ $dbw = wfGetDB(DB_MASTER); $dbw->insert( $this->_twUserTable, - array('user_id' => $user->getId(), 'twitter_id' => $screen_name), + array('tl_user_id' => $user->getId(), 'tl_twitter_id' => $screen_name), __METHOD__, array() ); @@ -234,10 +234,11 @@ // user already exists... was it created from twitter or did it alread exist before? private function _isCreatedFromTwitter( $user ){ $dbr = wfGetDB(DB_SLAVE); - $res = $dbr->select( $this->_twUserTable, 'twitter_id', //'relation' - array( 'user_id' => $user->getId() ), + $res = $dbr->select( $this->_twUserTable, 'tl_twitter_id', //'tl_relation' + array( 'tl_user_id' => $user->getId() ), __METHOD__ ); + if ( $row = $dbr->fetchObject( $res ) ) { $dbr->freeResult( $res ); $user->saveToCache(); Modified: trunk/extensions/TwitterLogin/TwitterLogin.i18n.php =================================================================== --- trunk/extensions/TwitterLogin/TwitterLogin.i18n.php 2011-10-09 18:05:39 UTC (rev 99360) +++ trunk/extensions/TwitterLogin/TwitterLogin.i18n.php 2011-10-09 18:32:42 UTC (rev 99361) @@ -22,3 +22,14 @@ 'twitterlogin-couldnotconnect' => 'Could not connect to Twitter. Refresh the page or try again later.' ); +/** Message Documentation + * @author David Raison + */ +$messages['qqq'] = array( + 'twitterlogin' => 'Link of the special page', + 'twitterlogin-signup' => 'Explains users they can register and sign up to the wiki with their twitter account. Used on specialpage default.', + 'twiterlogin-tietoaccount' => 'Message displayed on the default specialpage when a logged in user visits it. (NOT in use)', + 'twitterlogin-desc' => 'Description of the extension, see setup file', + 'twitterlogin-alreadyloggedin' => 'Message displayed on the default specialpage. tietoaccount replacement.', + 'twitterlogin-couldnotconnect' => 'Tell the user the connection to twitter oauth server did not work.' +); Modified: trunk/extensions/TwitterLogin/TwitterLogin.php =================================================================== --- trunk/extensions/TwitterLogin/TwitterLogin.php 2011-10-09 18:05:39 UTC (rev 99360) +++ trunk/extensions/TwitterLogin/TwitterLogin.php 2011-10-09 18:32:42 UTC (rev 99361) @@ -48,8 +48,12 @@ $wgHooks['UserLoadFromSession'][] = array($stl,'efTwitterAuth'); $wgHooks['UserLogoutComplete'][] = array($stl,'efTwitterLogout'); -function efSetupTwitterLoginSchema() { +function efSetupTwitterLoginSchema( $updater ) { $updater->addExtensionUpdate( array( 'addTable', 'twitter_user', - dirname(__FILE__) . '/twitter_user.sql', true ) ); + dirname(__FILE__) . '/schema/twitter_user.sql', true ) ); + $updater->addExtensionUpdate( array( 'modifyField', 'twitter_user','user_id', + dirname(__FILE__) . '/schema/twitter_user.patch.user_id.sql', true ) ); + $updater->addExtensionUpdate( array( 'modifyField', 'twitter_user','twitter_id', + dirname(__FILE__) . '/schema/twitter_user.patch.twitter_id.sql', true ) ); return true; } Added: trunk/extensions/TwitterLogin/schema/twitter_user.patch.twitter_id.sql =================================================================== --- trunk/extensions/TwitterLogin/schema/twitter_user.patch.twitter_id.sql (rev 0) +++ trunk/extensions/TwitterLogin/schema/twitter_user.patch.twitter_id.sql 2011-10-09 18:32:42 UTC (rev 99361) @@ -0,0 +1 @@ +ALTER TABLE `twitter_user` CHANGE `twitter_id` `tl_twitter_id` varchar(255); Added: trunk/extensions/TwitterLogin/schema/twitter_user.patch.user_id.sql =================================================================== --- trunk/extensions/TwitterLogin/schema/twitter_user.patch.user_id.sql (rev 0) +++ trunk/extensions/TwitterLogin/schema/twitter_user.patch.user_id.sql 2011-10-09 18:32:42 UTC (rev 99361) @@ -0,0 +1 @@ +ALTER TABLE `twitter_user` CHANGE `user_id` `tl_user_id` int(10) unsigned; Added: trunk/extensions/TwitterLogin/schema/twitter_user.sql =================================================================== --- trunk/extensions/TwitterLogin/schema/twitter_user.sql (rev 0) +++ trunk/extensions/TwitterLogin/schema/twitter_user.sql 2011-10-09 18:32:42 UTC (rev 99361) @@ -0,0 +1,6 @@ +CREATE TABLE IF NOT EXISTS `twitter_user` ( + `tl_user_id` int(10) unsigned NOT NULL, + `tl_twitter_id` varchar(255) NOT NULL, + PRIMARY KEY (`tl_user_id`), + UNIQUE KEY `tl_twitter_id` (`tl_twitter_id`) +); Deleted: trunk/extensions/TwitterLogin/twitter_user.sql =================================================================== --- trunk/extensions/TwitterLogin/twitter_user.sql 2011-10-09 18:05:39 UTC (rev 99360) +++ trunk/extensions/TwitterLogin/twitter_user.sql 2011-10-09 18:32:42 UTC (rev 99361) @@ -1,6 +0,0 @@ -CREATE TABLE IF NOT EXISTS `twitter_user` ( - `user_id` int(10) unsigned NOT NULL, - `twitter_id` varchar(255) NOT NULL, - PRIMARY KEY (`user_id`), - UNIQUE KEY `twitter_id` (`twitter_id`) -); _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs