Your IP : 216.73.216.11


Current Path : /home/cbequiperp/www/modules/mod_rsform_list/
Upload File :
Current File : /home/cbequiperp/www/modules/mod_rsform_list/mod_rsform_list.php

<?php
/**
 * @version 3.0.0
 * @package RSForm! Pro
 * @copyright (C) 2007-2021 www.rsjoomla.com
 * @license GPL, https://www.gnu.org/copyleft/gpl.html
 */

// no direct access
defined('_JEXEC') or die;

// Check if the helper exists
$helper = JPATH_ADMINISTRATOR.'/components/com_rsform/helpers/rsform.php';
if (!file_exists($helper))
{
	return;
}

// Load Helper functions
require_once $helper;
require_once dirname(__FILE__) . '/helper.php';

// Objects
$user                   = JFactory::getUser();
$db	                    = JFactory::getDbo();
$app 	                = JFactory::getApplication();
// Params
$formId			        = (int) $params->def('formId', 1);
$moduleclass_sfx        = $params->def('moduleclass_sfx', '');
$userId 		        = $params->def('userId', 0);
// Template params
$template_module        = $params->def('template_module', '');
$template_formdatarow   = $params->def('template_formdatarow', '');
$template_formdetail    = $params->def('template_formdetail', '');
$detail                 = $app->input->getInt('detail'.$formId);
$helper                 = new ModRSFormListHelper($params);

if (!$detail)
{
	$submissions = $helper->getSubmissions();
	$pagination  = $helper->getPagination();
	$headers	 = $helper->getHeaders();
	
	$formdata = '';
	$i  	  = 0;
	
	foreach ($submissions as $SubmissionId => $submission)
	{
		$url 			= $helper->getUrl($SubmissionId);
		$deleteLink 	= JRoute::_('index.php?option=com_rsform&view=deletesubmission&hash=' . $submission['SubmissionHash']);
		$confirmLink 	= JRoute::_('index.php?option=com_rsform&task=confirm&hash=' . $submission['ConfirmationHash']);

		list($replace, $with) = $helper->getReplacements($submission['UserId'], true);

		$replace = array_merge($replace, array('{global:userip}', '{global:date_added}', '{global:submissionid}', '{global:submission_id}', '{global:counter}', '{global:naturalcounter}', '{details}', '{details_link}', '{global:confirmed}', '{global:formid}', '{global:deletion}', '{global:confirmation}'));
		$with 	 = array_merge($with, array($submission['UserIp'], $submission['DateSubmitted'], $SubmissionId, $SubmissionId, $pagination->getRowOffset($i), $params->get('sort_submissions') ? $pagination->getRowOffset($i) : ($pagination->total + 1 - $pagination->getRowOffset($i)), '<a href="'.$url.'">', $url, $submission['confirmed'], $submission['FormId'], $deleteLink, $confirmLink));

		foreach ($headers as $header)
		{
			if (!isset($submission['SubmissionValues'][$header]['Value']))
			{
				$submission['SubmissionValues'][$header]['Value'] = '';
			}

			$replace[] 	= '{'.$header.':value}';
			$with[] 	= $submission['SubmissionValues'][$header]['Value'];
			
			if (!empty($submission['SubmissionValues'][$header]['Path']))
			{
				$replace[] 	= '{'.$header.':path}';
				$with[] 	= $submission['SubmissionValues'][$header]['Path'];
			}

			if (!empty($submission['SubmissionValues'][$header]['Image']))
			{
				$replace[] 	= '{'.$header.':image}';
				$with[] 	= $submission['SubmissionValues'][$header]['Image'];
			}

			if (!empty($submission['SubmissionValues'][$header]['Filename']))
			{
				$replace[] 	= '{'.$header.':filename}';
				$with[] 	= $submission['SubmissionValues'][$header]['Filename'];
			}
		}
		
		$replace[] 	= '{_STATUS:value}';
		$with[] 	= isset($submission['SubmissionValues']['_STATUS']) ? JText::_('RSFP_PAYMENT_STATUS_'.$submission['SubmissionValues']['_STATUS']['Value']) : '';

		$replace[] 	= '{_TRANSACTION_ID:value}';
		$with[] 	= isset($submission['SubmissionValues']['_TRANSACTION_ID']) ? $submission['SubmissionValues']['_TRANSACTION_ID']['Value'] : '';
		
		$row = $template_formdatarow;
		
		// RSForm! Pro Scripting - Form Data Row
		// performance check
		if (strpos($row, '{/if}') !== false) {
			require_once JPATH_ADMINISTRATOR.'/components/com_rsform/helpers/scripting.php';
			RSFormProScripting::compile($row, $replace, $with);
		}
		
		$formdata .= str_replace($replace, $with, $row);
		
		$i++;
	}

	$html = str_replace('{formdata}', $formdata, $template_module);
	if ($params->get('show_pagination', 1)) {
		if ($params->get('show_pagination_counter', 1)) {
			$html .= '<div>'.$pagination->getResultsCounter().'</div>';
		}
		$html .= '<div class="pagination">'.$pagination->getPagesLinks().'</div>';
	}
}
else
{
	if ($userId != 'login' && $userId != 0)
	{
		$userId = explode(',', $userId);
		$userId = array_map('intval', $userId);
	}

	try
	{
		$query = $db->getQuery(true)
			->select('*')
			->from($db->qn('#__rsform_submissions'))
			->where($db->qn('SubmissionId').' = '.$db->q($detail));

		$submission = $db->setQuery($query)->loadObject();

		if (!$submission)
		{
			throw new Exception(JText::sprintf('MOD_RSFORMLIST_SUBMISSION_DOESNT_EXIST', $detail));
		}

		if ($submission->FormId != $formId)
		{
			throw new Exception(JText::sprintf('MOD_RSFORMLIST_SUBMISSION_DOES_NOT_BELONG_TO_FORM', $detail, $formId));
		}

		if ($userId == 'login' && $submission->UserId != $user->get('id'))
		{
			throw new Exception(JText::sprintf('MOD_RSFORMLIST_SUBMISSION_DOES_NOT_BELONG_TO_LOGGED_IN_USER', $detail));
		}

		if ($params->get('show_confirmed', 0) && !$submission->confirmed)
		{
			throw new Exception(JText::sprintf('MOD_RSFORMLIST_SUBMISSION_IS_NOT_CONFIRMED', $detail));
		}
	}
	catch (Exception $e)
	{
		$app->enqueueMessage($e->getMessage(), 'warning');
		return;
	}

	list($replace, $with) 	= RSFormProHelper::getReplacements($detail);
	list($replace2, $with2) = $helper->getReplacements($submission->UserId);

	$replace3 = array('{global:submissionid}', '{global:submission_id}', '{global:date_added}', '{global:confirmed}', '{global:formid}');
	$with3	  = array($detail, $detail, $helper->getDate($submission->DateSubmitted), $submission->confirmed ? JText::_('JYES') : JText::_('JNO'), $submission->FormId);
	
	$replace = array_merge($replace, $replace2, $replace3);
	$with 	 = array_merge($with, $with2, $with3);
	
	// RSForm! Pro Scripting - Form Detail
	// performance check
	if (strpos($template_formdetail, '{/if}') !== false) {
		require_once JPATH_ADMINISTRATOR.'/components/com_rsform/helpers/scripting.php';
		RSFormProScripting::compile($template_formdetail, $replace, $with);
	}
	
	$html = str_replace($replace, $with, $template_formdetail);
}

// Display template
require JModuleHelper::getLayoutPath('mod_rsform_list', $params->get('layout', 'default'));