Files
roi-theme/wp-content/plugins/ajax-search-pro/backend/settings/class/wd_mime_select.class.php
root a22573bf0b Commit inicial - WordPress Análisis de Precios Unitarios
- WordPress core y plugins
- Tema Twenty Twenty-Four configurado
- Plugin allow-unfiltered-html.php simplificado
- .gitignore configurado para excluir wp-config.php y uploads

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-03 21:04:30 -06:00

82 lines
3.0 KiB
PHP
Executable File

<?php
defined('ABSPATH') or die("You can't access this file directly.");
if (!class_exists("wd_MimeTypeSelect")) {
/**
* Class wd_MimeTypeSelect
*
* Selection field for mime types
*
* @package WPDreams/OptionsFramework/Classes
* @category Class
* @author Ernest Marcinko <ernest.marcinko@wp-dreams.com>
* @link http://codecanyon.net/user/wpdreams/portfolio
* @copyright Copyright (c) 2022, Ernest Marcinko
*/
class wd_MimeTypeSelect extends wpdreamsType {
public function getType() {
parent::getType();
$this->processData();
?>
<div class="wd_MimeTypeSelect">
<div class="file_mime_types_input hiddend">
<label class='wd_textarea_expandable'
for='wd_textareae_<?php echo self::$_instancenumber; ?>'><?php echo __($this->label, 'ajax-search-pro'); ?>
<textarea rows='1' data-min-rows='1'
class='wd_textarea_expandable'
id='wd_textareae_<?php echo self::$_instancenumber; ?>'
name='<?php echo $this->name; ?>'><?php echo stripslashes(esc_html($this->data)); ?></textarea>
</label>
<span class="mime_input_hide"><?php echo __('>> Simplified view <<', 'ajax-search-pro'); ?></span>
</div>
<div class="file_mime_types_list">
<label>
<?php echo __($this->label, 'ajax-search-pro'); ?>
<select multiple attr="multi_attachment_mime_types_<?php echo self::$_instancenumber; ?>"
id="multi_attachment_mime_types">
<option value="pdf">PDF</option>
<option value="text">Text</option>
<option value="richtext">Rich Text (rtf etc..)</option>
<option value="mso_word">Office Word</option>
<option value="mso_excel">Office Excel</option>
<option value="mso_powerpoint">Office PowerPoint</option>
<option value="image">Image</option>
<option value="video">Video</option>
<option value="audio">Audio</option>
</select>
</label>
<span class="mime_list_hide"><?php echo __('>> Enter manually <<', 'ajax-search-pro'); ?></span>
</div>
</div>
<?php
}
function processData() {
if ( $this->isBase64Encoded($this->data) ) {
$this->data = base64_decode($this->data);
}
}
function isBase64Encoded( $s ){
if ((bool) preg_match('/^[a-zA-Z0-9\/\r\n+]*={0,2}$/', $s) === false) {
return false;
}
$decoded = base64_decode($s, true);
if ($decoded === false) {
return false;
}
if ( function_exists('mb_detect_encoding') ) {
$encoding = mb_detect_encoding($decoded);
if ( !in_array($encoding, ['UTF-8', 'ASCII'], true) ) {
return false;
}
}
return $decoded !== false && base64_encode($decoded) === $s;
}
}
}
wp_register_script('wd_mime_select-js', ASP_URL_NP . 'backend/settings/assets/wd_mime_select/js/wd_mime_select.js', array('asp-backend-jquery-select2'), '1', true);
wp_enqueue_script('wd_mime_select-js');
wp_register_style('wd_mime_select-style', ASP_URL_NP . 'backend/settings/assets/wd_mime_select/css/wd_mime_select.css', false, 1);
wp_enqueue_style('wd_mime_select-style');