add contents
BIN
changes.zip
Normal file
BIN
ckgedit.zip
Normal file
14
dokuwiki-plugins-2021-10-05-ckgedit_fix_media_dir.patch
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
diff -ruN lib/plugins/ckgedit.old/action/meta.php lib/plugins/ckgedit/action/meta.php
|
||||||
|
--- lib/plugins/ckgedit.old/action/meta.php 2021-10-05 17:27:06.277221520 +0200
|
||||||
|
+++ lib/plugins/ckgedit/action/meta.php 2021-10-05 17:28:56.594090117 +0200
|
||||||
|
@@ -523,7 +523,9 @@
|
||||||
|
if(! empty($domain )) {
|
||||||
|
list($prefix,$mdir) = explode(trim(DOKU_BASE, '/'),$userfiles);
|
||||||
|
$mdir = ltrim($mdir, '/');
|
||||||
|
- $media_dir = DOKU_BASE . $mdir . 'image/';
|
||||||
|
+ // $media_dir = DOKU_BASE . $mdir . 'image/';
|
||||||
|
+ $media_dir = DOKU_BASE . $mdir . 'lib/exe/fetch.php/';
|
||||||
|
+
|
||||||
|
}
|
||||||
|
else $media_dir = '/lib/plugins/ckgedit/fckeditor/'. $animal . '/image/';
|
||||||
|
setcookieSameSite('FCK_media',$media_dir, $expire, '/');
|
12
dokuwiki-plugins-2021-10-05-mupdf_tmp_dir.patch
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
diff -ruN lib/plugins/dw2pdf.old/vendor/mpdf/mpdf/src/Config/ConfigVariables.php lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Config/ConfigVariables.php
|
||||||
|
--- lib/plugins/dw2pdf.old/vendor/mpdf/mpdf/src/Config/ConfigVariables.php 2021-10-05 17:24:40.914758223 +0200
|
||||||
|
+++ lib/plugins/dw2pdf/vendor/mpdf/mpdf/src/Config/ConfigVariables.php 2021-10-05 17:25:34.471666510 +0200
|
||||||
|
@@ -453,7 +453,7 @@
|
||||||
|
__DIR__ . '/../../ttfonts'
|
||||||
|
],
|
||||||
|
|
||||||
|
- 'tempDir' => __DIR__ . '/../../tmp',
|
||||||
|
+ 'tempDir' => '/var/lib/dokuwiki/data/tmp',
|
||||||
|
|
||||||
|
'allowAnnotationFiles' => false,
|
||||||
|
|
334
dokuwiki-plugins.spec
Normal file
@@ -0,0 +1,334 @@
|
|||||||
|
%define realversion 20210220
|
||||||
|
%define version %(echo %{realversion} | sed -e 's/-//g')
|
||||||
|
%define releasenum 4
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 11 || 0%{?rhel} >= 5
|
||||||
|
%global useselinux 1
|
||||||
|
%else
|
||||||
|
%global useselinux 0
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: dokuwiki-plugins
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{releasenum}%{?dist}
|
||||||
|
Summary: Standards compliant simple to use wiki
|
||||||
|
Group: Applications/Internet
|
||||||
|
License: GPLv2
|
||||||
|
URL: http://www.dokuwiki.org/dokuwiki
|
||||||
|
|
||||||
|
Source10: changes.zip
|
||||||
|
Source11: ckgedit.zip
|
||||||
|
Source12: color.zip
|
||||||
|
Source13: dw2pdf.zip
|
||||||
|
Source14: edittable.zip
|
||||||
|
Source15: encryptedpasswords.zip
|
||||||
|
Source16: hidden.zip
|
||||||
|
Source17: howhard.zip
|
||||||
|
Source18: loglog.zip
|
||||||
|
Source19: note.zip
|
||||||
|
Source20: nspages.zip
|
||||||
|
Source21: odt.zip
|
||||||
|
Source22: pagelist.zip
|
||||||
|
Source23: pagemove.zip
|
||||||
|
Source24: sortablejs.zip
|
||||||
|
Source25: tag.zip
|
||||||
|
Source26: todo.zip
|
||||||
|
|
||||||
|
|
||||||
|
Patch1: dokuwiki-plugins-2021-10-05-ckgedit_fix_media_dir.patch
|
||||||
|
Patch2: dokuwiki-plugins-2021-10-05-mupdf_tmp_dir.patch
|
||||||
|
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
BuildArch: noarch
|
||||||
|
Requires: dokuwiki >= 20200729
|
||||||
|
|
||||||
|
|
||||||
|
%description
|
||||||
|
DokuWiki is a standards compliant, simple to use Wiki, mainly aimed at creating
|
||||||
|
documentation of any kind. It has a simple but powerful syntax which makes sure
|
||||||
|
the data files remain readable outside the Wiki and eases the creation of
|
||||||
|
structured texts.
|
||||||
|
|
||||||
|
All data is stored in plain text files no database is required.
|
||||||
|
|
||||||
|
This package provides several useful plugins for dokuwiki
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%{__rm} -rf lib
|
||||||
|
%{__mkdir_p} lib/{plugins,tpl}
|
||||||
|
# Extract plugins
|
||||||
|
for S in %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE25} %{SOURCE26}; do
|
||||||
|
unzip -o -d lib/plugins $S
|
||||||
|
done
|
||||||
|
|
||||||
|
mv lib/plugins/changes-master lib/plugins/changes
|
||||||
|
mv lib/plugins/ckgedit-master lib/plugins/ckgedit
|
||||||
|
mv lib/plugins/color-master lib/plugins/color
|
||||||
|
mv lib/plugins/dw2pdf-master lib/plugins/dw2pdf
|
||||||
|
mv lib/plugins/edittable-master lib/plugins/edittable
|
||||||
|
mv lib/plugins/encryptedpasswords-master lib/plugins/encryptedpasswords
|
||||||
|
mv lib/plugins/hidden-master lib/plugins/hidden
|
||||||
|
mv lib/plugins/howhard-master lib/plugins/howhard
|
||||||
|
mv lib/plugins/loglog-master lib/plugins/loglog
|
||||||
|
mv lib/plugins/note-master lib/plugins/note
|
||||||
|
mv lib/plugins/nspages-master lib/plugins/nspages
|
||||||
|
mv lib/plugins/odt-master lib/plugins/odt
|
||||||
|
mv lib/plugins/pagelist-master lib/plugins/pagelist
|
||||||
|
mv lib/plugins/pagemove-master lib/plugins/pagemove
|
||||||
|
mv lib/plugins/sortablejs-master lib/plugins/sortablejs
|
||||||
|
mv lib/plugins/tag-master lib/plugins/tag
|
||||||
|
mv lib/plugins/todo-master lib/plugins/todo
|
||||||
|
|
||||||
|
ls -l lib/plugins/ckgedit
|
||||||
|
|
||||||
|
find lib -type d -exec chmod 755 "{}" \;
|
||||||
|
find lib -type f -exec chmod 644 "{}" \;
|
||||||
|
|
||||||
|
%patch1 -p0
|
||||||
|
%patch2 -p0
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
%install
|
||||||
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
install -d -p $RPM_BUILD_ROOT%{_datadir}/dokuwiki/
|
||||||
|
cp -rp lib $RPM_BUILD_ROOT%{_datadir}/dokuwiki/
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
#%attr(0755,apache,apache) %dir %{_datadir}/dokuwiki/lib/plugins
|
||||||
|
# %attr(0775,root,apache) %dir %{_datadir}/dokuwiki/lib/plugins/*
|
||||||
|
%{_datadir}/dokuwiki/lib/plugins/*
|
||||||
|
|
||||||
|
%clean
|
||||||
|
%{__rm} -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Oct 14 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 20210220-4
|
||||||
|
- remove attr dir line in files to fix conflicts [SME: 11703]
|
||||||
|
|
||||||
|
* Mon Oct 11 2021 Terry Fage <terry@fage.id.au> 20210220-3
|
||||||
|
- reapply patchs ckgedit_fix_media_dir mupdf_tmp_dir [SME: 11704]
|
||||||
|
|
||||||
|
* Wed Oct 06 2021 John Crisp <jcrisp@safeandsoundit.co.uk> 20210220-2
|
||||||
|
- Update the dokuwiki requires version
|
||||||
|
|
||||||
|
* Tue Oct 05 2021 John Crisp <jcrisp@safeandsoundit.co.uk> - 20210220-1
|
||||||
|
- First import to SME [SME: 11704]
|
||||||
|
- Updated plugins to lastest versions
|
||||||
|
- Scripted git pulls for plugins and zipping them
|
||||||
|
- Sorted plugin names alphabetically
|
||||||
|
|
||||||
|
* Mon Sep 25 2017 Daniel Berteaud <daniel@firewall-services.com> - 20170219e-2
|
||||||
|
- Fix syntax error in ckgedit lang file preventing access to settings
|
||||||
|
|
||||||
|
* Mon Aug 28 2017 Daniel Berteaud <daniel@firewall-services.com> - 20170219e-1
|
||||||
|
- Bump for 2017-02-19e
|
||||||
|
|
||||||
|
* Wed Aug 23 2017 Daniel Berteaud <daniel@firewall-services.com> - 20170219d-1
|
||||||
|
- Bump for 2017-02-19d
|
||||||
|
- Update ckgedit
|
||||||
|
- Update hidden
|
||||||
|
- Update tag
|
||||||
|
- Update pagelist
|
||||||
|
- Update loglog
|
||||||
|
- Update edittable
|
||||||
|
- Update odt
|
||||||
|
- Update nspages
|
||||||
|
- Update changes
|
||||||
|
- Update dw2pdf
|
||||||
|
|
||||||
|
* Thu Mar 9 2017 Daniel Berteaud <daniel@firewall-services.com> - 20170219b-1
|
||||||
|
- Bump for 2017-02-19b
|
||||||
|
|
||||||
|
* Tue Feb 21 2017 Daniel Berteaud <daniel@firewall-services.com> - 20170219a-1
|
||||||
|
- Bump for 2017-02-19a
|
||||||
|
- Update note
|
||||||
|
- Update odt
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update color
|
||||||
|
- Update hidden
|
||||||
|
- Update encryptedpasswords
|
||||||
|
- Update tag
|
||||||
|
- Update pagelist
|
||||||
|
- Update changes
|
||||||
|
- Update loglog
|
||||||
|
- Update todo
|
||||||
|
- Update ckgedit
|
||||||
|
- Update edittable
|
||||||
|
- Update sortablejs
|
||||||
|
- Update howhard
|
||||||
|
|
||||||
|
* Wed Jul 20 2016 Daniel Berteaud <daniel@firewall-services.com> - 20160626a-2
|
||||||
|
- Fix odt export when notes are used
|
||||||
|
See https://github.com/LarsGit223/dokuwiki-plugin-odt/issues/144
|
||||||
|
|
||||||
|
* Mon Jul 4 2016 Daniel Berteaud <daniel@firewall-services.com> - 20160626a-1
|
||||||
|
- Bump for 2016-06-26a
|
||||||
|
|
||||||
|
* Tue Jun 28 2016 Daniel Berteaud <daniel@firewall-services.com> - 20160626-1
|
||||||
|
- Bump for 2016-06-26
|
||||||
|
- Update changes
|
||||||
|
- Update ckgedit
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update edittable
|
||||||
|
- Update hidden
|
||||||
|
- Update howhard
|
||||||
|
- Update loglog
|
||||||
|
- Update nspages
|
||||||
|
- Update odt
|
||||||
|
- Update pagelist
|
||||||
|
- Update pagemove
|
||||||
|
- Update tag
|
||||||
|
- Update todo
|
||||||
|
|
||||||
|
* Wed Sep 9 2015 Daniel Berteaud <daniel@firewall-services.com> - 20150810a-2
|
||||||
|
- Update edittable to 2015-09-01
|
||||||
|
|
||||||
|
* Tue Sep 1 2015 Daniel Berteaud <daniel@firewall-services.com> - 20150810a-1
|
||||||
|
- Bump for 2015-08-10a
|
||||||
|
- Update odt
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update hidden
|
||||||
|
- Update encryptedpassword
|
||||||
|
- Update nspage
|
||||||
|
- Update ckgedit
|
||||||
|
- Update edittable
|
||||||
|
- Update sortablejs
|
||||||
|
- Update howhard
|
||||||
|
- Remove useless dokuwiki_export template
|
||||||
|
|
||||||
|
* Fri Mar 20 2015 Daniel Berteaud <daniel@firewall-services.com> - 20140029d-1
|
||||||
|
- Bump for 2014-09-29d
|
||||||
|
- Update changes
|
||||||
|
- Update edittable
|
||||||
|
- Update encryptedpassword
|
||||||
|
- Update loglog
|
||||||
|
- Update odt
|
||||||
|
|
||||||
|
* Thu Feb 26 2015 Daniel Berteaud <daniel@firewall-services.com> - 20140029c-1
|
||||||
|
- Bump for 2014-09-29c
|
||||||
|
- Update odt
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update nspage
|
||||||
|
- Update changes
|
||||||
|
- Update todo
|
||||||
|
- Update ckgedit
|
||||||
|
- Update edittable
|
||||||
|
|
||||||
|
* Thu Dec 4 2014 Daniel Berteaud <daniel@firewall-services.com> - 20140029b-1
|
||||||
|
- Bump for 2014-09-29b
|
||||||
|
|
||||||
|
* Tue Oct 14 2014 Daniel Berteaud <daniel@firewall-services.com> - 20140029a-1
|
||||||
|
- Bump version for 2014-09-29a
|
||||||
|
- Update default template
|
||||||
|
- Update ckgedit
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update encryptedpassword
|
||||||
|
- Update howhard
|
||||||
|
- Update odt
|
||||||
|
- Update pagemove
|
||||||
|
- Update sortablejs
|
||||||
|
- Update todo
|
||||||
|
|
||||||
|
* Tue Aug 12 2014 Daniel Berteaud <daniel@firewall-services.com> - 20140505a-2
|
||||||
|
- update odt
|
||||||
|
- update tag
|
||||||
|
- update hidden
|
||||||
|
- update todo
|
||||||
|
- update pagelist
|
||||||
|
- update pagemove
|
||||||
|
- update dw2pdf
|
||||||
|
- update loglog
|
||||||
|
- update ckgedit
|
||||||
|
- update nspage
|
||||||
|
- update encryptedpasswords
|
||||||
|
- add edittable
|
||||||
|
- add sertablejs
|
||||||
|
- add howhard
|
||||||
|
- remove toolbox
|
||||||
|
- remove floartdiv
|
||||||
|
- remove iframe
|
||||||
|
|
||||||
|
* Fri Jun 27 2014 Daniel Berteaud <daniel@firewall-services.com> - 20140505a-1
|
||||||
|
- bump version for 2014-05-05a
|
||||||
|
|
||||||
|
* Tue May 6 2014 Daniel Berteaud <daniel@firewall-services.com> - 20140505-1
|
||||||
|
- Bump release for new dokuwiki (2014-05-05)
|
||||||
|
- Update dokuwiki tpl
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update tag
|
||||||
|
- Update pagelist
|
||||||
|
- Update ckgedit
|
||||||
|
|
||||||
|
* Mon Dec 9 2013 Daniel Berteaud <daniel@firewall-services.com> - 20131208-1
|
||||||
|
- bump release for new dokuwiki version (2013-12-08)
|
||||||
|
- Update dokuwiki tpl
|
||||||
|
- Remove the old default template
|
||||||
|
|
||||||
|
* Thu Nov 28 2013 Daniel Berteaud <daniel@firewall-services.com> - 20130510a-4
|
||||||
|
- Fix permissions on the plugins dir
|
||||||
|
|
||||||
|
* Fri Nov 15 2013 Daniel Berteaud <daniel@firewall-services.com> - 20130510a-3
|
||||||
|
- Cleanup the spec file
|
||||||
|
|
||||||
|
* Thu Oct 31 2013 Daniel Berteaud <daniel@firewall-services.com> - 20130510a-2
|
||||||
|
- Fix media manager in ckgedit
|
||||||
|
- Update dw2pdf
|
||||||
|
- Update tag
|
||||||
|
- Update pagelist
|
||||||
|
- Update nspages
|
||||||
|
- Update todo
|
||||||
|
- Update ckgedit
|
||||||
|
|
||||||
|
* Wed Aug 21 2013 Daniel Berteaud <daniel@firewall-services.com> - 20130510a-1
|
||||||
|
- bump version to 2013-05-10a
|
||||||
|
|
||||||
|
* Thu Mar 28 2013 Daniel Berteaud <daniel@firewall-services.com> - 20130510-1
|
||||||
|
- update hidden
|
||||||
|
- update encryptpassword
|
||||||
|
- update tag
|
||||||
|
- update pagelist
|
||||||
|
- update todo
|
||||||
|
- replace fckgLite with ckgedit
|
||||||
|
- remove edittable
|
||||||
|
- bump version for dokuwiki 2013-05-10
|
||||||
|
|
||||||
|
* Mon Oct 15 2012 Daniel Berteaud <daniel@firewall-services.com> - 20121013-1
|
||||||
|
- bump release for new dokuwiki version
|
||||||
|
|
||||||
|
* Thu Sep 13 2012 Daniel Berteaud <daniel@firewall-services.com> - 20120910-1
|
||||||
|
- bump release for new dokuwiki version
|
||||||
|
- update hidden
|
||||||
|
- update tag
|
||||||
|
- update fckgLite
|
||||||
|
- update encryptedpasswords
|
||||||
|
|
||||||
|
* Sun Jul 15 2012 Daniel Berteaud <daniel@firewall-services.com> - 20120125b-1
|
||||||
|
- bump release for dokuwiki 2012-01-25b
|
||||||
|
- update default tpl
|
||||||
|
- update dw2pdf
|
||||||
|
- update hidden
|
||||||
|
- update encryptedpasswords
|
||||||
|
- update pagelist
|
||||||
|
- update nspages
|
||||||
|
- update pagemove
|
||||||
|
- update fckgLite
|
||||||
|
- add iframe plugin
|
||||||
|
|
||||||
|
* Tue May 29 2012 Daniel Berteaud <daniel@firewall-services.com> - 20120125a-4
|
||||||
|
- update dw2pdf, tag and hidden plugins
|
||||||
|
|
||||||
|
* Mon Apr 23 2012 Daniel Berteaud <daniel@firewall-services.com> - 20120125a-3
|
||||||
|
- bump release for new dokuwiki version
|
||||||
|
|
||||||
|
* Fri Jan 27 2012 Daniel Berteaud <daniel@firewall-services.com> - 20120125-3
|
||||||
|
- upgrade for upstream dokuwiki
|
||||||
|
- upgrade dw2pdf to latest release
|
||||||
|
|
||||||
|
* Fri Nov 18 2011 Daniel Berteaud <daniel@firewall-services.com> - 20110525a-2
|
||||||
|
- Add fckgLite plugin
|
||||||
|
|
||||||
|
* Mon Jul 18 2011 Daniel Berteaud <daniel@firewall-services.com> - 20110525a-1
|
||||||
|
- Initial release
|
||||||
|
|
BIN
dw2pdf.zip
Normal file
BIN
edittable.zip
Normal file
BIN
encryptedpasswords.zip
Normal file
BIN
hidden.zip
Normal file
BIN
howhard.zip
Normal file
1
import.log
Normal file
@@ -0,0 +1 @@
|
|||||||
|
dokuwiki-plugins-20210220-1_el7_sme:contribs10:dokuwiki-plugins-20210220-1.el7.sme.src.rpm:1633453049
|
62
lib/plugins/changes/action.php
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Changes Plugin: List the most recent changes of the wiki
|
||||||
|
*
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
* @author Andreas Gohr <andi@splitbrain.org>
|
||||||
|
* @author Mykola Ostrovskyy <spambox03@mail.ru>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class action_plugin_changes
|
||||||
|
*/
|
||||||
|
class action_plugin_changes extends DokuWiki_Action_Plugin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Register callbacks
|
||||||
|
* @param Doku_Event_Handler $controller
|
||||||
|
*/
|
||||||
|
public function register(Doku_Event_Handler $controller)
|
||||||
|
{
|
||||||
|
$controller->register_hook('PARSER_CACHE_USE', 'BEFORE', $this, 'beforeParserCacheUse');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle PARSER_CACHE_USE:BEFORE event
|
||||||
|
* @param Doku_Event $event
|
||||||
|
*/
|
||||||
|
public function beforeParserCacheUse($event)
|
||||||
|
{
|
||||||
|
global $ID;
|
||||||
|
$cache = $event->data;
|
||||||
|
if (isset($cache->mode) && ($cache->mode == 'xhtml')) {
|
||||||
|
$depends = p_get_metadata($ID, 'relation depends');
|
||||||
|
if (!empty($depends) && isset($depends['rendering'])) {
|
||||||
|
$this->addDependencies($cache, array_keys($depends['rendering']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add extra dependencies to the cache
|
||||||
|
*/
|
||||||
|
protected function addDependencies($cache, $depends)
|
||||||
|
{
|
||||||
|
// Prevent "Warning: in_array() expects parameter 2 to be array, null given"
|
||||||
|
if (!is_array($cache->depends)) {
|
||||||
|
$cache->depends = array();
|
||||||
|
}
|
||||||
|
if (!array_key_exists('files', $cache->depends)) {
|
||||||
|
$cache->depends['files'] = array();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($depends as $file) {
|
||||||
|
if (!in_array($file, $cache->depends['files']) && @file_exists($file)) {
|
||||||
|
$cache->depends['files'][] = $file;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Setup VIM: ex: et ts=4 enc=utf-8 :
|
4
lib/plugins/changes/conf/default.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$conf['dayheaderfmt'] = '%Y-%m-%d';
|
||||||
|
$conf['listmedia'] = 0;
|
4
lib/plugins/changes/conf/metadata.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$meta['dayheaderfmt'] = array('string');
|
||||||
|
$meta['listmedia'] = array('onoff');
|
9
lib/plugins/changes/lang/cs/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Quark66 <mkucera66@seznam.cz>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Formát datumů v záhlaví dnů (formát strftime)';
|
||||||
|
$lang['listmedia'] = 'Zahrnout změny souborů médií';
|
4
lib/plugins/changes/lang/de/settings.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang['dayheaderfmt'] = 'Datumsformat der Überschrift bei Verwendung des dayheaders-Parameters. (strftime format)';
|
||||||
|
$lang['listmedia'] = 'Änderungen in den Medien-Dateien einbinden?';
|
4
lib/plugins/changes/lang/en/settings.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang['dayheaderfmt'] = 'Date format for the day headers. (strftime format)';
|
||||||
|
$lang['listmedia'] = 'Include changes of media files.';
|
9
lib/plugins/changes/lang/eo/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Robert Bogenschneider <bogi@uea.org>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Dat-formato por la tago-kapoj. (strftime-formato)';
|
||||||
|
$lang['listmedia'] = 'Inkludi ŝanĝojn de aŭdvidaĵ-dosieroj.';
|
9
lib/plugins/changes/lang/fa/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Sam01 <m.sajad079@gmail.com>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'تاریخ فرمت برای هدر روز. (فرمت strftime)';
|
||||||
|
$lang['listmedia'] = 'شامل تغییرات فایلهای رسانهای.';
|
9
lib/plugins/changes/lang/fr/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author NicolasFriedli <nicolas@theologique.ch>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Format de date pour les entêtes de jour. (format strftime)';
|
||||||
|
$lang['listmedia'] = 'Inclure les modifications apportées aux fichiers média.';
|
9
lib/plugins/changes/lang/hr/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Davor Turkalj <turki.bsc@gmail.com>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Format datuma za datumska zaglavlja. (strftime format)';
|
||||||
|
$lang['listmedia'] = 'Prikaži i promjene na medijskim datotekama.';
|
9
lib/plugins/changes/lang/hu/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Serenity87HUN <anikototh87@gmail.com>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Dátum formátum a naphoz. (strftime formátum)';
|
||||||
|
$lang['listmedia'] = 'Tartalmazza a médiafájlok változását is.';
|
9
lib/plugins/changes/lang/ja/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Hideaki SAWADA <chuno@live.jp>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = '日付見出しの日付形式。 (strftimeフォーマット)';
|
||||||
|
$lang['listmedia'] = 'メディアファイルの変更を含む。';
|
9
lib/plugins/changes/lang/ko/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Myeongjin <aranet100@gmail.com>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = '날짜 헤더에 대한 날짜 형식. (strftime 형식)';
|
||||||
|
$lang['listmedia'] = '미디어 파일의 바뀜 포함.';
|
9
lib/plugins/changes/lang/nl/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Mark Prins <mprins@users.sf.net>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Datum formaat voor de dag koppen. (strftime format)';
|
||||||
|
$lang['listmedia'] = 'Aanpassingen van media bestanden ook tonen.';
|
10
lib/plugins/changes/lang/pl/settings.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Aleksander Setlak <http://alek.magazynek.org>
|
||||||
|
* @author Mati <mackosa@wp.pl>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Format daty dla nagłówków dnia (w formacie strftime).';
|
||||||
|
$lang['listmedia'] = 'Dołącz zmiany plików multimedialnych';
|
9
lib/plugins/changes/lang/ru/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Aleksey.I.Maksimov <aleksey.i.maksimov@yandex.ru>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Формат даты для заголовков дня. (В формате PHP-фукции STRFTIME)';
|
||||||
|
$lang['listmedia'] = 'Учитывать изменения медиа-файлов.';
|
9
lib/plugins/changes/lang/sv/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author Tor Härnqvist <tor@harnqvist.se>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Datumformat för datumrubrikerna. (strftime-format)';
|
||||||
|
$lang['listmedia'] = 'Inkluderar ändringar av mediafiler.';
|
9
lib/plugins/changes/lang/tr/settings.php
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
*
|
||||||
|
* @author İlker Rifat Kapaç <irifat@gmail.com>
|
||||||
|
*/
|
||||||
|
$lang['dayheaderfmt'] = 'Gün başlıkları için tarih biçimi. (strftime biçimi)';
|
||||||
|
$lang['listmedia'] = 'Ortam dosyalarındaki değişiklikleri de dahil et.';
|
4
lib/plugins/changes/lang/zh/settings.php
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$lang['dayheaderfmt'] = '日期标题日期格式。(strftime 格式)';
|
||||||
|
$lang['listmedia'] = '包括媒体文件的修改。';
|
9
lib/plugins/changes/plugin.info.txt
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# General Plugin Info do not edit
|
||||||
|
|
||||||
|
base changes
|
||||||
|
author Andreas Gohr
|
||||||
|
email dokuwiki@cosmocode.de
|
||||||
|
date 2021-01-25
|
||||||
|
name Changes Plugin
|
||||||
|
desc List the most recent changes of the wiki
|
||||||
|
url http://www.dokuwiki.org/plugin:changes
|
516
lib/plugins/changes/syntax.php
Normal file
@@ -0,0 +1,516 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Changes Plugin: List the most recent changes of the wiki
|
||||||
|
*
|
||||||
|
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||||
|
* @author Andreas Gohr <andi@splitbrain.org>
|
||||||
|
* @author Mykola Ostrovskyy <spambox03@mail.ru>
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class syntax_plugin_changes
|
||||||
|
*/
|
||||||
|
class syntax_plugin_changes extends DokuWiki_Syntax_Plugin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* What kind of syntax are we?
|
||||||
|
*/
|
||||||
|
public function getType()
|
||||||
|
{
|
||||||
|
return 'substition';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* What type of XHTML do we create?
|
||||||
|
*/
|
||||||
|
public function getPType()
|
||||||
|
{
|
||||||
|
return 'block';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Where to sort in?
|
||||||
|
*/
|
||||||
|
public function getSort()
|
||||||
|
{
|
||||||
|
return 105;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Connect pattern to lexer
|
||||||
|
* @param string $mode
|
||||||
|
*/
|
||||||
|
public function connectTo($mode)
|
||||||
|
{
|
||||||
|
$this->Lexer->addSpecialPattern('\{\{changes>[^}]*\}\}', $mode, 'plugin_changes');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handler to prepare matched data for the rendering process
|
||||||
|
*
|
||||||
|
* @param string $match The text matched by the patterns
|
||||||
|
* @param int $state The lexer state for the match
|
||||||
|
* @param int $pos The character position of the matched text
|
||||||
|
* @param Doku_Handler $handler The Doku_Handler object
|
||||||
|
* @return array Return an array with all data you want to use in render
|
||||||
|
*/
|
||||||
|
public function handle($match, $state, $pos, Doku_Handler $handler)
|
||||||
|
{
|
||||||
|
$match = substr($match, 10, -2);
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'ns' => [],
|
||||||
|
'excludedpages' => [],
|
||||||
|
'count' => 10,
|
||||||
|
'type' => [],
|
||||||
|
'render' => 'list',
|
||||||
|
'render-flags' => [],
|
||||||
|
'maxage' => null,
|
||||||
|
'reverse' => false,
|
||||||
|
'user' => [],
|
||||||
|
'excludedusers' => [],
|
||||||
|
];
|
||||||
|
|
||||||
|
$match = explode('&', $match);
|
||||||
|
foreach ($match as $m) {
|
||||||
|
if (is_numeric($m)) {
|
||||||
|
$data['count'] = (int) $m;
|
||||||
|
} else {
|
||||||
|
if (preg_match('/(\w+)\s*=(.+)/', $m, $temp) == 1) {
|
||||||
|
$this->handleNamedParameter($temp[1], trim($temp[2]), $data);
|
||||||
|
} else {
|
||||||
|
$this->addNamespace($data, trim($m));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle parameters that are specified using <name>=<value> syntax
|
||||||
|
* @param string $name
|
||||||
|
* @param $value
|
||||||
|
* @param array $data
|
||||||
|
*/
|
||||||
|
protected function handleNamedParameter($name, $value, &$data)
|
||||||
|
{
|
||||||
|
global $ID;
|
||||||
|
|
||||||
|
static $types = array('edit' => 'E', 'create' => 'C', 'delete' => 'D', 'minor' => 'e');
|
||||||
|
static $renderers = array('list', 'pagelist');
|
||||||
|
|
||||||
|
switch ($name) {
|
||||||
|
case 'count':
|
||||||
|
case 'maxage':
|
||||||
|
$data[$name] = intval($value);
|
||||||
|
break;
|
||||||
|
case 'ns':
|
||||||
|
foreach (preg_split('/\s*,\s*/', $value) as $value) {
|
||||||
|
$this->addNamespace($data, $value);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'type':
|
||||||
|
foreach (preg_split('/\s*,\s*/', $value) as $value) {
|
||||||
|
if (array_key_exists($value, $types)) {
|
||||||
|
$data[$name][] = $types[$value];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'render':
|
||||||
|
// parse "name(flag1, flag2)" syntax
|
||||||
|
if (preg_match('/(\w+)(?:\((.*)\))?/', $value, $match) == 1) {
|
||||||
|
if (in_array($match[1], $renderers)) {
|
||||||
|
$data[$name] = $match[1];
|
||||||
|
$flags = trim($match[2]);
|
||||||
|
if ($flags != '') {
|
||||||
|
$data['render-flags'] = preg_split('/\s*,\s*/', $flags);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'user':
|
||||||
|
case 'excludedusers':
|
||||||
|
foreach (preg_split('/\s*,\s*/', $value) as $value) {
|
||||||
|
$data[$name][] = $value;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'excludedpages':
|
||||||
|
foreach (preg_split('/\s*,\s*/', $value) as $page) {
|
||||||
|
if (!empty($page)) {
|
||||||
|
resolve_pageid(getNS($ID), $page, $exists);
|
||||||
|
$data[$name][] = $page;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'reverse':
|
||||||
|
$data[$name] = (bool)$value;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clean-up the namespace name and add it (if valid) into the $data array
|
||||||
|
* @param array $data
|
||||||
|
* @param string $namespace
|
||||||
|
*/
|
||||||
|
protected function addNamespace(&$data, $namespace)
|
||||||
|
{
|
||||||
|
if (empty($namespace)) return;
|
||||||
|
$action = ($namespace[0] == '-') ? 'exclude' : 'include';
|
||||||
|
$namespace = cleanID(preg_replace('/^[+-]/', '', $namespace));
|
||||||
|
if (!empty($namespace)) {
|
||||||
|
$data['ns'][$action][] = $namespace;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles the actual output creation.
|
||||||
|
*
|
||||||
|
* @param string $mode output format being rendered
|
||||||
|
* @param Doku_Renderer $R the current renderer object
|
||||||
|
* @param array $data data created by handler()
|
||||||
|
* @return boolean rendered correctly?
|
||||||
|
*/
|
||||||
|
public function render($mode, Doku_Renderer $R, $data)
|
||||||
|
{
|
||||||
|
if ($mode === 'xhtml') {
|
||||||
|
/* @var Doku_Renderer_xhtml $R */
|
||||||
|
$R->info['cache'] = false;
|
||||||
|
$changes = $this->getChanges(
|
||||||
|
$data['count'],
|
||||||
|
$data['ns'],
|
||||||
|
$data['excludedpages'],
|
||||||
|
$data['type'],
|
||||||
|
$data['user'],
|
||||||
|
$data['maxage'],
|
||||||
|
$data['excludedusers'],
|
||||||
|
$data['reverse']
|
||||||
|
);
|
||||||
|
if (!count($changes)) return true;
|
||||||
|
|
||||||
|
switch ($data['render']) {
|
||||||
|
case 'list':
|
||||||
|
$this->renderSimpleList($changes, $R, $data['render-flags']);
|
||||||
|
break;
|
||||||
|
case 'pagelist':
|
||||||
|
$this->renderPageList($changes, $R, $data['render-flags']);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
} elseif ($mode === 'metadata') {
|
||||||
|
/* @var Doku_Renderer_metadata $R */
|
||||||
|
global $conf;
|
||||||
|
$R->meta['relation']['depends']['rendering'][$conf['changelog']] = true;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Based on getRecents() from inc/changelog.php
|
||||||
|
*
|
||||||
|
* @param int $num
|
||||||
|
* @param array $ns
|
||||||
|
* @param array $excludedpages
|
||||||
|
* @param array $type
|
||||||
|
* @param array $user
|
||||||
|
* @param int $maxage
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function getChanges($num, $ns, $excludedpages, $type, $user, $maxage, $excludedusers, $reverse)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$changes = array();
|
||||||
|
$seen = array();
|
||||||
|
$count = 0;
|
||||||
|
$lines = array();
|
||||||
|
|
||||||
|
// Get global changelog
|
||||||
|
if (file_exists($conf['changelog']) && is_readable($conf['changelog'])) {
|
||||||
|
$lines = @file($conf['changelog']);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Merge media changelog
|
||||||
|
if ($this->getConf('listmedia')) {
|
||||||
|
if (file_exists($conf['media_changelog']) && is_readable($conf['media_changelog'])) {
|
||||||
|
$linesMedia = @file($conf['media_changelog']);
|
||||||
|
// Add a tag to identiy the media lines
|
||||||
|
foreach ($linesMedia as $key => $value) {
|
||||||
|
$value = parseChangelogLine($value);
|
||||||
|
$value['extra'] = 'media';
|
||||||
|
$linesMedia[$key] = implode("\t", $value) . "\n";
|
||||||
|
}
|
||||||
|
$lines = array_merge($lines, $linesMedia);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (is_null($maxage)) {
|
||||||
|
$maxage = (int) $conf['recent_days'] * 60 * 60 * 24;
|
||||||
|
}
|
||||||
|
|
||||||
|
for ($i = count($lines) - 1; $i >= 0; $i--) {
|
||||||
|
$change = $this->handleChangelogLine(
|
||||||
|
$lines[$i],
|
||||||
|
$ns,
|
||||||
|
$excludedpages,
|
||||||
|
$type,
|
||||||
|
$user,
|
||||||
|
$maxage,
|
||||||
|
$seen,
|
||||||
|
$excludedusers
|
||||||
|
);
|
||||||
|
if ($change !== false) {
|
||||||
|
$changes[] = $change;
|
||||||
|
// break when we have enough entries
|
||||||
|
if (++$count >= $num) break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Date sort merged page and media changes
|
||||||
|
if ($this->getConf('listmedia') || $reverse) {
|
||||||
|
$dates = array();
|
||||||
|
foreach ($changes as $change) {
|
||||||
|
$dates[] = $change['date'];
|
||||||
|
}
|
||||||
|
array_multisort($dates, ($reverse ? SORT_ASC : SORT_DESC), $changes);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $changes;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Based on _handleRecent() from inc/changelog.php
|
||||||
|
*
|
||||||
|
* @param string $line
|
||||||
|
* @param array $ns
|
||||||
|
* @param array $excludedpages
|
||||||
|
* @param array $type
|
||||||
|
* @param array $user
|
||||||
|
* @param int $maxage
|
||||||
|
* @param array $seen
|
||||||
|
* @return array|bool
|
||||||
|
*/
|
||||||
|
protected function handleChangelogLine($line, $ns, $excludedpages, $type, $user, $maxage, &$seen, $excludedusers)
|
||||||
|
{
|
||||||
|
// split the line into parts
|
||||||
|
$change = parseChangelogLine($line);
|
||||||
|
if ($change === false) return false;
|
||||||
|
|
||||||
|
// skip seen ones
|
||||||
|
if (isset($seen[$change['id']])) return false;
|
||||||
|
|
||||||
|
// filter type
|
||||||
|
if (!empty($type) && !in_array($change['type'], $type)) return false;
|
||||||
|
|
||||||
|
// filter user
|
||||||
|
if (!empty($user) && (empty($change['user']) || !in_array($change['user'], $user))) return false;
|
||||||
|
|
||||||
|
// remember in seen to skip additional sights
|
||||||
|
$seen[$change['id']] = 1;
|
||||||
|
|
||||||
|
// show only not existing pages for delete
|
||||||
|
if ($change['extra'] != 'media' && $change['type'] != 'D' && !page_exists($change['id'])) return false;
|
||||||
|
|
||||||
|
// filter maxage
|
||||||
|
if ($maxage && $change['date'] < (time() - $maxage)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// check if it's a hidden page
|
||||||
|
if (isHiddenPage($change['id'])) return false;
|
||||||
|
|
||||||
|
// filter included namespaces
|
||||||
|
if (isset($ns['include'])) {
|
||||||
|
if (!$this->isInNamespace($ns['include'], $change['id'])) return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// filter excluded namespaces
|
||||||
|
if (isset($ns['exclude'])) {
|
||||||
|
if ($this->isInNamespace($ns['exclude'], $change['id'])) return false;
|
||||||
|
}
|
||||||
|
// exclude pages
|
||||||
|
if (!empty($excludedpages)) {
|
||||||
|
foreach ($excludedpages as $page) {
|
||||||
|
if ($change['id'] == $page) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// exclude users
|
||||||
|
if (!empty($excludedusers)) {
|
||||||
|
foreach ($excludedusers as $user) {
|
||||||
|
if ($change['user'] == $user) return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check ACL
|
||||||
|
$change['perms'] = auth_quickaclcheck($change['id']);
|
||||||
|
if ($change['perms'] < AUTH_READ) return false;
|
||||||
|
|
||||||
|
return $change;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if page belongs to one of namespaces in the list
|
||||||
|
*
|
||||||
|
* @param array $namespaces
|
||||||
|
* @param string $id page id
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
protected function isInNamespace($namespaces, $id)
|
||||||
|
{
|
||||||
|
foreach ($namespaces as $ns) {
|
||||||
|
if ((strpos($id, $ns . ':') === 0)) return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render via the Pagelist plugin
|
||||||
|
*
|
||||||
|
* @param $changes
|
||||||
|
* @param Doku_Renderer_xhtml $R
|
||||||
|
* @param $flags
|
||||||
|
*/
|
||||||
|
protected function renderPageList($changes, &$R, $flags)
|
||||||
|
{
|
||||||
|
/** @var helper_plugin_pagelist $pagelist */
|
||||||
|
$pagelist = @plugin_load('helper', 'pagelist');
|
||||||
|
if ($pagelist) {
|
||||||
|
$pagelist->setFlags($flags);
|
||||||
|
$pagelist->startList();
|
||||||
|
foreach ($changes as $change) {
|
||||||
|
if ($change['extra'] == 'media') continue;
|
||||||
|
$page['id'] = $change['id'];
|
||||||
|
$page['date'] = $change['date'];
|
||||||
|
$page['user'] = $this->getUserName($change);
|
||||||
|
$page['desc'] = $change['sum'];
|
||||||
|
$pagelist->addPage($page);
|
||||||
|
}
|
||||||
|
$R->doc .= $pagelist->finishList();
|
||||||
|
} else {
|
||||||
|
// Fallback to the simple list renderer
|
||||||
|
$this->renderSimpleList($changes, $R);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the day header
|
||||||
|
*
|
||||||
|
* @param Doku_Renderer $R
|
||||||
|
* @param int $date
|
||||||
|
*/
|
||||||
|
protected function dayheader(&$R, $date)
|
||||||
|
{
|
||||||
|
if ($R->getFormat() == 'xhtml') {
|
||||||
|
/* @var Doku_Renderer_xhtml $R */
|
||||||
|
$R->doc .= '<h3 class="changes">';
|
||||||
|
$R->cdata(dformat($date, $this->getConf('dayheaderfmt')));
|
||||||
|
$R->doc .= '</h3>';
|
||||||
|
} else {
|
||||||
|
$R->header(dformat($date, $this->getConf('dayheaderfmt')), 3, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render with a simple list render
|
||||||
|
*
|
||||||
|
* @param array $changes
|
||||||
|
* @param Doku_Renderer_xhtml $R
|
||||||
|
* @param null $flags
|
||||||
|
*/
|
||||||
|
protected function renderSimpleList($changes, &$R, $flags = null)
|
||||||
|
{
|
||||||
|
global $conf;
|
||||||
|
$flags = $this->parseSimpleListFlags($flags);
|
||||||
|
|
||||||
|
$dayheaders_date = '';
|
||||||
|
if ($flags['dayheaders']) {
|
||||||
|
$dayheaders_date = date('Ymd', $changes[0]['date']);
|
||||||
|
$this->dayheader($R, $changes[0]['date']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$R->listu_open();
|
||||||
|
foreach ($changes as $change) {
|
||||||
|
if ($flags['dayheaders']) {
|
||||||
|
$tdate = date('Ymd', $change['date']);
|
||||||
|
if ($tdate != $dayheaders_date) {
|
||||||
|
$R->listu_close(); // break list to insert new header
|
||||||
|
$this->dayheader($R, $change['date']);
|
||||||
|
$R->listu_open();
|
||||||
|
$dayheaders_date = $tdate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$R->listitem_open(1);
|
||||||
|
$R->listcontent_open();
|
||||||
|
if (trim($change['extra']) == 'media') {
|
||||||
|
$R->internalmedia(':' . $change['id'], null, null, null, null, null, 'linkonly');
|
||||||
|
} else {
|
||||||
|
$R->internallink(':' . $change['id'], null, null, false, 'navigation');
|
||||||
|
}
|
||||||
|
if ($flags['summary']) {
|
||||||
|
$R->cdata(' ' . $change['sum']);
|
||||||
|
}
|
||||||
|
if ($flags['signature']) {
|
||||||
|
$user = $this->getUserName($change);
|
||||||
|
$date = strftime($conf['dformat'], $change['date']);
|
||||||
|
$R->cdata(' ');
|
||||||
|
$R->entity('---');
|
||||||
|
$R->cdata(' ');
|
||||||
|
$R->emphasis_open();
|
||||||
|
$R->cdata($user . ' ' . $date);
|
||||||
|
$R->emphasis_close();
|
||||||
|
}
|
||||||
|
$R->listcontent_close();
|
||||||
|
$R->listitem_close();
|
||||||
|
}
|
||||||
|
$R->listu_close();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parse flags for the simple list render
|
||||||
|
*
|
||||||
|
* @param array $flags
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
protected function parseSimpleListFlags($flags)
|
||||||
|
{
|
||||||
|
$outFlags = array('summary' => true, 'signature' => false, 'dayheaders' => false);
|
||||||
|
if (!empty($flags)) {
|
||||||
|
foreach ($flags as $flag) {
|
||||||
|
if (array_key_exists($flag, $outFlags)) {
|
||||||
|
$outFlags[$flag] = true;
|
||||||
|
} elseif (substr($flag, 0, 2) == 'no') {
|
||||||
|
$flag = substr($flag, 2);
|
||||||
|
if (array_key_exists($flag, $outFlags)) {
|
||||||
|
$outFlags[$flag] = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $outFlags;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get username or fallback to ip
|
||||||
|
*
|
||||||
|
* @param array $change
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
protected function getUserName($change)
|
||||||
|
{
|
||||||
|
/* @var DokuWiki_Auth_Plugin $auth */
|
||||||
|
global $auth;
|
||||||
|
if (!empty($change['user'])) {
|
||||||
|
$user = $auth->getUserData($change['user']);
|
||||||
|
if (empty($user)) {
|
||||||
|
return $change['user'];
|
||||||
|
} else {
|
||||||
|
return $user['name'];
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return $change['ip'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
339
lib/plugins/ckgedit/LICENSE
Normal file
@@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
14
lib/plugins/ckgedit/README.md
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
ckgedit is a WYSIWYG editor for Dokuwiki. It is an implementation of fckgLite which replaces the
|
||||||
|
FCKEditor with the more current CKEditor. Whereas the base directory for fckgLite is named fckg, the
|
||||||
|
base directory for this version is ckgedit. However, only one of the two can
|
||||||
|
be enabled at any one time.
|
||||||
|
|
||||||
|
This version of ckgeditor should work with Linux, Windows, and versions of Dokuwiki installed with the
|
||||||
|
Ubuntu/Debian package manager.
|
||||||
|
|
||||||
|
This branch uses CKEditor 4.11.4
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
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
1
lib/plugins/ckgedit/action/ent.ser
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
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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
@@ -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
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
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
124
lib/plugins/ckgedit/admin.php
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Myron Turner <turnermm02@shaw.ca>
|
||||||
|
* @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once(DOKU_INC . 'lib/plugins/ckgedit/scripts/css6.php');
|
||||||
|
class admin_plugin_ckgedit extends DokuWiki_Admin_Plugin {
|
||||||
|
|
||||||
|
private $tpl_inc;
|
||||||
|
private $template;
|
||||||
|
private $alt;
|
||||||
|
function __construct() {
|
||||||
|
global $conf;
|
||||||
|
$this->template = $conf['template'];
|
||||||
|
$this->tpl_inc = tpl_incdir();
|
||||||
|
}
|
||||||
|
|
||||||
|
function handle() {
|
||||||
|
|
||||||
|
if (!isset($_REQUEST['cmd'])) return; // first time - nothing to do
|
||||||
|
|
||||||
|
$this->output = 'invalid';
|
||||||
|
|
||||||
|
if (!checkSecurityToken()) return;
|
||||||
|
if (!is_array($_REQUEST['cmd'])) return;
|
||||||
|
|
||||||
|
switch (key($_REQUEST['cmd'])) {
|
||||||
|
case 'stylesheet' : {
|
||||||
|
$this->alt = "";
|
||||||
|
$this->output = 'style_sheet_msg';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'alt_stylesheet' : {
|
||||||
|
$this->alt = $_REQUEST['templates'];
|
||||||
|
$this->output = 'alt_style_sheet_msg';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* output appropriate html
|
||||||
|
*/
|
||||||
|
function html() {
|
||||||
|
ptln('<div id = "ckg_styl_sheet" style = "display:none">');
|
||||||
|
echo $this->locale_xhtml('style');
|
||||||
|
ptln('</div>');
|
||||||
|
ptln('<button type = "button" id = "Infobut" onclick="jQuery(\'#ckg_styl_sheet\').toggle(800,ckg_admininfo(this));">');
|
||||||
|
|
||||||
|
echo $this->getLang('stylesheet_oinfo');
|
||||||
|
ptln('</button>');
|
||||||
|
|
||||||
|
ptln('<form action="'.wl($ID).'" method="post">');
|
||||||
|
// output hidden values to ensure dokuwiki will return back to this plugin
|
||||||
|
ptln(' <input type="hidden" name="do" value="admin" />');
|
||||||
|
ptln(' <input type="hidden" name="page" value="'.$this->getPluginName().'" />');
|
||||||
|
formSecurityToken();
|
||||||
|
|
||||||
|
//Current style sheet
|
||||||
|
ptln('<p style = "line-height: 200%;">' . $this->getLang('default_stylesheet') . ': (' .$this->template . ')<br />');
|
||||||
|
ptln('<label for="ckg_save_ss">' .$this->getLang('checkbox').'</label>');
|
||||||
|
ptln('<input type="checkbox" name="ckg_save_ss"> ');
|
||||||
|
ptln('<input type="submit" name="cmd[stylesheet]" value="'.$this->getLang('style_sheet').'" /></p>');
|
||||||
|
|
||||||
|
// Other style sheet
|
||||||
|
$alt_val = isset($this->alt)?$this->alt: "" ;
|
||||||
|
ptln('<p style = "line-height: 200%;">' . $this->getLang('alt_stylesheet') .'<br />');
|
||||||
|
ptln('<select name="templates" style = "line-height:100%">');
|
||||||
|
echo $this->templates( $alt_val );
|
||||||
|
ptln('</select>');
|
||||||
|
ptln('<input type="submit" name="cmd[alt_stylesheet]" value="'.$this->getLang('style_sheet').'" />');
|
||||||
|
ptln('</form></p>');
|
||||||
|
|
||||||
|
if($this->output && $this->output == 'style_sheet_msg') {
|
||||||
|
$path = $this->tpl_inc;
|
||||||
|
ptln(htmlspecialchars($this->getLang($this->output)). " " .$this->template);
|
||||||
|
$retv = css_ckg_out($path);
|
||||||
|
$this->message($path, $retv);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if($this->output && $this->output == 'alt_style_sheet_msg') {
|
||||||
|
ptln(htmlspecialchars($this->getLang($this->output)). " " .$this->alt);
|
||||||
|
$path = str_replace('tpl/'.$this->template, 'tpl/'.$this->alt,$this->tpl_inc);
|
||||||
|
$retv = css_ckg_out($path,$this->alt);
|
||||||
|
$this->message($path, $retv);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function message($path, $which) {
|
||||||
|
$messages = array(
|
||||||
|
"Stylesheet saved to $path" . 'Styles/_style.css',
|
||||||
|
"Failed to save stylesheet to $path" . 'Styles/_style.css'
|
||||||
|
);
|
||||||
|
$color = $which == 0? '#333': 'blue';
|
||||||
|
ptln('<br /><span style = "color:'.$color. ';">'.htmlspecialchars($messages[$which]).'</span>');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function templates($selected="") {
|
||||||
|
$dir = dirname($this->tpl_inc);
|
||||||
|
$files = scandir($dir);
|
||||||
|
$dir .= '/';
|
||||||
|
$list = "<option value='' >Select</option>";
|
||||||
|
foreach ($files AS $file) {
|
||||||
|
if($file == '.' || $file == '..' || $file == $this->template) continue;
|
||||||
|
$entry = $dir . $file;
|
||||||
|
if(!is_writable($entry)) continue;
|
||||||
|
if(is_dir ($entry ) ) {
|
||||||
|
if($file == $selected) {
|
||||||
|
$list .= "<option value='$file' selected>$file</option>";
|
||||||
|
}
|
||||||
|
else $list .= "<option value='$file' >$file</option>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
|
}
|
1703
lib/plugins/ckgedit/ckeditor/CHANGES.md
Normal file
1420
lib/plugins/ckgedit/ckeditor/LICENSE.md
Normal file
39
lib/plugins/ckgedit/ckeditor/README.md
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
CKEditor 4
|
||||||
|
==========
|
||||||
|
|
||||||
|
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
||||||
|
http://ckeditor.com - See LICENSE.md for license information.
|
||||||
|
|
||||||
|
CKEditor is a text editor to be used inside web pages. It's not a replacement
|
||||||
|
for desktop text editors like Word or OpenOffice, but a component to be used as
|
||||||
|
part of web applications and websites.
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
The full editor documentation is available online at the following address:
|
||||||
|
http://docs.ckeditor.com
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Installing CKEditor is an easy task. Just follow these simple steps:
|
||||||
|
|
||||||
|
1. **Download** the latest version from the CKEditor website:
|
||||||
|
http://ckeditor.com. You should have already completed this step, but be
|
||||||
|
sure you have the very latest version.
|
||||||
|
2. **Extract** (decompress) the downloaded file into the root of your website.
|
||||||
|
|
||||||
|
**Note:** CKEditor is by default installed in the `ckeditor` folder. You can
|
||||||
|
place the files in whichever you want though.
|
||||||
|
|
||||||
|
## Checking Your Installation
|
||||||
|
|
||||||
|
The editor comes with a few sample pages that can be used to verify that
|
||||||
|
installation proceeded properly. Take a look at the `samples` directory.
|
||||||
|
|
||||||
|
To test your installation, just call the following page at your website:
|
||||||
|
|
||||||
|
http://<your site>/<CKEditor installation path>/samples/index.html
|
||||||
|
|
||||||
|
For example:
|
||||||
|
|
||||||
|
http://www.example.com/ckeditor/samples/index.html
|
10
lib/plugins/ckgedit/ckeditor/adapters/jquery.js
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
||||||
|
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
||||||
|
*/
|
||||||
|
(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw Error("CKEditor should be loaded before CKEditor jQuery adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a},
|
||||||
|
ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if(!a.isFunction(g)){var m=d;d=g;g=m}var k=[];d=d||{};this.each(function(){var b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,l=new a.Deferred;k.push(l.promise());if(c&&!f)g&&g.apply(c,[this]),l.resolve();else if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),l.resolve()):setTimeout(arguments.callee,100)},0)},
|
||||||
|
null,null,9999);else{if(d.autoUpdateElement||"undefined"==typeof d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor",
|
||||||
|
[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize",
|
||||||
|
c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);l.resolve()}else setTimeout(arguments.callee,100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,k).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(d){if(arguments.length){var m=
|
||||||
|
this,k=[],f=this.each(function(){var b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new a.Deferred;c.setData(d,function(){f.resolve()});k.push(f.promise());return!0}return g.call(b,d)});if(k.length){var b=new a.Deferred;a.when.apply(this,k).done(function(){b.resolveWith(m)});return b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery);
|
8
lib/plugins/ckgedit/ckeditor/additional.css
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
blockquote {
|
||||||
|
border: 1px dotted #ccc;
|
||||||
|
background: #eee url(data:image/gif;base64,R0lGODlhLgAcAMQAAPT09PHx8e7u7unp6ejo6Ofn5+bm5uXl5eTk5OPj4+Li4t/f397e3t3d3dzc3Nvb29ra2v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAuABwAAAW2YCSOJLkgaJqWrKi+ram8dBwJdB03Od3Ehh6MdUgIXwvWcVhyLFEMCEP5tD2WD1tkqY1chT/t0dB1CrNiIVl7OCbTwu722F0Cujzhoa6WG4UObGMBfEtvVEtrLU8qhyOMKIokkCl7IwOUCAWIlJOZCJyQlnOZBCWfCAqPqKesIm2frbEimLMjeZQJnpmhT45BlKMjX5C9RwKLkGiyiTaMqi3AXHA90EDTeD2Bcj1yJSeV3rugXSEAOw==) no-repeat 0.3em 0.3em;
|
||||||
|
padding: 1em;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 1em auto 1em auto;
|
||||||
|
max-width: 90%;
|
||||||
|
}
|
190
lib/plugins/ckgedit/ckeditor/build-config.js
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
/**
|
||||||
|
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
||||||
|
* For licensing, see LICENSE.md or https://ckeditor.com/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file was added automatically by CKEditor builder.
|
||||||
|
* You may re-use it at any time to build CKEditor again.
|
||||||
|
*
|
||||||
|
* If you would like to build CKEditor online again
|
||||||
|
* (for example to upgrade), visit one the following links:
|
||||||
|
*
|
||||||
|
* (1) https://ckeditor.com/cke4/builder
|
||||||
|
* Visit online builder to build CKEditor from scratch.
|
||||||
|
*
|
||||||
|
* (2) https://ckeditor.com/cke4/builder/c3fc0dcaa9c80d707aab3e60fdcddbfb
|
||||||
|
* Visit online builder to build CKEditor, starting with the same setup as before.
|
||||||
|
*
|
||||||
|
* (3) https://ckeditor.com/cke4/builder/download/c3fc0dcaa9c80d707aab3e60fdcddbfb
|
||||||
|
* Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.
|
||||||
|
*
|
||||||
|
* NOTE:
|
||||||
|
* This file is not used by CKEditor, you may remove it.
|
||||||
|
* Changing this file will not change your CKEditor configuration.
|
||||||
|
*/
|
||||||
|
|
||||||
|
var CKBUILDER_CONFIG = {
|
||||||
|
skin: 'moono-lisa',
|
||||||
|
preset: 'full',
|
||||||
|
ignore: [
|
||||||
|
'.DS_Store',
|
||||||
|
'.bender',
|
||||||
|
'.editorconfig',
|
||||||
|
'.gitattributes',
|
||||||
|
'.gitignore',
|
||||||
|
'.idea',
|
||||||
|
'.jscsrc',
|
||||||
|
'.jshintignore',
|
||||||
|
'.jshintrc',
|
||||||
|
'.mailmap',
|
||||||
|
'.npm',
|
||||||
|
'.travis.yml',
|
||||||
|
'bender-err.log',
|
||||||
|
'bender-out.log',
|
||||||
|
'bender.ci.js',
|
||||||
|
'bender.js',
|
||||||
|
'dev',
|
||||||
|
'gruntfile.js',
|
||||||
|
'less',
|
||||||
|
'node_modules',
|
||||||
|
'package.json',
|
||||||
|
'tests'
|
||||||
|
],
|
||||||
|
plugins : {
|
||||||
|
'a11yhelp' : 1,
|
||||||
|
'about' : 1,
|
||||||
|
'basicstyles' : 1,
|
||||||
|
'bidi' : 1,
|
||||||
|
'blockquote' : 1,
|
||||||
|
'clipboard' : 1,
|
||||||
|
'colorbutton' : 1,
|
||||||
|
'colordialog' : 1,
|
||||||
|
'contextmenu' : 1,
|
||||||
|
'copyformatting' : 1,
|
||||||
|
'dialogadvtab' : 1,
|
||||||
|
'div' : 1,
|
||||||
|
'elementspath' : 1,
|
||||||
|
'enterkey' : 1,
|
||||||
|
'entities' : 1,
|
||||||
|
'filebrowser' : 1,
|
||||||
|
'find' : 1,
|
||||||
|
'flash' : 1,
|
||||||
|
'floatingspace' : 1,
|
||||||
|
'font' : 1,
|
||||||
|
'format' : 1,
|
||||||
|
'forms' : 1,
|
||||||
|
'horizontalrule' : 1,
|
||||||
|
'htmlwriter' : 1,
|
||||||
|
'iframe' : 1,
|
||||||
|
'image' : 1,
|
||||||
|
'indentblock' : 1,
|
||||||
|
'indentlist' : 1,
|
||||||
|
'justify' : 1,
|
||||||
|
'language' : 1,
|
||||||
|
'link' : 1,
|
||||||
|
'list' : 1,
|
||||||
|
'liststyle' : 1,
|
||||||
|
'magicline' : 1,
|
||||||
|
'maximize' : 1,
|
||||||
|
'newpage' : 1,
|
||||||
|
'pagebreak' : 1,
|
||||||
|
'pastefromword' : 1,
|
||||||
|
'pastetext' : 1,
|
||||||
|
'preview' : 1,
|
||||||
|
'print' : 1,
|
||||||
|
'removeformat' : 1,
|
||||||
|
'resize' : 1,
|
||||||
|
'save' : 1,
|
||||||
|
'scayt' : 1,
|
||||||
|
'selectall' : 1,
|
||||||
|
'showblocks' : 1,
|
||||||
|
'showborders' : 1,
|
||||||
|
'smiley' : 1,
|
||||||
|
'sourcearea' : 1,
|
||||||
|
'specialchar' : 1,
|
||||||
|
'stylescombo' : 1,
|
||||||
|
'tab' : 1,
|
||||||
|
'table' : 1,
|
||||||
|
'tableselection' : 1,
|
||||||
|
'tabletools' : 1,
|
||||||
|
'templates' : 1,
|
||||||
|
'toolbar' : 1,
|
||||||
|
'undo' : 1,
|
||||||
|
'uploadimage' : 1,
|
||||||
|
'wsc' : 1,
|
||||||
|
'wysiwygarea' : 1
|
||||||
|
},
|
||||||
|
languages : {
|
||||||
|
'af' : 1,
|
||||||
|
'ar' : 1,
|
||||||
|
'az' : 1,
|
||||||
|
'bg' : 1,
|
||||||
|
'bn' : 1,
|
||||||
|
'bs' : 1,
|
||||||
|
'ca' : 1,
|
||||||
|
'cs' : 1,
|
||||||
|
'cy' : 1,
|
||||||
|
'da' : 1,
|
||||||
|
'de' : 1,
|
||||||
|
'de-ch' : 1,
|
||||||
|
'el' : 1,
|
||||||
|
'en' : 1,
|
||||||
|
'en-au' : 1,
|
||||||
|
'en-ca' : 1,
|
||||||
|
'en-gb' : 1,
|
||||||
|
'eo' : 1,
|
||||||
|
'es' : 1,
|
||||||
|
'es-mx' : 1,
|
||||||
|
'et' : 1,
|
||||||
|
'eu' : 1,
|
||||||
|
'fa' : 1,
|
||||||
|
'fi' : 1,
|
||||||
|
'fo' : 1,
|
||||||
|
'fr' : 1,
|
||||||
|
'fr-ca' : 1,
|
||||||
|
'gl' : 1,
|
||||||
|
'gu' : 1,
|
||||||
|
'he' : 1,
|
||||||
|
'hi' : 1,
|
||||||
|
'hr' : 1,
|
||||||
|
'hu' : 1,
|
||||||
|
'id' : 1,
|
||||||
|
'is' : 1,
|
||||||
|
'it' : 1,
|
||||||
|
'ja' : 1,
|
||||||
|
'ka' : 1,
|
||||||
|
'km' : 1,
|
||||||
|
'ko' : 1,
|
||||||
|
'ku' : 1,
|
||||||
|
'lt' : 1,
|
||||||
|
'lv' : 1,
|
||||||
|
'mk' : 1,
|
||||||
|
'mn' : 1,
|
||||||
|
'ms' : 1,
|
||||||
|
'nb' : 1,
|
||||||
|
'nl' : 1,
|
||||||
|
'no' : 1,
|
||||||
|
'oc' : 1,
|
||||||
|
'pl' : 1,
|
||||||
|
'pt' : 1,
|
||||||
|
'pt-br' : 1,
|
||||||
|
'ro' : 1,
|
||||||
|
'ru' : 1,
|
||||||
|
'si' : 1,
|
||||||
|
'sk' : 1,
|
||||||
|
'sl' : 1,
|
||||||
|
'sq' : 1,
|
||||||
|
'sr' : 1,
|
||||||
|
'sr-latn' : 1,
|
||||||
|
'sv' : 1,
|
||||||
|
'th' : 1,
|
||||||
|
'tr' : 1,
|
||||||
|
'tt' : 1,
|
||||||
|
'ug' : 1,
|
||||||
|
'uk' : 1,
|
||||||
|
'vi' : 1,
|
||||||
|
'zh' : 1,
|
||||||
|
'zh-cn' : 1
|
||||||
|
}
|
||||||
|
};
|
1337
lib/plugins/ckgedit/ckeditor/ckeditor.js
vendored
Normal file
26722
lib/plugins/ckgedit/ckeditor/ckeditor.js.unc
Normal file
1
lib/plugins/ckgedit/ckeditor/config.js
Normal file
474
lib/plugins/ckgedit/ckeditor/config.js.unc
Normal file
@@ -0,0 +1,474 @@
|
|||||||
|
/**
|
||||||
|
* @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
|
||||||
|
* For licensing, see LICENSE.md or http://ckeditor.com/license
|
||||||
|
*/
|
||||||
|
|
||||||
|
CKEDITOR.editorConfig = function( config ) {
|
||||||
|
|
||||||
|
config.keystrokes = [
|
||||||
|
|
||||||
|
// [ CKEDITOR.CTRL + 76, null ], // CTRL + L
|
||||||
|
[ CKEDITOR.ALT + CKEDITOR.SHIFT + 56, 'bulletedlist' ], // ALT + *
|
||||||
|
[ CKEDITOR.ALT + 56, 'bulletedlist' ], // ALT + 8
|
||||||
|
[ CKEDITOR.ALT + 173, 'numberedlist' ], // ALT + -
|
||||||
|
[ CKEDITOR.CTRL + 48, 'ckgundoheader' ], // ALT + 0
|
||||||
|
[ CKEDITOR.CTRL + 49, 'ckginsheaderone' ], // ALT + 1
|
||||||
|
[ CKEDITOR.CTRL + 50, 'ckginsheadertwo' ], // ALT + 2
|
||||||
|
[ CKEDITOR.CTRL + 51, 'ckginsheaderthree' ], // ALT + 4
|
||||||
|
[ CKEDITOR.CTRL + 52, 'ckginsheaderfour' ], // ALT +4
|
||||||
|
[ CKEDITOR.CTRL + 53, 'ckginsheaderfive' ], // ALT + 5
|
||||||
|
[ CKEDITOR.ALT + 77, 'ckginscode' ], //ALT +m
|
||||||
|
/* turn off ALT to avoid conflict with AltGr */
|
||||||
|
[ CKEDITOR.ALT + 48, null ],
|
||||||
|
[ CKEDITOR.ALT + 49, null ],
|
||||||
|
[ CKEDITOR.ALT + 50, null ],
|
||||||
|
[ CKEDITOR.ALT + 51, null ],
|
||||||
|
[ CKEDITOR.ALT + 52, null ],
|
||||||
|
[ CKEDITOR.ALT + 53, null ],
|
||||||
|
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
config.colors = new Array(
|
||||||
|
'000000','000033','000066','000099','0000CC','0000CE','0000FF','003300','003333','003366','003399','0033CC','0033FF','006600','006633',
|
||||||
|
'006666','006699','0066CC','0066FF','009900','009933','009966','009999','0099CC','0099FF','00CC00','00CC33','00CC66','00CC99','00CCCC','00CCFF',
|
||||||
|
'00FF00','00FF33','00FF66','00FF99','00FFCC','00FFFF','01F33E','01FCEF','03EBA6','03F3AB','06DCFB','0AFE47','111111','1F88A7','1FCB4A','1FFEF3',
|
||||||
|
'222222','23819C','24E0FB','25A0C5','27DE55','2897B7','2966B8','29AFD6','2DC800','2F74D0','2FAACE','32DF00','330000','330033','330066','330099',
|
||||||
|
'3300CC','3300FF','333300','333333','333333','333366','333399','3333CC','3333FF','336600','336633','336666','336699','3366CC','3366FF','339900',
|
||||||
|
'339933','339966','339999','3399CC','3399FF','33CC00','33CC33','33CC66','33CC99','33CCCC','33CCFF','33FDC0','33FF00','33FF33','33FF66','33FF99',
|
||||||
|
'33FFCC','33FFFF','36F200','3923D6','3DE4FC','444444','44B4D5','48FB0D','4985D6','4A9586','4AE371','4BFE78','4FBDDD','52FF20','555555','5757FF',
|
||||||
|
'57BCD9','59955C','59DF00','5B5BFF','5EAE9E','5FFEF7','6094DB','61F200','62A9FF','62D0FF','62FDCE','63E9FC','660000','660033','660066','660099',
|
||||||
|
'6600CC','6600FF','663300','663333','663366','663399','6633CC','6633FF','666600','666633','666666','666666','666699','6666CC','6666FF','669900',
|
||||||
|
'669933','669966','669999','6699CC','6699FF','66CC00','66CC33','66CC66','66CC99','66CCCC','66CCFF','66FF00','66FF00','66FF33','66FF66','66FF99',
|
||||||
|
'66FFCC','66FFFF','6755E3','67C7E2','6A6AFF','6CA870','6FFF44','72FE95','7373FF','74138C','74BAAC','74FEF8','75B4FF','75D6FF','75ECFD','777777',
|
||||||
|
'7979FF','79FC4E','7BA7E1','7BCAE1','7CEB98','7DFDD7','800080','80B584','8282FF','8678E9','86BCFF','872187','888888','892EE4','89FC63','8ADCFF',
|
||||||
|
'8BFEA8','8C8CFF','8CD1E6','8CEFFD','8D18AB','8DC7BB','8EB4E6','8ED6EA','8FFEDD','8FFF6F','9191FF','92FEF9','93BF96','93EEAA','9588EC','95FF4F',
|
||||||
|
'9669FE','990000','990033','990066','990099','990099','9900CC','9900FF','993300','993333','993366','993399','9933CC','9933FF','996600','996633',
|
||||||
|
'996666','996699','9966CC','9966FF','999900','999933','999966','999999','999999','9999CC','9999FF','9999FF','99C7FF','99C7FF','99CC00','99CC33',
|
||||||
|
'99CC66','99CC99','99CCCC','99CCFF','99E0FF','99FD77','99FF00','99FF33','99FF66','99FF99','99FFCC','99FFFF','9A03FE','9B4EE9','9D9D00','A095EE',
|
||||||
|
'A27AFE','A3FEBA','A41CC6','A4F0B7','A55FEB','A5D3CA','A5DBEB','A5FEE3','A5FEFA','A5FF8A','A6CAA9','A6DEEE','A827FE','A8A8FF','A8CFFF','A8E4FF',
|
||||||
|
'A9C5EB','AAAAAA','AAAAFF','AAFD8E','ABFF73','ACF3FD','AD8BFE','AE70ED','AE70ED','B05F3C','B0A7F1','B300B3','B3FF99','B445FE','B4D1B6','B5FFC8',
|
||||||
|
'B5FFFC','B6BA18','B7B7FF','B89AFE','B8E2EF','B9264F','B96F6F','BA21E0','BABA21','BAD0EF','BAFEA3','BBBBBB','BBBBFF','BBDAFF','BBEBFF','BC2EBC',
|
||||||
|
'BCB4F3','BD5CFE','BDF4CB','BDFFEA','BEFEEB','BF00BF','C06A45','C0A545','C0E0DA','C0E7F3','C0F7FE','C0F7FE','C0FF97','C17753','C269FE','C27E3A',
|
||||||
|
'C47557','C48484','C4ABFE','C6C6FF','C79BF2','C87C5B','C88E8E','C8B400','C8C800','C98767','C98A4B','C9DECB','C9EAF3','CA00CA','CACAFF','CAFEB8',
|
||||||
|
'CAFFD8','CB59E8','CB59E8','CB876D','CBC5F5','CC0000','CC0033','CC0066','CC0099','CC00CC','CC00FF','CC3300','CC3333','CC3366','CC3399','CC33CC',
|
||||||
|
'CC33FF','CC6600','CC6633','CC6666','CC6699','CC66CC','CC66FF','CC9900','CC9933','CC9966','CC9999','CC99CC','CC99FF','CCCC00','CCCC33','CCCC66',
|
||||||
|
'CCCC99','CCCCCC','CCCCCC','CCCCFF','CCFF00','CCFF33','CCFF66','CCFF99','CCFFCC','CCFFFF','CD85FE','CDD11B','CEA8F4','CEB86C','CEDEF4','CEF0FF',
|
||||||
|
'CEFFFD','CF8D72','CFE7E2','CFFEF0','D0977B','D0BCFE','D0E6FF','D19C67','D1A0A0','D1D17A','D1FFB3','D29680','D2FFC4','D54FD5','D568FD','D698FE',
|
||||||
|
'D69E87','D6C485','D6F8DE','D73E68','D7ACAC','D7D1F8','D7D78A','D881ED','D8F0F8','D900D9','D97BFD','D9C400','D9F3FF','DAA794','DAAC96','DAAF85',
|
||||||
|
'DB00DB','DB9900','DBBFF7','DBDB97','DBDBFF','DBEADC','DBEBFF','DBF0F7','DCEDEA','DD597D','DD75DD','DD75DD','DD88FD','DDB791','DDB9B9','DDCEFF',
|
||||||
|
'DDDDDD','DDFED1','DEB19E','DECF9C','DFA800','DFB0FF','DFB4A4','DFDF00','DFE32D','DFFFCA','E0BBA9','E0E04E','E0EAF8','E1CAF9','E1E1A8','E1E1FF',
|
||||||
|
'E1FFFE','E29BFD','E37795','E3D6AA','E3E0FA','E3FBE9','E3FBE9','E469FE','E4C0B1','E4C6A7','E697E6','E6C5B9','E6CCCC','E6CE00','E6DBFF','E6E671',
|
||||||
|
'E6FCFF','E77AFE','E7A9FE','E7F3F1','E7FFDF','E8C6FF','E8CCBF','E8FFD9','E994AB','E9D0B6','E9E9BE','E9E9C0','E9F1EA','EA8DFE','EAA400','EAA6EA',
|
||||||
|
'EACDC1','EADFBF','EAEA8A','EAF1FB','EAF7FB','EAFEE2','EAFFEF','EAFFEF','EBD0C7','ECD5CA','ECD9D9','ECF4FF','ECFAFF','ED9EFE','EDA9BC','EDBEFE',
|
||||||
|
'EDDFFB','EDE4C9','EDEF85','EEBBEE','EEDCC8','EEEEA2','EEEECE','EEEECE','EEEEEE','EEEEFF','EEEEFF','EEF093','EFA9FE','EFCDF8','EFCDF8','EFD7FF',
|
||||||
|
'EFE7CF','EFEDFC','EFF9FC','F0B9C8','F0C4F0','F0CBFE','F0DCD5','F0DDD5','F0DDD5','F1ECFF','F1F1B1','F1F1D6','F1FEED','F206FF','F2BCFE','F2E4D5',
|
||||||
|
'F2F4B3','F2F9F8','F2FFEA','F2FFFE','F3E7E7','F3F8F4','F4CAD6','F4D2F4','F4D2F4','F4DCFE','F4F4BF','F5CAFF','F5E7E2','F5E8E2','F5E8E2','F5EEFD',
|
||||||
|
'F5EFE0','F5F5E2','F5F7C4','F5FFF2','F70000','F7DE00','F7F5FE','F7F7CE','F7F9D0','F7FBFA','F7FFFD','F8DAE2','F8E9FC','F8F1F1','F8FBFE','F900F9',
|
||||||
|
'F9BB00','F9D9FF','F9EEFF','F9EFEC','F9F3EC','F9F5EC','F9F9DD','F9F9FF','F9FCFF','F9FDFF','F9FEFF','F9FFFB','FAE7EC','FAECFF','FAF2EF','FAFBDF',
|
||||||
|
'FAFDFE','FAFEFB','FAFFF7','FBF9FF','FBFBE8','FBFDFB','FCF7F5','FCF9F5','FCFCE9','FDF2FF','FDF9FD','FDF9FF','FDFAF9','FDFAF9','FDFBFB','FDFCF9',
|
||||||
|
'FDFDF0','FDFDF9','FDFDFF','FDFEFF','FDFFFD','FDFFFF','FE67EB','FE67EB','FE8BF0','FE98F1','FEA9F3','FEFAFB','FEFDFF','FEFDFF','FEFEFA','FF0000',
|
||||||
|
'FF0033','FF0066','FF0099','FF00CC','FF00FF','FF2626','FF2DFF','FF3300','FF3333','FF3366','FF3399','FF33CC','FF33FF','FF4848','FF4AFF','FF5353',
|
||||||
|
'FF62B0','FF6600','FF6633','FF6666','FF6699','FF66CC','FF66FF','FF68DD','FF7373','FF73B9','FF7575','FF79E1','FF7DFF','FF800D','FF86C2','FF86E3',
|
||||||
|
'FF86FF','FF8A8A','FF8E8E','FF9331','FF9797','FF97CB','FF97E8','FF9900','FF9933','FF9966','FF9999','FF99CC','FF99FF','FF9C42','FFA04A','FFA4A4',
|
||||||
|
'FFA4FF','FFA8A8','FFA8D3','FFA8FF','FFAB60','FFAC62','FFACEC','FFACEC','FFB428','FFB5B5','FFB60B','FFBB7D','FFBBBB','FFBBDD','FFBBF7','FFBBFF',
|
||||||
|
'FFBD82','FFBE28','FFBF48','FFC48E','FFC4FF','FFC65B','FFC848','FFC895','FFC8C8','FFC8E3','FFC8F2','FFCAF9','FFCB2F','FFCC00','FFCC33','FFCC66',
|
||||||
|
'FFCC99','FFCCCC','FFCCFF','FFCE73','FFCEA2','FFCECE','FFCEFF','FFCFA4','FFD062','FFD34F','FFD586','FFD7B3','FFD9B7','FFDBFB','FFDD75','FFDEA2',
|
||||||
|
'FFDFDF','FFDFEF','FFDFF8','FFDFFF','FFE099','FFE1C6','FFE2C8','FFE3FF','FFE699','FFE6B5','FFE6D0','FFE920','FFEAB7','FFEAC4','FFEAEA','FFEAEA',
|
||||||
|
'FFEBD9','FFECB0','FFECEC','FFECF5','FFECFF','FFEEFB','FFEEFD','FFF06A','FFF1C6','FFF1E6','FFF284','FFF2D2','FFF2D9','FFF2F2','FFF4EA','FFF5D7',
|
||||||
|
'FFF7B7','FFF7E6','FFF9CE','FFF9EA','FFF9F4','FFF9FC','FFF9FE','FFF9FF','FFFAEA','FFFBDF','FFFDF7','FFFDF9','FFFDF9','FFFDFD','FFFDFF','FFFDFF',
|
||||||
|
'FFFEF7','FFFEFB','FFFEFD','FFFF00','FFFF33','FFFF66','FFFF84','FFFF99','FFFF99','FFFFAA','FFFFB5','FFFFC8','FFFFCC','FFFFD7','FFFFE3','FFFFFD',
|
||||||
|
'FFFFFF','FFFFFF','FFFFFF'
|
||||||
|
);
|
||||||
|
|
||||||
|
var browser_level;
|
||||||
|
if (window.top != window.self) {
|
||||||
|
browser_level = window.self;
|
||||||
|
}
|
||||||
|
else browser_level = window.top;
|
||||||
|
//alert(window.self == browser_level);
|
||||||
|
var ckedit_path;
|
||||||
|
if(browser_level.JSINFO['ckg_canonical']) {
|
||||||
|
ckedit_path = browser_level.DOKU_BASE + 'lib/plugins/ckgedit/ckeditor/';
|
||||||
|
config.doku_url = browser_level.DOKU_BASE;
|
||||||
|
config.ckedit_path = browser_level.DOKU_BASE + 'lib/plugins/ckgedit/ckeditor/';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ckedit_path = window.location.protocol +'//' + browser_level.dokuBase + 'lib/plugins/ckgedit/ckeditor/';
|
||||||
|
config.doku_url = window.location.protocol+ '//' + browser_level.dokuBase;
|
||||||
|
config.ckedit_path = window.location.protocol +'//' + browser_level.dokuBase + 'lib/plugins/ckgedit/ckeditor/';
|
||||||
|
}
|
||||||
|
config.jquery = browser_level.jQuery;
|
||||||
|
// config.format_code = { element : 'code', attributes : { 'class' : 'dwcode' } };
|
||||||
|
// Define changes to default configuration here.
|
||||||
|
// For the complete reference:
|
||||||
|
// http://docs.ckeditor.com/#!/api/CKEDITOR.config
|
||||||
|
config.scayt__disable = false;
|
||||||
|
browser_level.ckgedit_language_chk(config); //resets language if $conf['other_lang'] != 'default' and resets auto scayt to true of false
|
||||||
|
// config.scayt_autoStartup = true;
|
||||||
|
config.format_tags = 'p;h1;h2;h3;h4;h5';
|
||||||
|
config.extraSpecialChars = ['↔'];
|
||||||
|
config.extraPlugins = 'signature,footnote,shortcuts,fontAssist,tags,timestamp,headerbuttons,geshi,wrap,truetype'; //,pastebase64',devtools';
|
||||||
|
config.contentsLangDirection = '';
|
||||||
|
if( browser_level.ckgedit_isRTL()) config.contentsLangDirection = 'rtl';
|
||||||
|
config.pasteFromWordRemoveFontStyles = false; // preserve font style when "paste from word"
|
||||||
|
config.pasteFromWordRemoveStyles = false; // preserve style (color) when "paste from word"
|
||||||
|
config.allowedContent=true; // preserve highlight when "paste from word"
|
||||||
|
config.removeButtons = browser_level.remove_styling();
|
||||||
|
var font_assist = 'FontAssist';
|
||||||
|
//config.removeButtons = 'TextColor,BGColor, FontAssist,Font,FontSize';
|
||||||
|
if(config.removeButtons.match(/FontAssist/)) font_assist = "";
|
||||||
|
config.addPaste = function () {
|
||||||
|
config.extraPlugins +=',pastebase64';
|
||||||
|
}
|
||||||
|
|
||||||
|
config.skin = browser_level.getCKEditorGUI() ? browser_level.getCKEditorGUI() : 'moono';
|
||||||
|
//alert(browser_level.getCKEditorGUI());
|
||||||
|
config.wrapSyntaxDiv = browser_level.JSINFO['wrapDiv'] ;
|
||||||
|
config.wrapSyntaxSpan = browser_level.JSINFO['wrapSpan'] ;
|
||||||
|
config.ToolBarItemsAlt = {
|
||||||
|
'Signature':'Signature' ,'Footnotes':'Footnotes','Scayt':'Scayt'
|
||||||
|
};
|
||||||
|
|
||||||
|
if(browser_level.JSINFO['wrapDiv']) {
|
||||||
|
config.wrapSyntaxDiv = browser_level.JSINFO['wrapDiv'];
|
||||||
|
}
|
||||||
|
else config.wrapSyntaxDiv = "";
|
||||||
|
if(browser_level.JSINFO['wrapSpan']) {
|
||||||
|
config.wrapSyntaxSpan = browser_level.JSINFO['wrapSpan'];
|
||||||
|
}
|
||||||
|
else config.wrapSyntaxSpan = "";
|
||||||
|
|
||||||
|
if(config.scayt__disable) {
|
||||||
|
config.ToolBarItemsAlt['Scayt'] = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
var xtra = browser_level.extra_plugins(config);
|
||||||
|
|
||||||
|
if(!xtra) {
|
||||||
|
xtra = 'Msword,Geshi';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var xtras = xtra.split(',');
|
||||||
|
if(xtras.indexOf('Msword') == -1) {
|
||||||
|
xtra += ',Msword';
|
||||||
|
}
|
||||||
|
if(xtras.indexOf('Geshi') == -1) {
|
||||||
|
xtra += ',Geshi';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (browser_level.JSINFO['has_tags']) {
|
||||||
|
xtra+=',Tags';
|
||||||
|
}
|
||||||
|
if(browser_level.JSINFO['has_wrap']) {
|
||||||
|
xtra+=',Wrap';
|
||||||
|
}
|
||||||
|
config.ToolBarItemsExtra = "";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(xtra) {
|
||||||
|
config.ToolBarItemsExtra = xtra.split(',');
|
||||||
|
if(xtra) {
|
||||||
|
config.extraPlugins += ',' + xtra.toLowerCase();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
config.toolbar_Dokuwiki =
|
||||||
|
[
|
||||||
|
{name: 'header_buttons', items: ['same_header', 'lower_header', 'higher_header', 'none_header']},
|
||||||
|
{ name: 'basicstyles', items : [ 'Bold','Italic','Underline', 'TrueType', 'Strike','Subscript','Superscript','-','RemoveFormat' ] },
|
||||||
|
{ name: 'editing', items : [ 'Find','Replace','-','SelectAll','-'] },
|
||||||
|
{ name: 'insert', items : [ 'Image','Table','HorizontalRule','Smiley','SpecialChar', config.ToolBarItemsAlt['Signature'] ,config.ToolBarItemsAlt['Footnotes'] ]},
|
||||||
|
{ name: 'links', items : [ 'Link','Unlink' ] },
|
||||||
|
{ name: 'styles', items : [ 'Format', 'Styles' ,'Font','FontSize'] },
|
||||||
|
{ name: 'colors', items : [ 'TextColor','BGColor', font_assist ] },
|
||||||
|
{ name: 'paragraph', items : [ 'NumberedList','BulletedList','Indent','Outdent','Blockquote'] },
|
||||||
|
{ name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
|
||||||
|
{ name: 'basicstyles', items: [ 'basicstyles', 'cleanup',config.ToolBarItemsAlt['Scayt'] ] },
|
||||||
|
{ name: 'tools', items : ['Source', 'Maximize','-','About'] },
|
||||||
|
{name: 'extras', items: config.ToolBarItemsExtra }
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
config.toolbar_DokuwikiNoGuest =
|
||||||
|
[
|
||||||
|
{ name: 'styles', items : [ 'Source'] },
|
||||||
|
{ name: 'tools', items : [ 'About' ] }
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
config.toolbar_DokuwikiGuest =
|
||||||
|
[
|
||||||
|
{ name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
|
||||||
|
{ name: 'editing', items : [ 'Find','Replace','-','SelectAll'] },
|
||||||
|
{ name: 'insert', items : [ 'Table','HorizontalRule','Smiley','SpecialChar', 'Footnotes'] },
|
||||||
|
{ name: 'styles', items : [ 'Format', 'Styles' ] },
|
||||||
|
{ name: 'paragraph', items : [ 'NumberedList','BulletedList','Indent','Outdent'] },
|
||||||
|
{ name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','-','Undo','Redo' ] },
|
||||||
|
{ name: 'basicstyles', items: [ 'basicstyles', 'cleanup' ] },
|
||||||
|
{ name: 'tools', items : [ 'Maximize','-','About' ] },
|
||||||
|
];
|
||||||
|
|
||||||
|
config.wrap_lang;
|
||||||
|
var params = 'call=wrap_lang&lang=' + CKEDITOR.lang.detect( 'en' ) ;
|
||||||
|
var get_wrap_lang = function() {
|
||||||
|
config.jquery.post(
|
||||||
|
config.doku_url + 'lib/exe/ajax.php',
|
||||||
|
params ,
|
||||||
|
function (data,status) {
|
||||||
|
if(status == "success") {
|
||||||
|
config.wrap_lang = JSON.parse(data);
|
||||||
|
}
|
||||||
|
else alert('lang failed');
|
||||||
|
},
|
||||||
|
'html'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
get_wrap_lang();
|
||||||
|
config.dokuSmileyPath = config.doku_url + 'lib/images/smileys/';
|
||||||
|
config.dokuSmileyImages =
|
||||||
|
[['8-)','icon_cool.gif'],
|
||||||
|
['8-O','icon_eek.gif'],
|
||||||
|
[':-(','icon_sad.gif'],
|
||||||
|
[':-)','icon_smile.gif'],
|
||||||
|
['=)','icon_smile2.gif'],
|
||||||
|
[':-/','icon_doubt.gif'],
|
||||||
|
[':-?','icon_confused.gif'],
|
||||||
|
[':-D','icon_biggrin.gif'],
|
||||||
|
[':-P','icon_razz.gif'],
|
||||||
|
|
||||||
|
[':-O','icon_surprised.gif'],
|
||||||
|
[':-X','icon_silenced.gif'],
|
||||||
|
|
||||||
|
[':-|','icon_neutral.gif'],
|
||||||
|
[';-)','icon_wink.gif'],
|
||||||
|
['^_^','icon_fun.gif'],
|
||||||
|
[':?:','icon_question.gif'],
|
||||||
|
[':!:','icon_exclaim.gif'],
|
||||||
|
['LOL','icon_lol.gif']];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function do_smileys() {
|
||||||
|
config.jquery.post(
|
||||||
|
ckedit_path + "dwsmileys.php",
|
||||||
|
function(data,status) {
|
||||||
|
if(status == "success") {
|
||||||
|
config.dokuSmileyConfImages = new Array();
|
||||||
|
smileys = data.replace(/#.*?\n/g,"");
|
||||||
|
smileys = smileys.replace(/^[\s\n]+$/mg,"");
|
||||||
|
smileys=smileys.split(/\n/);
|
||||||
|
if(!smileys[0]) smileys.shift();
|
||||||
|
if(!smileys[smileys.length-1]) smileys.pop();
|
||||||
|
for(var i=0; i < smileys.length; i++) {
|
||||||
|
var a = smileys[i].split(/\s+/);
|
||||||
|
if(a[0].match(/DELETEME/) || a[0].match(/FIXME/)) {
|
||||||
|
config.dokuFixmeSmiley.push( a);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else if(a[0].match(/^([A-Z])+$/) && (!a[0].match(/^LOL$/))) {
|
||||||
|
config.dokuLargeSmiley.push(a);
|
||||||
|
config.dokuSmileyConfImages[i] =" ";
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
else config.dokuSmileyConfImages[i] = a;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'html'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
config.removePlugins = 'liststyle';
|
||||||
|
config.dokuFixmeSmiley = new Array();
|
||||||
|
config.dokuLargeSmiley = new Array();
|
||||||
|
config.dokuSmileyConfImages;
|
||||||
|
try {
|
||||||
|
do_smileys();
|
||||||
|
}catch(ex){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
config.ckgProtocols = "";
|
||||||
|
var get_dw_protocols = function() {
|
||||||
|
config.jquery.post(
|
||||||
|
ckedit_path + "schemes.php",
|
||||||
|
function (data,status) {
|
||||||
|
if(status == "success") {
|
||||||
|
config.ckgProtocols=data;
|
||||||
|
} else config.ckgProtocols = 'no data';
|
||||||
|
},
|
||||||
|
'html'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
get_dw_protocols();
|
||||||
|
config.ckgEditorVer;
|
||||||
|
var get_ckgeditor_version = function() {
|
||||||
|
config.jquery.post(
|
||||||
|
ckedit_path + "get_version.php",
|
||||||
|
function (data,status) {
|
||||||
|
if(status == "success") {
|
||||||
|
config.ckgEditorVer=data;
|
||||||
|
}
|
||||||
|
else config.ckgEditorVer = "Dokuwiki plugin: ckgedit";
|
||||||
|
},
|
||||||
|
'html'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
var getIwikiData = function() {
|
||||||
|
config.jquery.ajax({
|
||||||
|
method: "POST",
|
||||||
|
url: config.doku_url + 'lib/exe/ajax.php',
|
||||||
|
data: { call: 'iwiki_list'},
|
||||||
|
async: true,
|
||||||
|
dataType: "json",
|
||||||
|
})
|
||||||
|
.done(function(data)
|
||||||
|
{
|
||||||
|
retv = data;
|
||||||
|
config.ckgeditIwikiData = retv;
|
||||||
|
})
|
||||||
|
.fail(function(jqXHR, textStatus, errorThrown )
|
||||||
|
{
|
||||||
|
alert(textStatus);
|
||||||
|
alert(errorThrown);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
getIwikiData();
|
||||||
|
|
||||||
|
var SelectOptions = function() {
|
||||||
|
var retv;
|
||||||
|
config.jquery.ajax(
|
||||||
|
config.doku_url + 'lib/exe/ajax.php',
|
||||||
|
{
|
||||||
|
data:
|
||||||
|
{
|
||||||
|
call: 'geshi_sel'
|
||||||
|
},
|
||||||
|
type: "GET",
|
||||||
|
dataType: "html",
|
||||||
|
success: function(data, textStatus, jqXHR)
|
||||||
|
{
|
||||||
|
config.geshi_opts = data;
|
||||||
|
},
|
||||||
|
error: function(jqXHR, textStatus, errorThrown )
|
||||||
|
{
|
||||||
|
alert(textStatus);
|
||||||
|
alert(errorThrown);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// return retv;
|
||||||
|
};
|
||||||
|
SelectOptions();
|
||||||
|
config.filebrowserWindowWidth='60%';
|
||||||
|
config.filebrowserWindowHeight = '60%';
|
||||||
|
//config.filebrowserWindowFeatures = 'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes,left=20';
|
||||||
|
|
||||||
|
get_ckgeditor_version();
|
||||||
|
|
||||||
|
CKEDITOR.lang['default'] = {};
|
||||||
|
CKEDITOR.lang['default']['fbrowser'] = {
|
||||||
|
FileBrowserError_101: 'Folder already exists.',
|
||||||
|
FileBrowserError_102: 'Invalid folder name',
|
||||||
|
FileBrowserError_103: 'You have no permissions to create the folder.',
|
||||||
|
FileBrowserError_110: 'Unknown error creating folder',
|
||||||
|
FileBrowserError_201: 'A file with the same name is already available. The uploaded file has been renamed to: ',
|
||||||
|
FileBrowserError_202: 'Invalid file',
|
||||||
|
FileBrowserError_203: 'You do not have permission to upload files to this folder. If you think this is incorrect please notify your administrator.',
|
||||||
|
FileBrowserError_204: 'Unable to delete the selected file',
|
||||||
|
FileBrowserError_205: 'Unable to rename the selected file; check your directory/write permisssions',
|
||||||
|
FileBrowserError_206: ' already exists; you must either delete or rename it. ',
|
||||||
|
FileBrowserError_default: 'Error on your request. Error number: ',
|
||||||
|
FileBrowserError_Ajax: 'Your browser does not support AJAX.',
|
||||||
|
FileBrowserError_XML: 'The server didn\'t reply with a proper XML data. Please check your configuration.' ,
|
||||||
|
FileBrowserError_Folder_Submit: 'Please type the folder name.',
|
||||||
|
FileBrowserError_File_Submit: 'Please select a file from your computer',
|
||||||
|
FileBrowserError_Upload: 'Error on upload. Error number: ',
|
||||||
|
FileBrowserError_Connector: 'The connector is disabled. Check editor/filemanager/connectors/php/config.php',
|
||||||
|
FileBrowserError_Command: 'Unsupported command: ',
|
||||||
|
FileBrowserError_Type: 'Invalid type specified: ',
|
||||||
|
FolderMoveWarning: 'You can only move files to a folder one level below the current directory',
|
||||||
|
FileBrowserError_301: "The uploaded file exceeds the upload_max_filesize directive in php.ini.",
|
||||||
|
FileBrowserError_302: "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form.",
|
||||||
|
FileBrowserError_303: "The uploaded file was only partially uploaded.",
|
||||||
|
FileBrowserError_304: "No file was uploaded.",
|
||||||
|
FileBrowserError_306: "Missing a temporary folder.",
|
||||||
|
FileBrowserError_307: "Failed to write file to disk.",
|
||||||
|
FileBrowserError_308: "PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help.",
|
||||||
|
DlgFileBrowserUpMsg: "Upload a new file in this folder",
|
||||||
|
DlgFileBrowserRead : "read-only",
|
||||||
|
DlgFileBrowserWrite : "uploadable",
|
||||||
|
DlgFileBrowserNewFolder: "Create Folder",
|
||||||
|
DlgFileBrowserResourceType: "Resource Type",
|
||||||
|
DlgLnkUpload : "Upload",
|
||||||
|
DlgFileBrowserMove: "Move",
|
||||||
|
InternalLink: "internal link",
|
||||||
|
InternalMedia: "internal media",
|
||||||
|
MediaFileLink: "link to media file",
|
||||||
|
SMBLabel: "Samba Share",
|
||||||
|
GetHeadingsLabel: 'Get Headings' ,
|
||||||
|
QStringLabel: 'Query String (For example: value_1=1&value_2=2) ',
|
||||||
|
ResetQS: 'Reset Query String',
|
||||||
|
NotSetOption: 'Not Set',
|
||||||
|
AdvancedInfo: "To create anchors from Dokuwiki headers, click on the Get Headings button, select the header, click OK. You can go back, select a new page and get new headers.",
|
||||||
|
AdvancedTabPrompt: 'Use the advanced tab to create page anchors and query strings',
|
||||||
|
SMBExample: "Enter your share as: \\\\Server\\directory\\file",
|
||||||
|
InterWikiLink: "Interwiki Link",
|
||||||
|
DlgFileBrowserWaitingMsg: 'Loading files, please wait.',
|
||||||
|
};
|
||||||
|
CKEDITOR.lang['default']['footnote'] = {
|
||||||
|
FootNoteInfo: '<div style="padding: 18px;font-size:125%;line-height:125%;">'+
|
||||||
|
'<ul style="list-style-type:disc;"><li>To create a footnote enter the footnote text into the editing box and click OK</li>'+
|
||||||
|
'<li>To edit a footnote enter the footnote id into the id box and click the Load button. <br /> The footnote will '+
|
||||||
|
'appear in the editing box, where you can then edit it.<br /> When you are finished editing, click OK to save.</li>'+
|
||||||
|
'<li> A footnote id has this form: <b>fckgL_<n></b>, where n is the number of the note.</li></ul></div>',
|
||||||
|
ToolTip: 'Insert a footnote',
|
||||||
|
Settings: 'Settings',
|
||||||
|
Header: 'This dialog window lets you create and edit footnotes.',
|
||||||
|
Label_1 :'Footnote Text (required)',
|
||||||
|
Label_2: 'Footnote Id: ',
|
||||||
|
LoadButtonLabel : 'Load Note In Editor',
|
||||||
|
Title : 'Footnote Dialog',
|
||||||
|
Validate: 'The footnote text field cannot be empty.',
|
||||||
|
|
||||||
|
};
|
||||||
|
CKEDITOR.lang['default']['fontassist'] = {
|
||||||
|
Title: 'Font Plugin Editor',
|
||||||
|
ToolTip: 'Check and Revise Font Styling',
|
||||||
|
MainHeader: 'View and optionally alter text styled with the font plugin .',
|
||||||
|
SelectColor : ' Select Color',
|
||||||
|
SelectedTextColor : 'Selected Text Color',
|
||||||
|
SelectedBGColor : 'Selected Background Color',
|
||||||
|
BGColors : 'Background Colors',
|
||||||
|
InfoText : '<div style="max-width:400px; font-size: 12pt; white-space: pre-wrap;border:1px solid #cccccc; margin:auto; height: 350px; overflow:auto;">' +
|
||||||
|
'This tool works with the font plugin and is used to update the font plugin\'s syntax and/or view its enclosed text. ' +
|
||||||
|
'Clicking anywhere on the plugin syntax or its text will enable you to check the appearance of the font, its colors, and its size.'+
|
||||||
|
'<br /><br />You can also update the plugin syntax in place. To do this you must select both the font syntax itself and the enclosed text:' +
|
||||||
|
'<p style="text-indent: 50px; font-size: 12pt;"> <font. . . >text</font></p>' +
|
||||||
|
'Then whatever changes you make with this tool can be inserted into the editor window, by clicking OK, and will replace the current font syntax. ' +
|
||||||
|
'<br /><br />The font syntax will appear in the textbox below the display window and is updated with each change. '+
|
||||||
|
'Clicking on the text will select the text for copying.</div>',
|
||||||
|
Main: 'Main',
|
||||||
|
Text : 'Text',
|
||||||
|
IfChecked : ' If checked, uncheck to activate OK button',
|
||||||
|
Fonts : 'Fonts',
|
||||||
|
FontSizes : 'Font Sizes (px)',
|
||||||
|
ResetFont : 'Reset font',
|
||||||
|
ResetAll : 'Reset all',
|
||||||
|
TextColors : 'Text Colors',
|
||||||
|
Accept :'Accept',
|
||||||
|
Reset : 'Reset',
|
||||||
|
none : 'none',
|
||||||
|
};
|
||||||
|
CKEDITOR.lang['default']['signature'] = {
|
||||||
|
ToolTip: 'Insert signature'
|
||||||
|
};
|
||||||
|
|
||||||
|
config.allowedContent = true;
|
||||||
|
|
||||||
|
}; //end config.js
|
504
lib/plugins/ckgedit/ckeditor/contents-default.css
Normal file
@@ -0,0 +1,504 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
|
||||||
|
For licensing, see LICENSE.html or http://ckeditor.com/license
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
This CSS applies to the old 'default' Dokuwiki template
|
||||||
|
*/
|
||||||
|
body
|
||||||
|
{
|
||||||
|
/* Font */
|
||||||
|
font-family: Arial, Verdana, sans-serif;
|
||||||
|
font-size: 12px;
|
||||||
|
|
||||||
|
/* Text color */
|
||||||
|
color: #222;
|
||||||
|
|
||||||
|
/* Remove the background color to make it transparent */
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol,ul,dl
|
||||||
|
{
|
||||||
|
/* IE7: reset rtl list margin. (#7334) */
|
||||||
|
*margin-right:0px;
|
||||||
|
/* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/
|
||||||
|
padding:0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
body, td, th {
|
||||||
|
font: 80% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
body
|
||||||
|
{
|
||||||
|
background-color: #ffffff;
|
||||||
|
padding: 5px 5px 5px 5px;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
table { min-width: 50%; }
|
||||||
|
|
||||||
|
th, .tblheader {
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid #8cacbb !important;
|
||||||
|
background-color: #dee7ec;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
td {
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid #8cacbb !important;
|
||||||
|
}
|
||||||
|
td
|
||||||
|
{
|
||||||
|
/* font-family: Arial, Verdana, sans-serif;
|
||||||
|
font-size: 10pt;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href]
|
||||||
|
{
|
||||||
|
/* color: -moz-hyperlinktext !important; */ /* For Firefox... mark as important, otherwise it becomes black */
|
||||||
|
/* text-decoration: -moz-anchor-decoration; */ /* For Firefox 3, otherwise no underline will be used */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Just uncomment the following block if you want to avoid spaces between
|
||||||
|
paragraphs. Remember to apply the same style in your output front end page.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
p, ul, li
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
The following are some sample styles used in the "Styles" toolbar command.
|
||||||
|
You should instead remove them, and include the styles used by the site
|
||||||
|
you are using the editor in.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.Bold
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.Title
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #cc3300;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
pre {
|
||||||
|
margin: 0 0 1.0em 0;
|
||||||
|
font-size: 120%;
|
||||||
|
padding: 0.5em;
|
||||||
|
border: 1px dashed black;
|
||||||
|
color: black;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* code blocks by code tag */
|
||||||
|
pre.code {
|
||||||
|
background-color: #f7f9fa;
|
||||||
|
line-height:100%;
|
||||||
|
}
|
||||||
|
pre.file {
|
||||||
|
background-color: #dee7ec;
|
||||||
|
line-height:100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1,h2,h3,h4,h5 {
|
||||||
|
color: black;
|
||||||
|
background-color: inherit;
|
||||||
|
font-size: 100%;
|
||||||
|
font-weight: normal;
|
||||||
|
margin: 0 0 1em 0;
|
||||||
|
padding: 0.5em 0 0 0;
|
||||||
|
border-bottom: 1px solid #8cacbb;
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
h1,h2,h3,h4,h5
|
||||||
|
{
|
||||||
|
color: black !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
h1 {font-size: 160%; margin-left: 0px; font-weight: bold;}
|
||||||
|
h2 {font-size: 150%; margin-left: 20px;}
|
||||||
|
h3 {font-size: 140%; margin-left: 40px; border-bottom: none; font-weight: bold;}
|
||||||
|
h4 {font-size: 120%; margin-left: 60px; border-bottom: none; font-weight: bold; }
|
||||||
|
h5 {font-size: 100%; margin-left: 80px; border-bottom: none; font-weight: bold;}
|
||||||
|
|
||||||
|
div.level1 {margin-left: 3px;}
|
||||||
|
div.level2 {margin-left: 23px;}
|
||||||
|
div.level3 {margin-left: 43px;}
|
||||||
|
div.level4 {margin-left: 63px;}
|
||||||
|
div.dokuwiki div.level5 {margin-left: 83px;}
|
||||||
|
|
||||||
|
img.media {
|
||||||
|
border: 0;
|
||||||
|
margin: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.medialeft {
|
||||||
|
border: 0;
|
||||||
|
margin: 0 1.5em 0 0;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.baseline {
|
||||||
|
vertical-align:bottom;
|
||||||
|
text-align:left;
|
||||||
|
display:block;
|
||||||
|
border: 0;
|
||||||
|
margin: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.mediaright {
|
||||||
|
border: 0;
|
||||||
|
float: right;
|
||||||
|
margin: 0 0 0 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
img.mediacenter, .mediacenter {
|
||||||
|
text-align:center;
|
||||||
|
display:block;
|
||||||
|
border: 0 ;
|
||||||
|
border-top: 3px solid none;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.leftalign {text-align: left;}
|
||||||
|
.centeralign {text-align: center;}
|
||||||
|
.rightalign {text-align: right;}
|
||||||
|
|
||||||
|
|
||||||
|
div.footnotes {
|
||||||
|
clear: both;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
padding-left: 1em;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.fn {
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.fn_bot {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.dwcode {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
/* unordered lists */
|
||||||
|
ul {
|
||||||
|
line-height: 1.5em;
|
||||||
|
list-style-type: square;
|
||||||
|
list-style-image: none;
|
||||||
|
margin: 0 0 1em 3.5em;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ordered lists */
|
||||||
|
ol {
|
||||||
|
line-height: 1.5em;
|
||||||
|
list-style-image: none;
|
||||||
|
margin: 0 0 1em 3.5em;
|
||||||
|
color: black;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* no gap in between nested lists */
|
||||||
|
li ul {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
li ol {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ol {list-style-type: decimal}
|
||||||
|
ol ol {list-style-type: upper-roman}
|
||||||
|
ol ol ol {list-style-type: lower-alpha}
|
||||||
|
ol ol ol ol {list-style-type: lower-greek}
|
||||||
|
|
||||||
|
li { font-weight: normal; }
|
||||||
|
|
||||||
|
a.windows {
|
||||||
|
background: transparent url(images/windows.gif) 0px 1px no-repeat;
|
||||||
|
padding: 1px 0px 1px 16px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.urlextern {
|
||||||
|
background: transparent url(images/link_icon.gif) 0px 1px no-repeat;
|
||||||
|
padding: 1px 0px 1px 16px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.wikilink2 {
|
||||||
|
color: red !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a.wikilink1 {
|
||||||
|
color: green !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.np_break {
|
||||||
|
line-height: 50%;
|
||||||
|
border:0px;
|
||||||
|
padding:0px;
|
||||||
|
margin:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* filenames for file and code blocks */
|
||||||
|
dl.file,
|
||||||
|
dl.code {
|
||||||
|
margin-top: 2em;
|
||||||
|
margin-bottom: 2.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.file dt,
|
||||||
|
dl.code dt {
|
||||||
|
border: 1px dashed #8cacbb;
|
||||||
|
display: inline;
|
||||||
|
padding: 0.1em 1em;
|
||||||
|
margin-left: 5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.code dt a,
|
||||||
|
dl.file dt a {
|
||||||
|
color:#000;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.code dt {
|
||||||
|
background-color: __background_other__;
|
||||||
|
border-bottom: 1px solid __background_other__;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.file dt {
|
||||||
|
background-color: #dee7ec;
|
||||||
|
border-bottom: 1px solid #dee7ec;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd pre.file {
|
||||||
|
line-height: 125%;
|
||||||
|
}
|
||||||
|
/* syntax highlighting code */
|
||||||
|
.code .br0 { color: #66cc66; }
|
||||||
|
.code .co0 { color: #808080; font-style: italic; }
|
||||||
|
.code .co1 { color: #808080; font-style: italic; }
|
||||||
|
.code .co2 { color: #808080; font-style: italic; }
|
||||||
|
.code .co3 { color: #808080; }
|
||||||
|
.code .coMULTI { color: #808080; font-style: italic; }
|
||||||
|
.code .es0 { color: #000099; font-weight: bold; }
|
||||||
|
.code .kw1 { color: #b1b100; }
|
||||||
|
.code .kw2 { color: #000000; font-weight: bold; }
|
||||||
|
.code .kw3 { color: #000066; }
|
||||||
|
.code .kw4 { color: #993333; }
|
||||||
|
.code .kw5 { color: #0000ff; }
|
||||||
|
.code .me1 { color: #006600; }
|
||||||
|
.code .me2 { color: #006600; }
|
||||||
|
.code .nu0 { color: #cc66cc; }
|
||||||
|
.code .re0 { color: #0000ff; }
|
||||||
|
.code .re1 { color: #0000ff; }
|
||||||
|
.code .re2 { color: #0000ff; }
|
||||||
|
.code .re3 { color: #ff3333; font-weight:bold; }
|
||||||
|
.code .re4 { color: #009999; }
|
||||||
|
.code .st0 { color: #ff0000; }
|
||||||
|
.code .sy0 { color: #66cc66; }
|
||||||
|
|
||||||
|
a.mediafile {
|
||||||
|
background: url(images/fileicons/file.png) no-repeat scroll 0 1px transparent;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
padding-left: 18px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* email link */
|
||||||
|
a.mail {
|
||||||
|
background: transparent url(images/mail_icon.gif) 0px 1px no-repeat;
|
||||||
|
padding: 1px 0px 1px 16px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_gz {
|
||||||
|
background-image: url(images/fileicons/gz.png);
|
||||||
|
}
|
||||||
|
a.mf_csv {
|
||||||
|
background-image: url(images/fileicons/csv.png);
|
||||||
|
}
|
||||||
|
a.mf_gif {
|
||||||
|
background-image: url(images/fileicons/gif.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_png {
|
||||||
|
background-image: url(images/fileicons/png.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_txt {
|
||||||
|
background-image: url(images/fileicons/txt.png);
|
||||||
|
}
|
||||||
|
a.mf_tar {
|
||||||
|
background-image: url(images/fileicons/tar.png);
|
||||||
|
}
|
||||||
|
a.mf_jpg {
|
||||||
|
background-image: url(images/fileicons/jpg.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_xml {
|
||||||
|
background-image: url(images/fileicons/xml.png);
|
||||||
|
}
|
||||||
|
a.mf_c {
|
||||||
|
background-image: url(images/fileicons/c.png);
|
||||||
|
}
|
||||||
|
a.mf_ppt {
|
||||||
|
background-image: url(images/fileicons/ppt.png);
|
||||||
|
}
|
||||||
|
a.mf_conf {
|
||||||
|
background-image: url(images/fileicons/conf.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_xls {
|
||||||
|
background-image: url(images/fileicons/xls.png);
|
||||||
|
}
|
||||||
|
a.mf_doc {
|
||||||
|
background-image: url(images/fileicons/doc.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_php {
|
||||||
|
background-image: url(images/fileicons/php.png);
|
||||||
|
}
|
||||||
|
a.mf_cs {
|
||||||
|
background-image: url(images/fileicons/cs.png);
|
||||||
|
}
|
||||||
|
a.mf_pdf {
|
||||||
|
background-image: url(images/fileicons/pdf.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_odc {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_cpp {
|
||||||
|
background-image: url(images/fileicons/cpp.png);
|
||||||
|
}
|
||||||
|
a.mf_sql {
|
||||||
|
background-image: url(images/fileicons/sql.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_bz2 {
|
||||||
|
background-image: url(images/fileicons/bz2.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_zip {
|
||||||
|
background-image: url(images/fileicons/zip.png);
|
||||||
|
}
|
||||||
|
a.mf_deb {
|
||||||
|
background-image: url(images/fileicons/deb.png);
|
||||||
|
}
|
||||||
|
a.mf_jpeg {
|
||||||
|
background-image: url(images/fileicons/jpeg.png);
|
||||||
|
}
|
||||||
|
a.mf_odg {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_py {
|
||||||
|
background-image: url(images/fileicons/py.png);
|
||||||
|
}
|
||||||
|
a.mf_js {
|
||||||
|
background-image: url(images/fileicons/js.png);
|
||||||
|
}
|
||||||
|
a.mf_java {
|
||||||
|
background-image: url(images/fileicons/java.png);
|
||||||
|
}
|
||||||
|
a.mf_htm {
|
||||||
|
background-image: url(images/fileicons/htm.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_odt {
|
||||||
|
background-image: url(images/fileicons/odt.png);
|
||||||
|
}
|
||||||
|
a.mf_rtf {
|
||||||
|
background-image: url(images/fileicons/rtf.png);
|
||||||
|
}
|
||||||
|
a.mf_odf {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_css {
|
||||||
|
background-image: url(images/fileicons/css.png);
|
||||||
|
}
|
||||||
|
a.mf_docx {
|
||||||
|
background-image: url(images/fileicons/docx.png);
|
||||||
|
}
|
||||||
|
a.mf_xlsx {
|
||||||
|
background-image: url(images/fileicons/xlsx.png);
|
||||||
|
}
|
||||||
|
a.mf_odp {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_rar {
|
||||||
|
background-image: url(images/fileicons/rar.png);
|
||||||
|
}
|
||||||
|
a.mf_tgz {
|
||||||
|
background-image: url(images/fileicons/tgz.png);
|
||||||
|
}
|
||||||
|
a.mf_7z {
|
||||||
|
background-image: url(images/fileicons/7z.png);
|
||||||
|
}
|
||||||
|
a.mf_html {
|
||||||
|
background-image: url(images/fileicons/html.png);
|
||||||
|
}
|
||||||
|
a.mf_pl {
|
||||||
|
background-image: url(images/fileicons/pl.png);
|
||||||
|
}
|
||||||
|
a.mf_rpm {
|
||||||
|
background-image: url(images/fileicons/rpm.png);
|
||||||
|
}
|
||||||
|
a.mf_ps {
|
||||||
|
background-image: url(images/fileicons/ps.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_swf {
|
||||||
|
background-image: url(images/fileicons/swf.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_epub {
|
||||||
|
background-image: url(images/fileicons/epub.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.interwiki {
|
||||||
|
background: url(images/fileicons/wp.gif) no-repeat scroll 0 1px transparent;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
padding-left: 18px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
a.interwiki {
|
||||||
|
background-image: url(images/fileicons/wp.gif);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
span.multi_p_open
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
1
lib/plugins/ckgedit/ckeditor/contents.css
Normal file
571
lib/plugins/ckgedit/ckeditor/contents.css.unc
Normal file
@@ -0,0 +1,571 @@
|
|||||||
|
@import "additional.css";
|
||||||
|
|
||||||
|
body
|
||||||
|
{
|
||||||
|
font: normal 87.5%/1.4 Arial, sans-serif;
|
||||||
|
/* default font size: 100% => 16px; 93.75% => 15px; 87.5% => 14px; 81.25% => 13px; 75% => 12px */
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
|
||||||
|
/* Text color */
|
||||||
|
color: #222;
|
||||||
|
|
||||||
|
/* Remove the background color to make it transparent */
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol,ul,dl
|
||||||
|
{
|
||||||
|
margin-right:0px;
|
||||||
|
/* preserved spaces for list items with text direction other than the list. (#6249,#8049)*/
|
||||||
|
padding:0 40px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
empty-cells: show;
|
||||||
|
border-spacing: 0;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
min-width: 40%;
|
||||||
|
}
|
||||||
|
|
||||||
|
th, .tblheader {
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid #8cacbb !important;
|
||||||
|
background-color: #dee7ec;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
caption {
|
||||||
|
caption-side: top;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
[dir=rtl] caption {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
th,
|
||||||
|
td {
|
||||||
|
padding: .3em .5em;
|
||||||
|
margin: 0;
|
||||||
|
vertical-align: top;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
|
th {
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: #eee;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
a[href]
|
||||||
|
{
|
||||||
|
/* color: -moz-hyperlinktext !important; */ /* For Firefox... mark as important, otherwise it becomes black */
|
||||||
|
/* text-decoration: -moz-anchor-decoration; */ /* For Firefox 3, otherwise no underline will be used */
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Just uncomment the following block if you want to avoid spaces between
|
||||||
|
paragraphs. Remember to apply the same style in your output front end page.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
p, ul, li
|
||||||
|
{
|
||||||
|
margin-top: 0px;
|
||||||
|
margin-bottom: 0px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
The following are some sample styles used in the "Styles" toolbar command.
|
||||||
|
You should instead remove them, and include the styles used by the site
|
||||||
|
you are using the editor in.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.Bold
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.Title
|
||||||
|
{
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 18px;
|
||||||
|
color: #cc3300;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre,
|
||||||
|
tt,
|
||||||
|
code,
|
||||||
|
samp,
|
||||||
|
kbd {
|
||||||
|
font-family: Consolas, "Andale Mono WT", "Andale Mono", "Bitstream Vera Sans Mono", "Nimbus Mono L", Monaco, "Courier New", monospace;
|
||||||
|
/* same font stack should be used for ".dokuwiki table.diff td" in _diff.css */
|
||||||
|
font-size: 1em;
|
||||||
|
direction: ltr;
|
||||||
|
text-align: left;
|
||||||
|
background-color: #fbfaf9;
|
||||||
|
color: #333;
|
||||||
|
box-shadow: inset 0 0 .3em #ccc;
|
||||||
|
border-radius: 2px;
|
||||||
|
}
|
||||||
|
/* fix if background-color hides underlining */
|
||||||
|
em.u code {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*code new tmpl start*/
|
||||||
|
pre {
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
padding: .75em 1em;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* for code in <file> */
|
||||||
|
|
||||||
|
/* filenames for downloadable file and code blocks */
|
||||||
|
dl.code,
|
||||||
|
dl.file {
|
||||||
|
}
|
||||||
|
pre {
|
||||||
|
overflow: auto;
|
||||||
|
word-wrap: normal;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-radius: 2px;
|
||||||
|
box-shadow: inset 0 0 .5em #ccc;
|
||||||
|
padding: .7em 1em;
|
||||||
|
background-color: #fbfaf9 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.code dt a,
|
||||||
|
dl.file dt a {
|
||||||
|
background-color: transparent;
|
||||||
|
font-size: 0.875em;
|
||||||
|
font-weight: normal;
|
||||||
|
display: block;
|
||||||
|
min-height: 16px;
|
||||||
|
color: #2b73b7 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.code dt,
|
||||||
|
dl.file dt {
|
||||||
|
background-color: #fbfaf9;
|
||||||
|
color: inherit;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
border-bottom-color: #fbfaf9;
|
||||||
|
border-top-left-radius: .3em;
|
||||||
|
border-top-right-radius: .3em;
|
||||||
|
padding: .3em .6em .1em;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
margin-bottom: -1px;
|
||||||
|
margin-left:0px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
dl.code dd,
|
||||||
|
dl.file dd {
|
||||||
|
margin: 0;
|
||||||
|
clear: left;
|
||||||
|
background-color: #fbfaf9;
|
||||||
|
}
|
||||||
|
/* Code new tmpl ends */
|
||||||
|
|
||||||
|
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
|
h5,
|
||||||
|
h6,
|
||||||
|
caption,
|
||||||
|
legend {
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
font-weight: bold;
|
||||||
|
background-color: inherit;
|
||||||
|
padding: 0;
|
||||||
|
line-height: 1.2;
|
||||||
|
clear: left; /* ideally 'both', but problems with toc */
|
||||||
|
}
|
||||||
|
|
||||||
|
img.baseline {
|
||||||
|
vertical-align:bottom;
|
||||||
|
text-align:left;
|
||||||
|
display:block;
|
||||||
|
border: 0;
|
||||||
|
margin: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* image alignment */
|
||||||
|
.medialeft {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
.mediaright {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.mediacenter {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
img.media {
|
||||||
|
margin: .2em 0;
|
||||||
|
}
|
||||||
|
img.medialeft {
|
||||||
|
margin: .2em 1em .2em 0;
|
||||||
|
}
|
||||||
|
img.mediaright {
|
||||||
|
margin: .2em 0 .2em 1em;
|
||||||
|
}
|
||||||
|
img.mediacenter {
|
||||||
|
margin: .2em auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.leftalign {text-align: left;}
|
||||||
|
.centeralign {text-align: center;}
|
||||||
|
.rightalign {text-align: right;}
|
||||||
|
|
||||||
|
|
||||||
|
div.footnotes {
|
||||||
|
clear: both;
|
||||||
|
border-top: 1px solid black;
|
||||||
|
padding-left: 1em;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.fn {
|
||||||
|
font-size: 90%;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.fn_bot {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*____________ lists ____________*/
|
||||||
|
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
padding: 0 0 0 1.5em;
|
||||||
|
}
|
||||||
|
li,
|
||||||
|
dd {
|
||||||
|
padding: 0;
|
||||||
|
margin: 0 0 0 1.5em;
|
||||||
|
}
|
||||||
|
dt {
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
li ul,
|
||||||
|
li ol,
|
||||||
|
li dl,
|
||||||
|
dl ul,
|
||||||
|
dl ol,
|
||||||
|
dl dl {
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
li li {
|
||||||
|
font-size: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul { list-style: square outside; }
|
||||||
|
ol { list-style: decimal outside; }
|
||||||
|
ol ol { list-style-type: lower-alpha; }
|
||||||
|
ol ol ol { list-style-type: upper-roman; }
|
||||||
|
ol ol ol ol { list-style-type: upper-alpha; }
|
||||||
|
ol ol ol ol ol { list-style-type: lower-roman; }
|
||||||
|
|
||||||
|
|
||||||
|
a.urlextern,
|
||||||
|
a.windows,
|
||||||
|
a.mail,
|
||||||
|
a.mediafile,
|
||||||
|
a.interwiki {
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: 0 center;
|
||||||
|
padding: 0 0 0 20px;
|
||||||
|
color: #1c86ff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.windows {
|
||||||
|
background: transparent url(images/unc.png) 0px 1px no-repeat;
|
||||||
|
padding: 1px 0px 1px 16px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.urlextern {
|
||||||
|
background: transparent url(images/external-link.png) 0px 1px no-repeat;
|
||||||
|
padding: 1px 0px 1px 16px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a.wikilink2:link,
|
||||||
|
a.wikilink2:visited {
|
||||||
|
border-bottom: 1px dashed;
|
||||||
|
}
|
||||||
|
a.wikilink2:hover,
|
||||||
|
a.wikilink2:active,
|
||||||
|
a.wikilink2:focus {
|
||||||
|
border-bottom-width: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
a.wikilink2 {
|
||||||
|
color: red !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
a.wikilink1 {
|
||||||
|
color: green !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.np_break {
|
||||||
|
line-height: 50%;
|
||||||
|
border:0px;
|
||||||
|
padding:0px;
|
||||||
|
margin:0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* syntax highlighting code */
|
||||||
|
.code .br0 { color: #66cc66; }
|
||||||
|
.code .co0 { color: #808080; font-style: italic; }
|
||||||
|
.code .co1 { color: #808080; font-style: italic; }
|
||||||
|
.code .co2 { color: #808080; font-style: italic; }
|
||||||
|
.code .co3 { color: #808080; }
|
||||||
|
.code .coMULTI { color: #808080; font-style: italic; }
|
||||||
|
.code .es0 { color: #000099; font-weight: bold; }
|
||||||
|
.code .kw1 { color: #b1b100; }
|
||||||
|
.code .kw2 { color: #000000; font-weight: bold; }
|
||||||
|
.code .kw3 { color: #000066; }
|
||||||
|
.code .kw4 { color: #993333; }
|
||||||
|
.code .kw5 { color: #0000ff; }
|
||||||
|
.code .me1 { color: #006600; }
|
||||||
|
.code .me2 { color: #006600; }
|
||||||
|
.code .nu0 { color: #cc66cc; }
|
||||||
|
.code .re0 { color: #0000ff; }
|
||||||
|
.code .re1 { color: #0000ff; }
|
||||||
|
.code .re2 { color: #0000ff; }
|
||||||
|
.code .re3 { color: #ff3333; font-weight:bold; }
|
||||||
|
.code .re4 { color: #009999; }
|
||||||
|
.code .st0 { color: #ff0000; }
|
||||||
|
.code .sy0 { color: #66cc66; }
|
||||||
|
|
||||||
|
a.mediafile {
|
||||||
|
background: url(images/fileicons/file.png) no-repeat scroll 0 1px transparent;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
padding-left: 18px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* email link */
|
||||||
|
a.mail {
|
||||||
|
background: transparent url(images/mail_icon.gif) 0px 1px no-repeat;
|
||||||
|
padding: 1px 0px 1px 16px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_gz {
|
||||||
|
background-image: url(images/fileicons/gz.png);
|
||||||
|
}
|
||||||
|
a.mf_csv {
|
||||||
|
background-image: url(images/fileicons/csv.png);
|
||||||
|
}
|
||||||
|
a.mf_gif {
|
||||||
|
background-image: url(images/fileicons/gif.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_png {
|
||||||
|
background-image: url(images/fileicons/png.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_txt {
|
||||||
|
background-image: url(images/fileicons/txt.png);
|
||||||
|
}
|
||||||
|
a.mf_tar {
|
||||||
|
background-image: url(images/fileicons/tar.png);
|
||||||
|
}
|
||||||
|
a.mf_jpg {
|
||||||
|
background-image: url(images/fileicons/jpg.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_xml {
|
||||||
|
background-image: url(images/fileicons/xml.png);
|
||||||
|
}
|
||||||
|
a.mf_c {
|
||||||
|
background-image: url(images/fileicons/c.png);
|
||||||
|
}
|
||||||
|
a.mf_ppt {
|
||||||
|
background-image: url(images/fileicons/ppt.png);
|
||||||
|
}
|
||||||
|
a.mf_conf {
|
||||||
|
background-image: url(images/fileicons/conf.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_xls {
|
||||||
|
background-image: url(images/fileicons/xls.png);
|
||||||
|
}
|
||||||
|
a.mf_doc {
|
||||||
|
background-image: url(images/fileicons/doc.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_php {
|
||||||
|
background-image: url(images/fileicons/php.png);
|
||||||
|
}
|
||||||
|
a.mf_cs {
|
||||||
|
background-image: url(images/fileicons/cs.png);
|
||||||
|
}
|
||||||
|
a.mf_pdf {
|
||||||
|
background-image: url(images/fileicons/pdf.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_odc {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_cpp {
|
||||||
|
background-image: url(images/fileicons/cpp.png);
|
||||||
|
}
|
||||||
|
a.mf_sql {
|
||||||
|
background-image: url(images/fileicons/sql.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_bz2 {
|
||||||
|
background-image: url(images/fileicons/bz2.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_zip {
|
||||||
|
background-image: url(images/fileicons/zip.png);
|
||||||
|
}
|
||||||
|
a.mf_deb {
|
||||||
|
background-image: url(images/fileicons/deb.png);
|
||||||
|
}
|
||||||
|
a.mf_jpeg {
|
||||||
|
background-image: url(images/fileicons/jpeg.png);
|
||||||
|
}
|
||||||
|
a.mf_odg {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_py {
|
||||||
|
background-image: url(images/fileicons/py.png);
|
||||||
|
}
|
||||||
|
a.mf_js {
|
||||||
|
background-image: url(images/fileicons/js.png);
|
||||||
|
}
|
||||||
|
a.mf_java {
|
||||||
|
background-image: url(images/fileicons/java.png);
|
||||||
|
}
|
||||||
|
a.mf_htm {
|
||||||
|
background-image: url(images/fileicons/htm.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_odt {
|
||||||
|
background-image: url(images/fileicons/odt.png);
|
||||||
|
}
|
||||||
|
a.mf_rtf {
|
||||||
|
background-image: url(images/fileicons/rtf.png);
|
||||||
|
}
|
||||||
|
a.mf_odf {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_css {
|
||||||
|
background-image: url(images/fileicons/css.png);
|
||||||
|
}
|
||||||
|
a.mf_docx {
|
||||||
|
background-image: url(images/fileicons/docx.png);
|
||||||
|
}
|
||||||
|
a.mf_xlsx {
|
||||||
|
background-image: url(images/fileicons/xlsx.png);
|
||||||
|
}
|
||||||
|
a.mf_odp {
|
||||||
|
background-image: url(images/fileicons/odg.png);
|
||||||
|
}
|
||||||
|
a.mf_rar {
|
||||||
|
background-image: url(images/fileicons/rar.png);
|
||||||
|
}
|
||||||
|
a.mf_tgz {
|
||||||
|
background-image: url(images/fileicons/tgz.png);
|
||||||
|
}
|
||||||
|
a.mf_7z {
|
||||||
|
background-image: url(images/fileicons/7z.png);
|
||||||
|
}
|
||||||
|
a.mf_html {
|
||||||
|
background-image: url(images/fileicons/html.png);
|
||||||
|
}
|
||||||
|
a.mf_pl {
|
||||||
|
background-image: url(images/fileicons/pl.png);
|
||||||
|
}
|
||||||
|
a.mf_rpm {
|
||||||
|
background-image: url(images/fileicons/rpm.png);
|
||||||
|
}
|
||||||
|
a.mf_ps {
|
||||||
|
background-image: url(images/fileicons/ps.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_swf {
|
||||||
|
background-image: url(images/fileicons/swf.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.mf_epub {
|
||||||
|
background-image: url(images/fileicons/epub.png);
|
||||||
|
}
|
||||||
|
|
||||||
|
a.interwiki {
|
||||||
|
background: url(images/fileicons/wp.gif) no-repeat scroll 0 1px transparent;
|
||||||
|
padding-bottom: 1px;
|
||||||
|
padding-left: 18px;
|
||||||
|
color: #436976 !important;
|
||||||
|
text-decoration: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dl.code dd,
|
||||||
|
dl.file dd {
|
||||||
|
margin: 0;
|
||||||
|
clear: left;
|
||||||
|
min-height: 1px; /* for IE7 */
|
||||||
|
}
|
||||||
|
|
||||||
|
[dir=rtl] .dokuwiki dl.code dd,
|
||||||
|
[dir=rtl] .dokuwiki dl.file dd {
|
||||||
|
clear: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.multi_p_open
|
||||||
|
{
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
a.urlextern,
|
||||||
|
a.windows,
|
||||||
|
a.mail,
|
||||||
|
a.mediafile,
|
||||||
|
a.interwiki,
|
||||||
|
a.urlextern:visited,
|
||||||
|
a.windows:visited,
|
||||||
|
a.mail:visited,
|
||||||
|
a.mediafile:visited,
|
||||||
|
a.interwiki:visited
|
||||||
|
{
|
||||||
|
color: #1c86ff !important;
|
||||||
|
text-decoration:none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote {
|
||||||
|
padding-left: .5em;
|
||||||
|
margin-left: 1.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
8
lib/plugins/ckgedit/ckeditor/css/additional.css
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
blockquote {
|
||||||
|
border: 1px dotted #ccc;
|
||||||
|
background: #eee url(data:image/gif;base64,R0lGODlhLgAcAMQAAPT09PHx8e7u7unp6ejo6Ofn5+bm5uXl5eTk5OPj4+Li4t/f397e3t3d3dzc3Nvb29ra2v///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAABEALAAAAAAuABwAAAW2YCSOJLkgaJqWrKi+ram8dBwJdB03Od3Ehh6MdUgIXwvWcVhyLFEMCEP5tD2WD1tkqY1chT/t0dB1CrNiIVl7OCbTwu722F0Cujzhoa6WG4UObGMBfEtvVEtrLU8qhyOMKIokkCl7IwOUCAWIlJOZCJyQlnOZBCWfCAqPqKesIm2frbEimLMjeZQJnpmhT45BlKMjX5C9RwKLkGiyiTaMqi3AXHA90EDTeD2Bcj1yJSeV3rugXSEAOw==) no-repeat 0.3em 0.3em;
|
||||||
|
padding: 1em;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 1em auto 1em auto;
|
||||||
|
max-width: 90%;
|
||||||
|
}
|
10
lib/plugins/ckgedit/ckeditor/dwsmileys.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
lib/plugins/ckgedit/fckeditor/dwsmileys.php
|
||||||
|
*/
|
||||||
|
|
||||||
|
$SMILEYS = realpath(dirname(__FILE__).'/../../../../').'/conf/smileys.conf';
|
||||||
|
if(!file_exists($SMILEYS)) $SMILEYS ='/etc/dokuwiki/smileys.conf';
|
||||||
|
$LOCAL = preg_replace("/\.conf$/", '.local.conf', $SMILEYS) ;
|
||||||
|
if(file_exists($LOCAL)) readfile($LOCAL);
|
||||||
|
readfile($SMILEYS);
|
84
lib/plugins/ckgedit/ckeditor/get_headers.php
Normal file
@@ -0,0 +1,84 @@
|
|||||||
|
<?php
|
||||||
|
define("DOKU_INC", realpath(dirname(__FILE__).'/../../../../') . '/');
|
||||||
|
define ("DOKU_PLUGIN", DOKU_INC . 'lib/plugins/');
|
||||||
|
define("PAGES", DOKU_INC . 'data/pages/');
|
||||||
|
define("FCKEDITOR", DOKU_PLUGIN . 'ckgedit/fckeditor/editor/');
|
||||||
|
define('CONNECTOR', FCKEDITOR . 'filemanager/connectors/php/');
|
||||||
|
require_once(CONNECTOR . 'check_acl.php');
|
||||||
|
if(file_exists(DOKU_INC.'inc/Input.class.php')) {
|
||||||
|
require_once(DOKU_INC.'inc/Input.class.php');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
require_once(DOKU_PLUGIN . 'ckgedit/fckeditor/editor/filemanager/connectors/php/Input.class.php');
|
||||||
|
}
|
||||||
|
require_once(CONNECTOR . 'SafeFN.class.php');
|
||||||
|
global $dwfck_conf;
|
||||||
|
global $Dwfck_conf_values;
|
||||||
|
$INPUT = new Input();
|
||||||
|
$page = $INPUT->str('dw_id');
|
||||||
|
$page = ltrim($page, ':');
|
||||||
|
|
||||||
|
$dwfck_conf = doku_config_values(); // needed for cleanID
|
||||||
|
$Dwfck_conf_values = $dwfck_conf;
|
||||||
|
$page = str_replace(':', '/',$page);
|
||||||
|
$page = dwiki_encodeFN($page);
|
||||||
|
|
||||||
|
if(!empty($Dwfck_conf_values['ckg_savedir'])) {
|
||||||
|
if (stristr(PHP_OS, 'WIN')) {
|
||||||
|
$path = realpath(DOKU_INC . $Dwfck_conf_values['ckg_savedir']);
|
||||||
|
$path .= '/pages/' . $page . '.txt';
|
||||||
|
}
|
||||||
|
else $path = $Dwfck_conf_values['ckg_savedir'] . '/pages/' . $page . '.txt';
|
||||||
|
}
|
||||||
|
else $path = PAGES . $page . '.txt';
|
||||||
|
|
||||||
|
$resp = "";
|
||||||
|
$headers = array();
|
||||||
|
$lines = file($path);
|
||||||
|
|
||||||
|
foreach ($lines as $line) {
|
||||||
|
if (preg_match('/^=+([^=]+)=+\s*$/',$line,$matches)) {
|
||||||
|
$suffix_anchor = "";
|
||||||
|
$suffix_header = "";
|
||||||
|
if(isset($headers[$matches[1]])) {
|
||||||
|
$headers[$matches[1]]++;
|
||||||
|
$suffix_anchor = $headers[$matches[1]];
|
||||||
|
$suffix_header = " [$suffix_anchor]";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$headers[$matches[1]]=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
$resp .= trim($matches[1]) . $suffix_header . ";;" ;
|
||||||
|
$resp .= cleanID($matches[1]). $suffix_anchor . "@@" ;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$resp = rtrim($resp,'@');
|
||||||
|
echo rawurlencode($resp);
|
||||||
|
//file_put_contents('ajax-resp.txt', "dw_id=" . $_REQUEST['dw_id'] . "\npage=$page\npath=$path\n$resp\n" );
|
||||||
|
|
||||||
|
echo "\n";
|
||||||
|
function doku_config_values() {
|
||||||
|
$dwphp = DOKU_INC . 'conf/dokuwiki.php';
|
||||||
|
$localphp = DOKU_INC . 'conf/local.php';
|
||||||
|
$conf['ckg_savedir']= false;
|
||||||
|
if(file_exists($dwphp))
|
||||||
|
{
|
||||||
|
include($dwphp);
|
||||||
|
if(file_exists($localphp))
|
||||||
|
{
|
||||||
|
include($localphp);
|
||||||
|
}
|
||||||
|
$sv = preg_replace("#^\.+/#","",$conf['savedir']);
|
||||||
|
if($sv != 'data') {
|
||||||
|
$conf['ckg_savedir']= $conf['savedir'];
|
||||||
|
}
|
||||||
|
return $conf;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
8
lib/plugins/ckgedit/ckeditor/get_version.php
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
lib/plugins/ckgedit/fckeditor/dwsmileys.php
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo file_get_contents('../version');
|
BIN
lib/plugins/ckgedit/ckeditor/images/email.png
Normal file
After Width: | Height: | Size: 659 B |
BIN
lib/plugins/ckgedit/ckeditor/images/external-link.png
Normal file
After Width: | Height: | Size: 816 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/7z.png
Normal file
After Width: | Height: | Size: 415 B |
2
lib/plugins/ckgedit/ckeditor/images/fileicons/README
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
For the generator of these files see
|
||||||
|
https://github.com/splitbrain/file-icon-generator/blob/master/example-dokuwiki.php
|
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/asm.png
Normal file
After Width: | Height: | Size: 427 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/audio.png
Normal file
After Width: | Height: | Size: 727 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/bash.png
Normal file
After Width: | Height: | Size: 433 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/bz2.png
Normal file
After Width: | Height: | Size: 419 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/c.png
Normal file
After Width: | Height: | Size: 412 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/cc.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/conf.png
Normal file
After Width: | Height: | Size: 402 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/cpp.png
Normal file
After Width: | Height: | Size: 430 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/cs.png
Normal file
After Width: | Height: | Size: 419 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/csh.png
Normal file
After Width: | Height: | Size: 427 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/css.png
Normal file
After Width: | Height: | Size: 427 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/csv.png
Normal file
After Width: | Height: | Size: 409 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/deb.png
Normal file
After Width: | Height: | Size: 421 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/diff.png
Normal file
After Width: | Height: | Size: 425 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/doc.png
Normal file
After Width: | Height: | Size: 410 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/docx.png
Normal file
After Width: | Height: | Size: 415 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/file.png
Normal file
After Width: | Height: | Size: 319 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/gif.png
Normal file
After Width: | Height: | Size: 407 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/gz.png
Normal file
After Width: | Height: | Size: 417 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/h.png
Normal file
After Width: | Height: | Size: 411 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/hpp.png
Normal file
After Width: | Height: | Size: 417 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/htm.png
Normal file
After Width: | Height: | Size: 417 B |
BIN
lib/plugins/ckgedit/ckeditor/images/fileicons/html.png
Normal file
After Width: | Height: | Size: 417 B |