YakiBiki
某方面より報告されたCSRF, XSSを中心とした脆弱性問題に対処した YakiBiki-0.9.1 をリリースし、それに伴いGlamenv-Septzen本家サイトも再開致しました。http://www.glamenv-septzen.net/view/3976月から1ヶ月近く、訪問者/RSS購読者/YakiBiki利用者の皆様…
Wikiフォーマットのヘルプ、バグ修正、機能追加を含んだYakiBiki 0.0.1 alpha-3をリリースします。 SourceForge.netのプロジェクトサイトよりダウンロード可能です。 http://sourceforge.net/projects/yakibiki次のバージョンは1.0.0-rc1とし、一休みした後…
lsモジュールで"/"区切りの仮想ディレクトリがバリバリ表示されて、おおスゲーと自画自賛してたんですが。 ふと、「・・・"dir1/dir2/"のlsで、"hoge/dir1/dir2/"がヒットしたりしてないだろうな・・・」とやってみたら。見事にヒットしちゃいました。 Σ(゚д…
GoogleMapのプラグインで、GoogleMapのAPIキーの設定をしてなかったり、_YB('js.enabled')がfalseの場合は単に指定された緯度経度とズーム率だけ指定したGoogleMapへのリンクを表示するようにした。 setup.phpを調整。 ユーザIDのシーケンスを見て、1以上だ…
Bracketリンクで、 [[ページ名>表示名]] [[http://...>表示名]]と何度指定しても、表示名への新規作成リンクになってしまう。 おっかしーなー・・・とWikiのParserやHtmlConvertのテストケースやコードを確認してたら、逆だった。 [[表示名>ページ名]] [[表…
前に実装した(と思ってた)自作コードを引っ張り出してきて、組み込んだりしてた。 まぁ、時刻表記のGMTに振り回されたり組み込んだコードの変数名で惑わされたり少し嵌ったけど、ようやく画像については304を返せるようになった。あと、前に作った自作コー…
なんでか、という理由を長々と書いた将来また気が変わった自分用のエントリが、保存したと思ったら確認しかしてなくて、うっかりFirefox閉じちゃったので私の記憶の一部が蒸発しました(つд⊂)。えっと、とにかくYakiBikiの基本ポリシーは「招かれざる者、コン…
検索一覧画面での複数表示も上手く行った。 HTML/Wiki両プラグインのヘルプページにも追記した。結局、丸一日かかっちゃったなぁ・・・。途中、子安武人+アイマス実況中継MADで2時間ほど笑い転げていたのもあるけど。あとsetup.phpで、初期データがおかしか…
MapTypeControlが、見慣れた文字列の四角い枠の表示・・・じゃなくて、何か潰れた線みたいになってる。 ちょっと気になるけど、後回しにしても問題無さそうな感覚があるので、とりあえず引き続きWikiプラグイン(HTMLプラグインへのラッパー)を作ってみよう。…
済: login/logout時のリダイレクト先のURLチェック(_YB('url')で指定されたURL範囲内である事) template日時置換 protector.phpで文字コードチェック さらに、$_REQUESTに$_GETと$_POSTのみ入るよう上書き処理 バージョンがモデレートされている時に、編集…
基本的にmbstringモジュールが無い環境を想定しているYakiBikiですが、入っていればちゃんと文字エンコーディングのチェックをしておきたいなぁとずっと思ってまして、入れたのですが。 昔設定した mbstring.substitute_character とか、mbstring.encoding_t…
結局Wikiプラグインで、ページのソース全体を取得し直しているのはoutlineプラグインのみだと分かった。ということで、yb_Wikiクラスのstaticメソッドとしてオリジナルのソースデータを保持するメソッドを用意し、yb_Wiki::convert()メソッドを呼ぶ時にここ…
なんかSF.netのSVNサーバにつながらない。夜中とかすごい重くてつながらない時がある。CodeReposに移そうかなぁ。imageプラグインでメモ。これまではimageプラグインとしてタイトルも指定可能にしようと思ってまして、alpha-2まではそうなってます。 &image(…
KinoWikiとか、方々のサイトをあちこち参考にしつつ、ようやくWiki書式用のCSSをまとめ終えた。 HTML用のプラグインのCSS設定とやっぱり干渉して、ぽろぽろHTML直したりHTMLプラグイン用のCSSを直したりした。そして、かなりヤバイミスが発覚した・・・。Wik…
YakiBikiのHTMLプラグインでHTMLエスケープが抜けてそうだったので一通り見直し掛けてる内に、みょうな現象が発生した。 "sys"ロールユーザーでログイン中に、 1. を実行し、 2. を実行するようなHTMLドキュメントを表示してみる。 具体的にはこんなHTMLテキ…
yb_naviのコードが古かったので直し始めたら、テスト用のページを作ったりしていく過程であっちにもこっちにもバグが見つかってへこんだ。 テキスト型テンプレートを元に新規作成しようとした時に、テンプレートに設定したフォーマットやテキストが新規作成…
最新のコメントN件一覧をHTMLプラグインとWikiプラグインで実装できたので、ようやくコメント機能をひとまず実装完了とします。 <yb_newcomments 件数 /> : HTMLプラグイン版 &newcomments(件数) : Wikiプラグイン版Wikiプラグインは、HTMLプラグインのラッパーです。動的に変わりま</yb_newcomments>…
・「トラックバック技術仕様書」 http://lowlife.jp/yasusii/stories/8.html↑を見ながら簡単なサンプルスクリプト書いて、送ったり受けたりをはてなダイアリ相手に試したりしてました。で、アプリとして配布するYakiBikiの場合幾つかスパム判定周りで難しい…
途中、リビジョン393で投稿済のコメントの「編集」機能を追加したのだけれど、よくよく考えたら不要。いや、だって過去のコメントを修正されたら、コメントでやり取りしている場合に話の流れが分からなくなるから。 というわけでCSSとかHTMLの調整と同時に、…
勢い込んでDAO作って、tb_addなるモジュールをコピペして中身を書いていた途中。 簡易spam判定でURLをGETしたコンテンツから検索する所を書き始めた瞬間。「・・・あれ?YakiBikiのURLって、URLクエリ使ってるから、パラメータの順番変わった瞬間に判別不能…
検索機能を新しいコードで入れ替えて、あとHTMLとかCSSも少し直した。 新規作成時、データの「型」が指定されていない時の挙動も直した。今までは「データ型無効」のメッセージで終わらせていたけど、データ型選択画面を出すように直した。
まず、profileモジュールのGuard.phpに古いtxファイルへのrequireが残っていたので除去。あと全然関係ないけど、最近YouTubeとニコ動経由でALI PROJECT - Wikipediaにはまりつつある。東方名曲選がらみでたまたまALI PROJECTの詰め合わせ1時間パックをGETし…
なんでこんなに時間がかかったかというと、 「脳噛ネウロ」のアニメの方にはまって、一日6-7話を消化していた。 鼻風邪引いて思考力ゼロ 週末実家に戻ったりしてた という感じ。
最初は"new_related"として、ACLやカテゴリ、モデレート属性をコピーした上でタイトルを「(元データのタイトル) copy 1, 2, 3...」みたくしようとしたのだけれど。タイトルに「コピー(コピーカウント)」というのを入れるのが思いの外面倒くさい。特に添付…
Factoryが内部で保持するキャッシュを回避する方法を思いついた。 - ぐらめぬ・ぜぷつぇんのはてダの形での修正をようやく採り入れ、全テストケースを実行する事が出来ました。いや、まぁ、ぼろぼろ出てきましたよ。多かったのが「テストクラス名の重複」。…
PHPならではの荒技で、$GLOBALSに「ゾーン」を指示する変数を保持して、Factory内部のキャッシュはゾーン毎に保持させる。PHPならではのキショイコード、行きます。 define('FACTORY_ZONE', "\0__GLOBAL_FACTORY_ZONE_INDICATOR"); // 初期ゾーン $GLOBALS[F…
バージョン一覧画面出来た。今回ので、 現在バージョンの切り替え バージョンの削除 バージョンの承認状態の切り替え の3種類の機能をバージョン一覧画面で操作できるようになったのだけれど、結局トランザクションは作成しなかった。 単にテストケースを作…
残: viewモジュールでバージョン番号指定された時、該当バージョンのapprovedがfalseの場合は404にする。 yb_Finderのfind_by_id()とかfind_by_all()のテストケースやっぱり要る。突貫工事で作ってしまった為か、current_versionがバージョン指定の場合に指…
テンプレート管理なんて他のマスタ管理のコピペでどうにかなるだろうと思ったけど甘かった。データ型に応じて基本属性+αの部分が入ってくるし、データ自身の拡張属性とはまた別の入力フォームを必要とする。データ型毎のクラスに、テンプレート管理でそれぞ…
http://d.hatena.ne.jp/msakamoto-sf/20071222/1198337776↑を見るとDAOレイヤーに埋め込んでる。 うー・・・DAOレイヤーはやだなぁ。そもそもgrainベースになり、yb_dao_BaseクラスにCRUD操作が集約されてるし。 というかDAOとかTXレイヤーに埋め込んじゃう…