add contents
This commit is contained in:
29
lib/plugins/ckgedit/action/delete.php
Normal file
29
lib/plugins/ckgedit/action/delete.php
Normal file
@@ -0,0 +1,29 @@
|
||||
<?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');
|
||||
|
||||
/**
|
||||
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||
* @author Pierre Spring <pierre.spring@liip.ch>
|
||||
*/
|
||||
|
||||
class action_plugin_ckgedit_delete extends DokuWiki_Action_Plugin {
|
||||
|
||||
|
||||
function register(Doku_Event_Handler $controller) {
|
||||
$controller->register_hook('DOKUWIKI_STARTED', 'BEFORE', $this, 'ckgedit_delete_preprocess');
|
||||
}
|
||||
|
||||
function ckgedit_delete_preprocess(Doku_Event $event){
|
||||
global $ACT;
|
||||
if (! is_array($ACT) || !(isset($ACT['delete']))) return;
|
||||
global $TEXT;
|
||||
$TEXT = NULL;
|
||||
unset($ACT['delete']);
|
||||
$ACT['save'] = "Speichern";
|
||||
}
|
||||
|
||||
|
||||
} //end of action class
|
||||
?>
|
1357
lib/plugins/ckgedit/action/edit.php
Normal file
1357
lib/plugins/ckgedit/action/edit.php
Normal file
File diff suppressed because it is too large
Load Diff
1
lib/plugins/ckgedit/action/ent.ser
Normal file
1
lib/plugins/ckgedit/action/ent.ser
Normal file
File diff suppressed because one or more lines are too long
55
lib/plugins/ckgedit/action/entities/ENTITIES.HOWTO
Normal file
55
lib/plugins/ckgedit/action/entities/ENTITIES.HOWTO
Normal file
@@ -0,0 +1,55 @@
|
||||
Adding Entities to the Entities Defintions Array.
|
||||
|
||||
You create an Entity definition file with the format illustrated below, and then run the php
|
||||
script ents_seri.php
|
||||
|
||||
Name your definitions file add.ent
|
||||
|
||||
Then at the command line type:
|
||||
php ents_seri.php
|
||||
|
||||
Alternatively, you can give your entity definition file any name you want and feed
|
||||
the file name to the script at the command line:
|
||||
php ents_seri.php your_entity_file
|
||||
|
||||
This creates a new entities file called ent.ser, which must then be copied to
|
||||
the fckg/action subdirectory. You would be wise to first back up the original ent.ser
|
||||
before over-writing it.
|
||||
|
||||
There are two definition files in the action/entities: ents.data and fcked-ents.data.
|
||||
These are required and must not be removed from the directory.
|
||||
|
||||
The definition file has the following format:
|
||||
|
||||
character
|
||||
entity numeric code
|
||||
entity character code
|
||||
|
||||
character
|
||||
entity numeric code
|
||||
entity character code
|
||||
|
||||
etc.
|
||||
|
||||
There is one empty line between each definition. Here is an actual example.
|
||||
|
||||
<
|
||||
<
|
||||
<
|
||||
|
||||
>
|
||||
>
|
||||
>
|
||||
|
||||
<EFBFBD>
|
||||
¡
|
||||
¡
|
||||
|
||||
<EFBFBD>
|
||||
¢
|
||||
¢
|
||||
|
||||
<EFBFBD>
|
||||
£
|
||||
£
|
||||
|
1
lib/plugins/ckgedit/action/entities/ent.ser
Normal file
1
lib/plugins/ckgedit/action/entities/ent.ser
Normal file
File diff suppressed because one or more lines are too long
948
lib/plugins/ckgedit/action/entities/ents.data
Normal file
948
lib/plugins/ckgedit/action/entities/ents.data
Normal file
@@ -0,0 +1,948 @@
|
||||
∀
|
||||
∀
|
||||
∀
|
||||
|
||||
∂
|
||||
∂
|
||||
∂
|
||||
|
||||
∃
|
||||
∃
|
||||
∃
|
||||
|
||||
∅
|
||||
∅
|
||||
∅
|
||||
|
||||
∇
|
||||
∇
|
||||
∇
|
||||
|
||||
∈
|
||||
∈
|
||||
∈
|
||||
|
||||
∉
|
||||
∉
|
||||
∉
|
||||
|
||||
∋
|
||||
∋
|
||||
∋
|
||||
|
||||
∏
|
||||
∏
|
||||
∏
|
||||
|
||||
∑
|
||||
∑
|
||||
∑
|
||||
|
||||
−
|
||||
−
|
||||
−
|
||||
|
||||
∗
|
||||
∗
|
||||
∗
|
||||
|
||||
√
|
||||
√
|
||||
√
|
||||
|
||||
∝
|
||||
∝
|
||||
∝
|
||||
|
||||
∞
|
||||
∞
|
||||
∞
|
||||
|
||||
∠
|
||||
∠
|
||||
∠
|
||||
|
||||
∧
|
||||
∧
|
||||
∧
|
||||
|
||||
∨
|
||||
∨
|
||||
∨
|
||||
|
||||
∩
|
||||
∩
|
||||
∩
|
||||
|
||||
∪
|
||||
∪
|
||||
∪
|
||||
|
||||
∫
|
||||
∫
|
||||
∫
|
||||
|
||||
∴
|
||||
∴
|
||||
∴
|
||||
|
||||
∼
|
||||
∼
|
||||
∼
|
||||
|
||||
≅
|
||||
≅
|
||||
≅
|
||||
|
||||
≈
|
||||
≈
|
||||
≈
|
||||
|
||||
≠
|
||||
≠
|
||||
≠
|
||||
|
||||
≡
|
||||
≡
|
||||
≡
|
||||
|
||||
≤
|
||||
≤
|
||||
≤
|
||||
|
||||
≥
|
||||
≥
|
||||
≥
|
||||
|
||||
⊂
|
||||
⊂
|
||||
⊂
|
||||
|
||||
⊃
|
||||
⊃
|
||||
⊃
|
||||
|
||||
⊄
|
||||
⊄
|
||||
⊄
|
||||
|
||||
⊆
|
||||
⊆
|
||||
⊆
|
||||
|
||||
⊇
|
||||
⊇
|
||||
⊇
|
||||
|
||||
⊕
|
||||
⊕
|
||||
⊕
|
||||
|
||||
⊗
|
||||
⊗
|
||||
⊗
|
||||
|
||||
⊥
|
||||
⊥
|
||||
⊥
|
||||
|
||||
⋅
|
||||
⋅
|
||||
⋅
|
||||
|
||||
Α
|
||||
Α
|
||||
Α
|
||||
|
||||
Β
|
||||
Β
|
||||
Β
|
||||
|
||||
Γ
|
||||
Γ
|
||||
Γ
|
||||
|
||||
Δ
|
||||
Δ
|
||||
Δ
|
||||
|
||||
Ε
|
||||
Ε
|
||||
Ε
|
||||
|
||||
Ζ
|
||||
Ζ
|
||||
Ζ
|
||||
|
||||
Η
|
||||
Η
|
||||
Η
|
||||
|
||||
Θ
|
||||
Θ
|
||||
Θ
|
||||
|
||||
Ι
|
||||
Ι
|
||||
Ι
|
||||
|
||||
Κ
|
||||
Κ
|
||||
Κ
|
||||
|
||||
Λ
|
||||
Λ
|
||||
Λ
|
||||
|
||||
Μ
|
||||
Μ
|
||||
Μ
|
||||
|
||||
Ν
|
||||
Ν
|
||||
Ν
|
||||
|
||||
Ξ
|
||||
Ξ
|
||||
Ξ
|
||||
|
||||
Ο
|
||||
Ο
|
||||
Ο
|
||||
|
||||
Π
|
||||
Π
|
||||
Π
|
||||
|
||||
Ρ
|
||||
Ρ
|
||||
Ρ
|
||||
|
||||
Σ
|
||||
Σ
|
||||
Σ
|
||||
|
||||
Τ
|
||||
Τ
|
||||
Τ
|
||||
|
||||
Υ
|
||||
Υ
|
||||
Υ
|
||||
|
||||
Φ
|
||||
Φ
|
||||
Φ
|
||||
|
||||
Χ
|
||||
Χ
|
||||
Χ
|
||||
|
||||
Ψ
|
||||
Ψ
|
||||
Ψ
|
||||
|
||||
Ω
|
||||
Ω
|
||||
Ω
|
||||
|
||||
α
|
||||
α
|
||||
α
|
||||
|
||||
β
|
||||
β
|
||||
β
|
||||
|
||||
γ
|
||||
γ
|
||||
γ
|
||||
|
||||
δ
|
||||
δ
|
||||
δ
|
||||
|
||||
ε
|
||||
ε
|
||||
ε
|
||||
|
||||
ζ
|
||||
ζ
|
||||
ζ
|
||||
|
||||
η
|
||||
η
|
||||
η
|
||||
|
||||
θ
|
||||
θ
|
||||
θ
|
||||
|
||||
ι
|
||||
ι
|
||||
ι
|
||||
|
||||
κ
|
||||
κ
|
||||
κ
|
||||
|
||||
λ
|
||||
λ
|
||||
λ
|
||||
|
||||
μ
|
||||
μ
|
||||
μ
|
||||
|
||||
ν
|
||||
ν
|
||||
ν
|
||||
|
||||
ξ
|
||||
ξ
|
||||
ξ
|
||||
|
||||
ο
|
||||
ο
|
||||
ο
|
||||
|
||||
π
|
||||
π
|
||||
π
|
||||
|
||||
ρ
|
||||
ρ
|
||||
ρ
|
||||
|
||||
ς
|
||||
ς
|
||||
ς
|
||||
|
||||
σ
|
||||
σ
|
||||
σ
|
||||
|
||||
τ
|
||||
τ
|
||||
τ
|
||||
|
||||
υ
|
||||
υ
|
||||
υ
|
||||
|
||||
φ
|
||||
φ
|
||||
φ
|
||||
|
||||
χ
|
||||
χ
|
||||
χ
|
||||
|
||||
ψ
|
||||
ψ
|
||||
ψ
|
||||
|
||||
ω
|
||||
ω
|
||||
ω
|
||||
|
||||
ϑ
|
||||
ϑ
|
||||
ϑ
|
||||
|
||||
ϒ
|
||||
ϒ
|
||||
ϒ
|
||||
|
||||
ϖ
|
||||
ϖ
|
||||
ϖ
|
||||
|
||||
Œ
|
||||
Œ
|
||||
Œ
|
||||
|
||||
œ
|
||||
œ
|
||||
œ
|
||||
|
||||
Š
|
||||
Š
|
||||
Š
|
||||
|
||||
š
|
||||
š
|
||||
š
|
||||
|
||||
Ÿ
|
||||
Ÿ
|
||||
Ÿ
|
||||
|
||||
ƒ
|
||||
ƒ
|
||||
ƒ
|
||||
|
||||
ˆ
|
||||
ˆ
|
||||
ˆ
|
||||
|
||||
˜
|
||||
˜
|
||||
˜
|
||||
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
|
||||
 
|
||||
 
|
||||
|
||||
|
||||
‌
|
||||
‌
|
||||
|
||||
|
||||
‍
|
||||
‍
|
||||
|
||||
|
||||
‎
|
||||
‎
|
||||
|
||||
|
||||
‏
|
||||
‏
|
||||
|
||||
–
|
||||
–
|
||||
–
|
||||
|
||||
—
|
||||
—
|
||||
—
|
||||
|
||||
‘
|
||||
‘
|
||||
‘
|
||||
|
||||
’
|
||||
’
|
||||
’
|
||||
|
||||
‚
|
||||
‚
|
||||
‚
|
||||
|
||||
“
|
||||
“
|
||||
“
|
||||
|
||||
”
|
||||
”
|
||||
”
|
||||
|
||||
„
|
||||
„
|
||||
„
|
||||
|
||||
†
|
||||
†
|
||||
†
|
||||
|
||||
‡
|
||||
‡
|
||||
‡
|
||||
|
||||
•
|
||||
•
|
||||
•
|
||||
|
||||
…
|
||||
…
|
||||
…
|
||||
|
||||
‰
|
||||
‰
|
||||
‰
|
||||
|
||||
′
|
||||
′
|
||||
′
|
||||
|
||||
″
|
||||
″
|
||||
″
|
||||
|
||||
‹
|
||||
‹
|
||||
‹
|
||||
|
||||
›
|
||||
›
|
||||
›
|
||||
|
||||
‾
|
||||
‾
|
||||
‾
|
||||
|
||||
€
|
||||
€
|
||||
€
|
||||
|
||||
™
|
||||
™
|
||||
or
|
||||
|
||||
←
|
||||
←
|
||||
←
|
||||
|
||||
↑
|
||||
↑
|
||||
↑
|
||||
|
||||
→
|
||||
→
|
||||
→
|
||||
|
||||
↓
|
||||
↓
|
||||
↓
|
||||
|
||||
↔
|
||||
↔
|
||||
↔
|
||||
|
||||
↵
|
||||
↵
|
||||
↵
|
||||
|
||||
⌈
|
||||
⌈
|
||||
⌈
|
||||
|
||||
⌉
|
||||
⌉
|
||||
⌉
|
||||
|
||||
⌊
|
||||
⌊
|
||||
⌊
|
||||
|
||||
⌋
|
||||
⌋
|
||||
⌋
|
||||
|
||||
◊
|
||||
◊
|
||||
◊
|
||||
|
||||
♠
|
||||
♠
|
||||
♠
|
||||
|
||||
♣
|
||||
♣
|
||||
♣
|
||||
|
||||
♥
|
||||
♥
|
||||
♥
|
||||
|
||||
♦
|
||||
♦
|
||||
♦
|
||||
|
||||
|
||||
 
