myalbum-pモジュールphp7への対応

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

なし myalbum-pモジュールphp7への対応

msg# 1.7
depth:
1
前の投稿 - 次の投稿 | 親投稿 - 子投稿なし | 投稿日時 2022/10/1 7:39 | 最終変更
タツ  管理人   投稿数: 2403 オンライン
続いて、myalbum-pモジュールphp7への対応です。他に編集したモジュールと同様、XoopsXより最新のmyalbum-pモジュール(myalbum-p-master)version2.89をダウンロードし、ローカル環境(サーバーxampp7.4.25、legacy-2.3を起用)でインストールし、エラーが出るかどうかのチェックをしました。以下の部分を編集することでエラーは今の所解消されています。また、稼働するかどうか怪しかったのでデータベースも移行してテストしてみました。今の所うまく稼働しています。

■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;
}

?
投票数:27 平均点:3.33

投稿ツリー


     条件検索へ

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

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

ログイン

Facebook,RSSリンク表示

検索

アクセスカウンタ

今日 : 139
昨日 : 327
総計 : 1630599