{"id":339539,"date":"2026-07-17T14:26:18","date_gmt":"2026-07-17T14:26:18","guid":{"rendered":"https:\/\/ru.wordpress.org\/plugins\/papex-university-schedule\/"},"modified":"2026-07-17T14:26:09","modified_gmt":"2026-07-17T14:26:09","slug":"papex-university-schedule","status":"publish","type":"plugin","link":"https:\/\/ru.wordpress.org\/plugins\/papex-university-schedule\/","author":14857900,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"4.3.22","stable_tag":"4.3.22","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Papex University Schedule","header_author":"Andrew P. Popov \/ Papex","header_description":"Create, manage, import, export, and publish university class schedules.","assets_banners_color":"1e253f","last_updated":"2026-07-17 14:26:09","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/papex.ru\/papex-university-schedule\/","header_author_uri":"https:\/\/papex.ru\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"4.3.22":{"tag":"4.3.22","author":"papex","date":"2026-07-17 14:26:09"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3611638,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3611638,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3611638,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3611638,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["4.3.22"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3611651,"resolution":"1","location":"assets","locale":"","width":1916,"height":1217},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3611651,"resolution":"10","location":"assets","locale":"","width":1444,"height":1023},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3611651,"resolution":"2","location":"assets","locale":"","width":2292,"height":1390},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3611651,"resolution":"3","location":"assets","locale":"","width":1440,"height":1223},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3611651,"resolution":"4","location":"assets","locale":"","width":2560,"height":1440},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3611651,"resolution":"6","location":"assets","locale":"","width":1440,"height":1383},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3611651,"resolution":"7","location":"assets","locale":"","width":1439,"height":641},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3611651,"resolution":"8","location":"assets","locale":"","width":1434,"height":1100},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3611651,"resolution":"9","location":"assets","locale":"","width":1438,"height":686}},"screenshots":[]},"plugin_section":[],"plugin_tags":[416,5298,4062,1612,15476],"plugin_category":[40,47],"plugin_contributors":[272035],"plugin_business_model":[],"class_list":["post-339539","plugin","type-plugin","status-publish","hentry","plugin_tags-calendar","plugin_tags-education","plugin_tags-schedule","plugin_tags-timetable","plugin_tags-university","plugin_category-calendar-and-events","plugin_category-education-and-support","plugin_contributors-papex","plugin_committers-papex"],"banners":{"banner":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/banner-772x250.png?rev=3611638","banner_2x":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/banner-1544x500.png?rev=3611638","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/icon-128x128.png?rev=3611638","icon_2x":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/icon-256x256.png?rev=3611638","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-1.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-2.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-3.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-4.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-6.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-7.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-8.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-9.png?rev=3611651","caption":""},{"src":"https:\/\/ps.w.org\/papex-university-schedule\/assets\/screenshot-10.png?rev=3611651","caption":""}],"raw_content":"<!--section=description-->\n<p>Papex University Schedule is a WordPress plugin for educational institutions that need to create and publish class schedules.<\/p>\n\n<p>The plugin provides separate administration sections for lessons, student groups, teachers, rooms, and Excel import\/export. Schedule data is stored in dedicated database tables instead of WordPress posts and post metadata.<\/p>\n\n<p>Main features:<\/p>\n\n<ul>\n<li>Responsive monthly schedule calendar.<\/li>\n<li>Mobile-friendly lesson display with start times.<\/li>\n<li>Filtering by student group.<\/li>\n<li>Detailed lesson information in a modal window.<\/li>\n<li>Separate directories for groups, teachers, and rooms.<\/li>\n<li>XLSX import with file type validation and a 20 MB size limit.<\/li>\n<li>Technical XLSX export for editing and re-importing.<\/li>\n<li>Formatted XLSX export for viewing and printing.<\/li>\n<li>Schedule management access for WordPress administrators and editors.<\/li>\n<\/ul>\n\n<p>Use the following shortcode on any page:<\/p>\n\n<pre><code>[papex_university_schedule]\n<\/code><\/pre>\n\n<p>The current interface language is Russian. The plugin uses the <code>papex-university-schedule<\/code> text domain and is being prepared for complete localization.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>papex-university-schedule<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP file through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Add <code>[papex_university_schedule]<\/code> to the page where the schedule should appear.<\/li>\n<li>Manage lessons and directories under the Schedule menu in the WordPress administration area.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20is%20schedule%20data%20stored%3F\"><h3>Where is schedule data stored?<\/h3><\/dt>\n<dd><p>The plugin stores schedule data in dedicated WordPress database tables.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20support%20excel%20files%3F\"><h3>Does the plugin support Excel files?<\/h3><\/dt>\n<dd><p>Yes. It imports and exports XLSX files. CSV files are not used.<\/p><\/dd>\n<dt id=\"which%20roles%20can%20manage%20the%20schedule%3F\"><h3>Which roles can manage the schedule?<\/h3><\/dt>\n<dd><p>WordPress administrators and editors can manage schedule data by default.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>4.3.22<\/h4>\n\n<ul>\n<li>Moved all administrative and print-page JavaScript into properly enqueued files.<\/li>\n<li>Moved print-page CSS into a properly enqueued stylesheet.<\/li>\n<li>Added dynamic print settings through wp_add_inline_style() and wp_localize_script().<\/li>\n<li>Removed direct script and style tags from PHP templates.<\/li>\n<\/ul>\n\n<h4>4.3.17<\/h4>\n\n<ul>\n<li>The table print layout now shows the full weekday name below each date.<\/li>\n<\/ul>\n\n<h4>4.3.16<\/h4>\n\n<ul>\n<li>Improved the table print layout for portrait pages and multi-page printing.<\/li>\n<li>Added unique print document names containing the current date and time.<\/li>\n<\/ul>\n\n<h4>4.3.15<\/h4>\n\n<ul>\n<li>Added calendar and table print layouts.<\/li>\n<li>Added automatic, standard, compact, and ultra-compact density modes.<\/li>\n<li>Printed lesson time and title now share one line.<\/li>\n<li>Automatic fitting adjusts only overflowing day cells and preserves the time size.<\/li>\n<li>Added A4\/A3 portrait and landscape orientation options.<\/li>\n<\/ul>\n\n<h4>4.3.13<\/h4>\n\n<ul>\n<li>The monthly print layout now always fits onto one physical sheet.<\/li>\n<li>Added A4 and A3 landscape paper-size selection.<\/li>\n<li>Calendar rows automatically share the available page height, including six-week months.<\/li>\n<\/ul>\n\n<h4>4.3.11<\/h4>\n\n<ul>\n<li>Added a standalone A4 landscape print view for the monthly schedule.<\/li>\n<li>Added a Print \/ PDF button to the public calendar.<\/li>\n<li>The print view can be printed directly or saved as PDF using the browser.<\/li>\n<li>Updated the Plugin URI.<\/li>\n<\/ul>\n\n<h4>4.3.10<\/h4>\n\n<ul>\n<li>Removed the remaining Plugin Check warnings for read-only calendar and administration query parameters.<\/li>\n<li>Sanitized each XLSX upload field individually instead of using the raw upload array.<\/li>\n<li>Improved compliance with WordPress coding standards without changing calendar navigation or Excel import behaviour.<\/li>\n<\/ul>\n\n<h4>4.3.9<\/h4>\n\n<ul>\n<li>Fixed all issues listed in the supplied WordPress Plugin Check report.<\/li>\n<li>Added unslashing and explicit sanitization for submitted administration data.<\/li>\n<li>Documented read-only query parameters that do not require nonce verification.<\/li>\n<li>Replaced restricted date calls with timezone-safe alternatives.<\/li>\n<li>Escaped sortable table header output.<\/li>\n<li>Replaced direct temporary-file reading and deletion with WordPress filesystem functions.<\/li>\n<li>Rewrote the plugin readme in standard English and added the languages directory.<\/li>\n<\/ul>\n\n<h4>4.3.8<\/h4>\n\n<ul>\n<li>Added validation for PHP upload errors.<\/li>\n<li>Added WordPress file type and extension validation for XLSX uploads.<\/li>\n<li>Limited imported XLSX files to 20 MB.<\/li>\n<li>Displayed the file-size limit on the import screen.<\/li>\n<\/ul>\n\n<h4>4.3.7<\/h4>\n\n<ul>\n<li>Restored the group-coloured left border for lesson cards without unnecessary <code>!important<\/code> declarations.<\/li>\n<\/ul>\n\n<h4>4.3.6<\/h4>\n\n<ul>\n<li>Removed unnecessary <code>!important<\/code> declarations and moved group colours to CSS custom properties.<\/li>\n<\/ul>\n\n<h4>4.3.5<\/h4>\n\n<ul>\n<li>Added the weekday below the selected mobile date.<\/li>\n<\/ul>\n\n<h4>4.3.4<\/h4>\n\n<ul>\n<li>Marked the current date with a thin green circle and improved empty-day date labels.<\/li>\n<\/ul>\n\n<h4>4.3.3<\/h4>\n\n<ul>\n<li>Improved mobile lesson borders, modal text colours, month navigation, and current-day indication.<\/li>\n<\/ul>\n\n<h4>4.3.2<\/h4>\n\n<ul>\n<li>Improved mobile lesson time badges.<\/li>\n<\/ul>\n\n<h4>4.3.1<\/h4>\n\n<ul>\n<li>Added mobile daily lesson cards and the Today button.<\/li>\n<\/ul>\n\n<h4>4.2.1<\/h4>\n\n<ul>\n<li>Improved formatted Excel export for viewing and printing.<\/li>\n<\/ul>\n\n<h4>4.1.2<\/h4>\n\n<ul>\n<li>Added technical and formatted Excel export modes.<\/li>\n<\/ul>\n\n<h4>4.1.1<\/h4>\n\n<ul>\n<li>Added XLSX import and export.<\/li>\n<\/ul>","raw_excerpt":"Create, manage, import, export, and publish responsive university class schedules.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/339539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=339539"}],"author":[{"embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/papex"}],"wp:attachment":[{"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=339539"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=339539"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=339539"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=339539"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=339539"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ru.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=339539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}