[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fLygZIS-8hjmGmariATrO8FhsO1QPcLJHBq-yTsdNGnY":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":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":35,"analysis":125,"fingerprints":461},"simple-graph","Simple Graph","1.0.5","pacius","https:\u002F\u002Fprofiles.wordpress.org\u002Fpacius\u002F","\u003Cp>Draws a graph of single set of date related data. Graph can be made public (i.e. sidebar widget or static page) and the data can be manipulated through dashboard. Many people use this plugin for weight tracking on their blogs (as do I), but it has been used for many other things as well. Only requirement – or rather a constraint – is that the horizontal axis of the graph shows dates. The vertical axis can hold any values. Each user can have their own graphs, which can be easily inserted in posts and pages.\u003C\u002Fp>\n\u003Ch3>Content filter\u003C\u002Fh3>\n\u003Cp>If you want to insert a graph in posts and\u002For pages, simply write a string similar to following in your post or page.\u003C\u002Fp>\n\u003Cp>[[simple-graph n=1 x=0 y=0 trend=0 wkly=0 lm=0 ytd=0 uid=0 gid=0 ]]\u003C\u002Fp>\n\u003Cp>Just replace the values as you wish. The ones above are default values, and if you don’t need to change the default value, you can simply omit that value from the string. I.e. [[simple-graph]] alone produces the graph with default values drawn from widget setup.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>n is number of widget options, from where default options (such as colours) are drawn\u003C\u002Fli>\n\u003Cli>x is width, any positive value is acceptable\u003C\u002Fli>\n\u003Cli>y is height, any positive value is acceptable\u003C\u002Fli>\n\u003Cli>trend is whether trend graph is shown, 0 = no, 1 = yes\u003C\u002Fli>\n\u003Cli>wkly is whether weekly averages are shown, 0 = no, 1 = yes\u003C\u002Fli>\n\u003Cli>lm is whether only values from last month are shown, 0 = no, 1 = yes\u003C\u002Fli>\n\u003Cli>ytd is whether only values from last year are shown, 0 = no, 1 = yes\u003C\u002Fli>\n\u003Cli>uid is user ID of the graph owner (see WordPress dashboard -> Users)\u003C\u002Fli>\n\u003Cli>gid is user-specific graph number, same as in widget control panel’s graph# selection\u003C\u002Fli>\n\u003C\u002Ful>\n","Draws a line graph of single set of date related data. Graph can be made public (i.e. sidebar widget or static page) and the data can be edited throug &hellip;",20,9607,0,"2011-03-18T04:34:00.000Z","2.3.1","2.0.1","",[19,20,21,22,23],"chart","google-chart-api","graph","weight-loss","widget","http:\u002F\u002Fwww.pasi.fi\u002Fsimple-graph-wordpress-plugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fsimple-graph.1.0.5m.zip",85,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,84,"2026-04-04T18:59:43.902Z",[36,59,78,94,107],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":33,"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":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"charts-and-graphs-for-elementor","Charts and Graphs for Elementor","1.2.2","redlettuce","https:\u002F\u002Fprofiles.wordpress.org\u002Fredlettuce\u002F","\u003Cp>Create beautiful, interactive charts with Graphs & Charts.\u003C\u002Fp>\n\u003Cp>A very user-friendly Elementor addons to create beautiful, interactive charts and graphs. It’s completely free to use.\u003C\u002Fp>\n\u003Cp>The addons currently support 6 chart types.\u003Cbr \u002F>\n– Line\u003Cbr \u002F>\n– Bar\u003Cbr \u002F>\n– Horizontal Bar\u003Cbr \u002F>\n– Pie\u003Cbr \u002F>\n– Doughnut\u003Cbr \u002F>\n– Polar\u003C\u002Fp>\n","Create beautiful, interactive charts with Graphs & Charts",200,14086,9,"2021-05-10T15:54:00.000Z","5.7.15","5.0","7.1",[52,53,54,55,56],"block","charts","elementor","elementor-widget","graphs","https:\u002F\u002Fredlettuce.com\u002Fcharts-and-graphs-for-elementor","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fcharts-and-graphs-for-elementor.zip",{"slug":60,"name":61,"version":62,"author":63,"author_profile":64,"description":65,"short_description":66,"active_installs":67,"downloaded":68,"rating":69,"num_ratings":31,"last_updated":70,"tested_up_to":71,"requires_at_least":72,"requires_php":17,"tags":73,"homepage":76,"download_link":77,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"fotherplot","Fotherplot","0.0.9","Tom Fotherby","https:\u002F\u002Fprofiles.wordpress.org\u002Ftfotherby\u002F","\u003Cp>After \u003Ca href=\"http:\u002F\u002Fwww.tomfotherby.com\u002Fblog\u002Findex.php\u002F2009\u002F01\u002Fhow-to-plot-dates-in-google-charts-api\u002F\" title=\"A post from  my blog\" rel=\"nofollow ugc\">working out how to plot time-based data using Google charts API\u003C\u002Fa>, I created a WordPress plugin to plot values stored in a custom field against the published-on date of WordPress blog posts that use the field.\u003C\u002Fp>\n\u003Ch3>Usage Example\u003C\u002Fh3>\n\u003Cp>I use this plugin to keep a track of my weight. I have a private WordPress journal with a custom field called “Weight (kgs)” and each week when I make my journal entry I fill in my weight in this custom field. I have page called “My Weight” which is empty but uses the \u003Cstrong>Fotherplot\u003C\u002Fstrong> Template.\u003C\u002Fp>\n\u003Cp>The plugin outputs \u003Ca href=\"http:\u002F\u002Fchart.apis.google.com\u002Fchart?&cht=lxy&chs=450x300&chma=10,10,10,10&chds=0,364,98.9,116.1&chg=0,5&chxt=y,x&chxl=0:|98.9|102.34|105.78|109.22|112.66|116.1|1:|20\u002FJan\u002F08|11\u002FFeb\u002F08|17\u002FJul\u002F08|18\u002FOct\u002F08|10\u002FJan\u002F09&chm=D,FF0000,0,-1,1|o,000000,0,-1,4|N,000000,0,-1,9&chd=t:0,8,15,22,50,79,180,224,263,273,290,350,357,364|103.4,102.9,102.3,100.9,99.3,98.9,103.4,110.5,112.9,109.7,110,116.1,113.4,110.67\" title=\"Generated from Google Charts API\" rel=\"nofollow ugc\">a image\u003C\u002Fa> and a list of the relevant data, example:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>January 17, 2009: 110.67kgs\u003C\u002Fli>\n\u003Cli>January 10, 2009: 113.4kgs\u003C\u002Fli>\n\u003Cli>January 3, 2009: 116.1kgs\u003C\u002Fli>\n\u003Cli>November 5, 2008: 110kgs\u003C\u002Fli>\n\u003Cli>October 18, 2008: 109.7kgs\u003C\u002Fli>\n\u003Cli>October 8, 2008: 112.9kgs\u003C\u002Fli>\n\u003Cli>August 30, 2008: 110.5kgs\u003C\u002Fli>\n\u003Cli>July 17, 2008: 103.4kgs\u003C\u002Fli>\n\u003Cli>April 8, 2008: 98.9kgs\u003C\u002Fli>\n\u003Cli>March 10, 2008: 99.3kgs\u003C\u002Fli>\n\u003Cli>February 11, 2008: 100.9kgs\u003C\u002Fli>\n\u003Cli>February 4, 2008: 102.3kgs\u003C\u002Fli>\n\u003Cli>January 28, 2008: 102.9kgs\u003C\u002Fli>\n\u003Cli>January 20, 2008: 103.4kgs\u003C\u002Fli>\n\u003C\u002Ful>\n","A WordPress plugin for plotting some data in a custom field against time. It uses the Google charts API to render a simple line chart.",10,2936,100,"2012-03-04T13:12:00.000Z","3.3.2","2.5",[19,74,20,21,75],"custom-fields","plot","http:\u002F\u002Fwww.tomfotherby.com\u002FWebsites\u002FFotherplot","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ffotherplot.0.0.9.zip",{"slug":79,"name":80,"version":81,"author":82,"author_profile":83,"description":84,"short_description":85,"active_installs":67,"downloaded":86,"rating":69,"num_ratings":31,"last_updated":17,"tested_up_to":87,"requires_at_least":88,"requires_php":17,"tags":89,"homepage":91,"download_link":92,"security_score":69,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":93},"plot-over-time","Plot Over Time","1.0.0","Davis Ray Sickmon Jr","https:\u002F\u002Fprofiles.wordpress.org\u002Fmidnightryder\u002F","\u003Cp>I ran across Tom Fotherby’s Fotherplot when I was looking for a slick way to set up graphs for a workout log.  Being the type that can’t stand to leave things alone, I had to hack on it a bit to change a few things… upgrade it to the most modern version of Google Chart Tools, add multiple data points, etc… until finally, well… I think the only thing left of the original plugin is the GNU license.\u003C\u002Fp>\n\u003Cp>Want to see it in action?  I’m using it in http:\u002F\u002Fwww.midnightryder.org\u002Fcategory\u002Fworkout-log\u002F\u003C\u002Fp>\n\u003Cp>To get it up and running: first, you’ll need to put data in your posts.  So, in a post, go to the section under your post called “Custom Fields”.  Create a field you want to track (for instance, “Heart Rate”) and give it a value.\u003C\u002Fp>\n\u003Cp>You’ll need at lest two posts with data in them before Plot Over Time can do it’s thing – so add data to another post.\u003C\u002Fp>\n\u003Cp>Now that you have at least two posts with data, you can create a post that creates a graph.  For this example, you could simply use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will go through all posts that have a custom field called “Heart Rate” and plot them on a nice Google Chart Tools LineChart.  If you wanted to work with more points of data, simply add more Custom Fields:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" field2=\"Weight\" field3=\"Workout Time\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Plot Over Time support up to 10 fields per graph.\u003C\u002Fp>\n\u003Cp>The legend is automatically added, and each datapoint is able to be clicked to get a callout about it’s datapoint.  If you want to get rid of the legend:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" legend=\"none\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Or you can move the legend around with legend=”left” or legend=”right”.\u003C\u002Fp>\n\u003Cp>To use other types of graphs:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" type=\"BarChart\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Valid types chart types for Plot Over Time are:  AreaChart, LineChart, PieChart (not particularly useful in this implementation), BarChart, and ColumnChart.\u003C\u002Fp>\n\u003Cp>You can set your own width and height for the chart with Width and Height:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" width=\"500\" height=\"300\"] \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>By default, Plot Over Time uses ALL data from all posts and pops it onto a graph.  You can limit it with two options:\u003C\u002Fp>\n\u003Cp>1)  You can determine the maximum number of days worth of data (starting from now and going backwards) with maydays:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" maxdays=\"30]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would show a one month span of data.\u003C\u002Fp>\n\u003Cp>2)  You can attach a graph to that post’s published date with usepostdate:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" usepostdate=\"true\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>So if the post was 3 weeks old, it would only show data from it’s publication date of three weeks ago and older.\u003C\u002Fp>\n\u003Cp>The date format defaults to m\u002Fd\u002Fy – IE, 12\u002F31\u002F11.  You can change it with dateformat:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" dateformat=\"Y-m-d\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Would instead put 2011-12-31 on the graph.\u003C\u002Fp>\n\u003Cp>And finally:  Don’t like the colors of the graph, or want to add a few new options?  No problem – any Google Visualization Tools options is available using the option parameter:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plotovertime field1=\"Heart Rate\" options=\"title: 'My Cool Graph!';\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This would add a title above your graph that reads “My Cool Graph!”.  Note – don’t change the height or width using the options=”height: “, instead use height=”300” or similar.  Changing it in the options that are passed to the graph won’t change the size of the div it exists in.\u003C\u002Fp>\n\u003Cp>For more information on the options available visit the Google Chart Tools homepage: http:\u002F\u002Fcode.google.com\u002Fapis\u002Fchart\u002Findex.html\u003C\u002Fp>\n\u003Cp>And of course, you can mix and match any of the shortcode commands in any way you want.  have fun!\u003C\u002Fp>\n\u003Cp>Now, about that data… you’ll want to know a couple of rules.\u003C\u002Fp>\n\u003Cp>First, if you define 5 fields you want to read from, and a post only had four fields?  It’s going to ignore you.\u003C\u002Fp>\n\u003Cp>Second, it doesn’t do data interpolation.  If there’s a gap in your data, it simply ignores it – it doesn’t give it a “0”, it just plain doesn’t plot it.  (That’s how I wanted it.  Other opinions may differ.)\u003C\u002Fp>\n\u003Cp>Third, if you tell it you want to see 30 days of data, and you’ve only got three days of data in your posts?  It’s only going to show a graph that spans three days.\u003C\u002Fp>\n\u003Cp>All data integrity is up to you.\u003C\u002Fp>\n\u003Cp>And it will pull data from ALL posts, not just posts in a specific category.  For future updates I’ll probably add a category field that allows you to pull data from a single category.\u003C\u002Fp>\n\u003Cp>This plugin is a quick “one off” I did for myself – it’s not nearly as pretty or efficient as it could be, and I’ll probably do some refactoring on it in the future if there’s any interest.  Plus, there’s probably a couple of other things I’ll add down the road as the whim strikes.\u003C\u002Fp>\n","Uses the Google Chart Tools API for charting data in posts.  Tracks up to 10 different data points, 4 chart types, & lots of customization.",2214,"3.2.1","3.0",[19,74,20,21,90],"weight-tracking","http:\u002F\u002Fwww.midnightryder.com\u002Fwordpress-plugins\u002Fplot-over-time-for-wordpress","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fplot-over-time.zip","2026-03-15T10:48:56.248Z",{"slug":95,"name":96,"version":97,"author":98,"author_profile":99,"description":100,"short_description":101,"active_installs":67,"downloaded":102,"rating":69,"num_ratings":31,"last_updated":17,"tested_up_to":103,"requires_at_least":88,"requires_php":17,"tags":104,"homepage":105,"download_link":106,"security_score":69,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":93},"plot-over-time-extended","Plot Over Time – Extended","1.4.0","rdcravens","https:\u002F\u002Fprofiles.wordpress.org\u002Frdcravens\u002F","\u003Cp>I have used Plot Over Time for a long time when found that I needed to put multiple charts on one page and category restrictions. The plugin did not allow it. I am insistent on not needing a new plugin – as this one has worked just fine for me… So, I made changes.\u003C\u002Fp>\n\u003Cp>My first change is small in user effort, but large in execution… I added an optional parameter for chart_num. This optional parameter is not needed if you are using the plugin for a single chart page. It is only needed to identify what chart you are making on a multi-chart page…\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Single chart on a page…\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Multi-Chart page…\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" chart_num=\"1\"]\n[plot_ext field1=\"Blood Pressure\" chart_num=\"2\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Want to see it in action?  http:\u002F\u002Fwww.ourroadtohealth.com\u002Findex.php\u002Fdata-collection\u002Ftotal-blood-pressure\u002F\u003C\u002Fp>\n\u003Cp>My second change… I added an optional parameter for post category restriction. This optional parameter is not needed if you are pulling from all post categories. It is only needed to identify what 1 post category you want to limit the data to…\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Single chart on a page with category selection…\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" post_cat=\"8\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Let’s Get Started: \u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. \u003C\u002Fstrong>To get it up and running: first, you’ll need to put data in your posts.  So, in a post, go to the section under your post called “Custom Fields”. Create a field you want to track (for instance, “Heart Rate”) and give it a value.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. \u003C\u002Fstrong>You’ll need at lest two posts with data in them before the plugin can do it’s thing – so add data to another post.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. \u003C\u002Fstrong>Now that you have at least two posts with data, you can create a post that creates a graph.  For this example, you could simply use:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>This will go through all posts that have a custom field called “Heart Rate” and plot them on a nice Google Chart Tools LineChart. Plot Over Time – Extended supports up to 10 fields per graph.  If you wanted to work with more points of data (again, up to 10), simply add more Custom Fields:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" field2=\"Weight\" field3=\"Workout Time\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The legend is automatically added, and each datapoint is able to be clicked to get a callout about it’s datapoint. Or you can move the legend around with legend=”left” or legend=”right”. If you want to get rid of the legend:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" legend=\"none\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Types: \u003C\u002Fstrong>Valid types chart types for Plot Over Time are:  AreaChart, LineChart, PieChart (not particularly useful in this implementation), BarChart, and ColumnChart. To use other types of graphs:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" type=\"BarChart\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Height \u002F Width: \u003C\u002Fstrong>You can set your own width and height for the chart with Width and Height (default: 400 X 300). Don’t change the height or width using the options=”height: “, instead use height=”300” or similar.  Changing it in the options that are passed to the graph won’t change the size of the div it exists in.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" width=\"500\" height=\"300\"] \n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Data Limits: \u003C\u002Fstrong>By default, Plot Over Time uses ALL data from all posts and pops it onto a graph.  You can limit it with two options:\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. \u003C\u002Fstrong>You can determine the maximum number of days worth of data (starting from now and going backward) with maxdays. This would show a one month span of data:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" maxdays=\"30\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>2. \u003C\u002Fstrong>You can attach a graph to that post’s published date with usepostdate:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" usepostdate=\"true\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>So if the post was 3 weeks old, it would only show data from it’s publication date of three weeks ago and older – \u003Cstrong>this allows you to see changes post by post\u003C\u002Fstrong>!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Dates: \u003C\u002Fstrong>The date format defaults to m\u002Fd\u002Fy – IE, 12\u002F31\u002F11.  You can change it with dateformat. This would instead put 2011-12-31 on the graph:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" dateformat=\"Y-m-d\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Titles: \u003C\u002Fstrong>This would add a title above your graph that reads “My Graph!”.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[plot_ext field1=\"Heart Rate\" options=\"'title': 'My Graph!'\" chart_num=\"1\"]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u003Cstrong>Wrapping Up: \u003C\u002Fstrong>Don’t like the colors of the graph, or want to add a few new options?  No problem – any Google Visualization Tools options is available using the option parameters.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>More Info: \u003C\u002Fstrong>For more information on the options available visit the Google Chart Tools homepage: http:\u002F\u002Fcode.google.com\u002Fapis\u002Fchart\u002Findex.html\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Rules: \u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>1. \u003C\u002Fstrong>If you define 5 fields you want to read from, and a post only had four fields?  It’s going to ignore you.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>2. \u003C\u002Fstrong>It doesn’t do data interpolation.  If there’s a gap in your data, it simply ignores it – it doesn’t give it a “0”, it just plain doesn’t plot it.  (That’s how he wanted it.  Other opinions may differ – mine does not.)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>3. \u003C\u002Fstrong>f you tell it you want to see 30 days of data, and you’ve only got three days of data in your posts?  It’s only going to show a graph that spans three days.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>All data integrity is up to you.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>\u003Cstrong>If you download, please rate the plugin. This is one of the few feedback methods available. If you have a low opinion, please allow me to try to fix it first before leaving a bad review.\u003C\u002Fstrong>\u003C\u002Fp>\n","I have used Plot Over Time for a long time when found that I needed to put multiple charts on one page and category restrictions.",1505,"3.9.40",[19,74,20,21,90],"http:\u002F\u002Fwww.save-o-matic.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fplot-over-time-extended.zip",{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":67,"downloaded":115,"rating":69,"num_ratings":116,"last_updated":117,"tested_up_to":118,"requires_at_least":119,"requires_php":17,"tags":120,"homepage":123,"download_link":124,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"post-popularity-chart-widget-lite","Post Popularity Chart Widget","1.0.1","Piotr Pesta","https:\u002F\u002Fprofiles.wordpress.org\u002Fpiotr-pesta\u002F","\u003Cp>Post Popularity Chart Widget, by which you display a graph with statistics of visits of any article on your site. Widget on an ongoing basis collects data on visits selected by you posts and displays them in a clear and legible graphic chart. Widget is very simple to configure and accompanying documentation makes it even easier.\u003C\u002Fp>\n\u003Cp>Appearance and operation of the widget can be freely modified, and this is thanks to the possibility of changing virtually all the settings. What can be changed?\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Responsive widget (dynamically adjust the page dimensions and resolution of the device)\u003C\u002Fli>\n\u003Cli>Uses Google Charts API\u003C\u002Fli>\n\u003Cli>Very easy to use – just install, put anywhere, set your preferred options and use anytime\u003C\u002Fli>\n\u003Cli>You can change :\u003C\u002Fli>\n\u003Cli>titles of individual axes\u003C\u002Fli>\n\u003Cli>the color of chart and its background\u003C\u002Fli>\n\u003Cli>range of days which is to include\u003C\u002Fli>\n\u003Cli>exclusion of specific pages and categories\u003C\u002Fli>\n\u003Cli>change the chart type (at the moment there are 3 types)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>It should be noted that the widget may not work with plugs serving to store cached page, such as. W3.\u003C\u002Fp>\n\u003Cp>Widget can be freely configured by using the available options. Each option has an extensive descriptions, so nobody should have no problem to understand what it does. In the settings menu you can change (in order):\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Title\u003C\u002Fli>\n\u003Cli>Number of days to include statistics\u003C\u002Fli>\n\u003Cli>A list of ID numbers of excluded articles (chart there will not be displayed)\u003C\u002Fli>\n\u003Cli>A list of ID numbers of excluded categories\u003C\u002Fli>\n\u003Cli>Type of chart\u003C\u002Fli>\n\u003Cli>Description(title) X-axis and Y\u003C\u002Fli>\n\u003Cli>The background color and the color of the graph line\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The widget automatically deletes the data older than 30 days, so there is no problem with excessive cluttering of the database.\u003C\u002Fp>\n\u003Cp>If you would like to show your support for this software, please consider donating: \u003Ca href=\"https:\u002F\u002Fwww.paypal.com\u002Fcgi-bin\u002Fwebscr?cmd=_s-xclick&hosted_button_id=EEDF5TV3M2WVG&lc=US\" rel=\"nofollow ugc\">Donate via PayPal\u003C\u002Fa>.\u003C\u002Fp>\n","Post Popularity Chart Widget, by which you display a graph with statistics of visits of any article on your site.",2456,2,"2015-08-18T20:48:00.000Z","4.3.34","2.8.0",[19,121,21,122,23],"diagram","pupular","http:\u002F\u002Fsmartfan.pl\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpost-popularity-chart-widget-lite.1.0.1.zip",{"attackSurface":126,"codeSignals":155,"taintFlows":288,"riskAssessment":447,"analyzedAt":460},{"hooks":127,"ajaxHandlers":151,"restRoutes":152,"shortcodes":153,"cronEvents":154,"entryPointCount":13,"unprotectedCount":13},[128,134,138,143,147],{"type":129,"name":130,"callback":131,"file":132,"line":133},"action","sidebar_admin_setup","widget_pjm_graph_setup","pjm_graph.php",255,{"type":129,"name":135,"callback":136,"file":132,"line":137},"sidebar_admin_page","widget_pjm_graph_page",256,{"type":139,"name":140,"callback":141,"file":132,"line":142},"filter","the_content","simple_graph_filter",263,{"type":129,"name":144,"callback":145,"file":132,"line":146},"plugins_loaded","widget_pjm_graph_init",286,{"type":129,"name":148,"callback":149,"file":132,"line":150},"admin_menu","pjm_managePanel",373,[],[],[],[],{"dangerousFunctions":156,"sqlUsage":157,"outputEscaping":171,"fileOperations":13,"externalRequests":13,"nonceChecks":13,"capabilityChecks":286,"bundledLibraries":287},[],{"prepared":158,"raw":159,"locations":160},15,4,[161,164,166,169],{"file":132,"line":162,"context":163},337,"$wpdb->get_var() with variable interpolation",{"file":132,"line":165,"context":163},350,{"file":132,"line":167,"context":168},437,"$wpdb->get_results() with variable interpolation",{"file":132,"line":170,"context":168},496,{"escaped":13,"rawEcho":172,"locations":173},57,[174,177,179,180,182,184,186,188,190,192,194,196,198,200,202,204,206,208,210,212,214,216,218,220,222,224,226,228,230,232,234,236,238,240,242,244,245,247,249,251,253,255,257,258,260,262,264,266,268,270,272,274,276,278,280,282,284],{"file":132,"line":175,"context":176},50,"raw output",{"file":132,"line":178,"context":176},52,{"file":132,"line":172,"context":176},{"file":132,"line":181,"context":176},58,{"file":132,"line":183,"context":176},155,{"file":132,"line":185,"context":176},167,{"file":132,"line":187,"context":176},172,{"file":132,"line":189,"context":176},173,{"file":132,"line":191,"context":176},174,{"file":132,"line":193,"context":176},175,{"file":132,"line":195,"context":176},176,{"file":132,"line":197,"context":176},177,{"file":132,"line":199,"context":176},178,{"file":132,"line":201,"context":176},179,{"file":132,"line":203,"context":176},180,{"file":132,"line":205,"context":176},181,{"file":132,"line":207,"context":176},182,{"file":132,"line":209,"context":176},183,{"file":132,"line":211,"context":176},184,{"file":132,"line":213,"context":176},185,{"file":132,"line":215,"context":176},186,{"file":132,"line":217,"context":176},187,{"file":132,"line":219,"context":176},188,{"file":132,"line":221,"context":176},189,{"file":132,"line":223,"context":176},195,{"file":132,"line":225,"context":176},199,{"file":132,"line":227,"context":176},202,{"file":132,"line":229,"context":176},236,{"file":132,"line":231,"context":176},237,{"file":132,"line":233,"context":176},327,{"file":132,"line":235,"context":176},416,{"file":132,"line":237,"context":176},422,{"file":132,"line":239,"context":176},444,{"file":132,"line":241,"context":176},449,{"file":132,"line":243,"context":176},458,{"file":132,"line":243,"context":176},{"file":132,"line":246,"context":176},503,{"file":132,"line":248,"context":176},508,{"file":132,"line":250,"context":176},541,{"file":132,"line":252,"context":176},543,{"file":132,"line":254,"context":176},545,{"file":132,"line":256,"context":176},549,{"file":132,"line":256,"context":176},{"file":132,"line":259,"context":176},550,{"file":132,"line":261,"context":176},551,{"file":132,"line":263,"context":176},552,{"file":132,"line":265,"context":176},553,{"file":132,"line":267,"context":176},554,{"file":132,"line":269,"context":176},592,{"file":132,"line":271,"context":176},607,{"file":132,"line":273,"context":176},612,{"file":132,"line":275,"context":176},617,{"file":132,"line":277,"context":176},622,{"file":132,"line":279,"context":176},626,{"file":132,"line":281,"context":176},631,{"file":132,"line":283,"context":176},636,{"file":132,"line":285,"context":176},654,3,[],[289,363,431],{"entryPoint":290,"graph":291,"unsanitizedCount":46,"severity":362},"pjm_show_settings_panel (pjm_graph.php:573)",{"nodes":292,"edges":351},[293,298,303,307,309,313,315,319,321,325,327,331,333,337,339,343,345,349],{"id":294,"type":295,"label":296,"file":132,"line":297},"n0","source","$_POST['graph_title']",577,{"id":299,"type":300,"label":301,"file":132,"line":297,"wp_function":302},"n1","sink","update_option() [Settings Manipulation]","update_option",{"id":304,"type":295,"label":305,"file":132,"line":306},"n2","$_POST['graph_width']",578,{"id":308,"type":300,"label":301,"file":132,"line":306,"wp_function":302},"n3",{"id":310,"type":295,"label":311,"file":132,"line":312},"n4","$_POST['graph_height']",579,{"id":314,"type":300,"label":301,"file":132,"line":312,"wp_function":302},"n5",{"id":316,"type":295,"label":317,"file":132,"line":318},"n6","$_POST['graph_bgcol']",580,{"id":320,"type":300,"label":301,"file":132,"line":318,"wp_function":302},"n7",{"id":322,"type":295,"label":323,"file":132,"line":324},"n8","$_POST['graph_fgcol']",581,{"id":326,"type":300,"label":301,"file":132,"line":324,"wp_function":302},"n9",{"id":328,"type":295,"label":329,"file":132,"line":330},"n10","$_POST['graph_linecol']",582,{"id":332,"type":300,"label":301,"file":132,"line":330,"wp_function":302},"n11",{"id":334,"type":295,"label":335,"file":132,"line":336},"n12","$_POST['graph_bglinecol']",583,{"id":338,"type":300,"label":301,"file":132,"line":336,"wp_function":302},"n13",{"id":340,"type":295,"label":341,"file":132,"line":342},"n14","$_POST['graph_trendcol']",584,{"id":344,"type":300,"label":301,"file":132,"line":342,"wp_function":302},"n15",{"id":346,"type":295,"label":347,"file":132,"line":348},"n16","$_POST['graph_datefmt']",585,{"id":350,"type":300,"label":301,"file":132,"line":348,"wp_function":302},"n17",[352,354,355,356,357,358,359,360,361],{"from":294,"to":299,"sanitized":353},false,{"from":304,"to":308,"sanitized":353},{"from":310,"to":314,"sanitized":353},{"from":316,"to":320,"sanitized":353},{"from":322,"to":326,"sanitized":353},{"from":328,"to":332,"sanitized":353},{"from":334,"to":338,"sanitized":353},{"from":340,"to":344,"sanitized":353},{"from":346,"to":350,"sanitized":353},"low",{"entryPoint":364,"graph":365,"unsanitizedCount":13,"severity":362},"\u003Cpjm_graph> (pjm_graph.php:0)",{"nodes":366,"edges":416},[367,370,373,376,380,382,386,389,390,391,392,393,394,395,396,397,398,399,400,402,404,406,408,410,412,414],{"id":294,"type":295,"label":368,"file":132,"line":369},"$_POST",217,{"id":299,"type":300,"label":371,"file":132,"line":233,"wp_function":372},"echo() [XSS]","echo",{"id":304,"type":295,"label":374,"file":132,"line":375},"$_GET (x3)",382,{"id":308,"type":300,"label":377,"file":132,"line":378,"wp_function":379},"query() [SQLi]",384,"query",{"id":310,"type":295,"label":381,"file":132,"line":375},"$_GET",{"id":314,"type":300,"label":383,"file":132,"line":384,"wp_function":385},"get_results() [SQLi]",535,"get_results",{"id":316,"type":295,"label":387,"file":132,"line":388},"$_REQUEST (x2)",531,{"id":320,"type":300,"label":371,"file":132,"line":252,"wp_function":372},{"id":322,"type":295,"label":296,"file":132,"line":297},{"id":326,"type":300,"label":301,"file":132,"line":297,"wp_function":302},{"id":328,"type":295,"label":305,"file":132,"line":306},{"id":332,"type":300,"label":301,"file":132,"line":306,"wp_function":302},{"id":334,"type":295,"label":311,"file":132,"line":312},{"id":338,"type":300,"label":301,"file":132,"line":312,"wp_function":302},{"id":340,"type":295,"label":317,"file":132,"line":318},{"id":344,"type":300,"label":301,"file":132,"line":318,"wp_function":302},{"id":346,"type":295,"label":323,"file":132,"line":324},{"id":350,"type":300,"label":301,"file":132,"line":324,"wp_function":302},{"id":401,"type":295,"label":329,"file":132,"line":330},"n18",{"id":403,"type":300,"label":301,"file":132,"line":330,"wp_function":302},"n19",{"id":405,"type":295,"label":335,"file":132,"line":336},"n20",{"id":407,"type":300,"label":301,"file":132,"line":336,"wp_function":302},"n21",{"id":409,"type":295,"label":341,"file":132,"line":342},"n22",{"id":411,"type":300,"label":301,"file":132,"line":342,"wp_function":302},"n23",{"id":413,"type":295,"label":347,"file":132,"line":348},"n24",{"id":415,"type":300,"label":301,"file":132,"line":348,"wp_function":302},"n25",[417,419,420,421,422,423,424,425,426,427,428,429,430],{"from":294,"to":299,"sanitized":418},true,{"from":304,"to":308,"sanitized":418},{"from":310,"to":314,"sanitized":418},{"from":316,"to":320,"sanitized":418},{"from":322,"to":326,"sanitized":418},{"from":328,"to":332,"sanitized":418},{"from":334,"to":338,"sanitized":418},{"from":340,"to":344,"sanitized":418},{"from":346,"to":350,"sanitized":418},{"from":401,"to":403,"sanitized":418},{"from":405,"to":407,"sanitized":418},{"from":409,"to":411,"sanitized":418},{"from":413,"to":415,"sanitized":418},{"entryPoint":432,"graph":433,"unsanitizedCount":445,"severity":446},"pjm_show_manage_panel (pjm_graph.php:375)",{"nodes":434,"edges":441},[435,436,437,438,439,440],{"id":294,"type":295,"label":374,"file":132,"line":375},{"id":299,"type":300,"label":377,"file":132,"line":378,"wp_function":379},{"id":304,"type":295,"label":381,"file":132,"line":375},{"id":308,"type":300,"label":383,"file":132,"line":384,"wp_function":385},{"id":310,"type":295,"label":387,"file":132,"line":388},{"id":314,"type":300,"label":371,"file":132,"line":252,"wp_function":372},[442,443,444],{"from":294,"to":299,"sanitized":353},{"from":304,"to":308,"sanitized":353},{"from":310,"to":314,"sanitized":353},6,"high",{"summary":448,"deductions":449},"The \"simple-graph\" v1.0.5 plugin presents a mixed security picture. On the positive side, the plugin has no recorded vulnerabilities (CVEs) and a seemingly small attack surface with no apparent direct entry points like AJAX handlers, REST API routes, or shortcodes.  The code also demonstrates some good practices, such as the majority of SQL queries using prepared statements and the presence of capability checks.\n\nHowever, significant concerns arise from the static analysis. The most critical issue is the complete lack of output escaping, meaning any data rendered to the user could be vulnerable to cross-site scripting (XSS) attacks. While the taint analysis shows no critical severity issues, it does highlight one high severity flow with unsanitized paths, which could potentially lead to unintended behavior or data exposure if exploited. The absence of nonce checks on any potential entry points (though none were identified) is a missed opportunity for standard WordPress security. Given the lack of recorded CVEs, the plugin might have been historically secure, but the current analysis indicates potential weaknesses that need addressing.",[450,452,454,457],{"reason":451,"points":158},"All output unescaped",{"reason":453,"points":67},"Taint analysis: 1 High severity flow",{"reason":455,"points":456},"Taint analysis: 2 unsanitized paths",8,{"reason":458,"points":459},"No nonce checks",5,"2026-03-16T23:01:23.232Z",{"wat":462,"direct":468},{"assetPaths":463,"generatorPatterns":465,"scriptPaths":466,"versionParams":467},[464],"\u002Fwp-content\u002Fplugins\u002Fsimple-graph\u002Fpjm_graph.css",[],[],[],{"cssClasses":469,"htmlComments":470,"htmlAttributes":471,"restEndpoints":510,"jsGlobals":511,"shortcodeOutput":512},[],[],[472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509],"id=\"pjm_graph_user_table_id-","name=\"pjm_graph_user_table_id-","id=\"pjm_graph_title-","name=\"pjm_graph_title-","id=\"pjm_graph_text-","name=\"pjm_graph_text-","id=\"pjm_graph_target-","name=\"pjm_graph_target-","id=\"pjm_graph_width-","name=\"pjm_graph_width-","id=\"pjm_graph_height-","name=\"pjm_graph_height-","id=\"pjm_graph_bg_col-","name=\"pjm_graph_bg_col-","id=\"pjm_graph_fg_col-","name=\"pjm_graph_fg_col-","id=\"pjm_graph_line_col-","name=\"pjm_graph_line_col-","id=\"pjm_graph_bg_line_col-","name=\"pjm_graph_bg_line_col-","id=\"pjm_graph_trend_line_col-","name=\"pjm_graph_trend_line_col-","id=\"pjm_graph_target_line_col-","name=\"pjm_graph_target_line_col-","id=\"pjm_graph_date_fmt-","name=\"pjm_graph_date_fmt-","id=\"pjm_graph_show_title-","name=\"pjm_graph_show_title-","id=\"pjm_graph_show_text-","name=\"pjm_graph_show_text-","id=\"pjm_graph_show_target-","name=\"pjm_graph_show_target-","id=\"pjm_graph_show_trend-","name=\"pjm_graph_show_trend-","id=\"pjm_graph_show_hl_graph-","name=\"pjm_graph_show_hl_graph-","id=\"pjm_graph_use_gchart-","name=\"pjm_graph_use_gchart-",[],[],[513,514,515],"\u003Cp>\u003C?php \u002F*pjm_graph($number);*\u002F","pjm_graph($number,$options[$number]['width'],$options[$number]['height'],$options[$number]['show_trend'],$options[$number]['show_target'],FALSE,FALSE,FALSE,$options[$number]['user_id'],$options[$number]['table_id'],FALSE,$options[$number]['gchart']); ?>\u003C\u002Fp>","\u003C?php if ($options[$number]['show_text']) echo pjm_graph_tags($options[$number]['text'],$tags); ?>"]