設定で本名表示にしてもユーザー名が表示されてしまう問題(Geeklog本体)

2007-10-11 21:38

投稿者: サイト管理者

本体部分の名前表示が設定どおりに反映されない部分の修正箇所をピックアップしました。細かな部分でまだ設定どおりにならない部分が残っているかもしれませんので発見されましたらご報告いただけると助かります。

プラグインについては個別対応が必要になると思います。

また、しばらくはチェックのためにこのままの設定を維持します。

*************************************************************************
20071114版で修正されているのを確認
system/custom/custom_templatesetvars.php
ようこそメッセージの表示名

  // welcome_msg_jp
        $msg ="";
        if( !empty( $_USER['username'] )) {
      $msg = 'ようこそ';
      $msg .= ' ' . $_USER['username'].'さん';
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

  // welcome_msg_jp
        $msg ="";
        if( !empty( $_USER['username'] )) {
      $msg = 'ようこそ';
      $msg .= ' ' . COM_getDisplayName($_USER['uid']) .'さん';
*************************************************************************
public_html/admin/plugins/filemgmt/index.php
ファイル置き場にアクセスできなかった場合の表示

$op = COM_applyFilter($_REQUEST['op']);
$display = '';
if (!SEC_hasRights('filemgmt.edit')) {
    if ($op != 'comment') {
        $display .= COM_siteHeader('menu');
        $display .= COM_startBlock(_GL_ERRORNOACCESS);
        $display .= _MD_USER." ".$_USER['username']. " " ._GL_NOUSERACCESS;
        $display .= COM_endBlock();
        $display .= COM_siteFooter();
        echo $display;
        exit;
    }
}
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
$op = COM_applyFilter($_REQUEST['op']);
$display = '';
//@@@@@ maruyo 2007-10-11 ------->
if (isset($_USER['uid'])) {
  $displayname = COM_getDisplayName($_USER['uid']);
} else {
  $displayname = 'ゲスト';
}

//@@@@@ maruyo 2007-10-11 <-------
if (!SEC_hasRights('filemgmt.edit')) {
    if ($op != 'comment') {
        $display .= COM_siteHeader('menu');
        $display .= COM_startBlock(_GL_ERRORNOACCESS);
//@@@@@ maruyo 2007-10-11 ------->
//        $display .= _MD_USER." ".$_USER['username']. " " ._GL_NOUSERACCESS;
        $display .= _MD_USER.":".$displayname. " " ._GL_NOUSERACCESS;
//@@@@@ maruyo 2007-10-11 <-------
        $display .= COM_endBlock();
        $display .= COM_siteFooter();
        echo $display;
        exit;
    }
}
*************************************************************************
public_html/admin/plugins/filemgmt/index.php
ダウンロード評価に表示されるユーザー欄

        $ratinguname = $_USER['username'];
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
//@@@@@ maruyo 2007-10-11 ------->
        if (isset($_USER['uid'])) {
          $displayname = COM_getDisplayName($_USER['uid']);
        } else {
          $displayname = 'ゲスト';
        }

//        $ratinguname = $_USER['username'];
        $ratinguname = $displayname;
//@@@@@ maruyo 2007-10-11 <-------

*************************************************************************
20071230版で修正が入っている。下の方法とは若干違うため確認は取れていない。
system/lib-comment.php
コメント押下時の「コメントの投稿」ページに表示される自分(ログインユーザー)の名前

            if (!empty($_USER['username'])) {
                $comment_template->set_var('uid', $_USER['uid']);
                $comment_template->set_var('username', $_USER['username']);
                $comment_template->set_var('action_url', $_CONF['site_url'] . '/users.php?mode=logout');
                $comment_template->set_var('lang_logoutorcreateaccount', $LANG03[03]);
            } else {
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
           if (!empty($_USER['username'])) {
                $comment_template->set_var('uid', $_USER['uid']);
//@@@@@ maruyo 2007-10-11 ------->
                $comment_template->set_var('username', COM_getDisplayName());
//@@@@@ maruyo 2007-10-11 <-------
                $comment_template->set_var('action_url', $_CONF['site_url'] . '/users.php?mode=logout');
                $comment_template->set_var('lang_logoutorcreateaccount', $LANG03[03]);
            } else {

*************************************************************************
public_html/layout/レイアウト/storytext.thtml
記事の所有者表示がおかしいところ
最初はプログラムを疑っていたがレイアウトがおかしかった。

    <li>
      <dl>
        <dt></dt>
        <dd>{contributedby_user}</dd>
      </dl>
    </li>
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    <li>
      <dl>
        <dt></dt>
        <dd>{contributedby_author}</dd>
      </dl>
    </li>

*************************************************************************
この変更は本名を表示してユーザー名を表示しないとき用
(本名をニックネームなどに使いユーザー名をログインにのみ使う場合)

public_html/users.php
ユーザープロフィール表示時のユーザー名

    if ($_CONF['show_fullname'] == 1) {
        if (empty ($A['fullname'])) {
            $username = $A['username'];
            $fullname = '';
        } else {
            $username = $A['fullname'];
            $fullname = $A['username'];
        }
    } else {
        $username = $A['username'];
        $fullname = $A['fullname'];
    }
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    if ($_CONF['show_fullname'] == 1) {
        if (empty ($A['fullname'])) {
            $username = $A['username'];
            $fullname = '';
        } else {
            $username = $A['fullname'];
//@@@@@ maruyo 2007-10-11 ------>
//            $fullname = $A['username'];
            $fullname = '';
//@@@@@ maruyo 2007-10-11 <------
        }
    } else {
        $username = $A['username'];
        $fullname = $A['fullname'];
    }

*************************************************************************
上記と同じ理由
public_html/ usersettings.php
マイアカウントのプレビュー画面

    if ($_CONF['show_fullname'] == 1) {
        $user_templates->set_var ('username', $A['fullname']);
        $user_templates->set_var ('user_fullname', $A['username']);
    } else {
        $user_templates->set_var ('username', $A['username']);
        $user_templates->set_var ('user_fullname', $A['fullname']);
    }
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
    if ($_CONF['show_fullname'] == 1) {
        $user_templates->set_var ('username', $A['fullname']);
//@@@@@ maruyo 2007-10-11 ------->
//        $user_templates->set_var ('user_fullname', $A['username']);

        $user_templates->set_var ('user_fullname', '');
//@@@@@ maruyo 2007-10-11 <-------
    } else {        $user_templates->set_var ('username', $A['username']);
        $user_templates->set_var ('user_fullname', $A['fullname']);
    }


*************************************************************************

2008-01-16追記部分
利用方法ごとでまとめたほうがよさそうだ・・・
1.本名のみ表示
2.ユーザー名のみ表示
3.両方表示

コメント (0件)


Geeklog実験室
http://geeklogtest.maryn.jp/article.php/20071011213841862