<?php
// PukiWiki - Yet another WikiWikiWeb clone
-// $Id: link.php,v 1.5 2005/04/23 00:13:00 henoheno Exp $
+// $Id: link.php,v 1.11 2006/04/06 03:00:00 teanan Exp $
+// Copyright (C) 2003-2006 PukiWiki Developers Team
+// License: GPL v2 or (at your option) any later version
//
// Backlinks / AutoLinks related functions
foreach (get_existfiles(CACHE_DIR, '.rel') as $cache)
unlink($cache);
- $pages = get_existpages();
$ref = array(); // »²¾È¸µ
- $ref_notauto = array();
- foreach ($pages as $page) {
+ foreach (get_existpages() as $page) {
if ($page == $whatsnew) continue;
$rel = array(); // »²¾ÈÀè
continue;
$rel[] = $_obj->name;
- if (! is_a($_obj, 'Link_autolink')) {
- $ref_notauto[$_obj->name][$page] = TRUE;
- }
- $ref[$_obj->name][] = $page;
+ if (! isset($ref[$_obj->name][$page]))
+ $ref[$_obj->name][$page] = 1;
+ if (! is_a($_obj, 'Link_autolink'))
+ $ref[$_obj->name][$page] = 0;
}
$rel = array_unique($rel);
if (! empty($rel)) {
}
foreach ($ref as $page=>$arr) {
- if (empty($arr)) continue;
-
- $arr = array_unique($arr);
$fp = fopen(CACHE_DIR . encode($page) . '.ref', 'w')
or die_message('cannot write ' . htmlspecialchars(CACHE_DIR . encode($page) . '.ref'));
- foreach ($arr as $ref_page) {
- $ref_auto = (isset($ref_notauto[$page])
- && isset($ref_notauto[$page][$ref_page])) ? 0 : 1;
- fputs($fp, "$ref_page\t$ref_auto\n");
- }
+ foreach ($arr as $ref_page=>$ref_auto)
+ fputs($fp, $ref_page . "\t" . $ref_auto . "\n");
fclose($fp);
}
}
}
}
unlink($ref_file);
- if ($is_page && ! $all_auto && $ref != '') {
+ if (($is_page || ! $all_auto) && $ref != '') {
$fp = fopen($ref_file, 'w')
or die_message('cannot write ' . htmlspecialchars($ref_file));
fputs($fp, $ref);
if (! isset($obj) || $refresh)
$obj = & new InlineConverter(NULL, array('note'));
- return $obj->get_objects(join('', preg_grep('/^(?!\/\/|\s)./', get_source($page))), $page);
+ $result = $obj->get_objects(join('', preg_grep('/^(?!\/\/|\s)./', get_source($page))), $page);
+ return $result;
}
?>