• Resolved Losmi

    (@uloszaminje)


    Poz! Primetio sam da, ukoliko se pismo eksplicitno ne postavi na cirilicu, PHP funkcija unserialize na podacima iz WP baze podataka nece da radi, ovo vraca prazan string:

    unserialize(get_post_meta( get_the_ID(), 'wpsm_accordion_data', true));

    Da li mozda mogu negde u PHP-u u svojoj temi da izvrsim proveru da li je pismo podeseno na cirilicu, i ako nije, podesim ga na cirilicu. Ovaj unserialize mi je bitan jer plugin Accordion FAQ onda ne radi…

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Ivijan-Stefan Stipic

    (@ivijanstefan)

    Mo?da bi bilo dobro u Transliterator dodatku ugasiti filtere za get_post_metadata .

    unserialize() je PHP funkcija i plugin nema eksplicitno uticaj na njega ali ima na podatak koji vra?a?.

    Koja su pode?avanja dodatka?

    Thread Starter Losmi

    (@uloszaminje)

    Kada je aktivno preslovljavanje na latinicu, ova linija koda plugina ‘responsive accordion’:

    $accordion_data = unserialize(get_post_meta( get_the_ID(), 'wpsm_accordion_data', true));

    proizvodi slede?e obave?tenje:

    PHP Notice: unserialize(): Error at offset 135 of 21978 bytes in ….

    Problem je u tome ?to sadr?aj u bazi (koji je inicijalno serijalizovan na ?irilici) biva promenjen transliteracijom, ?to naru?ava integritet serijalizovanih podataka. To dovodi do gre?ke prilikom poku?aja da se ti podaci?unserialize.

    Da li mogu deo PHP koda da izop?tim iz transliteracije? Ako bi mo?da mogli da uradimo unserialize i tek nakon toga dobijeni tekst da preslovljavamo ako treba…

    Thread Starter Losmi

    (@uloszaminje)

    Ne znam da li je mogu?e ugasiti filter za get_post_meta(), lako ?u ja posle da preslovim ovo u php-u ili javaskriptu?

    Thread Starter Losmi

    (@uloszaminje)

    Da li funkcija Serbian_Transliteration_Utilities::exclude_transliteration() mo?e da se koristi da za delove PHP skripte isklju?im transliteraciju pa je zatim ponovo uklju?im?

    Thread Starter Losmi

    (@uloszaminje)

    Resio sam problem, malo sam bio nevaljao i izmenio sam definiciju funkcije exclude_transliteration() u serbian-transliteration/inc/Utilities.php:

    public static $force_exclude = null;
    public static function exclude_transliteration() : bool {
    if (self::$force_exclude !== null) {
    return self::$force_exclude;
    }
    $locale = self::get_locale();
    $exclude = get_rstr_option('disable-by-language', []);
    return isset($exclude[$locale]) && $exclude[$locale] === 'yes';
    }

    Sada mogu da po potrebi iskljucujem transliteraciju…

Viewing 5 replies - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.