mirror of
https://github.com/UnickSoft/graphonline.git
synced 2026-04-16 13:25:34 +00:00
first commit
This commit is contained in:
82
wiki/scripts/guiedit.php
Executable file
82
wiki/scripts/guiedit.php
Executable file
@@ -0,0 +1,82 @@
|
||||
<?php if (!defined('PmWiki')) exit();
|
||||
/* Copyright 2004-2013 Patrick R. Michaud (pmichaud@pobox.com)
|
||||
This file is part of PmWiki; 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. See pmwiki.php for full details.
|
||||
|
||||
This script adds a graphical button bar to the edit page form.
|
||||
The buttons are placed in the $GUIButtons array; each button
|
||||
is specified by an array of five values:
|
||||
- the position of the button relative to others (a number)
|
||||
- the opening markup sequence
|
||||
- the closing markup sequence
|
||||
- the default text if none was highlighted
|
||||
- the text of the button, either (a) HTML markup or (b) the
|
||||
url of a gif/jpg/png image to be used for the button
|
||||
(along with optional "title" text in quotes).
|
||||
|
||||
The buttons specified in this file are the default buttons
|
||||
for the standard markups. Some buttons (e.g., the attach/upload
|
||||
button) are specified in their respective cookbook module.
|
||||
*/
|
||||
|
||||
SDVA($HTMLHeaderFmt, array('guiedit' => "<script type='text/javascript'
|
||||
src='\$FarmPubDirUrl/guiedit/guiedit.js'></script>\n"));
|
||||
|
||||
SDV($GUIButtonDirUrlFmt,'$FarmPubDirUrl/guiedit');
|
||||
|
||||
SDVA($GUIButtons, array(
|
||||
'em' => array(100, "''", "''", '$[Emphasized]',
|
||||
'$GUIButtonDirUrlFmt/em.gif"$[Emphasized (italic)]"',
|
||||
'$[ak_em]'),
|
||||
'strong' => array(110, "'''", "'''", '$[Strong]',
|
||||
'$GUIButtonDirUrlFmt/strong.gif"$[Strong (bold)]"',
|
||||
'$[ak_strong]'),
|
||||
'pagelink' => array(200, '[[', ']]', '$[Page link]',
|
||||
'$GUIButtonDirUrlFmt/pagelink.gif"$[Link to internal page]"'),
|
||||
'extlink' => array(210, '[[', ']]', 'http:// | $[link text]',
|
||||
'$GUIButtonDirUrlFmt/extlink.gif"$[Link to external page]"'),
|
||||
'big' => array(300, "'+", "+'", '$[Big text]',
|
||||
'$GUIButtonDirUrlFmt/big.gif"$[Big text]"'),
|
||||
'small' => array(310, "'-", "-'", '$[Small text]',
|
||||
'$GUIButtonDirUrlFmt/small.gif"$[Small text]"'),
|
||||
'sup' => array(320, "'^", "^'", '$[Superscript]',
|
||||
'$GUIButtonDirUrlFmt/sup.gif"$[Superscript]"'),
|
||||
'sub' => array(330, "'_", "_'", '$[Subscript]',
|
||||
'$GUIButtonDirUrlFmt/sub.gif"$[Subscript]"'),
|
||||
'h2' => array(400, '\\n!! ', '\\n', '$[Heading]',
|
||||
'$GUIButtonDirUrlFmt/h.gif"$[Heading]"'),
|
||||
'center' => array(410, '%center%', '', '',
|
||||
'$GUIButtonDirUrlFmt/center.gif"$[Center]"')));
|
||||
|
||||
Markup_e('e_guibuttons', 'directives',
|
||||
'/\\(:e_guibuttons:\\)/',
|
||||
"Keep(FmtPageName(GUIButtonCode(\$pagename), \$pagename))");
|
||||
|
||||
function GUIButtonCode($pagename) {
|
||||
global $GUIButtons;
|
||||
$cmpfn = create_function('$a,$b', 'return $a[0]-$b[0];');
|
||||
usort($GUIButtons, $cmpfn);
|
||||
$out = "<script type='text/javascript'><!--\n";
|
||||
foreach ($GUIButtons as $k => $g) {
|
||||
if (!$g) continue;
|
||||
@list($when, $mopen, $mclose, $mtext, $tag, $mkey) = $g;
|
||||
if ($tag{0} == '<') {
|
||||
$out .= "document.write(\"$tag\");\n";
|
||||
continue;
|
||||
}
|
||||
if (preg_match('/^(.*\\.(gif|jpg|png))("([^"]+)")?$/', $tag, $m)) {
|
||||
$title = (@$m[4] > '') ? "title='{$m[4]}'" : '';
|
||||
$tag = "<img src='{$m[1]}' $title style='border:0px;' />";
|
||||
}
|
||||
$mopen = str_replace(array('\\', "'"), array('\\\\', "\\\\'"), $mopen);
|
||||
$mclose = str_replace(array('\\', "'"), array('\\\\', "\\\\'"), $mclose);
|
||||
$mtext = str_replace(array('\\', "'"), array('\\\\', "\\\\'"), $mtext);
|
||||
$out .=
|
||||
"insButton(\"$mopen\", \"$mclose\", '$mtext', \"$tag\", \"$mkey\");\n";
|
||||
}
|
||||
$out .= '//--></script>';
|
||||
return $out;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user