Twitter
Tweet field, search widget, and authenticated Twitter API requests for Craft CMS.

Twitter Changelog

#

Version 2.1.5

Added

  • Added environment variables support for the OAuth consumer key and secret.

Changed

  • OAuth tokens are now stored in a twitter_accounts table instead of in the plugin’s settings.
  • Deprecated \dukt\twitter\models\Settings::$token.
  • Deprecated \dukt\twitter\models\Settings::$tokenSecret.
  • Updated league/oauth1-client to 1.9.
  • Updated guzzlehttp/oauth-subscriber to 0.4.

Fixed

  • Fixed the icon of the Search widget.
  • Fixed a bug where the plugin was not working properly with Guzzle 7. (#27)
#

Version 2.1.4

#

Version 2.1.3

Added

  • Added a craft.twitter.parseTweetData() method which parses tweet data and returns a Tweet model.
  • Added dukt\twitter\web\twig\variables\TwitterVariable::parseTweetData().
  • Added dukt\twitter\services\Api::parseTweetData().

Fixed

  • Fixed a bug where a missing namespace was preventing the Publish service from working properly. (#13)
#

Version 2.1.2

Fixed

  • Fixed Craft 3 upgrade migration.
#

Version 2.1.1

Changed

  • Use Craft::createGuzzleClient() to instantiate Guzzle clients.
  • Improved exception handling when requesting the preview of a tweet for a tweet field.

Fixed

  • Fixed a bug where the plugin may cause Twig to be loaded before it should be, and another bug where the extension might not be available if the Template Mode ever changes from CP to Site, or vise-versa. (#9)
#

Version 2.1.0

Changed

  • The Tweet field now returns a tweet URL instead of a Tweet model.
  • The Tweet model’s attributes and methods have changed.
  • Merged getTweetById() and getTweetByUrl() methods into a single getTweet().
  • craft.twitter.get() now returns the data encapulsated into a response array in case of success and failure.
  • Renamed dukt\twitter\controllers\ApiController to dukt\twitter\controllers\FieldsController.
  • Removed dukt\twitter\helpers\TwitterHelper::formatTime().
  • Removed dukt\twitter\web\twig\variables\TwitterVariable::getUserImageUrl().
  • Removed dukt\twitter\web\twig\Extension::embedTweet().
  • Removed dukt\twitter\services\Twitter::embedTweet().
  • Updated nojimage/twitter-text-php dependency to ^2.0.

Fixed

  • Fixed a bug where the Tweet field would throw an error when trying to show a deleted tweet. (#7)
  • Fixed a bug where the links generated by the autoLinkTweet Twig filter could be wrong.
#

Version 2.0.1

Added

  • Added support for 280-character tweets.
  • Added searchWidgetExtraQuery config setting.
  • Added noOpener option to the autoLinkTweet twig filter. (#5)
  • Added noopener support to dukt\twitter\lib\AutoLink.

Changed

  • Updated to require craftcms/cms ^3.0.0-RC1.
  • Changed rounded profile images to circle profile images.
  • Search widget is now filtering retweets by default.
#

Version 2.0.0

Added

  • Craft 3 compatibility.
  • Added support section to composer.json.
  • Schema Version 1.0.0.
  • Added craftcms/cms dependency.
  • Added league/oauth1-client dependency.
  • Added guzzlehttp/oauth-subscriber dependency.
  • Added Tweet model.
  • Added dukt\twitter\services\Api::getClient().
  • Added dukt\twitter\services\Api::saveOriginalUserProfileImage().
  • Added dukt\twitter\helpers\TwitterHelper::extractTweetId().
  • Added dukt\twitter\helpers\TwitterHelper::getUserProfileImageResourceUrl().

Changed

  • The $cacheExpire parameter is now null instead of being set to 0 for the \Craft\Twitter_ApiService::get() method.
  • The $cacheExpire parameter is now null instead of being set to 0 for the \Craft\TwitterVariable::get() method.
  • Cache keys are now limited to 32 characters.
  • Improved dukt\twitter\services\Api::get() parameters.
  • Improved dukt\twitter\web\twig\variables\TwitterVariable::get() params.
  • Moved dukt\twitter\services\Twitter::extractTweetId() to dukt\twitter\helpers\TwitterHelper::extractTweetId().
  • Moved dukt\twitter\services\Twitter::getTweetById() to dukt\twitter\services\Api::getTweetById().
  • Moved dukt\twitter\services\Twitter::getTweetByUrl() to dukt\twitter\services\Api::getTweetByUrl().
  • Moved dukt\twitter\services\Twitter::getUserById() to dukt\twitter\services\Api::getUserById().
  • Renamed dukt\twitter\web\twig\variables\TwitterVariable::getUserImageUrl() to dukt\twitter\web\twig\variables\TwitterVariable::getUserProfileImageResourceUrl().

Fixed

  • Fixed bug with dukt\twitter\lib\AutoLink::autoLinkEntities() method definition.
  • Fixed cache path.
  • Fixed an issue where \Craft\Twitter_ApiService was relying on \Craft\FileCache instead of \Craft\Twitter_CacheService for caching.
  • Fixed an issue where the cache duration was not properly calculated into seconds.
  • Fixed a bug where dukt\twitter\services\Api::get() wouldn’t take the enableCache config into account.

Removed

  • Removed dukt/oauth dependency.
  • Removed dukt\twitter\services\Api::request().
#

Version 2.0.0-beta.5

Fixed

  • Fixed bug with dukt\twitter\lib\AutoLink::autoLinkEntities() method definition.
  • Fixed user profile images for Craft 3.0.0-beta.27 which doesn’t support resource URLs anymore.
#

Version 2.0.0-beta.4

Improved

  • Update widget types for Craft 3.

Fixed

  • Fixed Tweet field for Craft 3.
#

Version 2.0.0-beta.3

Added

  • Added support section to composer.json.

Improved

#

Version 2.0.0-beta.2

Improved

  • Renamed $hasSettings to $hasCpSettings in \dukt\twitter\Plugin.
  • Updated config settings for Craft 3.0.0-beta.8+.
  • The $cacheExpire parameter is now null instead of being set to 0 for the \Craft\Twitter_ApiService::get() method.
  • The $cacheExpire parameter is now null instead of being set to 0 for the \Craft\TwitterVariable::get() method.

Fixed

  • Fixed a bug that prevented the plugin from setting cache values
  • Fixed cache path
  • Fixed an issue where \Craft\Twitter_ApiService was relying on \Craft\FileCache instead of \Craft\Twitter_CacheService for caching.
  • Fixed an issue where the cache duration was not properly calculated into seconds.
#

Version 2.0.0-beta.1

Added

  • Craft 3 compatibility.
  • Schema Version 1.0.0.
  • Added craftcms/cms dependency.
  • Added league/oauth1-client dependency.
  • Added guzzlehttp/oauth-subscriber dependency.
  • Added Tweet model.
  • Added dukt\twitter\services\Api::getClient().
  • Added dukt\twitter\services\Api::saveOriginalUserProfileImage().
  • Added dukt\twitter\helpers\TwitterHelper::extractTweetId().
  • Added dukt\twitter\helpers\TwitterHelper::getUserProfileImageResourceUrl().

Changed

  • Cache keys are now limited to 32 characters.
  • Improved dukt\twitter\services\Api::get() parameters.
  • Improved dukt\twitter\web\twig\variables\TwitterVariable::get() params.
  • Moved dukt\twitter\services\Twitter::extractTweetId() to dukt\twitter\helpers\TwitterHelper::extractTweetId()
  • Moved dukt\twitter\services\Twitter::getTweetById() to dukt\twitter\services\Api::getTweetById()
  • Moved dukt\twitter\services\Twitter::getTweetByUrl() to dukt\twitter\services\Api::getTweetByUrl()
  • Moved dukt\twitter\services\Twitter::getUserById() to dukt\twitter\services\Api::getUserById()
  • Renamed dukt\twitter\web\twig\variables\TwitterVariable::getUserImageUrl() to dukt\twitter\web\twig\variables\TwitterVariable::getUserProfileImageResourceUrl().

Fixed

  • Fixed a bug where dukt\twitter\services\Api::get() wouldn’t take the enableCache config into account.

Removed

  • Removed dukt/craft-oauth dependency.
  • Removed dukt\twitter\services\Api::request().
#

Version 1.1.2

Added

  • Schema Version 1.0.0.
  • The plugin can now be installed with composer via composer require dukt/craft-twitter.

Improved

  • Updated nojimage/twitter-text-php dependency.
#

Version 1.1.1

Improved

  • Improved search keywords for the Tweet field type.

Fixed

  • Fixed API caching and removed deprecated disableCache config.
#

Version 1.1.0

Added

  • Added cacheDuration config.
  • Added twitterFollowButton() Twig function.
  • Added twitterGrid() Twig function.
  • Added twitterMessageButton() Twig function.
  • Added twitterMoment() Twig function.
  • Added twitterTimeline() Twig function.
  • Added twitterTweet() Twig function.
  • Added twitterTweetButton() Twig function.
  • Added twitterVideo() Twig function.
  • Added docs URL to the Settings page.

Improved

  • Improved plugin description.
  • Removed Twitter_TweetFieldType::prepValueFromPost().
  • Replaced disableCache config by enableCache.
  • Tweet field now accepts a tweet URL or a tweet ID.

Fixed

  • Fixed tweet’s permalink.
#

Version 1.0.32

Added

  • Added a permanent link to tweets.

Improved

  • Now using the bigger Twitter profile image instead of the normal one.
  • Removed unused disableSave.css.
  • Renamed tweet.css to twitter.css.
  • The user's name and the profile image are now clickable in the Search widget.
  • Tweets are now clickable in the Search widget.
#

Version 1.0.31

Added

  • Added time ago to tweet preview in Tweet field.
  • Added TwitterHelper::timeAgo().
  • Added TwitterPlugin::getDescription().
  • Added TwitterPlugin::getReleaseFeedUrl().
  • Added twitterTimeAgo twig filter.

Improved

  • Formatting tweet dates as time ago in Search widget.
  • Removed colspan from Search widget settings.
  • Removed Twitter_SearchWidget::getColspan().
  • Improved time ago calculation.
  • Moved TwitterController::actionSettings() to Twitter_SettingsController::actionIndex().
  • Now using PHP Traits for checking plugin dependencies.
  • Now using secure profile image urls by default.

Fixed

  • Fixed the link to Twitter's OAuth provider configuration.
#

Version 1.0.30

Added

  • Added TwitterPlugin::getDocumentationUrl().

Improved

  • Moved Twitter_PluginController::actionInstall() to Twitter_InstallController:: actionIndex().
  • Removed TwitterHelper::log().
  • Twitter now has its own log files.

Fixed

  • Fixed link to Twitter OAuth settings.
#

Version 1.0.29

Improved

  • Removed dependency auto download and install.
  • Removed deprecated CSS resources.

Fixed

  • Fixed an issue with dependency checker.
#

Version 1.0.28

Added

  • Added support for OAuth 1.0+.
  • Added support for Craft CMS 2.5.
  • Added plugin icons.
  • Added TwitterHelper.
  • Added icon for Search widget.
  • Added Twitter_ApiService.
  • Added Twitter_CacheService.
  • Added Twitter_OauthService.

Improved

  • Now using TwitterPlugin::getSettingsUrl() instead of TwitterPlugin::getSettingsHtml()'s redirect method for specifying plugin's settings URL.
  • Improved Twitter Search widget error handling.
  • Improved Twitter_TweetFieldType to display light errors.
  • Removed TwitterVariable::setToken().
  • Removed TwitterVariable::getToken().
  • Moved TwitterService::api() to Twitter_ApiService::api().
  • Moved TwitterService::checkDependencies() to Twitter_PluginService::checkDependencies().
  • Moved TwitterService::deleteToken() to Twitter_OauthService::deleteToken().
  • Moved TwitterService::get() to Twitter_ApiService::get().
  • Moved TwitterService::getToken() to Twitter_OauthService::getToken().
  • Moved TwitterService::saveToken() to Twitter_OauthService::saveToken().
  • Removed TwitterService::setToken().
  • Removed Twitter_OauthController::scope.
  • Removed Twitter_OauthController::params.
  • Moved TwitterController::actionConnect() to Twitter_OauthController::actionConnect().
  • Moved TwitterController::actionDisconnect() to Twitter_OauthController::actionDisconnect().

Fixed

  • Fixed Settings URL in templates.
  • Fixed a bug with token in Twitter_ApiService::request().
#

Version 0.9.25

Added

  • Added TwitterPluginController.
  • Added Twitter_PluginService.

Improved

  • Plugin now requires OAuth 0.9.70+.
  • Logging error when unable to get an account.
  • Renamed Twitter Tweets widget to Twitter Search.
  • Improved Tweets widget to display a message when no tweets are found.
  • Improved example templates.
  • Improved plugin settings.

Fixed

  • Twitter Search widget is now showing a notice when search query is missing.
  • Fixed a bug where tweet id was sometimes turned into a float.
#

Version 0.9.13

Added

  • Added AnalyticsPlugin::getRequiredPlugins().
  • Added AnalyticsPlugin::getPluginDependencies().
  • Added AnalyticsPlugin::getPluginDependency().
  • Added dependency checker to check dependencies with other plugins.
  • Added Tweets widgets to display recent tweets from a Twitter search.

Improved

  • The plugin now requires OAuth 0.9.63 or above.
  • Updated Recent Tweets example.
  • Improved settings templates.
  • Improved the way a token is deleted: deleting the token instead of setting it to null.
  • Improved the way Twitter plugin is getting back to the page which initiated the connect action.
  • Token providerHandle and pluginHandle are now automatically populated in token response.
#

Version 0.9.10

Added

  • Added autoLinkTweet twig filter.
  • Added embedTweet twig function.
  • Added Auto-Linking Tweets templating example.
  • Added Embedded Tweets templating example.
  • Added twitter-text-php library.

Improved

  • Disabled cache by default.

Fixed

  • Fixed bug with cache keys.
#

Version 0.9.9

Added

  • Added support for new OAuth authentication logic.
#

Version 0.9.5

Added

  • Added support for Twitter URL containing "statuses".

Fixed

  • Fixed a bug where tweet user link was displaying blue instead of grey.
#

Version 0.9.4

Added

  • Added example templates.
  • Added craft.twitter.getUserById(userId, params).
  • Added craft()->twitter->api($method, $uri, $params, $headers, $postFields).
  • Added cache handling to craft.twitter.get().
  • Added cache handling to craft()->twitter->get().

Improved

  • Improved craft.twitter.get() arguments : craft.twitter.get(uri, params, headers, enableCache, cacheExpire).
  • Improved craft()->twitter->get() arguments : craft()->twitter->get($uri, $params, $headers, $enableCache, $cacheExpire).
  • Prevent getSettingsHtml from being called if on settings/plugins listing page.
#

Version 0.9.3

Added

  • Public Beta.