For those which uses piCal 0.8x under Xoops 2.0.14 (www.xoops.org), here a small corrective measure to make it compatible with this new core.
-> Fix display of the minicalendar_ex block
----> Edit file 'pical_minical_ex.php' (directory /modules/piCal/blocks/)
----> Going to line 20/40
// speed check
//global $GIJ_common_time ;
//list($usec, $sec) = explode(" ",microtime());
//echo ((float)$sec + (float)$usec) - $GIJ_common_time ;
// get bid
if( substr( XOOPS_VERSION , 6 , 3 ) > 2.0 ) {
// XOOPS 2.1/2.2
// instanceid as bid from block_instance
$bid = @$GLOBALS['pical_blockinstance_id'] ;
} else {
// XOOPS 2.0.x
if( is_object( $GLOBALS['block_arr'][$GLOBALS['i']] ) ) {
// bid from newblocks
$bid = $GLOBALS['block_arr'][$GLOBALS['i']]->getVar('bid') ;
} else {
return array() ;
}
}
$mydirname = empty( $options[0] ) ? basename( dirname( dirname( __FILE__ ) ) ) : $options[0] ;
----> Replace by :
$mydirname = empty( $options[0] ) ? basename( dirname( dirname( __FILE__ ) ) ) : $options[0] ;
// speed check
//global $GIJ_common_time ;
//list($usec, $sec) = explode(" ",microtime());
//echo ((float)$sec + (float)$usec) - $GIJ_common_time ;
// get bid
if( substr( XOOPS_VERSION , 6 , 3 ) > 2.0 ){
// XOOPS 2.1/2.2
// instanceid as bid from block_instance
$bid = @$GLOBALS['pical_blockinstance_id'] ;
} else {
// XOOPS 2.0.x
if( is_object( $GLOBALS['block_arr'][$GLOBALS['i']] ) ) {
// bid from newblocks
$bid = $GLOBALS['block_arr'][$GLOBALS['i']]->getVar('bid') ;
} else if (! is_readable(XOOPS_ROOT_PATH.'/class/smarty/plugins/resource.db.php') &&
!is_dir(XOOPS_ROOT_PATH.'/class/smarty/core/')){
// XOOPS 2.0.14
$sql_mid_mod = "SELECT mid FROM ".$xoopsDB->prefix('modules')." WHERE dirname = '$mydirname'";
$mcx_sql = $xoopsDB->query( "SELECT bid FROM ".$xoopsDB->prefix("newblocks")." WHERE mid=($sql_mid_mod) AND show_func='pical_minical_ex_show'" ) ;
list($bid)= $xoopsDB->fetchRow( $mcx_sql );
} else {
return array() ;
}
}
----> Save the file.
-> Fix bug to the plugin manager (blanc page) :
---> Edit file pluginsmanager.php (/modules/piCal/admin/)
---> Going to line 124 and comment : it's "exit;"
---> Save the file.
-> Fix 'myblocksadmin.php' (/modules/piCal/admin/), add three blocks position
---> Edit the file
---> Going to line 103-104
$sseln = $ssel0 = $ssel1 = $ssel2 = $ssel3 = $ssel4 = "";
$scoln = $scol0 = $scol1 = $scol2 = $scol3 = $scol4 = "#FFFFFF";
---> Add the variable
$sseln = $ssel0 = $ssel1 = $ssel2 = $ssel3 = $ssel4 = $ssel5 = $ssel6 = $ssel7 = "";
$scoln = $scol0 = $scol1 = $scol2 = $scol3 = $scol4 = $scol5 = $scol6 = $scol7 = "#FFFFFF";
---> Going to line 138 and insert between 'break' and '}', that code :
case XOOPS_CENTERBLOCK_BOTTOMLEFT :
$ssel5 = " checked='checked'";
$scol5 = "#00FF00";
break ;
case XOOPS_CENTERBLOCK_BOTTOMRIGHT :
$ssel6 = " checked='checked'";
$scol6 = "#00FF00";
break ;
case XOOPS_CENTERBLOCK_BOTTOM :
$ssel7 = " checked='checked'";
$scol7 = "#00FF00";
break ;
---> Going to line 198-249, we have :
// displaying part
echo "
<tr valign='middle'>
<td class='$class'>
$name
<br />
<input type='text' name='title[$bid]' value='$title' size='20' />
</td>
<td class='$class' align='center' nowrap='nowrap' width='125px'>
<div style='float:left;background-color:$scol0;'>
<input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_LEFT."' style='background-color:$scol0;' $ssel0 />
</div>
<div style='float:left;'>-</div>
<div style='float:left;background-color:$scol2;'>
<input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_LEFT."' style='background-color:$scol2;' $ssel2 />
</div>
<div style='float:left;background-color:$scol3;'>
<input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_CENTER."' style='background-color:$scol3;' $ssel3 />
</div>
<div style='float:left;background-color:$scol4;'>
<input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_RIGHT."' style='background-color:$scol4;' $ssel4 />
</div>
<div style='float:left;'>-</div>
<div style='float:left;background-color:$scol1;'>
<input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_RIGHT."' style='background-color:$scol1;' $ssel1 />
</div>
<br />
<br />
<div style='float:left;width:40px;'> </div>
<div style='float:left;background-color:$scoln;'>
<input type='radio' name='side[$bid]' value='-1' style='background-color:$scoln;' $sseln />
</div>
<div style='float:left;'>"._NONE."</div>
</td>
<td class='$class' align='center'>
<input type='text' name=weight[$bid] value='$weight' size='3' maxlength='5' style='text-align:right;' />
</td>
<td class='$class' align='center'>
<select name='bmodule[$bid][]' size='5' multiple='multiple'>
$module_options
</select>
</td>
<td class='$class' align='center'>
<select name='bcachetime[$bid]' size='1'>
$cachetime_options
</select>
</td>
<td class='$class' align='right'>
<a href='admin.php?fct=blocksadmin&op=edit&bid=$bid'>"._EDIT."</a>{$delete_link}{$clone_link}
<input type='hidden' name='bid[$bid]' value='$bid' />
</td>
</tr>\n" ;
---> Replace this code by :
// displaying part
echo "
<tr valign='middle'>
<td class='$class'>
$name
<br />
<input type='text' name='title[$bid]' value='$title' size='20' />
</td>
<td class='$class' align='center' nowrap='nowrap' width='125px'>";
if ( defined("XOOPS_CENTERBLOCK_BOTTOMLEFT") && defined("XOOPS_CENTERBLOCK_BOTTOM") && defined("XOOPS_CENTERBLOCK_BOTTOMRIGHT")) {
echo " <div align='center' >
<span style='background-color:$scol2;'><input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_LEFT."' style='background-color:$scol2;' $ssel2 /></span>
<span style='background-color:$scol3;'><input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_CENTER."' style='background-color:$scol3;' $ssel3 /></span>
<span style='background-color:$scol4;'><input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_RIGHT."' style='background-color:$scol4;' $ssel4 /></span>
</div>
<div>
<span style='float:right;background-color:$scol1;'><input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_RIGHT."' style='background-color:$scol1;' $ssel1 /></span>
<div align='left'><span style='background-color:$scol0;'><input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_LEFT."' style='background-color:$scol0;' $ssel0 /></span></div>
</div>
<div align='center'>
<span style='background-color:$scol5;'><input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_BOTTOMLEFT."' style='background-color:$scol5;' $ssel5 /></span>
<span style='background-color:$scol7;'><input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_BOTTOM."' style='background-color:$scol7;' $ssel7 /></span>
<span style='background-color:$scol6;'><input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_BOTTOMRIGHT."' style='background-color:$scol6;' $ssel6 /></span>
</div>";
} else {
echo " <div style='float:left;background-color:$scol0;'>
<input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_LEFT."' style='background-color:$scol0;' $ssel0 />
</div>
<div style='float:left;'>-</div>
<div style='float:left;background-color:$scol2;'>
<input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_LEFT."' style='background-color:$scol2;' $ssel2 />
</div>
<div style='float:left;background-color:$scol3;'>
<input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_CENTER."' style='background-color:$scol3;' $ssel3 />
</div>
<div style='float:left;background-color:$scol4;'>
<input type='radio' name='side[$bid]' value='".XOOPS_CENTERBLOCK_RIGHT."' style='background-color:$scol4;' $ssel4 />
</div>
<div style='float:left;'>-</div>
<div style='float:left;background-color:$scol1;'>
<input type='radio' name='side[$bid]' value='".XOOPS_SIDEBLOCK_RIGHT."' style='background-color:$scol1;' $ssel1 />
</div>";
}
echo " <br />
<br />
<div style='float:left;width:40px;'> </div>
<div style='float:left;background-color:$scoln;'>
<input type='radio' name='side[$bid]' value='-1' style='background-color:$scoln;' $sseln />
</div>
<div style='float:left;'>"._NONE."</div>
</td>
<td class='$class' align='center'>
<input type='text' name=weight[$bid] value='$weight' size='3' maxlength='5' style='text-align:right;' />
</td>
<td class='$class' align='center'>
<select name='bmodule[$bid][]' size='5' multiple='multiple'>
$module_options
</select>
</td>
<td class='$class' align='center'>
<select name='bcachetime[$bid]' size='1'>
$cachetime_options
</select>
</td>
<td class='$class' align='right'>
<a href='admin.php?fct=blocksadmin&op=edit&bid=$bid'>"._EDIT."</a>{$delete_link}{$clone_link}
<input type='hidden' name='bid[$bid]' value='$bid' />
</td>
</tr>\n" ;
---> Save.
Now, piCal is compatible with xoops 2.0.14 (xoops.org/frxoops.org version) and xoops 2.0.13.2/2.2. No testing with the xoops 2.0.14JP, but I think that it is compatible now.
PS : origine subject ->
Rapport de bug et correctif pour pical sous xoops 2.0.14
Last modification to make pical compatible any version of xoops.
No testing with the xoops 2.0.14JP, but I think that it is compatible now.