Plugin Directory

Changeset 3337228


Ignore:
Timestamp:
07/31/2025 11:28:38 AM (8 months ago)
Author:
curato
Message:

Mehrsprachigkeit manuell definieren, für Buchungsmaske individueller Title und Meta Description

Location:
travelmanager-buchungssoftware/trunk
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • travelmanager-buchungssoftware/trunk/ajax/target.php

    r3328231 r3337228  
    161161    $url.="&do=getRelations";
    162162
    163     $result = travelmanager_request_content($url, $_POST["signets"]==""?1:15);
     163    $result = travelmanager_request_content($url, $_POST["signets"]==""?1:15,$_POST["lang"]);
    164164
    165165    $json = json_decode($result["msg"],true);
  • travelmanager-buchungssoftware/trunk/buchung.component.php

    r3255799 r3337228  
    1010elseif(isset($_SESSION['vermittler_id']) AND !empty($_SESSION['vermittler_id'])){
    1111    $ref=$_SESSION['vermittler_id'];
     12}
     13
     14//Meta Title und Description im Cache speichern
     15if(!empty($json["description"]) AND !empty($json["title"]) AND function_exists("tm_set_meta_data") AND function_exists("tm_save_meta_cache_url")){
     16    tm_set_meta_data($json["title"], $json["description"]);
     17    tm_save_meta_cache_url($json["title"], $json["description"]);
    1218}
    1319
  • travelmanager-buchungssoftware/trunk/index.php

    r3328231 r3337228  
    44Plugin URI: https://travelmanager.de/funktionen/wordpress-plugin/
    55Description: Inhalte aus der Travelmanager, Tickyt Buchungssoftware und Gastrozack Gastrokasse direkt in WordPress einbinden
    6 Version: 22.09
     6Version: 22.10
    77Author: Philipp Stäbler
    88Text Domain: travelmanager
     
    1414include( plugin_dir_path( __FILE__ ) . 'ajax/target.php');
    1515require_once plugin_dir_path( __FILE__ ) . 'libs/functions.php';
     16require_once plugin_dir_path( __FILE__ ) . 'libs/metatitle_desc.php';
    1617
    1718if( !function_exists('get_plugin_data') ){
     
    3637{
    3738    global $dialog, $locale;
    38     $regional = "en";
    39     if ($locale == 'de_DE' || $locale == 'de' || $locale == 'de_AT') {
    40         $regional = "de";
    41         setlocale(LC_TIME, "de_DE.UTF-8", "de_DE", "deu_deu", "de", "german");
    42     } elseif ($locale == 'pl_PL' || $locale == 'pl') {
    43         $regional = "pl";
    44         setlocale(LC_TIME, "pl_PL.UTF-8", "pl_PL", "pol_pol", "pl", "polish");
    45     } else {
    46         setlocale(LC_TIME, "en_US.UTF-8", "en_US", "english");
    47     }
    4839
    4940    $plugin_data = get_plugin_data( __FILE__ );
     
    8172        'current_date' => '',
    8273        'ressource_id' => '',
     74        'cache' => '',
    8375        'call' => ''
    8476    ), $atts );
     77
     78    //Spracheinstellung
     79    $useLang = "";
     80    if(isset($a["lang"]) && !empty($a["lang"])){
     81        $useLang = $a["lang"];
     82    }
     83
     84    if ($useLang == "de" OR ($locale == 'de_DE' || $locale == 'de' || $locale == 'de_AT')) {
     85        $regional = "de";
     86        setlocale(LC_TIME, "de_DE.UTF-8", "de_DE", "deu_deu", "de", "german");
     87    } elseif ($useLang == "pl" OR ($locale == 'pl_PL' || $locale == 'pl')) {
     88        $regional = "pl";
     89        setlocale(LC_TIME, "pl_PL.UTF-8", "pl_PL", "pol_pol", "pl", "polish");
     90    } else {
     91        $regional = "en";
     92        setlocale(LC_TIME, "en_US.UTF-8", "en_US", "english");
     93    }
    8594
    8695    //Sanitize
     
    334343    //Wenn es eine URL Gibt - Daten holen
    335344    if(!empty($url)){
     345
     346        //Cache verwenden
     347        $useCache= true;
     348        if(isset($a["cache"]) && $a["cache"]==="false"){
     349            $useCache = false;
     350        }
     351
    336352        $url.="&from=wordpress";
    337353        $url.="&version=".$plugin_version;
     
    340356        //URL speichern
    341357        $keyHash = travelmanager_save_hash($url);
    342         $result = travelmanager_request_content($url,$cacheMinutes);
     358        $result = travelmanager_request_content($url,$cacheMinutes,$regional, $useCache);
    343359
    344360        if(array_key_exists("fehler",$result) && $result["fehler"]==true){
     
    696712        }
    697713        elseif($a["call"]=="eventinfo"){
     714            // Eventinfo-Komponente einbinden
    698715            include("buchung.component.php");
    699716        }
     
    979996    $Ausgabe.="<input type='hidden' id='tm_dialoge' value='".rawurlencode( json_encode( $dialog))."'/>";
    980997
    981     return "<div class='tm_plugin' lang='$locale'>".$Ausgabe."</div>";
     998    return "<div class='tm_plugin' lang='$regional'>".$Ausgabe."</div>";
    982999}
    9831000
     
    10081025add_action('wp_head', 'travelmanager_plugin_calendar_locale');
    10091026add_action('wp_head', 'travelmanager_plugin_ajaxurl');
    1010 
    10111027add_shortcode( 'travelmanager', 'travelmanager' );
    10121028add_shortcode( 'tickyt', 'travelmanager' );
  • travelmanager-buchungssoftware/trunk/js/buchung.js

    r3313142 r3337228  
    7171                data['station_stop_id'] = station_stop_id;
    7272                data['linie_id'] = linie_id;
     73                data['lang'] = $("div.tm_plugin").first().attr("lang");
    7374                data['hash']=$(vObjj).attr("keyhash");
    7475
     
    107108                                    }
    108109
    109                                     url+="&lang="+getLanguageCode();
     110                                    url+="&lang="+$("div.tm_plugin").first().attr("lang");
    110111
    111112                                    $(container).removeClass("hide");
     
    192193                                            data['action'] = 'travelmanager_eventinfo_rueckfahrt';
    193194                                            data['ankunft'] = ankunft;
     195                                            data['lang'] = $("div.tm_plugin").first().attr("lang");
    194196                                            data['hinfahrt_linie_id'] = linie_id;
    195197                                            data['station_start_id'] = $(vObjj).attr("location_start_id");
     
    232234                                                                }
    233235
    234                                                                 url+="&lang="+getLanguageCode();
     236                                                                url+="&lang="+$("div.tm_plugin").first().attr("lang");
    235237
    236238                                                                $(container).removeClass("hide");
     
    267269                                        url+="&vermittler_id="+vermittler_id;
    268270                                    }
    269                                     url+="&lang="+getLanguageCode();
     271                                    url+="&lang="+$("div.tm_plugin").first().attr("lang");
    270272                                    var button = $("<input type='button' class='button' value='"+dialoge["einfache_fahrt"]+"'/>");
    271273                                    $(button).on("click",function(){
  • travelmanager-buchungssoftware/trunk/js/fahrtfinderv2.js

    r3222178 r3337228  
    7373    data['max'] = $(container).attr("max");
    7474    data['vermittler_id'] = $(container).attr("ref");
     75    data['lang'] = $("div.tm_plugin").first().attr("lang");
    7576    data['datum'] = $(container).find("[name='datum_abfahrt']").val();
    7677    data['rand'] = Math.random();
  • travelmanager-buchungssoftware/trunk/js/functions-tm.js

    r3313142 r3337228  
    292292
    293293}
    294 
    295 function getLanguageCode() {
    296     var lang = document.documentElement.lang || 'en';
    297     return lang.split('-')[0]; // Return the first part of the language code (e.g., 'en' from 'en-US')
    298 }
  • travelmanager-buchungssoftware/trunk/libs/functions.php

    r3315469 r3337228  
    6363}
    6464
    65 function travelmanager_request_content($url,$cacheMinutes){
     65function travelmanager_request_content($url,$cacheMinutes,$lang='',$useCache=true){
    6666
    6767    $return = array();
    6868    $url.="&tsnow=".date('Y-m-d'); //Den Timestamp des Tages anhängenxs
    69     $url.= tm_get_local_url(); //Sprache hinzufügen
     69    $url.= tm_get_local_url($lang); //Sprache hinzufügen
    7070
    7171    $key = md5($url);
     
    8181
    8282    //Prüfung ob Daten neu geholt werden
    83     if ($json_data===false OR empty($json_data) OR $cacheMinutes < 0) {
     83    if ($json_data===false OR empty($json_data) OR $cacheMinutes < 0 OR !$useCache) {
    8484        $args = array(
    8585            'timeout'     => 15,
    8686            'sslverify' => false
    8787        );
     88
    8889        //Daten neu holen
    8990        $response = wp_remote_get( $url,$args);
     
    289290}
    290291
    291 function tm_get_local_url() {
    292 
     292function tm_get_local_url($lang) {
    293293    $url = "";
    294 
    295     if (get_locale() == 'de_DE') {
     294    if(isset($lang) && !empty($lang)){
     295        $url.="&lang=".$lang;
     296    }
     297    elseif (get_locale() == 'de_DE') {
    296298        $url.="&lang=de";
    297299    }
Note: See TracChangeset for help on using the changeset viewer.