### Eclipse Workspace Patch 1.0 #P mantiscvs Index: core/user_api.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/core/user_api.php,v retrieving revision 1.111 diff -u -r1.111 user_api.php --- core/user_api.php 10 Aug 2007 22:17:22 -0000 1.111 +++ core/user_api.php 12 Aug 2007 12:23:18 -0000 @@ -643,6 +643,42 @@ return array( $t_avatar_url, $t_size, $t_size ); } + + # -------------------- + # return the user avatar image + # return value is an array( URL, width, height, file_exist ) + function user_get_local_avatar( $p_user_id ) { + global $g_path; + $t_avatar_exist = true; + $avatar_dir = config_get('directory_avatar'); + + # default imagesize + $t_height = config_get('avatar_max_height'); + $t_width = config_get('avatar_max_width'); + + $t_username = user_get_name( $p_user_id ); + $t_avatar_url = $g_path . '/' . $avatar_dir . '/' . $t_username . '.gif'; + if (!file_exists(dirname( dirname( __FILE__ ) ).DIRECTORY_SEPARATOR.$avatar_dir.DIRECTORY_SEPARATOR.$t_username .".gif")) { + $t_avatar_url = $g_path . '/' . $avatar_dir . '/' . $t_username . '.jpg'; + if (!file_exists(dirname( dirname( __FILE__ ) ).DIRECTORY_SEPARATOR.$avatar_dir.DIRECTORY_SEPARATOR.$t_username .".jpg")) { + $t_avatar_exist = false; + } + } + + if ($t_avatar_exist) { + # get image dimensions + list($width_orig, $height_orig) = getimagesize($t_avatar_url); + $ratio_orig = $width_orig/$height_orig; + + if ($t_width/$t_height > $ratio_orig) { + $t_width = $t_height*$ratio_orig; + } else { + $t_height = $t_width/$ratio_orig; + } + } + + return array( $t_avatar_url, $t_width, $t_height, $t_avatar_exist ); + } # -------------------- Index: core/print_api.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/core/print_api.php,v retrieving revision 1.177 diff -u -r1.177 print_api.php --- core/print_api.php 8 Aug 2007 22:28:54 -0000 1.177 +++ core/print_api.php 12 Aug 2007 12:23:18 -0000 @@ -106,16 +106,35 @@ # Print avatar image for the given user ID - function print_avatar( $p_user_id ) { + function print_avatar( $p_user_id, $t_class = "avatar" ) { + $t_avatar_exist = false; + if ( access_has_project_level( config_get( 'show_avatar_threshold' ), null, $p_user_id ) ) { - $t_avatar = user_get_avatar( $p_user_id ); - $t_avatar_url = $t_avatar[0]; - $t_width = $t_avatar[1]; - $t_height = $t_avatar[2]; - echo '' . - 'Gravatar image'; + $t_use_gravatar = config_get( 'use_gravatar', false, $p_user_id, ALL_PROJECTS ); + + if ($t_use_gravatar) { + $t_avatar = user_get_avatar( $p_user_id ); + $t_avatar_url = $t_avatar[0]; + $t_width = $t_avatar[1]; + $t_height = $t_avatar[2]; + $t_avatar_exist = true; + echo '' . + 'Gravatar image'; + } else { + $t_avatar = user_get_local_avatar( $p_user_id ); + $t_avatar_url = $t_avatar[0]; + $t_width = $t_avatar[1]; + $t_height = $t_avatar[2]; + $t_avatar_exist = $t_avatar[3]; + + if ($t_avatar_exist) { + echo ''; + } + } } + return $t_avatar_exist; } Index: config_defaults_inc.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/config_defaults_inc.php,v retrieving revision 1.353 diff -u -r1.353 config_defaults_inc.php --- config_defaults_inc.php 8 Aug 2007 22:28:53 -0000 1.353 +++ config_defaults_inc.php 12 Aug 2007 12:23:17 -0000 @@ -526,6 +526,19 @@ # Only users above this threshold will have their avatar shown $g_show_avatar_threshold = DEVELOPER; + # Maximum file size that can be uploaded + $g_max_avatar_file_size = 100000; # 100kB + + # Show avatar (image) in manage_user_list + $g_show_avatar_in_manage_user_list = ON; + + # max size of avatar + $g_avatar_max_width = 80; + $g_avatar_max_height = 80; + + # local directory to store avatar + $g_directory_avatar = 'avatar'; + ############################ # Mantis JPGRAPH Addon ############################ Index: manage_user_edit_page.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/manage_user_edit_page.php,v retrieving revision 1.17 diff -u -r1.17 manage_user_edit_page.php --- manage_user_edit_page.php 6 Mar 2007 07:05:18 -0000 1.17 +++ manage_user_edit_page.php 12 Aug 2007 12:23:17 -0000 @@ -18,6 +18,8 @@ $t_user = user_get_row( $f_user_id ); + $t_use_gravatar = config_get( 'use_gravatar', false, $f_user_id, ALL_PROJECTS ); + html_page_top1(); html_page_top2(); @@ -29,7 +31,7 @@
-
+ @@ -101,6 +103,40 @@ + +> + + + +> + + + + +> + + + +
+ : + + /> +
+ : + +   + + + +
+ + (' . lang_get( 'max_file_size' ) . ': ' . number_format( $t_max_file_size/1000 ) . 'k)'?> + + + name="avatar_file" type="file" size="60" /> +
Index: account_page.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/account_page.php,v retrieving revision 1.52 diff -u -r1.52 account_page.php --- account_page.php 6 Mar 2007 07:05:18 -0000 1.52 +++ account_page.php 12 Aug 2007 12:23:16 -0000 @@ -36,6 +36,8 @@ $t_core_path = config_get( 'core_path' ); require_once( $t_core_path.'current_user_api.php' ); + + $t_use_gravatar = config_get( 'use_gravatar', false, auth_get_current_user_id(), ALL_PROJECTS ); #============ Parameters ============ # (none) @@ -80,7 +82,7 @@
- + @@ -191,9 +193,43 @@ - + + + + + + + + + + + + + + + + - + @@ -212,7 +248,7 @@ - + Index: manage_user_page.php =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/manage_user_page.php,v retrieving revision 1.63 diff -u -r1.63 manage_user_page.php --- manage_user_page.php 6 Mar 2007 07:05:18 -0000 1.63 +++ manage_user_page.php 12 Aug 2007 12:23:17 -0000 @@ -251,6 +251,10 @@ + > + Index: lang/strings_english.txt =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/lang/strings_english.txt,v retrieving revision 1.309 diff -u -r1.309 strings_english.txt --- lang/strings_english.txt 8 Aug 2007 20:59:25 -0000 1.309 +++ lang/strings_english.txt 12 Aug 2007 12:23:19 -0000 @@ -1365,4 +1365,10 @@ # Project Page $s_development_team = 'Development Team'; + +# Avatar +$s_avatar = 'Avatar'; +$s_use_gravatar = 'Use Gravatar for Avatar'; +$s_upload_avatar = 'Upload Avatar'; +$s_delete_avatar = 'Delete Avatar'; ?> Index: lang/strings_german.txt =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/lang/strings_german.txt,v retrieving revision 1.152 diff -u -r1.152 strings_german.txt --- lang/strings_german.txt 19 Jul 2007 06:20:21 -0000 1.152 +++ lang/strings_german.txt 12 Aug 2007 12:23:20 -0000 @@ -1329,4 +1329,10 @@ # wiki related strings $s_wiki = 'Wiki'; + +# Avatar +$s_avatar = 'Avatar'; +$s_use_gravatar = 'Gravatar für Avatar benutzen'; +$s_upload_avatar = 'Avatar hochladen'; +$s_delete_avatar = 'Avatar löschen'; ?> Index: css/default.css =================================================================== RCS file: /cvsroot/mantisbt/mantisbt/css/default.css,v retrieving revision 1.26 diff -u -r1.26 default.css --- css/default.css 8 Aug 2007 22:28:54 -0000 1.26 +++ css/default.css 12 Aug 2007 12:23:18 -0000 @@ -150,5 +150,11 @@ border: 0; } +.manage_avatar +{ + float: left; + border: 0; +} + .progress400 { position: relative; width: 400px; border: 1px solid #d7d7d7; margin-top: 1em; margin-bottom: 1em; padding: 1px; } .progress400 .bar { display: block; position: relative; background: #6bba70; text-align: center; font-weight: normal; color: #333; height: 2em; line-height: 2em; }
+ : + + /> +
+ : + +   + + + +
+ + (' . lang_get( 'max_file_size' ) . ': ' . number_format( $t_max_file_size/1000 ) . 'k)'?> + + + name="avatar_file" type="file" size="60" /> +
@@ -202,7 +238,7 @@
+ + +
@@ -280,6 +288,14 @@ +