multiMenuモジュールphp7への対応
タツ
投稿数: 2447
このサイトもmultiMenuモジュールを利用しています。さて、XoopsXより最新のmultiMenuモジュールversion1.24をローカル環境(サーバーxampp7.4.25、legacy-2.3を起用)に各ファイルを以下のように編集してみました。
インストールしてみるとメニューのブロック管理でグループ管理が表示されないので、以前のバージョン1.20を編集しインストールしてみましたが、グループ管理は表示されるもののaltsysのグループ管理とは整合性がなかったのでこのversion1.24を採用することにしました。version1.20の編集も参考に掲載することにしました。
■1.PHP7へのバージョンアップによる書式変更(__construct部分)
・modules/multiMenu/class/menu.php 26行目
・modules/multiMenu/include/gtickets.php 13行目
・modules/multiMenu/admin/mygrouppermform.php
・html/preload/multiMenuPreload.class.php 49行目
■2.PHP7へのバージョンアップによる書式変更
・modules/multiMenu/admin/myblocksadmin.php 34行目
■3.その他PHP7での配列書式変更
変更対象ファイル
array()は殆どのファイルにて多数存在するので省略します
version1.24の編集はここまでです。
----------
※以下は参考です。(multiMenuモジュールversion1.20のphp7への編集)
■1.PHP7バージョンアップによるeregi()→preg_match()へ書式変更とパターン前後にスラッシュを追加しiを付加
・multiMenu/blocks\multimenu.php
■2.PHP7へのバージョンアップによる書式変更(__construct部分)
・multiMenu\admin\mygrouppermform.php
・multiMenu/class/menu.php 24行目
■3.MySQLのバージョンアップによる書式変更
・multiMenu\sql/mysql.sql
■4.PHP7へのバージョンアップによる書式変更
modules/multiMenu/admin/myblocksadmin.php 34行目
■5.その他PHP7へのバージョンアップによる配列書式変更
array() →
array()は多くのファイルにて多数存在するので省略します
---2023/2/11追加---
モジュールの改変をしているうちにxoopscubeのサイトから最新版が出たのでmultiMenuを利用することにしました。
インストールしてみるとメニューのブロック管理でグループ管理が表示されないので、以前のバージョン1.20を編集しインストールしてみましたが、グループ管理は表示されるもののaltsysのグループ管理とは整合性がなかったのでこのversion1.24を採用することにしました。version1.20の編集も参考に掲載することにしました。
■1.PHP7へのバージョンアップによる書式変更(__construct部分)
・modules/multiMenu/class/menu.php 26行目
parent::XoopsObjectGenericHandler($db);
変更↓
parent::__construct($db); //変更
・modules/multiMenu/include/gtickets.php 13行目
function XoopsGTicket()
変更↓
function __construct()//変更
・modules/multiMenu/admin/mygrouppermform.php
79行目
function MyXoopsGroupPermForm($title, $modid, $permname, $permdesc)
変更↓
function __construct($title, $modid, $permname, $permdesc) //変更
241行目
function MyXoopsGroupFormCheckBox($caption, $name, $groupId, $values = null)
変更↓
function __construct($caption, $name, $groupId, $values = null) //変更
・html/preload/multiMenuPreload.class.php 49行目
function multiMenuFlow($gmm){
変更↓
function __construct($gmm){ //変更
■2.PHP7へのバージョンアップによる書式変更
・modules/multiMenu/admin/myblocksadmin.php 34行目
// get blocks owned by the module
$block_arr =& XoopsBlock::getByModule( $xoopsModule->mid() ) ;
変更↓
// get blocks owned by the module
$blockmodel = new XoopsBlock(); //追加
$block_arr =& $blockmodel -> getByModule( $xoopsModule->mid() ) ; //変更
■3.その他PHP7での配列書式変更
変更対象ファイル
array()は殆どのファイルにて多数存在するので省略します
例)$name = array()
変更↓
$name = ;
version1.24の編集はここまでです。
----------
※以下は参考です。(multiMenuモジュールversion1.20のphp7への編集)
■1.PHP7バージョンアップによるeregi()→preg_match()へ書式変更とパターン前後にスラッシュを追加しiを付加
・multiMenu/blocks\multimenu.php
109行目
if (eregi("^\[([a-z0-9_\-]+)\]((.)*)$", $link, $moduledir)) {
変更↓
if (preg_match("/^\[([a-z0-9_\-]+)\]((.)*)$/i", $link, $moduledir)) {
126行目
if (eregi("^\[([a-z0-9_\-]+)\]((.)*)$", $myrow['link'], $moduledir)) {
変更↓
if (preg_match("/^\[([a-z0-9_\-]+)\]((.)*)$/i", $myrow['link'], $moduledir)) {
135行目
}elseif (eregi("^\+\[([a-z0-9_\-]+)\]((.)*)$", $myrow['link'], $moduledir))
変更↓
}elseif (preg_match("/^\+\[([a-z0-9_\-]+)\]((.)*)$/i", $myrow['link'], $moduledir))
157行目
{preg_match("^\@\[([a-z0-9_\-]+)\]((.)*)$", $myrow['link'], $moduledir)) {
変更↓
{preg_match("/^\@\[([a-z0-9_\-]+)\]((.)*)$/i", $myrow['link'], $moduledir)) {
186行目
} elseif (eregi("^\&\[([a-z0-9_\-]+)\]((.)*)$", $myrow['link'], $moduledir))
変更↓
} elseif (preg_match("/^\&\[([a-z0-9_\-]+)\]((.)*)$/i", $myrow['link'], $moduledir))
■2.PHP7へのバージョンアップによる書式変更(__construct部分)
・multiMenu\admin\mygrouppermform.php
81行目
function MyXoopsGroupPermForm($title, $modid, $permname, $permdesc)
変更↓
function __construct($title, $modid, $permname, $permdesc)
244行目
function MyXoopsGroupFormCheckBox($caption, $name, $groupId, $values = null)
変更↓
function __construct($caption, $name, $groupId, $values = null)
・multiMenu/class/menu.php 24行目
parent::XoopsObjectGenericHandler($db);
変更↓
parent::__construct($db);
■3.MySQLのバージョンアップによる書式変更
・multiMenu\sql/mysql.sql
TYPE=MyISAM; → ENGINE=MyISAM;
■4.PHP7へのバージョンアップによる書式変更
modules/multiMenu/admin/myblocksadmin.php 34行目
// get blocks owned by the module
$block_arr =& XoopsBlock::getByModule( $xoopsModule->mid() ) ;
変更↓
// get blocks owned by the module
$blockmodel = new XoopsBlock(); //追加
$block_arr =& $blockmodel -> getByModule( $xoopsModule->mid() ) ; //変更
■5.その他PHP7へのバージョンアップによる配列書式変更
array() →
array()は多くのファイルにて多数存在するので省略します
例)$name = array()
変更↓
$name = ;
---2023/2/11追加---
モジュールの改変をしているうちにxoopscubeのサイトから最新版が出たのでmultiMenuを利用することにしました。
投票数:20
平均点:5.50
投稿ツリー
-
Xoops Cube Legacyをphp7で運用する方法を模索
(タツ, 2022/9/14 5:12)
- myx_backupモジュールphp7への対応 (タツ, 2022/9/14 11:44)
-
Re: Xoops Cube Legacyをphp7で運用する方法を模索
(nonn50, 2022/9/14 12:25)
- Re: Xoops Cube Legacyをphp7で運用する方法を模索 (タツ, 2022/9/14 15:58)
- multiMenuモジュールphp7への対応 (タツ, 2022/9/24 8:28)
-
Gnaviモジュールphp7への対応
(タツ, 2022/9/27 20:49)
- Re: Gnaviモジュールphp7への対応(追加) (タツ, 2023/2/11 17:19)
- d3pipesモジュールphp7への対応 (タツ, 2022/9/28 6:09)
-
bulletinモジュールphp7への対応
(タツ, 2022/9/29 8:25)
- Re: bulletinモジュールphp7への対応 (タツ, 2023/2/11 18:29)
- myalbum-pモジュールphp7への対応 (タツ, 2022/10/1 7:39)
- webphotoモジュールphp7への対応 (タツ, 2022/10/22 1:03)
- theme_changerモジュールphp7への対応 (タツ, 2022/11/16 7:09)
-
logcounterxモジュールphp7への対応
(タツ, 2022/11/19 19:30)
- Re: logcounterxモジュールphp7への対応 (タツ, 2023/2/11 18:24)
- captchaモジュールphp7への対応 (タツ, 2022/11/29 5:51)
- d3forumモジュールphp7への対応 (タツ, 2023/2/15 6:39)
- liaiseモジュールphp7への対応 (タツ, 2023/2/15 6:46)