-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlugin.php
More file actions
50 lines (40 loc) · 1.8 KB
/
Plugin.php
File metadata and controls
50 lines (40 loc) · 1.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<?php
namespace WhatsAppFloating;
use MapasCulturais\App;
use MapasCulturais\i;
class Plugin extends \MapasCulturais\Plugin {
public function _init() {
$app = App::i();
// Evita executar em CLI
if (php_sapi_name() == "cli") {
return;
}
// Registra o domínio de tradução
i::load_textdomain('whatsapp-floating', __DIR__ . "/translations");
// Carrega CSS e JS em todas as páginas
$app->hook('GET(<<*>>):before', function() use ($app) {
$app->view->enqueueStyle('app-v2', 'whatsapp-floating', 'css/whatsapp-floating.css');
$app->view->enqueueScript('app-v2', 'whatsapp-floating', 'js/whatsapp-floating.js');
});
// Adiciona o balão flutuante em todas as páginas
$app->hook('template(<<*>>):after', function() use ($app) {
$this->part('whatsapp-floating-button');
});
// Configura variáveis JavaScript globais com as configurações do WhatsApp
$app->hook('template(<<*>>):before', function() use ($app) {
$whatsapp_number = env('WHATSAPP_NUMBER', '');
$whatsapp_message = env('WHATSAPP_MESSAGE', i::__('Olá! Gostaria de falar com vocês.', 'whatsapp-floating'));
$whatsapp_enabled = env('WHATSAPP_ENABLED', 'true') === 'true';
if ($whatsapp_enabled && !empty($whatsapp_number)) {
$app->view->jsObject['whatsappFloating'] = [
'number' => $whatsapp_number,
'message' => $whatsapp_message,
'enabled' => $whatsapp_enabled
];
}
});
}
public function register() {
// Este plugin não precisa registrar metadados ou taxonomias
}
}