スマイリーを切るチェックボックス

スマイリーを切るチェックボックス

- Haruhiko Okumura の投稿
返信数: 4
プレインテキストフォーマットではなくHTMLフォーマット,あるいはHTMLエディタ使用時に,プログラムソースを書いて 8-o が 驚き になるなどの忌まわしい体験をされた先生から,オプションで切れるようにできないかというご要望をいただきました。

どなたか実装されたかたはおられませんでしょうか。

もちろんサイト全体で切ることは簡単にできるのですが,スマイリー(エモーティコン)の好きなかたもおられますので。
Haruhiko Okumura への返信

Re: スマイリーを切るチェックボックス

- Haruhiko Okumura の投稿
すいません,補足です。

よくお聞きしてみたら,フォーラムの仕様は変えなくても,HTMLファイルとしてアップロードしたファイルだけでも置換が起きないようにすれば当面の問題は解決するようです。

つまり,file.php/.../hoge.html がアップロード時のまま表示されればいいということのようです。これならユーザインターフェースを変えずに比較的簡単に対応できるかも。
Haruhiko Okumura への返信

Re: スマイリーを切るチェックボックス

- Tatsuya Shirai の投稿

 スマイリーにはどうやら新旧の二つの仕組みが残っているようです.

 一つはHTMLエディタのエモーションアイコンを押して入力するスマイリーで,どうやらこれは画像へのリンクと代替テキストで構成されるようです.多分,これが新しいスマイリーの入れ方なのかなと勝手に考えています.それに対してHTML文書中の:-)(←意図的に全角)などを勝手にスマイリーに置き換えるお節介なフィルタ機能が残っています.当方では,この旧式スマイリー(と勝手に判断)はバッサリと削除しました.(奥村先生のところでもそのようにしていませんでしたか?)

 もし,スマイリーの大好きユーザさんが,アイコンから入力するのは面倒であるから:-) と入力したい,ということでしたら,仰るとおり,チェックボックスのようなものが必要でしょうね.ただ,このスマイリーなフィルタが入力確定時に置換するものではなく,表示時に置換して表示するのであるとすると面倒ですね.このHTML文書はフィルタを通さないが,このHTML文書はフィルタを通す,と仕分けするための情報を何らかの形でデータと共に保存する必要があります.
 あくまでも案ですが,旧式スマイリーで入力したい方に対しては,チェックボックスをonにした状態で「変更を保存する」をクリックすると,入力したHTMLデータを保存する際にこのフィルタ(replace_smiles())を通すようにする,ということで,もしかしたらスマイリー化して記録されたりしないでしょうか.これならば要望を満たせるかも知れませんね.

#入力が容易な旧式スマイリーは諦めて,HTMLエディタのエモーションアイコンで入力してください,という訳にはいかないでしょうか.

http://www.suzuka-ct.ac.jp/mech/moodle/mod/wiki/view.php?id=320&page=Shirai046

 呼び出し元ではなく,呼ばれたfunction lib/weblib.phpのfunction replace_smiles()の中身を全てコメントアウトすることで対処しています.

(参考リンク)

http://moodle.org/mod/forum/discuss.php?d=85640
http://moodle.org/mod/forum/discuss.php?d=57460#p261951

Tatsuya Shirai への返信

Re: スマイリーを切るチェックボックス

- Haruhiko Okumura の投稿
ありがとうございます。台風のために,すぐしなければならない仕事を優先して,今自宅から作業を再開したところです。

で,結局 lib/filelib.php で send_file の定義中

    } else {    // Try to put the file through filters
        if ($mimetype == 'text/html') {
            $options = new object();
            $options->noclean = true;
            $options->nocache = true; // temporary workaround for MDL-5136
            $options->smiley=false;  // okumura: to prevent smileys
            $text = $pathisstring ? $path : implode('', file($path));

の okumura: というコメントのある行を付け加えることによって,影響を最小限にとどめて,アップロードされたHTMLファイルの置換だけを止めたところです。

その時点で白井先生の書き込みを見て驚いているところです。そういえば昔そんな話があったですね。まったく記憶から消えていました。

三重大学版では旧式スマイリーは消していません(私のふだん使う Safari がリッチテキストエディタ非対応なので唯一のスマイリー入力法がなくなってしまいます ^^;)。でも,Firefox にすればいいことなので,旧式スマイリーを諦めるのもいいですね。でも,以前に書いたものからスマイリーが消えてしまうんですね。うーん,悩むところです。
最大評点: お役立ち度: ★★★★★★★ (2)
Haruhiko Okumura への返信

Re: スマイリーを切るチェックボックス

- Tatsuya Shirai の投稿

> 私のふだん使う Safari がリッチテキストエディタ非対応なので唯一のスマイリー入力法がなくなってしまいます ^^;)。

なるほど! 私もiPod touchなどを使っているので,冷静に考えてみたらマイノリティの一人でした.

HTMLエディタを使用できない時はスマイリーの入力を諦めていましたが,なんとかしたいですね.