Upload folder via GUI - integrations

This commit is contained in:
Git Manager GUI
2026-04-13 18:52:48 +02:00
parent 09ac38e9fa
commit 9514db9454
19 changed files with 1042 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
<?php
if(!defined('ABSPATH')) exit;
class WMF_Service_Google_Analytics extends WMF_Service {
public $id='google-analytics'; public $label='Google Analytics (GA4)'; public $group='analytics';
protected $credentials=array('measurement_id'=>'');
public function is_connected(){return!empty($this->credentials['measurement_id']);}
public function admin_widget($prev=array()){
$c = $this->get_credentials();
$int = wmf_get_integrations();
$act = $int->action_update;
$nonce= wp_create_nonce($act);
$conn = $this->is_connected();
echo '<div class="wmf-widget-body">';
if($conn) echo '<div class="wmf-connected-badge">&#10003; Verbunden</div>';
echo '<form class="wmf-int-form">';
echo '<input type="hidden" name="_wpnonce" value="'.esc_attr($nonce).'">';
echo '<input type="hidden" name="action" value="'.esc_attr($act).'">';
echo '<input type="hidden" name="services[]" value="google-analytics">';
echo '<p><label>Mess-ID (GA4)</label>';
echo '<input type="text" name="credentials[google-analytics][measurement_id]" value="'.esc_attr($c['measurement_id']??'').'" class="widefat" placeholder="G-XXXXXXXXXX">';
echo '<span class="description">Google Analytics &rarr; Verwaltung &rarr; Datenstroeme &rarr; Mess-ID. Das gtag.js-Skript wird automatisch eingebunden.</span></p>';
echo '<p><button type="submit" class="button button-primary">Speichern</button></p>';
echo '</form>';
echo '</div>';
}
public function load(){if($this->is_connected()) add_action('wp_footer',array($this,'inject_gtag'));}
public function inject_gtag(){
$id=esc_js($this->credentials['measurement_id']);
echo '<script async src="https://www.googletagmanager.com/gtag/js?id='.$id.'"></script>';
echo '<script>window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag("js",new Date());gtag("config","'.$id.'");</script>';
}
}