<?php
// PukiWiki - Yet another WikiWikiWeb clone
-// $Id: link.php,v 1.20 2011/01/25 15:01:01 henoheno Exp $
-// Copyright (C) 2003-2007 PukiWiki Developers Team
+// link.php
+// Copyright 2003-2022 PukiWiki Development Team
// License: GPL v2 or (at your option) any later version
//
// Backlinks / AutoLinks related functions
if (is_a($_obj, 'Link_autolink')) { // 行儀が悪い
$rel_auto[] = $_obj->name;
+ } else if (is_a($_obj, 'Link_autoalias')) {
+ $_alias = get_autoalias_right_link($_obj->name);
+ if (is_pagename($_alias)) {
+ $rel_auto[] = $_alias;
+ }
} else {
$rel_new[] = $_obj->name;
}
$links = links_get_objects($page);
foreach ($links as $_obj) {
if (! isset($_obj->type) || $_obj->type != 'pagename' ||
- $_obj->name == $page || $_obj->name == '')
+ $_obj->name == $page || $_obj->name == '') {
continue;
-
- $rel[] = $_obj->name;
- if (! isset($ref[$_obj->name][$page]))
- $ref[$_obj->name][$page] = 1;
- if (! is_a($_obj, 'Link_autolink'))
- $ref[$_obj->name][$page] = 0;
+ }
+ $_name = $_obj->name;
+ if (is_a($_obj, 'Link_autoalias')) {
+ $_alias = get_autoalias_right_link($_name);
+ if (! is_pagename($_alias)) {
+ continue; // not PageName
+ }
+ $_name = $_alias;
+ }
+ $rel[] = $_name;
+ if (! isset($ref[$_name][$page])) {
+ $ref[$_name][$page] = 1;
+ }
+ if (! is_a($_obj, 'Link_autolink')) {
+ $ref[$_name][$page] = 0;
+ }
}
$rel = array_unique($rel);
if (! empty($rel)) {
}
unlink($ref_file);
}
+ if (! $is_page) {
+ if (! is_pagename_bytes_within_soft_limit($_page)) {
+ continue;
+ }
+ }
if ($is_page || ! $all_auto) {
$fp = fopen($ref_file, 'w')
or die_message('cannot write ' . htmlsc($ref_file));