Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Michael Schreiber
passwordgrey
Commits
b9bc5c09
Commit
b9bc5c09
authored
Jan 09, 2020
by
Michael Schreiber
Browse files
refactoring, printed in black
parent
da8b9899
Changes
6
Hide whitespace changes
Inline
Side-by-side
README
0 → 100644
View file @
b9bc5c09
passwordgrey Plugin for DokuWiki
display passwords in grey
All documentation for this plugin can be found at
https://www.dokuwiki.org/plugin:passwordgrey
If you install this plugin manually, make sure it is installed in
lib/plugins/passwordgrey/ - if the folder is called different it
will not work!
Please refer to http://www.dokuwiki.org/plugins for additional info
on how to install plugins in DokuWiki.
----
Copyright (C) Michael Schreiber <m.schreiber@creatronics.de>
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; version 2 of the License
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.
See the LICENSING file for details
plugin.info.txt
View file @
b9bc5c09
base passwordgrey
author Michael Schreiber
email
passwordgrey
@creatronics.de
date 20
19-10-31
name
display passwords in grey
desc display passwords in
light
grey
.
email
m.schreiber
@creatronics.de
date 20
20-01-09
name
passwordgrey plugin
desc display passwords in grey
url https://www.dokuwiki.org/plugin:passwordgrey
script.js
View file @
b9bc5c09
...
...
@@ -25,7 +25,7 @@ function copyClip(id){
document
.
body
.
removeChild
(
el
);
el
=
document
.
createElement
(
"
div
"
);
el
.
setAttribute
(
"
style
"
,
"
font-size: 2em;text-align:center;vertical-alignment:middle;position:absolute;top:
10%
;left:
1
0%;
width:80%;height:80%
;background-color:
white
;
"
);
el
.
setAttribute
(
"
style
"
,
"
font-size: 2em;text-align:center;vertical-alignment:middle;position:absolute;top:
40px
;left:
5
0%;
transform: translate(-50%, 0)
;background-color:
lightgrey
;
"
);
el
.
innerHTML
=
"
Copied to clipboard!
"
;
setTimeout
(
function
(){
el
.
parentNode
.
removeChild
(
el
);
...
...
style.css
View file @
b9bc5c09
.passwordgrey
{
color
:
lightgray
;
}
syntax.php
deleted
100644 → 0
View file @
da8b9899
<?php
/**
* Plugin passwordgrey: displays Passwords in light grey
*
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
* @author Michael Schreiber <passwordgrey@creatronics.de>
* @based on color plugin by Christopher Smith
*/
// must be run within DokuWiki
if
(
!
defined
(
'DOKU_INC'
))
die
();
if
(
!
defined
(
'DOKU_PLUGIN'
))
define
(
'DOKU_PLUGIN'
,
DOKU_INC
.
'lib/plugins/'
);
require_once
(
DOKU_PLUGIN
.
'syntax.php'
);
/**
* All DokuWiki plugins to extend the parser/rendering mechanism
* need to inherit from this class
*/
class
syntax_plugin_passwordgrey
extends
DokuWiki_Syntax_Plugin
{
function
getType
(){
return
'formatting'
;
}
function
getAllowedTypes
()
{
return
array
(
'formatting'
,
'substition'
,
'disabled'
);
}
function
getSort
(){
return
158
;
}
function
connectTo
(
$mode
)
{
$this
->
Lexer
->
addEntryPattern
(
'<pwd>(?=.*?</pwd>)'
,
$mode
,
'plugin_passwordgrey'
);
}
function
postConnect
()
{
$this
->
Lexer
->
addExitPattern
(
'</pwd>'
,
'plugin_passwordgrey'
);
}
/**
* Handle the match
*/
function
handle
(
$match
,
$state
,
$pos
,
Doku_Handler
$handler
){
switch
(
$state
)
{
case
DOKU_LEXER_ENTER
:
return
array
(
$state
,
array
(
'color:lightgrey'
,
''
));
case
DOKU_LEXER_UNMATCHED
:
return
array
(
$state
,
$match
);
case
DOKU_LEXER_EXIT
:
return
array
(
$state
,
''
);
}
return
array
();
}
/**
* Create output
*/
function
render
(
$mode
,
Doku_Renderer
$renderer
,
$data
)
{
if
(
$mode
==
'xhtml'
){
$r
=
rand
(
0
,
100000
);
list
(
$state
,
$match
)
=
$data
;
switch
(
$state
)
{
case
DOKU_LEXER_ENTER
:
list
(
$color
,
$background
)
=
$match
;
$renderer
->
doc
.
=
"<span id='clipID_
$r
' onclick=
\"
javaScript:copyClip('clipID_"
.
$r
.
"');
\"
style='
$color
$background
'>"
;
break
;
case
DOKU_LEXER_UNMATCHED
:
$renderer
->
doc
.
=
$renderer
->
_xmlEntities
(
$match
);
break
;
case
DOKU_LEXER_EXIT
:
$renderer
->
doc
.
=
"</span>"
;
break
;
}
return
true
;
}
if
(
$mode
==
'odt'
){
list
(
$state
,
$match
)
=
$data
;
switch
(
$state
)
{
case
DOKU_LEXER_ENTER
:
list
(
$color
,
$background
)
=
$match
;
if
(
class_exists
(
'ODTDocument'
))
{
$renderer
->
_odtSpanOpenUseCSS
(
NULL
,
'style="'
.
$color
.
' '
.
$background
.
'"'
);
}
break
;
case
DOKU_LEXER_UNMATCHED
:
$renderer
->
cdata
(
$match
);
break
;
case
DOKU_LEXER_EXIT
:
if
(
class_exists
(
'ODTDocument'
))
{
$renderer
->
_odtSpanClose
();
}
break
;
}
return
true
;
}
return
false
;
}
}
syntax/passwordgrey.php
0 → 100644
View file @
b9bc5c09
<?php
/**
* DokuWiki Plugin passwordgrey (Syntax Component)
*
* @license GPL 2 http://www.gnu.org/licenses/gpl-2.0.html
* @author Michael Schreiber <m.schreiber@creatronics.de>
*/
// must be run within Dokuwiki
if
(
!
defined
(
'DOKU_INC'
))
{
die
();
}
class
syntax_plugin_passwordgrey_passwordgrey
extends
DokuWiki_Syntax_Plugin
{
/**
* @return string Syntax mode type
*/
public
function
getType
()
{
return
'formatting'
;
}
/**
* @return string Paragraph type
*/
public
function
getPType
()
{
return
'normal'
;
}
/**
* @return int Sort order - Low numbers go before high numbers
*/
public
function
getSort
()
{
return
158
;
}
/**
* Connect lookup pattern to lexer.
*
* @param string $mode Parser mode
*/
public
function
connectTo
(
$mode
)
{
$this
->
Lexer
->
addEntryPattern
(
'<pwd>(?=.*?</pwd>)'
,
$mode
,
'plugin_passwordgrey_passwordgrey'
);
}
public
function
postConnect
()
{
$this
->
Lexer
->
addExitPattern
(
'</pwd>'
,
'plugin_passwordgrey_passwordgrey'
);
}
/**
* Handle matches of the passwordgrey syntax
*
* @param string $match The match of the syntax
* @param int $state The state of the handler
* @param int $pos The position in the document
* @param Doku_Handler $handler The handler
*
* @return array Data for the renderer
*/
public
function
handle
(
$match
,
$state
,
$pos
,
Doku_Handler
$handler
)
{
switch
(
$state
)
{
case
DOKU_LEXER_ENTER
:
{
return
array
(
$state
,
array
(
'color:lightgrey'
,
''
));
}
case
DOKU_LEXER_UNMATCHED
:
return
array
(
$state
,
$match
);
case
DOKU_LEXER_EXIT
:
return
array
(
$state
,
''
);
}
return
array
();
}
/**
* Render xhtml output or metadata
*
* @param string $mode Renderer mode (supported modes: xhtml)
* @param Doku_Renderer $renderer The renderer
* @param array $data The data from the handler() function
*
* @return bool If rendering was successful.
*/
public
function
render
(
$mode
,
Doku_Renderer
$renderer
,
$data
)
{
if
(
$mode
==
'xhtml'
)
{
$r
=
rand
(
0
,
100000
);
list
(
$state
,
$match
)
=
$data
;
switch
(
$state
)
{
case
DOKU_LEXER_ENTER
:
list
(
$color
,
$background
)
=
$match
;
$renderer
->
doc
.
=
"<span id='clipID_
$r
' onclick=
\"
javaScript:copyClip('clipID_"
.
$r
.
"');
\"
style=
\"
font-weight: bold;
\"
class=
\"
passwordgrey
\"
>"
;
break
;
case
DOKU_LEXER_UNMATCHED
:
$renderer
->
doc
.
=
$renderer
->
_xmlEntities
(
$match
);
break
;
case
DOKU_LEXER_EXIT
:
{
$renderer
->
doc
.
=
"</span>"
;
break
;
}
}
return
true
;
}
if
(
$mode
==
'odt'
)
{
list
(
$state
,
$match
)
=
$data
;
switch
(
$state
)
{
case
DOKU_LEXER_ENTER
:
list
(
$color
,
$background
)
=
$match
;
if
(
class_exists
(
'ODTDocument'
))
{
$renderer
->
_odtSpanOpenUseCSS
(
NULL
,
'style="'
.
$color
.
' '
.
$background
.
'"'
);
}
break
;
case
DOKU_LEXER_UNMATCHED
:
$renderer
->
cdata
(
$match
);
break
;
case
DOKU_LEXER_EXIT
:
if
(
class_exists
(
'ODTDocument'
))
{
$renderer
->
_odtSpanClose
();
}
break
;
}
return
true
;
}
return
false
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment