<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://gwiki3.thatlinuxbox.com/index.php?action=history&amp;feed=atom&amp;title=Sample_install.php</id>
		<title>Sample install.php - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://gwiki3.thatlinuxbox.com/index.php?action=history&amp;feed=atom&amp;title=Sample_install.php"/>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;action=history"/>
		<updated>2026-04-04T01:11:05Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.27.5</generator>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=5810&amp;oldid=prev</id>
		<title>Rasade: Added COM_output()</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=5810&amp;oldid=prev"/>
				<updated>2010-04-19T13:27:15Z</updated>
		
		<summary type="html">&lt;p&gt;Added COM_output()&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 13:27, 19 April 2010&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-l62&quot; &gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; $display .= COM_endBlock(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; $display .= COM_endBlock(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; $display .= COM_siteFooter(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; $display .= COM_siteFooter(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&amp;#160; &amp;#160; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;echo &lt;/del&gt;$display; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&amp;#160; &amp;#160; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;COM_output(&lt;/ins&gt;$display&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;)&lt;/ins&gt;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; exit; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; exit; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;} &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;} &amp;#160;&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-l518&quot; &gt;Line 518:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 518:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  $display .= &amp;quot;&amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  $display .= &amp;quot;&amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $display .= COM_endBlock(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $display .= COM_endBlock(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;echo &lt;/del&gt;$display; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;COM_output(&lt;/ins&gt;$display&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;)&lt;/ins&gt;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; } else { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; } else { &amp;#160;&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-l540&quot; &gt;Line 540:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 540:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  $display .= &amp;quot;&amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  $display .= &amp;quot;&amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $display .= COM_endBlock(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; $display .= COM_endBlock(); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;echo &lt;/del&gt;$display&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;; &lt;/del&gt;&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;COM_output(&lt;/ins&gt;$display&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) &lt;/ins&gt;&amp;#160; &amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  } else { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160;  } else { &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; COM_errorLOG(&amp;quot;Plugin de-install, Nothing to do. Check your plugin install.cfg settings&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; COM_errorLOG(&amp;quot;Plugin de-install, Nothing to do. Check your plugin install.cfg settings&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Rasade</name></author>	</entry>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=5002&amp;oldid=prev</id>
		<title>Dirk: added Category:Plugin Developers Handbook</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=5002&amp;oldid=prev"/>
				<updated>2009-05-05T08:27:57Z</updated>
		
		<summary type="html">&lt;p&gt;added Category:Plugin Developers Handbook&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 08:27, 5 May 2009&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-l468&quot; &gt;Line 468:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 468:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;COM_errorLOG(&amp;quot;Filemgmt Plugin Install Script executing&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;COM_errorLOG(&amp;quot;Filemgmt Plugin Install Script executing&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;if($&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;HTTP_POST_VARS&lt;/del&gt;['submit']) {&amp;#160;  // True if ForceDeinstall set and user confirms they want to proceed &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;if($&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;_POST&lt;/ins&gt;['submit']) {&amp;#160;  // True if ForceDeinstall set and user confirms they want to proceed &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; COM_errorLOG(&amp;quot;Filemgmt Plugin De-Install initiating - Removing filemgmt record in vars table&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; COM_errorLOG(&amp;quot;Filemgmt Plugin De-Install initiating - Removing filemgmt record in vars table&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; $res = @mysql_query(&amp;quot;SELECT 1 FROM {$_FM_TABLES['filemgmt_cat']} LIMIT 1&amp;quot;); &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&amp;#160; &amp;#160; $res = @mysql_query(&amp;quot;SELECT 1 FROM {$_FM_TABLES['filemgmt_cat']} LIMIT 1&amp;quot;); &amp;#160;&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-l555&quot; &gt;Line 555:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 555:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;[[Category:Plugin Development]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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 class=&quot;diffchange diffchange-inline&quot;&gt;[[Category:Plugin Developers Handbook]] &lt;/ins&gt;[[Category:Plugin Development]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dirk</name></author>	</entry>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=4585&amp;oldid=prev</id>
		<title>Dirk: Changed category</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=4585&amp;oldid=prev"/>
				<updated>2008-05-10T20:16:31Z</updated>
		
		<summary type="html">&lt;p&gt;Changed category&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 20:16, 10 May 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='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// | Copyright (C) 2000,2001 by the following authors:&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// | Copyright (C) 2000,2001 by the following authors:&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// |&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// |&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;// | Authors: Blaine Lang&amp;#160; &amp;lt;aka: efarmboy&amp;gt;&amp;#160; &amp;#160;  - langmail&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;@&lt;/del&gt;sympatico&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.&lt;/del&gt;ca &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;/del&gt;| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;// | Authors: Blaine Lang&amp;#160; &amp;lt;aka: efarmboy&amp;gt;&amp;#160; &amp;#160;  - langmail &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;AT &lt;/ins&gt;sympatico &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;DOT &lt;/ins&gt;ca &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;| &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// | August 2002&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// | August 2002&amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;  | &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// +---------------------------------------------------------------------------+ &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// +---------------------------------------------------------------------------+ &amp;#160;&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-l555&quot; &gt;Line 555:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 555:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; 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;[[Category:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Plugin_Developers_Handbook&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;[[Category:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Plugin Development&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Dirk</name></author>	</entry>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=2721&amp;oldid=prev</id>
		<title>Tomw at 13:58, 1 July 2004</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=2721&amp;oldid=prev"/>
				<updated>2004-07-01T13:58:41Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;' lang='en'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 13:58, 1 July 2004&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-l554&quot; &gt;Line 554:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 554:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;?&amp;gt; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;?&amp;gt; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; 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;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; 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;[[Category:Plugin_Developers_Handbook]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tomw</name></author>	</entry>

	<entry>
		<id>http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=130&amp;oldid=prev</id>
		<title>Tomw at 21:51, 28 June 2004</title>
		<link rel="alternate" type="text/html" href="http://gwiki3.thatlinuxbox.com/index.php?title=Sample_install.php&amp;diff=130&amp;oldid=prev"/>
				<updated>2004-06-28T21:51:31Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php &lt;br /&gt;
/* Reminder: always indent with 4 spaces (no tabs). */ &lt;br /&gt;
// +---------------------------------------------------------------------------+ &lt;br /&gt;
// | File Management Plugin v1.0 for Geeklog - The Ultimate Weblog             | &lt;br /&gt;
// +---------------------------------------------------------------------------+ &lt;br /&gt;
// | install.php                                                               | &lt;br /&gt;
// | This is the main install and de-install program for the File Management   | &lt;br /&gt;
// | Plugin. By default this program will automatically create all required    | &lt;br /&gt;
// | Tables, groups, security rights and group assignments.                    | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | I have extended the standard PLUGIN Install script with a admin controls  | &lt;br /&gt;
// | These are set in the install.cfg file. By default - all are set to true   | &lt;br /&gt;
// | for auto install/deinstall operation. But if you are upgrading or had     | &lt;br /&gt;
// | some problems, these switches let you control the install/deinstall       | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | Added display output to users on succes/failure and redirect to main page | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | Additionally, Check your error.log for process execution status           | &lt;br /&gt;
// +---------------------------------------------------------------------------+ &lt;br /&gt;
// | Copyright (C) 2000,2001 by the following authors:                         | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | Authors: Blaine Lang  &amp;lt;aka: efarmboy&amp;gt;     - langmail@sympatico.ca         | &lt;br /&gt;
// | August 2002                                                               | &lt;br /&gt;
// +---------------------------------------------------------------------------+ &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | This program is free software; you can redistribute it and/or             | &lt;br /&gt;
// | modify it under the terms of the GNU General Public License               | &lt;br /&gt;
// | as published by the Free Software Foundation; either version 2            | &lt;br /&gt;
// | of the License, or (at your option) any later version.                    | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | This program is distributed in the hope that it will be useful,           | &lt;br /&gt;
// | but WITHOUT ANY WARRANTY; without even the implied warranty of            | &lt;br /&gt;
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             | &lt;br /&gt;
// | GNU General Public License for more details.                              | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// | You should have received a copy of the GNU General Public License         | &lt;br /&gt;
// | along with this program; if not, write to the Free Software Foundation,   | &lt;br /&gt;
// | Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.           | &lt;br /&gt;
// |                                                                           | &lt;br /&gt;
// +---------------------------------------------------------------------------+ &lt;br /&gt;
// &lt;br /&gt;
// $Id: install.php,v 2.0 2002/08/23 18:22:02 blang Exp $ &lt;br /&gt;
&lt;br /&gt;
include_once('../../../lib-common.php'); &lt;br /&gt;
include_once($_CONF['path'] . 'plugins/filemgmt/lang.php'); &lt;br /&gt;
include_once($_CONF['path'] . 'plugins/filemgmt/config.php'); &lt;br /&gt;
include_once($_CONF['path'] . 'plugins/filemgmt/install.cfg'); &lt;br /&gt;
include_once($_CONF['path'] . 'plugins/filemgmt/functions.inc'); &lt;br /&gt;
&lt;br /&gt;
// Note: The de-install function is in the main plugin functions.inc file &lt;br /&gt;
// This allows it to be called from the plugin admin page where you can enable/disable and delete the plugin &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Only let Root users access this page &lt;br /&gt;
if (!SEC_inGroup('Root')) { &lt;br /&gt;
    // Someone is trying to illegally access this page &lt;br /&gt;
    COM_errorLog($LANG_FILEMGMT['invalid_install'] . $_USER['uid'] . &amp;quot;, Username: {$_USER['username']}, IP: $REMOTE_ADDR&amp;quot;,1); &lt;br /&gt;
    $display = COM_siteHeader(); &lt;br /&gt;
    $display .= COM_startBlock($LANG_FILEMGMT['access_denied']); &lt;br /&gt;
    $display .= $LANG_FILEMGMT['access_denied_msg']; &lt;br /&gt;
    $display .= COM_endBlock(); &lt;br /&gt;
    $display .= COM_siteFooter(); &lt;br /&gt;
    echo $display; &lt;br /&gt;
    exit; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
$steps = array(); &lt;br /&gt;
/** &lt;br /&gt;
* Puts the datastructures for this plugin into the Geeklog database &lt;br /&gt;
* &lt;br /&gt;
*/ &lt;br /&gt;
function plugin_install_filemgmt() { &lt;br /&gt;
    global $_TABLES, $_CONF, $LANG_FILEMGMT, $filemgmt_version; &lt;br /&gt;
    global $filemgmt_createtables, $filemgmt_creategroups, $filemgmt_createrights, $filemgmt_assigngroups, $filemgmt_assignrights, $filemgmt_registerPI; &lt;br /&gt;
&lt;br /&gt;
    COM_errorLog($LANG_FILEMGMT['start_install'],1); &lt;br /&gt;
     &lt;br /&gt;
    // Installs the File Management Tables &lt;br /&gt;
    $steps['createtable'] = 1; &lt;br /&gt;
    COM_errorLog(&amp;quot;Attempting to create FileMgmt databases&amp;quot;, 1); &lt;br /&gt;
    if ($filemgmt_createtables) { &lt;br /&gt;
        if (!plugin_createtables_filemgmt()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
    } else { &lt;br /&gt;
        COM_errorLog($LANG_FILEMGMT['install_skip'], 1); &lt;br /&gt;
    } &lt;br /&gt;
         &lt;br /&gt;
    // Create the FileMgmt security groups &lt;br /&gt;
    COM_errorLog(&amp;quot;Attempting to create FileMgmt groups&amp;quot;, 1); &lt;br /&gt;
    if ($filemgmt_creategroups) { &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['groups']} (grp_name, grp_descr) &amp;quot; &lt;br /&gt;
            . &amp;quot;VALUES ('FileMgmt-Admin', 'Users in this group can administer the Filemgmt plugin')&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } else { &lt;br /&gt;
            COM_errorLog('About to save Filemgmt-Admin group_id to vars table for use during uninstall',1); &lt;br /&gt;
            // Remove any existing records &lt;br /&gt;
            DB_query(&amp;quot;DELETE FROM {$_TABLES['vars']} WHERE name = 'fm_admingrp_id'&amp;quot;); &lt;br /&gt;
            DB_query(&amp;quot;INSERT INTO {$_TABLES['vars']} VALUES ('fm_admingrp_id', LAST_INSERT_ID())&amp;quot;,1); &lt;br /&gt;
            if (DB_error()) { &lt;br /&gt;
                plugin_uninstall_filemgmt($steps); &lt;br /&gt;
                return false; &lt;br /&gt;
                exit; &lt;br /&gt;
            } &lt;br /&gt;
            COM_errorLog('...success',1); &lt;br /&gt;
            $group1_id = DB_getItem($_TABLES['vars'], 'value', &amp;quot;name = 'fm_admingrp_id'&amp;quot;); &lt;br /&gt;
            $steps['savedgroup1id'] = 1; &lt;br /&gt;
        } &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['groups']} (grp_name, grp_descr) &amp;quot; &lt;br /&gt;
            . &amp;quot;VALUES ('FileMgmt-Users', 'Users in this group can use the Filemgmt plugin')&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        }else { &lt;br /&gt;
            COM_errorLog('About to save Filemgmt-Users group_id to vars table for use during uninstall',1); &lt;br /&gt;
            // Remove any existing records &lt;br /&gt;
            DB_query(&amp;quot;DELETE FROM {$_TABLES['vars']} WHERE name = 'fm_usersgrp_id'&amp;quot;); &lt;br /&gt;
            DB_query(&amp;quot;INSERT INTO {$_TABLES['vars']} VALUES ('fm_usersgrp_id', LAST_INSERT_ID())&amp;quot;,1); &lt;br /&gt;
            if (DB_error()) { &lt;br /&gt;
                plugin_uninstall_filemgmt($steps); &lt;br /&gt;
                return false; &lt;br /&gt;
                exit; &lt;br /&gt;
            } &lt;br /&gt;
            $group2_id = DB_getItem($_TABLES['vars'], 'value', &amp;quot;name = 'fm_usersgrp_id'&amp;quot;); &lt;br /&gt;
            COM_errorLog('...success',1); &lt;br /&gt;
            $steps['savedgroup2id'] = 1; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
        $steps['creategroups'] = 1; &lt;br /&gt;
        COM_errorLog('Groups added successfully',1); &lt;br /&gt;
    } else { &lt;br /&gt;
        COM_errorLog($LANG_FILEMGMT['install_skip'], 1); &lt;br /&gt;
    }     &lt;br /&gt;
             &lt;br /&gt;
    // Add Filemgmmt plugin security features &lt;br /&gt;
    COM_errorLog('Attempting to create new Security Rights',1); &lt;br /&gt;
    if ($filemgmt_createrights) { &lt;br /&gt;
        COM_errorLog('Attempting to add filemgmt.edit feature',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['features']} (ft_name, ft_descr) &amp;quot; &lt;br /&gt;
            . &amp;quot;VALUES ('filemgmt.edit','Filemgmt plugin Administration')&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        $edit_id = DB_insertId(); &lt;br /&gt;
         &lt;br /&gt;
        COM_errorLog('Attempting to add filemgmt.user feature',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['features']} (ft_name, ft_descr) &amp;quot; &lt;br /&gt;
            . &amp;quot;VALUES ('filemgmt.user','Filemgmt User Access')&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        $user_id = DB_insertId(); &lt;br /&gt;
         &lt;br /&gt;
        COM_errorLog('Attempting to add filemgmt.upload feature',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['features']} (ft_name, ft_descr) &amp;quot; &lt;br /&gt;
            . &amp;quot;VALUES ('filemgmt.upload','Filemgmt ability to upload a file')&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        $upload_id = DB_insertId(); &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
        COM_errorLog('Access Rights (features) added successfully',1); &lt;br /&gt;
        $steps['createrights'] = 1; &lt;br /&gt;
    } else { &lt;br /&gt;
        COM_errorLog($LANG_FILEMGMT['install_skip'], 1); &lt;br /&gt;
    }     &lt;br /&gt;
     &lt;br /&gt;
    // Now assign the features to the FileMgmt groups &lt;br /&gt;
    COM_errorLog('Attempting to give FileMgmt-Admin group access to filemgmt.edit feature',1); &lt;br /&gt;
    if ($filemgmt_assignrights) { &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id) VALUES ($edit_id, $group1_id)&amp;quot;); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
     &lt;br /&gt;
        COM_errorLog('Attempting to give FileMgmt-Admin group access to filemgmt.user feature',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id) VALUES ($user_id, $group1_id)&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
         &lt;br /&gt;
        COM_errorLog('Attempting to give FileMgmt-Admin group access to filemgmt.upload feature',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id) VALUES ($upload_id, $group1_id)&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
        $steps['addedusertoadmingroup'] = 1; &lt;br /&gt;
         &lt;br /&gt;
        COM_errorLog('Attempting to give FileMgmt-User group access to filemgmt.user feature',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['access']} (acc_ft_id, acc_grp_id) VALUES ($user_id, $group2_id)&amp;quot;,1); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
        COM_errorLog('Access Rights assigned to the Filemgnt groups successfully',1); &lt;br /&gt;
        $steps['assignrights'] = 1; &lt;br /&gt;
&lt;br /&gt;
    } else { &lt;br /&gt;
        COM_errorLog($LANG_FILEMGMT['install_skip'], 1); &lt;br /&gt;
    }     &lt;br /&gt;
     &lt;br /&gt;
    // OK, now give Root users access to both new groups for this plugin now! NOTE: Root group should always be 1 &lt;br /&gt;
    COM_errorLog('Attempting to give all users in Root group access Filemgmt-Admin group',1); &lt;br /&gt;
    if ($filemgmt_assigngroups) { &lt;br /&gt;
           COM_errorLog('Attempting to assign Filemgmt-Admin to ROOT group',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['group_assignments']} VALUES ($group1_id, NULL, 1)&amp;quot;); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
          COM_errorLog('Attempting to assign Filemgmt-Users to ROOT group',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['group_assignments']} VALUES ($group2_id, NULL, 1)&amp;quot;); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
        $steps['assigngroup'] = 1; &lt;br /&gt;
    } else { &lt;br /&gt;
        COM_errorLog($LANG_FILEMGMT['install_skip'], 1); &lt;br /&gt;
    }     &lt;br /&gt;
    &lt;br /&gt;
    COM_errorLog('Registering Filemgmt plugin with Geeklog', 1); &lt;br /&gt;
    if ($filemgmt_registerPI) {   // Register the plugin with Geeklog &lt;br /&gt;
        if (DB_count($_TABLES['plugins'],'pi_name','filemgmt') &amp;gt; 0) { &lt;br /&gt;
            COM_errorLog('Attempting to remove filemgmt plugin entry prior to adding an updated entry',1); &lt;br /&gt;
            DB_query(&amp;quot;DELETE FROM {$_TABLES['plugins']} WHERE pi_name = 'filemgmt'&amp;quot;); &lt;br /&gt;
            if (DB_error()) { &lt;br /&gt;
                plugin_uninstall_filemgmt($steps); &lt;br /&gt;
                return false; &lt;br /&gt;
                exit; &lt;br /&gt;
            } &lt;br /&gt;
            COM_errorLog('...success',1); &lt;br /&gt;
        } else { &lt;br /&gt;
            // Only install data on a fresh installation &lt;br /&gt;
            // This plugin has no install data &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('Attempting to create filemgmt plugin entry',1); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['plugins']} (pi_name, pi_version, pi_gl_version, pi_homepage, pi_enabled) &amp;quot; &lt;br /&gt;
            . &amp;quot;VALUES ('filemgmt', {$filemgmt_version}, '1.3.6', 'http://www.langfamily.ca', 1)&amp;quot;); &lt;br /&gt;
        DB_query(&amp;quot;INSERT INTO {$_TABLES['vars']} VALUES ('filemgmt','1')&amp;quot;); &lt;br /&gt;
        if (DB_error()) { &lt;br /&gt;
            plugin_uninstall_filemgmt($steps); &lt;br /&gt;
            return false; &lt;br /&gt;
            exit; &lt;br /&gt;
        } &lt;br /&gt;
        COM_errorLog('...success',1); &lt;br /&gt;
        $steps['registerdPI'] = 1; &lt;br /&gt;
&lt;br /&gt;
    } else { &lt;br /&gt;
        COM_errorLog($LANG_FILEMGMT['install_skip'], 1); &lt;br /&gt;
    } &lt;br /&gt;
         &lt;br /&gt;
    COM_errorLog('Succesfully completed FileMgmt Plugin installation!',1); &lt;br /&gt;
    return true; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/** &lt;br /&gt;
* Create the requried database tables for this plugin into the Geeklog database &lt;br /&gt;
* &lt;br /&gt;
*/ &lt;br /&gt;
function plugin_createtables_filemgmt() { &lt;br /&gt;
global $LANG_FILEMGMT, $_FM_TABLES; &lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Table structure for table to hold reported broken links &lt;br /&gt;
# &lt;br /&gt;
$createsql = &amp;quot;CREATE TABLE {$_FM_TABLES['filemgmt_brokenlinks']} ( &lt;br /&gt;
  reportid int(5) NOT NULL auto_increment, &lt;br /&gt;
  lid int(11) NOT NULL default '0', &lt;br /&gt;
  sender int(11) NOT NULL default '0', &lt;br /&gt;
  ip varchar(20) NOT NULL default '', &lt;br /&gt;
  PRIMARY KEY  (reportid), &lt;br /&gt;
  KEY lid (lid), &lt;br /&gt;
  KEY sender (sender), &lt;br /&gt;
  KEY ip (ip) &lt;br /&gt;
) TYPE=MyISAM&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
//COM_errorLOG(&amp;quot;SQL is:&amp;quot;. $createsql); &lt;br /&gt;
&lt;br /&gt;
DB_query($createsql,1); &lt;br /&gt;
if (DB_error()) { &lt;br /&gt;
    return false; &lt;br /&gt;
    exit; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Table structure for filemgmt categories - Top Level and subcategories &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
$createsql = &amp;quot;CREATE TABLE {$_FM_TABLES['filemgmt_cat']} ( &lt;br /&gt;
  cid int(5) unsigned NOT NULL auto_increment, &lt;br /&gt;
  pid int(5) unsigned NOT NULL default '0', &lt;br /&gt;
  title varchar(50) NOT NULL default '', &lt;br /&gt;
  imgurl varchar(150) NOT NULL default '', &lt;br /&gt;
  PRIMARY KEY  (cid), &lt;br /&gt;
  KEY pid (pid) &lt;br /&gt;
) TYPE=MyISAM&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
DB_query($createsql,1); &lt;br /&gt;
if (DB_error()) { &lt;br /&gt;
    return false; &lt;br /&gt;
    exit; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Table structure for filemgmt description details &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
$createsql = &amp;quot;CREATE TABLE {$_FM_TABLES['filemgmt_filedesc']} ( &lt;br /&gt;
  lid int(11) unsigned NOT NULL default '0', &lt;br /&gt;
  description text NOT NULL, &lt;br /&gt;
  KEY lid (lid) &lt;br /&gt;
) TYPE=MyISAM&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
DB_query($createsql,1); &lt;br /&gt;
if (DB_error()) { &lt;br /&gt;
    return false; &lt;br /&gt;
    exit; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Table structure for filemgmt file details - main table &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
$createsql = &amp;quot;CREATE TABLE {$_FM_TABLES['filemgmt_filedetail']} ( &lt;br /&gt;
  lid int(11) unsigned NOT NULL auto_increment, &lt;br /&gt;
  cid int(5) unsigned NOT NULL default '0', &lt;br /&gt;
  title varchar(100) NOT NULL default '', &lt;br /&gt;
  url varchar(250) NOT NULL default '', &lt;br /&gt;
  homepage varchar(100) NOT NULL default '', &lt;br /&gt;
  version varchar(10) NOT NULL default '', &lt;br /&gt;
  size int(8) NOT NULL default '0', &lt;br /&gt;
  platform varchar(50) NOT NULL default '', &lt;br /&gt;
  logourl varchar(250) NOT NULL default '', &lt;br /&gt;
  submitter int(11) NOT NULL default '0', &lt;br /&gt;
  status tinyint(2) NOT NULL default '0', &lt;br /&gt;
  date int(10) NOT NULL default '0', &lt;br /&gt;
  hits int(11) unsigned NOT NULL default '0', &lt;br /&gt;
  rating double(6,4) NOT NULL default '0.0000', &lt;br /&gt;
  votes int(11) unsigned NOT NULL default '0', &lt;br /&gt;
  comments tinyint(2) NOT NULL default '1', &lt;br /&gt;
  PRIMARY KEY  (lid), &lt;br /&gt;
  KEY cid (cid), &lt;br /&gt;
  KEY status (status), &lt;br /&gt;
  KEY title (title(40)) &lt;br /&gt;
) TYPE=MyISAM&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
DB_query($createsql,1); &lt;br /&gt;
if (DB_error()) { &lt;br /&gt;
    return false; &lt;br /&gt;
    exit; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Table structure for filemgmt voting detail records &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
$createsql = &amp;quot;CREATE TABLE {$_FM_TABLES['filemgmt_votedata']} ( &lt;br /&gt;
  ratingid int(11) unsigned NOT NULL auto_increment, &lt;br /&gt;
  lid int(11) unsigned NOT NULL default '0', &lt;br /&gt;
  ratinguser int(11) NOT NULL default '0', &lt;br /&gt;
  rating tinyint(3) unsigned NOT NULL default '0', &lt;br /&gt;
  ratinghostname varchar(60) NOT NULL default '', &lt;br /&gt;
  ratingtimestamp int(10) NOT NULL default '0', &lt;br /&gt;
  PRIMARY KEY  (ratingid), &lt;br /&gt;
  KEY ratinguser (ratinguser), &lt;br /&gt;
  KEY ratinghostname (ratinghostname), &lt;br /&gt;
  KEY lid (lid) &lt;br /&gt;
) TYPE=MyISAM&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DB_query($createsql,1); &lt;br /&gt;
if (DB_error()) { &lt;br /&gt;
    return false; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
# &lt;br /&gt;
# Table structure for filemgmt download history &lt;br /&gt;
# &lt;br /&gt;
&lt;br /&gt;
$createsql = &amp;quot;CREATE TABLE {$_FM_TABLES['filemgmt_history']} ( &lt;br /&gt;
  uid mediumint(8) NOT NULL default '0', &lt;br /&gt;
  lid int(11) NOT NULL default '0', &lt;br /&gt;
  remote_ip varchar(15) NOT NULL default '', &lt;br /&gt;
  date datetime NOT NULL default '0000-00-00 00:00:00', &lt;br /&gt;
  KEY lid (lid), &lt;br /&gt;
  KEY uid (uid) &lt;br /&gt;
) TYPE=MyISAM&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DB_query($createsql,1); &lt;br /&gt;
if (DB_error()) { &lt;br /&gt;
    return false; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return true; &lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
function redirect_header($url, $time=4, $message=&amp;quot;&amp;quot;){ &lt;br /&gt;
    echo &amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;\n&amp;quot;; &lt;br /&gt;
    echo &amp;quot;&amp;lt;meta http-equiv='Content-Type' content='text/html; charset=&amp;quot;._CHARSET.&amp;quot;' /&amp;gt;\n&amp;quot;; &lt;br /&gt;
    echo &amp;quot;&amp;lt;meta http-equiv='Refresh' content='$time; url=$url' /&amp;gt;\n&amp;quot;; &lt;br /&gt;
    echo &amp;quot;&amp;lt;style&amp;gt; &lt;br /&gt;
    body {     &lt;br /&gt;
        margin:50px 0px; padding:0px; &lt;br /&gt;
        text-align:center; &lt;br /&gt;
    } &lt;br /&gt;
    #Content { &lt;br /&gt;
        width:100%; &lt;br /&gt;
        margin:0px auto; &lt;br /&gt;
        text-align:center; &lt;br /&gt;
        padding:15px; &lt;br /&gt;
        border:1px dashed #333; &lt;br /&gt;
        background-color:#eee; &lt;br /&gt;
    } &lt;br /&gt;
    &amp;lt;/style&amp;gt;&amp;quot;; &lt;br /&gt;
    echo &amp;quot;&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;div id='content'&amp;gt;\n&amp;quot;; &lt;br /&gt;
    if ( $message!=&amp;quot;&amp;quot; ) { &lt;br /&gt;
        echo &amp;quot;&amp;lt;h4&amp;gt;&amp;quot;.$message.&amp;quot;&amp;lt;/h4&amp;gt;\n&amp;quot;; &lt;br /&gt;
    } else { &lt;br /&gt;
        echo &amp;quot;&amp;lt;h4&amp;gt;&amp;quot;._TAKINGBACK.&amp;quot;&amp;lt;/h4&amp;gt;\n&amp;quot;; &lt;br /&gt;
    } &lt;br /&gt;
    echo &amp;quot;&amp;lt;br /&amp;gt;&amp;lt;b&amp;gt;\n&amp;quot;; &lt;br /&gt;
    printf(_IFNOTRELOAD,$url); &lt;br /&gt;
    echo &amp;quot;&amp;lt;/b&amp;gt;\n&amp;quot;; &lt;br /&gt;
    echo &amp;quot;&amp;lt;/div&amp;gt;\n&amp;quot;; &lt;br /&gt;
    echo &amp;quot;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;; &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/* MAIN &lt;br /&gt;
*/ &lt;br /&gt;
&lt;br /&gt;
$display = COM_siteHeader(); &lt;br /&gt;
// User can set the filemgmt_autoinstall variable to override automatic install &lt;br /&gt;
// By Default the varaibles in filemgmt.cfg are all set to true &lt;br /&gt;
COM_errorLOG(&amp;quot;Filemgmt Plugin Install Script executing&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
if($HTTP_POST_VARS['submit']) {   // True if ForceDeinstall set and user confirms they want to proceed &lt;br /&gt;
    COM_errorLOG(&amp;quot;Filemgmt Plugin De-Install initiating - Removing filemgmt record in vars table&amp;quot;); &lt;br /&gt;
    $res = @mysql_query(&amp;quot;SELECT 1 FROM {$_FM_TABLES['filemgmt_cat']} LIMIT 1&amp;quot;); &lt;br /&gt;
    if ($res) { &lt;br /&gt;
        DB_query(&amp;quot;DELETE FROM {$_TABLES['vars']} WHERE name = 'filemgmt'&amp;quot;); &lt;br /&gt;
    } &lt;br /&gt;
    if (plugin_uninstall_filemgmt()) { &lt;br /&gt;
        // Uninstall worked &lt;br /&gt;
        COM_errorLOG(&amp;quot;Plugin de-install completed - exiting&amp;quot;); &lt;br /&gt;
        redirect_header($_CONF['site_url'] .&amp;quot;/index.php&amp;quot;,2,$LANG_FILEMGMT['uninstall_complete_msg']); &lt;br /&gt;
        exit(); &lt;br /&gt;
    } else { &lt;br /&gt;
        // Uninstall failed &lt;br /&gt;
        COM_errorLOG(&amp;quot;Plugin de-install failed - exiting&amp;quot;); &lt;br /&gt;
        redirect_header($_CONF['site_url'] .&amp;quot;/index.php&amp;quot;,2,$LANG_FILEMGMT['uninstall_failed_msg']); &lt;br /&gt;
        exit();             &lt;br /&gt;
    } &lt;br /&gt;
&lt;br /&gt;
} else { &lt;br /&gt;
&lt;br /&gt;
if ((DB_count($_TABLES['vars'], 'name', 'filemgmt') == 0) AND ($filemgmt_autoinstall)) { &lt;br /&gt;
    // Record in vars table doesn' exit, install this plugin &lt;br /&gt;
    COM_errorLOG(&amp;quot;Autoinstall initiated&amp;quot;); &lt;br /&gt;
    if (plugin_install_filemgmt()) { &lt;br /&gt;
        COM_errorLOG(&amp;quot;Autoinstall completed&amp;quot;); &lt;br /&gt;
        redirect_header($_CONF['site_url'] .&amp;quot;/index.php&amp;quot;,2,$LANG_FILEMGMT['installation_complete_msg']); &lt;br /&gt;
        exit(); &lt;br /&gt;
    } else { &lt;br /&gt;
        // Error occured &lt;br /&gt;
        COM_errorLOG(&amp;quot;Autoinstall Failed&amp;quot;); &lt;br /&gt;
        redirect_header($_CONF['site_url'] .&amp;quot;/index.php&amp;quot;,2,$LANG_FILEMGMT['installation_failed_msg']); &lt;br /&gt;
        exit(); &lt;br /&gt;
    } &lt;br /&gt;
} else { &lt;br /&gt;
    // Check if this plugin is installed and enabled &lt;br /&gt;
    if (DB_getItem($_TABLES['plugins'],'pi_enabled',&amp;quot;pi_name = 'filemgmt'&amp;quot;) == 1) { &lt;br /&gt;
        COM_errorLOG(&amp;quot;Plugin allready installed&amp;quot;); &lt;br /&gt;
        // Check to see if user has set override to force de-install of plugin and then prompt user to confirm de-install &lt;br /&gt;
        if($filemgmt_forceDeinstall){ &lt;br /&gt;
            // Uninstall plugin &lt;br /&gt;
            $display .= COM_startBlock(&amp;quot;&amp;lt;b&amp;gt;Filemgmt Plugin De-Install&amp;lt;/b&amp;gt;&amp;quot;); &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;table border=0 cellpadding=1 cellspacing=0 width='80%'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align='center'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;br&amp;gt;&amp;lt;p&amp;gt;&amp;lt;H2&amp;gt;Do you really want to forceably remove all tables and data associated with the File Mgmt Plugin?&amp;lt;/H2&amp;gt;&amp;lt;p&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align = 'center'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;form action='install.php' method='post'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;input type='submit' name='submit' value='Yes-Deinstall Now!'\n&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;amp;nbsp;&amp;lt;input type='button' value='Cancel' onclick='javascript:history.go(-1)'&amp;gt;\n&amp;quot;; &lt;br /&gt;
               $display .= &amp;quot;&amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= COM_endBlock(); &lt;br /&gt;
            echo $display; &lt;br /&gt;
             &lt;br /&gt;
        } else { &lt;br /&gt;
            // This is locked, do nothing &lt;br /&gt;
            COM_errorLOG(&amp;quot;Plugin is enabled and Force De-install was false. Exiting&amp;quot;); &lt;br /&gt;
            redirect_header($_CONF['site_url'] .&amp;quot;/index.php&amp;quot;,2,$LANG_FILEMGMT['system_locked_msg']); &lt;br /&gt;
            exit(); &lt;br /&gt;
        } &lt;br /&gt;
    } else { &lt;br /&gt;
        // Uninstall plugin &lt;br /&gt;
        COM_errorLOG(&amp;quot;Plugin not enabled, De-Install initiating&amp;quot;); &lt;br /&gt;
        if ($filemgmt_autodeinstall) {        // Check to see if option has been disabled &lt;br /&gt;
            $display .= COM_startBlock(&amp;quot;&amp;lt;b&amp;gt;Filemgmt Plugin De-Install&amp;lt;/b&amp;gt;&amp;quot;); &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;table border=0 cellpadding=1 cellspacing=0 width='80%'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;tr&amp;gt;&amp;lt;td align='center'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;br&amp;gt;&amp;lt;p&amp;gt;&amp;lt;H2&amp;gt;Do you really want to forceably remove all tables and data associated with the File Mgmt Plugin?&amp;lt;/H2&amp;gt;&amp;lt;p&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td align = 'center'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;form action='install.php' method='post'&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;input type='submit' name='submit' value='Yes-Deinstall Now!'\n&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= &amp;quot;&amp;amp;nbsp;&amp;lt;input type='button' value='Cancel' onclick='javascript:history.go(-1)'&amp;gt;\n&amp;quot;; &lt;br /&gt;
               $display .= &amp;quot;&amp;lt;/form&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&amp;quot;; &lt;br /&gt;
            $display .= COM_endBlock(); &lt;br /&gt;
            echo $display;     &lt;br /&gt;
         } else { &lt;br /&gt;
            COM_errorLOG(&amp;quot;Plugin de-install, Nothing to do. Check your plugin install.cfg settings&amp;quot;); &lt;br /&gt;
            redirect_header($_CONF['site_url'] .&amp;quot;/index.php&amp;quot;,2,$LANG_FILEMGMT['install_noop_msg']); &lt;br /&gt;
            exit();     &lt;br /&gt;
        } &lt;br /&gt;
         &lt;br /&gt;
    } &lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
} &lt;br /&gt;
&lt;br /&gt;
?&amp;gt; &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tomw</name></author>	</entry>

	</feed>