<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://atk-framework.com/index.php?action=history&amp;feed=atom&amp;title=Wikifing_help_links</id>
	<title>Wikifing help links - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://atk-framework.com/index.php?action=history&amp;feed=atom&amp;title=Wikifing_help_links"/>
	<link rel="alternate" type="text/html" href="https://atk-framework.com/index.php?title=Wikifing_help_links&amp;action=history"/>
	<updated>2026-09-20T19:43:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17825&amp;oldid=prev</id>
		<title>Hapstance: /* config.inc.php */</title>
		<link rel="alternate" type="text/html" href="https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17825&amp;oldid=prev"/>
		<updated>2008-12-05T07:35:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;config.inc.php&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:35, 5 December 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot;&gt;Line 21:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 21:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  $config_help_site = &amp;quot;http://somesite.net/mediawiki/index.php?title=&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  $config_help_site = &amp;quot;http://somesite.net/mediawiki/index.php?title=&amp;quot;;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==atk/class.atknode.inc&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==atk/class.atknode.inc==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Change the original ATK 6.2 helpURL method&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Change the original ATK 6.2 helpURL method&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hapstance</name></author>
	</entry>
	<entry>
		<id>https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17824&amp;oldid=prev</id>
		<title>Hapstance at 07:34, 5 December 2008</title>
		<link rel="alternate" type="text/html" href="https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17824&amp;oldid=prev"/>
		<updated>2008-12-05T07:34:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:34, 5 December 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l7&quot;&gt;Line 7:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 7:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some developers may prefer [[Editing files with the atkFileEditor]] (edit help files) but that doesn&amp;#039;t give revision history and other wiki niceties.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Some developers may prefer [[Editing files with the atkFileEditor]] (edit help files) but that doesn&amp;#039;t give revision history and other wiki niceties.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==Concerns&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Concerns==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The biggest problem is that this method makes changes to some of the base ATK classes and so special work will be necessary every time ATK is upgraded. Unfortunately I couldn&amp;#039;t get the atkClassLoader() to work. Perhaps someone else can come up with a more friendly implementation method.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The biggest problem is that this method makes changes to some of the base ATK classes and so special work will be necessary every time ATK is upgraded. Unfortunately I couldn&amp;#039;t get the atkClassLoader() to work. Perhaps someone else can come up with a more friendly implementation method.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If an app is using a wiki that documents more than just the application it might be helpful to use categories such as MediaWiki uses.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If an app is using a wiki that documents more than just the application it might be helpful to use categories such as MediaWiki uses.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==config.inc.php&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==config.inc.php==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add the following to file.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Add the following to file.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  //Base URL of help site.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  //Base URL of help site.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l89&quot;&gt;Line 89:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 89:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==atk/attributes/class.atkattribute.inc&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==atk/attributes/class.atkattribute.inc==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Change the original ATK 6.2 getToolTip method&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Change the original ATK 6.2 getToolTip method&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l159&quot;&gt;Line 159:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 159:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==atk/attributes/class.atktabbedpane.inc&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==atk/attributes/class.atktabbedpane.inc==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Change the original ATK 6.2 edit and display methods&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Change the original ATK 6.2 edit and display methods&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hapstance</name></author>
	</entry>
	<entry>
		<id>https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17823&amp;oldid=prev</id>
		<title>Hapstance at 07:33, 5 December 2008</title>
		<link rel="alternate" type="text/html" href="https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17823&amp;oldid=prev"/>
		<updated>2008-12-05T07:33:54Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:33, 5 December 2008&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot;&gt;Line 4:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 4:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For a working example check out [https://apps.sourceforge.net/mediawiki/myshi/index.php?title=Main_Page MySHI] next release 0.03b or greater.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;For a working example check out [https://apps.sourceforge.net/mediawiki/myshi/index.php?title=Main_Page MySHI] next release 0.03b or greater.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Some developers may prefer [[Editing files with the atkFileEditor]] (edit help files) but that doesn&#039;t give revision history and other wiki niceties.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Concerns===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Concerns===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Hapstance</name></author>
	</entry>
	<entry>
		<id>https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17822&amp;oldid=prev</id>
		<title>Hapstance: New page: I&#039;m a firm believer in user created / contributed help. In that spirit I wanted to provide context level help to my ATK application that was wiki driven. This method hijacks the already bu...</title>
		<link rel="alternate" type="text/html" href="https://atk-framework.com/index.php?title=Wikifing_help_links&amp;diff=17822&amp;oldid=prev"/>
		<updated>2008-12-05T07:27:37Z</updated>

		<summary type="html">&lt;p&gt;New page: I&amp;#039;m a firm believer in user created / contributed help. In that spirit I wanted to provide context level help to my ATK application that was wiki driven. This method hijacks the already bu...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;I&amp;#039;m a firm believer in user created / contributed help. In that spirit I wanted to provide context level help to my ATK application that was wiki driven. This method hijacks the already built in help links system and redirects them away from the language / help files and instead directs them to appropriate wiki pages. This method is smart enough to use the language files for new node and attribute names so that users should have a fairly seamless experience.&lt;br /&gt;
&lt;br /&gt;
These changes were made to ATK 6.2. Different versions may require slight modifications.&lt;br /&gt;
&lt;br /&gt;
For a working example check out [https://apps.sourceforge.net/mediawiki/myshi/index.php?title=Main_Page MySHI] next release 0.03b or greater.&lt;br /&gt;
&lt;br /&gt;
===Concerns===&lt;br /&gt;
The biggest problem is that this method makes changes to some of the base ATK classes and so special work will be necessary every time ATK is upgraded. Unfortunately I couldn&amp;#039;t get the atkClassLoader() to work. Perhaps someone else can come up with a more friendly implementation method.&lt;br /&gt;
&lt;br /&gt;
This method will use the language files to create page names so a developer will want be aware of page names when changing the language files so that pages don&amp;#039;t become disconnected and alienated.&lt;br /&gt;
&lt;br /&gt;
This may not handle internationalization as well as possible. The language files are used to determine the wiki page name. However, I&amp;#039;m fairly certain that at least MediaWiki has international support and it might be worth looking into how to integrate better with that.&lt;br /&gt;
&lt;br /&gt;
If an app is using a wiki that documents more than just the application it might be helpful to use categories such as MediaWiki uses.&lt;br /&gt;
&lt;br /&gt;
===config.inc.php===&lt;br /&gt;
Add the following to file.&lt;br /&gt;
 //Base URL of help site.&lt;br /&gt;
 $config_help_site = &amp;quot;http://somesite.net/mediawiki/index.php?title=&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
===atk/class.atknode.inc===&lt;br /&gt;
Change the original ATK 6.2 helpURL method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /**&lt;br /&gt;
     * Get the help url for this node.&lt;br /&gt;
     *&lt;br /&gt;
     * Retrieves the url of the help popup, if there is help available for&lt;br /&gt;
     * this node.&lt;br /&gt;
     * @return String The help url, or an empty string if help is not&lt;br /&gt;
     *                available.&lt;br /&gt;
     */&lt;br /&gt;
    function helpUrl()&lt;br /&gt;
    {&lt;br /&gt;
      $language = atkconfig(&amp;quot;language&amp;quot;);&lt;br /&gt;
      $node = $this-&amp;gt;m_type;&lt;br /&gt;
&lt;br /&gt;
      $file   = moduleDir($this-&amp;gt;m_module).&amp;quot;help/&amp;quot;.$language.&amp;quot;/help.&amp;quot;.$node.&amp;quot;.inc&amp;quot;;&lt;br /&gt;
      $helpmodule = &amp;quot;&amp;quot;;&lt;br /&gt;
      if (file_exists($file))&lt;br /&gt;
      {&lt;br /&gt;
        $helpmodule = $this-&amp;gt;m_module;&lt;br /&gt;
      }&lt;br /&gt;
      else&lt;br /&gt;
      {&lt;br /&gt;
        // bwc&lt;br /&gt;
        $file   = &amp;quot;help/&amp;quot;.$language.&amp;quot;/help.&amp;quot;.$node.&amp;quot;.inc&amp;quot;;&lt;br /&gt;
        if (!file_exists($file))&lt;br /&gt;
        {&lt;br /&gt;
          // no help available..&lt;br /&gt;
          return &amp;quot;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $name = atktext(&amp;quot;help&amp;quot;);&lt;br /&gt;
      return atkPopup(&amp;#039;atk/popups/help.inc&amp;#039;,&amp;#039;node=&amp;#039;.$node.($helpmodule!=&amp;quot;&amp;quot;?&amp;quot;&amp;amp;module=&amp;quot;.$helpmodule:&amp;quot;&amp;quot;),$name,650,650,&amp;#039;yes&amp;#039;,&amp;#039;no&amp;#039;);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /**&lt;br /&gt;
     * Get the help url for this node.&lt;br /&gt;
     *&lt;br /&gt;
     * Retrieves the url of the help popup, if there is help available for&lt;br /&gt;
     * this node.&lt;br /&gt;
     * @return String The help url, or an empty string if help is not&lt;br /&gt;
     *                available.&lt;br /&gt;
     */&lt;br /&gt;
    function helpUrl()&lt;br /&gt;
    {&lt;br /&gt;
      $module = $this-&amp;gt;getModule();&lt;br /&gt;
      if (!$module) $module = &amp;quot;atk&amp;quot;;&lt;br /&gt;
      &lt;br /&gt;
      $nodetxt = atktext($this-&amp;gt;m_type, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
      if (!$nodetxt) {&lt;br /&gt;
        $nodetxt = $this-&amp;gt;m_type;&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      $tooltip .= atkconfig(&amp;quot;help_site&amp;quot;);&lt;br /&gt;
      $tooltip .= $nodetxt;&lt;br /&gt;
      $tooltip .= &amp;#039;&amp;quot; target=&amp;quot;help&amp;quot;&amp;#039;;&lt;br /&gt;
      &lt;br /&gt;
      return $tooltip;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===atk/attributes/class.atkattribute.inc===&lt;br /&gt;
Change the original ATK 6.2 getToolTip method&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /**&lt;br /&gt;
     * Retrieve the html/javascript code for showing the tooltip for this attribute.&lt;br /&gt;
     *&lt;br /&gt;
     * @return String HTML&lt;br /&gt;
     */&lt;br /&gt;
    function getToolTip()&lt;br /&gt;
    {&lt;br /&gt;
      $module = $this-&amp;gt;getModule();&lt;br /&gt;
      if (!$module) $module = &amp;quot;atk&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
      $ttip = atktext($node-&amp;gt;m_type.&amp;quot;_&amp;quot;.$this-&amp;gt;fieldName().&amp;quot;_tooltip&amp;quot;, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
&lt;br /&gt;
      $tooltip = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      if ($ttip)&lt;br /&gt;
      {&lt;br /&gt;
        $theme = &amp;amp;atkinstance(&amp;quot;atk.ui.atktheme&amp;quot;);&lt;br /&gt;
        $tipimg = $theme-&amp;gt;imgPath(&amp;quot;help.gif&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
        $onelinetip = preg_replace(&amp;#039;/([\r\n])/e&amp;#039;,&amp;quot;&amp;quot;,$ttip);&lt;br /&gt;
        $tooltip = &amp;#039;&amp;lt;img align=&amp;quot;top&amp;quot; src=&amp;quot;&amp;#039;.$tipimg.&amp;#039;&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;#039;.$onelinetip.&amp;#039;&amp;quot; onClick=&amp;quot;javascript:alert(\&amp;#039;&amp;#039;.str_replace(&amp;quot;\n&amp;quot;, &amp;#039;\n&amp;#039;, addslashes($ttip)).&lt;br /&gt;
        &amp;#039;\&amp;#039;)&amp;quot; onMouseOver=&amp;quot;javascript:window.status=\&amp;#039;&amp;#039;. addslashes($onelinetip).&amp;#039;\&amp;#039;;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
      }&lt;br /&gt;
      return $tooltip;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /**&lt;br /&gt;
     * Retrieve the html/javascript code for showing the tooltip for this attribute.&lt;br /&gt;
     *&lt;br /&gt;
     * @return String HTML&lt;br /&gt;
     */&lt;br /&gt;
    function getToolTip()&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
      $module = $this-&amp;gt;getModule();&lt;br /&gt;
      if (!$module) $module = &amp;quot;atk&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
&lt;br /&gt;
      $nodetxt = atktext($node-&amp;gt;m_type, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
      if (!$nodetxt) {&lt;br /&gt;
        $nodetxt = $node-&amp;gt;m_type;&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      $attributetxt = atktext($this-&amp;gt;fieldName(), $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);      &lt;br /&gt;
      if (!$attributetxt) {&lt;br /&gt;
        $attributetxt = $this-&amp;gt;fieldName();&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      $link = $nodetxt . &amp;quot; - &amp;quot; . $attributetxt;&lt;br /&gt;
      &lt;br /&gt;
      $tooltip = &amp;#039;&amp;amp;nbsp;&amp;#039;;&lt;br /&gt;
      $tooltip .= &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039;;&lt;br /&gt;
      $tooltip .= atkconfig(&amp;quot;help_site&amp;quot;);&lt;br /&gt;
      $tooltip .= $link;&lt;br /&gt;
      $tooltip .= &amp;#039;&amp;quot; target=&amp;quot;help&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      return $tooltip;&lt;br /&gt;
      &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===atk/attributes/class.atktabbedpane.inc===&lt;br /&gt;
Change the original ATK 6.2 edit and display methods&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    function edit($defaults=&amp;quot;&amp;quot;, $fieldprefix=&amp;quot;&amp;quot;, $mode=&amp;quot;&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
      $arr = array(&amp;quot;hide&amp;quot;=&amp;gt;array());&lt;br /&gt;
      //get data&lt;br /&gt;
      $data = $this-&amp;gt;_addToEditArray($mode, $arr, $defaults, $defaults[&amp;#039;atkerror&amp;#039;], $fieldprefix);&lt;br /&gt;
&lt;br /&gt;
      // Handle errors - need more testing for move to right tab&lt;br /&gt;
      /*$errors = array();&lt;br /&gt;
      if (count($data[&amp;#039;error&amp;#039;]) &amp;gt; 0)&lt;br /&gt;
      {&lt;br /&gt;
        $error_title = &amp;#039;&amp;lt;b&amp;gt;&amp;#039;.atktext(&amp;#039;error_formdataerror&amp;#039;).&amp;#039;&amp;lt;/b&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        foreach ($data[&amp;quot;error&amp;quot;] as $error)&lt;br /&gt;
        {&lt;br /&gt;
          if(in_array($error[&amp;#039;attribname&amp;#039;],array_keys($this-&amp;gt;m_attribsList)))&lt;br /&gt;
          {&lt;br /&gt;
            $error[&amp;#039;tab&amp;#039;] = $this-&amp;gt;m_attribsList[$error[&amp;#039;attribname&amp;#039;]];&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          if ($error[&amp;#039;err&amp;#039;] == &amp;quot;error_primarykey_exists&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
            $pk_err_attrib[] = $error[&amp;#039;attrib_name&amp;#039;];&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
            $type = (empty($error[&amp;quot;node&amp;quot;]) ? $node-&amp;gt;m_type : $error[&amp;quot;node&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
            if (count($node-&amp;gt;getTabs($node-&amp;gt;m_action)) &amp;gt; 1 &amp;amp;&amp;amp; $error[&amp;quot;tab&amp;quot;])&lt;br /&gt;
              $error_tab = &amp;#039; (&amp;#039;.atktext(&amp;quot;error_tab&amp;quot;).&amp;#039; &amp;#039;.&amp;#039;&amp;lt;a href=&amp;quot;javascript:showTab(\&amp;#039;&amp;#039;.$error[&amp;quot;tab&amp;quot;].&amp;#039;\&amp;#039;);&amp;quot;&amp;gt;&amp;#039;.atktext(array(&amp;quot;tab_&amp;quot;.$error[&amp;quot;tab&amp;quot;], $error[&amp;quot;tab&amp;quot;]),$node-&amp;gt;m_module, $node-&amp;gt;m_type).&amp;#039;&amp;lt;/a&amp;gt; )&amp;#039;;&lt;br /&gt;
            else $error_tab = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            if(!is_array($error[&amp;#039;attrib_name&amp;#039;]))&lt;br /&gt;
            {&lt;br /&gt;
              $label = atktext($error[&amp;#039;attrib_name&amp;#039;], $node-&amp;gt;m_module, $type);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
              $label = array();&lt;br /&gt;
              foreach($error[&amp;#039;attrib_name&amp;#039;] as $attrib)&lt;br /&gt;
                $label[] = atktext($attrib, $node-&amp;gt;m_module, $type);&lt;br /&gt;
&lt;br /&gt;
              $label= implode(&amp;quot;, &amp;quot;, $label);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            $errors[] = array(&amp;quot;msg&amp;quot;=&amp;gt;$error[&amp;#039;msg&amp;#039;].$error_tab, &amp;quot;label&amp;quot;=&amp;gt;$label);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        if (count($pk_err_attrib)&amp;gt;0) // Make primary key error message&lt;br /&gt;
        {&lt;br /&gt;
          for($i=0;$i&amp;lt;count($pk_err_attrib); $i++)&lt;br /&gt;
          {&lt;br /&gt;
            $pk_err_msg .= atktext($pk_err_attrib[$i], $node-&amp;gt;m_module);&lt;br /&gt;
            if (($i+1) &amp;lt; count($pk_err_attrib)) $pk_err_msg .= &amp;quot;, &amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          $errors[] = array(&amp;quot;label&amp;quot;=&amp;gt;atktext(&amp;quot;error_primarykey_exists&amp;quot;),&lt;br /&gt;
                            &amp;quot;msg&amp;quot;=&amp;gt;$pk_err_msg);&lt;br /&gt;
        }&lt;br /&gt;
      }*/&lt;br /&gt;
&lt;br /&gt;
      // Handle fields&lt;br /&gt;
      // load images&lt;br /&gt;
      $theme = &amp;amp;atkinstance(&amp;quot;atk.ui.atktheme&amp;quot;);&lt;br /&gt;
      $tipimg = $theme-&amp;gt;imgPath(&amp;quot;help.gif&amp;quot;);&lt;br /&gt;
      $reqimg = &amp;#039;&amp;lt;img align=&amp;quot;top&amp;quot; src=&amp;quot;&amp;#039;.$theme-&amp;gt;imgPath(&amp;quot;required_field.gif&amp;quot;).&amp;#039;&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
                  alt=&amp;quot;&amp;#039;.atktext(&amp;quot;field_obligatory&amp;quot;).&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;.atktext(&amp;quot;field_obligatory&amp;quot;).&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      /* display the edit fields */&lt;br /&gt;
      $fields = array();&lt;br /&gt;
      $tab = $this-&amp;gt;getDefaultTab();&lt;br /&gt;
&lt;br /&gt;
      for ($i = 0, $_i= count($data[&amp;quot;fields&amp;quot;]); $i&amp;lt;$_i; $i++)&lt;br /&gt;
      {&lt;br /&gt;
        $field = &amp;amp;$data[&amp;quot;fields&amp;quot;][$i];&lt;br /&gt;
        $tplfield = array();&lt;br /&gt;
&lt;br /&gt;
		    $tplfield[&amp;quot;tab&amp;quot;] =  $field[&amp;quot;tabs&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
		    $tplfield[&amp;quot;initial_on_tab&amp;quot;] = $tplfield[&amp;quot;tab&amp;quot;]==$tab;&lt;br /&gt;
&lt;br /&gt;
		    $tplfield[&amp;quot;class&amp;quot;] = &amp;quot;tabbedPaneAttr tabbedPaneTab{$field[&amp;#039;tabs&amp;#039;]}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		    // Check if there are attributes initially hidden on this tabbedpane&lt;br /&gt;
		    if ($field[&amp;quot;attribute&amp;quot;]-&amp;gt;isInitialHidden($defaults))&lt;br /&gt;
		        $tplfield[&amp;quot;class&amp;quot;].= &amp;quot; atkAttrRowHidden&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		    $tplfield[&amp;quot;rowid&amp;quot;] = &amp;quot;tabbedPaneAttr_&amp;quot;.($field[&amp;#039;id&amp;#039;]!=&amp;#039;&amp;#039;?$field[&amp;#039;id&amp;#039;]:getUniqueID(&amp;quot;anonymousattribrows&amp;quot;)); // The id of the containing row&lt;br /&gt;
&lt;br /&gt;
		    /* check for separator */&lt;br /&gt;
        if ($field[&amp;quot;html&amp;quot;] == &amp;quot;-&amp;quot; &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; $data[&amp;quot;fields&amp;quot;][$i-1][&amp;quot;html&amp;quot;] != &amp;quot;-&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
          $tplfield[&amp;quot;line&amp;quot;] = &amp;quot;&amp;lt;hr&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        /* double separator, ignore */&lt;br /&gt;
        elseif ($field[&amp;quot;html&amp;quot;] == &amp;quot;-&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
        /* only full HTML */&lt;br /&gt;
        elseif (isset($field[&amp;quot;line&amp;quot;]))&lt;br /&gt;
        {&lt;br /&gt;
          $tplfield[&amp;quot;line&amp;quot;] = $field[&amp;quot;line&amp;quot;];&lt;br /&gt;
        }&lt;br /&gt;
        /* edit field */&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          if ($field[&amp;quot;attribute&amp;quot;]-&amp;gt;m_ownerInstance-&amp;gt;getNumbering())&lt;br /&gt;
          {&lt;br /&gt;
            atkViewEditBase::_addNumbering($field, $tplfield, $i);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          /* does the field have a label? */&lt;br /&gt;
          if ((isset($field[&amp;quot;label&amp;quot;]) &amp;amp;&amp;amp; $field[&amp;quot;label&amp;quot;]!==&amp;quot;AF_NO_LABEL&amp;quot;) &amp;amp;&amp;amp; !$this-&amp;gt;isAttributeSingleOnTab($field[&amp;#039;name&amp;#039;])&lt;br /&gt;
                              || !isset($field[&amp;quot;label&amp;quot;]))&lt;br /&gt;
          {&lt;br /&gt;
            if ($field[&amp;quot;label&amp;quot;] == &amp;quot;&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
              $tplfield[&amp;quot;label&amp;quot;] = &amp;quot;&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
              $tplfield[&amp;quot;label&amp;quot;] = $field[&amp;quot;label&amp;quot;];&lt;br /&gt;
              if ($field[&amp;quot;error&amp;quot;]) // TODO KEES&lt;br /&gt;
              {&lt;br /&gt;
                $tplfield[&amp;quot;error&amp;quot;] = $field[&amp;quot;error&amp;quot;];&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
          	$tplfield[&amp;quot;label&amp;quot;]=&amp;quot;AF_NO_LABEL&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          /* obligatory indicator */&lt;br /&gt;
          if ($field[&amp;quot;obligatory&amp;quot;])&lt;br /&gt;
          {&lt;br /&gt;
            $tplfield[&amp;quot;label&amp;quot;];&lt;br /&gt;
            $tplfield[&amp;quot;obligatory&amp;quot;] = $reqimg;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          /* html source */&lt;br /&gt;
          $tplfield[&amp;quot;widget&amp;quot;] = $field[&amp;quot;html&amp;quot;];&lt;br /&gt;
          $editsrc = $field[&amp;quot;html&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
          /* tooltip */&lt;br /&gt;
          if (is_object($node-&amp;gt;m_attribList[$field[&amp;#039;name&amp;#039;]]))&lt;br /&gt;
          {&lt;br /&gt;
            $module = $node-&amp;gt;m_attribList[$field[&amp;#039;name&amp;#039;]]-&amp;gt;getModule();&lt;br /&gt;
          }&lt;br /&gt;
          if (!$module) $module = &amp;quot;atk&amp;quot;;&lt;br /&gt;
          $ttip = atktext($node-&amp;gt;m_type.&amp;quot;_&amp;quot;.$field[&amp;quot;name&amp;quot;].&amp;quot;_tooltip&amp;quot;, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
&lt;br /&gt;
          if ($ttip)&lt;br /&gt;
          {&lt;br /&gt;
            $onelinetip = preg_replace(&amp;#039;/([\r\n])/e&amp;#039;,&amp;quot;&amp;quot;,$ttip);&lt;br /&gt;
            $tooltip = &amp;#039;&amp;lt;img align=&amp;quot;top&amp;quot; src=&amp;quot;&amp;#039;.$tipimg.&amp;#039;&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;#039;.$onelinetip.&amp;#039;&amp;quot; onClick=&amp;quot;javascript:alert(\&amp;#039;&amp;#039;.str_replace(&amp;quot;\n&amp;quot;, &amp;#039;\n&amp;#039;, addslashes($ttip)).&lt;br /&gt;
                                    &amp;#039;\&amp;#039;)&amp;quot; onMouseOver=&amp;quot;javascript:window.status=\&amp;#039;&amp;#039;. addslashes($onelinetip).&amp;#039;\&amp;#039;;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
            $tplfield[&amp;quot;tooltip&amp;quot;] = $tooltip;&lt;br /&gt;
            $editsrc.=$tooltip.&amp;quot;&amp;amp;nbsp;&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          $tplfield[&amp;#039;id&amp;#039;]=str_replace(&amp;#039;.&amp;#039;,&amp;#039;_&amp;#039;,$node-&amp;gt;atknodetype().&amp;#039;_&amp;#039;.$field[&amp;quot;id&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
          $tplfield[&amp;quot;full&amp;quot;] = $editsrc;&lt;br /&gt;
        }&lt;br /&gt;
        $fields[] = $tplfield; // make field available in numeric array&lt;br /&gt;
        $params[$field[&amp;quot;name&amp;quot;]] = $tplfield; // make field available in associative array&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $ui = &amp;amp;$node-&amp;gt;getUi();&lt;br /&gt;
      $page = &amp;amp;$node-&amp;gt;getPage();&lt;br /&gt;
&lt;br /&gt;
      $result = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      foreach ($arr[&amp;quot;hide&amp;quot;] as $hidden)&lt;br /&gt;
      {&lt;br /&gt;
        $result.= $hidden;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $params[&amp;quot;activeTab&amp;quot;] = $tab;&lt;br /&gt;
      $params[&amp;quot;panename&amp;quot;] = $this-&amp;gt;m_name;&lt;br /&gt;
      $params[&amp;quot;fields&amp;quot;] = $fields; // add all fields as an numeric array.&lt;br /&gt;
      $params[&amp;quot;errortitle&amp;quot;] = $error_title;&lt;br /&gt;
      $params[&amp;quot;errors&amp;quot;] = $errors; // Add the list of errors.&lt;br /&gt;
      if (!$template) $template = $node-&amp;gt;getTemplate($mode, $record, $tab);&lt;br /&gt;
      $result .= $ui-&amp;gt;render(&amp;quot;tabbededitform.tpl&amp;quot;, $params);&lt;br /&gt;
&lt;br /&gt;
      $content = $this-&amp;gt;tabulate($mode, $result, $fieldprefix);&lt;br /&gt;
&lt;br /&gt;
      return $content;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
    * Display a tabbed pane with attributes&lt;br /&gt;
    * @param $record  Array with fields&lt;br /&gt;
    * @return html code&lt;br /&gt;
    */&lt;br /&gt;
    function display($record, $mode=&amp;quot;&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
    	// get active tab&lt;br /&gt;
      $active_tab = $this-&amp;gt;getDefaultTab();&lt;br /&gt;
      $fields = array();&lt;br /&gt;
&lt;br /&gt;
      $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
      $ui = &amp;amp;$node-&amp;gt;getUi();&lt;br /&gt;
&lt;br /&gt;
      // For all attributes we use the display() function to display the&lt;br /&gt;
      // attributes current value. This may be overridden by supplying&lt;br /&gt;
      // an &amp;lt;attributename&amp;gt;_display function in the derived classes.&lt;br /&gt;
      foreach ($this-&amp;gt;m_attribsList as $name=&amp;gt;$tab)&lt;br /&gt;
      {&lt;br /&gt;
        $p_attrib = &amp;amp;$node-&amp;gt;getAttribute($name);&lt;br /&gt;
        if(is_object($p_attrib))&lt;br /&gt;
        {&lt;br /&gt;
          $tplfield = array();&lt;br /&gt;
          if (!$p_attrib-&amp;gt;hasFlag(AF_HIDE_VIEW))&lt;br /&gt;
          {&lt;br /&gt;
            $fieldtab = $this-&amp;gt;m_attribsList[$name];&lt;br /&gt;
&lt;br /&gt;
            $tplfield[&amp;quot;class&amp;quot;] = &amp;quot;tabbedPaneAttr tabbedPaneTab{$fieldtab}&amp;quot;;&lt;br /&gt;
	  	      $tplfield[&amp;quot;rowid&amp;quot;] = &amp;quot;tabbedPaneAttr_&amp;quot;.getUniqueID(&amp;quot;anonymousattribrows&amp;quot;); // The id of the containing row&lt;br /&gt;
            $tplfield[&amp;quot;tab&amp;quot;] = $tplfield[&amp;quot;class&amp;quot;]; // for backwards compatibility&lt;br /&gt;
&lt;br /&gt;
            $tplfield[&amp;quot;initial_on_tab&amp;quot;] = ($fieldtab==$active_tab);&lt;br /&gt;
&lt;br /&gt;
            // An &amp;lt;attributename&amp;gt;_display function may be provided in a derived&lt;br /&gt;
            // class to display an attribute. If it exists we will use that method&lt;br /&gt;
            // else we will just use the attribute&amp;#039;s display method.&lt;br /&gt;
            $funcname = $p_attrib-&amp;gt;m_name.&amp;quot;_display&amp;quot;;&lt;br /&gt;
            if (method_exists($node, $funcname)) $editsrc = $node-&amp;gt;$funcname($record, &amp;quot;view&amp;quot;);&lt;br /&gt;
            else $editsrc=$p_attrib-&amp;gt;display($record, &amp;quot;view&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            /* tooltip */&lt;br /&gt;
            $module = $p_attrib-&amp;gt;getModule();&lt;br /&gt;
            if (!$module) $module = &amp;quot;atk&amp;quot;;&lt;br /&gt;
            $ttip = atktext($node-&amp;gt;m_type.&amp;quot;_&amp;quot;.$name.&amp;quot;_tooltip&amp;quot;, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
&lt;br /&gt;
            if ($ttip)&lt;br /&gt;
            {&lt;br /&gt;
              $theme = &amp;amp;atkinstance(&amp;quot;atk.ui.atktheme&amp;quot;);&lt;br /&gt;
              $tipimg = $theme-&amp;gt;imgPath(&amp;quot;help.gif&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
              $onelinetip = preg_replace(&amp;#039;/([\r\n])/e&amp;#039;,&amp;quot;&amp;quot;,$ttip);&lt;br /&gt;
              $tooltip = &amp;#039;&amp;lt;img align=&amp;quot;top&amp;quot; src=&amp;quot;&amp;#039;.$tipimg.&amp;#039;&amp;quot; border=&amp;quot;0&amp;quot; alt=&amp;quot;&amp;#039;.$onelinetip.&amp;#039;&amp;quot; onClick=&amp;quot;javascript:alert(\&amp;#039;&amp;#039;.str_replace(&amp;quot;\n&amp;quot;, &amp;#039;\n&amp;#039;, addslashes($ttip)).&lt;br /&gt;
                                      &amp;#039;\&amp;#039;)&amp;quot; onMouseOver=&amp;quot;javascript:window.status=\&amp;#039;&amp;#039;. addslashes($onelinetip).&amp;#039;\&amp;#039;;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
              $tplfield[&amp;quot;tooltip&amp;quot;] = $tooltip;&lt;br /&gt;
              $editsrc.=$tooltip.&amp;quot;&amp;amp;nbsp;&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            $tplfield[&amp;quot;full&amp;quot;] = $editsrc;&lt;br /&gt;
            $tplfield[&amp;quot;widget&amp;quot;] = $editsrc; // in view mode, widget and full are equal&lt;br /&gt;
&lt;br /&gt;
            // The Label of the attribute (can be suppressed with AF_NOLABEL or AF_BLANKLABEL)&lt;br /&gt;
            // For each attribute, a txt_&amp;lt;attributename&amp;gt; must be provided in the language files.&lt;br /&gt;
            if (!$p_attrib-&amp;gt;hasFlag(AF_NOLABEL) &amp;amp;&amp;amp; !$this-&amp;gt;isAttributeSingleOnTab($name))&lt;br /&gt;
            {&lt;br /&gt;
              if ($p_attrib-&amp;gt;hasFlag(AF_BLANKLABEL))&lt;br /&gt;
              {&lt;br /&gt;
                $tplfield[&amp;quot;label&amp;quot;] = &amp;quot;&amp;quot;;&lt;br /&gt;
              }&lt;br /&gt;
              else&lt;br /&gt;
              {&lt;br /&gt;
                $tplfield[&amp;quot;label&amp;quot;] = $p_attrib-&amp;gt;label($record);&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
              // Make the rest fill up the entire line&lt;br /&gt;
              $tplfield[&amp;quot;label&amp;quot;] = &amp;quot;&amp;quot;;&lt;br /&gt;
              $tplfield[&amp;quot;line&amp;quot;] = $tplfield[&amp;quot;full&amp;quot;];&lt;br /&gt;
            }&lt;br /&gt;
            $fields[] = $tplfield;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          atkerror(&amp;quot;Attribute $name not found!&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      $innerform = $ui-&amp;gt;render($node-&amp;gt;getTemplate(&amp;quot;view&amp;quot;, $record, $tab), array(&amp;quot;fields&amp;quot;=&amp;gt;$fields));&lt;br /&gt;
&lt;br /&gt;
      return $this-&amp;gt;tabulate(&amp;quot;view&amp;quot;, $innerform);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    function edit($defaults=&amp;quot;&amp;quot;, $fieldprefix=&amp;quot;&amp;quot;, $mode=&amp;quot;&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
      $arr = array(&amp;quot;hide&amp;quot;=&amp;gt;array());&lt;br /&gt;
      //get data&lt;br /&gt;
      $data = $this-&amp;gt;_addToEditArray($mode, $arr, $defaults, $defaults[&amp;#039;atkerror&amp;#039;], $fieldprefix);&lt;br /&gt;
&lt;br /&gt;
      // Handle errors - need more testing for move to right tab&lt;br /&gt;
      /*$errors = array();&lt;br /&gt;
      if (count($data[&amp;#039;error&amp;#039;]) &amp;gt; 0)&lt;br /&gt;
      {&lt;br /&gt;
        $error_title = &amp;#039;&amp;lt;b&amp;gt;&amp;#039;.atktext(&amp;#039;error_formdataerror&amp;#039;).&amp;#039;&amp;lt;/b&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
        foreach ($data[&amp;quot;error&amp;quot;] as $error)&lt;br /&gt;
        {&lt;br /&gt;
          if(in_array($error[&amp;#039;attribname&amp;#039;],array_keys($this-&amp;gt;m_attribsList)))&lt;br /&gt;
          {&lt;br /&gt;
            $error[&amp;#039;tab&amp;#039;] = $this-&amp;gt;m_attribsList[$error[&amp;#039;attribname&amp;#039;]];&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          if ($error[&amp;#039;err&amp;#039;] == &amp;quot;error_primarykey_exists&amp;quot;)&lt;br /&gt;
          {&lt;br /&gt;
            $pk_err_attrib[] = $error[&amp;#039;attrib_name&amp;#039;];&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
            $type = (empty($error[&amp;quot;node&amp;quot;]) ? $node-&amp;gt;m_type : $error[&amp;quot;node&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
            if (count($node-&amp;gt;getTabs($node-&amp;gt;m_action)) &amp;gt; 1 &amp;amp;&amp;amp; $error[&amp;quot;tab&amp;quot;])&lt;br /&gt;
              $error_tab = &amp;#039; (&amp;#039;.atktext(&amp;quot;error_tab&amp;quot;).&amp;#039; &amp;#039;.&amp;#039;&amp;lt;a href=&amp;quot;javascript:showTab(\&amp;#039;&amp;#039;.$error[&amp;quot;tab&amp;quot;].&amp;#039;\&amp;#039;);&amp;quot;&amp;gt;&amp;#039;.atktext(array(&amp;quot;tab_&amp;quot;.$error[&amp;quot;tab&amp;quot;], $error[&amp;quot;tab&amp;quot;]),$node-&amp;gt;m_module, $node-&amp;gt;m_type).&amp;#039;&amp;lt;/a&amp;gt; )&amp;#039;;&lt;br /&gt;
            else $error_tab = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
            if(!is_array($error[&amp;#039;attrib_name&amp;#039;]))&lt;br /&gt;
            {&lt;br /&gt;
              $label = atktext($error[&amp;#039;attrib_name&amp;#039;], $node-&amp;gt;m_module, $type);&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
              $label = array();&lt;br /&gt;
              foreach($error[&amp;#039;attrib_name&amp;#039;] as $attrib)&lt;br /&gt;
                $label[] = atktext($attrib, $node-&amp;gt;m_module, $type);&lt;br /&gt;
&lt;br /&gt;
              $label= implode(&amp;quot;, &amp;quot;, $label);&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            $errors[] = array(&amp;quot;msg&amp;quot;=&amp;gt;$error[&amp;#039;msg&amp;#039;].$error_tab, &amp;quot;label&amp;quot;=&amp;gt;$label);&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        if (count($pk_err_attrib)&amp;gt;0) // Make primary key error message&lt;br /&gt;
        {&lt;br /&gt;
          for($i=0;$i&amp;lt;count($pk_err_attrib); $i++)&lt;br /&gt;
          {&lt;br /&gt;
            $pk_err_msg .= atktext($pk_err_attrib[$i], $node-&amp;gt;m_module);&lt;br /&gt;
            if (($i+1) &amp;lt; count($pk_err_attrib)) $pk_err_msg .= &amp;quot;, &amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
          $errors[] = array(&amp;quot;label&amp;quot;=&amp;gt;atktext(&amp;quot;error_primarykey_exists&amp;quot;),&lt;br /&gt;
                            &amp;quot;msg&amp;quot;=&amp;gt;$pk_err_msg);&lt;br /&gt;
        }&lt;br /&gt;
      }*/&lt;br /&gt;
&lt;br /&gt;
      // Handle fields&lt;br /&gt;
      // load images&lt;br /&gt;
      $theme = &amp;amp;atkinstance(&amp;quot;atk.ui.atktheme&amp;quot;);&lt;br /&gt;
      $tipimg = $theme-&amp;gt;imgPath(&amp;quot;help.gif&amp;quot;);&lt;br /&gt;
      $reqimg = &amp;#039;&amp;lt;img align=&amp;quot;top&amp;quot; src=&amp;quot;&amp;#039;.$theme-&amp;gt;imgPath(&amp;quot;required_field.gif&amp;quot;).&amp;#039;&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
                  alt=&amp;quot;&amp;#039;.atktext(&amp;quot;field_obligatory&amp;quot;).&amp;#039;&amp;quot; title=&amp;quot;&amp;#039;.atktext(&amp;quot;field_obligatory&amp;quot;).&amp;#039;&amp;quot;&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
      /* display the edit fields */&lt;br /&gt;
      $fields = array();&lt;br /&gt;
      $tab = $this-&amp;gt;getDefaultTab();&lt;br /&gt;
&lt;br /&gt;
      for ($i = 0, $_i= count($data[&amp;quot;fields&amp;quot;]); $i&amp;lt;$_i; $i++)&lt;br /&gt;
      {&lt;br /&gt;
        $field = &amp;amp;$data[&amp;quot;fields&amp;quot;][$i];&lt;br /&gt;
        $tplfield = array();&lt;br /&gt;
&lt;br /&gt;
        $tplfield[&amp;quot;tab&amp;quot;] =  $field[&amp;quot;tabs&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
        $tplfield[&amp;quot;initial_on_tab&amp;quot;] = $tplfield[&amp;quot;tab&amp;quot;]==$tab;&lt;br /&gt;
&lt;br /&gt;
        $tplfield[&amp;quot;class&amp;quot;] = &amp;quot;tabbedPaneAttr tabbedPaneTab{$field[&amp;#039;tabs&amp;#039;]}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        // Check if there are attributes initially hidden on this tabbedpane&lt;br /&gt;
        if ($field[&amp;quot;attribute&amp;quot;]-&amp;gt;isInitialHidden($defaults))&lt;br /&gt;
            $tplfield[&amp;quot;class&amp;quot;].= &amp;quot; atkAttrRowHidden&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
        $tplfield[&amp;quot;rowid&amp;quot;] = &amp;quot;tabbedPaneAttr_&amp;quot;.($field[&amp;#039;id&amp;#039;]!=&amp;#039;&amp;#039;?$field[&amp;#039;id&amp;#039;]:getUniqueID(&amp;quot;anonymousattribrows&amp;quot;)); // The id of the containing row&lt;br /&gt;
&lt;br /&gt;
        /* check for separator */&lt;br /&gt;
        if ($field[&amp;quot;html&amp;quot;] == &amp;quot;-&amp;quot; &amp;amp;&amp;amp; $i &amp;gt; 0 &amp;amp;&amp;amp; $data[&amp;quot;fields&amp;quot;][$i-1][&amp;quot;html&amp;quot;] != &amp;quot;-&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
          $tplfield[&amp;quot;line&amp;quot;] = &amp;quot;&amp;lt;hr&amp;gt;&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
        /* double separator, ignore */&lt;br /&gt;
        elseif ($field[&amp;quot;html&amp;quot;] == &amp;quot;-&amp;quot;)&lt;br /&gt;
        {&lt;br /&gt;
        }&lt;br /&gt;
        /* only full HTML */&lt;br /&gt;
        elseif (isset($field[&amp;quot;line&amp;quot;]))&lt;br /&gt;
        {&lt;br /&gt;
          $tplfield[&amp;quot;line&amp;quot;] = $field[&amp;quot;line&amp;quot;];&lt;br /&gt;
        }&lt;br /&gt;
        /* edit field */&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          if ($field[&amp;quot;attribute&amp;quot;]-&amp;gt;m_ownerInstance-&amp;gt;getNumbering())&lt;br /&gt;
          {&lt;br /&gt;
            atkViewEditBase::_addNumbering($field, $tplfield, $i);&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          /* does the field have a label? */&lt;br /&gt;
          if ((isset($field[&amp;quot;label&amp;quot;]) &amp;amp;&amp;amp; $field[&amp;quot;label&amp;quot;]!==&amp;quot;AF_NO_LABEL&amp;quot;) &amp;amp;&amp;amp; !$this-&amp;gt;isAttributeSingleOnTab($field[&amp;#039;name&amp;#039;])&lt;br /&gt;
                              || !isset($field[&amp;quot;label&amp;quot;]))&lt;br /&gt;
          {&lt;br /&gt;
            if ($field[&amp;quot;label&amp;quot;] == &amp;quot;&amp;quot;)&lt;br /&gt;
            {&lt;br /&gt;
              $tplfield[&amp;quot;label&amp;quot;] = &amp;quot;&amp;quot;;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
              $tplfield[&amp;quot;label&amp;quot;] = $field[&amp;quot;label&amp;quot;];&lt;br /&gt;
              if ($field[&amp;quot;error&amp;quot;]) // TODO KEES&lt;br /&gt;
              {&lt;br /&gt;
                $tplfield[&amp;quot;error&amp;quot;] = $field[&amp;quot;error&amp;quot;];&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
          }&lt;br /&gt;
          else&lt;br /&gt;
          {&lt;br /&gt;
            $tplfield[&amp;quot;label&amp;quot;]=&amp;quot;AF_NO_LABEL&amp;quot;;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          /* obligatory indicator */&lt;br /&gt;
          if ($field[&amp;quot;obligatory&amp;quot;])&lt;br /&gt;
          {&lt;br /&gt;
            $tplfield[&amp;quot;label&amp;quot;];&lt;br /&gt;
            $tplfield[&amp;quot;obligatory&amp;quot;] = $reqimg;&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          /* html source */&lt;br /&gt;
          $tplfield[&amp;quot;widget&amp;quot;] = $field[&amp;quot;html&amp;quot;];&lt;br /&gt;
          $editsrc = $field[&amp;quot;html&amp;quot;];&lt;br /&gt;
&lt;br /&gt;
          /* tooltip */&lt;br /&gt;
          &lt;br /&gt;
          if (is_object($node-&amp;gt;m_attribList[$field[&amp;#039;name&amp;#039;]]))&lt;br /&gt;
          {&lt;br /&gt;
            $module = $node-&amp;gt;m_attribList[$field[&amp;#039;name&amp;#039;]]-&amp;gt;getModule();&lt;br /&gt;
          }&lt;br /&gt;
&lt;br /&gt;
          $editsrc.= $this-&amp;gt;getToolTipForAttribute(&amp;quot;$module&amp;quot;, $field[&amp;quot;name&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
          $tplfield[&amp;#039;id&amp;#039;]=str_replace(&amp;#039;.&amp;#039;,&amp;#039;_&amp;#039;,$node-&amp;gt;atknodetype().&amp;#039;_&amp;#039;.$field[&amp;quot;id&amp;quot;]);&lt;br /&gt;
&lt;br /&gt;
          $tplfield[&amp;quot;full&amp;quot;] = $editsrc;&lt;br /&gt;
        }&lt;br /&gt;
        $fields[] = $tplfield; // make field available in numeric array&lt;br /&gt;
        $params[$field[&amp;quot;name&amp;quot;]] = $tplfield; // make field available in associative array&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $ui = &amp;amp;$node-&amp;gt;getUi();&lt;br /&gt;
      $page = &amp;amp;$node-&amp;gt;getPage();&lt;br /&gt;
&lt;br /&gt;
      $result = &amp;quot;&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
      foreach ($arr[&amp;quot;hide&amp;quot;] as $hidden)&lt;br /&gt;
      {&lt;br /&gt;
        $result.= $hidden;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
      $params[&amp;quot;activeTab&amp;quot;] = $tab;&lt;br /&gt;
      $params[&amp;quot;panename&amp;quot;] = $this-&amp;gt;m_name;&lt;br /&gt;
      $params[&amp;quot;fields&amp;quot;] = $fields; // add all fields as an numeric array.&lt;br /&gt;
      $params[&amp;quot;errortitle&amp;quot;] = $error_title;&lt;br /&gt;
      $params[&amp;quot;errors&amp;quot;] = $errors; // Add the list of errors.&lt;br /&gt;
      if (!$template) $template = $node-&amp;gt;getTemplate($mode, $record, $tab);&lt;br /&gt;
      $result .= $ui-&amp;gt;render(&amp;quot;tabbededitform.tpl&amp;quot;, $params);&lt;br /&gt;
&lt;br /&gt;
      $content = $this-&amp;gt;tabulate($mode, $result, $fieldprefix);&lt;br /&gt;
&lt;br /&gt;
      return $content;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
    * Display a tabbed pane with attributes&lt;br /&gt;
    * @param $record  Array with fields&lt;br /&gt;
    * @return html code&lt;br /&gt;
    */&lt;br /&gt;
    function display($record, $mode=&amp;quot;&amp;quot;)&lt;br /&gt;
    {&lt;br /&gt;
      // get active tab&lt;br /&gt;
      $active_tab = $this-&amp;gt;getDefaultTab();&lt;br /&gt;
      $fields = array();&lt;br /&gt;
&lt;br /&gt;
      $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
      $ui = &amp;amp;$node-&amp;gt;getUi();&lt;br /&gt;
&lt;br /&gt;
      // For all attributes we use the display() function to display the&lt;br /&gt;
      // attributes current value. This may be overridden by supplying&lt;br /&gt;
      // an &amp;lt;attributename&amp;gt;_display function in the derived classes.&lt;br /&gt;
      foreach ($this-&amp;gt;m_attribsList as $name=&amp;gt;$tab)&lt;br /&gt;
      {&lt;br /&gt;
        $p_attrib = &amp;amp;$node-&amp;gt;getAttribute($name);&lt;br /&gt;
        if(is_object($p_attrib))&lt;br /&gt;
        {&lt;br /&gt;
          $tplfield = array();&lt;br /&gt;
          if (!$p_attrib-&amp;gt;hasFlag(AF_HIDE_VIEW))&lt;br /&gt;
          {&lt;br /&gt;
            $fieldtab = $this-&amp;gt;m_attribsList[$name];&lt;br /&gt;
&lt;br /&gt;
            $tplfield[&amp;quot;class&amp;quot;] = &amp;quot;tabbedPaneAttr tabbedPaneTab{$fieldtab}&amp;quot;;&lt;br /&gt;
            $tplfield[&amp;quot;rowid&amp;quot;] = &amp;quot;tabbedPaneAttr_&amp;quot;.getUniqueID(&amp;quot;anonymousattribrows&amp;quot;); // The id of the containing row&lt;br /&gt;
            $tplfield[&amp;quot;tab&amp;quot;] = $tplfield[&amp;quot;class&amp;quot;]; // for backwards compatibility&lt;br /&gt;
&lt;br /&gt;
            $tplfield[&amp;quot;initial_on_tab&amp;quot;] = ($fieldtab==$active_tab);&lt;br /&gt;
&lt;br /&gt;
            // An &amp;lt;attributename&amp;gt;_display function may be provided in a derived&lt;br /&gt;
            // class to display an attribute. If it exists we will use that method&lt;br /&gt;
            // else we will just use the attribute&amp;#039;s display method.&lt;br /&gt;
            $funcname = $p_attrib-&amp;gt;m_name.&amp;quot;_display&amp;quot;;&lt;br /&gt;
            if (method_exists($node, $funcname)) $editsrc = $node-&amp;gt;$funcname($record, &amp;quot;view&amp;quot;);&lt;br /&gt;
            else $editsrc=$p_attrib-&amp;gt;display($record, &amp;quot;view&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
            /* tooltip */&lt;br /&gt;
            $module = $p_attrib-&amp;gt;getModule();&lt;br /&gt;
&lt;br /&gt;
            $editsrc.= $this-&amp;gt;getToolTipForAttribute(&amp;quot;$module&amp;quot;, $name);&lt;br /&gt;
            &lt;br /&gt;
            $tplfield[&amp;quot;full&amp;quot;] = $editsrc;&lt;br /&gt;
            $tplfield[&amp;quot;widget&amp;quot;] = $editsrc; // in view mode, widget and full are equal&lt;br /&gt;
&lt;br /&gt;
            // The Label of the attribute (can be suppressed with AF_NOLABEL or AF_BLANKLABEL)&lt;br /&gt;
            // For each attribute, a txt_&amp;lt;attributename&amp;gt; must be provided in the language files.&lt;br /&gt;
            if (!$p_attrib-&amp;gt;hasFlag(AF_NOLABEL) &amp;amp;&amp;amp; !$this-&amp;gt;isAttributeSingleOnTab($name))&lt;br /&gt;
            {&lt;br /&gt;
              if ($p_attrib-&amp;gt;hasFlag(AF_BLANKLABEL))&lt;br /&gt;
              {&lt;br /&gt;
                $tplfield[&amp;quot;label&amp;quot;] = &amp;quot;&amp;quot;;&lt;br /&gt;
              }&lt;br /&gt;
              else&lt;br /&gt;
              {&lt;br /&gt;
                $tplfield[&amp;quot;label&amp;quot;] = $p_attrib-&amp;gt;label($record);&lt;br /&gt;
              }&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
              // Make the rest fill up the entire line&lt;br /&gt;
              $tplfield[&amp;quot;label&amp;quot;] = &amp;quot;&amp;quot;;&lt;br /&gt;
              $tplfield[&amp;quot;line&amp;quot;] = $tplfield[&amp;quot;full&amp;quot;];&lt;br /&gt;
            }&lt;br /&gt;
            $fields[] = $tplfield;&lt;br /&gt;
          }&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
          atkerror(&amp;quot;Attribute $name not found!&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
      $innerform = $ui-&amp;gt;render($node-&amp;gt;getTemplate(&amp;quot;view&amp;quot;, $record, $tab), array(&amp;quot;fields&amp;quot;=&amp;gt;$fields));&lt;br /&gt;
&lt;br /&gt;
      return $this-&amp;gt;tabulate(&amp;quot;view&amp;quot;, $innerform);&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add the following methods&lt;br /&gt;
&lt;br /&gt;
getToolTip overwrites the tabed attributes tooltip (probably don&amp;#039;t want help on a series of tabs but maybe you do.)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    function getToolTip() {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function getToolTipForAttribute($module=&amp;quot;atk&amp;quot;, $name) {&lt;br /&gt;
    &lt;br /&gt;
          $node = &amp;amp;$this-&amp;gt;m_ownerInstance;&lt;br /&gt;
    &lt;br /&gt;
          $nodetxt = atktext($node-&amp;gt;m_type, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);&lt;br /&gt;
          if (!$nodetxt) {&lt;br /&gt;
            $nodetxt = $node-&amp;gt;m_type;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          $attributetxt = atktext($name, $module, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;, true);      &lt;br /&gt;
          if (!$attributetxt) {&lt;br /&gt;
            $attributetxt = $name;&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          $link = $nodetxt . &amp;quot; - &amp;quot; . $attributetxt;&lt;br /&gt;
          &lt;br /&gt;
          $tooltip = &amp;#039;&amp;amp;nbsp;&amp;#039;;&lt;br /&gt;
          $tooltip .= &amp;#039;&amp;lt;a href=&amp;quot;&amp;#039;;&lt;br /&gt;
          $tooltip .= atkconfig(&amp;quot;help_site&amp;quot;);&lt;br /&gt;
          $tooltip .= $link;&lt;br /&gt;
          $tooltip .= &amp;#039;&amp;quot; target=&amp;quot;help&amp;quot;&amp;gt;?&amp;lt;/a&amp;gt;&amp;#039;;&lt;br /&gt;
    &lt;br /&gt;
          return $tooltip;&lt;br /&gt;
          &lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hapstance</name></author>
	</entry>
</feed>