/** * Return data on a resource view (this will be some form of HTML) * * @param object $resource Current resource * @param string $option Name of the component * @param array $areas Active area(s) * @param string $rtrn Data to be returned * @return array */ public function onResources($model, $option, $areas, $rtrn = 'all') { $arr = array('area' => $this->_name, 'html' => '', 'metadata' => ''); // Check if our area is in the array of areas we want to return results for if (is_array($areas)) { if (!array_intersect($areas, $this->onResourcesAreas($model)) && !array_intersect($areas, array_keys($this->onResourcesAreas($model)))) { $rtrn = 'metadata'; } } // Display only for tools if (!$model->isTool()) { return $arr; } if ($rtrn == 'all' || $rtrn == 'html') { $database = App::get('db'); $tv = new \Components\Tools\Tables\Version($database); $rows = $tv->getVersions($model->resource->alias); // Get contribtool params $tconfig = Component::params('com_tools'); // Instantiate a view $view = $this->view('default', 'browse')->set('tconfig', $tconfig)->set('option', $option)->set('resource', $model->resource)->set('rows', $rows); // Return the output $arr['html'] = $view->loadTemplate(); } if ($rtrn == 'all' || $rtrn == 'metadata') { $arr['metadata'] = ''; } return $arr; }