<?php
/**
* System functions
*
* LICENSE
*
* You may not change or alter any portion of this comment or credits
* of supporting developers from this source code or any supporting source code
* which is considered copyrighted (c) material of the original comment or credit authors.
*
* @copyright (c) 2000-2016 XOOPS Project (www.xoops.org)
* @license GNU GPL 2 or later (http://www.gnu.org/licenses/gpl-2.0.html)
* @package system
*/
/**
* Get variables passed by GET or POST method
*
* Comment by Taiwen Jiang (a.k.a. phppp): THE METHOD IS NOT COMPLETE AND NOT SAFE. YOU ARE ENCOURAGED TO USE PHP'S NATIVE FILTER_VAR OR FILTER_INPUT FUNCTIONS DIRECTLY BEFORE WE MIGRATE TO XOOPS 3.
* @param $global
* @param $key
* @param string $default
* @param string $type
* @return int|mixed|string
*/
function system_CleanVars(&$global, $key, $default = '', $type = 'int')
{
switch ($type) {
case 'array':
$ret = (isset($global[$key]) && is_array($global[$key])) ? $global[$key] : $default;
break;
case 'date':
$ret = isset($global[$key]) ? strtotime($global[$key]) : $default;
break;
case 'string':
$ret = isset($global[$key]) ? filter_var($global[$key], FILTER_SANITIZE_MAGIC_QUOTES) : $default;
break;
case 'int':
default:
$ret = isset($global[$key]) ? filter_var($global[$key], FILTER_SANITIZE_NUMBER_INT) : $default;
break;
}
if ($ret === false) {
return $default;
}
return $ret;
}
/**
* System language loader wrapper
*
*
* @param string $name Name of language file to be loaded, without extension
* @param string $domain Module dirname; global language file will be loaded if $domain is set to 'global' or not specified
* @param string $language Language to be loaded, current language content will be loaded if not specified
* @return boolean
* @todo expand domain to multiple categories, e.g. module:system, framework:filter, etc.
*
*/
function system_loadLanguage($name, $domain = '', $language = null)
{
/**
* We must check later for an empty value. As xoops_getPageOption could be empty
*/
if (empty($name)) {
return false;
}
$language = empty($language) ? $GLOBALS['xoopsConfig']['language'] : $language;
$path = 'modules/' . $domain . '/language/';
if (file_exists($file = $GLOBALS['xoops']->path($path . $language . '/admin/' . $name . '.php'))) {
$ret = include_once $file;
} else {
$ret = include_once $GLOBALS['xoops']->path($path . 'english/admin/' . $name . '.php');
}
return $ret;
}
/**
* @param $version
* @param string $value
*
* @return mixed
*/
function system_adminVersion($version, $value = '')
{
static $tblVersion = array();
if (is_array($tblVersion) && array_key_exists($version . '.' . $value, $tblVersion)) {
return $tblVersion[$version . '.' . $value];
}
$path = XOOPS_ROOT_PATH . '/modules/system/admin/' . $version . '/xoops_version.php';
if (file_exists($path)) {
include $path;
$retvalue = $modversion[$value];
$tblVersion[$version . '.' . $value] = $retvalue;
return $retvalue;
}
return null;
}
/**
* @param $img
*
* @return mixed
*/
function system_AdminIcons($img)
{
$style = xoops_getModuleOption('typeicons', 'system');
if ($style == '') {
$style = 'default';
}
$url = $GLOBALS['xoops']->url('modules/system/images/icons/' . $style . '/' . $img);
return $url;
}
/**
* @param $name
*/
function system_loadTemplate($name)
{
global $sysTpl, $xoopsModule;
$path = XOOPS_ROOT_PATH . '/modules/' . $xoopsModule->getVar('dirname', 'n') . '/templates/admin/' . $name . '.tpl';
if (file_exists($path)) {
echo $sysTpl->fetch($path);
} else {
echo 'Unable to read ' . $name;
}
}
/**
* @param $value_chmod
* @param $path_file
* @param $id
*
* @return string
*/
function modify_chmod($value_chmod, $path_file, $id)
{
$chmod = '<div id="loading_' . $id . '" align="center" style="display:none;">' . '<img src="./images/mimetypes/spinner.gif" title="Loading" alt="Loading" width="12px"/></div>' . '<div id="chmod' . $id . '">' . '<select size="1" onChange="filemanager_modify_chmod(\'' . $path_file . '\', \'' . $id . '\')" name="chmod" id="chmod">';
if ($value_chmod == 777) {
$chmod .= '<option value="777" selected><span style="color:green;">777</span></option>';
} else {
$chmod .= '<option value="777"><span style="color:green;">777</span></option>';
}
if ($value_chmod == 776) {
$chmod .= '<option value="776" selected>776</option>';
} else {
$chmod .= '<option value="776">776</option>';
}
if ($value_chmod == 766) {
$chmod .= '<option value="766" selected>766</option>';
} else {
$chmod .= '<option value="766">766</option>';
}
if ($value_chmod == 666) {
$chmod .= '<option value="666" selected>666</option>';
} else {
$chmod .= '<option value="666">666</option>';
}
if ($value_chmod == 664) {
$chmod .= '<option value="664" selected>664</option>';
} else {
$chmod .= '<option value="664">664</option>';
}
if ($value_chmod == 644) {
$chmod .= '<option value="644" selected>644</option>';
} else {
$chmod .= '<option value="644">644</option>';
}
if ($value_chmod == 444) {
$chmod .= '<option value="444" selected><span style="color:red;">444</span></option>';
} else {
$chmod .= '<option value="444">444</option>';
}
if ($value_chmod == 440) {
$chmod .= '<option value="440" selected>440</option>';
} else {
$chmod .= '<option value="440">440</option>';
}
if ($value_chmod == 400) {
$chmod .= '<option value="400" selected>400</option>';
} else {
$chmod .= '<option value="400">400</option>';
}
$chmod .= '</select>';
return $chmod;
}
|