= 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') ); } //************************************************************* } ?>