parent
cfdf74cbc4
commit
a9ee627ad5
@ -0,0 +1,113 @@ |
|||||||
|
<?php |
||||||
|
/* |
||||||
|
* Discovery Tiki by |
||||||
|
* porting http://fabien.benetou.fr/pub/pim_functions.php.txt |
||||||
|
* by following http://dev.tiki.org/Hello+World#To_create_a_new_plugin |
||||||
|
* test in http://localhost/tiki/tiki-index.php?page=Testing |
||||||
|
*/ |
||||||
|
|
||||||
|
|
||||||
|
//the info function is needed for tw >= 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 .= "<script src=\"$pjs_path\" type=\"text/javascript\"></script>"; |
||||||
|
$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 .= '<canvas data-src="'.$processingfile.'" width="'.$canvaswidth.'" height="'.$canvasheight.'"></canvas><br/>'; |
||||||
|
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') ); |
||||||
|
} |
||||||
|
//************************************************************* |
||||||
|
} |
||||||
|
|
||||||
|
?> |
Loading…
Reference in new issue