|
||||
|
||||
|
||||
¡
|
||||
¡
|
||||
¡
|
||||
|
||||
¢
|
||||
¢
|
||||
¢
|
||||
|
||||
£
|
||||
£
|
||||
£
|
||||
|
||||
¤
|
||||
¤
|
||||
¤
|
||||
|
||||
¥
|
||||
¥
|
||||
¥
|
||||
|
||||
¦
|
||||
¦
|
||||
¦
|
||||
|
||||
§
|
||||
§
|
||||
§
|
||||
|
||||
¨
|
||||
¨
|
||||
¨
|
||||
|
||||
©
|
||||
©
|
||||
©
|
||||
|
||||
ª
|
||||
ª
|
||||
ª
|
||||
|
||||
«
|
||||
«
|
||||
«
|
||||
|
||||
¬
|
||||
¬
|
||||
¬
|
||||
|
||||
|
||||
­
|
||||
­
|
||||
|
||||
®
|
||||
®
|
||||
®
|
||||
|
||||
¯
|
||||
¯
|
||||
¯
|
||||
|
||||
°
|
||||
°
|
||||
°
|
||||
|
||||
±
|
||||
±
|
||||
±
|
||||
|
||||
²
|
||||
²
|
||||
²
|
||||
|
||||
³
|
||||
³
|
||||
³
|
||||
|
||||
´
|
||||
´
|
||||
´
|
||||
|
||||
µ
|
||||
µ
|
||||
µ
|
||||
|
||||
¶
|
||||
¶
|
||||
¶
|
||||
|
||||
·
|
||||
·
|
||||
·
|
||||
|
||||
¸
|
||||
¸
|
||||
¸
|
||||
|
||||
¹
|
||||
¹
|
||||
¹
|
||||
|
||||
º
|
||||
º
|
||||
º
|
||||
|
||||
»
|
||||
»
|
||||
»
|
||||
|
||||
¼
|
||||
¼
|
||||
¼
|
||||
|
||||
½
|
||||
½
|
||||
½
|
||||
|
||||
¾
|
||||
¾
|
||||
¾
|
||||
|
||||
¿
|
||||
¿
|
||||
¿
|
||||
|
||||
×
|
||||
×
|
||||
×
|
||||
|
||||
÷
|
||||
÷
|
||||
÷
|
||||
|
||||
À
|
||||
À
|
||||
À
|
||||
|
||||
Á
|
||||
Á
|
||||
Á
|
||||
|
||||
Â
|
||||
Â
|
||||
Â
|
||||
|
||||
Ã
|
||||
Ã
|
||||
Ã
|
||||
|
||||
Ä
|
||||
Ä
|
||||
Ä
|
||||
|
||||
Å
|
||||
Å
|
||||
Å
|
||||
|
||||
Æ
|
||||
Æ
|
||||
Æ
|
||||
|
||||
Ç
|
||||
Ç
|
||||
Ç
|
||||
|
||||
È
|
||||
È
|
||||
È
|
||||
|
||||
É
|
||||
É
|
||||
É
|
||||
|
||||
Ê
|
||||
Ê
|
||||
Ê
|
||||
|
||||
Ë
|
||||
Ë
|
||||
Ë
|
||||
|
||||
Ì
|
||||
Ì
|
||||
Ì
|
||||
|
||||
Í
|
||||
Í
|
||||
Í
|
||||
|
||||
Î
|
||||
Î
|
||||
Î
|
||||
|
||||
Ï
|
||||
Ï
|
||||
Ï
|
||||
|
||||
Ð
|
||||
Ð
|
||||
Ð
|
||||
|
||||
Ñ
|
||||
Ñ
|
||||
Ñ
|
||||
|
||||
Ò
|
||||
Ò
|
||||
Ò
|
||||
|
||||
Ó
|
||||
Ó
|
||||
Ó
|
||||
|
||||
Ô
|
||||
Ô
|
||||
Ô
|
||||
|
||||
Õ
|
||||
Õ
|
||||
Õ
|
||||
|
||||
Ö
|
||||
Ö
|
||||
Ö
|
||||
|
||||
Ø
|
||||
Ø
|
||||
Ø
|
||||
|
||||
Ù
|
||||
Ù
|
||||
Ù
|
||||
|
||||
Ú
|
||||
Ú
|
||||
Ú
|
||||
|
||||
Û
|
||||
Û
|
||||
Û
|
||||
|
||||
Ü
|
||||
Ü
|
||||
Ü
|
||||
|
||||
Ý
|
||||
Ý
|
||||
Ý
|
||||
|
||||
Þ
|
||||
Þ
|
||||
Þ
|
||||
|
||||
ß
|
||||
ß
|
||||
ß
|
||||
|
||||
à
|
||||
à
|
||||
à
|
||||
|
||||
á
|
||||
á
|
||||
á
|
||||
|
||||
â
|
||||
â
|
||||
â
|
||||
|
||||
ã
|
||||
ã
|
||||
ã
|
||||
|
||||
ä
|
||||
ä
|
||||
ä
|
||||
|
||||
å
|
||||
å
|
||||
å
|
||||
|
||||
æ
|
||||
æ
|
||||
æ
|
||||
|
||||
ç
|
||||
ç
|
||||
ç
|
||||
|
||||
è
|
||||
è
|
||||
è
|
||||
|
||||
é
|
||||
é
|
||||
é
|
||||
|
||||
ê
|
||||
ê
|
||||
ê
|
||||
|
||||
ë
|
||||
ë
|
||||
ë
|
||||
|
||||
ì
|
||||
ì
|
||||
ì
|
||||
|
||||
í
|
||||
í
|
||||
í
|
||||
|
||||
î
|
||||
î
|
||||
î
|
||||
|
||||
ï
|
||||
ï
|
||||
ï
|
||||
|
||||
ð
|
||||
ð
|
||||
ð
|
||||
|
||||
ñ
|
||||
ñ
|
||||
ñ
|
||||
|
||||
ò
|
||||
ò
|
||||
ò
|
||||
|
||||
ó
|
||||
ó
|
||||
ó
|
||||
|
||||
ô
|
||||
ô
|
||||
ô
|
||||
|
||||
õ
|
||||
õ
|
||||
õ
|
||||
|
||||
ö
|
||||
ö
|
||||
ö
|
||||
|
||||
ø
|
||||
ø
|
||||
ø
|
||||
|
||||
ù
|
||||
ù
|
||||
ù
|
||||
|
||||
ú
|
||||
ú
|
||||
ú
|
||||
|
||||
û
|
||||
û
|
||||
û
|
||||
|
||||
ü
|
||||
ü
|
||||
ü
|
||||
|
||||
ý
|
||||
ý
|
||||
ý
|
||||
|
||||
þ
|
||||
þ
|
||||
þ
|
||||
|
||||
ÿ
|
||||
ÿ
|
||||
ÿ
|
||||
|
||||
™
|
||||
™
|
||||
™
|
||||
|
61
lib/plugins/ckgedit/action/entities/ents_seri.php
Normal file
61
lib/plugins/ckgedit/action/entities/ents_seri.php
Normal file
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
define('FCK_ACTION_SUBDIR', realpath(dirname(__FILE__)) . '/');
|
||||
|
||||
$entities = array();
|
||||
serialize_ents('ents.data');
|
||||
serialize_ents('fcked-ents.data');
|
||||
serialize_ents('ents.merge.data');
|
||||
$file = "";
|
||||
|
||||
if(isset($argv[1])) {
|
||||
$f = $argv[1];
|
||||
if ($f && file_exists($f)) $file = $f;
|
||||
}
|
||||
elseif(file_exists('add.ent')) {
|
||||
$file = 'add.ent';
|
||||
|
||||
}
|
||||
|
||||
|
||||
if($file && file_exists($file)) {
|
||||
echo "adding entities from $file\n";
|
||||
serialize_ents($file);
|
||||
}
|
||||
|
||||
$serialized = FCK_ACTION_SUBDIR . 'ent.ser';
|
||||
file_put_contents($serialized,serialize($entities));
|
||||
//$ents = unserialize(file_get_contents($serialized));
|
||||
//print_r($ents);
|
||||
exit;
|
||||
|
||||
function serialize_ents($file) {
|
||||
global $entities;
|
||||
|
||||
$entities_file = FCK_ACTION_SUBDIR . $file;
|
||||
if(!file_exists($entities_file)) return;
|
||||
$lines = file_get_contents($entities_file);
|
||||
$lines_array=preg_split('/^\n/ms',$lines);
|
||||
|
||||
foreach ($lines_array as $line) {
|
||||
if(isset($line) && strlen($line)) {
|
||||
list($icon, $numeric,$character) = @preg_split('/\s+/',$line);
|
||||
if(!$icon || !$numeric || !$character) continue;
|
||||
$numeric = trim($numeric,'&#;');
|
||||
$character=trim($character,'&;');
|
||||
$entities[$numeric] = $icon;
|
||||
$entities[$character] = $icon;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
$entities[32] = ' ';
|
||||
$entities['nbsp'] = ' ';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
842
lib/plugins/ckgedit/action/entities/fcked-ents.data
Normal file
842
lib/plugins/ckgedit/action/entities/fcked-ents.data
Normal file
@@ -0,0 +1,842 @@
|
||||
¡
|
||||
iexcl
|
||||
161
|
||||
|
||||
¢
|
||||
cent
|
||||
162
|
||||
|
||||
£
|
||||
pound
|
||||
163
|
||||
|
||||
¤
|
||||
curren
|
||||
164
|
||||
|
||||
¥
|
||||
yen
|
||||
165
|
||||
|
||||
¦
|
||||
brvbar
|
||||
166
|
||||
|
||||
§
|
||||
sect
|
||||
167
|
||||
|
||||
¨
|
||||
uml
|
||||
168
|
||||
|
||||
©
|
||||
copy
|
||||
169
|
||||
|
||||
ª
|
||||
ordf
|
||||
170
|
||||
|
||||
«
|
||||
laquo
|
||||
171
|
||||
|
||||
¬
|
||||
not
|
||||
172
|
||||
|
||||
|
||||
shy
|
||||
173
|
||||
|
||||
®
|
||||
reg
|
||||
174
|
||||
|
||||
¯
|
||||
macr
|
||||
175
|
||||
|
||||
°
|
||||
deg
|
||||
176
|
||||
|
||||
±
|
||||
plusmn
|
||||
177
|
||||
|
||||
²
|
||||
sup2
|
||||
178
|
||||
|
||||
³
|
||||
sup3
|
||||
179
|
||||
|
||||
´
|
||||
acute
|
||||
180
|
||||
|
||||
µ
|
||||
micro
|
||||
181
|
||||
|
||||
¶
|
||||
para
|
||||
182
|
||||
|
||||
·
|
||||
middot
|
||||
183
|
||||
|
||||
¸
|
||||
cedil
|
||||
184
|
||||
|
||||
¹
|
||||
sup1
|
||||
185
|
||||
|
||||
º
|
||||
ordm
|
||||
186
|
||||
|
||||
»
|
||||
raquo
|
||||
187
|
||||
|
||||
¼
|
||||
frac14
|
||||
188
|
||||
|
||||
½
|
||||
frac12
|
||||
189
|
||||
|
||||
¾
|
||||
frac34
|
||||
190
|
||||
|
||||
¿
|
||||
iquest
|
||||
191
|
||||
|
||||
à
|
||||
agrave
|
||||
192
|
||||
|
||||
á
|
||||
aacute
|
||||
193
|
||||
|
||||
â
|
||||
acirc
|
||||
194
|
||||
|
||||
ã
|
||||
atilde
|
||||
195
|
||||
|
||||
Ä
|
||||
Auml
|
||||
196
|
||||
|
||||
å
|
||||
aring
|
||||
197
|
||||
|
||||
æ
|
||||
aelig
|
||||
198
|
||||
|
||||
ç
|
||||
ccedil
|
||||
199
|
||||
|
||||
è
|
||||
egrave
|
||||
200
|
||||
|
||||
é
|
||||
eacute
|
||||
201
|
||||
|
||||
ê
|
||||
ecirc
|
||||
202
|
||||
|
||||
Ë
|
||||
203
|
||||
Euml;
|
||||
|
||||
ì
|
||||
igrave
|
||||
204
|
||||
|
||||
í
|
||||
iacute
|
||||
205
|
||||
|
||||
î
|
||||
icirc
|
||||
206
|
||||
|
||||
ï
|
||||
iuml
|
||||
207
|
||||
|
||||
ð
|
||||
eth
|
||||
208
|
||||
|
||||
ñ
|
||||
ntilde
|
||||
209
|
||||
|
||||
ò
|
||||
ograve
|
||||
210
|
||||
|
||||
ó
|
||||
oacute
|
||||
211
|
||||
|
||||
ô
|
||||
ocirc
|
||||
212
|
||||
|
||||
õ
|
||||
otilde
|
||||
213
|
||||
|
||||
Ö
|
||||
Ouml
|
||||
214
|
||||
|
||||
×
|
||||
times
|
||||
215
|
||||
|
||||
ø
|
||||
oslash
|
||||
216
|
||||
|
||||
ù
|
||||
ugrave
|
||||
217
|
||||
|
||||
ú
|
||||
uacute
|
||||
218
|
||||
|
||||
û
|
||||
ucirc
|
||||
219
|
||||
|
||||
Ü
|
||||
Uuml
|
||||
220
|
||||
|
||||
ý
|
||||
yacute
|
||||
221
|
||||
|
||||
þ
|
||||
thorn
|
||||
222
|
||||
|
||||
ß
|
||||
szlig
|
||||
223
|
||||
|
||||
à
|
||||
agrave
|
||||
224
|
||||
|
||||
á
|
||||
aacute
|
||||
225
|
||||
|
||||
â
|
||||
acirc
|
||||
226
|
||||
|
||||
ã
|
||||
atilde
|
||||
227
|
||||
|
||||
ä
|
||||
auml
|
||||
228
|
||||
|
||||
å
|
||||
aring
|
||||
229
|
||||
|
||||
æ
|
||||
aelig
|
||||
230
|
||||
|
||||
ç
|
||||
ccedil
|
||||
231
|
||||
|
||||
è
|
||||
egrave
|
||||
232
|
||||
|
||||
é
|
||||
eacute
|
||||
233
|
||||
|
||||
ê
|
||||
ecirc
|
||||
234
|
||||
|
||||
ë
|
||||
euml
|
||||
235
|
||||
|
||||
ì
|
||||
igrave
|
||||
236
|
||||
|
||||
í
|
||||
iacute
|
||||
237
|
||||
|
||||
î
|
||||
icirc
|
||||
238
|
||||
|
||||
ï
|
||||
iuml
|
||||
239
|
||||
|
||||
ð
|
||||
eth
|
||||
240
|
||||
|
||||
ñ
|
||||
ntilde
|
||||
241
|
||||
|
||||
ò
|
||||
ograve
|
||||
242
|
||||
|
||||
ó
|
||||
oacute
|
||||
243
|
||||
|
||||
ô
|
||||
ocirc
|
||||
244
|
||||
|
||||
õ
|
||||
otilde
|
||||
245
|
||||
|
||||
ö
|
||||
ouml
|
||||
246
|
||||
|
||||
÷
|
||||
divide
|
||||
247
|
||||
|
||||
ø
|
||||
oslash
|
||||
248
|
||||
|
||||
ù
|
||||
ugrave
|
||||
249
|
||||
|
||||
ú
|
||||
uacute
|
||||
250
|
||||
|
||||
û
|
||||
ucirc
|
||||
251
|
||||
|
||||
ü
|
||||
uuml
|
||||
252
|
||||
|
||||
ý
|
||||
yacute
|
||||
253
|
||||
|
||||
þ
|
||||
thorn
|
||||
254
|
||||
|
||||
ÿ
|
||||
yuml
|
||||
255
|
||||
|
||||
"
|
||||
quot
|
||||
34
|
||||
|
||||
&
|
||||
amp
|
||||
38
|
||||
|
||||
<
|
||||
lt
|
||||
60
|
||||
|
||||
>
|
||||
gt
|
||||
62
|
||||
|
||||
œ
|
||||
oelig
|
||||
338
|
||||
|
||||
œ
|
||||
oelig
|
||||
339
|
||||
|
||||
š
|
||||
scaron
|
||||
352
|
||||
|
||||
š
|
||||
scaron
|
||||
353
|
||||
|
||||
ÿ
|
||||
yuml
|
||||
376
|
||||
|
||||
ˆ
|
||||
circ
|
||||
710
|
||||
|
||||
˜
|
||||
tilde
|
||||
732
|
||||
|
||||
|
||||
ensp
|
||||
8194
|
||||
|
||||
|
||||
emsp
|
||||
8195
|
||||
|
||||
|
||||
thinsp
|
||||
8201
|
||||
|
||||
–
|
||||
ndash
|
||||
8211
|
||||
|
||||
—
|
||||
mdash
|
||||
8212
|
||||
|
||||
‘
|
||||
lsquo
|
||||
8216
|
||||
|
||||
’
|
||||
rsquo
|
||||
8217
|
||||
|
||||
‚
|
||||
sbquo
|
||||
8218
|
||||
|
||||
“
|
||||
ldquo
|
||||
8220
|
||||
|
||||
”
|
||||
rdquo
|
||||
8221
|
||||
|
||||
„
|
||||
bdquo
|
||||
8222
|
||||
|
||||
†
|
||||
dagger
|
||||
8224
|
||||
|
||||
†
|
||||
dagger
|
||||
8225
|
||||
|
||||
‰
|
||||
permil
|
||||
8240
|
||||
|
||||
‹
|
||||
lsaquo
|
||||
8249
|
||||
|
||||
›
|
||||
rsaquo
|
||||
8250
|
||||
|
||||
€
|
||||
euro
|
||||
8364
|
||||
|
||||
ƒ
|
||||
fnof
|
||||
402
|
||||
|
||||
α
|
||||
alpha
|
||||
913
|
||||
|
||||
β
|
||||
beta
|
||||
914
|
||||
|
||||
γ
|
||||
gamma
|
||||
915
|
||||
|
||||
δ
|
||||
delta
|
||||
916
|
||||
|
||||
ε
|
||||
epsilon
|
||||
917
|
||||
|
||||
ζ
|
||||
zeta
|
||||
918
|
||||
|
||||
η
|
||||
eta
|
||||
919
|
||||
|
||||
θ
|
||||
theta
|
||||
920
|
||||
|
||||
ι
|
||||
iota
|
||||
921
|
||||
|
||||
κ
|
||||
kappa
|
||||
922
|
||||
|
||||
λ
|
||||
lambda
|
||||
923
|
||||
|
||||
μ
|
||||
mu
|
||||
924
|
||||
|
||||
ν
|
||||
nu
|
||||
925
|
||||
|
||||
ξ
|
||||
xi
|
||||
926
|
||||
|
||||
ο
|
||||
omicron
|
||||
927
|
||||
|
||||
π
|
||||
pi
|
||||
928
|
||||
|
||||
ρ
|
||||
rho
|
||||
929
|
||||
|
||||
σ
|
||||
sigma
|
||||
931
|
||||
|
||||
τ
|
||||
tau
|
||||
932
|
||||
|
||||
υ
|
||||
upsilon
|
||||
933
|
||||
|
||||
φ
|
||||
phi
|
||||
934
|
||||
|
||||
χ
|
||||
chi
|
||||
935
|
||||
|
||||
ψ
|
||||
psi
|
||||
936
|
||||
|
||||
ω
|
||||
omega
|
||||
937
|
||||
|
||||
α
|
||||
alpha
|
||||
945
|
||||
|
||||
β
|
||||
beta
|
||||
946
|
||||
|
||||
γ
|
||||
gamma
|
||||
947
|
||||
|
||||
δ
|
||||
delta
|
||||
948
|
||||
|
||||
ε
|
||||
epsilon
|
||||
949
|
||||
|
||||
ζ
|
||||
zeta
|
||||
950
|
||||
|
||||
η
|
||||
eta
|
||||
951
|
||||
|
||||
θ
|
||||
theta
|
||||
952
|
||||
|
||||
ι
|
||||
iota
|
||||
953
|
||||
|
||||
κ
|
||||
kappa
|
||||
954
|
||||
|
||||
λ
|
||||
lambda
|
||||
955
|
||||
|
||||
μ
|
||||
mu
|
||||
956
|
||||
|
||||
ν
|
||||
nu
|
||||
957
|
||||
|
||||
ξ
|
||||
xi
|
||||
958
|
||||
|
||||
ο
|
||||
omicron
|
||||
959
|
||||
|
||||
π
|
||||
pi
|
||||
960
|
||||
|
||||
ρ
|
||||
rho
|
||||
961
|
||||
|
||||
ς
|
||||
sigmaf
|
||||
962
|
||||
|
||||
σ
|
||||
sigma
|
||||
963
|
||||
|
||||
τ
|
||||
tau
|
||||
964
|
||||
|
||||
υ
|
||||
upsilon
|
||||
965
|
||||
|
||||
φ
|
||||
phi
|
||||
966
|
||||
|
||||
χ
|
||||
chi
|
||||
967
|
||||
|
||||
ψ
|
||||
psi
|
||||
968
|
||||
|
||||
ω
|
||||
omega
|
||||
969
|
||||
|
||||
•
|
||||
bull
|
||||
8226
|
||||
|
||||
…
|
||||
hellip
|
||||
8230
|
||||
|
||||
′
|
||||
prime
|
||||
8242
|
||||
|
||||
′
|
||||
prime
|
||||
8243
|
||||
|
||||
‾
|
||||
oline
|
||||
8254
|
||||
|
||||
⁄
|
||||
frasl
|
||||
8260
|
||||
|
||||
←
|
||||
larr
|
||||
8592
|
||||
|
||||
↑
|
||||
uarr
|
||||
8593
|
||||
|
||||
→
|
||||
rarr
|
||||
8594
|
||||
|
||||
↓
|
||||
darr
|
||||
8595
|
||||
|
||||
↔
|
||||
harr
|
||||
8596
|
||||
|
||||
←
|
||||
larr
|
||||
8656
|
||||
|
||||
↑
|
||||
uarr
|
||||
8657
|
||||
|
||||
→
|
||||
rarr
|
||||
8658
|
||||
|
||||
↓
|
||||
darr
|
||||
8659
|
||||
|
||||
↔
|
||||
harr
|
||||
8660
|
||||
|
||||
∂
|
||||
part
|
||||
8706
|
||||
|
||||
∏
|
||||
prod
|
||||
8719
|
||||
|
||||
∑
|
||||
sum
|
||||
8721
|
||||
|
||||
−
|
||||
minus
|
||||
8722
|
||||
|
||||
√
|
||||
radic
|
||||
8730
|
||||
|
||||
∞
|
||||
infin
|
||||
8734
|
||||
|
||||
∩
|
||||
cap
|
||||
8745
|
||||
|
||||
∫
|
||||
int
|
||||
8747
|
||||
|
||||
≈
|
||||
asymp
|
||||
8776
|
||||
|
||||
≠
|
||||
ne
|
||||
8800
|
||||
|
||||
≡
|
||||
equiv
|
||||
8801
|
||||
|
||||
≤
|
||||
le
|
||||
8804
|
||||
|
||||
≥
|
||||
ge
|
||||
8805
|
||||
|
||||
◊
|
||||
loz
|
||||
9674
|
||||
|
||||
♠
|
||||
spades
|
||||
9824
|
||||
|
||||
♣
|
||||
clubs
|
||||
9827
|
||||
|
||||
♥
|
||||
hearts
|
||||
9829
|
||||
|
||||
♦
|
||||
diams
|
||||
9830
|
||||
|
||||
⇔
|
||||
8660
|
||||
hArr
|
||||
|
||||
⇒
|
||||
8658
|
||||
rArr
|
||||
|
||||
⇐
|
||||
8656
|
||||
lArr
|
||||
|
||||
|
||||
|
27
lib/plugins/ckgedit/action/entities/utils/entities.conf
Normal file
27
lib/plugins/ckgedit/action/entities/utils/entities.conf
Normal file
@@ -0,0 +1,27 @@
|
||||
# Typography replacements
|
||||
#
|
||||
# Order does matter!
|
||||
#
|
||||
# You can use HTML entities here, but it is not recommended because it may break
|
||||
# non-HTML renderers. Use UTF-8 chars directly instead.
|
||||
# This adds four entities that are needed by the ckgeditor. Before substituting this file for
|
||||
# Dokuwiki's make sure all of the entities in Dokuwiki's entities.conf are listed here.
|
||||
<-> ↔
|
||||
<- ←
|
||||
<=> ⇔
|
||||
<= ⇐
|
||||
<-> ↔
|
||||
-> →
|
||||
<- ←
|
||||
<=> ⇔
|
||||
=> ⇒
|
||||
<= ⇐
|
||||
>> »
|
||||
<< «
|
||||
--- —
|
||||
-- –
|
||||
(c) ©
|
||||
(tm) ™
|
||||
(r) ®
|
||||
... …
|
||||
|
52
lib/plugins/ckgedit/action/entities/utils/entities.html
Normal file
52
lib/plugins/ckgedit/action/entities/utils/entities.html
Normal file
@@ -0,0 +1,52 @@
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<script type="text/javascript">
|
||||
var arr1 = new Array(' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','à','á','â','ã','Ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','Ö','×','ø','ù','ú','û','Ü','ý','þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ','"','&','<','>','œ','œ','š','š','ÿ','ˆ','˜',' ',' ',' ','‌','‍','‎','‏','–','—','‘','’','‚','“','”','„','†','†','‰','‹','›','€','ƒ','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','σ','τ','υ','φ','χ','ψ','ω','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','ς','σ','τ','υ','φ','χ','ψ','ω','ϑ','ϒ','ϖ','•','…','′','′','‾','⁄','℘','ℑ','ℜ','™','ℵ','←','↑','→','↓','↔','↵','←','↑','→','↓','↔','∀','∂','∃','∅','∇','∈','∉','∋','∏','∑','−','∗','√','∝','∞','∠','∧','∨','∩','∪','∫','∴','∼','≅','≈','≠','≡','≤','≥','⊂','⊃','⊄','⊆','⊇','⊕','⊗','⊥','⋅','⌈','⌉','⌊','⌋','⟨','⟩','◊','♠','♣','♥','♦');
|
||||
var arr2 = new Array(' ','¡','¢','£','¤','¥','¦','§','¨','©','ª','«','¬','­','®','¯','°','±','²','³','´','µ','¶','·','¸','¹','º','»','¼','½','¾','¿','À','Á','Â','Ã','Ä','Å','Æ','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ð','Ñ','Ò','Ó','Ô','Õ','Ö','×','Ø','Ù','Ú','Û','Ü','Ý','Þ','ß','à','á','â','ã','ä','å','æ','ç','è','é','ê','ë','ì','í','î','ï','ð','ñ','ò','ó','ô','õ','ö','÷','ø','ù','ú','û','ü','ý','þ','ÿ','"','&','<','>','Œ','œ','Š','š','Ÿ','ˆ','˜',' ',' ',' ','‌','‍','‎','‏','–','—','‘','’','‚','“','”','„','†','‡','‰','‹','›','€','ƒ','Α','Β','Γ','Δ','Ε','Ζ','Η','Θ','Ι','Κ','Λ','Μ','Ν','Ξ','Ο','Π','Ρ','Σ','Τ','Υ','Φ','Χ','Ψ','Ω','α','β','γ','δ','ε','ζ','η','θ','ι','κ','λ','μ','ν','ξ','ο','π','ρ','ς','σ','τ','υ','φ','χ','ψ','ω','ϑ','ϒ','ϖ','•','…','′','″','‾','⁄','℘','ℑ','ℜ','™','ℵ','←','↑','→','↓','↔','↵','⇐','⇑','⇒','⇓','⇔','∀','∂','∃','∅','∇','∈','∉','∋','∏','∑','−','∗','√','∝','∞','∠','∧','∨','∩','∪','∫','∴','∼','≅','≈','≠','≡','≤','≥','⊂','⊃','⊄','⊆','⊇','⊕','⊗','⊥','⋅','⌈','⌉','⌊','⌋','〈','〉','◊','♠','♣','♥','♦');
|
||||
|
||||
var arr_c = new Array('nbsp','iexcl','cent','pound','curren','yen','brvbar','sect','uml','copy','ordf','laquo','not','shy','reg','macr','deg','plusmn','sup2','sup3','acute','micro','para','middot','cedil','sup1','ordm','raquo','frac14','frac12','frac34','iquest','agrave','aacute','acirc','atilde','Auml','aring','aelig','ccedil','egrave','eacute','ecirc','euml','igrave','iacute','icirc','iuml','eth','ntilde','ograve','oacute','ocirc','otilde','Ouml','times','oslash','ugrave','uacute','ucirc','Uuml','yacute','thorn','szlig','agrave','aacute','acirc','atilde','auml','aring','aelig','ccedil','egrave','eacute','ecirc','euml','igrave','iacute','icirc','iuml','eth','ntilde','ograve','oacute','ocirc','otilde','ouml','divide','oslash','ugrave','uacute','ucirc','uuml','yacute','thorn','yuml','quot','amp','lt','gt','oelig','oelig','scaron','scaron','yuml','circ','tilde','ensp','emsp','thinsp','zwnj','zwj','lrm','rlm','ndash','mdash','lsquo','rsquo','sbquo','ldquo','rdquo','bdquo','dagger','dagger','permil','lsaquo','rsaquo','euro','fnof','alpha','beta','gamma','delta','epsilon','zeta','eta','theta','iota','kappa','lambda','mu','nu','xi','omicron','pi','rho','sigma','tau','upsilon','phi','chi','psi','omega','alpha','beta','gamma','delta','epsilon','zeta','eta','theta','iota','kappa','lambda','mu','nu','xi','omicron','pi','rho','sigmaf','sigma','tau','upsilon','phi','chi','psi','omega','thetasym','upsih','piv','bull','hellip','prime','prime','oline','frasl','weierp','image','real','trade','alefsym','larr','uarr','rarr','darr','harr','crarr','larr','uarr','rarr','darr','harr','forall','part','exist','empty','nabla','isin','notin','ni','prod','sum','minus','lowast','radic','prop','infin','ang','and','or','cap','cup','int','there4','sim','cong','asymp','ne','equiv','le','ge','sub','sup','nsub','sube','supe','oplus','otimes','perp','sdot','lceil','rceil','lfloor','rfloor','lang','rang','loz','spades','clubs','hearts','diams')
|
||||
var arr_n = new Array('160','161','162','163','164','165','166','167','168','169','170','171','172','173','174','175','176','177','178','179','180','181','182','183','184','185','186','187','188','189','190','191','192','193','194','195','196','197','198','199','200','201','202','203','204','205','206','207','208','209','210','211','212','213','214','215','216','217','218','219','220','221','222','223','224','225','226','227','228','229','230','231','232','233','234','235','236','237','238','239','240','241','242','243','244','245','246','247','248','249','250','251','252','253','254','255','34','38','60','62','338','339','352','353','376','710','732','8194','8195','8201','8204','8205','8206','8207','8211','8212','8216','8217','8218','8220','8221','8222','8224','8225','8240','8249','8250','8364','402','913','914','915','916','917','918','919','920','921','922','923','924','925','926','927','928','929','931','932','933','934','935','936','937','945','946','947','948','949','950','951','952','953','954','955','956','957','958','959','960','961','962','963','964','965','966','967','968','969','977','978','982','8226','8230','8242','8243','8254','8260','8472','8465','8476','8482','8501','8592','8593','8594','8595','8596','8629','8656','8657','8658','8659','8660','8704','8706','8707','8709','8711','8712','8713','8715','8719','8721','8722','8727','8730','8733','8734','8736','8743','8744','8745','8746','8747','8756','8764','8773','8776','8800','8801','8804','8805','8834','8835','8836','8838','8839','8853','8855','8869','8901','8968','8969','8970','8971','9001','9002','9674','9824','9827','9829','9830')
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<Table border=0>
|
||||
<script type="text/javascript">
|
||||
var cols = 1 ;
|
||||
|
||||
var i = 0 ;
|
||||
while (i < arr1.length)
|
||||
{
|
||||
document.write("<TR>") ;
|
||||
for(var j = 0 ; j < cols ; j++)
|
||||
{
|
||||
if (arr1[i])
|
||||
{
|
||||
document.write('<TD width="1%"align="center" style="font-size: 11pt; font-weight:bold;">') ;
|
||||
document.write(arr1[i]) ;
|
||||
document.write("<\/TD>") ;
|
||||
|
||||
document.write('<TD width="1%" align="center" style="font-size: 10pt; ">') ;
|
||||
document.write(arr_c[i]) ;
|
||||
document.write("<\/TD>") ;
|
||||
|
||||
document.write('<TD width="1%" align="center" style="font-size: 10pt;">') ;
|
||||
document.write(arr_n[i]) ;
|
||||
document.write("<\/TD>") ;
|
||||
document.write("<TD> <\/TD>");
|
||||
}
|
||||
else
|
||||
document.write("<TD> <\/TD><TD> <\/TD><TD> <\/TD><TD style='font-size: 10pt; border-right:blue;'> <\/TD>") ;
|
||||
|
||||
i++ ;
|
||||
}
|
||||
document.write("<\/TR>") ;
|
||||
}
|
||||
</script>
|
||||
</table>
|
||||
</body>
|
||||
<html>
|
||||
|
||||
|
711
lib/plugins/ckgedit/action/entities/utils/entities.pl
Normal file
711
lib/plugins/ckgedit/action/entities/utils/entities.pl
Normal file
@@ -0,0 +1,711 @@
|
||||
use strict;
|
||||
|
||||
my $count = 0;
|
||||
my $skip = 0;
|
||||
|
||||
while(<DATA>) {
|
||||
next if /^\s+/;
|
||||
|
||||
if ($skip) {
|
||||
$skip=0;
|
||||
next;
|
||||
}
|
||||
|
||||
$count++ if /^&#/;
|
||||
$count++ if /^&\w/;
|
||||
# print "$count: ";
|
||||
print;
|
||||
if($count == 2) {
|
||||
$count = 0;
|
||||
print "\n";
|
||||
$skip = 1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
# print $count, "\n";
|
||||
|
||||
__DATA__
|
||||
"
|
||||
"
|
||||
"
|
||||
quotation mark
|
||||
|
||||
'
|
||||
'
|
||||
'
|
||||
apostrophe
|
||||
|
||||
&
|
||||
&
|
||||
&
|
||||
ampersand
|
||||
|
||||
<
|
||||
<
|
||||
<
|
||||
less-than
|
||||
|
||||
>
|
||||
>
|
||||
>
|
||||
greater-than
|
||||
|
||||
¡
|
||||
¡
|
||||
¡
|
||||
inverted exclamation mark
|
||||
|
||||
¢
|
||||
¢
|
||||
¢
|
||||
cent
|
||||
|
||||
£
|
||||
£
|
||||
£
|
||||
pound
|
||||
|
||||
¤
|
||||
¤
|
||||
¤
|
||||
currency
|
||||
|
||||
¥
|
||||
¥
|
||||
¥
|
||||
yen
|
||||
|
||||
¦
|
||||
¦
|
||||
¦
|
||||
broken vertical bar
|
||||
|
||||
§
|
||||
§
|
||||
§
|
||||
section
|
||||
|
||||
¨
|
||||
¨
|
||||
¨
|
||||
spacing diaeresis
|
||||
|
||||
©
|
||||
©
|
||||
©
|
||||
copyright
|
||||
|
||||
ª
|
||||
ª
|
||||
ª
|
||||
feminine ordinal indicator
|
||||
|
||||
«
|
||||
«
|
||||
«
|
||||
angle quotation mark (left)
|
||||
|
||||
¬
|
||||
¬
|
||||
¬
|
||||
negation
|
||||
|
||||
­
|
||||
­
|
||||
soft hyphen
|
||||
|
||||
®
|
||||
®
|
||||
®
|
||||
registered trademark
|
||||
|
||||
¯
|
||||
¯
|
||||
¯
|
||||
spacing macron
|
||||
|
||||
°
|
||||
°
|
||||
°
|
||||
degree
|
||||
|
||||
±
|
||||
±
|
||||
±
|
||||
plus-or-minus
|
||||
|
||||
²
|
||||
²
|
||||
²
|
||||
superscript 2
|
||||
|
||||
³
|
||||
³
|
||||
³
|
||||
superscript 3
|
||||
|
||||
´
|
||||
´
|
||||
´
|
||||
spacing acute
|
||||
|
||||
µ
|
||||
µ
|
||||
µ
|
||||
micro
|
||||
|
||||
¶
|
||||
¶
|
||||
¶
|
||||
paragraph
|
||||
|
||||
·
|
||||
·
|
||||
·
|
||||
middle dot
|
||||
|
||||
¸
|
||||
¸
|
||||
¸
|
||||
spacing cedilla
|
||||
|
||||
¹
|
||||
¹
|
||||
¹
|
||||
superscript 1
|
||||
|
||||
º
|
||||
º
|
||||
º
|
||||
masculine ordinal indicator
|
||||
|
||||
»
|
||||
»
|
||||
»
|
||||
angle quotation mark (right)
|
||||
|
||||
¼
|
||||
¼
|
||||
¼
|
||||
fraction 1/4
|
||||
|
||||
½
|
||||
½
|
||||
½
|
||||
fraction 1/2
|
||||
|
||||
¾
|
||||
¾
|
||||
¾
|
||||
fraction 3/4
|
||||
|
||||
¿
|
||||
¿
|
||||
¿
|
||||
inverted question mark
|
||||
|
||||
×
|
||||
×
|
||||
×
|
||||
multiplication
|
||||
|
||||
÷
|
||||
÷
|
||||
÷
|
||||
division
|
||||
|
||||
∀
|
||||
∀
|
||||
for all
|
||||
|
||||
∂
|
||||
∂
|
||||
∂
|
||||
part
|
||||
|
||||
∏
|
||||
∏
|
||||
∏
|
||||
prod
|
||||
|
||||
∑
|
||||
∑
|
||||
∑
|
||||
sum
|
||||
|
||||
−
|
||||
−
|
||||
−
|
||||
minus
|
||||
|
||||
∞
|
||||
∞
|
||||
∞
|
||||
infinity
|
||||
|
||||
∩
|
||||
∩
|
||||
∩
|
||||
cap
|
||||
|
||||
∫
|
||||
∫
|
||||
∫
|
||||
integral
|
||||
|
||||
≈
|
||||
≈
|
||||
≈
|
||||
almost equal
|
||||
|
||||
≠
|
||||
≠
|
||||
≠
|
||||
not equal
|
||||
≡
|
||||
≡
|
||||
≡
|
||||
equivalent
|
||||
≤
|
||||
≤
|
||||
≤
|
||||
less or equal
|
||||
≥
|
||||
≥
|
||||
≥
|
||||
greater or equal
|
||||
|
||||
|
||||
Α
|
||||
Α
|
||||
Α
|
||||
Alpha
|
||||
|
||||
Β
|
||||
Β
|
||||
Β
|
||||
Beta
|
||||
|
||||
Γ
|
||||
Γ
|
||||
Γ
|
||||
Gamma
|
||||
|
||||
Δ
|
||||
Δ
|
||||
Δ
|
||||
Delta
|
||||
|
||||
Ε
|
||||
Ε
|
||||
Ε
|
||||
Epsilon
|
||||
|
||||
Ζ
|
||||
Ζ
|
||||
Ζ
|
||||
Zeta
|
||||
|
||||
Η
|
||||
Η
|
||||
Η
|
||||
Eta
|
||||
|
||||
Θ
|
||||
Θ
|
||||
Θ
|
||||
Theta
|
||||
|
||||
Ι
|
||||
Ι
|
||||
Ι
|
||||
Iota
|
||||
|
||||
Κ
|
||||
Κ
|
||||
Κ
|
||||
Kappa
|
||||
|
||||
Λ
|
||||
Λ
|
||||
Λ
|
||||
Lambda
|
||||
|
||||
Μ
|
||||
Μ
|
||||
Μ
|
||||
Mu
|
||||
|
||||
Ν
|
||||
Ν
|
||||
Ν
|
||||
Nu
|
||||
|
||||
Ξ
|
||||
Ξ
|
||||
Ξ
|
||||
Xi
|
||||
|
||||
Ο
|
||||
Ο
|
||||
Ο
|
||||
Omicron
|
||||
|
||||
Π
|
||||
Π
|
||||
Π
|
||||
Pi
|
||||
|
||||
Ρ
|
||||
Ρ
|
||||
Ρ
|
||||
Rho
|
||||
|
||||
Σ
|
||||
Σ
|
||||
Σ
|
||||
Sigma
|
||||
|
||||
Τ
|
||||
Τ
|
||||
Τ
|
||||
Tau
|
||||
|
||||
Υ
|
||||
Υ
|
||||
Υ
|
||||
Upsilon
|
||||
|
||||
Φ
|
||||
Φ
|
||||
Φ
|
||||
Phi
|
||||
|
||||
Χ
|
||||
Χ
|
||||
Χ
|
||||
Chi
|
||||
|
||||
Ψ
|
||||
Ψ
|
||||
Ψ
|
||||
Psi
|
||||
|
||||
Ω
|
||||
Ω
|
||||
Ω
|
||||
Omega
|
||||
|
||||
α
|
||||
α
|
||||
α
|
||||
alpha
|
||||
|
||||
β
|
||||
β
|
||||
β
|
||||
beta
|
||||
|
||||
γ
|
||||
γ
|
||||
γ
|
||||
gamma
|
||||
|
||||
δ
|
||||
δ
|
||||
δ
|
||||
delta
|
||||
|
||||
ε
|
||||
ε
|
||||
ε
|
||||
epsilon
|
||||
|
||||
ζ
|
||||
ζ
|
||||
ζ
|
||||
zeta
|
||||
|
||||
η
|
||||
η
|
||||
η
|
||||
eta
|
||||
|
||||
θ
|
||||
θ
|
||||
θ
|
||||
theta
|
||||
|
||||
ι
|
||||
ι
|
||||
ι
|
||||
iota
|
||||
|
||||
κ
|
||||
κ
|
||||
κ
|
||||
kappa
|
||||
|
||||
λ
|
||||
λ
|
||||
λ
|
||||
lambda
|
||||
|
||||
μ
|
||||
μ
|
||||
μ
|
||||
mu
|
||||
ν
|
||||
ν
|
||||
ν
|
||||
nu
|
||||
ξ
|
||||
ξ
|
||||
ξ
|
||||
xi
|
||||
ο
|
||||
ο
|
||||
ο
|
||||
omicron
|
||||
π
|
||||
π
|
||||
π
|
||||
pi
|
||||
ρ
|
||||
ρ
|
||||
ρ
|
||||
rho
|
||||
ς
|
||||
ς
|
||||
ς
|
||||
sigmaf
|
||||
σ
|
||||
σ
|
||||
σ
|
||||
sigma
|
||||
τ
|
||||
τ
|
||||
τ
|
||||
tau
|
||||
υ
|
||||
υ
|
||||
υ
|
||||
upsilon
|
||||
φ
|
||||
φ
|
||||
φ
|
||||
phi
|
||||
χ
|
||||
χ
|
||||
χ
|
||||
chi
|
||||
ψ
|
||||
ψ
|
||||
ψ
|
||||
psi
|
||||
ω
|
||||
ω
|
||||
ω
|
||||
omega
|
||||
|
||||
Œ
|
||||
Œ
|
||||
Œ
|
||||
capital ligature OE
|
||||
œ
|
||||
œ
|
||||
œ
|
||||
small ligature oe
|
||||
Š
|
||||
Š
|
||||
Š
|
||||
capital S with caron
|
||||
š
|
||||
š
|
||||
š
|
||||
small S with caron
|
||||
Ÿ
|
||||
Ÿ
|
||||
Ÿ
|
||||
capital Y with diaeres
|
||||
ƒ
|
||||
ƒ
|
||||
ƒ
|
||||
f with hook
|
||||
ˆ
|
||||
ˆ
|
||||
ˆ
|
||||
modifier letter circumflex accent
|
||||
˜
|
||||
˜
|
||||
˜
|
||||
small tilde
|
||||
|
||||
‌
|
||||
‌
|
||||
zero width non-joiner
|
||||
|
||||
‍
|
||||
‍
|
||||
zero width joiner
|
||||
|
||||
‎
|
||||
‎
|
||||
left-to-right mark
|
||||
|
||||
‏
|
||||
‏
|
||||
right-to-left mark
|
||||
|
||||
–
|
||||
–
|
||||
–
|
||||
en dash
|
||||
|
||||
—
|
||||
—
|
||||
—
|
||||
em dash
|
||||
|
||||
‘
|
||||
‘
|
||||
‘
|
||||
left single quotation mark
|
||||
|
||||
’
|
||||
’
|
||||
’
|
||||
right single quotation mark
|
||||
|
||||
‚
|
||||
‚
|
||||
‚
|
||||
single low-9 quotation mark
|
||||
|
||||
“
|
||||
“
|
||||
“
|
||||
left double quotation mark
|
||||
|
||||
”
|
||||
”
|
||||
”
|
||||
right double quotation mark
|
||||
|
||||
„
|
||||
„
|
||||
„
|
||||
double low-9 quotation mark
|
||||
|
||||
†
|
||||
†
|
||||
†
|
||||
dagger
|
||||
|
||||
‡
|
||||
‡
|
||||
‡
|
||||
double dagger
|
||||
|
||||
•
|
||||
•
|
||||
•
|
||||
bullet
|
||||
|
||||
…
|
||||
…
|
||||
…
|
||||
horizontal ellipsis
|
||||
|
||||
‰
|
||||
‰
|
||||
‰
|
||||
per mille
|
||||
|
||||
′
|
||||
′
|
||||
′
|
||||
minutes
|
||||
|
||||
″
|
||||
″
|
||||
″
|
||||
seconds
|
||||
|
||||
‹
|
||||
‹
|
||||
‹
|
||||
single left angle quotation
|
||||
|
||||
›
|
||||
›
|
||||
›
|
||||
single right angle quotation
|
||||
|
||||
‾
|
||||
‾
|
||||
‾
|
||||
overline
|
||||
|
||||
€
|
||||
€
|
||||
€
|
||||
euro
|
||||
|
||||
™
|
||||
™
|
||||
™
|
||||
trademark
|
||||
|
||||
←
|
||||
←
|
||||
←
|
||||
left arrow
|
||||
|
||||
↑
|
||||
↑
|
||||
↑
|
||||
up arrow
|
||||
|
||||
→
|
||||
→
|
||||
→
|
||||
right arrow
|
||||
|
||||
↓
|
||||
↓
|
||||
↓
|
||||
down arrow
|
||||
|
||||
↔
|
||||
↔
|
||||
↔
|
||||
left right arrow
|
||||
|
||||
◊
|
||||
◊
|
||||
◊
|
||||
lozenge
|
||||
|
||||
♠
|
||||
♠
|
||||
♠
|
||||
spade
|
||||
|
||||
♣
|
||||
♣
|
||||
♣
|
||||
club
|
||||
|
||||
♥
|
||||
♥
|
||||
♥
|
||||
heart
|
||||
|
||||
♦
|
||||
♦
|
||||
♦
|
||||
diamond
|
||||
|
||||
|
718
lib/plugins/ckgedit/action/entities/utils/entities.txt
Normal file
718
lib/plugins/ckgedit/action/entities/utils/entities.txt
Normal file
@@ -0,0 +1,718 @@
|
||||
"
|
||||
"
|
||||
"
|
||||
quotation mark
|
||||
|
||||
'
|
||||
'
|
||||
' (does not work in IE)
|
||||
apostrophe
|
||||
|
||||
&
|
||||
&
|
||||
&
|
||||
ampersand
|
||||
|
||||
<
|
||||
<
|
||||
<
|
||||
less-than
|
||||
|
||||
>
|
||||
>
|
||||
>
|
||||
greater-than
|
||||
Note: Entity names are case sensitive!
|
||||
|
||||
¡
|
||||
¡
|
||||
¡
|
||||
inverted exclamation mark
|
||||
|
||||
¢
|
||||
¢
|
||||
¢
|
||||
cent
|
||||
|
||||
£
|
||||
£
|
||||
£
|
||||
pound
|
||||
|
||||
¤
|
||||
¤
|
||||
¤
|
||||
currency
|
||||
|
||||
¥
|
||||
¥
|
||||
¥
|
||||
yen
|
||||
|
||||
¦
|
||||
¦
|
||||
¦
|
||||
broken vertical bar
|
||||
|
||||
§
|
||||
§
|
||||
§
|
||||
section
|
||||
|
||||
¨
|
||||
¨
|
||||
¨
|
||||
spacing diaeresis
|
||||
|
||||
©
|
||||
©
|
||||
©
|
||||
copyright
|
||||
|
||||
ª
|
||||
ª
|
||||
ª
|
||||
feminine ordinal indicator
|
||||
|
||||
«
|
||||
«
|
||||
«
|
||||
angle quotation mark (left)
|
||||
|
||||
¬
|
||||
¬
|
||||
¬
|
||||
negation
|
||||
|
||||
­
|
||||
­
|
||||
soft hyphen
|
||||
|
||||
®
|
||||
®
|
||||
®
|
||||
registered trademark
|
||||
|
||||
¯
|
||||
¯
|
||||
¯
|
||||
spacing macron
|
||||
|
||||
°
|
||||
°
|
||||
°
|
||||
degree
|
||||
|
||||
±
|
||||
±
|
||||
±
|
||||
plus-or-minus
|
||||
|
||||
²
|
||||
²
|
||||
²
|
||||
superscript 2
|
||||
|
||||
³
|
||||
³
|
||||
³
|
||||
superscript 3
|
||||
|
||||
´
|
||||
´
|
||||
´
|
||||
spacing acute
|
||||
|
||||
µ
|
||||
µ
|
||||
µ
|
||||
micro
|
||||
|
||||
¶
|
||||
¶
|
||||
¶
|
||||
paragraph
|
||||
|
||||
·
|
||||
·
|
||||
·
|
||||
middle dot
|
||||
|
||||
¸
|
||||
¸
|
||||
¸
|
||||
spacing cedilla
|
||||
|
||||
¹
|
||||
¹
|
||||
¹
|
||||
superscript 1
|
||||
|
||||
º
|
||||
º
|
||||
º
|
||||
masculine ordinal indicator
|
||||
|
||||
»
|
||||
»
|
||||
»
|
||||
angle quotation mark (right)
|
||||
|
||||
¼
|
||||
¼
|
||||
¼
|
||||
fraction 1/4
|
||||
|
||||
½
|
||||
½
|
||||
½
|
||||
fraction 1/2
|
||||
|
||||
¾
|
||||
¾
|
||||
¾
|
||||
fraction 3/4
|
||||
|
||||
¿
|
||||
¿
|
||||
¿
|
||||
inverted question mark
|
||||
|
||||
×
|
||||
×
|
||||
×
|
||||
multiplication
|
||||
|
||||
÷
|
||||
÷
|
||||
÷
|
||||
division
|
||||
|
||||
∀
|
||||
∀
|
||||
for all
|
||||
|
||||
∂
|
||||
∂
|
||||
∂
|
||||
part
|
||||
|
||||
∏
|
||||
∏
|
||||
∏
|
||||
prod
|
||||
|
||||
∑
|
||||
∑
|
||||
∑
|
||||
sum
|
||||
|
||||
−
|
||||
−
|
||||
−
|
||||
minus
|
||||
|
||||
∞
|
||||
∞
|
||||
∞
|
||||
infinity
|
||||
|
||||
∩
|
||||
∩
|
||||
∩
|
||||
cap
|
||||
|
||||
∫
|
||||
∫
|
||||
∫
|
||||
integral
|
||||
|
||||
≈
|
||||
≈
|
||||
≈
|
||||
almost equal
|
||||
≠
|
||||
≠
|
||||
≠
|
||||
not equal
|
||||
≡
|
||||
≡
|
||||
≡
|
||||
equivalent
|
||||
≤
|
||||
≤
|
||||
≤
|
||||
less or equal
|
||||
≥
|
||||
≥
|
||||
≥
|
||||
greater or equal
|
||||
|
||||
|
||||
Α
|
||||
Α
|
||||
Α
|
||||
Alpha
|
||||
|
||||
Β
|
||||
Β
|
||||
Β
|
||||
Beta
|
||||
|
||||
Γ
|
||||
Γ
|
||||
Γ
|
||||
Gamma
|
||||
|
||||
Δ
|
||||
Δ
|
||||
Δ
|
||||
Delta
|
||||
|
||||
Ε
|
||||
Ε
|
||||
Ε
|
||||
Epsilon
|
||||
|
||||
Ζ
|
||||
Ζ
|
||||
Ζ
|
||||
Zeta
|
||||
|
||||
Η
|
||||
Η
|
||||
Η
|
||||
Eta
|
||||
|
||||
Θ
|
||||
Θ
|
||||
Θ
|
||||
Theta
|
||||
|
||||
Ι
|
||||
Ι
|
||||
Ι
|
||||
Iota
|
||||
|
||||
Κ
|
||||
Κ
|
||||
Κ
|
||||
Kappa
|
||||
|
||||
Λ
|
||||
Λ
|
||||
Λ
|
||||
Lambda
|
||||
|
||||
Μ
|
||||
Μ
|
||||
Μ
|
||||
Mu
|
||||
|
||||
Ν
|
||||
Ν
|
||||
Ν
|
||||
Nu
|
||||
|
||||
Ξ
|
||||
Ξ
|
||||
Ξ
|
||||
Xi
|
||||
|
||||
Ο
|
||||
Ο
|
||||
Ο
|
||||
Omicron
|
||||
|
||||
Π
|
||||
Π
|
||||
Π
|
||||
Pi
|
||||
|
||||
Ρ
|
||||
Ρ
|
||||
Ρ
|
||||
Rho
|
||||
|
||||
Σ
|
||||
Σ
|
||||
Σ
|
||||
Sigma
|
||||
|
||||
Τ
|
||||
Τ
|
||||
Τ
|
||||
Tau
|
||||
|
||||
Υ
|
||||
Υ
|
||||
Υ
|
||||
Upsilon
|
||||
|
||||
Φ
|
||||
Φ
|
||||
Φ
|
||||
Phi
|
||||
|
||||
Χ
|
||||
Χ
|
||||
Χ
|
||||
Chi
|
||||
|
||||
Ψ
|
||||
Ψ
|
||||
Ψ
|
||||
Psi
|
||||
|
||||
Ω
|
||||
Ω
|
||||
Ω
|
||||
Omega
|
||||
|
||||
α
|
||||
α
|
||||
α
|
||||
alpha
|
||||
|
||||
β
|
||||
β
|
||||
β
|
||||
beta
|
||||
|
||||
γ
|
||||
γ
|
||||
γ
|
||||
gamma
|
||||
|
||||
δ
|
||||
δ
|
||||
δ
|
||||
delta
|
||||
|
||||
ε
|
||||
ε
|
||||
ε
|
||||
epsilon
|
||||
|
||||
ζ
|
||||
ζ
|
||||
ζ
|
||||
zeta
|
||||
|
||||
η
|
||||
η
|
||||
η
|
||||
eta
|
||||
|
||||
θ
|
||||
θ
|
||||
θ
|
||||
theta
|
||||
|
||||
ι
|
||||
ι
|
||||
ι
|
||||
iota
|
||||
|
||||
κ
|
||||
κ
|
||||
κ
|
||||
kappa
|
||||
|
||||
λ
|
||||
λ
|
||||
λ
|
||||
lambda
|
||||
|
||||
μ
|
||||
μ
|
||||
μ
|
||||
mu
|
||||
ν
|
||||
ν
|
||||
ν
|
||||
nu
|
||||
ξ
|
||||
ξ
|
||||
ξ
|
||||
xi
|
||||
ο
|
||||
ο
|
||||
ο
|
||||
omicron
|
||||
π
|
||||
π
|
||||
π
|
||||
pi
|
||||
ρ
|
||||
ρ
|
||||
ρ
|
||||
rho
|
||||
ς
|
||||
ς
|
||||
ς
|
||||
sigmaf
|
||||
σ
|
||||
σ
|
||||
σ
|
||||
sigma
|
||||
τ
|
||||
τ
|
||||
τ
|
||||
tau
|
||||
υ
|
||||
υ
|
||||
υ
|
||||
upsilon
|
||||
φ
|
||||
φ
|
||||
φ
|
||||
phi
|
||||
χ
|
||||
χ
|
||||
χ
|
||||
chi
|
||||
ψ
|
||||
ψ
|
||||
ψ
|
||||
psi
|
||||
ω
|
||||
ω
|
||||
ω
|
||||
omega
|
||||
|
||||
|
||||
|
||||
|
||||
ϑ
|
||||
ϑ
|
||||
ϑ
|
||||
theta symbol
|
||||
ϒ
|
||||
ϒ
|
||||
ϒ
|
||||
upsilon symbol
|
||||
ϖ
|
||||
ϖ
|
||||
ϖ
|
||||
pi symbol
|
||||
Other Entities Supported by HTML
|
||||
Character
|
||||
Entity Number
|
||||
Entity Name
|
||||
Description
|
||||
Œ
|
||||
Œ
|
||||
Œ
|
||||
capital ligature OE
|
||||
œ
|
||||
œ
|
||||
œ
|
||||
small ligature oe
|
||||
Š
|
||||
Š
|
||||
Š
|
||||
capital S with caron
|
||||
š
|
||||
š
|
||||
š
|
||||
small S with caron
|
||||
Ÿ
|
||||
Ÿ
|
||||
Ÿ
|
||||
capital Y with diaeres
|
||||
ƒ
|
||||
ƒ
|
||||
ƒ
|
||||
f with hook
|
||||
ˆ
|
||||
ˆ
|
||||
ˆ
|
||||
modifier letter circumflex accent
|
||||
˜
|
||||
˜
|
||||
˜
|
||||
small tilde
|
||||
|
||||
‌
|
||||
‌
|
||||
zero width non-joiner
|
||||
|
||||
‍
|
||||
‍
|
||||
zero width joiner
|
||||
|
||||
‎
|
||||
‎
|
||||
left-to-right mark
|
||||
|
||||
‏
|
||||
‏
|
||||
right-to-left mark
|
||||
|
||||
–
|
||||
–
|
||||
–
|
||||
en dash
|
||||
|
||||
—
|
||||
—
|
||||
—
|
||||
em dash
|
||||
|
||||
‘
|
||||
‘
|
||||
‘
|
||||
left single quotation mark
|
||||
|
||||
’
|
||||
’
|
||||
’
|
||||
right single quotation mark
|
||||
|
||||
‚
|
||||
‚
|
||||
‚
|
||||
single low-9 quotation mark
|
||||
|
||||
“
|
||||
“
|
||||
“
|
||||
left double quotation mark
|
||||
|
||||
”
|
||||
”
|
||||
”
|
||||
right double quotation mark
|
||||
|
||||
„
|
||||
„
|
||||
„
|
||||
double low-9 quotation mark
|
||||
|
||||
†
|
||||
†
|
||||
†
|
||||
dagger
|
||||
|
||||
‡
|
||||
‡
|
||||
‡
|
||||
double dagger
|
||||
|
||||
•
|
||||
•
|
||||
•
|
||||
bullet
|
||||
|
||||
…
|
||||
…
|
||||
…
|
||||
horizontal ellipsis
|
||||
|
||||
‰
|
||||
‰
|
||||
‰
|
||||
per mille
|
||||
|
||||
′
|
||||
′
|
||||
′
|
||||
minutes
|
||||
|
||||
″
|
||||
″
|
||||
″
|
||||
seconds
|
||||
|
||||
‹
|
||||
‹
|
||||
‹
|
||||
single left angle quotation
|
||||
|
||||
›
|
||||
›
|
||||
›
|
||||
single right angle quotation
|
||||
|
||||
‾
|
||||
‾
|
||||
‾
|
||||
overline
|
||||
|
||||
€
|
||||
€
|
||||
€
|
||||
euro
|
||||
|
||||
™
|
||||
™
|
||||
™
|
||||
trademark
|
||||
|
||||
←
|
||||
←
|
||||
←
|
||||
left arrow
|
||||
|
||||
↑
|
||||
↑
|
||||
↑
|
||||
up arrow
|
||||
|
||||
→
|
||||
→
|
||||
→
|
||||
right arrow
|
||||
|
||||
↓
|
||||
↓
|
||||
↓
|
||||
down arrow
|
||||
|
||||
↔
|
||||
↔
|
||||
↔
|
||||
left right arrow
|
||||
|
||||
◊
|
||||
◊
|
||||
◊
|
||||
lozenge
|
||||
|
||||
♠
|
||||
♠
|
||||
♠
|
||||
spade
|
||||
|
||||
♣
|
||||
♣
|
||||
♣
|
||||
club
|
||||
|
||||
♥
|
||||
♥
|
||||
♥
|
||||
heart
|
||||
|
||||
♦
|
||||
♦
|
||||
♦
|
||||
diamond
|
||||
|
||||
⇔
|
||||
⇔
|
||||
⇔
|
||||
|
||||
⇒
|
||||
⇒
|
||||
⇒
|
||||
|
||||
⇐
|
||||
⇐
|
||||
⇐
|
||||
|
||||
←
|
||||
&8592;
|
||||
←
|
||||
|
231
lib/plugins/ckgedit/action/entities/utils/fcked-ents.pl
Normal file
231
lib/plugins/ckgedit/action/entities/utils/fcked-ents.pl
Normal file
@@ -0,0 +1,231 @@
|
||||
use strict;
|
||||
|
||||
|
||||
|
||||
while(<DATA>) {
|
||||
chomp;
|
||||
my($icon, $num, $character) = split;
|
||||
next if !$icon || !$num || ! $character;
|
||||
# $icon = trim($icon);
|
||||
# $num = trim($num);
|
||||
# $character=trim($character);
|
||||
print "$icon\n$num\n$character\n\n";
|
||||
}
|
||||
|
||||
sub trim {
|
||||
my $str = shift;
|
||||
$str =~ s/^\s+//;
|
||||
$str =~ s/\s+$//;
|
||||
return $str;
|
||||
}
|
||||
|
||||
__DATA__
|
||||
nbsp 160
|
||||
¡ iexcl 161
|
||||
¢ cent 162
|
||||
£ pound 163
|
||||
¤ curren 164
|
||||
¥ yen 165
|
||||
¦ brvbar 166
|
||||
§ sect 167
|
||||
¨ uml 168
|
||||
© copy 169
|
||||
ª ordf 170
|
||||
« laquo 171
|
||||
¬ not 172
|
||||
shy 173
|
||||
® reg 174
|
||||
¯ macr 175
|
||||
° deg 176
|
||||
± plusmn 177
|
||||
² sup2 178
|
||||
³ sup3 179
|
||||
´ acute 180
|
||||
µ micro 181
|
||||
¶ para 182
|
||||
· middot 183
|
||||
¸ cedil 184
|
||||
¹ sup1 185
|
||||
º ordm 186
|
||||
» raquo 187
|
||||
¼ frac14 188
|
||||
½ frac12 189
|
||||
¾ frac34 190
|
||||
¿ iquest 191
|
||||
à agrave 192
|
||||
á aacute 193
|
||||
â acirc 194
|
||||
ã atilde 195
|
||||
Ä Auml 196
|
||||
å aring 197
|
||||
æ aelig 198
|
||||
ç ccedil 199
|
||||
è egrave 200
|
||||
é eacute 201
|
||||
ê ecirc 202
|
||||
ë euml 203
|
||||
ì igrave 204
|
||||
í iacute 205
|
||||
î icirc 206
|
||||
ï iuml 207
|
||||
ð eth 208
|
||||
ñ ntilde 209
|
||||
ò ograve 210
|
||||
ó oacute 211
|
||||
ô ocirc 212
|
||||
õ otilde 213
|
||||
Ö Ouml 214
|
||||
× times 215
|
||||
ø oslash 216
|
||||
ù ugrave 217
|
||||
ú uacute 218
|
||||
û ucirc 219
|
||||
Ü Uuml 220
|
||||
ý yacute 221
|
||||
þ thorn 222
|
||||
ß szlig 223
|
||||
à agrave 224
|
||||
á aacute 225
|
||||
â acirc 226
|
||||
ã atilde 227
|
||||
ä auml 228
|
||||
å aring 229
|
||||
æ aelig 230
|
||||
ç ccedil 231
|
||||
è egrave 232
|
||||
é eacute 233
|
||||
ê ecirc 234
|
||||
ë euml 235
|
||||
ì igrave 236
|
||||
í iacute 237
|
||||
î icirc 238
|
||||
ï iuml 239
|
||||
ð eth 240
|
||||
ñ ntilde 241
|
||||
ò ograve 242
|
||||
ó oacute 243
|
||||
ô ocirc 244
|
||||
õ otilde 245
|
||||
ö ouml 246
|
||||
÷ divide 247
|
||||
ø oslash 248
|
||||
ù ugrave 249
|
||||
ú uacute 250
|
||||
û ucirc 251
|
||||
ü uuml 252
|
||||
ý yacute 253
|
||||
þ thorn 254
|
||||
ÿ yuml 255
|
||||
" quot 34
|
||||
& amp 38
|
||||
< lt 60
|
||||
> gt 62
|
||||
œ oelig 338
|
||||
œ oelig 339
|
||||
š scaron 352
|
||||
š scaron 353
|
||||
ÿ yuml 376
|
||||
ˆ circ 710
|
||||
˜ tilde 732
|
||||
ensp 8194
|
||||
emsp 8195
|
||||
thinsp 8201
|
||||
– ndash 8211
|
||||
— mdash 8212
|
||||
‘ lsquo 8216
|
||||
’ rsquo 8217
|
||||
‚ sbquo 8218
|
||||
“ ldquo 8220
|
||||
” rdquo 8221
|
||||
„ bdquo 8222
|
||||
† dagger 8224
|
||||
† dagger 8225
|
||||
‰ permil 8240
|
||||
‹ lsaquo 8249
|
||||
› rsaquo 8250
|
||||
€ euro 8364
|
||||
ƒ fnof 402
|
||||
α alpha 913
|
||||
β beta 914
|
||||
γ gamma 915
|
||||
δ delta 916
|
||||
ε epsilon 917
|
||||
ζ zeta 918
|
||||
η eta 919
|
||||
θ theta 920
|
||||
ι iota 921
|
||||
κ kappa 922
|
||||
λ lambda 923
|
||||
μ mu 924
|
||||
ν nu 925
|
||||
ξ xi 926
|
||||
ο omicron 927
|
||||
π pi 928
|
||||
ρ rho 929
|
||||
σ sigma 931
|
||||
τ tau 932
|
||||
υ upsilon 933
|
||||
φ phi 934
|
||||
χ chi 935
|
||||
ψ psi 936
|
||||
ω omega 937
|
||||
α alpha 945
|
||||
β beta 946
|
||||
γ gamma 947
|
||||
δ delta 948
|
||||
ε epsilon 949
|
||||
ζ zeta 950
|
||||
η eta 951
|
||||
θ theta 952
|
||||
ι iota 953
|
||||
κ kappa 954
|
||||
λ lambda 955
|
||||
μ mu 956
|
||||
ν nu 957
|
||||
ξ xi 958
|
||||
ο omicron 959
|
||||
π pi 960
|
||||
ρ rho 961
|
||||
ς sigmaf 962
|
||||
σ sigma 963
|
||||
τ tau 964
|
||||
υ upsilon 965
|
||||
φ phi 966
|
||||
χ chi 967
|
||||
ψ psi 968
|
||||
ω omega 969
|
||||
• bull 8226
|
||||
… hellip 8230
|
||||
′ prime 8242
|
||||
′ prime 8243
|
||||
‾ oline 8254
|
||||
⁄ frasl 8260
|
||||
← larr 8592
|
||||
↑ uarr 8593
|
||||
→ rarr 8594
|
||||
↓ darr 8595
|
||||
↔ harr 8596
|
||||
← larr 8656
|
||||
↑ uarr 8657
|
||||
→ rarr 8658
|
||||
↓ darr 8659
|
||||
↔ harr 8660
|
||||
∂ part 8706
|
||||
∏ prod 8719
|
||||
∑ sum 8721
|
||||
− minus 8722
|
||||
√ radic 8730
|
||||
∞ infin 8734
|
||||
∩ cap 8745
|
||||
∫ int 8747
|
||||
≈ asymp 8776
|
||||
≠ ne 8800
|
||||
≡ equiv 8801
|
||||
≤ le 8804
|
||||
≥ ge 8805
|
||||
◊ loz 9674
|
||||
♠ spades 9824
|
||||
♣ clubs 9827
|
||||
♥ hearts 9829
|
||||
♦ diams 9830
|
||||
|
209
lib/plugins/ckgedit/action/entities/utils/fcked-ents.txt
Normal file
209
lib/plugins/ckgedit/action/entities/utils/fcked-ents.txt
Normal file
@@ -0,0 +1,209 @@
|
||||
nbsp 160
|
||||
¡ iexcl 161
|
||||
¢ cent 162
|
||||
£ pound 163
|
||||
¤ curren 164
|
||||
¥ yen 165
|
||||
¦ brvbar 166
|
||||
§ sect 167
|
||||
¨ uml 168
|
||||
© copy 169
|
||||
ª ordf 170
|
||||
« laquo 171
|
||||
¬ not 172
|
||||
shy 173
|
||||
® reg 174
|
||||
¯ macr 175
|
||||
° deg 176
|
||||
± plusmn 177
|
||||
² sup2 178
|
||||
³ sup3 179
|
||||
´ acute 180
|
||||
µ micro 181
|
||||
¶ para 182
|
||||
· middot 183
|
||||
¸ cedil 184
|
||||
¹ sup1 185
|
||||
º ordm 186
|
||||
» raquo 187
|
||||
¼ frac14 188
|
||||
½ frac12 189
|
||||
¾ frac34 190
|
||||
¿ iquest 191
|
||||
à agrave 192
|
||||
á aacute 193
|
||||
â acirc 194
|
||||
ã atilde 195
|
||||
Ä Auml 196
|
||||
å aring 197
|
||||
æ aelig 198
|
||||
ç ccedil 199
|
||||
è egrave 200
|
||||
é eacute 201
|
||||
ê ecirc 202
|
||||
ë euml 203
|
||||
ì igrave 204
|
||||
í iacute 205
|
||||
î icirc 206
|
||||
ï iuml 207
|
||||
ð eth 208
|
||||
ñ ntilde 209
|
||||
ò ograve 210
|
||||
ó oacute 211
|
||||
ô ocirc 212
|
||||
õ otilde 213
|
||||
Ö Ouml 214
|
||||
× times 215
|
||||
ø oslash 216
|
||||
ù ugrave 217
|
||||
ú uacute 218
|
||||
û ucirc 219
|
||||
Ü Uuml 220
|
||||
ý yacute 221
|
||||
þ thorn 222
|
||||
ß szlig 223
|
||||
à agrave 224
|
||||
á aacute 225
|
||||
â acirc 226
|
||||
ã atilde 227
|
||||
ä auml 228
|
||||
å aring 229
|
||||
æ aelig 230
|
||||
ç ccedil 231
|
||||
è egrave 232
|
||||
é eacute 233
|
||||
ê ecirc 234
|
||||
ë euml 235
|
||||
ì igrave 236
|
||||
í iacute 237
|
||||
î icirc 238
|
||||
ï iuml 239
|
||||
ð eth 240
|
||||
ñ ntilde 241
|
||||
ò ograve 242
|
||||
ó oacute 243
|
||||
ô ocirc 244
|
||||
õ otilde 245
|
||||
ö ouml 246
|
||||
÷ divide 247
|
||||
ø oslash 248
|
||||
ù ugrave 249
|
||||
ú uacute 250
|
||||
û ucirc 251
|
||||
ü uuml 252
|
||||
ý yacute 253
|
||||
þ thorn 254
|
||||
ÿ yuml 255
|
||||
" quot 34
|
||||
& amp 38
|
||||
< lt 60
|
||||
> gt 62
|
||||
œ oelig 338
|
||||
œ oelig 339
|
||||
š scaron 352
|
||||
š scaron 353
|
||||
ÿ yuml 376
|
||||
ˆ circ 710
|
||||
˜ tilde 732
|
||||
ensp 8194
|
||||
emsp 8195
|
||||
thinsp 8201
|
||||
– ndash 8211
|
||||
— mdash 8212
|
||||
‘ lsquo 8216
|
||||
’ rsquo 8217
|
||||
‚ sbquo 8218
|
||||
“ ldquo 8220
|
||||
” rdquo 8221
|
||||
„ bdquo 8222
|
||||
† dagger 8224
|
||||
† dagger 8225
|
||||
‰ permil 8240
|
||||
‹ lsaquo 8249
|
||||
› rsaquo 8250
|
||||
€ euro 8364
|
||||
ƒ fnof 402
|
||||
α alpha 913
|
||||
β beta 914
|
||||
γ gamma 915
|
||||
δ delta 916
|
||||
ε epsilon 917
|
||||
ζ zeta 918
|
||||
η eta 919
|
||||
θ theta 920
|
||||
ι iota 921
|
||||
κ kappa 922
|
||||
λ lambda 923
|
||||
μ mu 924
|
||||
ν nu 925
|
||||
ξ xi 926
|
||||
ο omicron 927
|
||||
π pi 928
|
||||
ρ rho 929
|
||||
σ sigma 931
|
||||
τ tau 932
|
||||
υ upsilon 933
|
||||
φ phi 934
|
||||
χ chi 935
|
||||
ψ psi 936
|
||||
ω omega 937
|
||||
α alpha 945
|
||||
β beta 946
|
||||
γ gamma 947
|
||||
δ delta 948
|
||||
ε epsilon 949
|
||||
ζ zeta 950
|
||||
η eta 951
|
||||
θ theta 952
|
||||
ι iota 953
|
||||
κ kappa 954
|
||||
λ lambda 955
|
||||
μ mu 956
|
||||
ν nu 957
|
||||
ξ xi 958
|
||||
ο omicron 959
|
||||
π pi 960
|
||||
ρ rho 961
|
||||
ς sigmaf 962
|
||||
σ sigma 963
|
||||
τ tau 964
|
||||
υ upsilon 965
|
||||
φ phi 966
|
||||
χ chi 967
|
||||
ψ psi 968
|
||||
ω omega 969
|
||||
• bull 8226
|
||||
… hellip 8230
|
||||
′ prime 8242
|
||||
′ prime 8243
|
||||
‾ oline 8254
|
||||
⁄ frasl 8260
|
||||
← larr 8592
|
||||
↑ uarr 8593
|
||||
→ rarr 8594
|
||||
↓ darr 8595
|
||||
↔ harr 8596
|
||||
← larr 8656
|
||||
↑ uarr 8657
|
||||
→ rarr 8658
|
||||
↓ darr 8659
|
||||
↔ harr 8660
|
||||
∂ part 8706
|
||||
∏ prod 8719
|
||||
∑ sum 8721
|
||||
− minus 8722
|
||||
√ radic 8730
|
||||
∞ infin 8734
|
||||
∩ cap 8745
|
||||
∫ int 8747
|
||||
≈ asymp 8776
|
||||
≠ ne 8800
|
||||
≡ equiv 8801
|
||||
≤ le 8804
|
||||
≥ ge 8805
|
||||
◊ loz 9674
|
||||
♠ spades 9824
|
||||
♣ clubs 9827
|
||||
♥ hearts 9829
|
||||
♦ diams 9830
|
||||
|
BIN
lib/plugins/ckgedit/action/entities/utils/fckeditor_ents.doc
Normal file
BIN
lib/plugins/ckgedit/action/entities/utils/fckeditor_ents.doc
Normal file
Binary file not shown.
45
lib/plugins/ckgedit/action/iwiki.php
Normal file
45
lib/plugins/ckgedit/action/iwiki.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
|
||||
* @author
|
||||
*/
|
||||
|
||||
// must be run within Dokuwiki
|
||||
if(!defined('DOKU_INC')) die();
|
||||
include_once (DOKU_INC . 'inc/confutils.php');
|
||||
class action_plugin_ckgedit_iwiki extends DokuWiki_Action_Plugin {
|
||||
private $interlinks = null;
|
||||
/**
|
||||
* Registers a callback function for a given event
|
||||
*
|
||||
* @param Doku_Event_Handler $controller DokuWiki's event controller object
|
||||
* @return void
|
||||
*/
|
||||
public function register(Doku_Event_Handler $controller) {
|
||||
|
||||
$controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, 'handle_ajax_call_unknown');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Doku_Event $event event object by reference
|
||||
* @param mixed $param [the parameters passed as fifth argument to register_hook() when this
|
||||
* handler was registered]
|
||||
* @return void
|
||||
*/
|
||||
|
||||
public function handle_ajax_call_unknown(Doku_Event &$event, $param) {
|
||||
|
||||
if ($event->data !== 'iwiki_list') {
|
||||
return;
|
||||
}
|
||||
|
||||
$event->stopPropagation();
|
||||
$event->preventDefault();
|
||||
$a = getInterwiki();
|
||||
ksort($a);
|
||||
echo json_encode($a);
|
||||
}
|
||||
|
||||
}
|
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');
|
||||
}
|
||||
}
|
||||
}
|
1023
lib/plugins/ckgedit/action/meta.php
Normal file
1023
lib/plugins/ckgedit/action/meta.php
Normal file
File diff suppressed because it is too large
Load Diff
464
lib/plugins/ckgedit/action/save.php
Normal file
464
lib/plugins/ckgedit/action/save.php
Normal file
@@ -0,0 +1,464 @@
|
||||
<?php
|
||||
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../../../').'/');
|
||||
if(!defined('DOKU_PLUGIN')) define('DOKU_PLUGIN',DOKU_INC.'lib/plugins/');
|
||||
if(!defined('DOKU_MEDIA')) define('DOKU_MEDIA',DOKU_INC.'data/media/');
|
||||
define ('BROKEN_IMAGE', DOKU_BASE . 'lib/plugins/ckgedit/fckeditor/userfiles/blink.jpg?nolink&33x34');
|
||||
require_once(DOKU_PLUGIN.'action.php');
|
||||
if(!defined('FCK_ACTION_SUBDIR')) define('FCK_ACTION_SUBDIR', realpath(dirname(__FILE__)) . '/');
|
||||
/**
|
||||
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||
*/
|
||||
|
||||
class action_plugin_ckgedit_save extends DokuWiki_Action_Plugin {
|
||||
var $helper = false;
|
||||
function register(Doku_Event_Handler $controller) {
|
||||
|
||||
$controller->register_hook('DOKUWIKI_STARTED', 'BEFORE', $this, 'ckgedit_save_preprocess');
|
||||
}
|
||||
|
||||
function ckgedit_save_preprocess(Doku_Event $event){
|
||||
global $ACT,$INPUT;
|
||||
$this->helper = $this->loadhelper('ckgedit');
|
||||
if (!isset($_REQUEST['ckgedit']) || ! is_array($ACT) || !(isset($ACT['save']) || isset($ACT['preview']))) return;
|
||||
if (isset($_REQUEST["fontdel"]) ) {
|
||||
msg($this->getLang("fontdel"),1);
|
||||
}
|
||||
if (isset($_REQUEST["formatdel"]) ) {
|
||||
msg($this->getLang("formatdel"),1);
|
||||
}
|
||||
|
||||
$img_size = $INPUT->int('broken_image');
|
||||
if($img_size) msg($this->getLang('broken_image') . $img_size/1000000 . 'M' );
|
||||
|
||||
|
||||
global $TEXT, $conf;
|
||||
|
||||
if (!$TEXT) return;
|
||||
$preserve_enc = $this->getConf('preserve_enc');
|
||||
$deaccent = $conf['deaccent'] == 0 ? false : true;
|
||||
$TEXT = $_REQUEST['fck_wikitext'];
|
||||
|
||||
if(!preg_match('/^\s+(\-|\*)/',$TEXT)) {
|
||||
$TEXT = trim($TEXT);
|
||||
}
|
||||
|
||||
|
||||
$TEXT = preg_replace_callback(
|
||||
'|\{\{data:(.*?);base64|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'if(!preg_match("/image/",$matches[1])) {
|
||||
return "{{data:image/jpeg;base64";
|
||||
}
|
||||
return $matches[0];'
|
||||
),$TEXT);
|
||||
|
||||
if(strpos($TEXT,'data:image') !== false) {
|
||||
$TEXT = preg_replace_callback(
|
||||
'|\{\{(\s*)data:image\/(\w+;base64,\s*)(.*?)\?nolink&(\s*)\}\}|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'list($ext,$base) = explode(";",$matches[2]);
|
||||
if($ext == "jpeg" || $ext == "tiff") $ext = "jpg";
|
||||
if(function_exists("imagecreatefromstring") && !imagecreatefromstring (base64_decode($matches[3]))) {
|
||||
msg("Clipboard paste: invalid $ext image format");
|
||||
return "{{" . BROKEN_IMAGE . "}}";
|
||||
}
|
||||
global $INFO,$conf;
|
||||
$ns = getNS($INFO["id"]);
|
||||
$ns = trim($ns);
|
||||
if(!empty($ns)) {
|
||||
$ns = ":$ns:";
|
||||
$dir = str_replace(":","/",$ns);
|
||||
}
|
||||
else { // root namespace
|
||||
$dir = "/";
|
||||
$ns = ":";
|
||||
}
|
||||
$fn = md5($matches[3]) . ".$ext";
|
||||
$path = $conf["mediadir"] . $dir . $fn;
|
||||
@io_makeFileDir($path);
|
||||
if(!file_exists($path)) {
|
||||
@file_put_contents($path, base64_decode($matches[3]));
|
||||
global $lang;
|
||||
$id = $dir . $fn;
|
||||
$id = str_replace("/",":",$id);
|
||||
addMediaLogEntry(time(), $id, DOKU_CHANGE_TYPE_CREATE, $lang["created"],"", null, strlen(base64_decode($matches[3])));
|
||||
}
|
||||
else {
|
||||
msg("file for this image previousely saved",2);
|
||||
}
|
||||
$left = "{{";
|
||||
$right = "}}";
|
||||
if($matches[1]) $left .= $matches[1];
|
||||
if($matches[4]) $right = $matches[4] . $right;
|
||||
|
||||
$retv = "$left" . $ns. $fn . "$right";
|
||||
return $retv;'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
}
|
||||
$TEXT = str_replace('%%', "FCKGPERCENTESC", $TEXT);
|
||||
|
||||
if($deaccent || $preserve_enc) {
|
||||
$TEXT = preg_replace_callback('/^(.*?)(\[\[.*?\]\])*(.*?)$/ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'$matches[1] = preg_replace("/%([A-F0-9]{1,3})/i", "URLENC_PERCENT$1", $matches[1]);
|
||||
$matches[2] = preg_replace("/%([A-F0-9]{1,3})/i", "URLENC_PERCENT$1", $matches[2]);
|
||||
$matches[3] = preg_replace("/%([A-F0-9]{1,3})/i", "URLENC_PERCENT$1", $matches[3]);
|
||||
return $matches[1].$matches[2].$matches[3];'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
}
|
||||
|
||||
$TEXT = rawurldecode($TEXT);
|
||||
$TEXT = preg_replace('/NOWIKI_%_NOWIKI_%_/', '%%',$TEXT);
|
||||
$TEXT = preg_replace('/URLENC_PERCENT/', '%',$TEXT);
|
||||
$TEXT = preg_replace('/NOWIKI_(.)_/', '$1',$TEXT);
|
||||
|
||||
/* preserve newlines in code blocks */
|
||||
$TEXT = preg_replace_callback(
|
||||
'/(<code>|<file>)(.*?)(<\/code>|<\/file>)/ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'return str_replace("\n", "__code_NL__",$matches[0]);'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
|
||||
$TEXT = preg_replace('/^\s*[\r\n]$/ms',"__n__", $TEXT);
|
||||
$TEXT = preg_replace('/oIWIKIo|cIWIKIc/ms',"", $TEXT);
|
||||
$TEXT = preg_replace('/\r/ms',"", $TEXT);
|
||||
$TEXT = preg_replace('/^\s+(?=\^|\|)/ms',"", $TEXT);
|
||||
$TEXT = preg_replace('/__n__/',"\n", $TEXT);
|
||||
$TEXT = str_replace("__code_NL__","\n", $TEXT);
|
||||
$TEXT = str_replace("FCKGPERCENTESC", '%%', $TEXT);
|
||||
if($this->getConf('complex_tables')) {
|
||||
$TEXT = str_replace('~~COMPLEX_TABLES~~','',$TEXT);
|
||||
}
|
||||
$TEXT .= "\n";
|
||||
// Removes relics of markup characters left over after acronym markup has been removed
|
||||
//$TEXT = preg_replace('/([\*\/_]{2})\s+\\1\s*([A-Z]+)\s*\\1+/ms',"$2",$TEXT);
|
||||
|
||||
$pos = strpos($TEXT, 'MULTI_PLUGIN_OPEN');
|
||||
if($pos !== false) {
|
||||
$TEXT = preg_replace_callback(
|
||||
'|MULTI_PLUGIN_OPEN.*?MULTI_PLUGIN_CLOSE|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'return preg_replace("/\\\\\\\\/ms","\n",$matches[0]);'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
|
||||
$TEXT = preg_replace_callback(
|
||||
'|MULTI_PLUGIN_OPEN.*?MULTI_PLUGIN_CLOSE|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'return preg_replace("/^\s+/ms","",$matches[0]);'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
$TEXT = str_replace("~~MULTI_PLUGIN_OPEN~~","~~MULTI_PLUGIN_OPEN~~\n",$TEXT);
|
||||
}
|
||||
|
||||
if(strpos($TEXT,'L_PARgr') !== false) {
|
||||
$TEXT = preg_replace_callback(
|
||||
'|\(\((.*?)\)\)|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'return "((" . trim($matches[1]) . "))"; '
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
$TEXT = str_replace('L_PARgr', '(',$TEXT);
|
||||
$TEXT = str_replace('R_PARgr', ')',$TEXT);
|
||||
}
|
||||
/*
|
||||
Restructure numbered syntax highlighting 13/09/2019
|
||||
*/
|
||||
$TEXT = preg_replace_callback("#<code\s+(\w+)>.*?(\[enable_line_numbers.*?\])\s*\*\/#ms",
|
||||
function($matches) {
|
||||
return '<code ' . $matches[1] .' ' . $matches[2] .'>';
|
||||
}, $TEXT
|
||||
) ;
|
||||
|
||||
$this->replace_entities();
|
||||
/*Remove urls from linkonly images inserted after second and additional saves, resulting in multiple urls corrupting HTML output */
|
||||
$TEXT = preg_replace("/\{\{http:\/\/.*?fetch.php\?media=(.*?linkonly.*?)\}\}/",'{{' . "$1" .'}}',$TEXT);
|
||||
$TEXT = str_replace('< nowiki >', '%%<nowiki>%%',$TEXT);
|
||||
|
||||
|
||||
$TEXT = preg_replace_callback(
|
||||
'#\[\[(.*?)\]\]#ms',
|
||||
function($matches){
|
||||
if($this->helper->has_plugin('button') && strpos($matches[0], '[[{') === 0) {
|
||||
return $matches[0];
|
||||
}
|
||||
if(preg_match('/[\w\.]+\s*>/',$matches[0])) {
|
||||
return $matches[0];
|
||||
}
|
||||
if(preg_match('/([\w\.\-]+@[\w\.\-]+\.\w{2,3})\?.*?\|\1/i',$matches[0])) {
|
||||
return $matches[0];
|
||||
}
|
||||
global $ID, $conf;
|
||||
$qs = "";
|
||||
if(preg_match("/\[\[http/",$matches[0])) return $matches[0]; //not an internal link
|
||||
if(preg_match("#\[\[.*?\|\{\{.*?\}\}\]\]#", $matches[0],$matches_1)) { // media file
|
||||
if(!$this->getConf('rel_links')) {
|
||||
return $matches[0];
|
||||
}
|
||||
$link = explode('?',$matches[1]);
|
||||
list($link_id,$linktext) = explode('|', $link[0]);
|
||||
$current_id = $this->abs2rel($link_id,$ID);
|
||||
return preg_replace("#$link_id#",$current_id, $matches[0]);
|
||||
}
|
||||
|
||||
$link = explode('?',$matches[1]);
|
||||
if($link[1]) {
|
||||
$link_id = $link[0];
|
||||
list($qs,$linktext) = explode('|', $link[1]);
|
||||
}
|
||||
else list($link_id,$linktext) = explode('|', $link[0]);
|
||||
if($this->getConf('rel_links'))
|
||||
$current_id = $this->abs2rel($link_id,$ID);
|
||||
else $current_id = $link_id;
|
||||
if($qs) $current_id .= "?$qs";
|
||||
|
||||
//as in _getLinkTitle in xhtml.php
|
||||
if(useHeading('content')) {
|
||||
$tmp_linktext = p_get_first_heading($link_id);
|
||||
if(trim($linktext) == trim($tmp_linktext)) {
|
||||
$linktext = "";
|
||||
}
|
||||
}
|
||||
$tmp_ar = explode(':',$link_id);
|
||||
$tmp_id = array_pop($tmp_ar);
|
||||
if(!useHeading('content') && (trim($linktext,'.: ' ) == trim($tmp_id,'.: ')))
|
||||
$linktext = "";
|
||||
|
||||
$current_id = $current_id.'|'.$linktext;
|
||||
return '[[' . $current_id .']]';
|
||||
},
|
||||
$TEXT
|
||||
);
|
||||
|
||||
if($this->getConf('rel_links')) {
|
||||
$TEXT = preg_replace_callback(
|
||||
'#\{\{(\s*)(.*?)(\s*)\}\}#ms',
|
||||
function($matches) {
|
||||
global $ID;
|
||||
$link = explode('?',$matches[2]);
|
||||
list($link_id,$linktext) = explode('|', $link[0]);
|
||||
$rel = $this->abs2rel($link_id,$ID);
|
||||
if(!empty($link[1])) $rel .= '?' . $link[1];
|
||||
if(!empty($linktext)) $rel = $rel.'|'.$linktext;
|
||||
return '{{' .$matches[1] . $rel . $matches[3] .'}}';
|
||||
},
|
||||
$TEXT
|
||||
);
|
||||
}
|
||||
|
||||
/* 11 Dec 2013 see comment below
|
||||
Remove discarded font syntax
|
||||
*/
|
||||
$TEXT = preg_replace_callback(
|
||||
'|_REMOVE_FONTS_START_(.*?)_REMOVE_FONTS_END_|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'$matches[1] = preg_replace("/<font.*?>/ms","",$matches[1]);
|
||||
return preg_replace("/<\/font>/ms","",$matches[1]);'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
|
||||
/*
|
||||
6 April 2013
|
||||
Removed newlines and spaces from beginnings and ends of text enclosed by font tags. Too subtle for javascript.
|
||||
*/
|
||||
$TEXT = preg_replace_callback(
|
||||
'|(<font.*?>)(.*?)(?=</font>)|ms',
|
||||
create_function(
|
||||
'$matches',
|
||||
'$matches[2]=preg_replace("/^\s+/ms","",$matches[2]);
|
||||
$matches[2]=preg_replace("/\s+$/ms","",$matches[2]);
|
||||
return $matches[1]. $matches[2];'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
/* insure space before and after ckgedit font oprning and closing tags*/
|
||||
$TEXT = preg_replace("/<font.*?>\s+<\/font>/","", $TEXT);
|
||||
$TEXT = preg_replace("/<font/ms"," <font", $TEXT); // add space
|
||||
$TEXT = preg_replace("/<\/font>/ms","</font> ", $TEXT);
|
||||
$TEXT = preg_replace('/\s{2,}<font/ms',' <font',$TEXT); // remove duplicate spaces
|
||||
$TEXT = preg_replace('/font>{2,}/ms',' font> ',$TEXT);
|
||||
|
||||
$TEXT = preg_replace('/__QUOTE__/ms',">",$TEXT);
|
||||
$TEXT = preg_replace('/[\t\x20]+$/ms',"",$TEXT);
|
||||
$TEXT = preg_replace('/\n{4,}/ms',"\n\n",$TEXT);
|
||||
$TEXT = preg_replace('/\n{3,}/ms',"\n\n",$TEXT);
|
||||
|
||||
/*first pass for blockquotes*/
|
||||
$TEXT = preg_replace_callback(
|
||||
"#^>+(.*?)\\\\\\\\#ms",
|
||||
function($matches) {
|
||||
return str_replace('\\',"",$matches[0]);
|
||||
},
|
||||
$TEXT
|
||||
);
|
||||
|
||||
/* remove extra line-feeds following in-table code blocks
|
||||
make sure cell-ending pipe not mistaken for a following link divider
|
||||
*/
|
||||
$TEXT = preg_replace_callback(
|
||||
'#(/code|/file)\>.*?\n\|#ms',
|
||||
function($matches) {
|
||||
$matches[0] = preg_replace("/([\S\s\w\:])\\\\\\\\(\w)/ms","$1@#@$2",$matches[0]); //retain backslashes inside code blocks
|
||||
$matches[0] = preg_replace("/(\w+)\\\\\\\\(\w)/ms","$1@#@",$matches[0]);
|
||||
$matches[0] = preg_replace("/\\\\(\w+)/ms","@!@$1",$matches[0]);
|
||||
$matches[0] = preg_replace("/(\w+)\\\\/ms","@!@$1",$matches[0]);
|
||||
$matches[0] = str_replace("\\", "",$matches[0]);
|
||||
$matches[0] = str_replace("@!@",'\\',$matches[0]);
|
||||
return str_replace("@#@", "\\\\",$matches[0]);
|
||||
},
|
||||
$TEXT
|
||||
);
|
||||
/* reformat table cell after removing extra line-feeds, above */
|
||||
$TEXT = preg_replace_callback(
|
||||
'#\|[\s\n]+(\<file.*?\>)(.*?)(\<\/file>\s*.*?)\n?\|#ms',
|
||||
function($matches) {
|
||||
//$ret = '</' . $matches[1] . '>' . str_replace('\\',"",$matches[2]) . '|';
|
||||
$matches[3] = preg_replace('/\n+/',"",$matches[3] );
|
||||
$matches[3] = preg_replace('/\s+$/',"",$matches[3] ) . '|';
|
||||
return '|' . $matches[1] . $matches[2] . str_replace("\\ ","",$matches[3]);
|
||||
},
|
||||
$TEXT
|
||||
);
|
||||
|
||||
|
||||
/* Feb 23 2019
|
||||
remove spaces and line feeds between beginning of table cell and start of code block
|
||||
*/
|
||||
$TEXT = preg_replace_callback(
|
||||
'#\|(.*?)[\s\n]+\<(code|file)\>#ms',
|
||||
function($matches) {
|
||||
return '|' . $matches[1] ."\n<". $matches[2] .'>' . "\n";
|
||||
},$TEXT
|
||||
);
|
||||
/*remove line feeds following block */
|
||||
$TEXT = preg_replace_callback(
|
||||
'#\<\/(code|file)\>([^\w\|]+)#ms',
|
||||
function($matches) {
|
||||
$matches[2] = str_replace(':\\', '~~WIN__DIR~~',$matches[2]);
|
||||
$matches[2] = preg_replace('#([\w;.:=\:])\\\\#ms', "$1_bSL_",$matches[2]); //protect backslashes in Windows paths
|
||||
$ret = '</' . $matches[1] . '>' . str_replace("\\","",$matches[2]);
|
||||
$ret = str_replace( '_bSL_', '\\',$ret);
|
||||
$ret = str_replace( '~~WIN__DIR~~', ':\\',$ret);
|
||||
return "\n" .$ret;
|
||||
},$TEXT
|
||||
);
|
||||
$TEXT = str_replace('CBL__Bksl','\\',$TEXT);
|
||||
$TEXT = preg_replace("/<code\s+file/ms",'<code ',$TEXT);
|
||||
|
||||
$TEXT = preg_replace('#((\\\\){2}\s*)$#', "",$TEXT);
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
function replace_entities() {
|
||||
global $TEXT;
|
||||
global $ents;
|
||||
$serialized = FCK_ACTION_SUBDIR . 'ent.ser';
|
||||
$ents = unserialize(file_get_contents($serialized));
|
||||
|
||||
$TEXT = preg_replace_callback(
|
||||
'|(&(\w+);)|',
|
||||
create_function(
|
||||
'$matches',
|
||||
'global $ents; return $ents[$matches[2]];'
|
||||
),
|
||||
$TEXT
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function write_debug($data) {
|
||||
return;
|
||||
if (!$handle = fopen('save.txt', 'a')) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Write $somecontent to our opened file.
|
||||
fwrite($handle, "save.php: $data\n");
|
||||
fclose($handle);
|
||||
|
||||
}
|
||||
/* @auth Sergey Kotov */
|
||||
//linkPath is the link in the page
|
||||
//pagePath is absolute path of the page (ns1:ns2:....:page or :ns1:ns2:....:page)
|
||||
function abs2rel($linkPath,$pagePath){
|
||||
if ($linkPath[0]==='.'){
|
||||
// It's already relative
|
||||
return $linkPath;
|
||||
}
|
||||
$aLink=explode(':',$linkPath);
|
||||
$nLink=count($aLink);
|
||||
if ($nLink<2){
|
||||
return $linkPath;
|
||||
}
|
||||
$aPage=explode(':',$pagePath);
|
||||
if(empty($aLink[0])) {
|
||||
// If linkPath is started by ':'
|
||||
// Make canonical absolute path ns1:ns2:.....:pageLink (strip leading :)
|
||||
array_shift($aLink);
|
||||
if (--$nLink<2) {
|
||||
return $linkPath;
|
||||
}
|
||||
}
|
||||
|
||||
if(empty($aPage[0])) {
|
||||
// If pagePath is started by ':'
|
||||
// Make canonical absolute path ns1:ns2:.....:page (strip leading :)
|
||||
array_shift($aPage);
|
||||
}
|
||||
$nPage=count($aPage);
|
||||
$nslEqual=0; // count of equal namespaces from left to right
|
||||
// Minimal length of these two arrays, page name is not included
|
||||
$nMin=($nLink<$nPage ? $nLink : $nPage)-1 ;
|
||||
for ($i=0;$i<$nMin;++$i){
|
||||
if ($aLink[$i]===$aPage[$i]){
|
||||
++$nslEqual;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($nslEqual==0){
|
||||
// Link and page from different root namespaces
|
||||
return $linkPath;
|
||||
}
|
||||
// Truncate equal lef namespaces
|
||||
$aPageDiff=array_slice($aPage,$nslEqual);
|
||||
$nPageDiff=count($aPageDiff);
|
||||
$aLinkDiff=array_slice($aLink,$nslEqual);
|
||||
|
||||
// Now we have to go up to nPageDiff-1 levels
|
||||
$aResult=array();
|
||||
if ($nPageDiff>1){
|
||||
$aResult=array_fill(0,$nPageDiff-1,'..');
|
||||
}
|
||||
else if($nPageDiff == 1) {
|
||||
$aResult[] = '.';
|
||||
}
|
||||
$aResult=array_merge($aResult,$aLinkDiff);
|
||||
return implode(':', $aResult);
|
||||
}
|
||||
|
||||
|
||||
} //end of action class
|
||||
?>
|
73
lib/plugins/ckgedit/action/tagapi.php
Normal file
73
lib/plugins/ckgedit/action/tagapi.php
Normal file
@@ -0,0 +1,73 @@
|
||||
<?php
|
||||
/**
|
||||
*
|
||||
* @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
|
||||
* @author Andreas Valder <valder@isf.rwth-aachen.de>
|
||||
*/
|
||||
|
||||
// must be run within Dokuwiki
|
||||
if(!defined('DOKU_INC')) die();
|
||||
class action_plugin_ckgedit_tagapi extends DokuWiki_Action_Plugin {
|
||||
private $tagplugin = null;
|
||||
/**
|
||||
* Registers a callback function for a given event
|
||||
*
|
||||
* @param Doku_Event_Handler $controller DokuWiki's event controller object
|
||||
* @return void
|
||||
*/
|
||||
public function register(Doku_Event_Handler $controller) {
|
||||
|
||||
$controller->register_hook('AJAX_CALL_UNKNOWN', 'BEFORE', $this, 'handle_ajax_call_unknown');
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Doku_Event $event event object by reference
|
||||
* @param mixed $param [the parameters passed as fifth argument to register_hook() when this
|
||||
* handler was registered]
|
||||
* @return void
|
||||
*/
|
||||
|
||||
public function handle_ajax_call_unknown(Doku_Event &$event, $param) {
|
||||
if ($event->data !== 'tagapi_list') {
|
||||
return;
|
||||
}
|
||||
$event->stopPropagation();
|
||||
$event->preventDefault();
|
||||
|
||||
if ($this->tagplugin = $this->loadHelper('tag')) {
|
||||
$tags = $this->tagplugin->tagOccurrences(array(), NULL, true);
|
||||
$a = print_r($tags,true);
|
||||
// file_put_contents(DOKU_INC . 'tags.txt', $a);
|
||||
} else {
|
||||
$tags = array();
|
||||
}
|
||||
|
||||
// sort tags by name ($tags is in the form $tag => $count)
|
||||
ksort($tags);
|
||||
echo '{"tags":[';
|
||||
$firstelement = true;
|
||||
foreach (array_keys($tags) as $tag) {
|
||||
if ($firstelement) {
|
||||
$firstelement = false;
|
||||
} else {
|
||||
echo ',';
|
||||
}
|
||||
echo '{"name":"'.$this->tagToName($tag).'","id":"'.$tag.'"}';
|
||||
}
|
||||
echo']}';
|
||||
}
|
||||
|
||||
private function tagToName($t) {
|
||||
$exists = false;
|
||||
$id = $t;
|
||||
resolve_pageID($this->tagplugin->namespace, $id, $exists);
|
||||
$name = p_get_first_heading($id, false);
|
||||
if (empty($name)) {
|
||||
$name = $t;
|
||||
} else {
|
||||
$name = $name;
|
||||
}
|
||||
return $name;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user