PHP Classes

File: htdocs/modules/pm/include/update.php

Recommend this page to a friend!
  Packages of Michael Beck   Xoops 2.5   htdocs/modules/pm/include/update.php   Download  
File: htdocs/modules/pm/include/update.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Xoops 2.5
Modular content management publication system
Author: By
Last change: Merge pull request #1586 from mambax7/feature/Cannot_use_bool_as_array

fix for Cannot use bool as array
Merge pull request #1577 from ggoffy/master

added groups to member list
copyright update
Cascading dirname(...) calls
short array
Merge pull request #1239 from Andrew-Staves-Activ/notificationhandler_subscribe_success

Merge branch 'master' into new-version-system
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: 2,748 bytes
 

Contents

Class file image Download
<?php
/**
 * Private Message
 *
 * 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.
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * @copyright (c) 2000-2025 XOOPS Project (https://xoops.org)
 * @license GNU GPL 2 (https://www.gnu.org/licenses/gpl-2.0.html)
 * @package pm
 * @since 2.3.0
 * @author Taiwen Jiang <phppp@users.sourceforge.net>
 */

$path = dirname(__DIR__, 3);
require_once
$path . '/include' . '/cp_header.php';

/**
 * @param XoopsModule $module
 * @param string|null $oldversion
 * @return bool
 */
function xoops_module_update_pm(XoopsModule $module, $oldversion = null)
{
    global
$xoopsDB;
    if (
$oldversion <= '1.0.0') {
       
// Check pm table version
       
$sql = 'SHOW COLUMNS FROM ' . $xoopsDB->prefix('priv_msgs');
       
$result = $xoopsDB->queryF($sql);
        if (!
$xoopsDB->isResultSet($result)) {
            return
false;
        }
       
// Migrate from existent pm module
       
if (($rows = $xoopsDB->getRowsNum($result)) == 12) {
            return
true;
        } elseif (
$rows == 8) {
            return
$xoopsDB->queryFromFile(XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'n') . '/sql/mysql.upgrade.sql');
        } else {
            return
false;
        }
    }

    if (
$oldversion < '1.1.0') {
       
// remove old html template files
       
$templateDirectory = XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'n') . '/templates/';
       
$template_list = array_diff(scandir($templateDirectory), ['..', '.']);
        foreach (
$template_list as $k => $v) {
           
$fileinfo = new SplFileInfo($templateDirectory . $v);
            if (
$fileinfo->getExtension() === 'html' && $fileinfo->getFilename() !== 'index.html') {
                @
unlink($templateDirectory . $v);
            }
        }

       
xoops_load('xoopsfile');
       
//remove /images directory
       
$imagesDirectory = XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname', 'n') . '/images/';
       
$folderHandler = XoopsFile::getHandler('folder', $imagesDirectory);
       
$folderHandler->delete($imagesDirectory);
       
//delete .html entries from the tpl table
       
$sql = 'DELETE FROM ' . $xoopsDB->prefix('tplfile') . " WHERE `tpl_module` = '" . $module->getVar('dirname', 'n') . "' AND `tpl_file` LIKE '%.html%'";
       
$xoopsDB->exec($sql);
    }

    return
true;
}