ÿØÿà JFIF    ÿÛ „  ( %!1"%)+...383-7(-.+  -%%--------+------------/----------------------------ÿÀ  ¶" ÿÄ     ÿÄ @    !1AQaq‘¡"±ÁÑð2’BRráS‚ñ3b¢CT²Ò #cÿÄ    ÿÄ '   1!AQ2a"‘±#ÿÚ   ? ò(/p‘—–¢·,M|¯G»R£üešT. ôŸEoCFñ‡ 4ÔkåóxR|µÁ¨ÓDà!Ç´µ˜‡p ÍQ‹§!þž^õWsŒy  åÁ§$á«%ºq˜™JyyË0y«^Ϗ -3ÃÏËÈ£Æ\P’ä„s&•‹Üs üô'àWt¹pñCp$bÚF`·7.^)¾!)ÒÙ˜–ÅÏš^h¾ø³·ìe±ŒaeÖ—Í,e=B}Jéߦ$$½—šÙÜCC¯¶è8β–Åkèwx LÉngT±æ¹£Ócœ¿Í/©Éÿ ‰ÚCÒ­mq;Tt¶–}0"zÖPcd1š­¤tˆ„ÐÓâqú[™öUCŠ2޿د­É(¸ßúçšmW,Ò ºf‹Ån™ÄLêÁ8üÁkÁ€L¥ÍuJ1œôrÂSŒÓöt!7EUíïb)AËi¬â-ÙHk8òÁiXYwÅ)O^"ÇØriÛô{»wRUKÙÏÚlÓ¬€‚’שT ] ªb—ÊîKC^×M“xùäñz¬zJ× {4[¹M'IÆeH1LCWÕ]œûº WDæà°OÅ‚¹c²ÞuA–rL`HšpCez‡V’— Ž‚Ë„–ñ­'µR0ÕÖ=À:±G»C\nÆÉ5*¢ †3šhQ4ýÒi$Õ1"Ü]¢p-q3zcQ$ªö¨¥æf›‘»´ÝÚHá„e²JÇ–iÊ:·à¬Øc5Åk»Laª*wi [0Ówk ¦a¦0Õ²ÅÅ‚T¸’³q:Æ<¹ú Ò˜Æ}2VE•Ѐp¡Ô3Úº …h³^LJºçì¥Ánó|˜ÖˆÎˆ+« ¦dø‘Mº–d\ªDðÛ„Ì×LÝ——Ð9Ç|•FèçVm™¨€™3õS–9Äå¢<̉Ìm¢±`·º˜&Z²ž Ë®D«¶»6™‰©­HÈ Àá«h­i³04æ’hxœi3ï¨(ÓL·†‹¶ËpŒ ƒÜÒ? :õdsÀ –3æÓ·Üjâ¬9—]8n¼&]I F£¼…ì–—Œ0v°LǐÅfÛ2TÖ’aµ˜N@ÖBSÏ^à´4-±°b×nÈÈœÆD=KdŒø…ÄÈK,›ÖR§fjü$^ÔÎ!„6^ s:Üun\ôkCÞò÷<—Lúl Í›G¹ÀPá¼Nc¡šÒ…ÙWͳœ±vÊáЄ×9‹P‰cEØ‘™›µŸP<×g1 º©Ø¬wiÁ^l5× I/';Ë+´Z‡ÓÄFÕp[Èð’ HÄ ó 9¬Dl4“é±Ï”V=^Hð;žLädÉa‚°Ë,#/Ž~²BÔÛ QãñQtIeórVB,ÏÂf‹4#Μc‹É3ZIÖ Œ¢¥·üxa‡Ãçè„jŠ[5 Ä!U?,3žÎ×…ðdÓ÷háŠA‰ìÄ4÷ÃÜZÃE{‰®+W\ZÍE[‰»µk»MÝ­`¢©†˜ÃV‹-f¢¡†¢a«eŠ%«Y¨©q%jâd,Ôq`) ¤¦…šˆ ¦E>0Ùb²t–Ÿ  ÷jsςҒKÈcø(é›;k(’#ôŒQ ™C> õ³M9óºÆµ¤çâ;uÀ)5>RÔ¸fÓ~Ȧ—’-$fe«"FâUˆÊwµPÏu w+"åÉó¨6s™Û9(À¨ù©hE°½†n`m~“@©›p!Vkhµ Á1šbEqqÊ@ºèl›2 –Yã%‘‚hÛ{a¶‡ÅÞM²¬çL34®Çl]®‹ŽØŒm'RÜe35æöˆ­Á­ cP9šeÁköo´L³Ì=p8]”‡B¶,šº|ɏdzXˆØk*ÇÚ{#ñ‰pã(€¶‡9ý'šÜ³½¯kƒ†Â’ëSOƒ•Å®H6+a¢µˆ‹Y¨b˜b+XˆÖ!°u!¢"µˆˆn2ˆ Å0Ä`Å Ô®c(ÓÜGº•Ä»Œ âWî%q.áÐÄ÷î%umÍ£+ÜQ,Vn¦-GphU¸¢X­&,Gt ·K¢ÅÅ·¥RÄÊÉbKn N­R2g$VµÕó Qr#–ÓZUÏð0ÎtÙÀœz ëöo“Îk¯n„T°"SÞ+³/…€½"ižãO%Í%&Δâ‘ËØ´IˆÓ°Ë‰ÞM3.™yçÁzit›`4C`k¢¼á!álÄï sÂ[×!¤l¾æo"ƒIÔ'@ªu)3›ô®“@Z à¾] üœ'‡4¸PÞkÁ-qÄH‰ÓÍBd´ÿ —¹°ÄA&ÊUC„öz‚‚RæŠtf¬>˜ÑidšEçÑL÷áý¡V±h§­c¿¥¨ƒ@g¼…Ýö^ÞËc.ž„æ“I[ ª+·zÐÒÚ,½Ð»¶€C›7jk$๖€Ž¾ÅÙpp¶ÍþéΤ ½ØÎŒq ñpæžÅ¥#Øâ49ÃÂK^MYV“,¶Éz_òæ:…;Õ«¦I3âJ£¤û5$7Èxün\â]Êe¯(Ÿ&Ž‹¶2<6Ćf× æ¢ƱqWı[(ÙÂŽç‚T7¨@ÈÉÍß‚ïÙ"&3TYlGށ†)†#5ŠA©^T2ÆÁ†)©†©†¤yGXÁ†©"†)©¼ÅV WS†#©]R–r‹q5ÕbâWþBh¯u+ªÅÄ×ü„nÑ^êkªÁj‰jeœWˆÕÕ`µDµ2Ì+Ä µDµµ5Ô{¤Þ0RF’H÷AÛ<ÊÁ§ ƈæ0Ñ£ê4 öÚµ[¬/1²€â<-¬šö²r×0o×w ´xÐÒË„ g01¬„åEM蛇Ã\6µE›‘fÙO k÷CºnÓ1`iîÒ² áÂ!ÑLÄÿ ³¬\õ*:M=Ç»c‹2[‰ØsÕLò\ŒK L^™üÄN\¶#» Ç\……ßïIœÉ$¸ÎñÍ®ÔHÇ Ûí/´>Li”„†g^$ 7NÍÑÑ2M2ªNg=k½Ð}Ÿl6‡ —JWˆ”ÞéT·+µ¦üÂFè¢Vs6ýÆ4»2+2IÝ9ô9®ÇGÙÇ1+Ä8;*Õ§ž½D*îÑWÚçá3Ma¤·ˆ¥t}š²Ü…Q+Æüµ8HíS”üxGéÁˆ¦Ël„éÈ 5 µÄƒ6äÜ(kIš¯S†fÖ&¸®×v|Äyˆ*禌Éù@7-®Ä[]ÎÖ¿ê`º…=:…žJVnݳvðÖKE¼‚ »mà ÷f®:Ë ™–4rð¡4` ܹçž~‹C=œ…¾Ïj|VDtK.ƒ"9 Ï ­–éXá³6WÒïIL-Ї Ç home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/my/upgrade.txt000064400000000365152265340270021510 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes changes in the my system. === 4.0 === * Introduce a new /courses page * Tighten up the typing within the lib file home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/user/upgrade.txt000064400000017467152266356350022063 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes for code that uses the user API. === 4.4 === * The `profile_field_base` class now contains a `show_field_content` method to determine whether the field and content should be shown to the user. Can be overridden in child classes as required === 4.3 === * Added new methods: - `core_user::get_profile_picture` for retrieving user picture. - `core_user::get_profile_url` for retrieving profile url. - `core_user::get_fullname` for retrieving user full name. * The `core_user/repository` Javascript module now exports new methods for manipulating user preferences: - `[get|set]UserPreference` - `[get|set]UserPreferences` * The following user preference helpers have been deprecated, please use the `core_user/repository` module instead: - `user_preference_allow_ajax_update` - `M.util.set_user_preference` - `lib/ajax/setuserpref.php` * The external `core_user_set_user_preferences` method will now default the `userid` property of each preference to that of the current user, if omitted * The following previously deprecated methods have been removed and can no longer be used: - `profile_display_fields` - `profile_edit_category` - `profile_edit_field` - `user_get_participants` - `user_get_participants_sql` - `user_get_total_participants` * The users_search_sql function parameter $searchanywhere has been change to $searchtype for different type of search. $searchtype is a int parameter and has three constant value: USER_SEARCH_STARTS_WITH: 0, USER_SEARCH_CONTAINS: 1, USER_SEARCH_EXACT_MATCH: 2 users_search_sql('User Test 2', '', false) => users_search_sql('Test Street', '', USER_SEARCH_CONTAINS) === 4.2 === * Added get_internalfield_list() and get_internalfields() in the user_field_mapping class. The get_internalfield_list() returns data in an array by grouping profile fields based on field categories, used for internal field name dropdown in the user field mapping of Oauth2 services The get_internalfields() converts the result from get_internalfield_list() into flat array, used to save/update the profile data when a user uses OAuth2 services. * Added get_profile_field_names() and get_profile_field_list() in the profile_field_base class. The get_profile_field_names() returns the list of valid custom profile user fields. The get_profile_field_list() returns the profile fields in a format that can be used for choices in a group select menu. * New method `core_user::is_current_user`, useful for components implementing permission callbacks for their preferences * New `profile_get_user_field` method for returning profile field instance of given type * The `profile_field_base::is_visible` method now accepts an optional `$context` argument * External function core_user_external::add_user_private_files() now returns moodle_exception when the user quota is exceeded * The `customfields` structure used for returning user profile fields information has been updated to: * Return in the field `value` the value of the custom field (as stored in the database) * Return in the field `displayvalue` the value of the custom field for display External systems displaying user information should always use `displayvalue`. * New method `user_update_device_public_key()`` and accompanying external function core_user_external::update_device_public_key to update a user's app generated public key by device uuid and app id. === 4.1 === * Added a new method is_transform_supported() in the profile_field_base class. The purpose is to allow the field to be transformed during the export process. It has been implemented in the Date/Time data type (Applied in 4.1, 4.0.6). * user_get_user_details_courses() now accepts an optional second parameter, an array of userfields that should be returned. The values passed into the $userfields parameter must all be included in the return from user_get_default_fields(). It also allows you to reduce how much of a user record is required by the method. The minimum user record fields are: * id * deleted * all potential fullname fields * Participant filter is moved to core as an API which can be used in different areas of core by implementing the API and filterable objects. As a part of making the API mature as a core one, these are the js files moved from core user to core library: * user/amd/src/local/participantsfilter/filter.js → lib/amd/src/datafilter/filtertype.js * user/amd/src/local/participantsfilter/filtertypes/country.js → lib/amd/src/datafilter/filtertypes/country.js * user/amd/src/local/participantsfilter/filtertypes/courseid.js → lib/amd/src/datafilter/filtertypes/courseid.js * user/amd/src/local/participantsfilter/filtertypes/keyword.js → lib/amd/src/datafilter/filtertypes/keyword.js * user/amd/src/local/participantsfilter/selectors.js → lib/amd/src/datafilter/selectors.js The following mustache have been moved from core user to core library: * user/templates/local/participantsfilter/filterrow.mustache → lib/templates/datafilter/filter_row.mustache * user/templates/local/participantsfilter/filtertype.mustache → lib/templates/datafilter/filter_type.mustache * user/templates/local/participantsfilter/filtertypes.mustache → lib/templates/datafilter/filter_types.mustache * user/templates/local/participantsfilter/autocomplete_layout.mustache → lib/templates/datafilter/autocomplete_layout.mustache * user/templates/local/participantsfilter/autocomplete_selection.mustache → lib/templates/datafilter/autocomplete_selection.mustache * user/templates/local/participantsfilter/autocomplete_selection_items.mustache → lib/templates/datafilter/autocomplete_selection_items.mustache Class participant_filter now extends core filter api in core user. * The unified_filter function has been finally deprecated and cannot be used anymore * The class \core_user\output\unified_filter has been finally deprecated and removed === 4.0 === * External function core_user_external::update_users() will now fail on a per user basis. Previously if one user update failed all users in the operation would fail. * External function core_user_external::update_users() now returns an error code and message to why a user update action failed. * New method `core_user\fields::get_sql_fullname` for retrieving user fullname format in SQL statement * The `profile_get_custom_field_data_by_shortname` method now accepts an optional parameter to determine whether to use case-sensitive matching of the profile field shortname or not (default true) === 3.11 === * Added new core_user/form_user_selector JS module that can be used as the 'ajax' handler for the autocomplete form element implementing the user selector. * Added new external function core_user_external::search_identity(). The main purpose of this external function is to provide data for asynchronous user selectors and similar widgets. It allows to search users matching the given query in their name or other available identity fields. === 3.9 === * The unified filter has been replaced by the participants filter. The following have therefore been deprecated: * Library functions: * user_get_participants_sql * user_get_total_participants * user_get_participants * Unified filter renderer (core_user_renderer::unified_filter) * Unified filter renderable (\core_user\output\unified_filter) * Unified filter JavaScript (core_user/unified_filter.js and core_user/unified_filter_datasource.js) * Unified filter template (unified_filter.mustache) === 3.6 === * The following functions have been finally deprecated and can not be used anymore: * useredit_update_picture() * core_user_external::update_user_preferences() now allows to unset existing preferences values. If the preference value field is not set, the preference will be unset. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/theme/boost/upgrade.txt000064400000013265152266370660023325 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in /theme/boost information provided here is intended especially for theme designers. === 4.4 === * Bootstrap badge color helper clases (badge-[primary|secondary|...]) are no longer used, use bg-[primary|secondary|...] instead. * Bootstrap badge-pill is no longer used, use rounded-pill instead. * The bootstrap ´.media´ helper class has been replaced with utility classes (´d-flex´, ´flex-shrink-´, ´flex-grow-´, ...) * The following bootstrap mixins that will be deprecated in BS5 have been replaced with their CSS code: - hover, hover-focus, plain-hover-focus and hover-focus-active - float-left, float-right and float-none - nav-divider - img-retina - text-hide - invisible - form-control-focus - text-emphasis-variant - size - make-container-max-widths - g-variant and bg-gradient-variant * Bootstrap `.form-group` helper class is no longer used, use margin utilities instead (´mb-3´, ...). * Bootstrap `.form-inline` helper class is no longer used, use display utilities instead (`.d-flex.flex-wrap.align-items-center`). * The `.dashboard-card` class has been removed in favour of `.course-card` and `theme-card`. * Bootstrap `.card-deck` helper class is no longer used, use grid utility classes (row, row-cols, ...) instead. === 4.3 === * The $activity-iconcontainer-height and $activity-iconcontainer-width variables have been changed from 50px to 52px. * New SCSS mixin optional_animate to animate an element unless if the user has reduced motion in their preferences. === 4.0 === * Following the adopted standards, breadcrumbs have been removed for pages that reside on the 1st level within a course e.g. participants, grades, settings, reports. * Any custom complex node structures added to the nav tree will now be displayed as a flattened structure within the corresponding secondary navigation. It is dependent on what the first url for the construct. Refer to secondary_test.php:test_add_external_nodes_to_secondary for examples. * New function addblockbutton in the renderer, which generates the new 'Add a block' button. Call this and output it into your templates. * In order to view additional custom nodes, leverage the 'get_overflow_menu_data' which returns url_select if there are nodes available. * In order for existing themes to leverage the changes in the Boost theme, it is recommended to follow the guidelines in the 4.0 docs https://moodledev.io/docs/4.1/devupdate === 3.7 === * Templates and renderers moved to core. * Behat override steps moved to core. Form element template --------------------- A 'wrapperid' has been added to 'templates/core_form/element-template.mustache' to restore unique ids on Boost form element wrappers. This restores the same unique element ids seen on elements in BS2 themes, which were mistakenly dropped when introducing the Boost theme. === 3.5 === The Boost theme now uses Bootstrap 4 Stable (BS4S). We are trying to use as much BS4S classes in MDL Templates to reduce the amount of Moodle CSS. The biggest changes are: JavaScript ---------- * All Bootstrap javascript has been updated. Sass ---- * A number of variables are no longer available in Bootstrap 4 Stable. For now a bs4alpha compatibility file has been added, see scss/bs4alphacompat.scss which translates veriable names from the Alpha version to the stable version. * m-t-* and other spacing utilities should be replaced with mt-*. The units that were used for margins have changed too m-t-1 is now mt-3 m-t-2 is now mt-4 m-t-3 is now mt-5 Grid and Flexbox ---------------- The Boostrap grid uses CSS's flexbox grid to build layouts. New breakpoints for grids have been added: .col-* <576px .col-sm-* >= 576px .col-md-* >= 768px .col-lg-* >= 992px .col-xl-* >= 1200px All usage of '*-xs-*' have been dropped. So what used to be col-xs-6 should now be written as col-6. *-md-* has become *-lg-*, and *-lg-* has become *-xl-*. Typography ---------- Boostrap 4 uses a native font stack that selects the best font-family for each OS and device. For font sizing the browser default root font-size (typically 16px) is used. this variable can be changed using the variable '$font-size-base'. In the default Boost preset we use: "0.9375rem" which computes to 15px on most browser. Presets ------- The structure of preset files have changed. The new structure of a preset file is: // Space to set variables. $font-size-base: 0.9375rem // Import FontAwesome. @import "fontawesome"; // Import All of Bootstrap. @import "bootstrap"; // Import Core moodle CSS. @import "moodle"; // Space to use Bootstrap mixins and extends. .navbar { @include shadow(); } Bootswatches ------------ Bootstrap 4 bootswatches can be imported using the theme/boost/cli/import-bootswatch.php script. Generated bootswatches can be added in the theme boost settings page. Changed Components ------------------ Cards need this structure class='card' class='card-body' This used to be 'card-block' The header.mustache template has been replace by a navbar.mustache template for name consistancy with Bootstrap A new header.mustache template has been created served from core/core_renderer.php. This should be move to core at some point. === 3.4 === * For improved accessibility, the footer links for boost have been changed to use $bg-inverse-link-color (defaults to white) and now have an underline text-decoration. To override the link colour simply set $bg-inverse-link-color in your preset file or theme scss. * To match the new primary colour we are switching to using the UX pallette, which uses a purple colour for info. To override, set $brand-info in your preset file or theme scss. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/portfolio/upgrade.txt000064400000003267152266404250023104 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /portfolio/ portfolio system, information provided here is intended especially for developers. === 4.0 === * The portfolio_boxnet has been completely removed. * The portfolio_picasa has been completely removed (Picasa is discontinued since 2016). === 3.7 === * The portfolio_cron() function has been removed. Please use portfolio_cron_task scheduled task instead. === 3.1 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-51580 for more info: - portfolio_picasa_admin_upgrade_notification() - portfolio_googledocs_admin_upgrade_notification() - portfolio_boxnet_admin_upgrade_notification() === 2.4 === The set_callback_options function's third parameter has been changed from a file path to the component name - see MDL-33791. However, if any existing code passes a file path Moodle will attempt to obtain the component name from the file path provided. Also, the callback class should be located in the module's locallib.php file. Example of change: This: $button->set_callback_options('assignment_portfolio_caller', array('id' => $this->cm->id, 'fileid' => $file->get_id()), '/mod/assignment/locallib.php'); Now becomes: $button->set_callback_options('assignment_portfolio_caller', array('id' => $this->cm->id, 'fileid' => $file->get_id()), 'mod_assignment'); === 2.3 === required changes: * The following methods must now be declared static for php5 compatibility: - admin_config_form - admin_config_validation home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/repository/upgrade.txt000064400000015635152266407230023311 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /repository/ repository system, information provided here is intended especially for developers. Full details of the repository API are available on Moodle docs: https://moodledev.io/docs/apis/plugintypes/repository === 4.3 === * The base `repository` class method `get_file_size` has been deprecated and should not be used any more === 4.0 === * The repository_boxnet has been completely removed. * The repository_picasa has been completely removed (Picasa is discontinued since 2016). * The skydrive repository has been completely removed from core. It has been moved to the plugins database repository, so it can still be installed as a third-party plugin. * Methods can_import_skydrive_files() and import_skydrive_files have been deprecated from repository_onedrive. The feature For importing files from repository_skydrive to repository_onedrive will be completely removed in Moodle 4.4. === 3.11 === * The Google Drive repository now includes a new rest API function 'shared_drives_list', which can be used to fetch a list of existing shared drives. * The Google Drive repository now supports browsing and searching for content from shared drives. * The method build_breadcrumb() in repository/googledocs/lib.php has been deprecated, please use get_navigation() from the googledocs repository content classes instead. * The method build_node_path() in repository/googledocs/lib.php has been deprecated, please use \repository_googledocs\helper::build_node_path() instead. * The method explode_node_path() in repository/googledocs/lib.php has been deprecated, please use \repository_googledocs\helper::explode_node_path() instead. * The function query() in repository/googledocs/lib.php is deprecated, please use get_content_nodes() from the googledocs repository content classes instead. === 3.4 === Repositories should no longer directly call file_system#add_file_to_pool or file_system#add_string_to_pool instead they should call the stored_file method, set_synchronised_content_from_file or set_synchronised_content_from_string === 3.3 === The skydrive repository is deprecated - please migrate to the newer onedrive repository. === 3.2 === * The method repository::uses_post_requests() has been deprecated and must not be used anymore. * The alfresco repository has been moved to the plugins database. It was using an older version of the Alfresco SDK which is not compatible with recent versions of Alfresco. === 3.1 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-51580 for more info: - repository_picasa_admin_upgrade_notification() - repository_googledocs_admin_upgrade_notification() - repository_boxnet_admin_upgrade_notification() - repository_alfresco_admin_security_key_notice() * The prepare_file() function will now return a file in a per-request directory which will be automatically cleaned at the end of the request. No modifications should be required as a result of this change. === 2.8 === * Repositories working with Moodle files must replace serialize() with json_encode() in the attribute 'source' returned by get_listing(). If repository overrides file_is_accessible(), get_file_reference() or get_file_source_info() they need to be changed too. See MDL-45616. === 2.6 === * get_option() now always return null when the first parameter ($config) is not empty, and no value was found for this $config. Previously this could sometimes return an empty array(). * The function repository_attach_id() was removed, it was never used and was not useful. * New functions send_relative_file() and supports_relative_file() to allow sending relative linked files - see filesystem repository for example. * DB fields files.referencelifetime, files.referencelastsync and files_reference.lifetime are deleted. The last synchronization time is stored only in files_reference.lastsync and lifetime is not stored in DB any more, each repository must decide for itself when to synchronize the file in function repository::sync_reference(). * The following methods in class repository are deprecated: sync_external_file(), get_file_by_reference(), get_reference_file_lifetime(), sync_individual_file() and reset_caches(). Instead there is one method repository::sync_reference() - this simplifies the repositories API and reduces the number of DB queries. * Deprecated const GETFILE_TIMEOUT, SYNCFILE_TIMEOUT and SYNCIMAGE_TIMEOUT and replaced them with config variables repositorygetfiletimeout, repositorysyncfiletimeout and repositorysyncimagetimeout. === 2.5 === * repository::append_suffix() has been deprecated, use repository::get_unused_filename() if you need to get a file name which has not yet been used in the draft area. * contains_private_data() is a new method to determine if a user 'logged in as' another user can access the content of the repository. The default is to return True (no access). * get_typename() returns the type of repository: dropbox, googledocs, etc... * can_be_edited_by_user() encapsulates all the tests to make sure that the current user has the rights to edit the instance of this repository. * repository::get_instances() (used by filepicker and texteditor to populate the list of available repositories) now calls repository constructor specifying the context where repository will be used. When checking permissions inside repository class use: $this->instance->contextid - to find the context where repository was created; $this->context - to find the current context where repository is used. This also means that the same repository instance may now have different names when called from different contexts. Avoid calling repository::get_instance(), use repository::get_repository_by_id() instead. === 2.4 === * copy_to_area() can receive a new parameter called $areamaxbytes which controls the maximum size of the area the files will be stored in. * the repositories using the upload() method should implement a check for $areamaxbytes, see repository/upload/lib.php upload() and process_upload() for an example on how handling it. === 2.3 === * instance_config_form() must now be declared static for php5.4 compatibility. * get_listing() and search() file metadata details are now now more prominently displayed in the interface. Dates and timestamos are now able to be sorted on in the filepicker interface so plugin authors are asked to ensure: - Dates are defined as UNIX timestamps - Filesize is an integer in bytes * It is recomended to define function get_file_source_info() to provide more rich infromation about the source of a file. * The API was extended to allow repositories can now support external references, please see https://moodledev.io/docs/apis/plugintypes/repository for further details. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/course/format/upgrade.txt000064400000044643152266413700023662 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes for course formats Overview of this plugin type at https://moodledev.io/docs/apis/plugintypes/format === 4.4 === * The core_courseformat\output\local\content\section::export_for_template() is not returning hiddenfromstudents and notavailable directly in the data array anymore. Instead, it returns the visibility data in the 'visibility' key. It means that templates derived from core should be adjusted to use $data->visibility->hiddenfromstudents and $data->visibility->notavailable instead of $data->hiddenfromstudents and $data->notavailable. * The state mutations sectionMove is deprecated. From now on sectionMoveAfter is the only valid section move mutation. * The state action core_courseformat\stateactions::section_move is deprecated and replaced by core_courseformat\stateactions::section_move_after. * $CFG->linkcoursesections setting has been completely removed because it's not required anymore. From now on, sections will be always linked because a new page, section.php, has been created to display any single section. * Final deprecation for: - core_courseformat\output\section_renderer::section_edit_control_menu - core_courseformat\output\section_renderer::section_right_content - core_courseformat\output\section_renderer::section_left_content - core_courseformat\output\section_renderer::section_header - core_courseformat\output\section_renderer::section_footer - core_courseformat\output\section_renderer::start_section_list - core_courseformat\output\section_renderer::end_section_list - core_courseformat\output\section_renderer::section_edit_control_items - core_courseformat\output\section_renderer::section_summary - core_courseformat\output\section_renderer::section_activity_summary - core_courseformat\output\section_renderer::section_availability_message - core_courseformat\output\section_renderer::section_availability - core_courseformat\output\section_renderer::course_activity_clipboard - core_courseformat\output\section_renderer::get_nav_links - core_courseformat\output\section_renderer::stealth_section_header - core_courseformat\output\section_renderer::stealth_section_footer - core_courseformat\output\section_renderer::section_nav_selection - core_courseformat\output\section_renderer::print_single_section_page - core_courseformat\output\section_renderer::print_multiple_section_page - core_courseformat\output\section_renderer::change_number_sections - core_courseformat\output\section_renderer::format_summary_text - core_course_renderer::course_section_cm_edit_actions - core_course_renderer::is_cm_conditionally_hidden - core_course_renderer::course_section_cm_name - core_course_renderer::course_section_cm_classes - core_course_renderer::course_section_cm_name_title - core_course_renderer::course_section_cm_text - core_course_renderer::availability_info - core_course_renderer::course_section_cm_availability - core_course_renderer::course_section_cm_list_item - core_course_renderer::course_section_cm - core_course_renderer::course_section_cm_list - core_course\output\course_module_name - course/format/renderer.php - course/format/topics/renderer.php - course/format/weeks/renderer.php * New core_courseformat\sectiondelegate class. The class can be extended by plugins to take control of a course section. * The methods core_courseformat\base::set_section_number() and core_courseformat\base:: get_section_number() have been deprecated and replaced by core_courseformat\base::set_sectionnum() and core_courseformat\base::get_sectionnum(). The new methods use the null value when all the sections must be displayed (instead of 0). That way, section 0 (General), can be displayed on a single page too. * The course format setting has been updated to use a choice dropdown form element instead of a select element. Third-party plugins can now include the string 'plugin_description' to provide a description of the course format. * A new item, initsections, has been added to the testing_data_generator::create_course() function, to let the generator rename the sections to "Section X". * The core_courseformat\base::get_format_string last parameter has been removed because it was erroneous. * New core_courseformat\base::add_section_preference_ids() to add the section ids to course format preferences. * New core_courseformat\base::remove_section_preference_ids() to remove the section ids out of course format preferences. === 4.3 === * New core_courseformat\output\activitybadge class that can be extended by any module to display content near the activity name. The content of the afterlink feature has been moved to the end of the activity card so modules using it should check this new feature which might fit better. Some considerations about the activitybadge feature: - The badge content is always plain text (no HTML). - The badge style can be set (by default is initialized with badge-none, but it can be set by any module). - An optional URL to redirect the user when the badge is clicked. - An optional ID to add the element in case the module wants to add some JS to the badge events. - Optionally, any other extra HTML attributes to the badge element (for example, data attributes). * Protected function `core_courseformat\output\local\content\section\availability::availability_info()` has been deprecated, `core_courseformat\output\local\content\section\availability::get_availability_data()` should be used instead. * New course format output classes: - core_courseformat\output\local\content\cm\groupmode output class to display the groupmode icon in the activity card. === 4.2 === * New core_courseformat\base::get_context() to get the course context directly from the format instance. * New core_courseformat\base::delete_module() method. Now format plugins can extend the activity deletion logic by overriding this method. * The reactive course editor now uses the standard fragment library to refresh an individual section or activity card in the course content. Instead of using adhoc YUI methods and webservice, the new fragment methods are: - core_courseformat_output_fragment_cmitem - core_courseformat_output_fragment_section * New methods and outputs added for bulk editing (only available for formats compatible with reactive components): - Mutations for editing the bulk data: bulkEnable, bulkReset, cmSelect, cmUnselect, sectionSelect and sectionUnselect. - Output classes overridable by the plugins: content\bulkedittools, content\bulkedittoggler - Renderer method: core_courseformat\output\section_renderer::bulk_editing_button - New overridable checkboxes: content/cm/bulkselect.mustache and content/section/bulkselect.mustache * Plugins can use the CSS class "bulk-hidden" to hide elements when the bulk editing is enabled. * New core_courseformat\base::duplicate_section method to duplicate course sections and their modules within a course. * The section renderer will now respect the new course view parameter 'expandsection'. If the course's view page is being called with this parameter set to a section number, this section will be shown expanded. * core_courseformat\base::get_view_url() now by default returns a url for the *expanded* section. This can be changed by adding ['expanded' => false] to the options parameter of get_view_url(). * The newly introduced protected method core_courseformat\output\local\content\section::is_section_collapsed() now should be used by format plugins to determine if a section should be rendered collapsed or expanded at first. This method can also be overwritten by course formats, but should respect the new 'expandsection' parameter when doing so. * New core_courseformat\base::get_editor_custom_strings() method to customize course editor strings. The returned string array is used to override section related strings in the frontend. * New core_courseformat\base::get_format_string() to get strings that can be overridden by the format plugin. The method will check first the string in the format_PLUGINNAME.php lang file and, if not, it will return the core_courseformat string instead. * New course format output classes: - core_courseformat\output\local\content\cm\visibility to display the activity availability. === 4.1 === * New \core_courseformat\stateupdates methods add_section_remove() and add_cm_remove() have been added to replace the deprecated methods add_section_delete() and add_cm_delete(). * The 4th param of the core_courseformat\output\local\content\cm\cmname construct is now deprecated. The page edition is now detected using the course_format\base:show_editor method as the rest of the core_courseformat outputs. It defaults to checking the capability 'moodle/course:manageactivities'. If different capabilities are needed to check, an array of capabilities can be passed as an optional parameter to the function. === 4.0 === * New core_courseformat\base::uses_course_index() to define whether the course format uses course index or not. * New core_courseformat\base::supports_components() to specify if the format is compatible with reactive components. * New core_courseformat\base::uses_indentation() to specify if the format is compatible with activity indentation. * New core_courseformat\base::get_course_display() if the course uses COURSE_DISPLAY_SINGLEPAGE or COURSE_DISPLAY_MULTIPAGE layout. === 3.10 === * Added the missing callback supports_ajax() to format_social. === 3.9 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-65809 for more info: - format_topics_upgrade_remove_numsections() - format_topics_upgrade_hide_extra_sections() - format_topics_upgrade_add_empty_sections() - format_weeks_upgrade_remove_numsections() - format_weeks_upgrade_hide_extra_sections() - format_weeks_upgrade_add_empty_sections() * The non-ajax controls to add resources and activities are now rendered only when needed, such as when the user preference is set, or when the theme sets $THEME->enablecourseajaxtheme to false. Formats which directly access the '.section_add_menus' element or its children should be updated accordingly. * section_header() now needs to include 'data-sectionid' => $section->section in the .section li to ensure correct section selection for the Activity Chooser. === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * section_edit_controls() === 3.6 === * New method validate_format_options() cleans the values of the course/section format options before inserting them in the database. Course format options can now be set in tool_uploadcourse and validation of user-submitted data is important. Note that validate_format_options() is now always called when somebody creates or edits course or section and also during restore and course upload. Default implementation validates against the definition of the form elements for format options. * The final deprecation of xxx_delete_course callback means that this function will no longer be called. Please use the observer for event \core\event\course_content_deleted instead. === 3.5 === * Course formats should overwrite get_config_for_external function to return the course format settings viewable by the current user. If the course format does not have any setting that could be considerated private (like a private/access key/token), is ok to return all the settigns via the get_format_options function. === 3.3 === * Javascript code for editing activities and sections was moved to an AMD module, course/rest.php is no longer responsible for editing actions, instead it is done in web services. Carefully test all editing actions during upgrade. * The new method format_base::allow_stealth_module_visibility() can indicate whether course format supports "stealth" activities mode when they are available but not visible on course page. Course format that supports stealth mode must check $cm->is_visible_on_course_page() when displaying activities list on the course page instead of $cm->uservisible. For all other plugins except course formats the same property $cm->uservisible indicates if the activity contents is actually available to student. * Option "Number of sections" (numsections) was removed from topics and weeks formats, instead the actual number of records in the course_sections table is treated as a number of sections (excluding section 0 that should always be present). * Method create_course() will populate the new course with empty sections if $data->numsections is provided even if "numsections" is not an option defined by the course format. * course/changenumsections.php can now be used to insert sections at any positions. * The variable SECTIONLEFTSIDE was changed from '.left .section-handle img' to '.left .section-handle .icon' in course/format/topics/format.js and course/format/weeks/format.js due to the introduction of Font Awesome (see MDL-40759) which altered the HTML. Please check if your course format relies on this selector, and if so, update it. === 3.2 === * Callback delete_course is deprecated and should be replaced with observer for event \core\event\course_content_deleted * Course formats can overwrite get_default_course_enddate function to set the default course end date for new courses. format_base::get_default_course_enddate uses the new "Course duration" site setting to calculate the default course end date from the default course start date. * New method format_base::supports_news() which is used to determine whether an Announcements forum will be automatically created on course creation. For course format plugin developers, please override format_base::supports_news() to return true if you want the Announcements forum to be created upon course creation and remove the block names defined in format_base::get_default_blocks(). === 3.1 === * Course format may use the inplace_editable template to allow quick editing of section names, see https://docs.moodle.org/dev/Inplace_editable and MDL-51802 for example implementation. === 3.0 === * Course formats should now use section_edit_control_items and use the returned array of controls items and their attributes to create a renderable menu or array of links. Plugin calls to section_edit_controls will now include the section edit control in the returned array. * The section name is now wrapped in a new span (.sectionname > span), process_sections method in format.js should be updated so .sectionname DOM node's wraps the section title in a span. You can look at how to implement the change in course/format/topics/format.js or MDL-48947. * New method format_base::get_default_section_name retrieves the default section name for the given course format. The base implementation basically uses the implementation of format_base::get_section_name. The method can be overridden in format_base subclasses that use sections (i.e. format_topics, format_weeks). In relation to the changes made for the default section name, the default section name is now being shown when editing the section information. === 2.9 === * Course formats may support deleting sections, see MDL-10405 for more details. format_section_renderer_base::section_edit_controls() is now also called for stealth sections and it also returns "delete" control. === 2.8 === * The activity chooser now uses M.course.format.get_sectionwrapperclass() to determine the section selector, rather than a hard-coded `li.section`. * Activity duplication in /course/modduplicate.php is deprecated and is now done in /course/mod.php. Deprecated calls will be honored by redirecting to /course/mod.php for 3rd party plugin support. * New method format_base::section_get_available_hook() allows plugins to override section availability. === 2.7 === * The ->testedbrowsers array no longer needs to be defined in supports_ajax(). * format_section_renderer_base::section_hidden has an new second optional argument $courseorid. If provided the section name is printed in the not available string when displaying the hidden section. === 2.6 === * core_course_renderer::course_section_cm_edit_actions has two new optional arguments and now uses and action_menu component. * core_course_renderer::course_section_cm has been altered to call core_course_renderer::course_section_cm_edit_actions with the two new arguments * An additional course renderer function has been created which allows you to specify the wrapper for a course module within a section (e.g. the
  • ). This can be found in core_course_renderer::course_section_cm_list_item(). === 2.5 === * Functions responsible for output in course/lib.php are deprecated, the code is moved to appropriate renderers: print_section(), print_section_add_menus(), get_print_section_cm_text(), make_editing_buttons() See functions' phpdocs in lib/deprecatedlib.php * Function get_print_section_cm_text() is deprecated, replaced with methods in cm_info === 2.4 === Course format API has been changed significantly. Instead of implementing callbacks course formats may overwrite the class format_base. See format_legacy class for a template for upgrading course format. * Function settings_navigation::add_course_editing_links() is completely removed, course format functions callback_XXXX_request_key() are no longer used (where XXXX is the course format name) * functions get_generic_section_name(), get_all_sections(), add_mod_to_section(), get_all_mods() are deprecated. See their phpdocs in lib/deprecatedlib.php on how to replace them * Course formats may now have their settings.php file as the most of other plugin types * Function format_section_renderer_base::is_section_current() is deprecated, overwrite/use function is_section_current in format class === 2.3 === * The new $course->coursedisplay option was introduced, users can now choose to display a section at a time if the course formats support it: - COURSE_DISPLAY_SINGLEPAGE indicates the teacher has chosen to display all sections on one page - COURSE_DISPLAY_MULTIPAGE indicates the teacher has chose to have seperate pages with each section. * The parameter for 'currently active section' was standardised in core: - The course format is passed the currently live section through the $displaysection varaible to format.php - A 'section' paramter is the standardised way to pass around the current section in a course - Navigation no longer looks for custom parameters defined in callback_format_request_key home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/competency/upgrade.txt000064400000002144152266422330023225 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /competency/*. The information provided here is intended especially for developers. === 3.7 === * tool_lp can render the ui for a competency summary or a competency picker. Use get_plugins_with_function('competency_picker') or get_plugins_with_function('render_competency_summary') to call it. === 3.3 === * Deprecated classes and their new equivalent: - core_competency\persistent -> core\persistent - core_competency\invalid_persistent_exception -> core\invalid_persistent_exception - core_competency\external\exporter -> core\external\exporter - core_competency\external\persistent_exporter -> core\external\persistent_exporter - core_competency\external\comment_area_exporter -> core_cohort\external\comment_area_exporter - core_competency\external\stored_file_exporter -> core_files\external\stored_file_exporter - core_competency\external\user_summary_exporter -> core_user\external\user_summary_exporter home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/dataformat/upgrade.txt000064400000003566152266422420023212 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /dataformat/ download system, information provided here is intended especially for developers. === 3.11.1 === * Optional $callback for the following \core\dataformat methods now receive a second argument to define whether the current format writer supports HTML: - download_data() - write_data() - write_data_to_filearea() === 3.9 === * The following methods have been added to the base dataformat class to allow instances to export to a local file. They can be overridden in extending classes to define how files should be created: - start_output_to_file() - close_output_to_file() * Calls to the following dataformat plugin methods have been removed: - write_header() - write_footer() * The following methods have been added to the base class to allow instances to define support for exporting HTML content, with additional support for defining how images should be embedded: - supports_html() - export_html_image_source() * Dataformat writers should also call the following method to ensure data is properly formatted before being written, which takes into account prior methods defining support for HTML: - format_record() === 3.4 === * In order to allow multiple sheets in an exported file the functions write_header() and write_footer() have been removed from core dataformat plugins and have been replaced. - write_header() has been replaced with the two functions start_output() and start_sheet(). - write_footer() has been replaced with the two functions close_output() and close_sheet(). For backwards compatibility write_header() and write_footer() will continue to work but if used will trigger the function error_log(). === 3.1 === * Added new plugin system with low memory support for csv, ods, xls and json home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/payment/upgrade.txt000064400000000536152266460400022537 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /payment/*, information provided here is intended especially for developers. === 3.11 === * Service provider plugins using the payment subsystem are now required to implement the get_success_url method. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/completion/upgrade.txt000064400000012724152266501440023235 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in /completion/* - completion, information provided here is intended especially for developers. === 4.4 === * A new method, cm_completion_details::is_overall_complete() has been added to calculate whether a module should be considered or not completed, based on their completion options and the current value for the overall complete state. * The following previously deprecated methods have been removed and can no longer be used: - `core_course_bulk_activity_completion_renderer::navigation` - `core_completion\manager::get_available_completion_tabs` * The following previously deprecated methods have been removed and can no longer be used: - `completion_info::display_help_icon` - `completion_info::print_help_icon` * The \core_completion\completion_info_exporter class has been updated to return a new field "isverallcomplete" to return the result of the new cm_completion_details::is_overall_complete() method. === 4.3 === * A trait class, core_completion/form/form_trait has been added to reuse code for adding and validation completion settings to any form. * New method is_manual() has been added to `core_completion/cm_completion_details` * The method manager::get_activities_and_resources() now has the optional $includedefaults parameter to define whether the default values should be included or not. * The methods manager::apply_default_completion() and manager::get_default_completion() now have the optional $suffix parameter to be added to the name of the completion rules. * The method manager::defaultcompletion() now has the $modules and $form parameters, to specify the modules that have been set through the form and the current form that has been sent. * Support for deprecated `[modname]_get_completion_state` callbacks has been removed, custom completion rules must be implemented by appropriate `mod_[modname]\completion\custom_completion` class instead * $CFG->completiondefault setting has been removed. === 4.0 === * New method mark_course_completions_activity_criteria() has been added to mark course completions instantly. It is based on cron for completion_criteria_activity.php which is refactored to use it as well. * Core now passes an additional parameter to '_get_completion_state'. This is an array representation of the completion results that have already been tested. Currently contains - viewed, usegrade, passgrade. Any plugin that are dependent on these criteria can now check this array instead of retesting it. * The method \completion_criteria_completion::mark_complete() now has the optional $timecompleted parameter to specify when the criteria was completed. * New method get_available_completion_options() has been added in the core_completion\manager class. This method can be used to obtain an array with the available completion options ([url => name]) for the current course and user. * The method get_available_completion_tabs() in the core_completion\manager class has been deprecated because the tabs navigation structure is no longer used in the completion pages. Please use core_completion\manager::get_available_completion_options() instead. === 3.11 === * New Behat steps for activity completion in the behat_completion class: - activity_completion_condition_displayed_as() - Given the "" completion condition of "" is displayed as "" - activity_should_have_the_completion_condition() - Given "" should have the "" completion condition - manual_completion_button_displayed_as() - Given the manual completion button of "" is displayed as "" - the_manual_completion_button_for_activity_should_be_disabled() - Given the manual completion button for "" should be disabled - there_should_be_no_completion_for_activity() - Given there should be no completion information shown for "" - toggle_the_manual_completion_state() - Given I toggle the manual completion state of "" - overridden_manual_completion_button_displayed_as - Given the manual completion button of "" overridden by "" is displayed as "" - overridden_activity_completion_condition_displayed_as - Given the "" completion condition of "" overridden by "" is displayed as "" * *_get_completion_state() callback functions have been deprecated and should no longer be used. Plugins that define custom completion rules must implement the mod_[modname]\completion\custom_completion class that extends the \core_completion\activity_custom_completion base class. === 3.7 === * External function core_completion_external::get_activities_completion_status new returns the following additional field: - valueused (indicates whether the completion state affects the availability of other content) * On the course page, only users with the capability 'moodle/course:isincompletionreports' (students, by default) can now tick the completion checkboxes. Teachers no longer get working checkboxes; tey see slightly different icons that indicate whether completion is enabled for the activity. These are the same icons which have always been shown to teachers before when the enabled the course editing mode. === 2.9 === * A completed and failed activity counts as a completed activity for course completion. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/webservice/upgrade.txt000064400000020021152266507200023207 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /webservice/* information provided here is intended especially for developers. This information is intended for authors of webservices, not people writing webservice clients. === 4.2 === * External function core_webservice_external::get_site_info() does not throw exceptions for missing components anymore. === 4.1 === * The XMLRPC webservice (protocol) has been completely removed. It's now available in the plugins directory. === 4.0 === * User access related exceptions have been changed to use the moodle_exception class instead of the generic webservice_access_exception, the main reason for this change is to allow clients to implement some code logic against an access error. === 3.11 === * The method webservice::get_user_capabilities() is deprecated now without a replacement. It has been used internally only to populate the list of missing capabilities. That functionality has been improved so that it no longer needs this standalone method. === 3.10 === * The class externallib_advanced_testcase, used in unit tests, has a new function called "configure_filters" to easily configure filters for external functions testing. === 3.8 === * Ajax calls can now specify a cache key. This allows for better caching capabilities on servers. If a cache key is passed and the web service call does not require the user to be logged in we will attempt to use GET for the request. This allows for things like proxy caching on URLs. The cache key must be changed if we do not want to retrieve what has been cached and want to perform the request again. * External function core_webservice_external::get_site_info() now returns the user private access key "userprivateaccesskey". This key could be used for fetching files via the tokenpluginfile.php script instead webservice/pluginfile.php to avoid multiple GET requests that include the WS token as a visible parameter. * External function core_webservice_external::get_site_info() now returns a new field "userissiteadmin" indicating if the current user is a site administrator. === 3.7 === * External function core_webservice_external::get_site_info() now returns the current site theme (for the user). === 3.4 === * External function core_webservice_external::get_site_info() now returns the calendar type used in the site and by the user in the sitecalendartype and usercalendartype fields. * Implementations of forms for test clients now must follow naming schema: WSFUNCTIONNAME_testclient_form The old naming schema WSFUNCTIONNAME_form caused conflicts with existing classes. New class webservice_test_client_base_form can be used as a base class for such forms. === 3.2 === * webservice->get_external_functions now returns the external function list ordered by name ASC. * The filearea optional parameter has been removed from webservice/upload.php. Since Moodle 3.1 all the uploads go to the draft area. * external_format_text() function: component, filearea and itemid are now optional parameters. In some contexts those parameteres are not necessary because is not required to do a file rewrite via file_rewrite_pluginfile_urls. * External function get_site_info now returns the site course ID. This new field is marked as VALUE_OPTIONAL for backwards compatibility. * A new field "privatetoken" has been added to the "external_tokens" table. This private token must be safely stored (or not stored at all) by the client because it will be used in places where a request must be double-checked. This token should not be passed via GET paramaters and it must be transmitted only via https. This token is generated only in login/token.php after the user credential has been confirmed. It can't be generated by admins. === 3.1 === * The xmlrpc backend has changed, Zend_XmlRpc has been dropped and there might be slight differences in responses. Fault strings that were generated by Zend_XmlRpc_XXX_Exception exceptions (i.e. 'Method "[methodname]" does not exist') are no longer used which may display a different error message depending on the string returned by the getMessage() method of the thrown exception. * The xmlrpc server is no longer enabled when the Mobile service is activated. * Support for the AMF protocol has been dropped completely. * As Zend Framework has been removed, the webservice_zend_* classes have also been removed. * Zend_SOAP has been dropped. The native PHP SoapClient and SoapServer classes are now being used instead. WSDL is now generated by the new class webservice_soap_wsdl. For fault strings, a different error message might be shown depending on the string returned by the getMessage() method of the thrown exception. * With Zend_SOAP dropped, moodle_zend_soap_server is now also deprecated. * As mentioned in the 2.9 notes, deprecated web service functions have now been removed. * Since our new XML-RPC server implementation does not support introspection, it is critical that all clients send parameters in the correct order. * File uploading to the user private file area via the webservice/upload.php script is not supported anymore. Only uploads to the draft area are allowed. === 3.0 === * WS protocols webservice/myprotocol:use capabilities were defined with a high riskbitmask value when the fact that a user has that capability does not imply any risk, but other capabilities that the user may have do. If your ws protocol does not imply and risk by itself, you can remove the riskbitmask from your $capabilities array in webservice/myprotocol/db/access.php * New function for formatting external strings: external_format_strings, it should be used as a replacement of format_string in external functions. All the occurrences of format_strings have been replaced with this new function. === 2.9 === * The deprecated functions can not be added to services anymore and a debugging message for developers is triggered when viewing an existing services using them. It is recommended to replace calls to the deprecated functions for calls to the proposed replacements. If you are using a moodle mobile app fork, it is recommended to update your customisations on top of the latest moodle mobile app version. The web services functions that will be finally deprecated in the next moodle version are: - moodle_course_create_courses - moodle_course_get_courses - moodle_enrol_get_enrolled_users - moodle_enrol_get_users_courses - moodle_enrol_manual_enrol_users - moodle_file_get_files - moodle_file_upload - moodle_group_add_groupmembers - moodle_group_create_groups - moodle_group_delete_groupmembers - moodle_group_delete_groups - moodle_group_get_course_groups - moodle_group_get_groupmembers - moodle_group_get_groups - moodle_message_send_instantmessages - moodle_notes_create_notes - moodle_role_assign - moodle_role_unassign - moodle_user_create_users - moodle_user_delete_users - moodle_user_get_course_participants_by_id - moodle_user_get_users_by_courseid - moodle_user_get_users_by_id - moodle_user_update_users - core_grade_get_definitions - core_user_get_users_by_id - moodle_webservice_get_siteinfo * External function core_webservice_external::get_site_info now returns additional optional fields: - advancedfeatures: Array listing Moodle advanced features and if enabled or not. - usercanmanageownfiles: Whether the my files option is disabled. - userquota: User storage quota. - usermaxuploadfilesize: Files upload size limit. === 2.7 === * All webservice server.php and simpleserver.php scripts must define('WS_SERVER', true) before including config.php file. === 2.6 === * webservice/upload.php Accepts 2 new post parameters to allow uploading of files to a users draft area. - filearea should be either 'private' (default) or 'draft' - itemid unused if the filearea is 'private', for 'draft' it can be the id of a previously created draft area - or 0 which will generate a new draft area for the files. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/comment/upgrade.txt000064400000001313152266540570022525 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /comment/* , information provided here is intended especially for developers. === 4.2 === * The comment manager `print_comments` method has been deprecated, in favour of new system report class for listing comment data === 3.8 === * External function get_comments now returns the total count of comments and the number of comments per page. It also has a new parameter to indicate the sorting direction (defaulted to DESC). * The external function core_comment_get_comments now indicates if the current user can post comments in the requested area. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/auth/manual/upgrade.txt000064400000000656152266541460023311 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /auth/manual/*, information provided here is intended especially for developers. === 3.3 === * The config.html file was migrated to use the admin settings API. The identifier for configuration data stored in config_plugins table was converted from 'auth/manual' to 'auth_manual'. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/plagiarism/upgrade.txt000064400000004361152266547110023216 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes for code that uses the plagiarism API. === 4.2 === * Final deprecation and removal of the following functions: - plagiarism_save_form_elements(), please use {plugin name}_coursemodule_edit_post_actions() instead. - plagiarism_get_form_elements_module(), please use {plugin name}_coursemodule_standard_elements() instead. - plagiarism_plugin::get_form_elements_module(), please use {plugin name}_coursemodule_edit_post_actions() instead. - plagiarism_plugin::save_form_elements(), please use {plugin name}_coursemodule_standard_elements() instead. === 4.0 === * The method update_status() has been deprecated. Please use {plugin name}_before_standard_top_of_body_html() instead. * The method get_configs() has been deprecated and will be removed from the abstract class as it was not used in core. * The method plagiarism_get_file_results has been deprecated - it was not used in core - please call a plagiarism plugins internal functions directly instead of using this function. === 3.11 === * Support for Essay question type in Quiz has now been implemented, allowing plagiarism plugins to display information on the quiz overview report and when viewing an essay question response. To implement support, plugins should add a listener to the \mod_quiz\event\attempt_submitted event to send the data to the plagiarism api using the essay question response summary (plain text response from the user). The function plagiarism_get_links should only be called to render the results. === 3.9 === * The method get_form_elements_module has been deprecated. Please use {plugin name}_coursemodule_standard_elements() instead. * The method save_form_elements has been deprecated. Please use {plugin name}_coursemodule_edit_post_actions() instead. === 3.7 === * The plagiarism_cron() function has been deleted, plugins should implement their own scheduled tasks. === 3.4 === * plagiarism_plugin::get_links() now gets passed the unformated content of online assignment === 3.1 === 1) The plagiarism_plugin::plagiarism_cron() and plagiarism_plugin::cron() methods have been deprecated. Plugins should now use scheduled tasks. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/auth/db/upgrade.txt000064400000001650152266547350022420 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /auth/db/*, information provided here is intended especially for developers. === 3.3 === * The config.html file was migrated to use the admin settings API. The identifier for configuration data stored in config_plugins table was converted from 'auth/db' to 'auth_db'. === 3.1 === * The auth_plugin_db::clean_data() has been deprecated and will be removed in a future version. Please update to use core_user::clean_data() instead. === 2.9 === Some alterations have been made to the handling of case sensitity handling of passwords and password hashes which previously varied depending on database configuration: * Plain text password matching is now always case sensitive * sha1/md5 hash comparisons are now enforced case insensitive (as underlying they are hexidecimal values) home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/auth/email/upgrade.txt000064400000001046152266551520023113 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /auth/email/*, information provided here is intended especially for developers. === 4.4 === * External function auth_email_external::get_signup_settings() now returns the field "extendedusernamechars". === 3.3 === * The config.html file was migrated to use the admin settings API. The identifier for configuration data stored in config_plugins table was converted from 'auth/email' to 'auth_email'. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/blocks/upgrade.txt000064400000015244152266551750022352 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /blocks/* - activity modules, information provided here is intended especially for developers. === 4.2 === * Block configuration form is now displayed in a modal. Class 'block_edit_form' now extends '\core_form\dynamic_form' and properties $block and $page are read-only. Normally no changes should be necessary to keep the old behavior of configuration form. * Block plugins can specify that they want to display configuration form when block is added to the page by overriding static method block_edit_form::display_form_when_adding(). * Web service 'core_block_fetch_addable_blocks' accepts new parameter 'pagehash' * JS module 'core/addblockmodal' is deprecated, instead there is new module 'core_block/add_modal' with similar functionality but different arguments. * Functions in the JS modules 'moodle-core-blockdraganddrop' have changed their parameters. File lib/ajax/blocks.php takes different arguments. No backward-compatibility is provided since these files are not part of the blocks API and not intended to be used by plugins. === 4.0 === * Block block_quiz_results has been completely removed from core. The Quiz results block is hidden by default since Moodle 2.9. It is recommended to use the Activity results block instead, which works with any type of activity (not just quizzes). * External function core_block::get_dashboard_blocks has a new parameter to indicate if you want to receive the block on the my/courses page. * The `core_block_fetch_addable_blocks` external method accepts an optional `subpage` parameter, in order to correctly calculate available blocks for pages that use this property (e.g. the user dashboard) * A new method, can_block_be_added(), has been added to let blocks override it when they want to include some extra checks to decide whether the block can be added to a page or not. === 3.8 === * Block block_community is no longer a part of core. * Block block_participants is no longer a part of core. * Block plugins should overwrite get_config_for_external function to return the blocks settings viewable by the current user. If the block plugin does not have any setting that could be considerated private (like a private/access key/token), is ok to return all the settings via the get_config_for_external function. === 3.7 === * The block:addinstance capability is no longer required if the block can only be added to a dashboard. === 3.6 === * The timeline view from block_myoverview has been split out into block_timeline. * External function core_blocks::get_course_blocks now returns the block visible status and weight for ordering. * New method added block_base::get_content_for_external(). It will return all the block contents rendered for external functions. If your block is returning formatted content or provide files for download, you should override this method to use the external_format_text, external_format_string functions for formatting or external_util::get_area_files for files. See block_html as example. * External functions core_block::get_course_blocks and core_block::get_dashboard_blocks have a new parameter to indicate if you want to receive the block contents. === 3.4 === * The block_instances table now contains fields timecreated and timemodified. If third-party code creates or updates these rows (without using the standard API), it should be modified to set these fields as appropriate. * Blocks can now be included in Moodle global search, with some limitations (at present, the search works only for blocks located directly on course pages or site home page). See the HTML block for an example. * Block block_messages is no longer a part of core. === 3.3 === * block_manager::get_required_by_theme_block_types() is no longer static. * The plugin block_course_overview has been removed from core and is being replaced by block_myoverview. During the upgrade process the block_course_overview block will be uninstalled and all its settings will be deleted. If you wish to keep the block_course_overview block and its settings, download it from moodle.org and put it back in the blocks/ directory BEFORE UPGRADING. === 3.1 === * The collapsed class was removed from the navigation block to make it compatible with aria. * New aria attributes were added on the navigation block [aria-expanded="false"]. * The tree JS handling were moved from YUI to AMD module (Jquery). === 2.9 === * The obsolete method preferred_width() was removed (it was not doing anything) * Deprecated block_base::config_save as is not called anywhere and should not be used. * Added instance_copy() function to the block_base class. This function allows for block specific data to be copied when a block is copied. === 2.8 === * The instance_config_print() function was removed. It was deprecated in Moodle 2.0, but without debugging notices. Since it was no longer a part of the code path, debugging notices would not have been displayed. * Deprecated functions were removed from the block_base class: ** _print_block() ** _print_shadow() ** _title_html() ** _add_edit_controls() ** config_print() === 2.6 === * Deprecated /admin/block.php was removed, make sure blocks are using settings.php instead. === 2.4 === Created new capability 'blocks/xxx:myaddinstance' that determines whether a user can add a specific block to their My Home page. This capability was only defined for blocks where the applicable_formats function does not include "'my' => false" in the returned array, allowing it be added to the My Home page. === 2.3 === required changes in code: * block_xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that contains additional options for the file serving. The array should be re-passed to send_stored_file(). === 2.0 === required changes in code: * use new DML syntax everywhere * use new DDL syntax in db/upgrade.php * replace defaults.php by settings.php and db/install.php * replace STATEMENTS section in db/install.xml by db/install.php * move post instalation code from install() method into db/install.php * completely rewrite file handling * rewrite backup/restore * theme changes: move plugin styles into blocks/xxx/styles.css and use new css markers for images, move all images into new blocks/xxx/pix/ directory and use new outputlib api old global $THEME is fully replaced by $OUTPUT * remove '_utf8' from language pack names, use new {$a} syntax in language packs * use 'pluginname' lang pack identifier instead of 'blockname' * move cron and version number into standard version.php * removed support for old config_global.html, use settings.php home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/filter/upgrade.txt000064400000006623152266552530022360 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in core filter API and plugins, information provided here is intended especially for developers. === 4.3 === * Filters can be applied at different stages - before text format conversion, before text cleaning or after text cleaning. It is recommended that add-on filter developers use early formatting stages to prevent security issues caused by modification of already sanitised text. * The moodle-filter_mathjaxloader-loader yui module has been deprecated. We create amd filter_mathjaxloader/loader to replace it. === 4.0 === * The Word censorship (filter_censor) filter has been completely removed from core. It has been moved to the plugins database repository, so it can still be installed as a third-party plugin. === 3.9 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-65809 for more info: - filter_mathjaxloader_upgrade_cdn_cloudflare() - filter_mathjaxloader_upgrade_mathjaxconfig_equal() === 3.6 === * Although there is no API change that require you to update your filter, if you use the filter_phrases() helper method, you may wish to take advantage of the changes that were made in MDL-47962 to improve performance. Now, instead of having to compute the replacement HTML for each phrase before you construct the filterobject for it. You can instead pass a callback to the filterobject constructor which is only called if the phrase is used. To understand how to use this, see the comment on filterobject::__construct and look at the filter_glossary changes as an example: https://github.com/moodle/moodle/commit/5a8c44d000ecc5669db26aefebe447f688e8f2ce === 3.0 === * New argument $skipfilters to filter_manager::filter_text to allow applying the filters with a given one omitted. * New admin setting class admin_setting_filter_types which can be used if you want to make the disablefilters value in your code configurable. * Methods filter_manager::text_filtering_hash and moodle_text_filter::hash have been deprecated. There were use by the old Moodle filtered text caching system that was removed several releases ago. === 2.7 === * Finally filter may use $PAGE and $OUTPUT, yay! * Old global text caching was removed, each filter is now responsible for own caching. === 2.6 === * filtersettings.php is now deprecated, migrate to standard settings.php === 2.5 === * legacy_filter emulation was removed * support for 'mod/*' filters was removed * use short filter name instead of old path, ex.: 'filter/tex' ---> 'tex' in all filter API functions and methods === 2.3 === * new setup() method added to moodle_text_filter, invoked before filtering happens, used to add all the requirements to the page (js, css...) and/or other init tasks. See filter/glossary for an example using the API (and MDL-32279 for its justification). === 2.2 === * legacy filters and legacy locations have been deprecated, so any old filter should be updated to use the new moodle_text_filter, and any filter bundled under mod/xxxx directories be moved to /filter/xxxx (MDL-29995). They will stop working completely in Moodle 2.3 (MDL-29996). See the glossary or data filters for examples of legacy module filters and locations already updated. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/course/upgrade.txt000064400000047312152266553260022374 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /course/*, information provided here is intended especially for developers. === 4.4 === * The following behat steps are now deprecated and replaced by new ones with no Javascript dependencies: - I add a ":activityname" to section ":sectionnum" - I add a ":activityname" to section ":sectionnum and I fill the form with:" The new steps are: - I add a :activityname to section :sectionnum using the activity chooser - I add a :activitypluginname activity to course :coursefullname section :sectionnum - I add a :activitypluginname activity to course :coursefullname section :sectionnum and I fill the form with: * set_coursemodule_visible() has a new $rebuildcache parameter. If this is being called multiple times in the same request, consider passing `false` for this parameter and rebuilding the cache once after all the course modules have been updated. See course_update_section() for an example. * The external function core_course::get_courses_by_field now returns the communication tool configuration for the course. - communicationroomname: the room name - communicationroomurl: the tool url * The following previously deprecated methods have been removed and can no longer be used: - `course_purge_section_cache` - `course_purge_module_cache` - `get_array_of_activities` - `core_course_management_renderer::management_heading` - `core_course_management_renderer::course_search_form` * New format actions classes. Those classes will eventually replace all course/lib.php content editing functions. All new methods are distributed in three classes formats can extend. Method can be accessed using static methods (see doc block of core_courseformat\formatactions for more information). * The monologo activity icons have been improved and .png files have been removed (although the API still supports them). The background for these icons has been removed and the color is used now for outlining their shapes. About the categories supported by the FEATURE_MOD_PURPOSE: * A new category has been added: MOD_PURPOSE_INTERACTIVECONTENT. * The MOD_PURPOSE_INTERFACE category has been deprecated. The styles associated with this category have been removed. The colors for all these purposes and the filters applied to outline them are defined in theme/boost/scss/moodle/variables.scss * New hooks for extending course form: - core_course\hook\after_form_definition - core_course\hook\after_form_definition_after_data - core_course\hook\after_form_validation - core_course\hook\after_form_submission * New behat step using the URL resolvers: - When I am on the "Course >
    "course > section" page logged in as "". When utilizing 'Section x' it first searches by section name (Section x). If it's not found, then it searches by the section number (x). * The template core_course/course_search_form has been removed following its cessation of use upon MDL-69454 in version 3.11. * New parameter 'requiredfields' added to \core_course_external::get_enrolled_courses_by_timeline_classification() to allow callers of this function to specify only the required course fields. * Set default values for the following course_summary_exporter properties: - summary (null) - summaryformat (FORMAT_MOODLE) - pdfexportfont (null) === 4.3 === * The `core_course_renderer::course_section_cm_completion` method has been removed, and can no longer be used * External function core_course_external::get_course_contents() now returns a new field activitybadge with the data to display the activity badge when the module implements it. * prepare_new_moduleinfo_data() now accepts a parameter "suffix" that will be added to the name of the completion rules. * The method core_course_bulk_activity_completion_renderer:: edit_default_completion() has been deprecated and will be removed. * The `core_course\output\activity_information` output class has been deprecated. Use `core_course\output\activity_completion` and `core_course\output\activity_dates` instead. Alongside with that, the following methods have been deprecated too: - `core_course_renderer::render_activity_information()` - `renderer_base::activity_information()` === 4.2 === * course/mod.php now accepts parameter beforemod for adding course modules. It contains the course module id of an existing course module. The new module is inserted before this module. * The function duplicate_module() now has two new optional parameters: - $sectionid to specify section the duplicated course module is placed in - $changename to disable changing the name of the course module using the 'duplicatedmodule' lang string * The method `make_categories_options`, deprecated since 3.10, has been removed * External function core_course_external::get_courses_by_field and core_course_external::search_courses now return a field called "courseimage" containing a URL pointing to the course image. * External function core_course_external::get_course_contents() does not throw exceptions for invalid course formats anymore. === 4.1 === * The function course_modchooser() has been finally deprecated and can not be used anymore. Please use course_activitychooser() instead. * A critical accessibility issue is been found (MDL-74800) at the output class core_courseformat\output\local\content\cm\cmname. To solve the problem this output element is not rendered anymore using inplace_editable but using a regular named_templatable interface. Some format plugins that override the deprecated renderer method course_section_cm_name can be affected. Check the current course_section_cm_name code to see how to render it properly. === 4.0 === * All activity icons have been replaced with black monochrome icons. The background colour for these icons is defined using a new 'FEATURE_MOD_PURPOSE' support variable in the module lib.php file Available purpose types are: - MOD_PURPOSE_COMMUNICATION - MOD_PURPOSE_ASSESSMENT - MOD_PURPOSE_COLLABORATION - MOD_PURPOSE_CONTENT - MOD_PURPOSE_ADMINISTRATION - MOD_PURPOSE_INTERFACE - MOD_PURPOSE_OTHER The colours for these types are defined in theme/boost/scss/moodle/variables.scss * The format_base is now deprecated. Use core_courseformat\base instead. * The new course output components deprecate many renderer methods from course renderer and course format renderer: - core_courseformat\output\local\content: to render the general course structure - core_courseformat\output\local\content\section: to render a section - core_courseformat\output\local\content\cm: to render an activity card inside a section - core_courseformat\output\local\content\cm\*: to render parts of the course structure - core_courseformat\output\local\content\section\*: to render parts of the course section * The previous format renderer page_title method has been moved to course_format::page_title * New format renderer methods to interact with the new output components: - render: override the default templatable mustache location for the new course components. - course_section_updated_cm_item: used when the course editor needs to update a cm item HTML. - render_content: contrib formats should override this method to change the default template. * The following methods are adapted to use outputs but with a deprecation warning and should not be used anymore: - print_single_section_page (replaced by core_courseformat\output\local\content) - print_multiple_section_page (replaced by core_courseformat\output\local\content) - course_activity_clipboard (integrated in replaced by core_courseformat\output\local\content) - format_summary_text (replaced by core_courseformat\output\local\content\section\summay) - change_number_sections (replaced by core_courseformat\output\local\content\addsection) - course_section_cm_list_item (replaced by core_courseformat\output\local\content\section\cmitem) - course_section_cm (replaced by core_courseformat\output\local\content\cm) - course_section_cm_list (replaced by core_courseformat\output\local\content\section\cmlist) - section_edit_control_menu (replaced by core_courseformat\output\local\content\section\controlmenu) - section_right_content (integrated in core_courseformat\output\local\content\section) - section_left_content (integrated in core_courseformat\output\local\content\section) - section_header (replaced by core_courseformat\output\local\content\section\header) - section_footer (integrated in core_courseformat\output\local\content\section) - section_edit_control_items (replaced by core_courseformat\output\local\content\section\controlmenu) - section_summary (replaced by core_courseformat\output\local\content\section\summary) - section_activity_summary (replaced by core_courseformat\output\local\content\section\cmsummary) - section_availability_message (integrated in core_courseformat\output\local\content\section\availability) - section_availability (replaced by core_courseformat\output\local\content\section\availability) - get_nav_links (replaced by core_courseformat\output\local\content\sectionnavigation) - stealth_section_header (replaced by core_courseformat\output\local\content\section\header) - stealth_section_footer (integrated in by core_courseformat\output\local\content\section) - section_nav_selection (replaced by core_courseformat\output\local\content\sectionselector) - course_section_cm_edit_actions (replaced by core_courseformat\output\local\content\cm\controlmenu) - is_cm_conditionally_hidden (incorporated in core_availability\info_module::is_available_for_all) - course_section_cm_name (replaced by core_courseformat\output\local\content\cm\cmname) - course_section_cm_classes (integrated in core_courseformat\output\local\content\cm) - course_section_cm_name_title (replaced by core_courseformat\output\local\cm\title) - course_section_cm_text (integrated in core_courseformat\output\local\content\cm) - course_section_cm_availability (replaced by core_courseformat\output\local\content\cm\availability)) - start_section_list (integrated in core_courseformat\output\local\content) - end_section_list (integrated in core_courseformat\output\local\content) * The following abstract methods are deleted: - page_title (moved to core_courseformat\output\local\content) * Course formats should have a renderer (until now it was only highly recommended but not mandatory). For backwards compatibility (to not break third-party plugins without it), legacy_format_renderer has been created and will be used when course formats don't have their own renderer. * New external core_courseformat\external\get_state returns current state information for a given course. * New external core_courseformat\external\update_course runs given action to edit course and gets the affectated state objects. * New external core_course\external\get_state returns current state information for a given course. * New external function core_course_update_course runs given action to edit course status. * The `\core\event\course_category_deleted` event is now created with a snapshot of the category record being deleted, available inside event observers via `$event->get_record_snapshot` * New include_course_editor() function to include and configure course editor modules. * New core_course_drawer() function to render the message drawer in the top of the body of each page. * New course_get_enrolled_courses_for_logged_in_user_from_search which hooks in with external\get_enrolled_courses_by_timeline_classification given COURSE_TIMELINE_SEARCH is set then get_enrolled_courses_by_timeline_classification will deviate to use a string search of enrolled courses. * Class core_course\output\course_module_name is deprecated. Now core_courseformat\output\local\content\cm\cmname controls inline edit. * Calendar menu entry is now moved to User menu items, so the following methods will not return the calendar item anymore: - course_get_user_navigation_options - core_course_externalcore_course_external::get_user_navigation_options * New external \core_course\external\get_enrolled_courses_with_action_events_by_timeline_classification: - Returns courses the user is enrolled in which contain at least one action event in the supplied time/text filtering parameters. - Provides a similar response to get_enrolled_courses_by_timeline_classification, but omits courses which have no matching action events. * The following functions have been deprecated in favour the tertiary navigation constructs: - management_heading - course_search_form - print_course_request_buttons * New page_setup() method in the core_course_category class. This method can be used for a general page setup in the course category pages. * New core_course_category::get_nearest_editable_subcategory(): - Return the core_course_category object for the first subcategory that the current user has the permission on it. * The method navigation() in the core_course_bulk_activity_completion_renderer class has been deprecated as the tabs navigation structure in the course competency pages has been replaced with tertiary navigation. To render the navigation, please render_course_completion_action_bar() instead. * The following functions have been deprecated in favour partial course cache rebuild: - course_purge_section_cache (replaced by course_modinfo::purge_course_section_cache_by_id() and course_modinfo::purge_course_section_cache_by_number()) - course_purge_module_cache (replaced by course_modinfo::purge_course_module_cache()) - get_array_of_activities (replaced by course_modinfo::get_array_of_activities() for better performance) * New course_modinfo::purge_course_cache function was created to purge the cache of a given course. === 3.11 === * A new callback xxx_coursemodule_definition_after_data that allows plugins to extend activity forms after the data is set. * \core_course_renderer::course_section_cm_completion() has been deprecated. It is not being used anymore and is being replaced by \core_renderer::activity_information(). * New Behat steps for checking activity date information in the \behat_course class: - activity_date_in_activity_should_contain_text() - Given the activity date in "" should contain "" - activity_dates_information_in_activity_should_exist() - Given the activity date information in "" should exist - activity_dates_information_in_activity_should_not_exist() - Given the activity date information in "" should not exist * A user preference usemodchooser has been removed and the activities/resources (non-ajax) activity chooser has been deprecated and will be removed in the future. === 3.10 === * The function make_categories_options() has now been deprecated. Please use \core_course_category::make_categories_list() instead. * External function core_course_external::get_course_contents now returns a new field contextid with the module context id. * The core_course_external class methods get_courses(), get_courses_by_field() and search_courses() now return a "valueraw" property for each custom course field, which contains the original/unformatted version of the custom field value. === 3.9 === * The function get_module_metadata is now deprecated. Please use \core_course\local\service\content_item_service instead. * Activity module names are now PARAM_ALPHANUM instead of PARAM_ALPHA so integers can be used in activity module names * The following functions have been added to core_course_renderer class to have more granularity. They can be overriden in extending classes: - course_name - course_enrolment_icons - course_summary - course_contacts - course_overview_files - course_category_name - course_custom_fields === 3.8 === * The following functions have been finally deprecated and can not be used any more: - core_course_external::get_activities_overview * External function core_course_external::get_enrolled_courses_by_timeline_classification now also supports the classification 'allincludinghidden' which delivers all courses including hidden courses. The classification 'all' still returns all courses without hidden courses. === 3.7 === * The course pattern function in course_summary_exporter::get_course_pattern has been moved to $OUTPUT->get_generated_image_for_id. * The course color function in course_summary_exporter::coursecolor has been moved to $OUTPUT->get_generated_color_for_id. * External function core_course_external::get_course_contents new returns the following additional completiondata field: - valueused (indicates whether the completion state affects the availability of other content) * External function core_course_external::get_course_contents now returns a new contentsinfo field with summary files information. * External function core_course_external::get_course_contents now returns an additional field "tags" returning the content tags. === 3.6 === * External function core_course_external::get_course_public_information now returns the roles and the primary role of course contacts. * External function core_course_external::get_course_contents now return the following additional file fields: - onclick (onclick javascript action code) - afterlink (after link info to be displayed) - customdata (module custom data (JSON encoded)) - completion (to indicate if completion is enabled or not) - completiondata (completion status for the current user in the module) * External function core_group_external::get_course_user_groups now can return all user courses group information. === 3.5 === * There is a new capability 'moodle/course:setforcedlanguage' to control which users can force the course language; create_course and update_course functions delegate access control to the caller code; if you are calling those functions you may be interested in checking if the logged in user has 'moodle/course:setforcedlanguage' capability. === 3.3 === * External function core_course_external::get_courses_by_field now returns the course filters list and status. * External function core_course_external::get_courses_by_field now returns the end date of the course. * External function core_course_external::get_course_contents now return the following additional file fields: - mimetype (the file mime type) - isexternalfile (if is a file reference to a external repository) - repositorytype (the repository name in case is a external file) Those fields are VALUE_OPTIONAL for backwards compatibility. * External function core_course_external::get_course_contents now return the following fields for section and modules: - uservisible (whether the section or module is visible by the user) - availabilityinfo (availability information if the course or module has any access restriction set === 3.2 === * External function core_course_external::get_course_contents now returns the section's number in the course (new section field). * External function core_course_external::get_course_contents now returns if a section is hidden in the course format. * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. * The modchooser now uses a renderable and a template, thus its associated renderer methods have been deprecated. Note that the call to core_course_render::course_modchooser, is still required. Deprecated methods: - core_course_renderer::course_modchooser_module_types - core_course_renderer::course_modchooser_module - core_course_renderer::course_modchooser_title * You can now specify a course end date when calling core_course_external::create_courses and core_course_external::update_courses external functions. core_course_external::get_courses external function is now returning courses end date values. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/auth/upgrade.txt000064400000012137152266553440022032 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /auth/* - plugins, information provided here is intended especially for developers. === 4.4 === * A sesskey is no longer passed to the auth/test_settings.php page so it can no longer be required in test_settings(). * Auth plugins can now attempt to identify users running CLI scripts using a new method find_cli_user() === 4.2 === * Support for configuration with the deprecated auth_config.php file has been removed. * The moodle-auth-passwordunmask YUI module has been removed. Any uses should be replaced with core_form/passwordunmask. === 3.9 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-65809 for more info: - upgrade_fix_config_auth_plugin_names() - upgrade_fix_config_auth_plugin_defaults() === 3.7 === * get_password_change_info() method is added to the base class and returns an array containing the subject and body of the message to the user that contains instructions on how to change their password. Authentication plugins can override this method if needed. === 3.6 === * Login forms generated from Moodle must include a login token to protect automated logins. See \core\session\manager::get_login_token(). === 3.5 === * The auth_db and auth_ldap plugins' implementations of update_user_record() have been removed and both now call the new implementation added in the base class. * Self registration plugins should use core_privacy\local\sitepolicy\manager instead of directly checking $CFG->sitepolicy , especially in custom signup forms. === 3.3 === * Authentication plugins have been migrated to use the admin settings API. Plugins should use a settings.php file to manage configurations rather than using the old config.html files. See how the helper function upgrade_fix_config_auth_plugin_names() can be used to convert the legacy settings to the new ones. Another helper function upgrade_fix_config_auth_plugin_defaults() can be used to populate the settings with default values so that they are not falsely reported as newly added ones. * The function 'print_auth_lock_options' has been replaced by 'display_auth_lock_options' which uses the admin settings API. See auth_manual as an exmple of how it can be used. More information can be found in MDL-12689. * The list of supported identity providers (SSO IdP) returned by the 'loginpage_idp_list' method (used to render the login page and login block links) now supports a new key 'iconurl' which should be used instead of the legacy 'icon'. === 3.2 === * New auth hook - pre_user_login_hook() - available, triggered right after the user object is created. This can be used to modify the user object before any authentication errors are raised. * The block_login now displays the loginpage_idp_list() links as well as main login page. * The authentication plugin auth_radius has been moved to https://github.com/moodlehq/moodle-auth_radius * New auth_email::user_signup_with_confirmation() method has a new optional parameter $confirmationurl to provide a different confirmation URL. * New signup_is_enabled() function available in lib/authlib.php to safely check if sign-up is enabled in the site. === 3.0 === * login_signup_form::signup_captcha_enabled() now calls is_captcha_enabled() from the current auth plugin instead of from auth_email === 2.9 === * Do not update user->firstaccess from any auth plugin, the complete_user_login() does it automatically. * Add user_add_password_history() to user_signup() method. * New auth hook - pre_loginpage_hook() - available, triggered before redirecting to the login page. === 2.8 === * \core\session\manager::session_exists() now verifies the session is active instead of only checking the session data is present in low level session handler * MNet is no longer sending logs between the client and parent sites. auth_plugin_mnet::refresh_log() is now deprecated. There is no alternative. Please don't use this function. === 2.7 === * If you are returning a url in method change_password_url() from config, please make sure it is set before trying to use it. === 2.6 === * can_be_manually_set() - This function was introduced in the base class and returns false by default. If overriden by an authentication plugin to return true, the authentication plugin will be able to be manually set for users. For example, when bulk uploading users you will be able to select it as the authentication method they use. === 2.4 === required changes in code: * use role_get_name() or role_fix_names() if you need any role names, using role.name directly from database is not correct any more optional - no changes needed: * add support for custom user signup form - see auth_plugin_base::signup_form() function === 2.2 === required changes in code: * the correct sequence to set up global $USER is: $user = get_complete_user_data('username', $username); // or $user = authenticate_user_login() enrol_check_plugins($user); session_set_user($user); home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/calendar/upgrade.txt000064400000015104152266553570022643 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /calendar/* , information provided here is intended especially for developers. === 4.4 === * The following previously deprecated methods have been removed and can no longer be used: - `calendar_process_subscription_row` - `calendar_import_icalendar_events` - `fake_block_threemonths` - `i_click_day_of_this_month_in_calendar` - `i_hover_over_today_in_the_calendar` * The following previously deprecated files have been removed and can no longer be used: - `calendar_threemonth.js` - `calendar_threemonth.mustache` - `threemonth_month.mustache` * The following have been deprecated: - Behat step definition `i_hover_over_today_in_the_calendar` * The event_exporter_base class now returns a field called "branded" indicating whether the module is branded or not. All the external functions using the exporter will now return the new field: - core_calendar_get_action_events_by_course - core_calendar_get_action_events_by_courses - core_calendar_get_action_events_by_timesort - core_calendar_get_calendar_day_view - core_calendar_get_calendar_event_by_id - core_calendar_get_calendar_monthly_view - core_calendar_get_calendar_upcoming_view - core_calendar_submit_create_update_form - core_calendar_update_event_start_day === 4.3 === * The `navigation` property has been removed from `\core_calendar\external\day_exporter` as it is not being used by any of the calendar templates. * The following functions have been deprecated and should no longer be used: - calendar_top_controls() - calendar_get_link_previous() - calendar_get_link_next() === 4.1 === * New method `calendar_format_event_location` which will format the location property of an event, converting any links into suitable markup === 4.0 === * The following external functions now accepts an optional parameter 'searchvalue' to search the events: - core_calendar_external::get_calendar_action_events_by_timesort - core_calendar_external::get_calendar_action_events_by_courses - core_calendar_external::get_calendar_action_events_by_course * Added core_calendar_delete_subscription, which allows to delete the calendar subscription. * Updated calendar_can_manage_user_event() function to check permissions to user events. * The following functions have been deprecated because they were no longer used: - calendar_process_subscription_row() - calendar_import_icalendar_events() * The following has been removed after being deprecated in 3.8 * CALENDAR_EVENT_GLOBAL * The following have been deprecated because the three-month pseudo block has been removed: - fake_block_threemonths() renderer method. - calendar_threemonth.js. - calendar_threemonth and threemonth_month templates. - Behat step definitions i_hover_over_day_of_this_month_in_calendar and i_click_day_of_this_month_in_calendar. === 3.10 === * The core_calendar\local\event\value_objects\times_interface class now has new method get_usermidnight_time() which returns the user midnight time for a given event. === 3.9 === * Plugins can now create their own calendar events, both standard and action ones. To do it they need to specify $event->component when creating an event. Component events can not be edited or deleted manually. See https://moodledev.io/docs/apis/core/calendar#component-events * The following functions have been deprecated because they were no longer used: - calendar_add_event_metadata() - core_calendar_renderer::event() === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * calendar_wday_name() * calendar_get_block_upcoming() * calendar_print_month_selector() * calendar_cron() * calendar_get_mini() * calendar_get_upcoming() * Added core_calendar_external::get_timestamps(), which allows an array containing an arbitrary number of arrays of date/time data to be converted and returned as timestamps, along with an optional key. === 3.6 === * calendar_get_default_courses() function now has optional $userid parameter. * calendar_set_filters() function now has optional $user parameter. * The core_calendar\local\event\container class now provides two new helper methods for getting and setting the requesting user: set_requesting_user() and get_requesting_user(). * The following functions have been finally deprecated and can not be used anymore: * calendar_preferences_button() * added core_calendar_get_valid_event_timestart_range callback for course events when the update_event_start_day function is used in the local api. === 3.5 === * core_calendar_external::get_calendar_events now returns the categoryid for category events. === 3.4 === * calendar_get_mini, and calendar_get_upcoming have been deprecated. Please update to use the new exporters and renderers. * added core_calendar_get_valid_event_timestart_range and core_calendar_event_timestart_updated callbacks for module events when the update_event_start_day function is used in the local api. === 3.3 === * calendar_event_hook() has been removed. Developers should be using the Moodle events system to achieve this behaviour, rather than using a hacky calendar specific implementation. * calendar_wday_name() is deprecated and no longer used in core. * calendar_get_block_upcoming() is deprecated, please use block_calendar_upcoming::get_upcoming_content() instead. * calendar_print_month_selector() is deprecated and no longer used in core. * calendar_cron() is deprecated and should not be used. Please use the core\task\calendar_cron_task instead. === 3.2 === * calendar_preferences_button() is now deprecated. Calendar preferences have been moved to the user preferences page. === 2.9 === default values changes in code: * core_calendar_external::get_calendar_events_parameters() 'timeend' default option changed; now, by default, all events are returned, not only the past ones. * calendar types need to be updated to be compatible with standard PHP date/time code === 2.5 === required changes in code: * calendar_add_icalendar_event() now requires a valid subscriptionid * calendar_process_subscription_row() throws exception for invalid subscriptionid * calendar_update_subscription_events() now throws a dml_exception instead of moodle_exception for bad subscriptions * calendar_get_mini() function now has optional $placement and $courseid paramaters. optional - no changes needed: * calendar_update_subscription() should now be used to update Ical subscriptions. === 2.4 === required changes in code: * calendar_get_popup() function now just returns id, instead of the string "id=$id" home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/enrol/ldap/upgrade.txt000064400000000632152266554060023124 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the enrol_ldap code. === 3.8 === * enrol/ldap/cli/sync.php script has been removed. You should use enrol_ldap\task\sync_enrolments task instead. === 3.3 === * enrol/ldap/cli/sync.php script has been deprecated in favour of enrol_ldap\task\sync_enrolments task. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/notes/upgrade.txt000064400000000751152266554400022215 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in /notes/*, information provided here is intended especially for developers. === 3.7 === * External function core_notes_external::get_course_notes now returns this additional two fields: - canmanagesystemnotes: Whether the user can manage notes at system level. - canmanagecoursenotes: Whether the user can manage notes at the given course.home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/theme/upgrade.txt000064400000070712152266554410022174 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /theme/* themes, information provided here is intended especially for theme designer. === 4.4 === * Theme selection is now performed using cards and modals. * The 'choosereadme' string for each theme is expected to be plain text. HTML content will not render when displayed in the modal. * Theme selector page has been moved to admin/themeselector.php (previously theme/index.php) * Moodleforms no longer use tag 'fieldset' for groups without labels (legends). Avoid targeting tag 'fieldset' in the theme CSS. === 4.3 === * The core_renderer::htmllize_file_tree method has been deprecated. This was missed before Moodle 2.0. * CSS selectors using #categoryquestions have been changed to use .question-bank-table, see question/upgrade.txt === 4.2 === * The moodle-core-popuphelp YUI modal has been removed. It has not been actively used in Moodle since 3.3. It should be replaced with appropriate ESM/AMD JavaScript. * The moodle-core-tooltip YUI modal has been removed. It should be replaced with appropriate ESM/AMD JavaScript. * The Font Awesome library has been upgraded from 4.7 to 6.3.0. The free version included in Moodle supports the solid and regular styles. * Device specific themes are no longer configurable in theme selection. === 4.1 === * The function core_course_renderer::course_modchooser() has been finally deprecated and can not be used anymore. Please use core_course_renderer::course_activitychooser() instead. * $OUTPUT->favicon() now returns the URL of the configurable favicon if present. * The body tag include a class with module name specific for each activity E.g.: cm-type-page === 4.0 === * A new theme config 'removedprimarynavitems' allows a theme to customise primary navigation by specifying the list of items to remove. * A new theme config 'usescourseindex' allows a theme to specify whether it implements and uses course index. * A new theme setting 'unaddableblocks' allows admins to define the blocks that won't be displayed in the "Add a block" list. === 3.11 === * The classname 'viewmode-cobmined' in course/management.php has been changed to 'viewmode-combined' === 3.10 === * The Bootstrap legacy css utilities from Bootstrap 2 and 4alpha have been removed. The syntax for the new Bootstrap 4.5 utility classes is {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl. The size values are: 1: 0.25rem 2: 0.5rem 3: 1rem 4: 1.5rem 5: 2rem 6: 3rem In Bootstrap 4alpa a spacing utility class '.m-l-1' would mean margin-left 1rem. With the new spacing classes it should now be '.ml-3' These class names have changed: .row-fluid is now .row .text-error is now .text-danger These classes should no longer be used: .label .label-{type}, use .badge .badge-{type} instead .tag .tag-{type}, use .badge .badge-{type} instead .well, just set a border with .border and a background with .bg-light === 3.9 === * Add class .d-print-block to #page, #page-wrapper and #page content to fix Firefox printing problems * A function to core_renderer has been added, secure_layout_login_info. This allows the boost and classic templates to display the users full name in a secure layout. * Secure layout in themes boost and classic have been modified to allow language selection as they now call the output.secure_layout_language_menu function. === 3.8 === * Moodle does not produce chunked CSS anymore, instead an unique css fils is generated and served (MDL-55751). This implies: * css_chunk_by_selector_count() has been removed. * css_store_css(), theme_styles_get_filename() and theme_styles_get_etag() don't accept any chunk-related param anymore. * The PHP Less compilier has now been removed from the core library. Please consider migrating your theme to use SCSS. * It is now possible to use sub-directories when creating mustache templates. The standard rules for Level 2 namespaces also apply to templates. The sub-directory used must be either an valid component, or placed inside a 'local' directory to ensure that it does not conflict with other components. The following are all valid template names and locations in your theme: theme_themename/columns2: theme/[themename]/templates/columns2.mustache theme_themename/local/layouts/columns2: theme/[themename]/templates/local/layouts/columns2.mustache The following are core templates, locations, and override locations in your theme: core/modal: lib/templates/modal.mustache => theme/[themename]/templates/core/modal.mustache mod_forum/forum_post: mod/forum/templates/forum_post.mustache => theme/[themename]/templates/mod_forum/forum_post.mustache mod_forum/local/post/user: mod/forum/templates/local/post/user.mustache => theme/[themename]/templates/mod_forum/local/post/user.mustache The following are _invalid_ template names and locations: theme_themename/layouts/columns2: theme/[themename]/layouts/columns2.mustache === 3.7 === * The core/form_autocompelte_input template now has a `data-tags` attribute. * Boost theme renderer overrides have now been migrated to core. * Renderers that were overridden by Boost are now in Bootstrapbase * Core templates in Boost have now moved into core * Templates that were overridden by boost are now located in Bootstrapbase * Themes bootstrapbase, clean & more have now been removed. === 3.6 === * A new callback has been added to the theme layout files allowing plugins to inject their content into the page. For Boost it was added as a mustache variable "{{{ output.standard_after_main_region_html }}}" in templates/columns1.mustache and templates/columns2.mustache. In bootstrapbase it was added as a function call "$OUTPUT->standard_after_main_region_html()" in layout/columns1.php, layout/columns2.php. and layout/columns3.php. Child themes not inheriting these templates should add the function call after the div containing the main content region. Please refer to the messaging drawer UI for an example of making use of this new feature. * The body tag has various browser-specific classes for those cases where some browser-sniffing is unavoidable. This used not to recognised Microsoft Edge, but now it does (class 'edge'). Also, both Safari and Chrome used to be class 'safari', but now there are separate classes 'safari' and 'chrome'. The body's class should change to match the browser: - Google Chrome (Mac & Window): The body class should change from safari to chrome. - Google Chrome (Android) : The body class should change from safari, android to chrome, android. - Microsoft Edge: The body class should change from safari to edge. - Mobile safari: The class ios should exist, safari class should be removed. * Remove class .safari styling from activity chooser dialog for theme boost and bootstrapbase. * The following functions and classes have been finally deprecated and can not be used anymore: * css_is_colour() * css_is_width() * css_sort_by_count() * core_course_renderer::add_modchoosertoggle() * class css_optimiser === 3.4 === * There was a mustache template login.mustache in /lib/templates/ rendering the login form and a template with the same name in /theme/boost/templates/ rendering the pagelayout "login". To prevent misunderstanding when overriding one of these templates in a Boost child theme, the first one was renamed to loginform.mustache - see MDL-58970. * The Boost flat navigation nodes now have several data-attributes which let plugin developers access properties from the underlying navigation nodes in the browser - see MDL-59425. * Navigation between activities via a previous and next link was added to Boost, Clean and Bootstrapbase. This is made possible by a new function core_renderer->activity_navigation(). * Theme designers may now place the Reset tour on this page link where required by adding an empty container (e.g.
    ) to their layouts. === 3.3 === * As boost-based themes no longer use the moodle-core-popuphelp help popups, the javascript setup for this module have been moved from core standard_head_html to the bootstrapbase renderer. If your theme needs this javascript you will need to ensure the bootstrap renderer is called, or require the JS yourself === 3.2 === * Removed themes: base, canvas During the upgrade process the themes will be uninstalled and all their settings will be deleted. If you wish to keep your theme and its settings, download it from moodle.org and put it back in the theme/ directory BEFORE UPGRADING. * Bootstrap 4 was added as part of a the new theme 'boost'. * Some backwards and forwards compatibility has been added for different bootstrap versions. This is to allow the same markup to work in "clean" and "boost" themes a lot of the time. It is also to allow user text with bootstrap classes to keep working in the new theme. * Using .dir-rtl for RTL styling is deprecated and should not be used any more. From now the styles are automatically flipped when the language is right-to-left. However, as this is not always perfect, you can define exceptions. Please refer to the documentation of the tool RTLCSS-PHP for more information: https://github.com/moodlehq/rtlcss-php * Themes can now automatically compile SCSS on the fly. This works the same way as it does compiling LESS on the fly, effecitvely adding $THEME->scss to your config. The latter can either be the name a SCSS file (without extension) in your theme's scss/ folder, or a Closure which will return the main SCSS content. * Two new callbacks allow themes to inject SCSS code before and after the content provided by the SCSS file $THEME->scss. See $THEME->prescsscallback and $THEME->extrascsscallback. * A new callback can be defined to post process the CSS using an object representation of the CSS tree ($THEME->csstreepostprocess). This gives a lot more flexibility than a simple find and replace. Refer to 'boost' for an example, and to PHP-CSS-Parser. (https://github.com/sabberworm/PHP-CSS-Parser) for the API. * A new core setting now enables admins to upload the logos of their site. Using the following methods, themers can instantly support branding logos without the need to implement specific theme settings: * $OUTPUT->get_logo_url($maxwidth, $maxheight); * $OUTPUT->get_compact_logo_url($maxwidth, $maxheight); * The class .dir-ltr should not be used any more. To force LTR styles use the directive to remove the rule when the language is RTL. See RTLCSS-PHP for more information. * A new class .text-ltr may be used to force the direction to LTR. This is especially useful for forms fields (numbers, emails, URLs must not be RTL'd), and for displaying code snippets or configuration samples. * A new theme config 'requiredblocks' allows a theme to define which blocks are deletable. * You may no longer override the following core_course_renderer methods. See course/upgrade.txt for more information: - course_modchooser_module_types - course_modchooser_module - course_modchooser_title * The question chooser now uses a renderable and a template, the following methods have been deprecated in favour of core_question_bank_renderer::render_qbank_chooser(). - qbank_chooser - qbank_chooser_types - qbank_chooser_qtype - qbank_chooser_title * The 'css optimiser' has been removed. Developers are encouraged to use tools such as stylelint to help optimise their css. Some functions and classes in lib/csslib.php (which was not for public use) have been deprecated: - css_is_colour - css_is_width - css_sort_by_count - class css_optimiser no longer does anything. * CLI svgtool.php has moved from theme/base/cli to admin/cli and paths should be relative to the new location. * mod_chat will now display the 'course theme' option for all themes (previously it was only displayed on bootstrap2 based themes). * Theme can choose how to display "Add a block" control in $THEME->addblockposition, default value is BLOCK_ADDBLOCK_POSITION_DEFAULT that displays it as a fake block in editing mode. === 3.1 === * A new search box for global search has been added to bootstrap and clean layout files, if your theme is overwriting columns1.php, columns2.php or columns3.php you will need to add a call to core_renderer::search_box to display it. * Notification templates have been renamed to better suit types of alert rather than uses. The following changes have been made: * notification_problem.mustache => notification_error.mustache * notification_message => notification_info * notification_redirect => notification_warning * Method core_course_renderer::course_section_cm_name() is split into two methods, custom themes that override this method must be modified or otherwise editing functionality may become broken. This method is now also used by social activities block and site menu block to display activities names. === 3.0 === * The renderer function core_availability_renderer::multiple_messages was changed to render_core_availability_multiple_messages, requiring a parameter of the new \core_availability\multiple_messages type. * Meta description is now included in standard_head_html for homepage in bootstrapbase. If your theme includes a meta description directly in a layout for the frontpage, you will need to remove it or override the standard_head_html instead. * Themes Clean and More have been updated to use a new navbar_button function, which shows the hamburguer icon (responsive menu) or not depending on custom and language menus settings; themes extending bootstrapbase and overriding its layouts can call replace their "a.btn-navbar" node for a call to this function. * Themes Clean and More page header logo only displays on front page and login page. * A new function navbar_home has been added to theme_clean and theme_more to display the navigation bar link to the site home. Two new settings have been added to control if the link should be a small logo image, text or both. It defaults to the current behaviour, only a text link. === 2.9 === * Themes Bootstrapbase, Clean and More have undergone some changes for RTL layouts see - MDL-48160. * Themes Clean amd More page header background logo, if loaded, no longer links to the home page. * Themes Clean and More have been updated to use the renderer full_header(). This renderer (when in a user context) displays a message button and consequently the link to message users have been removed from various pages. It is recommended that theme developers use this renderer to ensure that they do not suffer from a reduction in access to this feature. * $OUTPUT->context_header() has been introduced to produce headers similar to what full_header() creates. This renderer is used for creating subsequent headers in a page. If provided with user information, this render will also display a message button like full_header(). === 2.8 === * Themes Base and Canvas layout/embedded.php has changed. The div id="content" has been changed to id="page-content" - see MDL-47915. * All mod_assign CSS selectors have been qualified with ".path-mod-assign". This means any custom CSS rules for mod_assign in a theme may need to be updated. * The following render methods were renamed, if you have overridden any of these you will need to update your renderer: - report_log_renderer::render_report_log_renderable => report_log_renderer::render_report_log - report_loglive_renderer::render_report_loglive_renderable => report_loglive_renderer::render_report_log * On calendar view screen the course selector and new event button have been swapped, custom CSS for .path-calendar might be affected. * The functions search_listing() and search_pagination() in the core_course_management_renderer class take the searched string as an extra parameter - see MDL-46902. * Themes with non-fixed headers must have the .navbar class in their navbar in order for floating headers in the grader report to work - see MDL-46658. * To accomodate the new gradebook, use of overflow: hidden or overflow-x: hidden CSS rules on DOM elements containing the #user-grades table, visible at [Course administration -> Grades] is not recommended. Please use overflow: auto or overflow: scroll instead, as this will handle medium to large courses with multiple activities better. * The new user menu can be added to themes by calling $OUTPUT->user_menu(); we recommend doing so in a backwards-compatible way. === 2.7 === * CSS related functions in theme class and csslib.php were refactored, addons that are using this private API need to be updated * Please update your css to use 'tr:nth-of-type(odd/even)' instead of '.r0/.r1' to apply tr specific css for various tables. These classes are deprecated now and will be removed in Moodle 2.9. This has done to better support styling tables that will be altered by JavaScript. Here is an example to update your css: Old code: table.generaltable .r0 {background-color: #F0F0F0;} table.generaltable .r1 {background-color: #F0F0F0;} New code: table.generaltable > tbody > tr:nth-of-type(even) {background-color: #F0F0F0;} table.generaltable > tbody > tr:nth-of-type(odd) {background-color: #F0F0F0;} Removed themes: * afterburner, anomaly, arialist, binarius, boxxie, brick, formal_white, formfactor, fusion, leatherbound, magazine, nimble, nonzero, overlay, serenity, sky_high, splash, standard and standardold have been removed. During the upgrade process the themes will be uninstalled and all their settings will be deleted. If you wish to keep your theme and its settings, download it from moodle.org and put it back in the theme/ directory BEFORE UPGRADING. Notes: * z-index on #dock has been adjusted from 11000 to 5000 to prevent overlapping issues with fullscreen TinyMCE in Base theme. === 2.6 === Removed themes: * "My Mobile" theme has been removed (see MDL-40874). During the upgrade process "My Mobile" theme will be uninstalled and all its settings will be deleted. "My Mobile" theme and its extending themes will fallback to the mobile friendly "Clean" theme. If you wish to keep "My Mobile" theme and its settings, BEFORE UPGRADING you can copy the files from the unmaintained plugin into theme/mymobile. The unmaintained plugin can be downloaded at https://moodle.org/plugins/pluginversion.php?id=4563 Notes: * There have been several changes made to the classes used on headings throughout Moodle. This was done as per the Moodle HTML guidelines. h1 and h2 elements should have no classes, h3 and lower headings may have descriptive classes only (any classes must properly describe the relation between the header and its content). * The parameters value for the following functions have been modified: core_renderer::heading() and core_renderer::heading_with_help(). This means that headings using the default options will no longer have the class "main" which was the previous default. * The file picker and activity chooser have been converted to use M.core.dialogue. This means the styles for these elements have changed in the base and bootstrapbase themes and you will need to copy the new styles if you are not inheriting from either one of these themes. * For the themes based on bootstrapbase please also read theme/bootstrapbase/upgrade.txt * A new component action_menu is now used to display editing icons for courses and blocks within a drop down. If you have a theme that doesn't extend base, canvas, or clean then you will need to style for this new component within your theme. * The maintenance layout now has a special renderer that extends the core_renderer in order to prevent some methods from interacting with the database. Please be aware that for the maintenance layout some methods now always return an empty string. This has been done because it is important that during maintenance routines we don't show any links, interact with the database, or interact with caches as doing so may lead to errors, Please see the maintenance renderer notes below for details on the functions affected. Renderer changes: * core_course_renderer::course_section_cm_edit_actions has two new optional arguments and now uses and action_menu component. * core_course_renderer::course_section_cm has been altered to call core_course_renderer::course_section_cm_edit_actions with the two new arguments. * core_renderer::block_controls has a new optional argument (the block id) and has been altered to use the new action_menu component. * core_renderer::block_header has been altered to give core_renderer::block_controls the new second argument, the block id. * core_renderer::action_link has a new argument, and optional icon that can be rendererd into the link. Selector changes: * Changes to the classes given to the header produced when rendering a single section within a course. .section-navigation.header.headingblock => .section-navigation.navigationtitle * Changes to the classes used when producing the course information box that lists courses. The name (h3|div} of both courses and categories used to have .name, for courses in the list this was changed to .coursename and for categories in the list this was changed to .categoryname. * Classes ".header and .headingblock" were removed from all front page content headings. * Classes ".headingblock .header .tag-header" were removed from the tag index page Maintenance renderer notes: When the maintenance layout is being used $OUTPUT will be an instance of core_renderer_maintenance. This renderer mimics the core_renderer except that the following functions always return an empty string. * core_renderer_maintenance::block * core_renderer_maintenance::blocks * core_renderer_maintenance::blocks_for_regions * core_renderer_maintenance::course_header * core_renderer_maintenance::course_footer * core_renderer_maintenance::course_content_header * core_renderer_maintenance::course_content_footer * core_renderer_maintenance::custom_menu * core_renderer_maintenance::file_picker * core_renderer_maintenance::htmllize_file_tree * core_renderer_maintenance::lang_menu * core_renderer_maintenance::login_info * core_renderer_maintenance::user_picture If you have overridden methods of the core_renderer in your theme and want those changes to be shown during times of maintenance you will also need to override the core_renderer_maintenance and copy your customisations from the core_renderer to that. === 2.5.1 === Notes: * Block drag and drop functionality has been improved so that it works regardless of what block regions you use or how many block regions you have. In order to benefit from this improvement you must convert your calls from $OUTPUT->blocks_for_region() to $OUTPUT->blocks. Optional changes: * Theme config can nominate block regions to swap if the user is using a rtl languages such as Hebrew. $THEME->blockrtlmanipulations should be an associative array, the key is the original block region, and the value should be where the blocks in that region should be displayed. * New $OUTPUT methods to replace code that was previously using $PAGE. Converting to these methods is optional but highly recommended. Refer to the bootstrapbase layouts for examples. - $OUTPUT->body_attributes() returns a string you can use for the body id and classes. - $OUTPUT->blocks() returns HTML to display a block region and all of its blocks. This adds data attributes that ensure drag and drop of blocks will work no matter what block regions or how many you have. - $OUTPUT->page_heading() returns the page heading. Replaces $PAGE->heading. - $OUTPUT->page_heading_button() returns the button to display with the heading. Replaces $page->button. - $OUTPUT->page_doc_link() returns the link to moodle docs for the page. Replaces page_doc_link(). - $OUTPUT->page_heading_menu() returns the heading menu for the page. Replaces $PAGE->headingmenu. - $OUTPUT->page_title() Returns the title to use for the head section. - $OUTPUT->favicon() returns the URL to the favicon. Renderer changes: * core_renderer::navbar now returns an empty string if there are no navigation items to display. * core_renderer::custom_menu now adds a class "custom_menu" to the div that contains the HTML for the custom menu. === 2.5 === required changes: * Functions core_course_renderer::course_category_tree() and course_category_tree_category() are deprecated * Significant changes in rendering of courses and categories listings, lots of CSS classes changed, several functions such as print_courses(), print_whole_category_list(), print_category_info() are moved to course renderer. DOM changes: * changed the h1 title in the help popup to a h2. * new setting $THEME->yuicssmodules = array('cssreset', 'cssfonts', 'cssgrids', 'cssbase'); which allows themes to use different CSS reset normalisers such as cssnormalize YUI module. * Re-wrote the user profile views to definition lists. * Re-wrote the table for the course completion status block to use html_table - added some CSS classes to the table in the process (see MDL-35608). * Cancel buttons have the class btn-cancel. * Added a z-index for the div#dateselector-calendar-panel so that the calendar pop-up renders above the filemanager when they overlap, ie. the course settings page (see MDL-39047). * Trivial change of CSS selectors used to display plugin status at the plugins overview screen (#plugins-control-panel). Renderer changes: * Mymobile theme changed to support more verbose move-block-here descriptions. === 2.4 === required changes: * output course and course content header/footer that may be returned by course format (see MDL-36048) * span.completionprogress has been changed to a
    and is not a float by default any more. deprecation: * i/roles: Use t/assignroles instead * t/manual_item: Use i/manual_item instead * t/unlock_gray: Use t/locked instead * t/userblue: Previously used to unblock a user, use t/unblock. * c/course: Use i/courseevent instead * c/group: Use i/groupevent instead * c/site: Use i/siteevent instead * c/user: Use i/userevent instead * t/clear: Use t/check instead * i/cross_red_big: Use i/invalid or i/grade_incorrect * i/tick_green_big: Use i/valid or i/grade_correct * i/tick_amber_big: Use i/caution or i/grade_partiallycorrect * No more small versions of i/cross_red_small, i/tick_green_small and i/tick_amber_small, use their big equivalent. * t/addgreen: Use t/add instead. * i/approve: Use t/approve instead optional changes: * new optional boolean parameter $withlinks for public function login_info() in lib/outputrenderers.php (MDL-31365) * new layout option "nologinlinks" and new page layout "secure" e.g. for safebrowser and securewindow (MDL-31365) * new class 'iconlarge' for 24x24 icons. * new icons i/export and i/import (sized 16x16). Previously export and import actions used i/backup and i/restore. * new icon i/assignroles (sized 16x16), to prevent the use of i/roles which is 12x12. * new icon i/switchrole (sized 16x16), was previously using i/roles. Now is a copy of the new i/assignroles icon. * new icons i/enrolusers and t/enrolusers, previsouly i/users was used. * new icon t/cohorts (sized 12x12), to prevent the use of i/cohorts which is 16x16. * new icons t/sort_asc, t/sort_desc to use for ordering in table headers. * new class 'iconsort' for icons used for ordering in table headers. * new icons t/locked and t/unlocked (12x12) which should be used when there is no action associated to the icon. * new icons i/folder (16x16), monochrome equivalent to f/folder. * new icons t/addcontact, t/removecontact and t/messages, previously t/addgreen, t/delete and t/log were used in messaging. * new icons t/unblock and i/twoway. * new icons i/courseevent, i/groupevent, i/siteevent and i/userevent (16x16) instead of c/* for calendar events. * new icon t/markasread (12x12) to replace t/clear used in forums. * new icon t/check (12x12) to replace t/clear which name does not reflect the icon meaning. * new classes 'icon-pre' and 'icon-post' supposedly to be used when the icon is positioned before or after the text. This is not really used yet, but it's a start towards some standardisation of the icon selectors. * new icons i/valid, i/caution and i/invalid for generic statuses. * new icons i/grade_correct, i/grade_partiallycorrect and i/grade_incorrect for grades. * new icon t/approve (12x12). * new icon t/contextmenu (12x12) for a monochrome version of i/menu. === 2.3 === optional changes: * add new u/f3.png image when theme contains customised f1 and f2 default user images === 2.2 === required changes: * use new page content placeholder "echo $OUTPUT->main_content()" instead of "echo core_renderer::MAIN_CONTENT_TOKEN" see git commit: 3b3f302855d7621405a8b93e49bd399d67a998d7 * upgrade report selectors: search for "-course-report-" and replace with "-report-" home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/message/upgrade.txt000064400000026103152266557040022513 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /message/ messaging system, information provided here is intended especially for developers. === 4.2 === * The following methods, deprecated since 3.10, have been removed and can no longer be used: - `message_count_unread_messages` - `\core_message\api::get_non_contacts_with_unread_message_count` - `\core_message\api::get_contacts_with_unread_message_count` === 4.0 === The following functions have been finally deprecated and can not be used anymore: * can_post_message() * get_individual_conversations_between_users() * The message_jabber notification has been completely removed from core. It has been moved to the plugins database repository, so it can still be installed as a third-party plugin. * The type of the parameter $read in the function message_get_messages has changed from boolean to integer. It now accepts either MESSAGE_GET_UNREAD, MESSAGE_GET_READ or MESSAGE_GET_READ_AND_UNREAD. === 3.11.2 === * The `message_page_type_list` method was previouly deprecated, however it was still used so has been recreated in message/lib.php === 3.10 === * The following methods have been deprecated and should not be used any more: * message_count_unread_messages() * get_non_contacts_with_unread_message_count() * get_contacts_with_unread_message_count() * The following functions have been finally deprecated and can not be used anymore:: * search_users_in_course() * search_users() * get_contacts() * get_messages() * get_most_recent_message() * get_profile() * get_messages() * create_messages() * get_conversations_legacy_formatter() * create_contacts() * block_contacts() * unblock_contacts() * data_for_messagearea_search_users_in_course() * data_for_messagearea_search_users() * message_search_users() * data_for_messagearea_conversations() * data_for_messagearea_contacts() * data_for_messagearea_messages() * get_conversation_messages() * data_for_messagearea_get_most_recent_message() * data_for_messagearea_get_profile() * mark_all_messages_as_read() * delete_conversation() === 3.9 === * Removed the following deprecated functions: - message_move_userfrom_unread2read - message_get_blocked_users - message_get_contacts - message_mark_message_read - message_can_delete_message - message_delete_message - mark_all_read_for_user() * Message processors can implement the following methods which will be executed as part of the messaging cleanup task: - cleanup_all_notifications - cleanup_read_notifications === 3.8 === * The following methods have been deprecated and should not be used any more: - \core_message\api::get_individual_conversations_between_users() - \core_message\api::can_post_message() === 3.7 === * The message/index.php page used to support viewing another user's messages (if you had the right capabilities) by altering the URL and adding the parameters 'user1' and 'user2'. There were only some very rare occurrences where you could access a URL generated with these parameters (eg. log report). It was decided to stop supporting this functionality and remove all the legacy code (see MDL-63915). Note - It's still possible to view another user's messages if you have the right capabilities and are able to 'log-in as' them. * A new parameter 'mergeself' has been added to the methods \core_message\api::get_conversations() and core_message_external::get_conversations(), to decide whether the self-conversations should be included or not when the private ones are requested, to display them together. * A new 'customdata' field for both messages and notifications has been added. This new field can store any custom data serialised using json_encode(). This new field can be used for storing any data not fitting in the current message structure. For example, it will be used to store additional information for the "Mobile notifications" processor. Existing external functions: core_message_get_messages and message_popup_get_popup_notifications has been udated to return the new field. * External function core_message_get_messages now returns the component and eventtype. === 3.6 === * The following functions have been finally deprecated and can not be used anymore: * message_get_course_contexts() * message_remove_url_params() * message_count_messages() * message_count_blocked_users() * message_contact_link() * message_history_link() * message_shorten_message() * message_get_fragment() * message_get_contact_add_remove_link() * message_get_contact_block_link() * message_mark_messages_read() * message_page_type_list() * message_can_post_message() * message_is_user_non_contact_blocked() * message_is_user_blocked() * The following functions have been deprecated and should not be used any more: - message_add_contact() - message_remove_contact() - message_unblock_contact() - message_block_contact() - message_get_contact() Please see their declaration in lib/deprecatedlib.php to view their alternatives (if applicable). * The following methods have been deprecated and should not be used any more: - \core_message\api::is_user_blocked() - \core_message\api::delete_conversation() - \core_message\api::is_user_non_contact_blocked() - \core_message\api::create_conversation_between_users() * The method \core_message\api::can_delete_conversation() now expects a 'conversationid' to be passed as the second parameter. * The following web services have been deprecated. Please do not call these any more. - core_message_external::block_contacts(), please use core_message_external::block_user() instead. - core_message_external::unblock_contacts(), please use core_message_external::unblock_user() instead. - core_message_external::create_contacts(), please use core_message_external::create_contact_request() instead. - core_message_external::delete_conversation(), please use core_message_external::delete_conversations_by_id() instead. - core_message_external::core_message_mark_all_messages_as_read(), please use core_message_external::core_message_mark_all_conversation_messages_as_read() instead. - core_message_external::data_for_messagearea_conversations(), please use core_message_external::get_conversations() instead - core_message_external::data_for_messagearea_search_users_in_course(). - core_message_external::data_for_messagearea_search_users(), please use core_message_external::message_search_users() instead. - core_message_external::data_for_messagearea_contacts(). - core_message_external::data_for_messagearea_messages(). - core_message_external::data_for_messagearea_get_most_recent_message(). - core_message_external::data_for_messagearea_get_profile(). - core_message_external::get_contacts(). * The following function has been added for getting the privacy messaging preference: - get_user_privacy_messaging_preference() === 3.5 === * Changed the database structure so there are no longer two tables for messages, with the only difference being that one stores read messages. The 'message' and 'message_read' tables are still present in core but will no longer be populated by core APIs. The data will be transferred to the new database structure via an ad-hoc task. Please be patient. This can take time. The new database structure is as follows - 'messages' - Stores the messages with a 'useridfrom' field specifying the user who sent the message and a 'conversationid' field specifying which conversation it is for. 'message_conversations' - The list of conversations. 'message_conversation_members' - The list of users in each conversation. 'message_user_actions' - The list of user actions against a message, eg. read/deleted. 'notifications' - This has a very similar structure to the old table 'message' and still has a one-to-one relation between users. Due to these huge differences the events message_sent, message_deleted and message_viewed have changed quite a lot. Please, if you have any observers or are triggering these events in your code you will have to make some changes! * The webservice external function 'core_message_mark_message_read' now only marks messages as read, and not notifications. A new external function 'core_message_mark_notification_read' was added to mark notifications as read. * Deprecated the following functions. - message_move_userfrom_unread2read - message_get_blocked_users - message_get_contacts - message_mark_message_read - message_can_delete_message - message_delete_message - \core_message\api::mark_all_read_for_user Please see their declaration in lib/deprecatedlib.php to view their alternatives (if applicable). * Final deprecation of the following functions. - message_get_recent_notifications - message_search - message_get_history - message_get_recent_conversations * Added new events for when a notification is sent and viewed. * Removed the database table 'message_working'. The 'message_working' table was introduced when the messaging system was first introduced in Moodle, so, a long time ago. It was never necessary. * Replaced the usage of the table 'message_popup' to a new table 'message_popup_notifications'. === 3.2 === * Removed all message_print_* functions as well as the files search.html, search_advanced.html and send_form.php due to messaging UI rehaul. * Deprecated the following functions as they are no longer used. - message_get_course_contexts - message_remove_url_params - message_count_messages - message_count_blocked_users - message_contact_link - message_get_recent_notifications - message_history_link - message_search - message_shorten_message - message_get_fragment - message_get_history - message_get_contact_add_remove_link - message_get_contact_block_link - message_mark_messages_read - message_page_type_list - message_can_post_message - message_is_user_non_contact_blocked - message_is_user_blocked === 3.1 === * get_message_processors accepts an addition parameter for testing, which will just reset processor and exit. * Deprecated method message_current_user_is_involved() has been removed. === 2.9 === * Renderer method \core_message_renderer::manage_messagingoptions now accepts a user id parameter as well. === 2.6 === * Message processor extending message_output, should return true in can_send_to_any_users() if it supports message sending to internal (noreply/support) users. * Message API has been changed to allow attachments. Message processors that can support attachments can now use additional parameter as a part of $eventdata. To send attachments, $eventdata should contain properties called "attachment" (must be stored_file) and "attachname" (string). Currently, email message processor is the only one to support attachments. === 2.2 === required changes: * lib/messagelib.php message_send($eventdata) $eventdata->userto should contain a property called "emailstop", $eventdata->userto->emailstop If it is absent it will be retrieved from the user table causing an additional database query home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/cache/upgrade.txt000064400000020312152266557270022133 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /cache/stores/* - cache store plugins. Information provided here is intended especially for developers. === 4.3 === * A new cache_helper::result_found() helper has been added to assist with cache value validation * Implementations of the following methods, deprecated since 3.10, have been removed and can no longer be used: - `\core\lock\lock::extend` - `\core\lock\lock_factory::extend_lock` - `\core\lock\lock_factory::supports_recursion` * The automatic locking options 'requirelockingread' and 'requirelockingwrite' have been removed. These features are not used in core, were recommended against in the documentation, had significant bugs, and had no useful purpose. 'requirelockingbeforewrite' is still available to check that manual locking has been applied. * The acquire_lock function within cache loaders now throws an exception if it fails to obtain the lock after a timeout, instead of returning false. * The functions set_many, delete, and delete_many now all throw exceptions if you are using 'requirelockingbeforewrite' and do not have a lock, same as the set function. === 4.2 === * The memcached cachestore has been removed. * The mongodb cachestore has been removed. === 4.1 === * Added new `requirelockingbeforewrite` option for cache definitions. This will check that a lock for a given cache key already exists before it will perform a `set()` on that key. A `coding_exception` is thrown if the lock has not been acquired. * Added native locking to cachestore_file. This will use an instance of file_lock_factory pointing at a subdirectory in the same location as the cache instance, meaning a local file cache will have its locks stored locally. If file locks are disabled globally, it will fall back to use the default lock factory, which may not be in the same location as the cache. cachestore_file includes an additional setting to control how long it will wait for a lock before giving up, default is 60 seconds. === 4.0 === * Cache stores may implement new optional function cache_store::get_last_io_bytes() to provide information about the size of data transferred (shown in footer if performance info enabled). * The cache_store class now has functions cache_size_details(), store_total_size(), and estimate_stored_size(), related to size used by the cache. These can be overridden by a cache store to provide better information for the new cache usage admin page. * New functions cache::set_versioned() and cache::get_versioned() can be used to ensure correct behaviour when using a multi-level cache with early cache levels stored locally. (Used when rebuilding modinfo.) There is also a new interface cache_data_source_versionable which can be implemented if you want to make a data source that supports versioning. === 3.10 === * The function supports_recursion() from the lock_factory interface has been deprecated including the related implementations. * The function extend_lock() from the lock_factory interface has been deprecated without replacement including the related implementations. * The function extend() from the lock class has been deprecated without replacement. * The cache_factory class can now be overridden by an alternative cache config class, which can also now control the frontend display of the cache/admin.php page (see MDL-41492). === 3.9 === * The record_cache_hit/miss/set methods now take a cache_store instead of a cache_definition object === 3.8 === * The Redis cache store can now make use of the Zstandard compression algorithm (see MDL-66428). === 3.7 === * Upgraded MongoDB cache store to use the new lower level PHP-driver and MongoDB PHP Library. * The mongodb extension has replaced the old mongo extension. The mongodb pecl extension >= 1.5 must be installed to use MongoDB cache store. === 3.6 === * The `cache::now()` function now takes an optional boolean parameter to indicate that the cache should return a more accurate time, generated by the PHP `microtime` function. * The memcache store was removed as it is not compatible with PHP 7.0. === 3.3 === * Identifiers and invalidation events have been explictly been marked as incompatible and will throw a coding exception. Unexpected results would have occurred if the previous behaviour was attempted. * Identifiers are now part of loaded caches, so identifiers can only be set at cache::make() a coding_exception will be thrown if attempts are made at other times. Multiple calls to cache::make with different identifiers will produce 2 caches instead of changing the keyspace of a single cache. === 3.2 === * The following methods have been finally deprecated and should no longer be used. - cache_definition::should_be_persistent() - cache_definition::get_persistent_max_size() - cache::is_using_persist_cache() - cache::is_in_persist_cache() - cache::get_from_persist_cache() - cache::set_in_persist_cache() - cache::delete_from_persist_cache() - cache_store::cleanup() * cachestore_dummy::cleanup() has been deprecated. * cachestore_dummy::instance_deleted() implemented in lieu of cachestore_dummy::cleanup(). * Added cache_store::unit_test_configuration() to calculate unit testing configuration. * Remove cache_store:initialise_unit_test_instance() as it is incompatible with cache_helper purge functions. === 3.1 === * Cache stores has a new feature DEREFERENCES_OBJECTS. This allows the cache loader to decide if it needs to handle dereferencing or whether the data coming directly to it has already had references resolved. - see supports_dereferencing_objects in store.php. === 2.9 === * Cache data source aggregation functionality has been removed. This functionality was found to be broken and unused. It was decided that rather than fixing it it should be removed. As well as the processing code being removed the following API changes have been made. The following changes have come about because of it: - cache_definition::$datasourceaggregate is deprecated an unused. - cache_definition::load Argument 3 (final arg) is now unused. - cache_factory::create_cache_from_definition Argument 4 (final arg) is now unused. - cache::make Argument 4 (final arg) is now unused. * cache_config_phpunittest has been renamed to cache_config_testing * New method cache_store::ready_to_be_used_for_testing() that returns true|false if the store is suitable and ready for use as the primary store during unit and acceptance tests. * cache_helper::get_stats structure we changed to include the cache mode. === 2.7 === * cache_store::is_ready is no longer abstract, calling cache_store::are_requirements_met by default. === 2.6 === * All cache instances are recorded and subsequent requests are given a reference to the original instance. * The persistent option for the cache definition has been deprecated. Please use the staticacceleration option instead. * There is a new static acceleration option. If enabled data passing through the cache is held onto. * The persistentmaxsize option has been renamed to staticaccelerationsize. It does the same thing. * cache_definition::should_be_persistent has been deprecated. Please call cache_definition::use_static_acceleration instead. * cache_definition::get_persistent_max_size has been deprecated. Please call cache_definition::get_static_acceleration_size instead. * cache::is_using_persist_cache() has been deprecated. Please call cache::use_static_acceleration() * cache::is_in_persist_cache() has been deprecated. Please call cache::static_acceleration_has() * cache::get_from_persist_cache() has been deprecated. Please call cache::static_acceleration_get() * cache::set_in_persist_cache() has been deprecated. Please call cache::static_acceleration_set() * cache::delete_from_persist_cache() has been deprecated. Please call cache::static_acceleration_delete() * If you have any custom cache loaders you will need to rename these methods if you have overriden them and adjust any calls you may have made to them. === 2.5 === * cleanup method renamed to instance_deleted. It is now called when the store is deleted as all comments suggested anyway. * instance_created method added. It is called when the store is created for the very first time. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/grade/upgrade.txt000064400000013510152266557320022150 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in /grade/* ; Information provided here is intended especially for developers. === 4.4 === * The grade_structure::get_element_icon() function has been deprecated. Please use grade_helper::get_element_icon() instead. * The grade_structure::get_element_type_string() function has been deprecated. Please use grade_helper::get_element_type_string() instead. * The grade_structure::get_element_header() function has been deprecated. Please use grade_helper::get_element_header() instead. * The grade_structure::get_activity_link() functions has been deprecated. Please use grade_helper::get_activity_link() instead. * The `grade_helper::get_activity_link` method will only return URL to activities view.php page (no longer to the grade.php page) * Some changes to how print_grade_page_head() sets the page title: * If a non-empty `$heading` parameter is passed, it will be used as the page title's unique identifying information. * Add support for grade report plugins that define an `editingmode_title` lang string. If the grade report plugin defines this language string, it will be used for the page title's unique identifying information when editing mode is turned on. * The function gradeimport_csv_load_data::insert_grade_record() now has extra parameter $gradeitem to carry over the grade item related info for validation. * The function get_gradable_users() in grade/lib.php has extra param now to retrieve only active enrolments. * A new webservice core_grades_get_gradable_users has been added to retrieve gradable users for a course. * The following previously deprecated methods have been removed and can no longer be used: - `grade_print_tabs` - `print_grade_plugin_selector` === 4.3 === * The $showtitle parameter in the print_grade_page_head function located inside grade/lib.php has been deprecated and is not used anymore. * The deprecated `core_grades_create_gradecategory` external method has been removed, in addition to the accompanying `core_grades_external::create_gradecategory` methods * User, Group & Grade item JS classes have been added to easily enable the creation of combobox search components. Refer to the dev docs on details of how to implement this feature if desired. * basewidget.js has been deprecated and its uses replaced with the new JS classes mentioned above. * With the basewidget being deprecated all usages of it in core have now been migrated and the files that used it removed. The basewidget itself will go through the proper deprecation process and be removed in a future version. * The following webservices have had some optional parameters changed: - grade/classes/external/get_enrolled_users_for_selector - profileimage -> profileimageurl & profileimageurlsmall - return changed to use the core_user_external::user_description() method instead of a custom baked one. - grade/classes/external/get_groups_for_selector - Has been relocated to core_group_external::get_groups_for_selector() - groupimageurl is now available as an optional parameter to give the user an image either set or generated for the group. * The grade `itemname` property contained in the return structure of the following external methods is now PARAM_CLEANHTML: - `core_grades_get_gradeitems` - `gradereport_user_get_grade_items` * The grade_helper::get_lang_string() function has been deprecated. Please use get_string() instead. === 4.1 === * The $importactiveurl parameter in the constructor of the core_grades\output\import_action_bar class has been deprecated and is not used anymore. * The $exportactiveurl parameter in the constructor of the core_grades\output\export_action_bar class has been deprecated and is not used anymore. * The select_in_gradebook_navigation_selector() function in behat_grade.php has been deprecated. Please use behat_forms::i_set_the_field_to() instead. === 4.0 === * The select_in_gradebook_tabs() function in behat_grade.php has been deprecated. Please use the function select_in_gradebook_navigation_selector() instead. * The setting $CFG->grade_navmethod setting has been completely removed because it's not required anymore. This setting was used to set the type of navigation (tabs or dropdown box) used in gradebook which is now replaced with tertiary navigation. * The print_grade_plugin_selector() function has been deprecated. This function was used to generate and output the dropdown box navigation in gradebook which is now replaced with tertiary navigation. * The grade_print_tabs() function has been deprecated. This function was used to generate and output the tabs navigation in gradebook which is now replaced with tertiary navigation. * There is a new callback inside of grade_get_plugin_info called extend_gradebook_plugininfo which allows for new tabs to be added to the gradebook. === 3.7 === * The grade_cron() function has been removed. Please use grade_history_cleanup_task and grade_cron_task scheduled tasks instead. === 3.6 === * The grade_plugin_return constructor now uses parameters from the request as defaults, which can be overridden by parameters supplied to the constructor. This may lead to a change in behaviour if only some of the possible parameters are supplied. * The grade_plugin_return class now tracks groupid as well as the type, plugin, courseid, userid and page parameters that were tracked previously. The groupid parameter will be set using groups_get_course_group for the relevant course if the group is otherwise unspecified. * The above changes mean that code using grade_plugin_return objects should generally no longer call groups_get_course_group directly, but should use the gpr->groupid parameter instead. * The grade_plugin_return constructor now accepts either course or courseid as a parameter to specify course. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/cohort/upgrade.txt000064400000001405152266557600022365 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /cohort/ information provided here is intended especially for developers. === 4.2 === * Added cohort custom fields. === 3.1 === * The Webservice core_cohort_get_cohorts now has the added functionality of getting all cohorts by not passing any parameters === 2.6 === * Webservice core_cohort_update_cohorts was incorrectly specifiying float as the parameter type for cohort id. This field is actually int and input is now reported and processed as such. * Webservice core_cohort_get_cohorts was incorrectly specifiying float as the return type for cohort id. The actual return type is int and is now reported as such. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/analytics/upgrade.txt000064400000017230152266563330023056 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in analytics sub system, information provided here is intended especially for developers. === 4.2 === * The following analytics target classes, renamed since 3.7, have now been removed completed: - `\core\analytics\target\course_dropout` - `\core\analytics\target\course_competencies` - `\core\analytics\target\course_completion` - `\core\analytics\target\course_gradetopass` - `\core\analytics\target\no_teaching` === 3.11 === * Final deprecation get_enabled_time_splitting_methods. Method has been removed. Use get_time_splitting_methods_for_evaluation instead. * Final deprecation add_builtin_models. Method has been removed. The functionality has been replaced with automatic update of models provided by the core moodle component. There is no need to call this method explicitly any more. Instead, adding new models can be achieved by updating the lib/db/analytics.php file and bumping the core version. * Final deprecation - get_analysables(). Please see get_analysables_interator() instead. get_analysables_iterator() needs to be overridden by the child class. * A new function get_executed_actions() has been added to \core_analytics\prediction class to get all (or filtered by action name) executed actions of a prediction === 3.8 === * "Time-splitting method" have been replaced by "Analysis interval" for the language strings that are displayed in the Moodle UI. The name of several time-splitting methods have been updated according to the new description of the field. * A new target::can_use_timesplitting method must be implemented to discard time-splitting methods that can not be used on a target. * Targets can now implement get_insight_body and get_insight_body_for_prediction to set the body of the insight. * Indicators can add information about calculated values by calling add_shared_calculation_info(). This data is later available for targets in get_insight_body_for_prediction(), it can be accessed appending ':extradata' to the indicator name (e.g. $sampledata['\mod_yeah\analytics\indicator\ou:extradata') * A new \core_analytics\local\time_splitting\past_periodic abstract class has been added. Time-splitting methods extending \core_analytics\local\time_splitting\periodic directly should be extending past_periodic now. 'periodic' can still be directly extended by implementing get_next_range and get_first_start methods. * Targets can now specify a list of bulk actions in bulk_actions(). core_analytics\prediction_action is now extending core_analytics\action and a new core_analytics\bulk_action class has been added. Actions can now specify a type in its constructor: core_analytics\action::TYPE_POSITIVE, TYPE_NEUTRAL or TYPE_NEGATIVE. A list of default bulk actions is available in \core_analytics\default_bulk_actions. * The default suggested actions provided to users changed: * For targets with one single sample per analysable (e.g. upcoming activities due) the default actions are Useful and Not useful. * For targets with multiple samples per analysable (e.g. students at risk) the default actions are Accept, Not applicable and Incorrectly flagged. * The suggested actions for the existing models have been reworded: * Predictions flagged as "Acknowledged" in models whose targets use analysers that provide one sample per analysable (e.g. upcoming activities due) have been updated to "Useful" flag. * Predictions flagged as "Not useful" in models whose targets use analysers that provide multiple samples per analysable (e.g. students at risk or no teaching) have been updated to "Incorrectly flagged". * \core_analytics\predictor::delete_output_dir has a new 2nd parameter, $uniquemodelid. * Analyser's get_analysables_iterator and get_iterator_sql have a new $contexts parameter to limit the returned analysables to the ones that depend on the provided contexts. * Analysers can implement a context_restriction_support() method to restrict models to a subset of the contents in the site. Only CONTEXT_COURSE and CONTEXT_COURSECAT are supported. === 3.7 === * \core_analytics\regressor::evaluate_regression and \core_analytics\classifier::evaluate_classification have been updated to include a new $trainedmodeldir param. This new param will be used to evaluate the existing trained model. * Plugins and core subsystems can now declare default prediction models by describing them in their db/analytics.php file. Models should not be created manually via the db/install.php file any more. * The method \core_analytics\manager::add_builtin_models() has been deprecated. The functionality has been replaced with automatic update of models provided by the core moodle component. There is no need to call this method explicitly any more. Instead, adding new models can be achieved by updating the lib/db/analytics.php file and bumping the core version. * \core_analytics\model::execute_prediction_callbacks now returns an array with both sample's contexts and the prediction records. * \core_analytics\model::export() now expects the renderer instance as an argument. * Time splitting methods: * \core_analytics\local\time_splitting\base::append_rangeindex and \core_analytics\local\time_splitting\base::infer_sample_info are now marked as final and can not be overwritten. * Can now overwrite include_range_info_in_training_data() and get_training_ranges() methods. They can be used to create time splitting methods with a pre-defined number of ranges. * Can now overwrite cache_indicator_calculations(). You should return false if the time frames generated by your time-splitting method are unique and / or can hardly be reused by further models. * Can now overwrite valid_for_evaluation(). You can return false if the time-splitting method can not be used to evaluate prediction models or if it does not make sense to evaluate prediction models with it, as for example upcoming_periodic children classes. * \core_analytics\local\analyser\base::get_most_recent_prediction_range has been moved to \core_analytics\local\time_splitting\base::get_most_recent_prediction_range and it is not overwritable by time splitting methods. * Targets: * The visibility of the following methods must now be public: ignored_predicted_classes() and get_insights_users() * Prediction_actions() has now a 3rd parameter $isinsightuser. This parameter is true when we are listing actions for the user that will receives the insight. * Can now implement a always_update_analysis_time() method so analysable elements' timeanalysed is only updated when analysable elements have been successfully evaluated. It is useful for lightweight targets. * Can not implement two new methods to tune the insights generated by the model: get_insight_subject() and get_insight_context_url(). * Analysers: * The visibility of get_all_samples() method must now be public. * get_analysables() method has been deprecated in favour of a new get_analysables_interator() for performance reasons. * Can overwrite a new one_sample_per_analysable() method if the analysables they use only have one sample. The insights generated by models will then include the suggested actions in the notification. === 3.5 === * There are two new methods for analysers, processes_user_data() and join_sample_user(). You need to overwrite them if your analyser uses user data. As a general statement, you should overwrite these new methods if your samples return 'user' data. These new methods are used for analytics' privacy API implementation. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/blocks/lp/upgrade.txt000064400000000404152266563360022755 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in the lp block code. === 3.7 === * The 'block/lp:view' capability has been removed. It has never been used in code.home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/media/upgrade.txt000064400000002243152266564340022146 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /media/ plugins, information provided here is intended especially for developers. === 4.0 === * The videojs-flash-lazy.js and videojs/video-js-swf libraries have been removed, because the Flash Player was deprecated in 2017 and officially discontinued on 31 December 2020. Besides, the rtmp and useflash settings have been removed because they are not required anymore, now that the flash support has been removed from the videojs media player. === 3.8 === * The final deprecation of core_media_manager::setup() means that this function will no longer be called. The setup is now done in ::instance() so there is no need to call this. === 3.6 === * The following functions have been finally deprecated and can not be used anymore: * core_media_player::is_enabled() * core_media_player::compare_by_rank() === 3.3 === * core_media_manager setup() is now deprecated as it is now called when initialising core_media_manager::instance(). * core_media_manager is now final. Do not extend core_media_manager, instead create a media plugin. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/blocks/timeline/upgrade.txt000064400000001246152266564350024155 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in the timeline block code. === 4.0 === * The timeline block courses view has been updated to only list courses which contain at least one action event within the chosen filter, so now uses \core_course\external\get_enrolled_courses_with_action_events_by_timeline_classification to fetch courses instead of core_course_external::get_enrolled_courses_by_timeline_classification, which fetches all courses within the limit. === 3.7 === * The 'block/timeline:addinstance' capability has been removed. It has never been used in code.home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/auth/none/upgrade.txt000064400000000650152266570020022757 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /auth/none/*, information provided here is intended especially for developers. === 3.3 === * The config.html file was migrated to use the admin settings API. The identifier for configuration data stored in config_plugins table was converted from 'auth/none' to 'auth_none'. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/auth/ldap/upgrade.txt000064400000001251152266570120022737 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the auth_ldap code. === 3.4 === * The "auth_ldap/coursecreators" setting was replaced with dynamically generated "auth_ldap/context" settings, migrating any existing value to a new setting in this style. === 3.3 === * The config.html file was migrated to use the admin settings API. The identifier for configuration data stored in config_plugins table was converted from 'auth/ldap' to 'auth_ldap'. === 2.9.1 === * auth_plugin_ldap::update_user_record() accepts an additional (optional) param to trigger update event. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/blocks/tag_youtube/upgrade.txt000064400000001353152266574260024676 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the block tag_youtube code. === 3.10.1 === * The config category now stores the category ID, instead of a string representation of the category name. In YouTube Data API v3, the API call to fetch the videos related to a certain category expects the category ID to be passed to the videoCategoryId parameter, instead of the category name. === 3.0 === * Due to the final YouTube API v2.0 deprecation we needed to adapt the current code to YouTube Data API v3. block_tag_youtube::fetch_request and block_tag_youtube::render_video_list have been deprecated as they can not be used any more. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/local/upgrade.txt000064400000001624152266600220022147 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes for the plugins of the type 'local'. === 3.1 === * Navigation API callbacks local__extends_navigation() and local__extends_settings_navigation() have been removed. Please rename them to local__extend_navigation() and local__extend_settings_navigation() respectively. === 2.9 === * Navigation API callbacks local__extends_navigation() and local__extends_settings_navigation() are deprecated. Please rename them to local__extend_navigation() and local__extend_settings_navigation() respectively. The deprecated variant will be supported in 2.9 and 3.0 and then the support will be dropped. * Definitely dropped support for the original _extends_navigation() that has been deprecated since 2.3. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/enrol/upgrade.txt000064400000020164152266601010022172 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /enrol/* - plugins, information provided here is intended especially for developers. === 4.4 === * Functions core_enrol_external::search_users and course_enrolment_manager::search_users now have extra optional parameter contextid which allows to search users in a specific activity context. When omitted it searches in the whole course. * New find_instance() function has been created. It finds a matching enrolment instance in a given course using provided enrolment data (for example cohort idnumber for cohort enrolment). Defaults to null. Override this function in your enrolment plugin if you want it to be supported in CSV course upload. Please be aware that sometimes it is not possible to uniquely find an instance based on given data. For example lti entolment records do not have any unique data except id in mod_lti_enrol table. Such plugins should not be supported in CSV course upload. The exception is self enrolment plugin since it is already supported in CSV course upload. For self enrolment plugin, find_instance() returns first available instance in the course. * A sesskey is no longer passed to the enrol/test_settings.php page so it can no longer be required in test_settings(). * enrol_self_plugin::get_welcome_email_contact() has been deprecated. Please use enrol_plugin::get_welcome_message_contact() instead. * enrol_self_plugin::email_welcome_message() has been deprecated. Please use enrol_plugin::send_course_welcome_message_to_user() instead. === 4.3 === * New is_csv_upload_supported() function has been created. It checks whether enrolment plugin is supported in CSV course upload. Defaults to false. Override this function in your enrolment plugin if you want it to be supported in CSV course upload. === 4.2 === * New is_self_enrol_available() function has been created. Similar to can_self_enrol but without checking user capabilities. * External function core_enrol_external::get_users_courses now returns a field called "courseimage" containing a URL pointing to the course image. === 4.0 === * Final deprecation of the following webservice: * core_enrol_edit_user_enrolment * External function core_enrol_external::get_users_courses now returns the last time a course was modified (timemodified field) * The behat step i_add_enrolment_method_with() has been deprecated. Please use the new method i_add_enrolment_method_for_with() === 3.11 === * Added onlysuspended option to core_enrol_get_enrolled_users webservice to retrieve only suspended users. === 3.8 === * Function enrol_manual_plugin::enrol_cohort now return the number of enrolled cohort users. === 3.7 === * Functions get_potential_users() and search_other_users() now return more information to avoid extra count query: - users: List of user objects returned by the query. - moreusers: True if there are still more users, otherwise is False. - totalusers: Number users matching the search. (This element only exists if the function is called with $returnexactcount param set to true). * enrolledusercount is now optional in the return value of get_users_courses() for performance reasons. This is controlled with the new optional returnusercount parameter (default true). * External function core_enrol_external::get_users_courses now returns a new field "completionusertracked" that indicates if the given user is being tracked for completion. === 3.6 === * External function core_enrol_external::get_users_courses now return more information to avoid multiple queries to build the user dashboard: - displayname: Course display name for lists. - marker: Course section active marker. - completed: Whether the given user completed the course or not. - lastaccess: Last time the user accessed the course. - overviewfiles: Course overview files. - completionhascriteria: Whether completion criteria is set for the course. - isfavourite: Whether the user marked the course as favourite. - hidden: Whether the user hide the course from the dashboard. * External functions core_enrol_external::get_enrolled_users and core_enrol_external::get_enrolled_users_with_capability now return the last access time for the users in the given course. === 3.5 === * Default sorting in enrol_get_my_courses(), enrol_get_all_users_courses() and enrol_get_users_courses() now respects the site setting "navsortmycoursessort" and should be consistently used when displaying the courses in the UI. === 3.4 === * render_course_enrolment_users_table method has been removed from the renderer. The enrolled users page is now combined with the participants page. /enrol/users.php no longer exists. === 3.3 === * External function core_enrol_external::get_users_courses now return the user progress, start and the end course dates. === 3.2 === * External function core_enrol_external::get_users_courses now return the category id as an additional optional field. === 3.1 === * core_enrol_external::get_enrolled_users now supports two additional parameters for ordering: sortby and sortdirection. * Enrolment plugins UI have been consolidated. Plugins can implement use_standard_editing_ui() function and add edit_instance_form() and edit_instance_validation() methods instead of providing their own edit.php and form. They can then rely on the default implementation of get_action_icons and get_course_navigation. In future this will mean they can be called by webservices/user upload tools because they can validate their data. === 3.0 === * Added new events enrol_instance_created, enrol_instance_updated and enrol_instance_deleted . Always trigger them when changing records in the DB table 'enrol'. * Constant CACHE_COURSE_CONTACTS_TTL was deleted. * External function core_enrol_external::get_enrolled_users now returns only the viewable participants if the course has groups enabled and no groupid is passed. === 2.9 === * External function core_enrol_external::get_users_courses now returns additional optional fields: - summary: Course summary. - summaryformat: Course summary format. - format: Course format. - showgrades: True if grades are shown, otherwise false. - lang: Forced course language. - enablecompletion: Control or not via completion and activity settings. === 2.8 === * enrol_plugin::instance_deleteable() is deprecated and has been replaced by enrol_plugin::can_delete_instance() * enrol_plugin::can_hide_show_instance() is a new function to control who can hide/show enrolment instances. Returns true by default but plugins must implement their own logic. === 2.6 === * Enrolment plugin which supports self enrolment should implement can_self_enrol() * Enrolment plugin should implement get_enrol_info() to expose instance information with webservice or external interface. * Webservice core_enrol_get_enrolled_users_with_capability was incorrectly specifing float as the return type for user id. int is the actual returned type and is now reported as such. === 2.5 === * plugins may use general enrol/editenrolment.php page to let users edit enrolments manually * new support for grade recovery in enrol_plugin::enrol_user() method === 2.4 === required changes in code: * use role_get_name() or role_fix_names() if you need any role names, using role.name directly from database is not correct any more * new restore support: ENROL_RESTORE_EXACT, ENROL_RESTORE_NOUSERS and ENROL_RESTORE_CLASS were removed, implement new restore_* plugin methods instead other changes and new features: * course enrolment manager now works with disabled plugins too * new support for protected group membership linked to enrol instance * new support for expiry notifications - see enrol_plugin::send_expiry_notifications() method === 2.2 === required changes in code: * load_temp_role() is deprecated, use load_temp_course_role() instead, temp role not loaded * remove_temp_role() is deprecated, use remove_temp_course_roles() instead * 'user_unenrol_modified' event was renamed to 'user_enrol_modified' === 2.0 === required changes in code: * enrolment plugins need to be rewritten to use new API - see inline phpdocs and official plugins home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/files/upgrade.txt000064400000000667152266601340022171 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /files/*, information provided here is intended especially for developers. === 2.9 === * External function core_files_external::get_files returns additional optional fields: - timecreated: Time created. - filesize: File size. - author: File owner. - license: File license. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/enrol/database/upgrade.txt000064400000001115152266602710023741 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the enrol_database code. === 3.11 === * Final deprecation enrol/database/cli/sync.php. Refer below for substitute. === 3.9 === * Class enrol_database_admin_setting_category has been removed. This class was only used by the database enrolment plugin settings and it was replaced by admin_settings_coursecat_select. === 3.7 === * enrol/database/cli/sync.php script has been deprecated in favour of enrol_database\task\sync_enrolments task. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/blocks/calendar_upcoming/upgrade.txt000064400000000746152266641510026017 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === === 4.4 === * The following previously deprecated methods have been removed and can no longer be used: - block_calendar_upcoming::get_upcoming_content === 3.4 === * block_calendar_upcoming::get_upcoming_content has been deprecated. Please update your code to use the new APIs. You can see an example of how these may be used in block_calendar_upcoming::get_content(). home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/blocks/recentlyaccessedcourses/upgrade.txt000064400000000733152267000450027256 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in the recentlyaccessedcourses block code. === 3.8 === * New admin setting block_recentlyaccessedcourses/displaycategories which enables the recently accessed courses block to display the course category. === 3.7 === * The 'block/recentlyaccessedcourses:addinstance' capability has been removed. It has never been used in code.home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/data/upgrade.txt000064400000016422152267007720022556 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/data - plugins, information provided here is intended especially for developers. === 4.4 === * The following behat steps are now deprecated. Use data generators instead: - I add a ":fieldtype" field to ":activityname" database and I fill the form with: - I add an entry to ":activityname" database with: * Use of mustache templates for rendering add/modify fields forms. Elimination of all mod/data/field/*/mod.html files. * A function get_field_params() in data_field_base can be extended by datafield plugins to get their parameters. === 4.3 === * Function data_export_xls() has been deprecated and moved to deprecatedlib, because xls support has already been dropped. * Functions data_export_csv(), data_export_ods() and data_get_exportdata() have been deprecated due to a bigger refactoring of the way data is being exported. This is now being done by new exporter classes \mod_data\local\exporter\csv_entries_exporter and \mod_data\local\exporter\ods_entries_exporter (inheriting from exporter base class \mod_data\local\exporter\entries_exporter) as well as \mod_data\local\exporter\utils::data_exportdata(). * Function data_import_csv() has been deprecated and moved to deprecatedlib due to a bigger rework of the way data is being imported. This is now being done by new importer class \mod_data\local\importer\csv_importer inheriting from new class \mod_data\local\importer. * Field base class now has two new methods file_export_supported() and export_file_value(). The method file_export_supported() can be overwritten to declare that a field type can/wants to export a file. In this case this field type will have to implement the method export_file_value() returning this file for exporting. Also: This field type will have to export the name of the file by overwriting text_export_supported() to return true and make the method export_text_value() return the name of the file. * The field types file and picture now are able to export the file/picture. * Field base class now has two new methods file_import_supported() and import_file_value(). The method file_import_supported() can be overwritten to declare that a field type is able to import a file. In this case this field type will have to implement the method import_file_value() doing the actual import of the file being passed. * The field types file and picture now are able to import the file/picture. === 4.2 === * The field base class now has a method validate(). Overwrite it in the field type to provide validation of field type's parameters in the field add/modify form. * New tags are added to the current mod_data\templates class: ##otherfields##, [[FIELD#name]], and [[FIELD#description]]. * The mod_data\template class can provide preprocessor methods to optimize some tags. From now on, when load_template_tags detects a tag, it will call a "preprocess_tag_TAGNAME" method if it exists. This preprocessing can be used, for example, to precalculate some content. Currently, this preprocessor is used to detect which fields needs to be renderer when a ##otherfields## is used. === 4.1 === * The method data_view is now deprecated. Use $maganer->set_module_viewed instead. * The data_print_template function is now deprecated and replaced by mod_data\template class. * The data_print_ratings function now has an extra $print to get the ratings output instead of printing it directly. * The following functions have been deprecated because they have been moved to the manager class: - data_get_available_presets - data_get_available_site_presets - data_preset_name - data_presets_export - data_presets_generate_xml - data_presets_save - is_directory_a_preset * mod_data_external::add_entry() function throws an error when trying to add an entry to a database with no field created. * data_user_can_add_entry() function returns false for any user if there is no field created on the database. * From now on, the data_generate_default_template method will always return a string with the template content or an empty string when there is no content available. * The following classes have been deprecated from lib.php because they have been moved to use manager class: - data_preset_importer - data_preset_existing_importer - data_preset_upload_importer * import_setting_mappings() function has been deprecated. Use importing_preset() instead. * $fieldselect single_select type parameter has been deprecated for fields_action_bar class constructor, and a new action_menu type parameter has been added. * The $urlselect, $saveaspresetbutton and $exportpresetbutton parameters in the constructor of the fields_action_bar class have been deprecated too and are not used anymore. * The $saveaspresetbutton and $exportpresetbutton parameters in the constructor of the templates_action_bar class have been deprecated and are not used anymore. Besides, a new parameter, $actionsselect, has been added to the constructor of this class. * A new parameter, $actionsselect, has been added to the presets_action_bar constructor. * A new parameter, $mode, has been added to the view_action_bar constructor. * The $hassaveaspreset and $haveexportpreset parameters in the get_fields_action_bar() action_bar class have been deprecated and are not used anymore. === 3.7 === * External functions get_entries, get_entry and search_entries now return an additional field "tags" containing the entry tags. === 3.4 === * External function mod_data_external::search_entries() now returns the maxcount field: Total count of records that the user could see in the database (if all the search criterias were removed). * External function get_entry now returns an additional field "ratinginfo" containing the entry rating information. === 3.3.2 === * data_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 3.3 === * External function get_databases_by_courses now return more fields for users with mod/data:viewentry capability enabled: maxentries, rssarticles, singletemplate, listtemplate, listtemplateheader, listtemplatefooter, addtemplate, rsstemplate, rsstitletemplate, csstemplate, jstemplate, asearchtemplate, approval, defaultsort, defaultsortdir, manageapproved. * Data field classes extending data_field_base should implement the get_config_for_external method. This method is used for returning the field settings for external functions. You should check the user capabilities of the current user before returning any field setting value. This is intended to protect field settings like private keys for external systems. * Required entries has been added to the Activity completion setting of mod_form. Entries required for completion (in the entries section) is no longer displayed for new instances and will be deprecated in a future release in favour of the new completion setting. === 3.2 === * New hook - update_content_import - Can be implemented by field subplugins data_field_* class This can be used to pre-process data from a csv file before it is inserted into the database. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/imscp/upgrade.txt000064400000001041152267012730022744 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the imscp code. === 4.3 === * The `imscp_libxml_disable_entity_loader` method is deprecated, as it is no longer required from PHP 8.0 === 3.0 === * External function mod_imscp_external::get_imscps_by_courses returned parameter "name" has been changed to PARAM_RAW, this is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/scorm/upgrade.txt000064400000003324152267013040022755 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the mod_scorm code. === 4.3 === * Add SCORM options in get_scorms_by_courses() external/ws function. === 4.0 === * Setting 'displayactivityname' has been removed from scorm. This will be handled by activityheader and is theme dependent. === 3.6 === * The following renamed classes have been completely removed: - scorm_default_report (now: mod_scorm\report) === 3.5 === * In get_scorms_by_courses() external/ws function, the force new attempt setting is no longer a boolean - now accepts 3 values: No (0), On complete (1) and the new Always (2). See MDL-32585 for more details. === 3.3.2 === * scorm_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 3.1 === * Group and groupings support has now been enabled. === 3.0 === * External function mod_scorm_external::get_scorms_by_courses returned parameter "name" has been changed to PARAM_RAW, this is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used. * Function scorm_view_display was renamed to scorm_print_launch to avoid confussion with new function scorm_view. === 2.8 === * Coding style fixes. A large number of coding style issues were fixed in MDL-45887. This means any local modifications to mod_scorm are likely to conflict. * All scorm report plugins should use namespaced classnames now. Refer MDL-46469 for details. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/quiz/accessrule/upgrade.txt000064400000002153152267016340024760 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes for quiz access rule plugins. Overview of this plugin type at http://docs.moodle.org/dev/Quiz_access_rules === 4.2 === * Note that class mod_quiz_preflight_check_form has been renamed to mod_quiz\form\preflight_check_form. * The base class quiz_access_rule_base has been moved to mod_quiz\local\access_rule_base. Please: 1. update your class declaration to ... extends access_rule_base { 2. Add use mod_quiz\local\access_rule_base; 3. Remove require_once($CFG->dirroot . '/mod/quiz/accessrule/accessrulebase.php'); === 2.8, 2.7.1, 2.6.4 and 2.5.7 === * New static method delete_settings for access rules, which is called when a quiz is deleted. === 2.4 and 2.3.4 === * Replaced time_left() with new time_left_display() and end_time() functions. === 2.3 === * This plugin type now supports cron in the standard way. If required, Create a lib.php file containing function quizaccess_mypluginname_cron() {}; === 2.2 === * This plugin type was new in Moodle 2.2! home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/folder/upgrade.txt000064400000000507152267033050023110 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/folder/*, information provided here is intended especially for developers. === 4.3 === * htmllize_tree() method has been deprecated. Use renderable_tree_elements() instead. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/lesson/upgrade.txt000064400000005126152267036740023153 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the lesson code. === 4.4 === * The deprecated `lesson_add_header_buttons` method has been removed === 4.0 === * Deprecated the function lesson_add_header_buttons in favour of tertiary navigation. === 3.6.1 === * A new function update_form_data() has been added to lesson_page class. This can be overridden by the individual page types to alter the form data before being sent to the mform. === 3.4 === * External function mod_lesson_external::get_user_attempt() now returns the full page object inside each answerpages. === 3.3.2 === * lesson_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 3.3 === * lesson::callback_on_view() has an additional optional parameter $redirect default to true. It can be set to false to avoid redirection and return the page to redirect. === 3.1 === * Removed the unused file reformat.php * removedoublecr() and importmodifiedaikenstyle() have now been removed. === 3.0 === * Removed broken high score code. Use the activity results block instead. === 2.9 === * The grade_item_delete function in mod/lesson/lib.php was removed because it was not doing anything and was never called. * A third optional boolean parameter $endreached was added to lesson::update_timer to indicate that end of lesson was reached. This is used by 'completionendreached' custom completion rule. * lesson_page_type_endofbranch::update in mod/lesson/pagetypes/endofbranch.php and lesson_page_type_endofcluster::update in mod/lesson/pagetypes/endofcluster.php have been removed, this is now handled by the base class: lesson_page::update in locallib.php and the exact same code is executed (it is also executed by the lesson_page_type_cluster class that previously had no update function). * A fourth parameter (format) has been added to the add_answer() function located as part of the lesson_add_page_form_base class. If specified with a value of 'LESSON_ANSWER_HTML' then a rich html editor is generated. Otherwise an editor is created with Moodle Auto Format * removedoublecr() and importmodifiedaikenstyle() are now deprecated. * Added support for groups and groupings. If enabled, this allows the Report and Grade Essay view to be filtered by a group === Earlier changes === * Were not documented in this way. Sorry. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/choice/upgrade.txt000064400000002577152267042040023077 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/choice/*, information provided here is intended especially for developers. === 3.3.2 === * choice_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 3.2 === * Events mod_choice\event\answer_submitted and mod_choice\event\answer_updated are no longer triggered. Observers listening to these events must instead listen to mod_choice\event\answer_created and mod_choice\event\answer_deleted that are triggered for each option that is selected or unselected. User whose choice was modified can be found in $event->relateduserid (this does not have to be the user who performs the action). === 3.0 === * External function mod_choice_external::get_choices_by_courses returned parameter "name" and mod_choice_external::get_choice_results "text" have been changed to PARAM_RAW. This is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used. === 2.9 === * custom renderers must be updated to include action=makechoice field in display_options() home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/workshop/upgrade.txt000064400000004012152267043340023507 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/workshop - activity modules, information provided here is intended especially for developers. === 4.2 === * New function render_action_buttons(): Move render the action buttons from view.php to renderer.php. * New function view_submissions_report(): Render the submissions report. * New function view_page(): The function handles displaying sections of the page. === 4.0 === * \mod_workshop\event\phase_automatically_switched event is triggered when the phase is automatically switched within the cron task. * A new method \workshopallocation_scheduled::phase_automatically_switched added to handle the \mod_workshop\event\phase_automatically_switched event. * A new boolean parameter, $checksubmissionphase, has been added to the workshop_scheduled_allocator::execute() method in order to allow (or not) the allocation of submissions to be done in phases other than the SUBMISSION_PHASE. === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * workshop_scale_used() === 3.7 === * workshop_cron() has been removed. Sub-plugins should now implement scheduled tasks. === 3.6 === * The external function get_workshops_by_courses now returns 2 additional fields: submissiontypetext and submissiontypefile, indicating which submission types are available and required. === 3.4 === * workshop_strategy::get_dimensions_info now returns also the scale items (if scales are being used). === 3.3.2 === * workshop_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 2.7 === * The method workshop::log() has been deprecated in the workshop module. Please use the event classes instead (mod/workshop/classes/event). home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/wiki/upgrade.txt000064400000002142152267057740022611 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/wiki/*, information provided here is intended especially for developers. === 4.0 === * wiki_info has been deprecated. Output will be handled within the $PAGE->activityheader instead. === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * wiki_scale_used() === 3.7 === * External functions get_subwiki_pages and get_page_contents now return an additional field "tags" returning the entry tags. === 3.2 === * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. * External function get_page_contents now returns the page version. This new field is marked as VALUE_OPTIONAL for backwards compatibility. === 3.1 === * Added a new param $sort to wiki_get_page_list function. Default value behaves exactly like before (sort by title ASC). home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/forum/upgrade.txt000064400000023157152267074030022776 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/forum/*, information provided here is intended especially for developers. === 4.5 === * Final deprecation of forum_update_subscriptions_button(). === 4.4 === * The mod_forum_get_forum_discussions_paginated web service has been removed from core. === 4.3 === * The forum_print_discussion_header function has been deprecated and will not be replaced. === 4.1 === * The following code, previously used (exclusively) by upgrade steps is not available anymore because of the upgrade cleanup performed for this version. See MDL-71747 for more info: - \mod_forum\task\refresh_forum_post_counts adhoc task. === 4.0 === * The forum_count_replies() function has been removed from core. * The mod_forum_get_forum_discussion_posts web service has been removed from core. * Final deprecations of the following functions: * forum_make_mail_text * forum_make_mail_html * forum_make_mail_post * forum_cron_minimise_user_record * forum_cron * forum_print_discussion * forum_post_nesting_cache * forum_should_start_post_nesting * forum_should_end_post_nesting * forum_print_post_start * forum_print_post_end * forum_print_post * forum_print_posts_flat * forum_print_posts_threaded * forum_print_posts_nested * forum_print_latest_discussions * forum_get_user_grades * The method forum_update_subscriptions_button() has been deprecated as it is no longer used. The 'Manage subscribers' button has been replaced with tertiary navigation. === 3.11 === * The get_forum_discussions_paginated web service has been deprecated in favour of get_forum_discussions. * The forum post exporter now includes a "timemodified" field for each post, which is included in several WS methods: * mod_forum_get_discussion_posts * get_discussion_posts_by_userid * get_discussion_post * add_discussion_post === 3.10 === * Changes in external function mod_forum_external::get_discussion_posts_by_userid Now returns the posts of a given user checking the current user capabilities ($USER, the user who is requesting the posts). Previously, it returned the posts checking the capabilities of the user that created the posts. === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * forum_scale_used() * In order for the forum summary report to calculate word count and character count data, those details are now stored for each post in the database when posts are created or updated. For posts that existed prior to a Moodle 3.8 upgrade, these are calculated by the refresh_forum_post_counts ad-hoc task in chunks of 5000 posts by default. Site admins are able to modify this default, by setting $CFG->forumpostcountchunksize to the required integer value. === 3.7 === * Changed the forum discussion rendering to use templates rather than print functions. * Added new forum entities, factories, exporters, renderers, and vaults in the local namespace to better encapsulate the forum data. * Deprecated all of the forum_print_* functions in lib.php. * The forum_print_latest_discussions function has been deprecated and will not be replaced. * The get_forum_discussion_posts web service has been deprecated in favour of get_discussion_posts. * The forum_count_replies function has been deprecated in favour of get_reply_count_for_post_id_in_discussion_id in the Post vault. * External function get_forums_by_courses now returns two additional fields "duedate" and "cutoffdate" containing the due date and the cutoff date for posting to the forums respectively. * External function get_forum_discussion_posts now returns an additional field "tags" returning the post tags. * New external function mod_forum_external::get_forum_discussions returns a list of forum discussions optionally sorted and paginated. Use mod_forum_external::get_forum_discussions instead. * External function mod_forum_external::add_discussion_post() has a new 'messageformat' param to be able to handle other formats different from FORMAT_HTML (that continues being the default one). Also a new 'topreferredformat' option enables the automatic conversion between any format and the preferred format (given the editor preference) before contents are saved. === 3.6 === * forum_print_post should be surrounded with calls to forum_print_post_start and forum_print_post_end to create the proper HTML structure for the post. === 3.4 === * External function get_forum_discussion_posts now returns an additional field "ratinginfo" containing rating information. === 3.3 === * External function get_forums_by_courses now returns and additional field "istracked" that indicates if the user is tracking the related forum. * The legacy forum.js file has been removed, this includes the js functions: forum_produce_subscribe_link, forum_produce_tracking_link, lockoptions_timetoitems, lockoptions_timefromitems, lockoptions, lockoption, unlockoption * External function can_add_discussion now returns two additional fields: "canpindiscussions" that indicates if the user can add pinned discussions. "cancreateattachment" that indicates if the user can add attachments to the discussion. === 3.2 === * The setting $CFG->forum_replytouser has been removed in favour of a centralized noreplyaddress setting. Please use $CFG->noreplyaddress setting instead. * The following functions have been finally deprecated and should no longer be used. - forum_count_unrated_posts - forum_tp_count_discussion_read_records - forum_get_user_discussions - forum_tp_count_forum_posts - forum_tp_count_forum_read_records - forum_get_open_modes - forum_get_child_posts - forum_get_discussion_posts - forum_get_ratings - forum_get_tracking_link - forum_tp_count_discussion_unread_posts - forum_convert_to_roles - forum_tp_get_read_records - forum_tp_get_discussion_read_records - forum_user_enrolled - forum_user_can_view_post - forum_shorten_post - forum_is_subscribed - forum_subscribe - forum_unsubscribe - forum_subscribed_users - forum_is_forcesubscribed - forum_forcesubscribe - forum_get_forcesubscribed - forum_get_subscribed_forums - forum_get_optional_subscribed_forums - forum_get_potential_subscribers * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. === 3.1 === * The inteface to forum_get_email_message_id() has changed and no longer needs the $host argument. === 3.0 === * External function get_forums_by_courses now returns and additional field "cancreatediscussions" that indicates if the user can create discussions in the forum. * A new optional parameter (groupid) has been added to get_forum_discussions. This parameter can override the automatically calculated current group. * New constant FORUM_POSTS_ALL_USER_GROUPS, to be used as parameter in functions where we'd need to retrieve all the user posts. === 2.8 === * The following functions have all been marked as deprecated. Many of these have not been supported in many releases and should not be relied upon: forum_count_unrated_posts forum_tp_count_discussion_read_records forum_get_user_discussions forum_tp_count_forum_posts forum_tp_count_forum_read_records forum_get_open_modes forum_get_child_posts forum_get_discussion_posts forum_get_ratings forum_get_tracking_link forum_tp_count_discussion_unread_posts forum_convert_to_roles forum_tp_get_read_records forum_tp_get_discussion_read_records forum_user_enrolled forum_user_can_view_post * The following functions have been deprecated and replaced. Please see the phpdoc for each on the new function to use instead: * forum_is_subscribed * forum_subscribe * forum_unsubscribe * forum_subscribed_users * forum_is_forcesubscribed * forum_forcesubscribe * forum_get_forcesubscribed * forum_get_subscribed_forums * forum_get_optional_subscribed_forums * forum_get_potential_subscribers * External function mod_forum_external::get_forum_discussions has been deprecated. Use mod_forum_external::get_forum_discussions_paginated instead. === 2.6 === * The file post_form.php should not be included, the class it contained has been moved so that it can benefit from autoloading. * The function forum_shorten_post() has been deprecated. It was doing a poor job of shortening forum post text and the shorten_text() function does a much better job. * The constant FORUM_TRACKING_ON has been deprecated and replaced by FORUM_TRACKING_FORCED. The value between them is maintained, so they are interchangeable, but code should migrate to the new name. === 2.5 === The function forum_check_throttling has been changed so that a warning object is returned when a user has reached the 'Post threshold for warning' or 'Post threshold for blocking' setting, rather than echoing this on screen. This allows the warning to be moved inside the post form as it can be added as a HTML element, where it is more noticeable. False is returned if there is no need to warn, or restrict the user from posting - see MDL-39182. === 2.3.5, 2.4.2 === * mod/forum:allowforcesubscribe capability will be forcefully assigned to frontpage role, as it was mistakenly missed off when the capability was initially created. If you don't want users with frontpage role to get forum (with forcesubscribe) emails, then please remove this capability for frontpage role. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/lti/source/upgrade.txt000064400000001463152267105300023725 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/lti/source/* - LTI source plugins, information provided here is intended especially for developers. === 4.1 === * The callback get_shortcuts() is now removed. Please use get_course_content_items and get_all_content_items instead. === 3.9 === * The callback get_shortcuts() is now deprecated. Please use get_course_content_items and get_all_content_items instead. See source code examples in get_course_content_items() and get_all_content_items() in mod/lti/lib.php for details. === 3.1 === * Callback get_types() is deprecated, instead ltisource plugins can define callback get_shortcuts(). See source code for lti_get_shortcuts() and get_module_metadata(). home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/assign/upgrade.txt000064400000027714152267106600023134 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the assign code. === 4.3 === * The following deprecated methods have been removed and should not be used any more: - `assign::add_to_log` - `assign::format_grade_for_log` - `assign::format_submission_for_log` - `assign_plugin::format_for_log` * The assign_files renderable no longer abuses the dynamic nature of PHP and puts random properties onto stored_file instances. If you were previously using these properties, please update to use the new method on the tree: * $file->portfoliobutton $renderer->get_portfolio_button($file) * $file->timemodified $tree->get_modified_time($file) * $file->fileurl $tree->get_file_url($file) === 4.2 === * The upgradelib.php file has been removed from mod_assign as it was only being used by mod_assignment and mod_assignment has been removed from core. === 4.1 === * New method \assign::is_userid_filtered() has been implemented. It returns false if user id is filtered out by either user preferences for grading table or submission status filter. Otherwise, returns true. * A new method was added to feedback/editpdf/locallib.php - get_user_data_file_areas() This just returns the necessary file areas for retrieving a complete feedback pdf. === 4.0 === * The method \assign::grading_disabled() now has optional $gradinginfo parameter to improve performance * Renderer (renderer.php) has been moved from mod root to classes/output/ to be more PSR compliant. * Class assign_header has been moved from renderable.php to classes/ouput/assign_header.php * Class assign_submion_status has been moved from renderable.php to classes/ouput/assign_submion_status.php * The external functions mod_assign_external::list_participants and mod_assign_external::get_participant now return a new field "submissionstatus" indicating the submission status (new, draft, reopened or submitted). Empty when not submitted. === 3.9 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-65809 for more info: - get_assignments_with_rescaled_null_grades() === 3.8 === * The allow_image_conversion method has been added to the submissionplugins. It determines whether the submission plugin allows image conversion or not. By default conversion is not allowed (except when overwritten in the submission plugin) * Webservice function mod_assign_get_submission_status, return value 'warnofungroupedusers', changed from PARAM_BOOL to PARAM_ALPHA. See the description for possible values. * The following functions have been finally deprecated and can not be used anymore: * assign_scale_used() === 3.7 === * Submissions plugins should implement the "remove" function to remove data when "Remove submission" is used. === 3.6 === * The mod_assign_base_testcase unit test base class has been deprecated. It encouraged poor unit test design and led to significant performance issues with unit tests. See MDL-55609 for further information. * The function can_grade() now has optional $user parameter. * Feedback plugins can now specify whether or not they want to attach files to the feedback that is stored in the gradebook via the new method files_for_gradebook(). An example of what this method would return is - [ 'contextid' => $modulecontext->id, 'component' => ASSIGNFEEDBACK_XYZ_COMPONENT, 'filearea' => ASSIGNFEEDBACK_XYZ_FILEAREA, 'itemid' => $grade->id ] === 3.5 === * Functions assign:get_assign_grading_summary_renderable, assign:can_view_submission, assign:count_submissions_with_status, assign:count_submissions_need_grading and mod_assign_external::get_submission_status now admit an additional group parameter. This parameter can be used to force those functions to retrieve data only for the given group. === 3.4 === * assign::add_attempt requires that set_most_recent_team_submission() be called if attempting to use this function with a team submission. === 3.3.2 === * assign_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 3.3 === * All pluginfile file serving functions now pass through the options to send_stored_file() (all assignment plugins should do the same). * Fixed calendar event types for overridden due dates from 'close' to 'due'. * Removed calendar event type of 'open', since mod_assign only has the 'due' event type. No point in creating an override event for an event type that does not exist. === 3.2 === * External function mod_assign_external::get_assignments now returns additional optional fields: - preventsubmissionnotingroup: Prevent submission not in group. - submissionstatement and submissionstatementformat: When there is a submission statement defined. * Proper checking for empty submissions * Submission modification time checking - this will help students working in groups not clobber each others' submissions * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. Please, note that previously the filename was part of the filepath field, now they are separated. * Submission and feedback plugins can now specify file areas related to their configuration data, which will then be included in backup and restore; see assign_plugin::get_config_file_areas(). * Submission and feedback plugins must now return the specific list of configs available for external functions, this can be done implementing the new assign plugin method get_config_for_external() * Webservice function mod_assign_get_submissions returns a new field 'gradingstatus' from each submission. === 3.1 === * The feedback plugins now need to implement the is_feedback_modified() method. The default is to return true for backwards compatibiltiy. * When downloading all submissions as a zip each students' files are in a separate folder, are no longer renamed and the folder structure is kept intact. === 3.0 === * assign_submission_status renderable now requires $usergroups in its constructor * External function mod_assign_external::get_assignments now have a new optional parameter: includenotenrolledcourses. Its default value is false, setting it to true will return assignments for courses a user can see even if it's not enroled. === 2.9 === * External parameter now returns PARAM_RAW instead of PARAM_TEXT for webservices using feedback comments. * External function mod_assign_external::get_assignments now returns additional optional fields: - intro: Assignment intro. - introformat: Intro format. - introattachments: Intro attachments files. === 2.8 === * Some DB changes were made to simplify the SQL required to query the latest attempt. - The assign_submission table now has a column "latest" which is set to 1 for the latest submission attempt. - There will always be a submission row if there is a grade (so the latest grade can be found by joining with the submission) - There is a new submission status "new" for a submission that has never been attempted by a student (but the record exists purely to mark the latest attempt number as 0). The function get_user_submission will create a record with the status set to "new" by default (the previous default was "draft"). === 2.7 === * Added setting sendstudentnotifications to assign DB table with admin defaults. This sets the default value for the "Notify students" option on the grading forms. This setting can be retrieved via webservices. * Web service function mod_assign_save_grade has an additional optional parameter $advancedgradingdata which allows advanced grading data to be used. * A new web service function mod_assign_save_grades has been added which allows multiple grades to be processed. * The event submission_updated() [mod/assign/classes/event/submission_updated.php] has been altered to now be an abstract class for submission events in the submission plug-ins. === 2.6.1 === * format_text() is no longer used for formating assignment content to be used in events (assign_submission_onlinetext::save()) or the word count (assign_submission_onlinetext::format_for_log()) in mod/assign/submission/onlinetext/locallib.php. format_text() should only be used when displaying information to the screen. It was being used incorrectly before in these areas. Plugins using the event assessable_uploaded() should use file_rewrite_pluginfile_urls() to translate the text back to the desired output. === 2.6 === * To see submission/grades of inactive users, user should have moodle/course:viewsuspendedusers capability. * count_* functions will return only active participants. * assign_submission_plugin->lock and unlock methods have an additional parameter for user flags. A user will not always have a submission record when the submission is locked/unlocked. * Submission and feedback plugins can now participate in webservices. The plugin must implement get_external_parameters() to describe the parameters it is expecting from the mod_assign_save_grade or mod_assign_save_submission functions. The plugin will then handle the webservice via it's normal save() method with the extra data supplied in the $data argument. === 2.5 === * New feature - Attempt History This adds settings so that a student can have build up a history of separate submission attempts and grades for the same assignment. Extra settings on the assign table are: attemptreopenmethod - The way attempts can be reopened. One of: ASSIGN_ATTEMPT_REOPEN_METHOD_NONE - Attempts cannot be reopened (default) ASSIGN_ATTEMPT_REOPEN_METHOD_UNTIL_PASS - Attempts are reopened on grading until the gradebook indicates this student has passed. ASSIGN_ATTEMPT_REOPEN_METHOD_MANUAL - Attempts are reopened on manually by the grader. maxattempts - The maximum allowed number of attempts per student for this assign instance. Extra settings on the submission and grade records: attemptnumber - Starting from 0 until the latest attempt. New table assign_user_flags holds user specific flags that were stored in the assign_grade table. (contains assignment, userid, extensionduedate, mailed and locked) assign changes: "get_user_grade" function has an extra optional parameter to retrieve a specific attempt number. "get_user_submission" function has an extra optional parameter to retrieve a specific attempt number. "get_group_submission" function has an extra optional parameter to retrieve a specific attempt number. new "get_user_flags" function can retrieve the user flags for a specific user (extensionduedate, mailed and locked). new "update_user_flags" function can update the user flags for a specific user (extensionduedate, mailed and locked). assign_submission_plugin changes: "precheck_submission" function now takes a submission record so you can determine which submission is being checked. "submit_for_grading" function now takes a submission record so you can determine which submission is being submitted. new function "copy_submission" can be implemented to copy submission data from one submission to a new one. New renderable object "assign_attempt_history" for rendering the list of previous submissions. New renderable object "assign_gradingmessage" for rendering a generic grading message. assign_grading_table changes: get_group_and_submission is now protected and should not be called from outside this class. === Earlier changes === * Were not documented in this way. Sorry. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/glossary/upgrade.txt000064400000002555152267114260023510 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/glossary/*, information provided here is intended especially for developers. === 3.10 === * External function get_entries_by_id now returns and additional "permissions" field indicating the user permissions for managing the entry. === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * glossary_scale_used() === 3.7 === * External functions get_entries_by_* and get_entry now return an additional field "tags" containing the entry tags. === 3.4 === * External functions returning entries now return an additional field "ratinginfo" containing the entry rating information. === 3.2 === * External functions that were returning file information now return the following file fields: filename, filepath, mimetype, filesize, timemodified and fileurl. Those fields are now marked as VALUE_OPTIONAL for backwards compatibility. === 2.8 === * The glossary_print_entry_attachment function no longer takes an `align` or `insidetable` property. Instead the attachments are printed within a div whose class is `attachments` and which can be targetted using appropriate CSS rules. * The glossary_print_entry_attachment function now displays the attachments on the left by default. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/url/upgrade.txt000064400000001000152267115240022426 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the URL code. === 4.4 === * A new admin setting "Allow URL variables" has been added, which allows/disallows the use of variables for URL resources. Variables enable you to pass internal information, such as the user's name, as part of the URL. === 4.0 === * Functions url_print_heading and url_print_intro have been deprecated in favour for the activity header.home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/quiz/upgrade.txt000064400000054366152267115260022645 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in the quiz code. === 4.4 === * A quiz_structure_modified callback has been added for quiz_ plugins, called from grade_calculator::recompute_quiz_sumgrades(). Plugins can implement this by creating a `quiz_structure_modified` class in their namespace with a static `callback` method, see quiz_statistics as an example. * External functions returning question information, currently get_attempt_summary(), get_attempt_data() and get_attemp_review() now return a new field called "stateclass". A machine-readable class name for the state that this question attempt is in, as returned by question_usage_by_activity::get_question_state_class(). * External function mod_quiz_external::get_attempt_summary() now returns a new field "totalunanswered", with the total number of unanswered questions. * quiz_settings::no_review_message now takes a new argument $attemptsubmittime for the time when the quiz attempt was submitted. It is strongly recommended that you always pass that. * In the renderer, related to rendering the review page, review_summary_table and filter_review_summary_table have been replaced by review_attempt_summary and filter_review_attempt_summary. This is to support changing the $summarydata argument the review_page() method to an instance of a new templateable class attempt_summary_information for displaying this. The $summarydata argument of review_question_page has also been changed to an attempt_summary_information. * In the renderer, the view_table has been deprecated. Please use the list_of_attempts renderable instead. * There is a new function qbank_helper::get_version_information_for_questions_in_attempt to efficiently check whether each question in an attempt is using the latest versions. This is used by re-grading, replacing some old code there, and to update teacher previews automatically. * The following previously deprecated methods have been removed and can no longer be used: - `get_slot_tags_for_slot_id` - `quiz_retrieve_tags_for_slot_ids` * Quiz override logic has been refactored and put in a new override_manager class. * Quiz override cache should now be accessed using the new override_cache class. * The quiz_delete_overrides and quiz_delete_all_overrides functions are now deprecated. Please instead use: - override_manager::delete_override_by_id - override_manager::delete_overrides - override_manager::delete_all_overrides * There is a new renderable grade_out_of to help with display a nicely formatted "42.00 out of 100.00" with a few variants. * The quiz now supports computing multiple total grades for each attempt. To support this there is a new database table quiz_grade_items and a new column quizgradeitemid in quiz_slots. There are new methods in structure grade_calculator and quiz_attempt to support this, and the new grades are shown on review.php, view.php and in some of the quiz reports. Also, the external functions get_attempt_review and get_user_attempts return the information about the extra grades if applicable. === 4.3 === * The method get_questions() has a new parameter 'requirequestionfullyloaded' which can be used to instruct whether the questions should be fully loaded or not. * the quiz_settings and quiz_attempt classes now always store the ->cm property as a cm_info class. In the distant past it was always a stdClass, then at one point there was an undocumented change making it sometimes a stdClass and sometimes a cm_info. Now it is consistently a cm_info. Type hints have been updated to reflect this. * The parameter filtercondition in the web service mod_quiz_add_random_questions is now optional. This parameter is only used when adding random questions from an existing category. It is not required when adding random questions from a new category since it is not used in this case. === 4.2 === * For the three quiz web services: mod_quiz_get_attempt_data, mod_quiz_get_attempt_summary and mod_quiz_get_attempt_review, the ->number property of each question is now deprecated (It had the wrong time and was documented wrongly.) In the future, please use the new property ->questionnumber. Note, this question 'number' can include any string (e.g. 'Qs 1 & 2') so it is important to applying htmlspecialchars, or equivalent, to the value if you are outputting to HTML. * The methods in the quiz_settings class which return a URL now all return a moodle_url. Previously some returns a moodle_url and others aa string. * 'firstslotid' value is not used in section_shuffle_updated event anymore. * The quiz has a lot of old classes in lib.php files. These have now been moved into the classes folder, and so are now in namespaces. Because of Moodle's class renaming support, your code should continue working, but output deprecated warnings, so you probably want to update. This should mostly be doable by adding use statements, and a search/replace. - mod_quiz_display_options => mod_quiz\question\display_options - qubaids_for_quiz => mod_quiz\question\qubaids_for_quiz - qubaids_for_quiz_user => mod_quiz\question\qubaids_for_quiz_user - which is deprecated, because it is almost the same as mod_quiz\question\qubaids_for_users_attempts. - mod_quiz_admin_setting_browsersecurity => mod_quiz\admin\browser_security_setting - mod_quiz_admin_setting_grademethod => mod_quiz\admin\grade_method_setting - mod_quiz_admin_setting_overduehandling => mod_quiz\admin\overdue_handling_setting - mod_quiz_admin_review_setting => mod_quiz\admin\review_setting - mod_quiz_admin_setting_user_image => mod_quiz\admin\user_image_setting - mod_quiz_admin_setting_browsersecurity => mod_quiz\admin\browser_security_setting - mod_quiz_admin_setting_grademethod => mod_quiz\admin\grade_method_setting - mod_quiz_admin_setting_overduehandling => mod_quiz\admin\overdue_handling_setting - mod_quiz_admin_review_setting => mod_quiz\admin\review_setting - mod_quiz_admin_setting_user_image => mod_quiz\admin\user_image_setting - mod_quiz\adminpresets\adminpresets_mod_quiz_admin_setting_browsersecurity => mod_quiz\adminpresets\adminpresets_browser_security_setting - mod_quiz\adminpresets/adminpresets_mod_quiz_admin_setting_grademethod => mod_quiz\adminpresets\adminpresets_grade_method_setting - mod_quiz\adminpresets\adminpresets_mod_quiz_admin_setting_overduehandling => mod_quiz\adminpresets\adminpresets_overdue_handling_setting - mod_quiz\adminpresets\adminpresets_mod_quiz_admin_review_setting => mod_quiz\adminpresets\adminpresets_review_setting - mod_quiz\adminpresets\adminpresets_mod_quiz_admin_setting_user_image => mod_quiz\adminpresets\adminpresets_user_image_setting - quiz_default_report => mod_quiz\local\reports\report_base - quiz_attempts_report => mod_quiz\local\reports\attempts_report - mod_quiz_attempts_report_form => mod_quiz\local\reports\attempts_report_options_form - mod_quiz_attempts_report_options => mod_quiz\local\reports\attempts_report_options - quiz_attempts_report_table => mod_quiz\local\reports\attempts_report_table - quiz_access_manager => mod_quiz\access_manager - mod_quiz_preflight_check_form => mod_quiz\form\preflight_check_form - quiz_override_form => mod_quiz\form\edit_override_form - quiz_access_rule_base => mod_quiz\local\access_rule_base - quiz_add_random_form => mod_quiz\form\add_random_form - mod_quiz_links_to_other_attempts => mod_quiz\output\links_to_other_attempts - mod_quiz_view_object => mod_quiz\output\view_page - mod_quiz_renderer => mod_quiz\output\renderer - quiz_nav_question_button => mod_quiz\output\navigation_question_button - quiz_nav_section_heading => mod_quiz\output\navigation_section_heading - quiz_nav_panel_base => mod_quiz\output\navigation_panel_base - quiz_attempt_nav_panel => mod_quiz\output\navigation_panel_attempt - quiz_review_nav_panel => mod_quiz\output\navigation_panel_review - quiz_attempt => mod_quiz\quiz_attempt - quiz => mod_quiz\quiz_settings - quizaccess_seb\quiz_settings => quizaccess_seb\seb_quiz_settings - quizaccess_seb\access_manager => quizaccess_seb\seb_access_manager * The following classes have been deprecated: - mod_quiz_overdue_attempt_updater - merged into mod_quiz\task\update_overdue_attempts - moodle_quiz_exception - just use normal moodle_exception * As part of the clean-up, the following files are no longer required, and if you try to include them, you will get a debugging notices telling you not to: - mod/quiz/report/attemptsreport.php - mod/quiz/report/attemptsreport_form.php - mod/quiz/report/attemptsreport_options.php - mod/quiz/report/attemptsreport_table.php - mod/quiz/report/default.php - mod/quiz/accessmanager.php - mod/quiz/accessmanager_form.php - mod/quiz/cronlib.php - mod/quiz/override_form.php - mod/quiz/accessrule/accessrulebase.php - mod/quiz/renderer.php - actually, no debugging ouput for this one because of how renderer factories work. - mod/quiz/attemptlib.php * Various functions related to calculating grades have moved into a new class mod_quiz\grade_calculator. You get that using $quizobj->get_grade_calculator(), then the following old functions have become these new methods. - quiz_update_sumgrades -> recompute_quiz_sumgrades - quiz_update_all_attempt_sumgrades -> recompute_all_attempt_sumgrades - quiz_update_all_final_grades -> recompute_all_final_grades - quiz_set_grade -> update_quiz_maximum_grade - quiz_save_best_grade -> recompute_final_grade - quiz_calculate_best_grade -> [no public direct replacement] - quiz_calculate_best_attempt - [no replacement. It was not used.] * Final deprecation (complete removal) of the following functions which were deprecated long ago: - quiz_groups_member_added_handler - deprecated since 2.6 - quiz_groups_member_removed_handler - deprecated since 2.6 - quiz_groups_group_deleted_handler - deprecated since 2.6 - quiz_groups_members_removed_handler - deprecated since 2.6 - The method quiz_settings::confirm_start_attempt_message - deprecated in Moodle 3.1 - The field view_page::$startattemptwarning - deprecated in Moodle 3.1 - attempts_report::load_relevant_students - deprecated since 3.2 - quiz_statistics_graph_get_new_colour - deprecated since 3.2 - The file mod/quiz/report/overview/overviewgraph.php - deprecated since 3.2 - The file mod/quiz/report/statistics/statistics_graph.php - deprecated since 3.2 - quiz_print_overview - deprecated since 3.3 * For properties that were previously only declared dynamically, a few classes now include property declarations to support PHP 8.2. The affected classes are: - restore_quiz_activity_structure_step - attempts_report_table - attempts_report - quiz_overview_report (Removing $hasgroupstudents, because the parent attempts_report class has the same variable.) === 4.1 === * quiz_has_question_use is now deprecated. Use mod_quiz\structure::has_use_capability istead. === 4.0.3, 4.1 === * If a quiz is sequential the external functions mod_quiz_external::get_attempt_data, mod_quiz_external::get_attempt_summary will not return any data related to out of sequence question except while reviewing the quiz (MDL-75210). === 4.0.2, 4.1 === * No external code should be calling quiz_overview_report::regrade_attempt because it is an internal method of the quiz_overview plugin. But if you are incorrectly using it, be aware that the API changed slightly. It now returns an array listing any questions which could not be regraded. * New method called get_number_of_unanswered_questions() has been added to mod/quiz/attemptlib.php to get the total number of unanswered questions in the current attempt. === 4.0 === * The following API methods have a new parameter, $studentisonline, to define whether the student is currently interacting: - process_finish() in mod/quiz/attemptlib.php - quiz_send_confirmation() in mod/quiz/locallib.php - quiz_send_notification_messages() in mod/quiz/locallib.php * The completionpass criteria has been moved to core as 'completionpassgrade'. Refer to completion/upgrade.txt for further information. * New argument quizhasquestions has been added to public methods: view_information in mod/quiz/renderer.php. * The function no_questions_message() in class mod_quiz_renderer is deprecated. There is no replacement. * Related to the Moodle 4.0 question bank changes, the quiz_slots database table. The fields removed are now manage by new core_question tables: - question_references -> Records where a specific question is used. - question_set_references -> Records where groups of questions are used (e.g. random questions). * The quiz_slots_tags database table has been removed entirely, as has the get_slot_tags_for_slot_id() method from mod/quiz/classes/structure.php and the the locallib.php functions quiz_retrieve_slot_tags and quiz_retrieve_slot_tag_ids. This information is now stored in question_set_references and can be accessed in the results of qbank_helper::get_question_structure. === 3.11 === * External function mod_quiz_external::get_user_best_grade now returns and additional optional field: - gradetopass: The grade to pass the quiz (if set) === 3.10.1 === * External functions mod_quiz_external::get_attempt_data, mod_quiz_external::get_attempt_summary and mod_quiz_external::get_attempt_review now return a new additional optional field: - settings: Containing the question definition settings for displaying the question in an external system. === 3.10 === * External functions mod_quiz_external::get_attempt_data, mod_quiz_external::get_attempt_summary and mod_quiz_external::get_attempt_review now return a new additional optional field: - responsefileareas: Containing the user responses to questions file area names including files. === 3.7 === * Quiz_cron() has been removed. Sub-plugins should implemented scheduled tasks, however legacy cron in subplugins are supported. === 3.6 === * The following renamed classes have been completely removed: - quiz_question_bank_view (now: mod_quiz\question\bank\custom_view) - question_bank_add_to_quiz_action_column (now: mod_quiz\question\bank\add_action_column) - question_bank_question_name_text_column (now: mod_quiz\question\bank\question_name_text_column) === 3.5 === * Removed questionbank.ajax.php. Please use the quiz_question_bank fragment instead. * Adding "random" questions to a quiz via quiz_add_quiz_question() has been deprecated. Please use quiz_add_random_questions(). === 3.3.2 === * quiz_refresh_events() Now takes two additional parameters to refine the update to a specific instance. This function now optionally takes the module instance object or ID, and the course module object or ID. Please try to send the full objects instead of the ids to save DB calls. === 3.2 === * External functions mod_quiz_external::get_attempt_data, mod_quiz_external::get_attempt_summary and mod_quiz_external::get_attempt_review now return additional optional fields: - blockedbyprevious: Whether a question is blocked by the previous question. === 3.1 === * quiz_attempt::question_print_comment_fields() has been removed. It was broken since at least Moodle 2.0. * quiz::confirm_start_attempt_message and mod_quiz_view_object::$startattemptwarning have been deprecated. This functionality is now entirely handled within the quiz access rule plugins. * The third argument to mod_quiz_renderer::start_attempt_button has been changed from a warning string to a mod_quiz_preflight_check_form. * mod_quiz_renderer::review_next_navigation has a new optional argument. If you have overridden that method, consider updating your code to match. * mod_quiz\output\edit_renderer::start_section_list now takes $structure as an argument. If you have overridden this method (it's hard to believe anyone ever would) you will need to update your renderer. * Several methods relating to preview links/buttons/urls have a new optional argument to make the preview be of a particular variant. === 2.9 === * There have been changes in classes/output/edit_renderer.php for MDL-40990. + Some methods use to take $structure & $question as the first two arguments. They now take $structure & $slot number. If you need $question, you can get it using $question = $structure->get_question_in_slot($slot); + Some methods used to take $quiz & $question. They now take $structure & $slot number. You can get $question as above. $quiz is $structure->get_quiz(). + initialise_editing_javascript has had some redundant arguments removed. Hopefully, with these changes, we will have less need to make other changes in future. * Due to MDL-40992, you should be aware that extra slots can get added to an attempt. You may get slot numbers beyone the end of the original quiz layout, and you may want to call $attemptobj->get_original_slot to find where the question originally came from. * You now need to pass an instance of the mod_quiz_renderer if you call $attemptobj->render_question or $attemptobj->render_question_at_step. * The array values in mod_quiz_links_to_other_attempts may now be either a moodle_url, or renderable (or null). Previously they could only be a moodle_url or null. * The contents of the navigation block is now not just quiz_nav_question_button-s. It can also contain quiz_nav_section_heading-s. If you have overridden mod_quiz_renderer::navigation_panel, then you may need to account for this. This change also has implications for the Edit quiz page. === 2.8 === * Classes that were defined in various lib files have been moved to the classes folder to take advantage of auto-loading. This has involved renaming them. see the list in mod/quiz/db/renamedclasses.php. * The quiz no longer handles its own \mod_quiz\event\attempt_becameoverdue event, and so the event handler function quiz_attempt_overdue_handler has been deleted. Also, the internal function quiz_send_overdue_message has add the arguments changed. It now takes the $attemptobj object, not separate stdClass objects. * Major changes to the Edit quiz page. The goal of this work was to increase usability, and also clean up the page enough that it will be possible to add new features in future. Display of mod/quiz/edit.php is now entirely generated by mod_quiz\output\edit_renderer. This uses a helper class mod_quiz\structure to provide details of the structure of the quiz, and mod_quiz\repaginate to alter that structure. (Actually, there are still some modification methods on mod_quiz\structure. Expect that to be cleaned up in future.) The new code uses much more ajax, and there are new scripts mod/quiz/edit_rest.php and mod/quiz/repaginate.php to handle this. (Again, don't be surprised if those two scripts get merged in future.) Also questionbank.ajax.php (which may, in future, be made more generic, and moved into the core question bank code.) As a result of this, mod/quiz/editlib.php has gone. (A few remaining functions were moved to locallib.php.) Here is a list of all the old functions or classes that have changed. If you used any of these in custom code, you will need to update your code. (Note that many of these functions should have been considered private internals of the quiz module, and you should not have been using them!) From editlib.php: quiz_remove_slot quiz_delete_empty_page quiz_add_page_break_after_slot - Use methods of structure or repaginate quiz_update_slot_maxmark - classes instead. _quiz_move_question quiz_move_question_up quiz_move_question_down quiz_print_question_list quiz_print_pagecontrols quiz_print_singlequestion - Use methods of edit_renderer instead. quiz_print_randomquestion quiz_print_singlequestion_reordertool quiz_print_randomquestion_reordertool print_random_option_icon quiz_print_grading_form quiz_print_status_bar Moved from editlib.php to locallib.php: quiz_question_tostring - now always returns a string (the only option used). The $return argument has gone. Old editing JavaScript (e.g. mod/quiz/edit.js) is gone. Replaced with YUI modules. === 2.7.1 === * The function quiz_fire_attempt_started_event has been removed. This function should not have been used outside the quiz, but if you were using it, you should trigger the event outside this function. Note that the appropriate start event is fired automatically by the quiz_attempt_save_started function. === 2.7 === * The old quiz.questions database column (comma-separated list of question ids) is gone, and instead the quiz_question_instances table has been renamed to to quiz_slots. Some of the columns of that table have been renamed to match the coding guidelines. Specifically: quiz -> quizid question -> questionid grade -> maxmark also there are two new columns: slot - numbers the questions in the quiz in order, as on the edit quiz page. page - new way to determine which question is on which page. naturally, other parts of the code and APIs have been updated to reflect that change. * The following functions, which were part of the internal workings of the quiz, have been removed. quiz_get_slot_for_question quiz_number_of_questions_in_quiz quiz_repaginate (there is now a quiz_repaginate_questions with a different API). quiz_add_page_break_at (see quiz_add_page_break_after_slot) quiz_add_page_break_after (see quiz_add_page_break_after_slot) quiz_number_of_pages quiz_remove_question (see quiz_remove_slot) quiz_update_question_instance (see quiz_update_slot_maxmark) * The following internal functions have had their API changed. quiz_delete_empty_page: has had its arguments changed to $quiz and $pagenumber. quiz_has_question_use: now takes $quiz and $slot, not $questionid. === 2.6 === * As part of improving the page usability and accessibility, we updated the heading levels for quiz module so it has a proper nesting. (MDL-41615) * mod_quiz_renderer::view_best_score has been removed. (It did not do what the name suggested anyway.) === 2.4 === * mod_quiz_renderer::finish_review_link now requires $attemptobj to be passed in instead of a moodle_url. === Earlier changes === * Were not documented in this way. Sorry. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/lti/upgrade.txt000064400000011642152267116000022424 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the lti code. === 4.3 === * The `lti_libxml_disable_entity_loader` method is deprecated, as it is no longer required from PHP 8.0 * The `mod_lti_mod_form` constructor will now throw an exception if called without passing a typeid as manual configuration of instances is now unsupported. * The `lti_get_lti_types_by_course` method is deprecated. Please use mod_lti\local\types_helper::get_lti_types_by_course instead. * The capability `mod/lti:addmanualinstance` is now deprecated. Since manual instance creation is no longer supported, there is no substitute for this capability. === 4.2 === * get_jwt_claim_mappings() function has been added to service_base class. It allows a service subplugin to be compatible with LTI 1.3 by exposing its 1.1 custom parameters to LTI 1.3 claim mapping. * The `serialise_tool_proxy` method, deprecated since 3.10, has been removed and can no longer be used === 4.1 === * The callback get_shortcuts() is now removed. Please use get_course_content_items and get_all_content_items instead. * Services can now implement the override_endpoint function to replace the launch url and/or the custom parameters. === 3.10 === * Select Content supports multiple, allowing a tool to return more than one link at a time. Parameter multiple in function lti_build_content_item_selection_request() is now set to true. * Deprecated unused function after external function, 'get_tool_proxies()', was refactored: - serialise_tool_proxy() === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * lti_scale_used() === 3.7 === * Deprecated functions to add support for LTI 1 tools to access services: - mod_lti\local\ltiservice\service_base->check_tool_proxy() - mod_lti\local\ltiservice\service_base->check_type() - mod_lti\local\ltiservice\resource_base->check_tool_proxy() - mod_lti\local\ltiservice\resource_base->check_type() - mod_lti_edit_types_form->get_lti_advantage_services() replaced by: - mod_lti\local\ltiservice\service_base->check_tool() - mod_lti\local\ltiservice\resource_base->check_tool() - mod_lti_edit_types_form->get_lti_services() * Deprecated unused function: - mod_lti\local\ltiservice\service_base->get_configuration_parameter_names() * Deprecated functions to simplify implementation of LTI scopes for accessing services: - mod_lti\local\ltiservice\resource_base->get_permissions() - ltiservice_gradebookservices\local\resources\lineitem\get_permissions() - ltiservice_gradebookservices\local\resources\lineitems\get_permissions() - ltiservice_gradebookservices\local\resources\results\get_permissions() - ltiservice_gradebookservices\local\resources\scores\get_permissions() - ltiservice_memberships\local\resources\contextmemberships\get_permissions() replaced by: - mod_lti\local\ltiservice\service_base->get_permitted_scopes() - ltiservice_gradebookservices\local\service\gradebookservices->get_permitted_scopes() - ltiservice_memberships\local\service\memberships\->get_permitted_scopes() * Deprecated function to remove definition as static: - ltiservice_memberships\local\service\memberships\get_users_json() replaced by: - ltiservice_memberships\local\service\memberships\get_members_json() === 3.4 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-57432 for more info: - mod_lti_upgrade_custom_separator() === 3.2 === * Support for LTI ContentItem message type. * New function lti_build_content_item_selection_request() for building an LTI ContentItemSelectionRequest. * New Select content button in External tool configuration page that lets the user configure an external tool by fetching tool configuration content from the preconfigured tool's content selection interface. === 3.1 === * When requesting a grade from the outcome service, and empty grade will now be returned as an empty grade in accordance with the spec. Previously a grade of 0 would be returned. === 3.0 === * Function lti_view (locallib.php) was renamed to lti_launch_tool. A new and different lti_view function was created in the module lib.php containing the code for launching events and update the completion status for the module. === 2.8 === * Support for LTI 2 added, including extensible services implemented as ltiservice plugins. * Function sendOAuthBodyPOST removed from OAuthBody.php because it was not being used. * The field 'grade' in the table {lti} is now an integer rather than a numeric to bring it in line with the 'grade' field in other activities. === 2.7 === * mod_lti\event\unknown_service_api_called now has less data stored in 'other' but everything is still available for event observers via method get_message_data() home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/page/upgrade.txt000064400000000446152267116020022552 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in the mod_page code. === 4.0 === * Removed printheading from page and admin settings. This will now be handled by the activity header and/or theme. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/upgrade.txt000064400000040046152267121000021630 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/* - activity modules, information provided here is intended especially for developers. === 4.4 === * There is a new callback, _is_branded, which, by default, returns false. It needs to be implemented by modules that want their logo to be displayed as it is (so without applying any filter to colour them based on their main purpose). * The chat and survey modules are now disabled for new installations. === 4.2 === * The mod_assignment plugin has been completely removed from core. It has been moved to github repository https://github.com/moodlehq/moodle-mod_assignment. It should only be used/re-installed to restore backups older than 1.9. === 4.1 === * The callback get_shortcuts() is now removed. Please use get_course_content_items and get_all_content_items instead. === 4.0 === * A new API function introduced to handle custom completion logic. Refer to completion/upgrade.txt for additional information. * Modules that extend the settings navigation via '_extend_settings_navigation()' should use the get_page() method from the settings_navigation class in order to obtain the correct moodle_page information associated to the given settings navigation. After the recent changes to the navigation in single activity courses, using the global $PAGE may result in returning inaccurate data in this course format, therefore it is advisable to use $settingsnavigation->get_page(). * A new style of icons has been created for activities. When creating an icon in the new style it should be named 'monologo' and can site alongside the legacy icon if desired. Only the new logo types will be used. * There is a new callback ..._calculate_question_stats which needs to be implemented by components which want to contribute statistics to the display in the question bank. There is an example implementation in mod_quiz. (Added in 4.0.4 / 4.1.) === 3.9 === * The callback get_shortcuts() is now deprecated. Please use get_course_content_items and get_all_content_items instead. See source code examples in get_course_content_items() and get_all_content_items() in mod/lti/lib.php for details. * When creating the calendar events and setting the event description to match the module intro description, the filters must not be applied on the passed description text. Doing so leads to loosing some expected text filters features and causes unnecessarily early theme and output initialisation in unit tests. If your activity creates calendar events, you probably have code like: ``` $event->description = format_module_intro('quiz', $quiz, $cmid); ``` You need to change it to: ``` $event->description = format_module_intro('quiz', $quiz, $cmid, false); $event->format = FORMAT_HTML; ``` Even this is still technically wrong. Content should normally only be formatted just before it is output. Ideally, we should pass the raw description text, format and have a way to copy the embedded files; or provide another way for the calendar to call the right format_text() later. The calendar API does not allow us to do these things easily at the moment. Therefore, this compromise approach is used. The false parameter added ensures that text filters are not run at this time which is important. And the format must be set to HTML, because otherwise it would use the current user's preferred editor default format. * Related to the above and to help with detecting the problematic places in contributed 3rd party modules, the testing_module_generator::create_instance() now throws coding_exception if creating a module instance initialised the theme and output as a side effect. === 3.8 === * The final deprecation of xxx_print_overview() callback means that this function will no longer be called. * Activities which define multiple grade items must now describe the mapping of the gradeitem's itemnumber to a meaningful name in a class implementing \core_grades\local\gradeitem\itemnumber_mapping located in \mod_name\grades\gradeitems (located in mod/[mod_name]/classes/grades/gradeitems.php). === 3.6 === * The final deprecation of xxx_get_types() callback means that this function will no longer be called. Please use get_shortcuts() instead. * lti_get_shortcuts has been deprecated. Please use get_shortcuts() instead to add items to the activity chooser. * Now, when mod__core_calendar_is_event_visible or mod__core_calendar_provide_event_action callback functions are called, the userid of the requesting user is also passed to them. * The following functions have been finally deprecated and can not be used anymore: - update_module_button() * The final deprecation of xxx_delete_course callback means that this function will no longer be called. Please use the observer for event \core\event\course_content_deleted instead. === 3.5 === * There is a new privacy API that every subsystem and plugin has to implement so that the site can become GDPR compliant. Activity modules use this API to report what information they store or process regarding users, and provide ability to export and delete personal data. See hhttps://moodledev.io/docs/apis/subsystems/privacy/ for guidelines on how to implement the privacy API in your activity module. * Backup directory now can be outside of temp directory. Use make_backup_temp_directory($name) instead of make_temp_directory('/backup/'.$name) * Modules that provide their own interactive content and call cm_info::set_content() from [MODULENAME]_cm_info_view() callback should format all user input and call set_content() with parameter $isformatted=true . Otherwise scripts will be cleaned on the course page in case of $CFG->forceclean=1. See example in mod_folder. === 3.4 === * Navigation between activities via a previous and next link was added to Boost, Clean and Bootstrapbase. This was made possible by a new function core_renderer->activity_navigation(). However, there was an issue when linking to the mod_resource and mod_url view.php pages where it would automatically download the file, or redirect to the URL. It was noticed that this was not the case when editing the module and clicking 'Save and display' which would take you to the pages without downloading the file or redirecting to a link. The reason this worked was because of the hard-coded check 'if (strpos(get_local_referer(false), 'modedit.php') === false) {' in the view.php files. This check has been removed in favour of an optional_param('forceview'). If you are using the above hard-coded check in your plugin it is recommended to remove it and use the optional param as it will prevent the navigation from working as expected. === 3.3 === * External functions that were returning file information now return the following additional file fields: - mimetype (the file mime type) - isexternalfile (if is a file reference to a external repository) - repositorytype (the repository name in case is a external file) Those fields are VALUE_OPTIONAL for backwards compatibility. * The block_course_overview has been removed and the related core module *_print_overview functions have been deprecated. * The block_myoverview has replaced block_course_overview to provide better information to students. To support this, actions can now be attached to calendar events. Documentation for the following new API callbacks introduced in MDL-55611 can be found at https://moodledev.io/docs/apis/core/calendar. The 3 new callbacks are: - mod__core_calendar_is_event_visible - mod__core_calendar_provide_event_action - mod__core_calendar_event_action_shows_item_count * Changes to the moodleform_mod class and its usage (MDL-58138): - the get_data() method has been overriden. The implementation calls parent::get_data() and a new data_postprocessing() method - new data_postprocessing() method added. Mods can override this in their mod_form subclass to modify the submit data. Previously mods could only modify submitted data by overriding get_data() in the mod_form subclass. data_postprocessing() is now the way to do this correctly. - completion: \core_completion\manager calls the overriden mod_x_mod_form->data_postprocessing() to allow mods to modify their completion data before saving the bulk completion form. If you've overriden get_data() to modify submit data for completion in the past, you should now override the data_postprocessing() method in your mod_form and move your code there, so bulk completion editing will be properly supported for your plugin. === 3.2 === * Callback delete_course is deprecated and should be replaced with observer for event \core\event\course_content_deleted * update_module_button() and core_renderer::update_module_button() have been deprecated and should not be used anymore. Activity modules should not add the edit module button, the link is already available in the Administration block. Themes can choose to display the link in the buttons row consistently for all module types. * New callback check_updates_since available. Check if the module has any update that affects the current user since the given time. Please refer to mod/assign/lib.php, mod/forum/lib.php or mod/quiz/lib.php for sample code. === 3.1 === * Old /mod/MODULENAME/pix/icon.gif and enrol/paypal/pix/icon.gif GIF icons have been removed. Please use pix_icon renderable instead. * Callback get_types() is deprecated, instead activity modules can define callback get_shortcuts(). See source code for get_module_metadata(). === 3.0 === * Dropped support for the $module in mod/xxx/version.php files (deprecated since 2.7). All activity modules must use the $plugin syntax now. See https://moodledev.io/docs/apis/commonfiles/version.php for details (MDL-43896). * Modules using rating component must implement a callback mod_x_rating_can_see_item_ratings(). Refer to mod_forum_rating_can_see_item_ratings() for example. === 2.9 === * Added Grade to pass field to mod_form for activities that support grading. * The method moodleform_mod::add_intro_editor() used in mod_form.php form definitions has been deprecated. Replace it with the new moodleform_mod::standard_intro_elements() method that takes the new site configuration requiremodintro into account (MDL-49101). === 2.8 === * Constant FEATURE_GROUPMEMBERSONLY is deprecated. Modules should remove this constant from their module_supports() API function. * $CFG->enablegroupmembersonly no longer exists. === 2.7 === * modgrade form element has been redesigned and allows setting the maximum grade point higher than 100. * The usage of $module in mod/xxx/version.php files is now deprecated. Please use $plugin instead. The support for the legacy notation will be dropped in Moodle 2.10. * xxx_get_view_actions() and xxx_get_post_actions() will be ignored by new logging system for participation report. view_action and post_action will be detected by event's crud and edulevel. * The functions xxx_user_outline() and xxx_user_complete() have been removed from the majority of core modules (see MDL-41286), except for those that require unique functionality. These functions are used by the outline report, but now if they no longer exist, the default behaviour is chosen, which supports the legacy and standard log storages introduced in 2.7 (see MDL-41266). It is highly recommended you remove these functions from your module if they are simply performing the default behaviour. === 2.6 === * Modules using the question bank MUST now declare their use of it with the xxx_supports() flag FEATURE_USES_QUESTIONS. * xxx_get_types() module callback can now return subtypes that have a custom help text set. Also instead of array it can now return MOD_SUBTYPE_NO_CHILDREN. This is optional and still defaults to prior behavior. See get_module_metadata() in course/lib.php for details. * shift_course_mod_dates() has been modified to accept optional mod instance id. If mod instance id is passed then dates changed will happen only on specific module instance and not on all instances of that module in course. === 2.5 === * support for 'mod/*' filters was removed === 2.4 === new features: * mod/xxx/adminlib.php may now include 'plugininfo_yoursubplugintype' class definition used by plugin_manager; it is recommended to store extra admin settings classes in this file optional - no changes needed: * mod_lesson_renderer::header() now accepts an additional parameter $extrapagetitle * mod/data/lib.php data_get_all_recordids() now has two new optional variables: $selectdata and $params. === 2.3 === required changes in code: * define the capability mod/xxx:addinstance (and the corresponding lang string) (unless your mod is a MOD_ARCHETYPE_SYSTEM). * xxx_pluginfile() is now given the 7th parameter (hopefully the last one) that contains additional options for the file serving. The array should be re-passed to send_stored_file(). * most resourcelib_embed_* functions are replaced with core_media_renderer; for an example, see mod/resource/locallib.php, resource_display_embed() optional - no changes needed: * add support for handling course drag and drop types - functions xxx_dndupload_register() and xxx_dndupload_handle($uploadinfo) see: http://docs.moodle.org/dev/Implementing_Course_drag_and_drop_upload_support_in_a_module === 2.2 === required changes in code: * fix missing parameter types in optional_param() and required_param() * use new optional_param_array(), required_param_array() or clean_param_array() when dealing with array parameters * core_text::asort() replaced by specialized core_collator::asort() * use new make_temp_directory() and make_cache_directory() === 2.1 === required changes in code: * add new support for basic restore from 1.9 === 2.0 === required changes in code: * use new DML syntax everywhere (https://moodledev.io/docs/apis/core/dml/ddl) * use new DDL syntax in db/upgrade.php (https://moodledev.io/docs/apis/core/dml/ddl) * replace defaults.php by settings.php and db/install.php * replace STATEMENTS section in db/install.xml with PHP code db/install.php or db/log.php * move post installation code from lib.php into db/install.php * move uninstallation code from lib.php to db/uninstall.php * new mandatory naming of intro and introformat table fields in module tables, the presence of these fields is indicated in xxx_plugin_supports() * completely rewrite file handling (https://moodledev.io/docs/apis/subsystems/files) * rewrite backup/restore (not finished yet) * rewrite trusttext support - new db table columns needed * migrate all module features from mod_edit.php form to lib.php/modulename_supports() function * implement new gradebook support (legacy 1.8.x grading not supported anymore) * migrate custom resource module subtypes into separate modules, necessary only for custom plugins in mod/resource/ * use new $PAGE and $OUTPUT instead of old weblib functions * theme changes: move plugin styles into mod/xxx/styles.css and use new css markers for images, move all images into new mod/xxx/pix/ directory and use new outputlib api move module icon to mod/xxx/pix/icon.gif old global $THEME is fully replaced by $OUTPUT create plugin renderers * migrate all javascript new coding style using YUI3+YUI2 (https://moodledev.io/docs/guides/javascript/modules) * remove '_utf8' from lang pack names, use new {a} syntax * replace helps with new 'xxx_hlp' strings * please note the $plugin->requires in version.php has to be bigger than 2010000000, otherwise the plugin is marked as outdated and upgrade is interrupted optional - no changes needed in older code: * settingstree.php replaced by settings.php - just unset the $settings if you want to make custom part of settings admin tree * support for new mforms editor element and embedded files (not finished yet) * portfolio support (http://docs.moodle.org/dev/Portfolio_API) * course completion tracking support * new navigation features * new comments API (https://docs.moodle.org/dev/Comment_API) * new ratings API (https://docs.moodle.org/dev/Rating_API) home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/h5pactivity/upgrade.txt000064400000001533152267123320024106 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /mod/h5pactivity/*, information provided here is intended especially for developers. === 4.2 === * The WebService mod_h5pactivity_get_h5pactivities_by_courses now returns a `h5pglobalsettings` property that includes the global settings for H5P activities. === 4.1 === * The following methods now accept an optional `$currentgroup` parameter in order to better support groups: - `\mod_h5pactivity\local\manager::get_active_users_join` - `\mod_h5pactivity\local\manager::get_report` - `\mod_h5pactivity\local\report\participants` constructor === 3.11 === * Added mod_h5pactivity\local\manager::get_active_users_join method to query all active users from a specific activity, even in a freeze context. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/resource/upgrade.txt000064400000000756152267124500023473 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in the resource code. === 4.3 === * Function resource_get_optional_details() has now one new parameter, $showtype, to decide whether the file type should be displayed or not (regardless the display option is enabled). === 4.0 === * Functions resource_print_heading and resource_print_intro have been deprecated in favour for the activity header. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/mod/book/upgrade.txt000064400000003142152267157670022604 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This file describes API changes in the book code. === 4.4 === * The previously deprecated `book_get_nav_types` method has been removed, along with the `BOOK_LINK_*` constants * book_get_nav_classes() has been deprecated and won't have replacement because it's not required anymore. It should have been deprecated together with book_get_nav_types. === 4.0 === * book_get_nav_types() has been deprecated. Related settings have been removed. The navigation is now set to only "next" and "previous". === 3.11 === * Final deprecation - booktool_print_get_toc(). Please use render_print_book_toc() instead. === 3.8 === * The following functions have been finally deprecated and can not be used anymore: * book_scale_used() === 3.7 === * book_export_contents() callback now returns tags information for every chapter. === 3.1 === * The following functions, previously used (exclusively) by upgrade steps are not available anymore because of the upgrade cleanup performed for this version. See MDL-51580 for more info: - mod_book_migrate_moddata_dir_to_legacy() - mod_book_migrate_all_areas() - mod_book_migrate_area() === 3.0 === * External function mod_book_external::get_books_by_courses returned parameter "name" has been changed to PARAM_RAW, this is because the new external_format_string function may return raw data if the global moodlewssettingraw parameter is used. === 2.7 === * bogus legacy log calls were removed * \mod_book\event\chapter_deleted::set_legacy_logdata() was removed home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/lib/xapi/upgrade.txt000064400000002302152267607450022573 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in core_xapi libraries and APIs, information provided here is intended especially for developers. === 4.3 === * The default state store will throw and exception if the activity ID is not a numeric value. This is to avoid problems with the database when using the default state store. If a plugin requires a non numeric activity ID, it must implement its own state store. * New xAPI state webservices: - core_xapi_delete_states: delete all user state data for an activity === 4.2 === * A new state store has been introduced. Now plugins can store state data by overriding the PLUGINNAME\xapi\handler::validate_state method. * New core_xapi\state_store class to handle the state data storing. Plugins can provide alternative state store implementations by overriding the PLUGINNAME\xapi\handler::get_state_store method. * New xAPI state webservices: - core_xapi_post_state: store a user state data - core_xapi_get_state: gets a user state data - core_xapi_get_states: get the list of user states - core_xapi_delete_state: delete a user state data home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/lib/form/upgrade.txt000064400000002325152267616300022574 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in core_form libraries and APIs, information provided here is intended especially for developers. === 4.4 === * Now autocomplete suggestions will preserve classes defined in respective original "option" elements Alongside with that new ".suggestions-heading" class was added to easily generate suggestion headings * The `core/form-autocomplete` module now exports an `enhanceField` method to return native promise (of which the previous `enhance` is now a wrapper of, while preserving jQuery promise return) * The group element has a new method `getAttributesForFormElement` which should be used in conjunction with `createFormElement` to ensure that all elements within the group have unique IDs * New method `setHiddenLabel` added to the group form element type * The deprecated `moodle-core-formchangechecker` YUI module and legacy `M.core_formchangechecker` have been removed and can no longer be used === 4.3 === * Added a new parameter to allow Groups to add attributes. === 4.2 === * The moodle-form-passwordunmask module has been removed. It was deprecated in Moodle 3.2. home/smkb8269/public_html/lms.smk-almanshuriyah.sch.id/lib/editor/tiny/upgrade.txt000064400000001321152267745450024106 0ustar00=== 4.5 Onwards === This file has been replaced by UPGRADING.md. See MDL-81125 for further information. === This files describes API changes in /lib/editor/tiny/* - TinyMCE editor, information provided here is intended especially for developers. === 4.2 === * A list of placeholder selectors was created and can be accessed by placeholderSelectors options. The purpose of this list is to indicate the contents that are only shown in the editor and not to the users, by that way, we can decide to apply or not to apply rules, styles, etc... to these contents. Other Tiny plugins can register their placeholder elements to placeholderSelectors list by calling editor_tiny/options::registerPlaceholderSelectors.