add contents
This commit is contained in:
50
lib/plugins/ckgedit/action/mediamanager.php
Normal file
50
lib/plugins/ckgedit/action/mediamanager.php
Normal file
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../../').'/');
|
||||
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
|
||||
require_once(DOKU_PLUGIN.'action.php');
|
||||
require_once(DOKU_PLUGIN.'ckgedit/scripts/setsamesite.php');
|
||||
class action_plugin_ckgedit_mediamanager extends DokuWiki_Action_Plugin {
|
||||
function __construct()
|
||||
{
|
||||
$this->setupLocale();
|
||||
}
|
||||
|
||||
|
||||
function register(Doku_Event_Handler $controller)
|
||||
{
|
||||
$controller->register_hook('MEDIAMANAGER_STARTED', 'AFTER', $this, 'mediaman_started');
|
||||
$controller->register_hook('MEDIA_UPLOAD_FINISH', 'BEFORE', $this, 'upload_finish');
|
||||
$controller->register_hook('TPL_METAHEADER_OUTPUT', 'BEFORE', $this, 'handle_metafile');
|
||||
}
|
||||
|
||||
function handle_metafile(Doku_Event $event) {
|
||||
$event->data['script'][] =
|
||||
array(
|
||||
'type'=>'text/javascript',
|
||||
'charset'=>'utf-8',
|
||||
'_data'=>'',
|
||||
'src'=>DOKU_BASE.'lib/plugins/ckgedit/scripts/mediamgr.js'
|
||||
) + ([ 'defer' => 'defer']);
|
||||
}
|
||||
|
||||
function upload_finish(Doku_Event $event) {
|
||||
if(!preg_match("#^image/#",$event->data[3]) && $_COOKIE['ckgFbType'] == 'image') {
|
||||
if(!empty($event->data[3]) && strlen($event->data[3]) >30) {
|
||||
$fname = substr($event->data[3],0,29) . '. . .';
|
||||
}
|
||||
else $fname = $event->data[3];
|
||||
msg($this->getLang('mediamgr_imgonly') . $fname);
|
||||
setcookieSameSite('ckgFbType', 'image',time()-10);
|
||||
$event->preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
function mediaman_started(Doku_Event $event) {
|
||||
if ($_GET["onselect"] == "ckg_edit_mediaman_insert") {
|
||||
setcookieSameSite('ckgFbType', 'image');
|
||||
} else if ($_GET["onselect"] == "ckg_edit_mediaman_insertlink") {
|
||||
setcookieSameSite('ckgFbType', 'link');
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user