Файловый менеджер - Редактировать - /home/harasnat/www/labour/wp-content/plugins/events-manager/classes/em-taxonomy-admin.php
Назад
<?php /** * Base class for taxonomies, adding extra features to the admin area such as displaying and saving image and color options. * * Classes extending this one must define the right */ class EM_Taxonomy_Admin { /** * The name of this taxonomy, e.g. event-categories, which is defined in child class. * @var string */ public static $taxonomy_name; /** * The name of the child class, used for now whilst late static binding isn't guaranteed since we may be running on PHP <5.3 * Once PHP 5.3 is a minimum requirement in WP, we can get rid of this one. * @var string */ public static $this_class = 'EM_Taxonomy_Admin'; /** * Currently used to instantiate a class of the specific term. Eventually we could just use EM_Taxonomy since these will be standardized functions for any taxonomy. * @var string */ public static $tax_class = 'EM_Taxonomy'; /** * Name of taxonomy for reference in saving to database, e.g. category will be used to save category-image. * This may differ from the name of the taxonomy, such as event-category can be category * @var string */ public static $option_name = 'taxonomy'; public static $name_singular = 'taxonomy'; public static $name_plural = 'taxonomies'; public static $placeholder_image = '#_TAXONOMYIMAGE'; public static $placeholder_color = '#_TAXONOMYCOLOR'; public static function init(){ global $pagenow; if( ($pagenow == 'edit-tags.php' || $pagenow == 'term.php') && !empty($_GET['taxonomy']) && $_GET['taxonomy'] == self::$taxonomy_name){ add_filter('admin_enqueue_scripts', 'EM_Taxonomy_Admin::admin_enqueue_scripts'); } add_action( self::$taxonomy_name.'_edit_form_fields', array(self::$this_class, 'form_edit'), 10, 1); add_action( self::$taxonomy_name.'_add_form_fields', array(self::$this_class, 'form_add'), 10, 1); add_action( 'edited_'.self::$taxonomy_name, array(self::$this_class, 'save'), 10, 2); add_action( 'create_'.self::$taxonomy_name, array(self::$this_class, 'save'), 10, 2); add_action( 'delete_'.self::$taxonomy_name, array(self::$this_class, 'delete'), 10, 2); add_filter('manage_edit-'.self::$taxonomy_name.'_columns' , array(self::$this_class, 'columns_add')); add_filter('manage_'.self::$taxonomy_name.'_custom_column' , array(self::$this_class, 'columns_output'),10,3); } public static function columns_add($columns) { //prepend ID after checkbox $columns['term-id'] = __('ID','events-manager'); return $columns; } public static function columns_output( $val, $column, $term_id ) { switch ( $column ) { case 'term-id': return $term_id; break; } return $val; } public static function admin_enqueue_scripts(){ wp_enqueue_media(); wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'em-taxonomies-admin', plugins_url().'/events-manager/includes/js/taxonomies-admin.js', array('jquery','media-upload','thickbox','farbtastic','wp-color-picker') ); } public static function form_edit($tag){ $EM_Taxonomy = new self::$tax_class($tag); $taxonomy_color = $EM_Taxonomy->get_color(); $taxonomy_image = $EM_Taxonomy->get_image_url(); $taxonomy_image_id = $EM_Taxonomy->get_image_id(); ?> <tr class="form-field term-color-wrap"> <th scope="row" valign="top"><label for="term-color"><?php esc_html_e('Color','events-manager'); ?></label></th> <td> <input type="text" name="term_color" id="term-color" class="term-color" value="<?php echo esc_attr($taxonomy_color); ?>"><br> <p class="description"><?php echo sprintf(__('Choose a color for your %s. You can access this using the %s placeholder.','events-manager'), __(self::$name_singular, 'events-manager'), '<code>'. self::$placeholder_color. '</code>'); ?></p> <div id="picker" style="position:absolute; display:none; background:#DEDEDE"></div> </td> </tr> <tr class="form-field term-image-wrap"> <th scope="row" valign="top"><label for="term-image"><?php esc_html_e('Image','events-manager'); ?></label></th> <td> <div class="img-container"> <?php if( !empty($taxonomy_image) ): ?> <img src="<?php echo $taxonomy_image; ?>" style="max-width:250px;"> <?php endif; ?> </div> <input type="text" name="term_image" id="term-image" class="img-url" value="<?php echo esc_attr($taxonomy_image); ?>"> <input type="hidden" name="term_image_id" id="term-image-id" class="img-id" value="<?php echo esc_attr($taxonomy_image_id); ?>"> <p class="hide-if-no-js"> <input id="upload_image_button" type="button" value="<?php _e('Choose/Upload Image','events-manager'); ?>" class="upload-img-button button-secondary" > <input id="delete_image_button" type="button" value="<?php _e('Remove Image','events-manager'); ?>" class="delete-img-button button-secondary" <?php if( empty($taxonomy_image) ) echo 'style="display:none;"'; ?> > </p> <br > <p class="description"><?php echo sprintf(__('Choose an image for your %s, which can be displayed using the %s placeholder.','events-manager'), __(self::$name_singular,'events-manager'),'<code>'. self::$placeholder_image. '</code>'); ?></p> </td> </tr> <?php } public static function form_add(){ ?> <div class="term-color-wrap"> <label for="term-color"><?php esc_html_e('Color','events-manager'); ?></label> <input type="text" name="term_color" id="term-color" class="term-color" value="<?php echo esc_attr(em_get_option('dbem_'.static::$option_name . '_default_color', '#80b538')); ?>" ><br> <p class="description"><?php echo sprintf(__('Choose a color for your %s. You can access this using the %s placeholder.','events-manager'), __(self::$name_singular,'events-manager'),'<code>'. self::$placeholder_color. '</code>'); ?></p> </div> <div class="form-field term-image-wrap"> <label for="term-image"><?php esc_html_e('Image','events-manager'); ?></label> <div class="img-container"></div> <input type="text" name="term_image" id="term-image" class="img-url" value=""> <input type="hidden" name="term_image_id" id="term-image-id" class="img-id" value=""> <p class="hide-if-no-js"> <input id="upload_image_button" type="button" value="<?php _e('Choose/Upload Image','events-manager'); ?>" class="upload-img-button button-secondary"> <input id="delete_image_button" type="button" value="<?php _e('Remove Image','events-manager'); ?>" class="delete-img-button button-secondary" style="display:none;"> </p> <p class="description"><?php echo sprintf(__('Choose an image for your %s, which can be displayed using the %s placeholder.','events-manager'), __(self::$name_singular,'events-manager'),'<code>'. self::$placeholder_image. '</code>'); ?></p> </div> <?php } public static function save( $term_id, $tt_id ){ global $wpdb; if (!$term_id) return; if( !empty($_POST['term_color']) ){ //get results and save/update $color = sanitize_hex_color($_POST['term_color']); if( $color ){ $prev_settings = $wpdb->get_results('SELECT meta_value FROM '.EM_META_TABLE." WHERE object_id='{$term_id}' AND meta_key='". self::$option_name ."-bgcolor'"); if( count($prev_settings) > 0 ){ $wpdb->update(EM_META_TABLE, array('object_id' => $term_id, 'meta_value' => $color), array('object_id' => $term_id, 'meta_key' => self::$option_name .'-bgcolor')); }else{ $wpdb->insert(EM_META_TABLE, array('object_id' => $term_id, 'meta_key' => self::$option_name .'-bgcolor', 'meta_value' => $color)); } wp_cache_set($term_id, $color, 'em_'.self::$option_name.'_colors'); $flush_cache = true; } } if( !empty($_POST['term_image']) ){ //get results and save/update $term_image = esc_url_raw($_POST['term_image']); $prev_settings = $wpdb->get_results('SELECT meta_value FROM '.EM_META_TABLE." WHERE object_id='{$term_id}' AND meta_key='". self::$option_name ."-image'"); if( count($prev_settings) > 0 ){ $wpdb->update(EM_META_TABLE, array('object_id' => $term_id, 'meta_value' => $term_image), array('object_id' => $term_id, 'meta_key' => self::$option_name .'-image')); }else{ $wpdb->insert(EM_META_TABLE, array('object_id' => $term_id, 'meta_key' => self::$option_name .'-image', 'meta_value' => $term_image)); } if( !empty($_POST['term_image_id']) && is_numeric($_POST['term_image_id']) ){ //get results and save/update $term_image_id = absint($_POST['term_image_id']); $prev_settings = $wpdb->get_results('SELECT meta_value FROM '.EM_META_TABLE." WHERE object_id='{$term_id}' AND meta_key='". self::$option_name ."-image-id'"); if( count($prev_settings) > 0 ){ $wpdb->update(EM_META_TABLE, array('object_id' => $term_id, 'meta_value' => $term_image_id), array('object_id' => $term_id, 'meta_key'=> self::$option_name .'-image-id')); }else{ $wpdb->insert(EM_META_TABLE, array('object_id' => $term_id, 'meta_key'=> self::$option_name .'-image-id', 'meta_value' => $term_image_id)); } } $flush_cache = true; }else{ //check if an image exists, if so remove association $prev_settings = $wpdb->get_results('SELECT meta_value FROM '.EM_META_TABLE." WHERE object_id='{$term_id}' AND meta_key='". self::$option_name ."-image'"); if( count($prev_settings) > 0 ){ $wpdb->delete(EM_META_TABLE, array('object_id' => $term_id, 'meta_key' => self::$option_name .'-image')); $wpdb->delete(EM_META_TABLE, array('object_id' => $term_id, 'meta_key' => self::$option_name .'-image-id')); $flush_cache = true; } } if ( !empty($flush_cache) ) { wp_cache_flush(); } } public static function delete( $term_id ){ global $wpdb; //delete taxonomy image and color $wpdb->query('DELETE FROM '.EM_META_TABLE." WHERE object_id='$term_id' AND (meta_key='". self::$option_name ."-image' OR meta_key='". self::$option_name ."-image-id' OR meta_key='". self::$option_name ."-bgcolor')"); //delete all events taxonomy relations for MultiSite Global Mode if( EM_MS_GLOBAL ){ $wpdb->query('DELETE FROM '.EM_META_TABLE." WHERE meta_value='{$term_id}' AND meta_key='event-". self::$option_name ."'"); } } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка