Plugin Directory

Changeset 3158491


Ignore:
Timestamp:
09/27/2024 04:47:20 AM (6 months ago)
Author:
rafasashi
Message:

3.7.13

Location:
language-switcher/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • language-switcher/trunk/includes/class-language-switcher.php

    r3149222 r3158491  
    197197        add_action('wp_head', array($this,'add_hreflang_in_head'));
    198198        add_action('wp_head', array($this,'add_visibility_css_classes'));
    199 
    200         // bulk task editor hooks
    201        
    202         add_filter('rewbe_before_duplicate_meta', array($this, 'filter_bulk_duplicate_metadata'),0,2);
    203        
    204         add_filter('rewbe_duplicate_meta_value', array($this, 'bulk_duplicate_meta_value'),0,5);
     199       
     200        // apis
     201       
     202        add_action('rest_api_init', function(){
     203           
     204            register_rest_route( 'lsw-languages/v1', '/(?P<type>[\w,]+)/(?P<id>[0-9]+)/', array(
     205               
     206                'methods'   => array('GET'),
     207                'callback'  => function($rest){
     208                   
     209                    if( !empty($rest['type']) && !empty($rest['id']) ){
     210                       
     211                        $id = intval($rest['id']);
     212                       
     213                        $type = sanitize_title($rest['type']);
     214                       
     215                        if( $type == 'post' ){
     216                           
     217                            return $this->get_post_language($id);
     218                        }
     219                        elseif( $type == 'term' ){
     220                           
     221                            return $this->get_term_language($id);
     222                        }
     223                    }
     224                },
     225                'permission_callback' => '__return_true',
     226            ));     
     227        });
    205228       
    206229    } // End __construct ()
     
    407430            $language['urls'] = array();
    408431        }
    409    
     432       
    410433        $language['urls'][$default_lang] = apply_filters('lsw_sanitize_link',get_term_link($term_id));
    411434       
     
    480503            $results = $wpdb->get_results("SELECT option_value as value FROM $options_table WHERE option_name = 'WPLANG'");
    481504           
    482             if( isset($results[0]) && is_object($results[0]) && isset($results[0]->value) ){
     505            if( isset($results[0]) && is_object($results[0]) && !empty($results[0]->value) ){
    483506           
    484507                $default_locale = $results[0]->value;
    485508            }
    486            
    487             if( empty($default_locale) ){
    488                
    489                 if( defined('WPLANG') && !empty(WPLANG) ){
    490                    
    491                     $default_locale = WPLANG;
    492                 }
    493                 else{
    494                    
    495                     $default_locale = get_locale();
    496                 }
     509            else{
     510               
     511                //$default_locale = get_locale();
     512               
     513                $default_locale = 'en_US';
    497514            }
    498515           
     
    18051822    }
    18061823   
    1807     public function filter_bulk_duplicate_metadata($metadata,$object){
    1808        
    1809         if( !empty($object->post_type) && in_array($object->post_type,$this->get_active_post_types()) ){
    1810            
    1811             $default_lang = $this->get_default_language(true);
    1812            
    1813             $languages = !empty($metadata['lsw_language_switcher']) ? maybe_unserialize($metadata['lsw_language_switcher']) : false;
    1814            
    1815             if( empty($languages['lsw_language_switcher']['urls'][$default_lang]) ){
    1816                
    1817                 $metadata['lsw_language_switcher'] = array(serialize($this->get_post_language($object->ID)));
    1818             }
    1819         }
    1820         elseif( !empty($object->taxonomy) && in_array($object->taxonomy,$this->get_active_taxonomies()) ){
    1821            
    1822             $default_lang = $this->get_default_language(true);
    1823            
    1824             $languages = !empty($metadata['lsw_language_switcher']) ? maybe_unserialize($metadata['lsw_language_switcher']) : false;
    1825            
    1826             if( empty($languages['lsw_language_switcher']['urls'][$default_lang]) ){
    1827                
    1828                 $metadata['lsw_language_switcher'] = array(serialize($this->get_term_language($object->term_id)));
    1829             }
    1830         }
    1831        
    1832         return $metadata;
    1833     }
    1834    
    1835     public function bulk_duplicate_meta_value($metadata,$name,$object,$args,$origin){
    1836        
    1837         global $wpdb;
    1838 
    1839         if( !isset($origin[$wpdb->prefix]) ){
    1840            
    1841             // db prefix switched
    1842                    
    1843             if( $name == 'lsw_language_switcher' ){
    1844                
    1845                 $default_lang = $this->get_default_language(true);
    1846                
    1847                 if( !empty($object->post_type) ){
    1848                    
    1849                     $languages = $this->get_post_language($object->ID);
    1850                 }
    1851                 elseif( !empty($object->taxonomy) ){
    1852                    
    1853                     $languages = $this->get_post_language($object->term_id);
    1854                 }
    1855                
    1856                 if( !empty($metadata['urls']) ){
    1857                    
    1858                     // merge language urls
    1859                    
    1860                     foreach( $metadata['urls'] as $lang => $url ){
    1861                        
    1862                         if( $metadata['main'] == $lang ){
    1863                            
    1864                             $languages['urls'][$lang] = $url;
    1865                            
    1866                             break;
    1867                         }
    1868                     }
    1869                    
    1870                     $metadata = $languages;
    1871                 }
    1872             }
    1873         }
    1874        
    1875         return $metadata;
    1876     }
    1877    
    18781824    /**
    18791825     * Wrapper function to register a new post type
  • language-switcher/trunk/language-switcher.php

    r3155723 r3158491  
    44 * Plugin URI: https://code.recuweb.com/download/language-switcher/
    55 * Description: Add a Language Switcher to Post Types and Taxonomies
    6  * Version: 3.7.12
     6 * Version: 3.7.13
    77 * Author: Rafasashi
    88 * Author URI: https://code.recuweb.com/about-us/
  • language-switcher/trunk/readme.txt

    r3155723 r3158491  
    55Requires at least: 4.6
    66Tested up to: 6.6
    7 Stable tag: 3.7.12
     7Stable tag: 3.7.13
    88License: GPLv3
    99License URI: https://code.recuweb.com/product-licenses/
Note: See TracChangeset for help on using the changeset viewer.