[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fhMhEOORHolV6kVazIZsOua8YtxEHzINK0KNkdlhoM98":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":22,"download_link":23,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26,"vulnerabilities":27,"developer":28,"crawl_stats":25,"alternatives":34,"analysis":124,"fingerprints":468},"twitter-image-host","Twitter Image Host","0.6.1","michaeltyson","https:\u002F\u002Fprofiles.wordpress.org\u002Fmichaeltyson\u002F","\u003Cp>Keep your traffic in the family!  Host Twitter images on your own site, with support for comments and trackbacks, image\u003Cbr \u002F>\nresizing and thumbnailing with Lightbox.\u003C\u002Fp>\n\u003Cp>Twitter doesn’t yet come with its own inline image support, so we tend to be limited to using image hosting services,\u003Cbr \u002F>\nand linking to them with short URLs. So, services like Twitpic host the image, and we direct traffic to them in return.\u003C\u002Fp>\n\u003Cp>Better to take advantage of that traffic, and host images on your own site.  This way, viewers come to your site, instead\u003Cbr \u002F>\nof someone else’s!\u003C\u002Fp>\n\u003Cp>Posted images are displayed in your normal WordPress template, with support for comments and trackbacks, without any\u003Cbr \u002F>\nsetup required.  Most themes should work with this, but if not, or if a different layout is required, a custom theme template\u003Cbr \u002F>\ncan also be provided (see ‘Creating a Template’).\u003C\u002Fp>\n\u003Cp>Provides an HTML form for posting image content, as well as an API modelled on that of \u003Ca href=\"http:\u002F\u002Fimg.ly\u002Fpages\u002FAPI\" rel=\"nofollow ugc\">img.ly\u003C\u002Fa>,\u003Cbr \u002F>\ncompatible with Tweetie (for iPhone) and any other Twitter clients that speak this protocol and offer configuration of\u003Cbr \u002F>\ncustom image hosting services.\u003C\u002Fp>\n\u003Cp>Uses Twitter’s authentication and a list of authorised accounts, so you can let others use your image host too.  You can even\u003Cbr \u002F>\npost status updates to Twitter while submitting images.\u003C\u002Fp>\n\u003Cp>Provides a widget and shortcode to display uploaded images.  This supports filtering by Twitter account, styling with CSS,\u003Cbr \u002F>\nand Lightbox\u002FThickbox.\u003C\u002Fp>\n\u003Ch3>Widget\u003C\u002Fh3>\n\u003Cp>To use the widget, simply visit the Widgets page and drag the “Twitter Images” widget into a sidebar and configure it.\u003C\u002Fp>\n\u003Ch3>Shortcode\u003C\u002Fh3>\n\u003Cp>Shortcodes are snippets of text that can be inserted into pages and posts.  These snippets are replaced by various generated content.\u003Cbr \u002F>\nTwitter Image Host provides a ‘twitter-images’ shortcode to display images you have uploaded within a page\u002Fpost.\u003C\u002Fp>\n\u003Cp>Available parameters:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  count                    Number of items to display\n  id                       Single ID (eg 'abcde') of one image to display, or multiple IDs separated by commas (abcde,fghij)\n  view                     Image thumbnail view: squares, proportional, large or custom\n  custom_thumbnail_width   Custom width for thumbnails, when 'view' is 'custom'\n  custom_thumbnail_height  Custom width for thumbnails, when 'view' is 'custom'\n  custom_thumbnail_crop    Whether to crop custom thumbnails\n  author                   Comma-separated list of Twitter account names to limit results to\n  columns                  Number of columns of images to display \n  lightbox                 'true' to use Lightbox\u002FThickbox\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Example:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  [twitter-images columns=4 lightbox=\"true\"]\u003Ch3>PHP function\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>As well as the shortcode, you can also use call \u003Ccode>twitter_image_host_images()\u003C\u002Fcode> from within a template to\u003Cbr \u002F>\nproduce the same output.  Pass the same arguments as the shortcode as associative array values:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  \u003Ch3>Recently submitted images\u003C\u002Fh3>\n  \u003C?php twitter_image_host_images(array('author' => 'ATastyPixel', 'columns' => 6, 'lightbox' => true)); ?>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Tip: Use this in the \u003Ccode>twitter-image-host.php\u003C\u002Fcode> template (see ‘Creating a Single Template’, below) to display\u003Cbr \u002F>\nother posted images when viewing an image.  Use \u003Ccode>the_twitter_image_author()\u003C\u002Fcode> to filter the list, to show\u003Cbr \u002F>\nonly other submissions by the same Twitter account as the one of the currently displayed image.\u003C\u002Fp>\n\u003Ch3>Template Tags\u003C\u002Fh3>\n\u003Cp>This plugin provides several template tags, for use both in displaying single posts (see ‘Creating a Single Template’), and for custom pages which display\u003Cbr \u002F>\nmany posts in a loop (see ‘Using Template Tags in a Loop’).\u003C\u002Fp>\n\u003Cp>The available template tags are:\u003C\u002Fp>\n\u003Ch4>Single Entry Tags\u003C\u002Fh4>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_image_permalink\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Returns the URL to the view page\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_image_url\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Returns the full URL to the image, or the image thumbnail if the original image was large\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_full_image_url\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Returns the URL to the full-sized image, if one exists, or false otherwise\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_image_title\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>The title of the image\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_image_date\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>The date (timestamp) of the image – use date() to configure the display\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_image_author\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>The associated Twitter account\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>the_twitter_image\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Returns HTML to display the image and a link to the full-sized image if it exists, with Lightbox rel tags.\u003C\u002Fp>\n\u003Ch4>Loop Tags\u003C\u002Fh4>\n\u003Cp>\u003Cem>\u003Ccode>query_twitter_images\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Search for Twitter images\u003C\u002Fp>\n\u003Cp>Available parameters (passed as associative array):\u003C\u002Fp>\n\u003Cpre>\u003Ccode> count                    Number of items to display\n id                       Single ID (eg 'abcde') of one image to display, or multiple IDs separated by commas (abcde,fghij)\n author                   Comma-separated list of Twitter account names to limit results to\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cem>\u003Ccode>has_twitter_images\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Use with loop: Determine if there are more images\u003C\u002Fp>\n\u003Cp>\u003Cem>\u003Ccode>next_twitter_image\u003C\u002Fcode>\u003C\u002Fem>\u003C\u002Fp>\n\u003Cp>Use with loop: Get the next image\u003C\u002Fp>\n\u003Ch4>Creating a Single Template\u003C\u002Fh4>\n\u003Cp>By default, this plugin will use the standard post template (‘single.php’).  However, if you wish, you can create a\u003Cbr \u002F>\ncustom template to display hosted images.  The template should be called ‘twitter-image-host.php’, located within your\u003Cbr \u002F>\ncurrent theme directory.\u003C\u002Fp>\n\u003Cp>Creating a template to use this information is fairly straightforward if you have just a little knowledge of HTML or PHP:\u003C\u002Fp>\n\u003Col>\n\u003Cli>On your server (via an FTP program, etc.), navigate to your current theme.  This will live within \u003Ccode>wp-content\u002Fthemes\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Copy an existing template – \u003Ccode>single.php\u003C\u002Fcode> is usually a good candidate – and call it \u003Ccode>twitter-image-host.php\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Open up \u003Ccode>twitter-image-host.php\u003C\u002Fcode>, and delete everything that looks post-related: This usually includes everything between\u003Cbr \u002F>\nthe \u003Ccode>have_posts\u003C\u002Fcode> call and the matching \u003Ccode>endif\u003C\u002Fcode>, and may include some other surrounding content like an ‘Edit this post’ link.\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Replace that which you have just deleted with something that uses the ‘single entry’ template tags above, like the following:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003C?php echo the_twitter_image() ?>\n\u003Ch1 class=\"center\">\u003C?php echo the_twitter_image_title() ?>\u003C\u002Fh1>\n\u003Cp class=\"center\">\n    From \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002F\u003C?php echo the_twitter_image_author() ?>\">\u003C?php echo the_twitter_image_author() ?>\u003C\u002Fa>\n     on \u003C?php echo date('F jS, Y', the_twitter_image_date()) ?>\n\u003C\u002Fp>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Save the file, add some content (see the ‘Posting Images’ section), and see how it looks.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Using Template Tags in a Loop\u003C\u002Fh4>\n\u003Cp>Just like the WordPress Loop template tags, the template tags provided by this plugin can be used to display multiple posted entries.\u003Cbr \u002F>\nThis can be used to create a custom page template that lists all submitted entries, with more flexibility than that offered by the shortcode.\u003C\u002Fp>\n\u003Cp>Use begins with a call to \u003Ccode>query_twitter_images()\u003C\u002Fcode>, possibly with an argument to configure the search.  If the result is true, then the loop begins,\u003Cbr \u002F>\nconditional upon \u003Ccode>has_twitter_images()\u003C\u002Fcode>, and starting with \u003Ccode>next_twitter_image()\u003C\u002Fcode> to load the next entry.  The single template tags can then be used\u003Cbr \u002F>\nto customise the display of each entry.\u003C\u002Fp>\n\u003Cp>Here is an example of use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>  \u003C?php if ( query_twitter_images() ) : ?>\n      \u003C?php while ( has_twitter_images() ) : next_twitter_image(); ?>\n          \u003Cdiv class=\"item entry\">\n            \u003Cdiv class=\"itemhead\">\n              \u003Ch1>\u003Ca href=\"\u003C?php echo the_twitter_image_permalink() ?>\" rel=\"bookmark\">\u003C?php echo the_twitter_image_title(); ?>\u003C\u002Fa>\u003C\u002Fh1>\n              \u003Cdiv class=\"date\">\u003C?php echo date('F jS, Y', the_twitter_image_date()) ?>\u003C\u002Fdiv>\n            \u003C\u002Fdiv>\n\n            \u003C?php echo the_twitter_image() ?>\n            \u003Cp class=\"center\">From \u003Ca href=\"http:\u002F\u002Ftwitter.com\u002F\u003C?php echo the_twitter_image_author() ?>\">\u003C?php echo the_twitter_image_author() ?>\u003C\u002Fa>\u003C\u002Fp>\n            \u003C\u002Fdiv>\n      \u003C?php endwhile; ?>\n  \u003C?php else : ?>\n      \u003Cp>There are no Twitter images.\u003C\u002Fp>\n  \u003C?php endif; ?>\u003Ch3>Posting Images\u003C\u002Fh3>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>To start posting from your WordPress blog, select the “Twitter Image Host” menu item from the “Posts” administration section.\u003Cbr \u002F>\nEnter a title for your image, select your image file, hit Submit, and you will be given the URL for the image.  If you wish\u003Cbr \u002F>\nto tweet straight from this facility, you will need to follow the instructions from that page to set up the plugin.\u003C\u002Fp>\n\u003Cp>To access this facility from an application, use the access point displayed on the Twitter Image Host options page under “Settings”.\u003C\u002Fp>\n\u003Cp>The API is more-or-less the same as that of \u003Ca href=\"http:\u002F\u002Ftwitpic.com\u002Fapi.do\" rel=\"nofollow ugc\">TweetPic\u003C\u002Fa>, \u003Ca href=\"http:\u002F\u002Fimg.ly\u002Fpages\u002FAPI\" rel=\"nofollow ugc\">img.ly\u003C\u002Fa>, etc.\u003C\u002Fp>\n\u003Cp>To post from Twitter (Tweetie 2) for iPhone, visit Twitter\u002FTweetie’s settings, and within \u003Cem>Services, Image Service\u003C\u002Fem>, select ‘Custom’, then\u003Cbr \u002F>\nenter the API URL as listed on the options page.\u003C\u002Fp>\n\u003Ch3>Making the URL even shorter\u003C\u002Fh3>\n\u003Cp>If you run WordPress from a sub-directory (for example, http:\u002F\u002Fyour-site.com\u002Fblog), then the short URLs generated by this plugin will\u003Cbr \u002F>\nlook like \u003Ccode>http:\u002F\u002Fyour-site\u002Fblog\u002Fxxxxx\u003C\u002Fcode>.  You can remove that ‘blog’ component via a little \u003Ccode>.htaccess\u003C\u002Fcode> trickery.\u003C\u002Fp>\n\u003Cp>Here’s how:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create and open a new file in your site’s webroot called “.htaccess”. If there’s one already there, just open that up and prepare to edit at the bottom.\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Add the following, replacing ‘blog’ with the real subdirectory under which WordPress is installed:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>\u003CIfModule mod_rewrite.c>\nRewriteEngine On\nRewriteBase \u002F\nRewriteCond %{REQUEST_URI} ^\u002F([^\u002F]+)\u002F?$\nRewriteCond %{DOCUMENT_ROOT}\u002Fblog\u002Fwp-content\u002Ftwitter-image-host-content\u002F%1.jpg -f [OR]\nRewriteCond %{DOCUMENT_ROOT}\u002Fblog\u002Fwp-content\u002Ftwitter-image-host-content\u002F%1.png -f [OR]\nRewriteCond %{DOCUMENT_ROOT}\u002Fblog\u002Fwp-content\u002Ftwitter-image-host-content\u002F%1.jpeg -f\nRewriteRule (.*) \u002Fblog\u002F$1 [L]\n\u003C\u002FIfModule>\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will take any requests that:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Are located in the web-root (start with a slash, followed by anything but a slash until the end)\u003C\u002Fli>\n\u003Cli>Have a corresponding file within Twitter Image Host’s content directory\u003Cbr \u002F>\nThen, it’ll rewrite the request silently to the real Twitter Image Host URL, without the viewer seeing.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>In Twitter Image Host settings, set the ‘Override URL Prefix’ option to ‘http:\u002F\u002Fyour-site.com\u002F’\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>German Translation: \u003Ca href=\"http:\u002F\u002Fmb.walter.silvergeeks.com\u002F\" rel=\"nofollow ugc\">Walter Güldenberg\u003C\u002Fa>\u003C\u002Fp>\n","Host Twitter images from your blog and keep your traffic, rather than using a service like Twitpic and losing your viewers.",10,5822,0,"2011-08-07T19:11:00.000Z","3.2.1","3.0","",[19,20,21],"hosting","images","twitter","http:\u002F\u002Fatastypixel.com\u002Fblog\u002Fwordpress\u002Fplugins\u002Ftwitter-image-host","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftwitter-image-host.0.6.1.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":29,"total_installs":30,"avg_security_score":24,"avg_patch_time_days":31,"trust_score":32,"computed_at":33},3,160,30,84,"2026-04-05T17:55:36.898Z",[35,59,76,93,106],{"slug":36,"name":37,"version":38,"author":39,"author_profile":40,"description":41,"short_description":42,"active_installs":43,"downloaded":44,"rating":45,"num_ratings":46,"last_updated":47,"tested_up_to":48,"requires_at_least":49,"requires_php":50,"tags":51,"homepage":57,"download_link":58,"security_score":45,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"mightyshare","MightyShare – Auto-Generated Social Media Images","1.3.20","MightyShare","https:\u002F\u002Fprofiles.wordpress.org\u002Fmightyshare\u002F","\u003Ch3>MIGHTYSHARE: GENERATE SOCIAL SHARE OPEN GRAPH IMAGES\u003C\u002Fh3>\n\u003Cp>Automatically generate social share preview images (also known as Open Graph images) with \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmightyshare.io\u002F\" rel=\"nofollow ugc\">MightyShare\u003C\u002Fa>\u003C\u002Fstrong>! MightyShare takes your post title and featured image to generate a beautiful share image for your content. Compatible with posts, pages, and custom post types your social shares will look stunning in no time. Customize \u003Ca href=\"https:\u002F\u002Fmightyshare.io\u002Ftemplates\u002F\" rel=\"nofollow ugc\">templates\u003C\u002Fa> with your brand colors, logo, and more.\u003C\u002Fp>\n\u003Cp>To use the plugin you’ll need to \u003Ca href=\"https:\u002F\u002Fmightyshare.io\u002Fregister\u002F\" rel=\"nofollow ugc\">create a free MightyShare account\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>HOW DOES IT WORK?\u003C\u002Fh3>\n\u003Cp>MightyShare sends your post’s title, featured image, and post meta data to our server to generate a social share image on the fly using your API Key.\u003C\u002Fp>\n\u003Ch3>FEATURES\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatically generate social share images\u003C\u002Fstrong> for posts and pages!\u003C\u002Fli>\n\u003Cli>Perfect solution for branded social images.\u003C\u002Fli>\n\u003Cli>Robust customization.\u003C\u002Fli>\n\u003Cli>SEO plugin compatibility: Yoast SEO, RankMath, All in One SEO, The SEO Framework, Slim SEO, Squirrly SEO, and SEOPress.\u003C\u002Fli>\n\u003Cli>Adds open graph meta tags if you don’t have an SEO plugin.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple \u003Ca href=\"https:\u002F\u002Fmightyshare.io\u002Ftemplates\u002F\" rel=\"nofollow ugc\">templates\u003C\u002Fa>\u003C\u002Fstrong> to choose from.\u003C\u002Fli>\n\u003Cli>New templates added all the time!\u003C\u002Fli>\n\u003Cli>Works with custom post types.\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fmightyshare.io\u002Fdocs\u002Ffilters\u002F\" rel=\"nofollow ugc\">Developer hooks\u003C\u002Fa> for creating just about anything!\u003C\u002Fli>\n\u003Cli>Pick any Google Font to use in templates for paid plans.\u003C\u002Fli>\n\u003Cli>Option to screenshot pages themselves for social images.\u003C\u002Fli>\n\u003C\u002Ful>\n","Automatically generate social share preview images with MightyShare!",200,9628,100,4,"2025-04-09T01:23:00.000Z","6.8.5","5.4","7.4",[52,53,54,55,56],"open-graph","open-graph-images","social-media","social-preview","twitter-card","https:\u002F\u002Fmightyshare.io\u002Fwordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmightyshare.1.3.20.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":11,"downloaded":67,"rating":13,"num_ratings":13,"last_updated":68,"tested_up_to":69,"requires_at_least":70,"requires_php":17,"tags":71,"homepage":74,"download_link":75,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"advanced-twitter-widget","Advanced Twitter Widget","1.1.2","Ciprian Turcu","https:\u002F\u002Fprofiles.wordpress.org\u002Fciprian_vb\u002F","\u003Cp>Plugin Description:\u003Cbr \u002F>\nA widget that will enable visitors to add twitter account or return search results, with a custom number of maximum results per account\u002Fsearch. It’s easy to use , flexible and has multiple displays by two(so far) types of content. More will be added in future versions..\u003Cbr \u002F>\nUpdate: 1.0.1 Small design issue\u003Cbr \u002F>\nUpdate: 1.0.2 I’ve got 1 report of a error for a code that i replaced recently with a better one.\u003C\u002Fp>\n\u003Cp>DONATE!\u003Cbr \u002F>\n\u003Cbr \u002F>\u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_s-xclick&hosted_button_id=8322585\" rel=\"nofollow ugc\">DONATE HERE\u003C\u002Fa> – (any ammount using paypal or credit card)\u003Cbr \u002F>\u003C\u002Fp>\n","Widget that will enable visitors to give you\u002Fthe site a virtual beer by clicking on the widget.",8601,"2009-09-19T19:06:00.000Z","2.8.4","2.3",[20,72,21,73],"search","widget","http:\u002F\u002Fwww.appchain.com\u002Fadvanced-twitter-widget\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fadvanced-twitter-widget.zip",{"slug":77,"name":78,"version":79,"author":80,"author_profile":81,"description":82,"short_description":83,"active_installs":11,"downloaded":84,"rating":13,"num_ratings":13,"last_updated":85,"tested_up_to":86,"requires_at_least":70,"requires_php":17,"tags":87,"homepage":91,"download_link":92,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"tweetpress","TweetPress","3.2","brandontreb","https:\u002F\u002Fprofiles.wordpress.org\u002Fbrandontreb\u002F","\u003Cp>TweetPress is the WordPress Plug-In that gives you total control and ownership of the photos you post to Twitter, sending traffic back to your own blog, instead of a third party site.\u003C\u002Fp>\n\u003Cp>Currently, when posting photos to Twitter, you must first post them to a 3rd party service (such as Twitpic) and then post that URL to Twitter.  Not only do you lose control over YOUR image gallery, but you are also sending Twitpic a significant amount of traffic that could be sent to your own website.\u003C\u002Fp>\n\u003Cp>Just install the plugin, and start posting photos with your favorite Twitter client (that supports TweetPress).\u003C\u002Fp>\n\u003Cp>The current Twitter clients that support Tweetpress are Twittelator Pro and Twitter for iPhone\u003C\u002Fp>\n","Use your Wordpress blog to host the photos you post to Twitter!",10037,"2011-02-16T22:28:00.000Z","3.1.4",[88,89,90,21],"image-hosting","tweet","twitpic","http:\u002F\u002Fbrandontreb.com\u002Ftweetpress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftweetpress.3.2.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":83,"active_installs":11,"downloaded":100,"rating":13,"num_ratings":13,"last_updated":101,"tested_up_to":102,"requires_at_least":70,"requires_php":17,"tags":103,"homepage":104,"download_link":105,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"twitter2press","Twitter2Press","1.0.5","mathieulesniak","https:\u002F\u002Fprofiles.wordpress.org\u002Fmathieulesniak\u002F","\u003Cp>Have you ever noticed that the pictures you send along with your tweets ends on public images hosting services ? These hosting services put ads around your content, and can make traffic (and money) with YOUR pictures.\u003Cbr \u002F>\nTwitter2Press is a little plugin that’ll transform your WordPress in a image hosting service. So, your images will still be your property, and the generated traffic will be yours.\u003C\u002Fp>\n\u003Cp>This plugin will communicate with the wonderful Twitter client for iPhone Tweetie, very easily.\u003Cbr \u002F>\nOnce your picture has been uploaded, the plugin will grab the content of the associated tweet when it’s available.\u003C\u002Fp>\n\u003Cp>And, one more thing : Twitter2Press is free !\u003C\u002Fp>\n",3705,"2009-10-21T09:28:00.000Z","2.8.5",[88,89,90,21],"http:\u002F\u002Fprojets.lesniak.fr\u002Ftwitter2press","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftwitter2press.1.0.5.zip",{"slug":107,"name":108,"version":109,"author":110,"author_profile":111,"description":112,"short_description":113,"active_installs":13,"downloaded":114,"rating":13,"num_ratings":13,"last_updated":115,"tested_up_to":116,"requires_at_least":117,"requires_php":118,"tags":119,"homepage":122,"download_link":123,"security_score":24,"vuln_count":13,"unpatched_count":13,"last_vuln_date":25,"fetched_at":26},"simple-social-images","Simple Social Images","1.0","Highrise Digital","https:\u002F\u002Fprofiles.wordpress.org\u002Fhighrisedigital\u002F","\u003Cp>Simple Social Images automates the creation of branded, beautiful social images for your WordPress posts.\u003C\u002Fp>\n\u003Cp>⚠️\u003Cstrong>Important\u003C\u002Fstrong> – \u003Cem>for this plugin to work, it requires a paid Simple Social Images license in order to generate the images. \u003Ca href=\"https:\u002F\u002Fsimplesocialimages.com\" rel=\"nofollow ugc\">Purchase a license here\u003C\u002Fa>\u003C\u002Fem>.\u003C\u002Fp>\n\u003Cp>When you share a post, page or custom post type URL from your website on social networks, they will look for an image to display. Sometimes no image can be found. Sometimes the image is generic, irrelevant, unprofessional or just embarrasing!\u003C\u002Fp>\n\u003Cp>Custom sharing images \u003Cstrong>increase engagement\u003C\u002Fstrong> when you, or others, share your posts online.\u003C\u002Fp>\n\u003Cp>To solve this, many WordPress users will create their own images and upload them to WordPress. But this can be very time consuming to produce (e.g. using Canva) and difficult to maintain consistency.\u003C\u002Fp>\n\u003Cp>With Simple Social Images you can automate this process, getting the engagement that you want while saving time.\u003C\u002Fp>\n\u003Cp>How it works:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create your template using the Simple Social Images settings page, setting colours, fonts, logo, images and sizes\u003C\u002Fli>\n\u003Cli>Create and publish a post (also works for pages and custom post types)\u003C\u002Fli>\n\u003Cli>The plugin will create an image and save it to your WordPress Media Library\u003C\u002Fli>\n\u003Cli>The plugin will set the og:image tag to the URL of the custom image\u003C\u002Fli>\n\u003Cli>Share your post online and see your custom sharing image\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The images that are generated can be customised to suit your brand. You have control over:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Fonts\u003C\u002Fli>\n\u003Cli>Text sizes\u003C\u002Fli>\n\u003Cli>Colors\u003C\u002Fli>\n\u003Cli>Company logo and size\u003C\u002Fli>\n\u003Cli>Background images\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Our simple preview tool allows you to preview what you images will look like in the plugins settings page.\u003C\u002Fp>\n","Automatically generate beautiful and branded social sharing images for posts.",804,"2022-09-21T11:44:00.000Z","6.0.11","6.0","8.0",[52,120,54,121,21],"social-images","social-sharing","https:\u002F\u002Fsimplesocialimages.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-social-images.1.0.zip",{"attackSurface":125,"codeSignals":182,"taintFlows":341,"riskAssessment":451,"analyzedAt":467},{"hooks":126,"ajaxHandlers":173,"restRoutes":174,"shortcodes":175,"cronEvents":180,"entryPointCount":181,"unprotectedCount":13},[127,133,137,141,145,149,154,158,161,165,169],{"type":128,"name":129,"callback":130,"file":131,"line":132},"action","init","twitter_image_host_init","twitter-image-host.php",1275,{"type":128,"name":134,"callback":135,"file":131,"line":136},"plugins_loaded","twitter_image_host_run",1277,{"type":128,"name":138,"callback":139,"file":131,"line":140},"template_redirect","twitter_image_host_template_redirect",1278,{"type":128,"name":142,"callback":143,"file":131,"line":144},"admin_menu","twitter_image_host_initialise_displayed_image_admin",1279,{"type":128,"name":146,"callback":147,"file":131,"line":148},"admin_init","twitter_image_host_admin_init",1280,{"type":150,"name":151,"callback":152,"priority":11,"file":131,"line":153},"filter","the_posts","twitter_image_host_posts_filter",1282,{"type":150,"name":155,"callback":156,"priority":11,"file":131,"line":157},"page_link","twitter_image_host_post_link",1283,{"type":150,"name":159,"callback":156,"priority":11,"file":131,"line":160},"post_link",1284,{"type":150,"name":162,"callback":163,"priority":11,"file":131,"line":164},"edit_post_link","twitter_image_host_edit_post_link_filter",1285,{"type":150,"name":166,"callback":167,"priority":11,"file":131,"line":168},"author_link","twitter_image_host_author_link_filter",1286,{"type":150,"name":170,"callback":171,"file":131,"line":172},"the_author","twitter_image_host_the_author_filter",1287,[],[],[176],{"tag":177,"callback":178,"file":131,"line":179},"twitter-images","twitter_image_host_images_shortcode",1289,[],1,{"dangerousFunctions":183,"sqlUsage":194,"outputEscaping":196,"fileOperations":339,"externalRequests":13,"nonceChecks":13,"capabilityChecks":13,"bundledLibraries":340},[184,188,191],{"fn":185,"file":131,"line":186,"context":187},"create_function",567,"if ( !$name || !file_exists(IMAGE_HOST_FOLDER) || !($result=array_filter((array)glob(IMAGE_HOST_FOLD",{"fn":185,"file":131,"line":189,"context":190},604,"usort($files, create_function('$a, $b', 'return filemtime(IMAGE_HOST_FOLDER.\"\u002F$a\") \u003C filemtime(IMAGE",{"fn":185,"file":131,"line":192,"context":193},768,"usort($array, create_function('$a, $b', 'return strtotime($a->post_date) \u003C strtotime($b->post_date);",{"prepared":13,"raw":13,"locations":195},[],{"escaped":13,"rawEcho":197,"locations":198},80,[199,203,205,207,209,211,213,215,217,219,220,221,223,225,226,227,229,231,232,233,235,237,238,239,241,242,244,246,247,249,251,252,254,256,257,259,261,262,263,265,267,268,269,271,273,274,276,278,279,281,283,285,286,287,289,290,292,294,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,329,331,333,335,337],{"file":200,"line":201,"context":202},"class.rsp.php",27,"raw output",{"file":200,"line":204,"context":202},32,{"file":131,"line":206,"context":202},431,{"file":131,"line":208,"context":202},433,{"file":131,"line":210,"context":202},439,{"file":131,"line":212,"context":202},531,{"file":131,"line":214,"context":202},532,{"file":131,"line":216,"context":202},534,{"file":131,"line":218,"context":202},537,{"file":131,"line":218,"context":202},{"file":131,"line":218,"context":202},{"file":131,"line":222,"context":202},973,{"file":131,"line":224,"context":202},974,{"file":131,"line":224,"context":202},{"file":131,"line":224,"context":202},{"file":131,"line":228,"context":202},977,{"file":131,"line":230,"context":202},978,{"file":131,"line":230,"context":202},{"file":131,"line":230,"context":202},{"file":131,"line":234,"context":202},982,{"file":131,"line":236,"context":202},983,{"file":131,"line":236,"context":202},{"file":131,"line":236,"context":202},{"file":131,"line":240,"context":202},986,{"file":131,"line":240,"context":202},{"file":131,"line":243,"context":202},987,{"file":131,"line":245,"context":202},988,{"file":131,"line":245,"context":202},{"file":131,"line":248,"context":202},989,{"file":131,"line":250,"context":202},990,{"file":131,"line":250,"context":202},{"file":131,"line":253,"context":202},991,{"file":131,"line":255,"context":202},992,{"file":131,"line":255,"context":202},{"file":131,"line":258,"context":202},993,{"file":131,"line":260,"context":202},996,{"file":131,"line":260,"context":202},{"file":131,"line":260,"context":202},{"file":131,"line":264,"context":202},997,{"file":131,"line":266,"context":202},998,{"file":131,"line":266,"context":202},{"file":131,"line":266,"context":202},{"file":131,"line":270,"context":202},999,{"file":131,"line":272,"context":202},1000,{"file":131,"line":272,"context":202},{"file":131,"line":275,"context":202},1001,{"file":131,"line":277,"context":202},1002,{"file":131,"line":277,"context":202},{"file":131,"line":280,"context":202},1003,{"file":131,"line":282,"context":202},1007,{"file":131,"line":284,"context":202},1008,{"file":131,"line":284,"context":202},{"file":131,"line":284,"context":202},{"file":131,"line":288,"context":202},1012,{"file":131,"line":288,"context":202},{"file":131,"line":291,"context":202},1013,{"file":131,"line":293,"context":202},1056,{"file":131,"line":295,"context":202},1072,{"file":131,"line":297,"context":202},1074,{"file":131,"line":299,"context":202},1079,{"file":131,"line":301,"context":202},1082,{"file":131,"line":303,"context":202},1094,{"file":131,"line":305,"context":202},1096,{"file":131,"line":307,"context":202},1104,{"file":131,"line":309,"context":202},1138,{"file":131,"line":311,"context":202},1155,{"file":131,"line":313,"context":202},1157,{"file":131,"line":315,"context":202},1160,{"file":131,"line":317,"context":202},1208,{"file":131,"line":319,"context":202},1212,{"file":131,"line":321,"context":202},1217,{"file":131,"line":323,"context":202},1223,{"file":131,"line":325,"context":202},1226,{"file":131,"line":327,"context":202},1241,{"file":131,"line":327,"context":202},{"file":131,"line":330,"context":202},1243,{"file":131,"line":332,"context":202},1247,{"file":131,"line":334,"context":202},1249,{"file":131,"line":336,"context":202},1252,{"file":131,"line":338,"context":202},1255,17,[],[342,376,409],{"entryPoint":343,"graph":344,"unsanitizedCount":374,"severity":375},"twitter_image_host_server (twitter-image-host.php:224)",{"nodes":345,"edges":369},[346,351,357,360,364],{"id":347,"type":348,"label":349,"file":131,"line":350},"n0","source","$_REQUEST",239,{"id":352,"type":353,"label":354,"file":131,"line":355,"wp_function":356},"n1","sink","update_option() [Settings Manipulation]",248,"update_option",{"id":358,"type":348,"label":349,"file":131,"line":359},"n2",355,{"id":361,"type":362,"label":363,"file":131,"line":359},"n3","transform","→ twitter_image_host_error()",{"id":365,"type":353,"label":366,"file":131,"line":367,"wp_function":368},"n4","header() [Header Injection]",396,"header",[370,372,373],{"from":347,"to":352,"sanitized":371},false,{"from":358,"to":361,"sanitized":371},{"from":361,"to":365,"sanitized":371},2,"medium",{"entryPoint":377,"graph":378,"unsanitizedCount":408,"severity":375},"twitter_image_host_posts_page (twitter-image-host.php:1130)",{"nodes":379,"edges":402},[380,382,385,387,388,390,392,395,397,400],{"id":347,"type":348,"label":381,"file":131,"line":317},"$_REQUEST['statusid']",{"id":352,"type":353,"label":383,"file":131,"line":317,"wp_function":384},"echo() [XSS]","echo",{"id":358,"type":348,"label":386,"file":131,"line":319},"$_REQUEST['url']",{"id":361,"type":353,"label":383,"file":131,"line":319,"wp_function":384},{"id":365,"type":348,"label":389,"file":131,"line":321},"$_REQUEST['error']",{"id":391,"type":353,"label":383,"file":131,"line":321,"wp_function":384},"n5",{"id":393,"type":348,"label":394,"file":131,"line":325},"n6","$_REQUEST['title']",{"id":396,"type":353,"label":383,"file":131,"line":325,"wp_function":384},"n7",{"id":398,"type":348,"label":399,"file":131,"line":327},"n8","$_REQUEST['message']",{"id":401,"type":353,"label":383,"file":131,"line":327,"wp_function":384},"n9",[403,404,405,406,407],{"from":347,"to":352,"sanitized":371},{"from":358,"to":361,"sanitized":371},{"from":365,"to":391,"sanitized":371},{"from":393,"to":396,"sanitized":371},{"from":398,"to":401,"sanitized":371},5,{"entryPoint":410,"graph":411,"unsanitizedCount":11,"severity":375},"\u003Ctwitter-image-host> (twitter-image-host.php:0)",{"nodes":412,"edges":441},[413,414,415,418,419,422,423,424,425,426,427,429,431,433,435,437,439],{"id":347,"type":348,"label":349,"file":131,"line":350},{"id":352,"type":353,"label":354,"file":131,"line":355,"wp_function":356},{"id":358,"type":348,"label":416,"file":131,"line":417},"$_FILES",335,{"id":361,"type":353,"label":383,"file":131,"line":224,"wp_function":384},{"id":365,"type":348,"label":420,"file":131,"line":421},"$_REQUEST (x3)",349,{"id":391,"type":353,"label":383,"file":131,"line":236,"wp_function":384},{"id":393,"type":348,"label":386,"file":131,"line":319},{"id":396,"type":353,"label":383,"file":131,"line":319,"wp_function":384},{"id":398,"type":348,"label":389,"file":131,"line":321},{"id":401,"type":353,"label":383,"file":131,"line":321,"wp_function":384},{"id":428,"type":348,"label":394,"file":131,"line":325},"n10",{"id":430,"type":353,"label":383,"file":131,"line":325,"wp_function":384},"n11",{"id":432,"type":348,"label":399,"file":131,"line":327},"n12",{"id":434,"type":353,"label":383,"file":131,"line":327,"wp_function":384},"n13",{"id":436,"type":348,"label":349,"file":131,"line":359},"n14",{"id":438,"type":362,"label":363,"file":131,"line":359},"n15",{"id":440,"type":353,"label":366,"file":131,"line":367,"wp_function":368},"n16",[442,443,444,445,446,447,448,449,450],{"from":347,"to":352,"sanitized":371},{"from":358,"to":361,"sanitized":371},{"from":365,"to":391,"sanitized":371},{"from":393,"to":396,"sanitized":371},{"from":398,"to":401,"sanitized":371},{"from":428,"to":430,"sanitized":371},{"from":432,"to":434,"sanitized":371},{"from":436,"to":438,"sanitized":371},{"from":438,"to":440,"sanitized":371},{"summary":452,"deductions":453},"The twitter-image-host v0.6.1 plugin exhibits a mixed security posture. While it demonstrates good practices by exclusively using prepared statements for SQL queries and having no recorded vulnerabilities, several concerning aspects were identified during static analysis.  A significant weakness lies in its output escaping, with 0% of outputs being properly escaped, potentially leading to cross-site scripting (XSS) vulnerabilities if user-supplied data is ever displayed without sanitization.  Furthermore, the use of the deprecated and dangerous `create_function` function three times introduces a significant risk, as this function can be exploited to execute arbitrary PHP code. The taint analysis, though limited in scope, found three flows with unsanitized paths, indicating a potential for input manipulation, although these were not classified as critical or high severity. The plugin has a limited attack surface with only one entry point (a shortcode), and importantly, no unprotected AJAX or REST API endpoints were found.",[454,457,460,463,465],{"reason":455,"points":456},"No proper output escaping found",8,{"reason":458,"points":459},"Use of dangerous function: create_function",15,{"reason":461,"points":462},"Unsanitized paths in taint flows",6,{"reason":464,"points":408},"No nonce checks implemented",{"reason":466,"points":408},"No capability checks implemented","2026-03-17T01:32:59.123Z",{"wat":469,"direct":474},{"assetPaths":470,"generatorPatterns":471,"scriptPaths":472,"versionParams":473},[],[],[],[],{"cssClasses":475,"htmlComments":477,"htmlAttributes":478,"restEndpoints":479,"jsGlobals":481,"shortcodeOutput":482},[476],"twitter_image",[],[],[480],"\u002Ftwitter-image-host\u002F",[],[]]