DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:mathoperation

mathoperation Plugin

Compatible with DokuWiki

2008-05-05

plugin Allows math operations to be performed within a wiki page

Last updated on
2008-07-08
Provides
Syntax

The missing download url means that this extension cannot be installed via the Extension Manager. Please see Publishing a Plugin on dokuwiki.org. Recommended are public repository hosts like GitHub, GitLab or Bitbucket.

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Tagged with math

Version 1.1

DISCLAIMER. This plugin uses php eval() to evaluate the math string you provide. The following check is performed prior to the eval() method being called. This should ensure that only numeric and numeric operators are present in the string. Note that trig functions currently are not supported because of this preg_match call. If you can improve my checking method please feel free to drop me an email and let me know and take a stab at it yourself. I claim no responsibility for this plugin.

 if (!preg_match("/^[^a-zA-Z\!\@\#\$\%\&\{\}\[\]\?\>\<\,\"\:\;\~\'\`]+$/", $match))
 {
   $renderer->doc .= '{{mathop>}} ERROR - Not A Valid Entry, only numeric and operators are allowed';
   return true;
 }

Description

This plugin reads in a string of math operations and renderers the result of the operations. Any math operation should be valid as the plugin makes use of PHP eval() on the entered string. Note: Trig functions will not work in version 1.1 due to the way the string is checked for malicious code.

Syntax

{{mathop>[math_string]&[round_number]}}
  1. math_string contains the string to be evaluated (ex. 2 + 4 * 10 / 34)
  2. round_number is optional, it is the number of digits display on the right side of the decimal point. Setting this will round off to the specified precision.

Discussion

Version

Version Description
1.1 Fixed important security issue
1.0 Initial
plugin/mathoperation.txt · Last modified: 2018-05-30 17:57 by Aleksandr

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki