调用头像:
app/lib/common.php:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | //获取用户头像的文件名 function get_user_avatar( $id , $type ) { if ( file_exists (APP_ROOT_PATH. "public/uc_config.php" )) { require_once APP_ROOT_PATH. "public/uc_config.php" ; } if (app_conf( "INTEGRATE_CODE" )== 'Ucenter' ) { $uid = $GLOBALS [ 'db' ]->getOne( "select integrate_id from " .DB_PREFIX. "user where id=" . $id ); return UC_API. "/avatar.php?uid=" . $uid . "&size=" . $type ; } $uid = sprintf( "%09d" , $id ); $dir1 = substr ( $uid , 0, 3); $dir2 = substr ( $uid , 3, 2); $dir3 = substr ( $uid , 5, 2); $path = $dir1 . '/' . $dir2 . '/' . $dir3 ; $id = str_pad ( $id , 2, "0" , STR_PAD_LEFT); $id = substr ( $id ,-2); $avatar_file = APP_ROOT. "/public/avatar/" . $path . "/" . $id . "virtual_avatar_" . $type . ".jpg" ; $avatar_check_file = APP_ROOT_PATH. "public/avatar/" . $path . "/" . $id . "virtual_avatar_" . $type . ".jpg" ; if ( file_exists ( $avatar_check_file )) return $avatar_file ; else return APP_ROOT. "/public/avatar/noavatar_" . $type . ".gif" ; //@file_put_contents($avatar_check_file,@file_get_contents(APP_ROOT_PATH."public/avatar/noavatar_".$type.".gif")); } |
也就是增加检测uc_config.php是否存在及是否启用ucenter的判定,如果启用了ucenter则返回ucenter的头像地址,未启用ucenter的正常使用方维O2O头像。
修改头像:
app/tpl/fanwe/inc/uc/uc_account_index.html:
在
1 | < img id = "avatar" src = "{function name=" get_user_avatar" uid=$user_info.id type = "big" }" /> |
前加入以下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <?php //使用UCENTER的头像上传(整个UCENTER系统使用同一头像) if ( file_exists (APP_ROOT_PATH. "public/uc_config.php" )) { require_once APP_ROOT_PATH. "public/uc_config.php" ; } if (app_conf( "INTEGRATE_CODE" )== 'Ucenter' ) { if ( file_exists (APP_ROOT_PATH. "uc_client/client.php" )) { require_once APP_ROOT_PATH. "uc_client/client.php" ; $uid = $GLOBALS [ 'db' ]->getOne( "select integrate_id from " .DB_PREFIX. "user where id=" . $this ->_var[ 'user_info' ][ 'id' ]); echo "<div style='display:none;' id='uc_avatar'>" .uc_avatar( $uid ). "</div>" ; $this ->_var[ 'is_uc_avatar' ] = 1; ?> <script type= "text/javascript" > function updateavatar(){ window.location.reload(); } function uc_avatar(){ $.weeboxs.open( '#uc_avatar' ,{contentType: 'ajax' ,showButton:false,title: '修改头像' ,width:480,type: 'wee' }); } </script> <?php } } ?> |
并修改
1 | < label class = "fileupload" onclick = "upd_file(this,'avatar_file',{$user_info.id});" > |
为:
1 | < label class = "fileupload" onclick = "{if $is_uc_avatar eq 1}uc_avatar();return false;{else}upd_file(this,'avatar_file',{$user_info.id});{/if}" > |
即可。
启用ucenter即将个人中心上传头像按钮修改为ucenter的头像上传,不启用ucenter则使用方维O2O头像上传功能。