HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux vmi1674223.contaboserver.net 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64
User: root (0)
PHP: 7.4.3-4ubuntu2.22
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/ojs/controllers/grid/subscriptions/SubscriptionsGridRow.inc.php
<?php

/**
 * @file controllers/grid/subscriptions/SubscriptionsGridRow.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 SubscriptionsGridRow
 * @ingroup controllers_grid_subscriptions
 *
 * @brief Subscriptions grid row definition
 */

import('lib.pkp.classes.controllers.grid.GridRow');
import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
import('lib.pkp.classes.linkAction.request.RedirectConfirmationModal');
import('lib.pkp.classes.linkAction.request.JsEventConfirmationModal');

class SubscriptionsGridRow extends GridRow {
	//
	// Overridden methods from GridRow
	//
	/**
	 * @copydoc GridRow::initialize()
	 */
	function initialize($request, $template = null) {
		parent::initialize($request, $template);

		// Is this a new row or an existing row?
		$element =& $this->getData();
		assert(is_a($element, 'IndividualSubscription') || is_a($element, 'InstitutionalSubscription'));

		$rowId = $this->getId();

		if (!empty($rowId) && is_numeric($rowId)) {
			// Only add row actions if this is an existing row
			$router = $request->getRouter();
			$actionArgs = array(
				'gridId' => $this->getGridId(),
				'rowId' => $rowId
			);

			$actionArgs = array_merge($actionArgs, $this->getRequestArgs());

			$this->addAction(new LinkAction(
				'edit',
				new AjaxModal(
					$router->url($request, null, null, 'editSubscription', null, $actionArgs),
					__('manager.subscriptions.edit'),
					'modal_edit',
					true
				),
				__('common.edit'),
				'edit'
			));
			if (!$element->isNonExpiring()) $this->addAction(new LinkAction(
				'renew',
				new RemoteActionConfirmationModal(
					$request->getSession(),
					__('manager.subscriptions.confirmRenew'),
					__('manager.subscriptions.renew'),
					$router->url(
						$request, null, null, 'renewSubscription', null,
						array_merge($actionArgs, array(
							'institutional' => is_a($element, 'InstitutionalSubscription')?1:0
						))
					),
					'modal_delete'
				),
				__('manager.subscriptions.renew'),
				'renew'
			));
			$this->addAction(new LinkAction(
				'delete',
				new RemoteActionConfirmationModal(
					$request->getSession(),
					__('subscriptionManager.subscription.confirmRemove'),
					__('common.delete'),
					$router->url($request, null, null, 'deleteSubscription', null, $actionArgs),
					'modal_delete'
				),
				__('grid.action.delete'),
				'delete'
			));
		}
	}
}