Page MenuHomeIn-Portal Phabricator

form_submission_tp.php
No OneTemporary

File Metadata

Created
Mon, Oct 6, 6:15 PM

form_submission_tp.php

<?php
/**
* @version $Id: form_submission_tp.php 16836 2025-07-28 12:08:16Z alex $
* @package In-Portal
* @copyright Copyright (C) 1997 - 2011 Intechnic. All rights reserved.
* @license GNU/GPL
* In-Portal is Open Source software.
* This means that this software may have been modified pursuant
* the GNU General Public License, and as distributed it includes
* or is derivative of works licensed under the GNU General Public License
* or other free or open source software licenses.
* See http://www.in-portal.org/license for copyright notices and details.
*/
defined('FULL_PATH') or die('restricted access!');
class FormSubmissionTagProcessor extends kDBTagProcessor {
/**
* Returns phrase translation by name
*
* @param Array $params
* @return string
* @access public
*/
function PhraseFromRequest($params)
{
$phrase_name = $this->Application->GetVar($params['name']);
if (array_key_exists('default', $params) && !$phrase_name) {
$phrase_name = $params['default'];
}
return $this->Application->Phrase($phrase_name);
}
/**
* Allows to retrieve for submission field by it's name or role in email communications
*
* @param Array $params
* @return string
*/
function FormField($params)
{
/** @var kDBItem $object */
$object = $this->getObject($params);
/** @var FormSubmissionHelper $form_submission_helper */
$form_submission_helper = $this->Application->recallObject('FormSubmissionHelper');
$formatted = !(array_key_exists('db', $params) && $params['db']);
$format = $formatted ? (array_key_exists('format', $params) ? $params['format'] : null) : null;
if (array_key_exists('role', $params)) {
return $form_submission_helper->getFieldByRole($object, $params['role'], $formatted, $format);
}
return $form_submission_helper->getFieldByName($object, $params['name'], $formatted, $format);
}
/**
* @inheritDoc
*/
public function ModifyUnitConfig($params)
{
parent::ModifyUnitConfig($params);
$tab_preset = $params['tab_preset'];
$form_id = $this->Application->GetVar('form_id');
if ( $tab_preset && $form_id ) {
/** @var kDBItem $form */
$form = $this->Application->recallObject('form');
// Hides the "Messages" tab, when e-mail communication not enabled on the associated form.
if ( !$form->GetDBField('EnableEmailCommunication') ) {
/** @var array $edit_tab_presets */
$edit_tab_presets = $this->Application->getUnitOption($this->Prefix, 'EditTabPresets', array());
unset($edit_tab_presets[$tab_preset]['messages']);
$this->Application->setUnitOption($this->Prefix, 'EditTabPresets', $edit_tab_presets);
}
}
}
}

Event Timeline