[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fktkJsxlTPyEaKJZMleJ8_Fat1KHsex-gpQkrPBRVWg8":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":39,"analysis":40,"fingerprints":218},"lesson-bookmark-tutor-lms","Lesson Bookmark for Tutor LMS","2.0.3","Lekcie","https:\u002F\u002Fprofiles.wordpress.org\u002Flekciewp\u002F","\u003Cp>Lesson Bookmark for Tutor LMS is an addon for Tutor LMS plugin that allows you to add a lesson to favorites. Concretely, an add \u002F remove to favorites button is displayed on each lesson page. You will then have a shortcode you can add to the location of your choice.\u003C\u002Fp>\n\u003Cp>Shortcode: \u003Ccode>[tllb_display_favorites]\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>Place the shortcode anywhere to display the list of lessons that you have put in your favorites.\u003C\u002Fp>\n\u003Ch4>What’s new in V2\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>You can now style your markdowns by editting the layout, the text size and color, the button size and color\u003C\u002Fli>\n\u003Cli>Overview the changes you make before saving them\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>A brief Use Case Example\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Go to a lesson and click on “Bookmark”\u003C\u002Fli>\n\u003Cli>Copy and paste the shortcode \u003Ccode>[tllb_display_favorites]\u003C\u002Fcode> wherever you want\u003C\u002Fli>\n\u003Cli>You can remove the favorites by going to a lesson and clicking on “Remove bookmark”\u003C\u002Fli>\n\u003C\u002Fol>\n","Lesson Bookmark allows you to add lessons in the list of your favorite lessons and to display the favorites with [tllb_display_favorites]",400,11623,100,14,"2024-09-02T16:16:00.000Z","6.6.5","6.0","8.0",[20,21,22,23,24],"tutor-addon","tutor-bookmark","tutor-lms-addon","tutor-lms-bookmark","tutor-lms-lesson-bookmark","https:\u002F\u002Flekcie.com\u002Fplugins-wordpress\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Flesson-bookmark-tutor-lms.2.0.3.zip",92,0,null,"2026-03-15T15:16:48.613Z",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":27,"avg_patch_time_days":36,"trust_score":37,"computed_at":38},"lekciewp",2,700,30,88,"2026-04-05T02:51:37.745Z",[],{"attackSurface":41,"codeSignals":93,"taintFlows":203,"riskAssessment":204,"analyzedAt":217},{"hooks":42,"ajaxHandlers":78,"restRoutes":86,"shortcodes":87,"cronEvents":91,"entryPointCount":92,"unprotectedCount":34},[43,49,52,55,57,60,63,66,68,71,74],{"type":44,"name":45,"callback":46,"file":47,"line":48},"action","plugins_loaded","anonymous","includes\\class-tutor-lms-lesson-bookmark.php",132,{"type":44,"name":50,"callback":46,"file":47,"line":51},"admin_menu",148,{"type":44,"name":53,"callback":46,"file":47,"line":54},"admin_enqueue_scripts",154,{"type":44,"name":53,"callback":46,"file":47,"line":56},155,{"type":44,"name":58,"callback":46,"file":47,"line":59},"admin_notices",158,{"type":44,"name":61,"callback":46,"file":47,"line":62},"admin_footer",161,{"type":44,"name":64,"callback":46,"file":47,"line":65},"wp_enqueue_scripts",175,{"type":44,"name":64,"callback":46,"file":47,"line":67},176,{"type":44,"name":69,"callback":46,"file":47,"line":70},"tutor_lesson\u002Fsingle\u002Fafter\u002Fcontent",178,{"type":44,"name":72,"callback":46,"file":47,"line":73},"wp_footer",188,{"type":44,"name":58,"callback":75,"file":76,"line":77},"lms_error_notice","lesson-bookmark-tutor-lms.php",83,[79,83],{"action":80,"nopriv":81,"callback":46,"hasNonce":81,"hasCapCheck":81,"file":47,"line":82},"toggle_favorite",false,181,{"action":80,"nopriv":84,"callback":46,"hasNonce":81,"hasCapCheck":81,"file":47,"line":85},true,182,[],[88],{"tag":89,"callback":46,"file":47,"line":90},"tllb_display_favorites",185,[],3,{"dangerousFunctions":94,"sqlUsage":103,"outputEscaping":105,"fileOperations":28,"externalRequests":28,"nonceChecks":201,"capabilityChecks":28,"bundledLibraries":202},[95,100,101],{"fn":96,"file":97,"line":98,"context":99},"unserialize","public\\class-tutor-lms-lesson-bookmark-public.php",93,"$current_favorites_array = unserialize($current_favorites[0]);",{"fn":96,"file":97,"line":48,"context":99},{"fn":96,"file":97,"line":73,"context":102},"\u003C?php $current_favorites_array = unserialize($current_favorites[0]);",{"prepared":28,"raw":28,"locations":104},[],{"escaped":106,"rawEcho":107,"locations":108},5,46,[109,113,115,117,119,121,124,126,128,130,132,134,136,138,140,142,144,146,148,150,151,153,155,157,159,161,163,165,167,169,171,173,175,177,179,181,182,184,185,187,189,191,193,195,197,199],{"file":110,"line":111,"context":112},"admin\\class-tutor-lms-lesson-bookmark-admin.php",129,"raw output",{"file":110,"line":114,"context":112},131,{"file":110,"line":116,"context":112},134,{"file":110,"line":118,"context":112},135,{"file":110,"line":120,"context":112},136,{"file":122,"line":123,"context":112},"admin\\partials\\lesson-bookmark-menu-admin-display.php",35,{"file":122,"line":125,"context":112},42,{"file":122,"line":127,"context":112},44,{"file":122,"line":129,"context":112},47,{"file":122,"line":131,"context":112},50,{"file":122,"line":133,"context":112},54,{"file":122,"line":135,"context":112},60,{"file":122,"line":137,"context":112},62,{"file":122,"line":139,"context":112},64,{"file":122,"line":141,"context":112},67,{"file":122,"line":143,"context":112},77,{"file":122,"line":145,"context":112},82,{"file":122,"line":147,"context":112},84,{"file":122,"line":149,"context":112},95,{"file":122,"line":13,"context":112},{"file":122,"line":152,"context":112},102,{"file":122,"line":154,"context":112},113,{"file":122,"line":156,"context":112},117,{"file":122,"line":158,"context":112},127,{"file":122,"line":160,"context":112},141,{"file":122,"line":162,"context":112},144,{"file":122,"line":164,"context":112},145,{"file":122,"line":166,"context":112},147,{"file":97,"line":168,"context":112},99,{"file":97,"line":170,"context":112},162,{"file":97,"line":172,"context":112},198,{"file":97,"line":174,"context":112},200,{"file":97,"line":176,"context":112},209,{"file":97,"line":178,"context":112},211,{"file":97,"line":180,"context":112},214,{"file":97,"line":180,"context":112},{"file":97,"line":183,"context":112},217,{"file":97,"line":183,"context":112},{"file":97,"line":186,"context":112},229,{"file":97,"line":188,"context":112},254,{"file":97,"line":190,"context":112},255,{"file":97,"line":192,"context":112},259,{"file":97,"line":194,"context":112},260,{"file":97,"line":196,"context":112},264,{"file":97,"line":198,"context":112},265,{"file":97,"line":200,"context":112},266,1,[],[],{"summary":205,"deductions":206},"This plugin, lesson-bookmark-tutor-lms v2.0.3, exhibits a mixed security posture with some concerning elements despite a clean vulnerability history.  The presence of two AJAX handlers without authentication checks is a significant weakness, creating an easily exploitable attack surface.  Additionally, the use of the `unserialize` function is a red flag, as it can lead to deserialization vulnerabilities if the input is not strictly controlled and sanitized, which is not explicitly demonstrated as being done here.  The limited output escaping also raises concerns about potential cross-site scripting (XSS) vulnerabilities in a portion of the plugin's output.",[207,210,213,215],{"reason":208,"points":209},"AJAX handlers without authentication",8,{"reason":211,"points":212},"Use of unserialize function",7,{"reason":214,"points":106},"Low percentage of properly escaped output",{"reason":216,"points":106},"No capability checks on entry points","2026-03-16T19:49:25.000Z",{"wat":219,"direct":228},{"assetPaths":220,"generatorPatterns":223,"scriptPaths":224,"versionParams":226},[221,222],"\u002Fwp-content\u002Fplugins\u002Flesson-bookmark-tutor-lms\u002Fadmin\u002Fcss\u002Ftutor-lms-lesson-bookmark-admin.css","\u002Fwp-content\u002Fplugins\u002Flesson-bookmark-tutor-lms\u002Fadmin\u002Fjs\u002Ftutor-lms-lesson-bookmark-admin.js",[],[225],"admin\u002Fjs\u002Ftutor-lms-lesson-bookmark-admin.js",[227,227],"tutor-lms-lesson-bookmark-admin",{"cssClasses":229,"htmlComments":232,"htmlAttributes":233,"restEndpoints":235,"jsGlobals":236,"shortcodeOutput":237},[230,231],"tllb_review_notice","tllb_hide_notice",[],[234],"data-duration",[],[],[238],"[tllb_display_favorites]"]