diff --git a/wikiplugin_pjsviz.php b/wikiplugin_pjsviz.php new file mode 100644 index 0000000..2f1c994 --- /dev/null +++ b/wikiplugin_pjsviz.php @@ -0,0 +1,113 @@ += 3.0 +function wikiplugin_pjsviz_help() { + return "do the viz"; +} + +function wikiplugin_pjsviz_info() { + return array( + 'name' => tra('Pjsviz'), + 'documentation' => 'PJS Viz', + 'description' => tra('Display a visualization of edits.'), + 'format' => 'html', // html or wiki + 'prefs' => array( 'wikiplugin_pjsviz'), + // else fails on the feature_myfeature + // each plugin can have an admin setting(pref) to enable them + 'body' => tra('explain what the body of the plugin means'), + //'validate' =>'all', + //add this line if each insertion of this plugin needs to be validated by an admin, + // (because new or modified plugin body or plugin arguments is found). Possible values are: 'all', body' or 'arguments'. + 'params' => array( + /* + 'title' => array( + 'required' => false, + 'name' => tra('Title'), + 'description' => tra('Describe what title is'), + ), + */ + ), + ); +} + +function wikiplugin_pjsviz($data, $params) { + require_once ('tiki-setup.php'); + include_once ('lib/wiki/histlib.php'); + $pagename = "Testing"; + $history = $histlib->get_page_history($pagename); + //var_dump($history); returned from the newest to the oldest + $pjs_path = "/tiki/lib/processingjs/processing.min.js"; + $processinglocalfile = 'e:\webserver\htdocs\tiki\lib\processingjs\edits_per_page\\'.$pagename.".pjs"; + $processingfile = "/tiki/lib/processingjs/edits_per_page/$pagename.pjs"; + $canvasheight = 600-2*10; + $canvaswidth = 100; + $block_width = 90; + $block_height = 4; + $content = ""; + foreach ($history as $edit){ + $diffs[] = intval($edit["lastModif"]); + } + //var_dump($diffs); + $min = min($diffs); + $max = max($diffs); + $number_of_diffs = count($history); + $now = time(); + $content .= ""; + $canvas = " + void setup() + { + size($canvaswidth, $canvasheight); +PFont font; +font = loadFont(\"FFScala-Bold-12.vlw\"); +textFont(font); + } + void mouseMoved() { + checkButtons(); + } + + void mouseDragged() { + checkButtons(); + } + void draw() + { + background(251); + fill(0,0,255,20); + noStroke(); +"; + foreach ($diffs as $diff){ + $x = 5; + $y = round ( ($canvasheight - $block_height) * ( (($now - $min)-($now-$diff)) / ($now - $min))); + $canvas .= "\t\trect($x,$y,$block_width,$block_height);\n"; + } + + $canvas .= "\t\tstroke(0,155);\n"; + $canvas .= "\t\tfill(0,0,255,80);\n"; + $canvas .= "\t\ttext(\"Edits:\",2,10 );\n"; + $canvas .= "}"; + + $write_result = file_put_contents($processinglocalfile,$canvas); + //here instead save to MongoDB + + $content .= '
'; + return $content; + + //************************************************************* + //kept just to use if parameters are later given + if( isset( $params["title"] ) ) { + $title = $params["title"]; + return "Hello World __".$title."__ $data!"; + } else { + // Indicate that a parameter is missing + return WikiParser_PluginOutput::argumentError( array('title') ); + } + //************************************************************* +} + +?>