You are here

function wikitools_wikilink_drupal_path in Wikitools 7

Same name and namespace in other branches
  1. 5 wikitools.module \wikitools_wikilink_drupal_path()
  2. 6.2 wikitools.module \wikitools_wikilink_drupal_path()
  3. 6 wikitools.module \wikitools_wikilink_drupal_path()

Build a Drupal path to link to a page.

Parameters

$title: title to link to

$query: an optional query string to append to the link

1 call to wikitools_wikilink_drupal_path()
wikitools_wikilink_url in ./wikitools.module
Build an url to link to a page.

File

./wikitools.module, line 335
A non-intrusive module to have some wiki-like behaviour.

Code

function wikitools_wikilink_drupal_path($title) {
  if ($wiki_path = wikitools_wiki_path()) {
    return $wiki_path . '/' . wikitools_encode_page_name($title);
  }
  elseif (wikitools_hijack_freelinking()) {
    return 'freelinking/' . wikitools_encode_page_name($title);
  }
  else {

    // Neither wikitools nor freelinking will handle the link.
    // Try to find a node with the given name and link directly to the first match.
    $result = db_query("SELECT nid, type FROM {node} WHERE LOWER(title) = LOWER(:title)", array(
      ':title' => $title,
    ));
    $found_nodes = array();
    foreach ($result as $node) {
      if (wikitools_type_affected($node->type)) {
        return "node/{$node->nid}";
      }
    }
  }
}