I've just ported blowfish.c into blowfish.php.
A lot of thanks to Bruce Schneier and Paul Kocher.
Although I know mcrypt module supports variety encryption-decryption, there are many php environment without mcrypt.
Thus, I think that this is a MUST class for CMS.
This is an advance hint...
2.0.10JP および 2.2.0 以降、ブロックにweightがアサインされるようになりました。
その結果、極めて自由なブロックレイアウトが可能となります。
私の長年のリクエストであったweightアサインを行ってくれたonokazuさん、Mithrandirさんへの感謝の意味も込めて、ブロック管理などで、「並び順」の数値を指定するだけで、中央左・中央・中央右、さらにはメインコンテンツ部分も、自由に並び替えることの出来るテーマを作ってみました。
ダウンロードはこちら
http://www.peak.ne.jp/xoops/md/mydownloads/singlefile.php?cid=3&lid=57
メインコンテンツ部分の重みを「100」としていますので、100以下の数値に指定されたブロックならメイン部よりも上に、100を超える数値で指定されたブロックは、メイン部の下に表示されます。
このテーマの元となったのは、matchanさんがCustomizing XOOPS用に作った kihon1 テーマです。
このセンターブロック部分を、以下のように記述します。
かなりの力技で、自分でも美しくないとは思いますが、あまり良い方法が他に思い浮かびませんでした。
この機能を搭載したテーマが増えるとよいですね! 中央部分をコピペして微調整するだけで、あなたのテーマもいきなり強力になりますよ。
なお、本家版2.2でもweightがアサインされているので、このテーマも利用可能でしょう。
(本家版では、さらに id, typeid もアサインされています)
ただし、2.0.13などではアサインされいないため、この機能は使えませんのでご注意を。
AUTO-LOGIN V3 is a little safer than V2.
V3 stores user's password as md5 encoded with time limitation.
If cookie is stolen by someone, he can't login after auto-login expiration.
This means that short expiration makes your site a little bit safer.
This hack is applied now.
$_COOKIE['autologin_pass'] of V3 is incompatible with V2.
Thus, you as a user enabling auto-login have to log-in manually once.
I've gotten the mumps yesterday.
High temperature and pain of cheek make me mad.
I'm sorry that I can't support at all while a week or two weeks.
XOOPS全バージョンについてのセキュリティホール情報です。
引用符についての小さなミスが大きな問題となっています。
(どういう攻撃を受けるかは、ここでは一切書きません)
XOOPSのどのバージョンをご利用でも、修正方法はほぼ一緒です。
class/criteria.php を開いて、342行目前後から該当部分を探し、打ち消し線の箇所を削除(またはコメントアウト)してください。
JP版では2.0.10.1-JP未満、本家版では2.0.12未満の全バージョンで要修正です。
2.0.10JPなどに上げるのが嫌だ、という人なら、ぜひ手で当ててください。
簡単なパッチのはずです。
これは緊急の警告と思っていただいて構いません。
/**
* Make a sql condition string
*
* @return string
**/
function render() {
if ( is_numeric($this->value) || in_array(strtoupper($this->operator), array('IN', 'NOT IN'))) {
$value = $this->value;
} else {
if ( '' === ($value = trim($this->value)) ) {
return '';
}
if ( (substr($value, 0, 1) != '`') && (substr($value, -1) != '`') ) {
$value = "'$value'";
}
}
$clause = (!empty($this->prefix) ? "{$this->prefix}." : "") . $this->column;
if ( !empty($this->function) ) {
$clause = sprintf($this->function, $clause);
}
$clause .= " {$this->operator} $value";
return $clause;
}