multiMenuモジュールphp7への対応

このトピックの投稿一覧へ

なし multiMenuモジュールphp7への対応

msg# 1.3
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2022/9/24 8:28 | 最終変更
タツ  管理人   投稿数: 2266
このサイトも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行目
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 = [];
投票数:10 平均点:6.00

投稿ツリー

  条件検索へ


旅と気ままなフォーラム新着投稿

旅と気ままなフォーラムメニュー

欲しい商品が必ず見つかるメジャーなネットショップ

このサイト内の検索

オンライン状況

20 人のユーザが現在オンラインです。 (2 人のユーザが 旅と気ままなフォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 20

もっと...

Facebook,RSSリンク表示


RSSicon 最新記事のRSS