Hi
Actually I had a problem anyway, so I corrected the AVAMAN code. Please don't be too hard on me : that's my first hack ever.
If anyone find a better way, please tell me.
index.patch :
*** index_ori.php 2006-04-06 02:25:21.000000000 +0700
--- index_fin.php 2011-09-30 15:53:57.686817109 +0700
***************
*** 1,5 ****
--- 1,7 ----
<?php
+ define( "XOOPS_UPLOAD_PATH_AVATARS" , "../../../uploads/avatars" ) ;
+
$avaman_allowed_exts = array(
'gif' => 'image/gif' ,
'jpg' => 'image/jpeg' ,
***************
*** 59,65 ****
list( $file , $users ) = $db->fetchRow( $result ) ;
if( $users > 0 ) continue ;
if( strstr( $file , '..' ) ) die( '.. found.' ) ;
! @unlink( XOOPS_UPLOAD_PATH . '/' . $file ) ;
$db->query( "DELETE FROM ".$db->prefix("avatar")." WHERE avatar_id=$avatar_id" ) ;
}
}
--- 61,67 ----
list( $file , $users ) = $db->fetchRow( $result ) ;
if( $users > 0 ) continue ;
if( strstr( $file , '..' ) ) die( '.. found.' ) ;
! @unlink( XOOPS_UPLOAD_PATH_AVATARS . '/' . $file ) ;
$db->query( "DELETE FROM ".$db->prefix("avatar")." WHERE avatar_id=$avatar_id" ) ;
}
}
***************
*** 126,136 ****
if( empty( $avaman_allowed_exts[$ext] ) ) continue ;
$file_node = substr( $file_name , 0 , $ext_pos ) ;
$save_file_name = uniqid( 'savt' ) . '.' . $ext ;
! $fw = fopen( XOOPS_UPLOAD_PATH.'/'.$save_file_name , "w" ) ;
if( ! $fw ) continue ;
@fwrite( $fw , $file['content'] ) ;
@fclose( $fw ) ;
! $db->query( "INSERT INTO ".$db->prefix("avatar")." SET avatar_file='".addslashes($save_file_name)."', avatar_name='".addslashes($file_node)."', avatar_mimetype='".addslashes(@$avaman_allowed_exts[$ext])."', avatar_created=UNIX_TIMESTAMP(), avatar_display=1, avatar_weight=0, avatar_type='S'" ) ;
$imported ++ ;
}
--- 128,138 ----
if( empty( $avaman_allowed_exts[$ext] ) ) continue ;
$file_node = substr( $file_name , 0 , $ext_pos ) ;
$save_file_name = uniqid( 'savt' ) . '.' . $ext ;
! $fw = fopen( XOOPS_UPLOAD_PATH_AVATARS.'/'.$save_file_name , "w" ) ;
if( ! $fw ) continue ;
@fwrite( $fw , $file['content'] ) ;
@fclose( $fw ) ;
! $db->query( "INSERT INTO ".$db->prefix("avatar")." SET avatar_file='avatars/".addslashes($save_file_name)."', avatar_name='".addslashes($file_node)."', avatar_mimetype='".addslashes(@$avaman_allowed_exts[$ext])."', avatar_created=UNIX_TIMESTAMP(), avatar_display=1, avatar_weight=0, avatar_type='S'" ) ;
$imported ++ ;
}
***************
*** 185,191 ****
echo "
<tr>
<td class='$evenodd'>$avatar_id</td>
! <td class='$evenodd'><img src='".XOOPS_UPLOAD_URL.'/'.urlencode($avatar_file)."' alt='' /></td>
<td class='$evenodd'><input type='text' size='24' name='avatar_names[$avatar_id]' value='".htmlspecialchars($avatar_name,ENT_QUOTES)."' /></td>
<td class='$evenodd'> ".formatTimestamp($avatar_created)."</td>
<td class='$evenodd'><input type='checkbox' name='avatar_displays[$avatar_id]' ".($avatar_display?"checked='checked'":"")." /></td>
--- 187,193 ----
echo "
<tr>
<td class='$evenodd'>$avatar_id</td>
! <td class='$evenodd'><img src='".XOOPS_UPLOAD_URL.'/'.$avatar_file."' alt='' /></td>
<td class='$evenodd'><input type='text' size='24' name='avatar_names[$avatar_id]' value='".htmlspecialchars($avatar_name,ENT_QUOTES)."' /></td>
<td class='$evenodd'> ".formatTimestamp($avatar_created)."</td>
<td class='$evenodd'><input type='checkbox' name='avatar_displays[$avatar_id]' ".($avatar_display?"checked='checked'":"")." /></td>
smilies.patch :
*** smilies_ori.php 2006-04-06 02:25:21.000000000 +0700
--- smilies_fin.php 2011-09-30 15:53:45.036817110 +0700
***************
*** 1,5 ****
--- 1,7 ----
<?php
+ define( "XOOPS_UPLOAD_PATH_SMILIES" , "../../../uploads/smilies" ) ;
+
$avaman_allowed_exts = array(
'gif' => 'image/gif' ,
'jpg' => 'image/jpeg' ,
***************
*** 58,64 ****
if( $result ) {
list( $file ) = $db->fetchRow( $result ) ;
if( strstr( $file , '..' ) ) die( '.. found.' ) ;
! @unlink( XOOPS_UPLOAD_PATH . '/' . $file ) ;
$db->query( "DELETE FROM ".$db->prefix("smiles")." WHERE id=$smiles_id" ) ;
}
}
--- 60,66 ----
if( $result ) {
list( $file ) = $db->fetchRow( $result ) ;
if( strstr( $file , '..' ) ) die( '.. found.' ) ;
! @unlink( XOOPS_UPLOAD_PATH_SMILIES . '/' . $file ) ;
$db->query( "DELETE FROM ".$db->prefix("smiles")." WHERE id=$smiles_id" ) ;
}
}
***************
*** 125,135 ****
if( empty( $avaman_allowed_exts[$ext] ) ) continue ;
$file_node = substr( $file_name , 0 , $ext_pos ) ;
$save_file_name = uniqid( 'smil' ) . '.' . $ext ;
! $fw = fopen( XOOPS_UPLOAD_PATH.'/'.$save_file_name , "w" ) ;
if( ! $fw ) continue ;
@fwrite( $fw , $file['content'] ) ;
@fclose( $fw ) ;
! $db->query( "INSERT INTO ".$db->prefix("smiles")." SET smile_url='".addslashes($save_file_name)."', code='".addslashes(rawurldecode($file_node))."', display=0, emotion=''" ) ;
$imported ++ ;
}
--- 127,137 ----
if( empty( $avaman_allowed_exts[$ext] ) ) continue ;
$file_node = substr( $file_name , 0 , $ext_pos ) ;
$save_file_name = uniqid( 'smil' ) . '.' . $ext ;
! $fw = fopen( XOOPS_UPLOAD_PATH_SMILIES.'/'.$save_file_name , "w" ) ;
if( ! $fw ) continue ;
@fwrite( $fw , $file['content'] ) ;
@fclose( $fw ) ;
! $db->query( "INSERT INTO ".$db->prefix("smiles")." SET smile_url='smilies/".addslashes($save_file_name)."', code='".addslashes(rawurldecode($file_node))."', display=0, emotion=''" ) ;
$imported ++ ;
}
***************
*** 181,187 ****
echo "
<tr>
<td class='$evenodd'>$smiles_id</td>
! <td class='$evenodd'><img src='".XOOPS_UPLOAD_URL.'/'.urlencode($file)."' alt='' /></td>
<td class='$evenodd'><input type='text' size='12' name='codes[$smiles_id]' value='".htmlspecialchars($code,ENT_QUOTES)."' /></td>
<td class='$evenodd'><input type='text' size='24' name='emotions[$smiles_id]' value='".htmlspecialchars($emotion,ENT_QUOTES)."' /></td>
<td class='$evenodd'><input type='checkbox' name='displays[$smiles_id]' ".($display?"checked='checked'":"")." /></td>
--- 183,189 ----
echo "
<tr>
<td class='$evenodd'>$smiles_id</td>
! <td class='$evenodd'><img src='".XOOPS_UPLOAD_URL.'/'.$file."' alt='' /></td>
<td class='$evenodd'><input type='text' size='12' name='codes[$smiles_id]' value='".htmlspecialchars($code,ENT_QUOTES)."' /></td>
<td class='$evenodd'><input type='text' size='24' name='emotions[$smiles_id]' value='".htmlspecialchars($emotion,ENT_QUOTES)."' /></td>
<td class='$evenodd'><input type='checkbox' name='displays[$smiles_id]' ".($display?"checked='checked'":"")." /></td>
Complete with the modifications given here :
Xoops ForumAnd now you got a module AVAMAN which fully works with the Xoops 2.5.1.
Hope it would be useful.