git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
132 lines
3.6 KiB
PHP
132 lines
3.6 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: utils.php 46 2009-05-26 16:59:42Z happynoodleboy $
|
|
* @package JCE
|
|
* @copyright Copyright (C) 2005 - 2009 Ryan Demmer. All rights reserved.
|
|
* @author Ryan Demmer
|
|
* @license GNU/GPL
|
|
* JCE is free software. This version may have been modified pursuant
|
|
* to 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.
|
|
*/
|
|
defined( '_JEXEC' ) or die( 'Restricted access' );
|
|
class Utils
|
|
{
|
|
/**
|
|
* Append a / to the path if required.
|
|
* @param string $path the path
|
|
* @return string path with trailing /
|
|
*/
|
|
function fixPath($path)
|
|
{
|
|
//append a slash to the path if it doesn't exists.
|
|
if (!(substr($path, -1) == '/'))
|
|
$path .= '/';
|
|
return $path;
|
|
}
|
|
/**
|
|
* Concat two paths together. Basically $pathA+$pathB
|
|
* @param string $pathA path one
|
|
* @param string $pathB path two
|
|
* @return string a trailing slash combinded path.
|
|
*/
|
|
function makePath($a, $b)
|
|
{
|
|
$a = Utils::fixPath($a);
|
|
if (substr($b, 0, 1) == '/') {
|
|
$b = substr($b, 1);
|
|
}
|
|
return $a.$b;
|
|
}
|
|
/**
|
|
* Makes file name safe to use
|
|
* @param string The name of the file (not full path)
|
|
* @return string The sanitised string
|
|
*/
|
|
function makeSafe($file)
|
|
{
|
|
jimport('joomla.filesystem.file');
|
|
return JFile::makeSafe(preg_replace('#\s#', '_', $file));
|
|
}
|
|
/**
|
|
* Format the file size, limits to Mb.
|
|
* @param int $size the raw filesize
|
|
* @return string formated file size.
|
|
*/
|
|
function formatSize($size)
|
|
{
|
|
if ($size < 1024)
|
|
return $size.' '.JText::_('BYTES');
|
|
else if ($size >= 1024 && $size < 1024*1024)
|
|
return sprintf('%01.2f',$size/1024.0).' '.JText::_('KB');
|
|
else
|
|
return sprintf('%01.2f', $size/(1024.0*1024)).' '.JText::_('MB');
|
|
}
|
|
/**
|
|
* Format the date.
|
|
* @param int $date the unix datestamp
|
|
* @return string formated date.
|
|
*/
|
|
function formatDate($date, $format="%d/%m/%Y, %H:%M")
|
|
{
|
|
return strftime($format, $date);
|
|
}
|
|
/**
|
|
* Get the modified date of a file
|
|
*
|
|
* @return Formatted modified date
|
|
* @param string $file Absolute path to file
|
|
*/
|
|
function getDate($file)
|
|
{
|
|
return Utils::formatDate(@filemtime($file));
|
|
}
|
|
/**
|
|
* Get the size of a file
|
|
*
|
|
* @return Formatted filesize value
|
|
* @param string $file Absolute path to file
|
|
*/
|
|
function getSize($file)
|
|
{
|
|
return Utils::formatSize(@filesize($file));
|
|
}
|
|
/**
|
|
* Count the number of folders in a given folder
|
|
* @return integer Total number of folders
|
|
* @param string $path Abolute path to folder
|
|
*/
|
|
function countDirs($path)
|
|
{
|
|
jimport('joomla.filesystem.folder');
|
|
$total = 0;
|
|
if (JFolder::exists($path)) {
|
|
$folders = JFolder::folders($path);
|
|
$total = count($folders);
|
|
}
|
|
return $total;
|
|
}
|
|
/**
|
|
* Count the number of files in a folder
|
|
* @return integer File total
|
|
* @param string $path Absolute path to folder
|
|
*/
|
|
function countFiles($path)
|
|
{
|
|
jimport('joomla.filesystem.file');
|
|
$total = 0;
|
|
if (JFolder::exists($path)) {
|
|
$files = JFolder::files($path);
|
|
$total = count($files);
|
|
foreach ($files as $file) {
|
|
if (strtolower($file) == 'index.html' || strtolower($file) == 'thumbs.db') {
|
|
$total = $total -1;
|
|
}
|
|
}
|
|
}
|
|
return $total;
|
|
}
|
|
}
|
|
?>
|