PHP Classes

File: htdocs/Frameworks/art/functions.ini.php

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/Frameworks/art/functions.ini.php   Download  
File: htdocs/Frameworks/art/functions.ini.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change: copyright update
language fixes
Merge pull request #1489 from mambax7/feature/various2

Various changes
PER-CS formatting
Merge branch 'feature/php8_templates' of https://github.com/mambax7/XoopsCore25 into feature/php8_templates

# Conflicts:
# htdocs/themes/xswatch4/modules/publisher/publisher_item.tpl
Merge xswatch4
Date: 1 month ago
Size: 7,742 bytes
 

Contents

Class file image Download
<?php
/**
 * Initial functions
 *
 * @copyright (c) 2000-2025 XOOPS Project (https://xoops.org)
 * @license GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html)
 * @author Taiwen Jiang <phppp@users.sourceforge.net>
 * @since 1.00
 * @package Frameworks
 * @subpackage art
 */

if (substr(XOOPS_VERSION, 0, 9) < 'XOOPS 2.3') {
    throw new \
Exception('The package only works for XOOPS 2.3+');
}

if (!
defined('FRAMEWORKS_ART_FUNCTIONS_INI')):
   
define('FRAMEWORKS_ART_FUNCTIONS_INI', true);

   
define('FRAMEWORKS_ROOT_PATH', XOOPS_ROOT_PATH . '/Frameworks');

   
/**
     * Load declaration of an object handler
     *
     *
     * @param string $handler handler name, optional
     * @param string $dirname
     *
     * @return bool
     */
   
function load_objectHandler($handler = '', $dirname = 'art')
    {
        if (empty(
$handler)) {
           
$handlerClass = 'ArtObject';
           
$fileName = 'object.php';
        } else {
           
$handlerClass = 'ArtObject' . ucfirst($handler) . 'Handler';
           
$fileName = "object.{$handler}.php";
        }

       
class_exists($handlerClass) || require_once FRAMEWORKS_ROOT_PATH . "/{$dirname}/{$fileName}";

        return
class_exists($handlerClass);
    }

/**
 * @return bool
 */
function load_object()
{
    return
load_objectHandler();
}

/**
 * Load a collective functions of Frameworks
 *
 * @param string $group name of the collective functions, empty for functions.php
 * @param string $dirname
 * @return bool
 */
function load_functions($group = '', $dirname = 'art')
{
   
$dirname = ('' == $dirname) ? 'art' : $dirname;
   
$constant = strtoupper("frameworks_{$dirname}_functions" . ($group ? "_{$group}" : ''));
    if (
defined($constant)) {
        return
true;
    }

    return include_once
FRAMEWORKS_ROOT_PATH . "/{$dirname}/functions.{$group}" . (empty($group) ? '' : '.') . 'php';
}

/**
 * Load a collective functions of a module
 *
 * The function file should be located in /modules/MODULE/functions.{$group}.php
 * To avoid slowdown caused by include_once, a constant is suggested in the corresponding file: capitalized {$dirname}_{functions}[_{$group}]
 *
 * The function is going to be formulated to use xos_kernel_Xoops2::loadService() in XOOPS 2.3+
 *
 * @param string $group name of the collective functions, empty for functions.php
 * @param string $dirname module dirname, optional
 * @return bool
 */
function mod_loadFunctions($group = '', $dirname = '')
{
   
$dirname = !empty($dirname) ? $dirname : $GLOBALS['xoopsModule']->getVar('dirname', 'n');
   
$constant = strtoupper("{$dirname}_functions" . ($group ? "_{$group}" : '') . '_loaded');
    if (
defined($constant)) {
        return
true;
    }
   
$filename = XOOPS_ROOT_PATH . "/modules/{$dirname}/include/functions.{$group}" . (empty($group) ? '' : '.') . 'php';

    return include_once
$filename;
}

/**
 * Load renderer for a class
 *
 * The class file should be located in /modules/MODULE/{$class}.renderer.php
 * The class file name should be defined as Capitalized(module_dirname)Capitalized(class_name)Renderer
 *
 * @param string $class name of the classname
 * @param string $dirname module dirname, optional
 * @return bool
 */
function mod_loadRenderer($class, $dirname = '')
{
   
$dirname = !empty($dirname) ? $dirname : $GLOBALS['xoopsModule']->getVar('dirname', 'n');
   
$renderer = ucfirst($dirname) . ucfirst($class) . 'Renderer';
    if (!
class_exists($renderer)) {
        require_once
XOOPS_ROOT_PATH . "/modules/{$dirname}/class/{$class}.renderer.php";
    }
   
$instance = eval("{$renderer}::instance()");

    return
$instance;
}

