[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fTAOpb0Jv7e0VeVLvh7NQPhpG8d5YREfDtJ7xl6oIxAo":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":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":27,"vuln_count":28,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":32,"crawl_stats":29,"alternatives":37,"analysis":38,"fingerprints":129},"my-google-books-library","My Google Books Library","1.2","hugmin42","https:\u002F\u002Fprofiles.wordpress.org\u002Fhugmin42\u002F","\u003Cp>IMPORTANT: I have stopped development of this plugin, as my knowledge is too limited to fix the bugs that some users experience.  Anyone who would like to take over the development can contact me in this regard. For an alternative plugin that does basically the same thing see: \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fgoogle-bookshelves\u002F\" title=\"Google Bookshelves\" rel=\"ugc\">Google Bookshelves\u003C\u002Fa>, I cannot however guarentee that, that plugin will be without bugs.\u003C\u002Fp>\n\u003Cp>This is a simple wordpress plugin that allows you to showcase your Google Books bookshelves. It uses the Google Books API, and can show any of the default shelves: Reading Now, Favorites, Have Read or To Read as well as custom shelves. You can also choose the maximum number of books that you want to display.\u003C\u002Fp>\n\u003Cp>I used some of the code from ZeroCool51’s (\u003Ca href=\"http:\u002F\u002Fbostjan.gets-it.net\" title=\"Bostjan Cigan\" rel=\"nofollow ugc\">Bostjan Cigan\u003C\u002Fa>) plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fcurrently-reading-book\u002F\" title=\"Currently Reading Book\" rel=\"ugc\">Currently Reading Book\u003C\u002Fa> for the admin area and \u003Ca href=\"http:\u002F\u002Fadamwadeharris.com\" title=\"aharris88\" rel=\"nofollow ugc\">aharris88\u003C\u002Fa>‘s plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fextend\u002Fplugins\u002Fgoogle-bookshelves\u002F\" title=\"Google Bookshelves\" rel=\"ugc\">Google Bookshelves\u003C\u002Fa> for the widget. Special thanks to \u003Ca href=\"http:\u002F\u002Fv.bartko.info\" title=\"Vadym\" rel=\"nofollow ugc\">Vadym\u003C\u002Fa> for his code to fix the max 40 books problem.\u003C\u002Fp>\n\u003Cp>What this plugin offers:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Widget for showing any number of book covers from any of your shelves.\u003C\u002Fli>\n\u003Cli>Use shortcode to show a list of your books from any google books shelves including custom shelves in any post or page.\u003C\u002Fli>\n\u003Cli>Php function that can be put into any template file\u003C\u002Fli>\n\u003Cli>Two different templates for displaying the books. List view with cover, title, author and description OR Grid view with only the covers.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This is my first plugin and any feedback would be appreciated.\u003C\u002Fp>\n\u003Ch3>Author\u003C\u002Fh3>\n\u003Cp>The author of this plugin is Hugo Minnaar, visit the \u003Ca href=\"http:\u002F\u002Fhugo.activesquirrel.com\" title=\"homepage\" rel=\"nofollow ugc\">homepage\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Homepage\u003C\u002Fh3>\n\u003Cp>Visit the \u003Ca href=\"http:\u002F\u002Fhugo.activesquirrel.com\u002Fdev\u002Fmy-google-books-library\" title=\"homepage\" rel=\"nofollow ugc\">homepage\u003C\u002Fa> of the plugin.\u003C\u002Fp>\n","A simple plugin with a widget and [shortcode] that displays any number of your Google Books bookshelves including custom made bookshelves.",10,3416,80,4,"2013-03-07T13:02:00.000Z","3.5.2","3.0.1","",[20,21,22,23,24],"currently-reading","currently-reading-book","google-books","my-library","reading-book","http:\u002F\u002Fhugo.activesquirrel.com\u002Fdev\u002Fmy-google-books-library","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmy-google-books-library.1.2.zip",85,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":33,"total_installs":11,"avg_security_score":27,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},1,30,84,"2026-04-04T18:43:48.541Z",[],{"attackSurface":39,"codeSignals":59,"taintFlows":114,"riskAssessment":115,"analyzedAt":128},{"hooks":40,"ajaxHandlers":51,"restRoutes":52,"shortcodes":53,"cronEvents":58,"entryPointCount":33,"unprotectedCount":28},[41,47],{"type":42,"name":43,"callback":44,"file":45,"line":46},"action","admin_menu","my_google_books_library_admin_menu_create","my-google-books-library.php",33,{"type":42,"name":48,"callback":49,"file":45,"line":50},"widgets_init","anonymous",34,[],[],[54],{"tag":55,"callback":56,"file":45,"line":57},"my_google_books_library","my_google_books_library_shortcode",221,[],{"dangerousFunctions":60,"sqlUsage":68,"outputEscaping":70,"fileOperations":111,"externalRequests":112,"nonceChecks":28,"capabilityChecks":28,"bundledLibraries":113},[61,64],{"fn":62,"file":45,"line":50,"context":63},"create_function","add_action('widgets_init', create_function('', 'return register_widget(\"my_google_books_library_widg",{"fn":65,"file":45,"line":66,"context":67},"unserialize",95,"$all_books = unserialize(file_get_contents($shelf));",{"prepared":28,"raw":28,"locations":69},[],{"escaped":71,"rawEcho":72,"locations":73},9,18,[74,77,79,81,83,85,87,89,91,93,95,97,99,101,103,105,107,109],{"file":45,"line":75,"context":76},101,"raw output",{"file":45,"line":78,"context":76},123,{"file":45,"line":80,"context":76},171,{"file":45,"line":82,"context":76},187,{"file":45,"line":84,"context":76},252,{"file":45,"line":86,"context":76},260,{"file":45,"line":88,"context":76},272,{"file":45,"line":90,"context":76},349,{"file":45,"line":92,"context":76},386,{"file":45,"line":94,"context":76},396,{"file":45,"line":96,"context":76},399,{"file":45,"line":98,"context":76},400,{"file":45,"line":100,"context":76},408,{"file":45,"line":102,"context":76},411,{"file":45,"line":104,"context":76},412,{"file":45,"line":106,"context":76},416,{"file":45,"line":108,"context":76},419,{"file":45,"line":110,"context":76},420,2,3,[],[],{"summary":116,"deductions":117},"The \"my-google-books-library\" v1.2 plugin exhibits a mixed security posture. On the positive side, it demonstrates good practices by exclusively using prepared statements for SQL queries and has no recorded vulnerability history, suggesting a generally well-maintained codebase. The limited attack surface with only one shortcode entry point and no AJAX or REST API routes is also a strength. However, significant concerns arise from the static analysis. The presence of dangerous functions like `create_function` and `unserialize` is a major red flag, as these can be exploited for remote code execution if not handled with extreme care and proper sanitization. Furthermore, a low percentage of properly escaped output (33%) indicates a high risk of cross-site scripting (XSS) vulnerabilities. The complete lack of nonce and capability checks on its entry points, combined with the use of dangerous functions, presents a critical security weakness that could allow unauthenticated attackers to inject malicious code or perform unauthorized actions.",[118,121,124,126],{"reason":119,"points":120},"Dangerous functions: create_function, unserialize",15,{"reason":122,"points":123},"Low percentage of properly escaped output",8,{"reason":125,"points":11},"No nonce checks on entry points",{"reason":127,"points":11},"No capability checks on entry points","2026-03-17T00:39:19.014Z",{"wat":130,"direct":136},{"assetPaths":131,"generatorPatterns":133,"scriptPaths":134,"versionParams":135},[132],"\u002Fwp-content\u002Fplugins\u002Fmy-google-books-library\u002Fmy-google-books-library.php",[],[],[],{"cssClasses":137,"htmlComments":138,"htmlAttributes":139,"restEndpoints":140,"jsGlobals":141,"shortcodeOutput":142},[],[],[],[],[],[143],"[my-google-books-library]"]