myalbumP 特定のカテゴリの編集不可、特定のカテゴリの変更不可
adminは全て編集・変更可
cid=2 が「年賀状コンテスト校舎代表」カテゴリとして
editphoto.php
12行目以降を変更
$myts =& MyAlbumTextSanitizer::getInstance() ;
$cattree = new XoopsTree( $table_cat , 'cid' , 'pid' ) ;
$lid = empty( $_GET['lid'] ) ? 0 : intval( $_GET['lid'] ) ;
$result = $xoopsDB->query( "SELECT submitter FROM $table_photos WHERE lid='$lid'" ) ;
list( $submitter ) = $xoopsDB->fetchRow( $result ) ;
if( $global_perms & GPERM_EDITABLE ) {
if( $my_uid != $submitter && ! $isadmin ) {
redirect_header( $mod_url , 3 , _NOPERM ) ;
exit ;
}
} else {
redirect_header( $mod_url , 3 , _NOPERM ) ;
exit ;
}
↓
$myts =& MyAlbumTextSanitizer::getInstance() ;
$cattree = new XoopsTree( $table_cat , 'cid' , 'pid' ) ;
$cid = 2 ;
$lid = empty( $_GET['lid'] ) ? 0 : intval( $_GET['lid'] ) ;
$resultt = $xoopsDB->query( "SELECT submitter FROM $table_photos WHERE cid<>'$cid' and lid='$lid'" ) ;
list( $submitter ) = $xoopsDB->fetchRow( $resultt ) ;
if( $global_perms & GPERM_EDITABLE ) {
if( $my_uid !=$submitter && ! $isadmin ) {
redirect_header( $mod_url , 3 , _NOPERM ) ;
exit ;
}
} else {
redirect_header( $mod_url , 3 , _NOPERM ) ;
exit ;
}
$lid = empty( $_GET['lid'] ) ? 0 : intval( $_GET['lid'] ) ;
$result = $xoopsDB->query( "SELECT submitter FROM $table_photos WHERE lid='$lid'" ) ;
list( $submitter ) = $xoopsDB->fetchRow( $result ) ;
if( $global_perms & GPERM_EDITABLE ) {
if( $my_uid != $submitter && ! $isadmin ) {
redirect_header( $mod_url , 3 , _NOPERM ) ;
exit ;
}
} else {
redirect_header( $mod_url , 3 , _NOPERM ) ;
exit ;
}
135行目付近に追加
// status change
if( $isadmin ) {
$valid = empty( $_POST['valid'] ) ? 0 : intval( $_POST['valid'] ) ;
if( empty( $_POST['old_status'] ) ) {
if( $valid == 0 ) $valid = null ;
else $valid = 1 ;
} else {
if( $valid == 0 ) $valid = 0 ;
else $valid = 2 ;
}
} else {
$valid = 2 ;
}
$cid = empty( $_POST['cid'] ) ? 0 : intval( $_POST['cid'] ) ;
の下に以下を追加
// Check if cid is invalid
if( $cid >= 2 and $cid <= 2 and ! $isadmin ) {
redirect_header( "editphoto.php?lid=$lid" , 2 , 'このカテゴリには変更できません' ) ;
exit ;
}
ハックは自己責任にて行ってください。
ハックに関する質問にはお答えできませんのであらかじめご了承ください。