| 
<?php
 /**
 * Plugin.php - Datatables plugin for Jaxon.
 */
 
 namespace Lagdo\Polr\Admin\Ext\Datatables;
 
 class Plugin extends \Jaxon\Plugin\Response
 {
 /**
 * Get the plugin name.
 *
 * @return string
 */
 public function getName()
 {
 return 'datatables';
 }
 
 /**
 * Get the plugin hash.
 *
 * @return string
 */
 public function generateHash()
 {
 // The version number is used as hash
 return '0.1.0';
 }
 
 /**
 * Get the javascript code.
 *
 * @return string
 */
 public function getScript()
 {
 return '
 jaxon.command.handler.register("datatables", function(args) {
 args.request.datatables.callback(args.data);
 });
 ';
 }
 
 /**
 * Show the Datatables.
 *
 * @return void
 */
 /*public function show($datatables, $total = 0, $filtered = 0)
 {
 $content = json_decode($datatables->content());
 if($total > 0)
 {
 $content->recordsTotal = $total;
 }
 if($filtered > 0)
 {
 $content->recordsFiltered = $filtered;
 }
 $this->addCommand(array('cmd' => 'datatables'), $content);
 }*/
 
 /**
 * Create a datatable object, and add the corresponding command into the response
 * @param array $data
 * @param integer $total
 * @param integer $draw
 * @return \Lagdo\Polr\Admin\Ext\Datatables\Datatables
 */
 public function make(array $data, $total, $draw = 0)
 {
 $datatables = new Datatables($data, $total, $draw);
 $this->addCommand(array('cmd' => 'datatables'), $datatables);
 
 return $datatables;
 }
 }
 
 |