1*94db1f40SSzymon Olewniczak<?php 2*94db1f40SSzymon Olewniczak/** 3*94db1f40SSzymon Olewniczak * DokuWiki Plugin bez (Action Component) 4*94db1f40SSzymon Olewniczak * 5*94db1f40SSzymon Olewniczak */ 6*94db1f40SSzymon Olewniczak 7*94db1f40SSzymon Olewniczak// must be run within Dokuwiki 8*94db1f40SSzymon Olewniczak 9*94db1f40SSzymon Olewniczakif (!defined('DOKU_INC')) die(); 10*94db1f40SSzymon Olewniczak 11*94db1f40SSzymon Olewniczak/** 12*94db1f40SSzymon Olewniczak * Class action_plugin_bez_migration 13*94db1f40SSzymon Olewniczak * 14*94db1f40SSzymon Olewniczak * Handle migrations that need more than just SQL 15*94db1f40SSzymon Olewniczak */ 16*94db1f40SSzymon Olewniczakclass action_plugin_notification_migration extends DokuWiki_Action_Plugin 17*94db1f40SSzymon Olewniczak{ 18*94db1f40SSzymon Olewniczak /** 19*94db1f40SSzymon Olewniczak * @inheritDoc 20*94db1f40SSzymon Olewniczak */ 21*94db1f40SSzymon Olewniczak public function register(Doku_Event_Handler $controller) 22*94db1f40SSzymon Olewniczak { 23*94db1f40SSzymon Olewniczak $controller->register_hook('PLUGIN_SQLITE_DATABASE_UPGRADE', 'AFTER', $this, 'handle_migrations'); 24*94db1f40SSzymon Olewniczak } 25*94db1f40SSzymon Olewniczak 26*94db1f40SSzymon Olewniczak /** 27*94db1f40SSzymon Olewniczak * Call our custom migrations when defined 28*94db1f40SSzymon Olewniczak * 29*94db1f40SSzymon Olewniczak * @param Doku_Event $event 30*94db1f40SSzymon Olewniczak * @param $param 31*94db1f40SSzymon Olewniczak */ 32*94db1f40SSzymon Olewniczak public function handle_migrations(Doku_Event $event, $param) 33*94db1f40SSzymon Olewniczak { 34*94db1f40SSzymon Olewniczak if ($event->data['sqlite']->getAdapter()->getDbname() !== 'notification') { 35*94db1f40SSzymon Olewniczak return; 36*94db1f40SSzymon Olewniczak } 37*94db1f40SSzymon Olewniczak $to = $event->data['to']; 38*94db1f40SSzymon Olewniczak 39*94db1f40SSzymon Olewniczak if (is_callable([$this, "migration$to"])) { 40*94db1f40SSzymon Olewniczak $event->result = call_user_func([$this, "migration$to"], $event->data); 41*94db1f40SSzymon Olewniczak } 42*94db1f40SSzymon Olewniczak } 43*94db1f40SSzymon Olewniczak 44*94db1f40SSzymon Olewniczak protected function migration1($data) 45*94db1f40SSzymon Olewniczak { 46*94db1f40SSzymon Olewniczak /** @var DokuWiki_Auth_Plugin $auth */ 47*94db1f40SSzymon Olewniczak global $auth; 48*94db1f40SSzymon Olewniczak /** @var \helper_plugin_notification_db $db_helper */ 49*94db1f40SSzymon Olewniczak $db_helper = plugin_load('helper', 'notification_db'); 50*94db1f40SSzymon Olewniczak $sqlite = $db_helper->getDB(); 51*94db1f40SSzymon Olewniczak 52*94db1f40SSzymon Olewniczak foreach (array_keys($auth->retrieveUsers()) as $user) { 53*94db1f40SSzymon Olewniczak $sqlite->storeEntry('cron_check', 54*94db1f40SSzymon Olewniczak ['user' => $user, 'timestamp' => date('c', 0)]); 55*94db1f40SSzymon Olewniczak } 56*94db1f40SSzymon Olewniczak } 57*94db1f40SSzymon Olewniczak} 58