myalbum-pモジュールphp7への対応
タツ
投稿数: 2448
続いて、myalbum-pモジュールphp7への対応です。他に編集したモジュールと同様、XoopsXより最新のmyalbum-pモジュール(myalbum-p-master)version2.89をダウンロードし、ローカル環境(サーバーxampp7.4.25、legacy-2.3を起用)でインストールし、エラーが出るかどうかのチェックをしました。以下の部分を編集することでエラーは今の所解消されています。また、稼働するかどうか怪しかったのでデータベースも移行してテストしてみました。今の所うまく稼働しています。
■1.PHP7へのバージョンアップによる書式変更(__construct部分等)
・myalbum/include/gtickets.php
・myalbum/class/myalbum.textsanitizer.php
・myalbum/include/gtickets.php
・myalbum/admin/mygrouppermform.php
・myalbum/class/myuploader.php
■2.legacyバージョンアップによるpath変更
・myalbum/admin/import.php
・myalbum/admin/export.php line 8 (1)
・myalbum/admin/groupperm_global.php
■3.OpenTable()が無効になる件
・myalbum/editphoto.php
・myalbum/submit.php
■4.PHP7へのバージョンアップによる書式変更(get_magic_quotes_gpc()が無効になったため)
・myalbum/class/myalbum.textsanitizer.php
■5.その他PHP7での配列書式変更
変更対象ファイル
array()は殆どのファイルにて多数存在するので省略します
■6.インストール時の上書き禁止ファイル
以下のファイルが梱包されていますが既にlegacy-2.3にて標準装備されているため上書きはしないようにすること
・xoops_trust_path/libs/smarty/plugins/function.d3comment.php
・xoops_trust_path/libs/smarty/plugins/function.xoopsdhtmltarea.php
・xoops_trust_path/libs/smarty/plugins/function.d3forum_comment_postscount.php
・xoops_trust_path/libs/smarty/plugins/function.function.d3forum_comment_topicscount.php
以上です。データベースの移行は、myx-buckupモジュールの復元を利用すると文字化けしたのでPhpMyAdminを利用したところ正常に移行できました。
---2023/2/11追加---
本サイト立ち上げ後にmyx-buckupモジュールでバックアップすると文字化けはありませんでした。
さらに
■サイトマップにmyalbumモジュールが対応できなかったのでコードを編集しました。
html/modules/myalbum/include/sitemap.plugin.php
■1.PHP7へのバージョンアップによる書式変更(__construct部分等)
・myalbum/include/gtickets.php
13行目
function XoopsGTicket()
変更↓
function __construct()
・myalbum/class/myalbum.textsanitizer.php
22行目
function MyAlbumTextSanitizer()
変更↓
function __construct()
24行目
parent::MyTextSanitizer() ;
変更↓
parent::__construct() ;
43行目
function &getInstance()
変更↓
public static function &getInstance()
・myalbum/include/gtickets.php
13行目
function XoopsGTicket()
変更↓
function __construct()
・myalbum/admin/mygrouppermform.php
81行目
function MyXoopsGroupPermForm($title, $modid, $permname, $permdesc)
変更↓
function __construct($title, $modid, $permname, $permdesc)
250行目
function MyXoopsGroupFormCheckBox($caption, $name, $groupId, $values = null)
変更↓
function __construct($caption, $name, $groupId, $values = null)
・myalbum/class/myuploader.php
97行目
function MyXoopsMediaUploader($uploadDir, $allowedMimeTypes, $maxFileSize, $maxWidth=null, $maxHeight=null, $allowedExtensions=null )
変更↓
function __construct($uploadDir, $allowedMimeTypes, $maxFileSize, $maxWidth=null, $maxHeight=null, $allowedExtensions=null )
■2.legacyバージョンアップによるpath変更
・myalbum/admin/import.php
8行目
include_once XOOPS_ROOT_PATH.'/modules/system/constants.php' ;
変更↓
include_once XOOPS_ROOT_PATH.'/modules/legacy/include/xoops2_system_constants.inc.php' ;
・myalbum/admin/export.php line 8 (1)
8行目
include_once XOOPS_ROOT_PATH . '/modules/system/constants.php' ;
変更↓
include_once XOOPS_ROOT_PATH.'/modules/legacy/include/xoops2_system_constants.inc.php' ;
・myalbum/admin/groupperm_global.php
11行目
include_once( XOOPS_ROOT_PATH."/modules/system/language/".$xoopsConfig['language']."/admin.php" ) ;
変更↓
include_once( XOOPS_ROOT_PATH."/modules/legacy/language/".$xoopsConfig['language']."/admin.php" ) ;
■3.OpenTable()が無効になる件
・myalbum/editphoto.php
194行目
// Editing Display
include_once( XOOPS_ROOT_PATH."/include/cp_functions.php" ) ; //追加
include(XOOPS_ROOT_PATH."/header.php");
OpenTable() ;
・myalbum/submit.php
244行目
else {
include_once( XOOPS_ROOT_PATH."/include/cp_functions.php" ) ; //追加
include( XOOPS_ROOT_PATH . "/header.php" ) ;
OpenTable() ;
■4.PHP7へのバージョンアップによる書式変更(get_magic_quotes_gpc()が無効になったため)
・myalbum/class/myalbum.textsanitizer.php
163行目 コマンド自体を無効に対処
//if (get_magic_quotes_gpc()) {
$text = stripslashes($text);
//}
■5.その他PHP7での配列書式変更
変更対象ファイル
array()は殆どのファイルにて多数存在するので省略します
例)$name = array()
変更↓
$name = ;
■6.インストール時の上書き禁止ファイル
以下のファイルが梱包されていますが既にlegacy-2.3にて標準装備されているため上書きはしないようにすること
・xoops_trust_path/libs/smarty/plugins/function.d3comment.php
・xoops_trust_path/libs/smarty/plugins/function.xoopsdhtmltarea.php
・xoops_trust_path/libs/smarty/plugins/function.d3forum_comment_postscount.php
・xoops_trust_path/libs/smarty/plugins/function.function.d3forum_comment_topicscount.php
以上です。データベースの移行は、myx-buckupモジュールの復元を利用すると文字化けしたのでPhpMyAdminを利用したところ正常に移行できました。
---2023/2/11追加---
本サイト立ち上げ後にmyx-buckupモジュールでバックアップすると文字化けはありませんでした。
さらに
■サイトマップにmyalbumモジュールが対応できなかったのでコードを編集しました。
html/modules/myalbum/include/sitemap.plugin.php
<?php
if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;
$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
if( ! preg_match( '/^(\D+)(\d*)$/' , $mydirname , $regs ) ) echo ( "invalid dirname: " . htmlspecialchars( $mydirname ) ) ;
$mydirnumber = $regs[2] === '' ? '' : intval( $regs[2] ) ;
eval( '
function b_sitemap_'.$mydirname.'(){
$xoopsDB =& Database::getInstance();
$block = sitemap_get_categoires_map($xoopsDB->prefix("myalbum'.$mydirnumber.'_cat"), "cid", "pid", "title", "viewcat.php?cid=", "title");
return $block;
}
' ) ;
?>
↓変更
<?php
if( ! defined( 'XOOPS_ROOT_PATH' ) ) exit ;
//$mydirname = basename( dirname( dirname( __FILE__ ) ) ) ;
//if( ! preg_match( '/^(\D+)(\d*)$/' , $mydirname , $regs ) ) echo ( "invalid dirname: " . htmlspecialchars( $mydirname ) ) ;
//$mydirnumber = $regs[2] === '' ? '' : intval( $regs[2] ) ;
function b_sitemap_myalbum(){
$db =& Database::getInstance();
$block = sitemap_get_categories_map($db->prefix("myalbum_cat"), "cid", "pid", "title", "viewcat.php?cid=", "title");
return $block;
}
?
投票数:29
平均点:3.45
投稿ツリー
-
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)
- d3forumのページタイトルにトピックを追加 (タツ, 2024/11/23 11:08)