<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="http://feedproxy.google.com/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feedproxy.google.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>LAMPdocs: Linux, Apache, MySQL, PHP</title>
	
	<link>http://www.lampdocs.com/blog</link>
	<description>Linux, Apache, MySQL, PHP: Docs, Tricks and Secrets</description>
	<pubDate>Mon, 05 Jan 2009 18:25:39 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feedproxy.google.com/lampdocs" type="application/rss+xml" /><item>
		<title>Roundcube Bug Found in Directadmin: How to Fix</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/l9_m8DQimrY/</link>
		<comments>http://www.lampdocs.com/blog/2009/01/04/roundcube-bug-found-in-directadmin-how-to-fix/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 19:36:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Directadmin Tricks]]></category>

		<category><![CDATA[directadmin remove roundcube]]></category>

		<category><![CDATA[directadmin roundcube]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=550</guid>
		<description><![CDATA[An urgent message came from my hosting service provider. They&#8217;re telling me that a vulnerability has been found in Directadmin, and it is related to Roundcube. Since there is no patch available yet, they recommend to do the following to prevent your server going down:
# cd /var/www/html
# rm -rf roundcubemail-* roundcube
# mkdir roundcube
# echo &#8216;&#60;H2&#62;RoundCube [...]]]></description>
			<content:encoded><![CDATA[<p>An urgent message came from my hosting service provider. They&#8217;re telling me that a vulnerability has been found in Directadmin, and it is related to Roundcube. Since there is no patch available yet, they recommend to do the following to prevent your server going down:</p>
<blockquote><p># cd /var/www/html<br />
# rm -rf roundcubemail-* roundcube<br />
# mkdir roundcube<br />
# echo &#8216;&lt;H2&gt;RoundCube has been disabled for security reasons, see CVE-2008-5619.&lt;/H2&gt;&lt;BR /&gt;&lt;H3&gt;It will return as soon as a patched version get released, thanks for your patience.&lt;/H3&gt;&#8217; &gt;roundcube/index.html<br />
# chown -R webapps:webapps roundcube</p></blockquote>
<p>This will make your DA configuration more secure. The reference number is: CVE-2008-5619</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2009%2F01%2F04%2Froundcube-bug-found-in-directadmin-how-to-fix%2F';
  addthis_title  = 'Roundcube+Bug+Found+in+Directadmin%3A+How+to+Fix';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/l9_m8DQimrY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2009/01/04/roundcube-bug-found-in-directadmin-how-to-fix/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2009/01/04/roundcube-bug-found-in-directadmin-how-to-fix/</feedburner:origLink></item>
		<item>
		<title>How to Parse All Links From a Page With PHP Using DOM Technology</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/-HK2XZRAOG0/</link>
		<comments>http://www.lampdocs.com/blog/2008/12/17/how-to-parse-all-links-from-a-page-with-php-using-dom-technology/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 11:05:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PHP Solutions]]></category>

		<category><![CDATA[capture urls no regexp]]></category>

		<category><![CDATA[extract all links php]]></category>

		<category><![CDATA[extract urls php]]></category>

		<category><![CDATA[find all urls on the page php]]></category>

		<category><![CDATA[php url parser]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=535</guid>
		<description><![CDATA[Today I will share a simple script that may be used to extract all URLs from a single page. You don&#8217;t have to deal with regular expressions anymore, if you don&#8217;t like them. DOM technology that is integrated in PHP5 allows you to do this in just some strings of your code without any specific [...]]]></description>
			<content:encoded><![CDATA[<p>Today I will share a simple script that may be used to extract all URLs from a single page. You don&#8217;t have to deal with regular expressions anymore, if you don&#8217;t like them. DOM technology that is integrated in PHP5 allows you to do this in just some strings of your code without any specific knowledge. Here is the solution.</p>
<blockquote><p>&lt;?php<br />
error_reporting(0);<br />
$url=&#8221;http://mail.ru&#8221;;<br />
$content=file_get_contents($url);<br />
$dom = new DOMDocument;<br />
if ($dom-&gt;loadHTML($content))<br />
{<br />
$as = $dom-&gt;getElementsByTagName(&#8221;a&#8221;);<br />
foreach ($as as $a)<br />
{<br />
$allurl.=$a-&gt;getAttribute(&#8221;href&#8221;).&#8221;\r\n&#8221;;<br />
}<br />
}</p>
<p>echo $allurl;<br />
?&gt;</p></blockquote>
<p>Everything is quite simple and I don&#8217;t think there are any explanations necessary. The only limitation is that you need to have a valid enough HTML code on the page you&#8217;re parsing. The script above will collect all links from a single page by href attribute of &lt;a&gt; tag. If you can do this simpler, you&#8217;re welcome to show me the solution.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F12%2F17%2Fhow-to-parse-all-links-from-a-page-with-php-using-dom-technology%2F';
  addthis_title  = 'How+to+Parse+All+Links+From+a+Page+With+PHP+Using+DOM+Technology';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/-HK2XZRAOG0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/12/17/how-to-parse-all-links-from-a-page-with-php-using-dom-technology/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/12/17/how-to-parse-all-links-from-a-page-with-php-using-dom-technology/</feedburner:origLink></item>
		<item>
		<title>How to Enable Recovery Console in Microsoft Windows XP</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/UOiXBXH3E-Q/</link>
		<comments>http://www.lampdocs.com/blog/2008/12/14/how-to-enable-recovery-console-in-microsoft-windows-xp/#comments</comments>
		<pubDate>Sun, 14 Dec 2008 17:52:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Microsoft Windows]]></category>

		<category><![CDATA[how to install recovery console]]></category>

		<category><![CDATA[how to restore files from windows CD]]></category>

		<category><![CDATA[restore user32.dll]]></category>

		<category><![CDATA[user32.dll error]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=528</guid>
		<description><![CDATA[How to enable recovery console using Windows and use it to recover the files you need]]></description>
			<content:encoded><![CDATA[<p>Today I will create a less typical post that will be related to Microsoft Windows and especially to recovery console installation. On one of my PCs running Windows has appeared a message about the error in USER32.DLL file. I will post the solution here as there was a need to restore it from the original CD.</p>
<p>First of all we need to have an original CD with clean Windows installation. Then I have followed the information on <a href="http://support.microsoft.com/kb/307654/en-us">Microsoft.com</a>:</p>
<blockquote><p>To install the Recovery Console, follow these steps:<br />
Insert the Windows XP CD into the CD-ROM drive.<br />
Click Start, and then click Run.<br />
In the Open box, type d:\i386\winnt32.exe /cmdcons where d is the drive letter for the CD-ROM drive. In the case of &#8216;Microsoft Windows XP Professional x64 Edition, type d:\amd64\winnt32.exe /cmdcons where d is the drive letter for the CD-ROM drive.<br />
A Windows Setup Dialog Box appears. The Windows Setup Dialog Box describes the <strong>Recovery Console</strong> option. To confirm the installation, click Yes.<br />
Restart the computer. The next time that you start your computer, &#8220;Microsoft Windows <strong>Recovery Console</strong>&#8221; appears on the startup menu.</p></blockquote>
<p>Then we&#8217;ll see the <strong>Recovery console</strong> after reboot. You&#8217;ll need to select it in order to recover any of the system files.  Then we need to persorm the following steps:</p>
<p>At the command prompt, type the following command:</p>
<blockquote><p>cd %systemroot%\system32</p></blockquote>
<p>First, rename the damaged or corrupted file so that it is not deleted when you copy the original file. To do this, type the following command:</p>
<blockquote><p>ren USER32.DLL USER32.BAK</p></blockquote>
<p>Next, restore the original User32.dll file from the Windows CD to your computer. To do this, type the following command:</p>
<blockquote><p>expand [CD drive letter]:\i386\USER32.DL_ %systemroot%\system32 /Y</p></blockquote>
<p>Note In this command, replace [CD drive letter] with the letter of your CD drive, such as D. If your computer does not recognize  <strong>%systemroot%</strong>, you&#8217;ll have to type in the full path manually (usually <strong>C:\Windows</strong>)</p>
<p>To exit the <strong>Recovery Console</strong> and to restart the computer, type exit at the command prompt, and then press ENTER. Your file will be restored after reboot.</p>
<p>The second part of article was created using the information found <a href="http://www.downloadatoz.com/howto/How-to-correct-user32-dll-problem.html">here</a>. If you know any other methods that could help restoring system files in Windows, I&#8217;d suggest you to leave your comments.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F12%2F14%2Fhow-to-enable-recovery-console-in-microsoft-windows-xp%2F';
  addthis_title  = 'How+to+Enable+Recovery+Console+in+Microsoft+Windows+XP';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/UOiXBXH3E-Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/12/14/how-to-enable-recovery-console-in-microsoft-windows-xp/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/12/14/how-to-enable-recovery-console-in-microsoft-windows-xp/</feedburner:origLink></item>
		<item>
		<title>How to Enable Socket Support In PHP</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/ujOr-tFO94g/</link>
		<comments>http://www.lampdocs.com/blog/2008/12/06/how-to-enable-socket-support-in-php/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 11:08:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[PHP Configuration]]></category>

		<category><![CDATA[enable socket option in php linux]]></category>

		<category><![CDATA[how to enable socket support in apache]]></category>

		<category><![CDATA[how to socket php]]></category>

		<category><![CDATA[php apache socket]]></category>

		<category><![CDATA[php enable socket]]></category>

		<category><![CDATA[php enable sockets]]></category>

		<category><![CDATA[socket functions php]]></category>

		<category><![CDATA[socket support php]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=191</guid>
		<description><![CDATA[In order to add socket support with PHP you need jsut to include it into your configure string: there is no need to install any third-party applications or software. All you need is to recompile PHP, and it can be done in some minutes.
First of all you need to know where your PHP installation is [...]]]></description>
			<content:encoded><![CDATA[<p>In order to add socket support with PHP you need jsut to include it into your configure string: there is no need to install any third-party applications or software. All you need is to recompile PHP, and it can be done in some minutes.</p>
<p>First of all you need to know where your PHP installation is located. I think you already have it installed if you are going to add some functions. Try searching for your PHP package (I mean installing PHP from source in this article) at your server: it should exist.</p>
<p>When you have the package near and know where it is located, you should identify your current configuration to avoid deleting some elements from the configure line. The most useful method is to copy your current configure line from the output produced by phpinfo(); You may create a new file containing just these lines:</p>
<blockquote><p>&lt;?<br />
phpinfo();<br />
?&gt;</p></blockquote>
<p>Then run it using a web browser. At the beginning of this output you should see a configure line: it should look like:</p>
<blockquote><p>&#8216;./configure&#8217; &#8216;&#8211;with-apxs2&#8242; &#8216;&#8211;with-curl=/usr/local/lib&#8217; &#8216;&#8211;with-gd&#8217; &#8216;&#8211;enable-gd-native-ttf&#8217; &#8216;&#8211;with-ttf&#8217; &#8216;&#8211;with-gettext&#8217; &#8216;&#8211;with-jpeg-dir=/usr/local/lib&#8217; &#8216;&#8211;with-freetype-dir=/usr/local/lib&#8217; &#8216;&#8211;with-kerberos&#8217; &#8216;&#8211;with-openssl&#8217; &#8216;&#8211;with-mcrypt&#8217; &#8216;&#8211;with-mhash&#8217; &#8216;&#8211;with-mysql=/usr&#8217; &#8216;&#8211;with-mysqli=/usr/bin/mysql_config&#8217; &#8216;&#8211;with-pear&#8217; &#8216;&#8211;with-png-dir=/usr/local/lib&#8217; &#8216;&#8211;with-zlib&#8217; &#8216;&#8211;with-zlib-dir=/usr/local/lib&#8217; &#8216;&#8211;enable-zip&#8217; &#8216;&#8211;with-iconv=/usr/local&#8217; &#8216;&#8211;enable-bcmath&#8217; &#8216;&#8211;enable-calendar&#8217; &#8216;&#8211;enable-ftp&#8217; &#8216;&#8211;enable-magic-quotes&#8217; &#8216;&#8211;enable-mbstring&#8217; &#8216;&#8211;enable-pcntl&#8217;</p></blockquote>
<p>Copy it to your text editor and remove quotes and apostrophes. Then add &#8216;&#8211;enable-sockets&#8217; to this line: that&#8217;s the only string we need to enable socket support.</p>
<p>Then we need to make PHP. The command is simple enough: <strong>make</strong> :). I&#8217;d suggest you to <strong>make clean</strong> before doing make to avoid some possible errors. After the PHP is  &#8220;made&#8221; you need to <strong>make install</strong> and then to reboot Apache or any web server you might have to see the changes.  If everything went OK, you should see that socket functions are now available.</p>
<p>You&#8217;re welcome to search my blog to see what else is possible to add to your PHP installation; I consider you might find it useful.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F12%2F06%2Fhow-to-enable-socket-support-in-php%2F';
  addthis_title  = 'How+to+Enable+Socket+Support+In+PHP';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/ujOr-tFO94g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/12/06/how-to-enable-socket-support-in-php/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/12/06/how-to-enable-socket-support-in-php/</feedburner:origLink></item>
		<item>
		<title>How to Open a Javascript Pop Up With Fixed Size</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/T2fqHNUcpL4/</link>
		<comments>http://www.lampdocs.com/blog/2008/12/01/how-to-open-a-javascript-pop-up-with-fixed-size/#comments</comments>
		<pubDate>Mon, 01 Dec 2008 05:29:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[HTML and Javascript Tips]]></category>

		<category><![CDATA[javascript open window]]></category>

		<category><![CDATA[javascript popup script]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=454</guid>
		<description><![CDATA[Modern browsers in their default settings are blocking pop up windows. A simple window.open will not open a pop-up as most probably it will be blocked. But what to do if you need to show a special offer or something like this?
I&#8217;d suggest you to open a window on user action, e.g. clicking a button [...]]]></description>
			<content:encoded><![CDATA[<p>Modern browsers in their default settings are blocking pop up windows. A simple window.open will not open a pop-up as most probably it will be blocked. But what to do if you need to show a special offer or something like this?</p>
<p>I&#8217;d suggest you to open a window on user action, e.g. clicking a button or moving mouse. I&#8217;ve copied this script from the Internet and successfully using it to enable pop-ups on clicking the links.</p>
<blockquote><p>&lt;script type=&#8221;text/javascript&#8221; language=&#8221;javascript&#8221;&gt;<br />
&lt;!&#8211; //<br />
var popWin = null    // use this when referring to pop-up window<br />
var winCount = 0<br />
var winName = &#8220;popWin&#8221;<br />
function openPopWin(winURL, winWidth, winHeight, winFeatures, winLeft, winTop){<br />
var d_winLeft = 20  // default, pixels from screen left to window left<br />
var d_winTop = 20   // default, pixels from screen top to window top<br />
winName = &#8220;popWin&#8221; + winCount++ //unique name for each pop-up window<br />
closePopWin()           // close any previously opened pop-up window<br />
if (openPopWin.arguments.length &gt;= 4)  // any additional features?<br />
winFeatures = &#8220;,&#8221; + winFeatures<br />
else<br />
winFeatures = &#8220;&#8221;<br />
if (openPopWin.arguments.length == 6)  // location specified<br />
winFeatures += getLocation(winWidth, winHeight, winLeft, winTop)<br />
else<br />
winFeatures += getLocation(winWidth, winHeight, d_winLeft, d_winTop)<br />
popWin = window.open(winURL, winName, &#8220;width=&#8221; + winWidth<br />
+ &#8220;,height=&#8221; + winHeight + winFeatures)<br />
}</p>
<p>function closePopWin(){    // close pop-up window if it is open<br />
if (navigator.appName != &#8220;Microsoft Internet Explorer&#8221;<br />
|| parseInt(navigator.appVersion) &gt;=4) //do not close if early IE<br />
if(popWin != null) if(!popWin.closed) popWin.close()<br />
}</p>
<p>function getLocation(winWidth, winHeight, winLeft, winTop){<br />
return &#8220;&#8221;<br />
}</p>
<p>function getLocation(winWidth, winHeight, winLeft, winTop){<br />
var winLocation = &#8220;&#8221;<br />
if (winLeft &lt; 0)<br />
winLeft = screen.width - winWidth + winLeft<br />
if (winTop &lt; 0)<br />
winTop = screen.height - winHeight + winTop<br />
if (winTop == &#8220;cen&#8221;)<br />
winTop = (screen.height - winHeight)/2 - 20<br />
if (winLeft == &#8220;cen&#8221;)<br />
winLeft = (screen.width - winWidth)/2<br />
if (winLeft&gt;0 &amp; winTop&gt;0)<br />
winLocation =  &#8220;,screenX=&#8221; + winLeft + &#8220;,left=&#8221; + winLeft<br />
+ &#8220;,screenY=&#8221; + winTop + &#8220;,top=&#8221; + winTop<br />
else<br />
winLocation = &#8220;&#8221;<br />
return winLocation<br />
}<br />
//&#8211;&gt;<br />
// &#8211;&gt;<br />
&lt;/script&gt;</p></blockquote>
<p>Script usage is the following:</p>
<blockquote><p>onClick=&#8221;javascript:openPopWin(&#8217;Your URL&#8217;,Width,height,&#8221;,pixels from screen left to window left,pixels from screen top to window top)&#8221;</p></blockquote>
<p>This will allow you to open a window and it is not blocked with browsers. If you have a more elegant solution, you&#8217;re welcome to post it here.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F12%2F01%2Fhow-to-open-a-javascript-pop-up-with-fixed-size%2F';
  addthis_title  = 'How+to+Open+a+Javascript+Pop+Up+With+Fixed+Size';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/T2fqHNUcpL4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/12/01/how-to-open-a-javascript-pop-up-with-fixed-size/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/12/01/how-to-open-a-javascript-pop-up-with-fixed-size/</feedburner:origLink></item>
		<item>
		<title>Payment Automation with Liberty Reserve - PHP script</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/aKXpQ6DepDk/</link>
		<comments>http://www.lampdocs.com/blog/2008/11/28/payment-automation-with-liberty-reserve-php-script/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 07:29:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[install liberty reserve mass payment tool]]></category>

		<category><![CDATA[liberty reserve api correct code]]></category>

		<category><![CDATA[Liberty reserve payment automation]]></category>

		<category><![CDATA[liberty reserve php code]]></category>

		<category><![CDATA[liberty reserve scripts code]]></category>

		<category><![CDATA[LR mass payment]]></category>

		<category><![CDATA[payment automation no paypal]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=451</guid>
		<description><![CDATA[Today I will post the solution for payment automation. Since e-gold doesn&#8217;t seem to process payments (I&#8217;ve submitted my documents and still waiting them to review for about a month), Liberty Reserve becomes another popular payment solution for non-Paypal countries.
We need to have an account with them in order to process payments. We need some [...]]]></description>
			<content:encoded><![CDATA[<p>Today I will post the solution for payment automation. Since e-gold doesn&#8217;t seem to process payments (I&#8217;ve submitted my documents and still waiting them to review for about a month), <a href="https://www.libertyreserve.com/en/">Liberty Reserve</a> becomes another popular payment solution for non-Paypal countries.</p>
<p>We need to have an account with them in order to process payments. We need some basic PHP knowledge to set up payment automation, but if you follow my guide, I think you will be able to set up your payment system without any problems.</p>
<p>As soon as we have an account with LR, we need to do the following steps:</p>
<ul>
<li>Login to your LR account.</li>
<li>Click on &#8216;Merchant Tools.&#8217;</li>
<li>Click on &#8216;Create new API.&#8217;</li>
<li>Fill in the form. &#8216;API Name&#8217; and &#8216;Security Word&#8217; are required fields, which are used to protect your account from an unauthorized access via API. &#8216;Requesting IP Addresses&#8217; is an additional security measure that restricts API access to your account only to the IPs listed in this field. Leaving this field empty will allow any IP to have API access to your account (if they know the API Name and Security Word).</li>
<li>Enter your &#8216;Security PIN&#8217; and submit this form. Make sure the API was<br />
created and is enabled.</li>
</ul>
<p>Then we need to download the script package that provides the necessary API functionality. You can find it <a href="https://www.libertyreserve.com/en/downloads/MassPayment/lr-masspay-1.0b.zip">here</a>.</p>
<p>Then we need to check whether our PHP configuration allows us to use this script. The requirements are: domxml, mhash and curl extensions for PHP4  or mhash and curl for PHP5. Most servers&#8217; PHP configurations are built with these options, but if your server doesn&#8217;t have them, you&#8217;re welcome to search my blog to find out how to install the missing components.</p>
<p>After our server is OK, we need to extract the contents of the downloaded ZIP archive to a directory on our server. functions.php is the file that will be used for our needs, though you&#8217;re welcome to use the sample code provided. I will show you a faster solution without any graphic interface. Here it is:</p>
<blockquote><p>&lt;?<br />
require(&#8221;functions.php&#8221;);<br />
// Setting our payment information: login<br />
$payerAcct=&#8221;U123456&#8243;;<br />
// API name<br />
$apiName=&#8221;U123456&#8243;;<br />
// And the security word<br />
$securityWord=&#8221;JKhfjJHGfjdjh&#8221;;<br />
// Most important part: transfer details: recipient account, payment amount, privacy setting (private or not), memo<br />
$transferList=&#8221;U654321, 0.05, not-private, Payment Memo&#8221;;</p>
<p>$canDisplayForm = false;<br />
$canDisplayResult = true;</p>
<p>if (is_null($payerAcct) || trim($payerAcct) == &#8220;&#8221;) {<br />
$wasError = true;<br />
$payerAcctError = &#8220;Payer account number can&#8217;t be empty.&#8221;;<br />
}<br />
else if (!isValidAccountNumber($payerAcct)) {<br />
$wasError = true;<br />
$payerAcctError = &#8220;Invalid payer account number format.&#8221;;<br />
}</p>
<p>if (is_null($securityWord) || trim($securityWord) == &#8221;) {<br />
$wasError = true;<br />
$securityWordError = &#8220;Security Word can&#8217;t be empty.&#8221;;<br />
}</p>
<p>if (is_null($apiName) || trim($apiName) == &#8221;) {<br />
$wasError = true;<br />
$apiNameError = &#8220;Api Name can&#8217;t be empty.&#8221;;<br />
}</p>
<p>$request = new TransferRequest($apiName, $securityWord);<br />
$request-&gt;addTransfersFromText($payerAcct, $transferList, $transferListError);</p>
<p>$transferListError = str_replace(&#8221;\n&#8221;,&#8221;&lt;br /&gt;&#8221;, $transferListError);<br />
if ($transferListError != &#8220;&#8221;) {<br />
$wasError = true;<br />
}</p>
<p>$responseContent = $request-&gt;getResponse();<br />
// Checking whether everything is OK with payment<br />
if (substr_count($responseContent, &#8220;ReceiptId&#8221;))</p>
<p>echo &#8220;OK&#8221;;<br />
else echo &#8220;Error&#8221;;</p>
<p>?&gt;</p></blockquote>
<p>You may clean up this code to remove some checks to make the script smaller. But&#8230; it works and provides you with the ability to use mass payments using Liberty Reserve.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F11%2F28%2Fpayment-automation-with-liberty-reserve-php-script%2F';
  addthis_title  = 'Payment+Automation+with+Liberty+Reserve+-+PHP+script';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/aKXpQ6DepDk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/11/28/payment-automation-with-liberty-reserve-php-script/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/11/28/payment-automation-with-liberty-reserve-php-script/</feedburner:origLink></item>
		<item>
		<title>How to View Last Lines of a Big File in Linux</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/rwiaXxjGMhk/</link>
		<comments>http://www.lampdocs.com/blog/2008/11/27/how-to-view-last-lines-of-a-big-file-in-linux/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 06:24:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux Tricks]]></category>

		<category><![CDATA[linux last lines of a file]]></category>

		<category><![CDATA[linux view changing file]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=436</guid>
		<description><![CDATA[This post is dedicated to Linux newbies as those who use it for everyday needs should know about this command. If not&#8230; I think this will be useful for you in any way.
When you&#8217;re a system administrator, you should often deal with logs. On a Linux server logs are permanently updated, that&#8217;s why we need [...]]]></description>
			<content:encoded><![CDATA[<p>This post is dedicated to Linux newbies as those who use it for everyday needs should know about this command. If not&#8230; I think this will be useful for you in any way.</p>
<p>When you&#8217;re a system administrator, you should often deal with logs. On a Linux server logs are permanently updated, that&#8217;s why we need to see last written lines of such a file. If you open it useing <strong>cat</strong> or <strong>more</strong>, you won&#8217;t see how it changes. A simple command will help you to do this.</p>
<blockquote><p>tail -f error_log</p></blockquote>
<p>This will show you last lines of error_log file. For a complete list of options you&#8217;re welcome to go <a href="http://linux.about.com/library/cmd/blcmdl1_tail.htm">here</a>: or just type man tail in your console.</p>
<p>Hope this command will help you to monitor your server and increase its uptime <img src='http://www.lampdocs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F11%2F27%2Fhow-to-view-last-lines-of-a-big-file-in-linux%2F';
  addthis_title  = 'How+to+View+Last+Lines+of+a+Big+File+in+Linux';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/rwiaXxjGMhk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/11/27/how-to-view-last-lines-of-a-big-file-in-linux/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/11/27/how-to-view-last-lines-of-a-big-file-in-linux/</feedburner:origLink></item>
		<item>
		<title>Google Launches SearchWiki: What to Expect</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/U7AGENRtUFY/</link>
		<comments>http://www.lampdocs.com/blog/2008/11/24/google-launches-searchwiki-what-to-expect/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 07:25:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Web Services]]></category>

		<category><![CDATA[google searchwiki]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=427</guid>
		<description><![CDATA[Today when I turned on my computer and searched something in Google, I&#8217;ve noticed some strange signs near my search results. My first thought was that my PC has been hacked :), but when I clicked the link, I got the idea that it&#8217;s another Google innovation. Let&#8217;s see what&#8217;s written at the Official Google [...]]]></description>
			<content:encoded><![CDATA[<p>Today when I turned on my computer and searched something in Google, I&#8217;ve noticed some strange signs near my search results. My first thought was that my PC has been hacked :), but when I clicked the link, I got the idea that it&#8217;s another Google innovation. Let&#8217;s see what&#8217;s written at the <a href="http://googleblog.blogspot.com/2008/11/searchwiki-make-search-your-own.html">Official Google Blog:</a></p>
<blockquote><p>Today we&#8217;re launching SearchWiki, a way for you to customize search by re-ranking, deleting, adding, and commenting on search results. With just a single click you can move the results you like to the top or add a new site. You can also write notes attached to a particular site and remove results that you don&#8217;t feel belong. These modifications will be shown to you every time you do the same search in the future. SearchWiki is available to signed-in Google users. We store your changes in your Google Account. If you are wondering if you are signed in, you can always check by noting if your username appears in the upper right-hand side of the page.</p>
<p>The changes you make <span style="font-weight: bold;">only</span> affect <span style="font-weight: bold;">your own</span> searches. But SearchWiki also is a great way to share your insights with other searchers. You can see how the community has collectively edited the search results by clicking on the &#8220;See all notes for this SearchWiki&#8221; link.</p></blockquote>
<p>What does this really mean? I don&#8217;t think I input the same queries every day, if I don&#8217;t intent to promote my site for this key phrase. Usually my search terms are different and I can&#8217;t see the reason to delete or manage the search results: if I&#8217;m searching for some information, I get what I need (Thanks, Google) and don&#8217;t come back to the same page anymore.</p>
<p>I&#8217;ve checked what&#8217;s shown for linux terms. Almost nothing at the moment as people don&#8217;t yet know what do these little arrow and &#8220;X&#8221; signs do. But when I checked Searchwiki contents for a competitve keyword, I&#8217;ve found that 53 notes were recorded for &#8220;car insurance&#8221;.</p>
<p>My personal opinion at this time is that this instrument will be widely used by SEO webmasters. Though Google tells that Searchwiki doesn&#8217;t affect general search results, I think that this function will be implemented some time later. But&#8230; if it&#8217;s done, there will be SEO wars, when webmasters will try to pull don concurents&#8217; sites from SERP&#8230;</p>
<p>Let&#8217;s see how it comes. At the moment, I&#8217;ve moved all my sites to the top and I&#8217;m happy <img src='http://www.lampdocs.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F11%2F24%2Fgoogle-launches-searchwiki-what-to-expect%2F';
  addthis_title  = 'Google+Launches+SearchWiki%3A+What+to+Expect';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/U7AGENRtUFY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/11/24/google-launches-searchwiki-what-to-expect/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/11/24/google-launches-searchwiki-what-to-expect/</feedburner:origLink></item>
		<item>
		<title>Free Base64 Encoder and Decoder Available Online</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/vcBIAEUK2jw/</link>
		<comments>http://www.lampdocs.com/blog/2008/11/20/free-base64-encoder-and-decoder-available-online/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 10:07:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[No Answer Yet]]></category>

		<category><![CDATA[PHP Solutions]]></category>

		<category><![CDATA[Web Services]]></category>

		<category><![CDATA[base64 decode]]></category>

		<category><![CDATA[base64 decoder in linux]]></category>

		<category><![CDATA[decode base64 linux]]></category>

		<category><![CDATA[decode php code online]]></category>

		<category><![CDATA[how to protect your php]]></category>

		<category><![CDATA[php protection methods]]></category>

		<category><![CDATA[protect php code]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=397</guid>
		<description><![CDATA[base64 encoding is often used to protect PHP code. There is an online tool that allows you to encode and decode the code. Here is the link: Base64 Encoding/Decoding Tool by Thomas Horsten.
It really works with the code you have. It&#8217;s a common kind of PHP protection and this tool reveals the opinion that base64 [...]]]></description>
			<content:encoded><![CDATA[<p>base64 encoding is often used to protect PHP code. There is an online tool that allows you to encode and decode the code. Here is the link: <a href="http://www.rbl.jp/base64.php">Base64 Encoding/Decoding Tool by Thomas Horsten</a>.</p>
<p>It really works with the code you have. It&#8217;s a common kind of PHP protection and this tool reveals the opinion that base64 encoding is secure and it&#8217;s enough for code protection. If you hae any ideas on how to protect the PHP code, you&#8217;re welcome to post them in your comments.</p>
<p>Zend, Ioncube, etc are not enough as there are some paid services that offer &#8220;dezend&#8221; and &#8220;deioncube&#8221;. Code obfuscation&#8230; hmm, it just increases the time used to modify such a code, but doesn&#8217;t really help.</p>
<p>I would like to have my PHP scripts protected, but I don&#8217;t know any good protection method at the moment.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F11%2F20%2Ffree-base64-encoder-and-decoder-available-online%2F';
  addthis_title  = 'Free+Base64+Encoder+and+Decoder+Available+Online';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/vcBIAEUK2jw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/11/20/free-base64-encoder-and-decoder-available-online/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/11/20/free-base64-encoder-and-decoder-available-online/</feedburner:origLink></item>
		<item>
		<title>How to Install g++ on CentOS 4 and CentOS 5</title>
		<link>http://feedproxy.google.com/~r/lampdocs/~3/JPQBJ-9x2Xc/</link>
		<comments>http://www.lampdocs.com/blog/2008/11/19/how-to-install-g-on-centos-4-and-centos-5/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 13:42:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux Tricks]]></category>

		<category><![CDATA[centos g++]]></category>

		<category><![CDATA[centos g++ yum]]></category>

		<category><![CDATA[centos install g++]]></category>

		<category><![CDATA[centos install g++ help]]></category>

		<category><![CDATA[centos yum install g++]]></category>

		<category><![CDATA[g++ command + centos]]></category>

		<category><![CDATA[g++ for centos]]></category>

		<category><![CDATA[gcc yum g++ centos]]></category>

		<category><![CDATA[install g++ centos]]></category>

		<category><![CDATA[yum install gcc g++ centos]]></category>

		<guid isPermaLink="false">http://www.lampdocs.com/blog/?p=390</guid>
		<description><![CDATA[g++ is often necessary for building various packages. But It&#8217;s quite hard to install it in CentOS if you don&#8217;t know a simple thing: yum install g++ will not work here. yum install compat-g++and yum install gcc-g++ won&#8217;t give any result too.  The only command for yum to install g++ on CentOS is the following:
yum [...]]]></description>
			<content:encoded><![CDATA[<p>g++ is often necessary for building various packages. But It&#8217;s quite hard to install it in CentOS if you don&#8217;t know a simple thing: <strong>yum install g++</strong> will not work here. <strong>yum install compat-g++</strong>and <strong>yum install gcc-g++</strong> won&#8217;t give any result too.  The only command for yum to <strong>install g++</strong> on CentOS is the following:</p>
<blockquote><p>yum install gcc-c++</p></blockquote>
<p>You might also want to install it with some more useful packages. Then your command will be:</p>
<blockquote><p>yum install gcc-c++ compat-gcc-32 compat-gcc-32-c++</p></blockquote>
<p>Hope this helps you to install g++ under CentOS</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Fwww.lampdocs.com%2Fblog%2F2008%2F11%2F19%2Fhow-to-install-g-on-centos-4-and-centos-5%2F';
  addthis_title  = 'How+to+Install+g%2B%2B+on+CentOS+4+and+CentOS+5';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
<img src="http://feedproxy.google.com/~r/lampdocs/~4/JPQBJ-9x2Xc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.lampdocs.com/blog/2008/11/19/how-to-install-g-on-centos-4-and-centos-5/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.lampdocs.com/blog/2008/11/19/how-to-install-g-on-centos-4-and-centos-5/</feedburner:origLink></item>
	</channel>
</rss>
