link.phpとbackup.phpのクラス化

メンテナンス性を良くするため、この2つのライブラリをクラス化しました。大体以下のような関数と互換性があります。

link.php
function links_get_related_db($page){
	$links = new Links($page);
	return $links->get_related();
}

// Update link-relationships between pages
function links_update($page)
{
	$links = new Links($page);
	return $links->update();
}

// Init link cache (Called from link plugin)
function links_init()
{
	$links = new Links('');
	return $links->init();
}
backup.php
function make_backup($page, $delete = FALSE)
{
	global $del_backup;
	$backup = new Backup($page);

	if ($del_backup && $delete) {
		$backup->removeBackup();
		return;
	}
	return $backup->setBackup();
}

function get_backup($page, $age = 0)
{
	$backup = new Backup($page);
	return $backup->getBackup($age);
}

function _backup_file_exists($page){
	$backup = new Backup($page);
	return $backup->hasBackup();
}
backup.phpの関数は、Zend\Cache風にしました。ページごとにインスタンスを作成し、読み込み時は、getBackup()、書き込み時はsetBackUp()、存在確認はhasBackUp()のような感じになっています。また、bz2モジュールが使える場合そちらを使用するようにし、バックアップの容量削減も可能にしました。注意して欲しいのは、取得したバックアップデーターは行ごと配列として扱われることで、backup.inc.phpのデーターを取得するimplode('', $backups['data'])という箇所は、implode("\n", $backups['data'])にする必要があるというところです。

仕様は今後変更される可能性がありますが、最低限1.x系統では既存のコードでも問題なく動作するようにしてあります。