/**
 * Get localized string if it is defined
 *
 * @param string $name string to be localized
 */
if (!function_exists('mod_constant')) {
   
/**
     * @param $name
     *
     * @return mixed
     */
   
function mod_constant($name)
    {
        if (!empty(
$GLOBALS['VAR_PREFIXU']) && @defined($GLOBALS['VAR_PREFIXU'] . '_' . strtoupper($name))) {
            return
constant($GLOBALS['VAR_PREFIXU'] . '_' . strtoupper($name));
        } elseif (!empty(
$GLOBALS['xoopsModule']) && @defined(strtoupper($GLOBALS['xoopsModule']->getVar('dirname', 'n') . '_' . $name))) {
            return
constant(strtoupper($GLOBALS['xoopsModule']->getVar('dirname', 'n') . '_' . $name));
        } elseif (
defined(strtoupper($name))) {
            return
constant(strtoupper($name));
        } else {
            return
str_replace('_', ' ', strtolower($name));
        }
    }
}

/**
 * Get completed DB prefix if it is defined
 *
 * @param string $name string to be completed
 * @param boolean $isRel relative - do not add XOOPS->DB prefix
 */
if (!function_exists('mod_DB_prefix')) {
   
/**
     * @param $name
     * @param bool $isRel
     *
     * @return string
     */
   
function mod_DB_prefix($name, $isRel = false)
    {
       
$relative_name = $GLOBALS['MOD_DB_PREFIX'] . '_' . $name;
        if (
$isRel) {
            return
$relative_name;
        }

        return
$GLOBALS['xoopsDB']->prefix($relative_name);
    }
}

/**
 * Display contents of a variable, an array or an object or an array of objects
 *
 * @param mixed $message variable/array/object
 */
if (!function_exists('xoops_message')):
   
/**
     * @param $message
     * @param int $userlevel
     */
   
function xoops_message($message, $userlevel = 0)
    {
        global
$xoopsUser;

       
$level = 1;
        if (!
$xoopsUser) {
           
$level = 0;
        } elseif (
$xoopsUser->isAdmin()) {
           
$level = 99;
        }
        if (
$userlevel > $level) {
            return
null;
        }

        echo
"<div style=\"clear:both;\"> </div>";
        if (
is_array($message) || is_object($message)) {
            echo
'<div><pre>';
           
print_r($message);
            echo
'</pre></div>';
        } else {
            echo
"<div>{$message}</div>";
        }
        echo
"<div style=\"clear:both;\"> </div>";
    }
endif;
/**
 * @param $message
 *
 * @return bool
 */
function mod_message($message)
{
    global
$xoopsModuleConfig;
    if (!empty(
$xoopsModuleConfig['do_debug'])) {
        if (
is_array($message) || is_object($message)) {
            echo
'<div><pre>';
           
print_r($message);
            echo
'</pre></div>';
        } else {
            echo
"<div>$message</div>";
        }
    }

    return
true;
}

/**
 * Get dirname of a module according to current path
 *
 * @param string $current_path path to where the function is called
 * @return string $dirname
 */
function mod_getDirname($current_path = null)
{
    if (
DIRECTORY_SEPARATOR !== '/') {
       
$current_path = str_replace(strpos($current_path, '\\\\', 2) ? '\\\\' : DIRECTORY_SEPARATOR, '/', $current_path);
    }
   
$url_arr = explode('/', strstr($current_path, '/modules/'));

    return
$url_arr[2];
}

/**
 * Is a module being installed, updated or uninstalled
 * Used for setting module configuration default values or options
 *
 * The function should be in functions.admin.php, however it requires extra inclusion in xoops_version.php if so
 *
 * @param string $dirname dirname of current module
 * @return bool
 */
function mod_isModuleAction($dirname = 'system')
{
   
$ret = @(// action module "system"
       
!empty($GLOBALS['xoopsModule']) && 'system' === $GLOBALS['xoopsModule']->getVar('dirname', 'n') && // current dirname
       
($dirname == $_POST['dirname'] || $dirname == $_POST['module']) && // current op
       
('update_ok' === $_POST['op'] || 'install_ok' === $_POST['op'] || 'uninstall_ok' === $_POST['op']) && // current action
       
'modulesadmin' === $_POST['fct']
    );

    return
$ret;
}

endif;