original_string: public static function get_contextlevel_customdata($contextlevel) {
  
          $persistent = \tool_dataprivacy\contextlevel::get_record_by_contextlevel($contextlevel, false);
          if (!$persistent) {
              $persistent = new \tool_dataprivacy\contextlevel();
              $persistent->set('contextlevel', $contextlevel);
          }
  
          $includeinherit = true;
          if ($contextlevel == CONTEXT_SYSTEM) {
              // Nothing to inherit from Site level.
              $includeinherit = false;
          }
          $includenotset = true;
          if ($contextlevel == CONTEXT_SYSTEM || $contextlevel == CONTEXT_USER) {
              // No 'not set' value for system and user because we do not have defaults for them.
              $includenotset = false;
          }
          $purposeoptions = \tool_dataprivacy\output\data_registry_page::purpose_options(
              api::get_purposes(), $includenotset, $includeinherit);
          $categoryoptions = \tool_dataprivacy\output\data_registry_page::category_options(
              api::get_categories(), $includenotset, $includeinherit);
  
          $customdata = [
              'contextlevel' => $contextlevel,
              'contextlevelname' => get_string('contextlevelname' . $contextlevel, 'tool_dataprivacy'),
              'persistent' => $persistent,
              'purposes' => $purposeoptions,
              'categories' => $categoryoptions,
          ];
  
          $effectivepurpose = api::get_effective_contextlevel_purpose($contextlevel);
          if ($effectivepurpose) {
  
              $customdata['currentretentionperiod'] = self::get_retention_display_text($effectivepurpose, $contextlevel,
                  \context_system::instance());
  
              $customdata['purposeretentionperiods'] = [];
              foreach ($purposeoptions as $optionvalue => $unused) {
  
                  // Get the effective purpose if $optionvalue would be the selected value.
                  list($purposeid, $unused) = data_registry::get_effective_default_contextlevel_purpose_and_category($contextlevel,
                      $optionvalue);
                  $purpose = new \tool_dataprivacy\purpose($purposeid);
  
                  $retentionperiod = self::get_retention_display_text(
                      $purpose,
                      $contextlevel,
                      \context_system::instance()
                  );
                  $customdata['purposeretentionperiods'][$optionvalue] = $retentionperiod;
              }
          }
  
          return $customdata;
      }
code: public static function get_contextlevel_customdata($contextlevel) {
  
          $persistent = \tool_dataprivacy\contextlevel::get_record_by_contextlevel($contextlevel, false);
          if (!$persistent) {
              $persistent = new \tool_dataprivacy\contextlevel();
              $persistent->set('contextlevel', $contextlevel);
          }
  
          $includeinherit = true;
          if ($contextlevel == CONTEXT_SYSTEM) {
              // Nothing to inherit from Site level.
              $includeinherit = false;
          }
          $includenotset = true;
          if ($contextlevel == CONTEXT_SYSTEM || $contextlevel == CONTEXT_USER) {
              // No 'not set' value for system and user because we do not have defaults for them.
              $includenotset = false;
          }
          $purposeoptions = \tool_dataprivacy\output\data_registry_page::purpose_options(
              api::get_purposes(), $includenotset, $includeinherit);
          $categoryoptions = \tool_dataprivacy\output\data_registry_page::category_options(
              api::get_categories(), $includenotset, $includeinherit);
  
          $customdata = [
              'contextlevel' => $contextlevel,
              'contextlevelname' => get_string('contextlevelname' . $contextlevel, 'tool_dataprivacy'),
              'persistent' => $persistent,
              'purposes' => $purposeoptions,
              'categories' => $categoryoptions,
          ];
  
          $effectivepurpose = api::get_effective_contextlevel_purpose($contextlevel);
          if ($effectivepurpose) {
  
              $customdata['currentretentionperiod'] = self::get_retention_display_text($effectivepurpose, $contextlevel,
                  \context_system::instance());
  
              $customdata['purposeretentionperiods'] = [];
              foreach ($purposeoptions as $optionvalue => $unused) {
  
                  // Get the effective purpose if $optionvalue would be the selected value.
                  list($purposeid, $unused) = data_registry::get_effective_default_contextlevel_purpose_and_category($contextlevel,
                      $optionvalue);
                  $purpose = new \tool_dataprivacy\purpose($purposeid);
  
                  $retentionperiod = self::get_retention_display_text(
                      $purpose,
                      $contextlevel,
                      \context_system::instance()
                  );
                  $customdata['purposeretentionperiods'][$optionvalue] = $retentionperiod;
              }
          }
  
          return $customdata;
      }
code_tokens: public static function get_contextlevel_customdata ( $ contextlevel ) { $ persistent = \ tool_dataprivacy \ contextlevel :: get_record_by_contextlevel ( $ contextlevel , false ) ; if ( ! $ persistent ) { $ persistent = new \ tool_dataprivacy \ contextlevel ( ) ; $ persistent -> set ( 'contextlevel' , $ contextlevel ) ; } $ includeinherit = true ; if ( $ contextlevel == CONTEXT_SYSTEM ) { // Nothing to inherit from Site level. $ includeinherit = false ; } $ includenotset = true ; if ( $ contextlevel == CONTEXT_SYSTEM || $ contextlevel == CONTEXT_USER ) { // No 'not set' value for system and user because we do not have defaults for them. $ includenotset = false ; } $ purposeoptions = \ tool_dataprivacy \ output \ data_registry_page :: purpose_options ( api :: get_purposes ( ) , $ includenotset , $ includeinherit ) ; $ categoryoptions = \ tool_dataprivacy \ output \ data_registry_page :: category_options ( api :: get_categories ( ) , $ includenotset , $ includeinherit ) ; $ customdata = [ 'contextlevel' => $ contextlevel , 'contextlevelname' => get_string ( 'contextlevelname' . $ contextlevel , 'tool_dataprivacy' ) , 'persistent' => $ persistent , 'purposes' => $ purposeoptions , 'categories' => $ categoryoptions , ] ; $ effectivepurpose = api :: get_effective_contextlevel_purpose ( $ contextlevel ) ; if ( $ effectivepurpose ) { $ customdata [ 'currentretentionperiod' ] = self :: get_retention_display_text ( $ effectivepurpose , $ contextlevel , \ context_system :: instance ( ) ) ; $ customdata [ 'purposeretentionperiods' ] = [ ] ; foreach ( $ purposeoptions as $ optionvalue => $ unused ) { // Get the effective purpose if $optionvalue would be the selected value. list ( $ purposeid , $ unused ) = data_registry :: get_effective_default_contextlevel_purpose_and_category ( $ contextlevel , $ optionvalue ) ; $ purpose = new \ tool_dataprivacy \ purpose ( $ purposeid ) ; $ retentionperiod = self :: get_retention_display_text ( $ purpose , $ contextlevel , \ context_system :: instance ( ) ) ; $ customdata [ 'purposeretentionperiods' ] [ $ optionvalue ] = $ retentionperiod ; } } return $ customdata ; }
docstring: Returns the customdata array for the provided context level.
  
  @param int $contextlevel
  @return array
docstring_tokens: Returns the customdata array for the provided context level .