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 |