<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NEUBER-WEB-SOLUTIONS :: We support your WordPress ECommerce &#124;</title>
	<atom:link href="http://www.neuber-web-solutions.de/feed" rel="self" type="application/rss+xml" />
	<link>http://www.neuber-web-solutions.de</link>
	<description></description>
	<lastBuildDate>Tue, 09 Mar 2010 17:54:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux- oder Windows Server &#8211; das ist hier die Frage&#8230;</title>
		<link>http://www.neuber-web-solutions.de/programming-infos-tutorials/linux-oder-windows-server-das-ist-hier-die-frage</link>
		<comments>http://www.neuber-web-solutions.de/programming-infos-tutorials/linux-oder-windows-server-das-ist-hier-die-frage#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:31:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming infos and tutorials]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=699</guid>
		<description><![CDATA[Ab und zu muss man als PHP-Mensch rausfinden, ob ein Skript auf einem Linux- oder [...]]]></description>
			<content:encoded><![CDATA[<p>Ab und zu muss man als PHP-Mensch rausfinden, ob ein Skript auf einem Linux- oder einem Windows-Server läuft. Man kann natürlich immer ein <strong>phpinfo()</strong> ausgeben lassen und einen Blick auf die erste Zeile namens &#8216;System&#8217; werfen. Aber zur Weiterverarbeitung in Skripten ist <strong>phpinfo()</strong> nicht wirklich so der Hit.</p>
<p>Glücklicherweise gibt es in PHP noch mindestens 3 &#8220;Herausfinde-Möglichkeiten&#8221;:</p>
<p><strong>1. </strong><span style="text-decoration: underline;"><strong>Möglichkeit:</strong><br />
</span><br />
<span style="color:navy;font-weight:600;">echo PHP_OS;</span><br />
Ergibt bei einem Windows Server üblicherweise den Wert  &#8220;WINNT&#8221;.</p>
<div><span style="text-decoration: underline;"></p>
<div><strong><br />
2.Möglichkeit</strong></div>
<p></span></div>
<p><span style="color:navy;font-weight:600;">echo php_uname(&#8217;s&#8217;);</span><br />
Liefert bei einem Windows-Server einen Wert wie &#8220;Windows NT&#8221; zurück. In einer strpos()-Abfrage könnte man das dann so nutzen:</p>
<p>if (strpos($os_info,&#8217;Windows&#8217;) !== FALSE){<br />
    echo &#8220;JA, das ist ein Windows-Teil&#8230;&#8221;;<br />
 }<br />
<br/>
<div><strong><span style="text-decoration: underline;">3.Möglichkeit</span></strong></div>
<div><br/><span style="color:navy;font-weight:600;">echo DIRECTORY_SEPARATOR;</span><span><br />
PHP stellt uns eine Konstante für den Seperator von Verzeichnissen zur Verfügung. Windows Systeme verwenden bekannterweise den Seperator \ . Also könnte man hier auch wieder ein strpos() einsetzen:</span></div>
<p><br/><br />
if (strpos(DIRECTORY_SEPARATOR != &#8216;/&#8217;){<br />
    echo &#8220;Schon wieder eine Windows-Kiste&#8221;;<br />
 }</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/programming-infos-tutorials/linux-oder-windows-server-das-ist-hier-die-frage/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Übersetzung der Hilfe-Dokumente hat begonnen</title>
		<link>http://www.neuber-web-solutions.de/company/ubersetzung-der-hilfe-dokumente-hat-begonnen</link>
		<comments>http://www.neuber-web-solutions.de/company/ubersetzung-der-hilfe-dokumente-hat-begonnen#comments</comments>
		<pubDate>Mon, 25 Jan 2010 16:56:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Company]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=682</guid>
		<description><![CDATA[Bisher waren die Hilfedokumente durchweg in Englisch verfasst. Da aber die Zahl nicht englisch sprechender [...]]]></description>
			<content:encoded><![CDATA[<p>Bisher waren die Hilfedokumente durchweg in Englisch verfasst. Da aber die Zahl nicht englisch sprechender User stetig zunimmt, haben wir heute mit der Übersetzung der umfangreichen Hilfedokumente unserer WordPress-Themes begonnen.<br />
Die erste Zielsprache für die Übersetzungen wird Deutsch sein; es werden weitere folgen. Wir gehen davon, daß die Übersetzung ins Deutsche ca. 2 Monate in Anspruch nehmen wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/company/ubersetzung-der-hilfe-dokumente-hat-begonnen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which online Payment Gateway do you prefer?</title>
		<link>http://www.neuber-web-solutions.de/general/change-in-business-policy</link>
		<comments>http://www.neuber-web-solutions.de/general/change-in-business-policy#comments</comments>
		<pubDate>Sun, 02 Aug 2009 08:33:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=541</guid>
		<description><![CDATA[Statistics prove clearly that you can increase your ecommerce turnover if you provide the payment [...]]]></description>
			<content:encoded><![CDATA[<p>Statistics prove clearly that you can increase your ecommerce turnover if you provide the payment options your customers expect. Many online transactions are left unfinished if the favorite payment option was not present.</p>
<p>A while ago we tried to find out, which online payment gateways are around. There are more than one may expect.  <br />
We have listed our &#8216;findings&#8217; aphabetically for you &#8211; additional information will follow.<br />
There are actually more; in case your favorite Payment Gateway is not listed here &#8211; let us know. Let us also why you think its a good online payment gateway.</p>
<p><!--  Text: [end] --> </p>
<p><!--  CONTENT ELEMENT, uid:1504/text [end] --><!--  CONTENT ELEMENT, uid:1510/text [begin] --><a id="c1510"></a></p>
<p><!--  Text: [begin] --><strong>2CheckOut</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1510/text [end] --><!--  CONTENT ELEMENT, uid:1534/text [begin] --><a id="c1534"></a></p>
<p><!--  Text: [begin] --><strong>AlertPay</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1534/text [end] --><!--  CONTENT ELEMENT, uid:1537/text [begin] --><a id="c1537"></a></p>
<p><!--  Text: [begin] --><strong>Amazon FPS</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1537/text [end] --><!--  CONTENT ELEMENT, uid:1505/text [begin] --><a id="c1505"></a></p>
<p><!--  Text: [begin] --><strong>Authorize.net</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1505/text [end] --><!--  CONTENT ELEMENT, uid:1517/text [begin] --><a id="c1517"></a></p>
<p><!--  Text: [begin] --><strong>Barclays EPDQ</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1517/text [end] --><!--  CONTENT ELEMENT, uid:1546/text [begin] --><a id="c1546"></a></p>
<p><!--  Text: [begin] --><strong>BBS</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1546/text [end] --><!--  CONTENT ELEMENT, uid:1539/text [begin] --><a id="c1539"></a></p>
<p><!--  Text: [begin] --><strong>Beanstream</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1539/text [end] --><!--  CONTENT ELEMENT, uid:1550/text [begin] --><a id="c1550"></a></p>
<p><!--  Text: [begin] --><strong>ChronoPay</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1550/text [end] --><!--  CONTENT ELEMENT, uid:1522/text [begin] --><a id="c1522"></a></p>
<p><!--  Text: [begin] --><strong>ClickandBuy</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1522/text [end] --><!--  CONTENT ELEMENT, uid:1545/text [begin] --><a id="c1545"></a></p>
<p><!--  Text: [begin] --><strong>DIBS Payment</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1545/text [end] --><!--  CONTENT ELEMENT, uid:1526/text [begin] --><a id="c1526"></a></p>
<p><!--  Text: [begin] --><strong>DeltaPay</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1526/text [end] --><!--  CONTENT ELEMENT, uid:1549/text [begin] --><a id="c1549"></a></p>
<p><!--  Text: [begin] --><strong>eWay</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1549/text [end] --><!--  CONTENT ELEMENT, uid:1520/text [begin] --><a id="c1520"></a></p>
<p><!--  Text: [begin] --><strong>ExperCash</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1520/text [end] --><!--  CONTENT ELEMENT, uid:1512/text [begin] --><a id="c1512"></a></p>
<p><!--  Text: [begin] --><strong>FastCharge</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1512/text [end] --><!--  CONTENT ELEMENT, uid:1548/text [begin] --><a id="c1548"></a></p>
<p><!--  Text: [begin] --><strong>FAST TRANSACT</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1548/text [end] --><!--  CONTENT ELEMENT, uid:1544/text [begin] --><a id="c1544"></a></p>
<p><!--  Text: [begin] --><strong>Flo2Cash</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1544/text [end] --><!--  CONTENT ELEMENT, uid:1513/text [begin] --><a id="c1513"></a></p>
<p><!--  Text: [begin] --><strong>GoogleCheckout</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1513/text [end] --><!--  CONTENT ELEMENT, uid:1515/text [begin] --><a id="c1515"></a></p>
<p><!--  Text: [begin] --><strong>HeidelPay</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1515/text [end] --><!--  CONTENT ELEMENT, uid:1509/text [begin] --><a id="c1509"></a></p>
<p><!--  Text: [begin] --><strong>iDeal</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1509/text [end] --><!--  CONTENT ELEMENT, uid:1533/text [begin] --><a id="c1533"></a></p>
<p><!--  Text: [begin] --><strong>iPay88</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1533/text [end] --><!--  CONTENT ELEMENT, uid:1514/text [begin] --><a id="c1514"></a></p>
<p><!--  Text: [begin] --><strong>iPayment</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1514/text [end] --><!--  CONTENT ELEMENT, uid:1543/text [begin] --><a id="c1543"></a></p>
<p><!--  Text: [begin] --><strong>IPPAY</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1543/text [end] --><!--  CONTENT ELEMENT, uid:1511/text [begin] --><a id="c1511"></a></p>
<p><!--  Text: [begin] --><strong>MoneyBookers</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1511/text [end] --><!--  CONTENT ELEMENT, uid:1521/text [begin] --><a id="c1521"></a></p>
<p><!--  Text: [begin] --><strong>mPAY24</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1521/text [end] --><!--  CONTENT ELEMENT, uid:1523/text [begin] --><a id="c1523"></a></p>
<p><!--  Text: [begin] --><strong>myGate</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1523/text [end] --><!--  CONTENT ELEMENT, uid:1541/text [begin] --><a id="c1541"></a></p>
<p><!--  Text: [begin] --><strong>NETBilling</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1541/text [end] --><!--  CONTENT ELEMENT, uid:1525/text [begin] --><a id="c1525"></a></p>
<p><!--  Text: [begin] --><strong>NetCash</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1525/text [end] --><!--  CONTENT ELEMENT, uid:1518/text [begin] --><a id="c1518"></a></p>
<p><!--  Text: [begin] --><strong>NOCHEX</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1518/text [end] --><!--  CONTENT ELEMENT, uid:1530/text [begin] --><a id="c1530"></a></p>
<p><!--  Text: [begin] --><strong>NOVALNET</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1530/text [end] --><!--  CONTENT ELEMENT, uid:1536/text [begin] --><a id="c1536"></a></p>
<p><!--  Text: [begin] --><strong>ogone</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1536/text [end] --><!--  CONTENT ELEMENT, uid:1532/text [begin] --><a id="c1532"></a></p>
<p><!--  Text: [begin] --><strong>paybox</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1532/text [end] --><!--  CONTENT ELEMENT, uid:1527/text [begin] --><a id="c1527"></a></p>
<p><!--  Text: [begin] --><strong>paycenter</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1527/text [end] --><!--  CONTENT ELEMENT, uid:1529/text [begin] --><a id="c1529"></a></p>
<p><!--  Text: [begin] --><strong>PayEase</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1529/text [end] --><!--  CONTENT ELEMENT, uid:1531/text [begin] --><a id="c1531"></a></p>
<p><!--  Text: [begin] --><strong>PAYER</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1531/text [end] --><!--  CONTENT ELEMENT, uid:1540/text [begin] --><a id="c1540"></a></p>
<p><!--  Text: [begin] --><strong>Payment Express</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1540/text [end] --><!--  CONTENT ELEMENT, uid:1538/text [begin] --><a id="c1538"></a></p>
<p><!--  Text: [begin] --><strong>PAYONE</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1538/text [end] --><!--  CONTENT ELEMENT, uid:1506/text [begin] --><a id="c1506"></a></p>
<p><!--  Text: [begin] --><strong>PayPal</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1506/text [end] --><!--  CONTENT ELEMENT, uid:1519/text [begin] --><a id="c1519"></a></p>
<p><!--  Text: [begin] --><strong>PayPoint</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1519/text [end] --><!--  CONTENT ELEMENT, uid:1547/text [begin] --><a id="c1547"></a></p>
<p><!--  Text: [begin] --><strong>PaySimple</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1547/text [end] --><!--  CONTENT ELEMENT, uid:1508/text [begin] --><a id="c1508"></a></p>
<p><!--  Text: [begin] --><strong>protx</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1508/text [end] --><!--  CONTENT ELEMENT, uid:1516/text [begin] --><a id="c1516"></a></p>
<p><!--  Text: [begin] --><strong>Qenta</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1516/text [end] --><!--  CONTENT ELEMENT, uid:1528/text [begin] --><a id="c1528"></a></p>
<p><!--  Text: [begin] --><strong>QUANTUM</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1528/text [end] --><!--  CONTENT ELEMENT, uid:1542/text [begin] --><a id="c1542"></a></p>
<p><!--  Text: [begin] --><strong>sofortüberweisung.de</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1542/text [end] --><!--  CONTENT ELEMENT, uid:1535/text [begin] --><a id="c1535"></a></p>
<p><!--  Text: [begin] --><strong>twyp</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1535/text [end] --><!--  CONTENT ELEMENT, uid:1524/text [begin] --><a id="c1524"></a></p>
<p><!--  Text: [begin] --><strong>UOS</strong></p>
<p><!--  Text: [end] --><!--  CONTENT ELEMENT, uid:1524/text [end] --><!--  CONTENT ELEMENT, uid:1507/text [begin] --><a id="c1507"></a></p>
<p><!--  Text: [begin] --><strong>WorldPay</strong></p>
<p><!--  Text: [end] --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/general/change-in-business-policy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Credit Card numbers can/should tell us</title>
		<link>http://www.neuber-web-solutions.de/programming-infos-tutorials/what-credit-card-numbers-canshould-tell-us</link>
		<comments>http://www.neuber-web-solutions.de/programming-infos-tutorials/what-credit-card-numbers-canshould-tell-us#comments</comments>
		<pubDate>Fri, 26 Jun 2009 21:14:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming infos and tutorials]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=435</guid>
		<description><![CDATA[How can one make sure that a provided credit card number is valid? Although this [...]]]></description>
			<content:encoded><![CDATA[<p>How can one make sure that a provided credit card number is valid? Although this is a science on it&#8217;s own, there are some basic rules good to keep in mind:</p>
<p><strong><span style="text-decoration: underline;">Starting digit:<br />
</span></strong>Every credit card type has it&#8217;s fixed starting digit &#8211; good to know:</p>
<p>Amex/Diners Club: 3<br />
VisaCard: 4<br />
Mastercard: 5<br />
Discover: 6</p>
<p><span style="text-decoration: underline;"><strong>Length of number:<br />
</strong></span>Also the length of the number is fixed according to card type:</p>
<p>DinersClub: 13<br />
Amex: 15<br />
All others: 16</p>
<p>So, customer wants to pay via American Express with a 16 digit CC number?<br />
We don&#8217;t think so.</p>
<p><strong><span style="text-decoration: underline;">Luhn or Mod10 algorithm &#8211; the CC checksum has to be right<br />
</span></strong>This checksum algorithm was <a href="http://en.wikipedia.org/wiki/Luhn_algorithm">invented by Hans Luhn</a>. If the generated checksum can be divided by 10 without rest &#8211; then the number is valid &#8211; so the basic idea.<br />
Here a practical PHP function to validate a credit card numer with it:</p>
<div style="background:white; padding-left:20px;">
<p><span class="kw2"><strong>function</strong></span> VerifyLuhn<span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$number</span></span><span class="br0"><span style="color: #009900;">)</span></span> <span class="br0"><span style="color: #009900;">{</span></span><br />
   <span class="re0"><span style="color: #000088;">$split</span></span> <span class="sy0"><span style="color: #339933;">=</span></span> <span class="kw3"><span style="color: #990000;">array_reverse</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="kw3"><span style="color: #990000;">str_split</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$number</span></span><span style="color: #009900;"><span class="br0">)</span><span class="br0">)</span></span><span class="sy0"><span style="color: #339933;">;</span></span><br />
     <span class="kw1"><span style="color: #b1b100;">for</span></span> <span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$i</span></span><span class="sy0"><span style="color: #339933;">=</span></span><span class="nu0"><span style="color: #cc66cc;">1</span></span><span class="sy0"><span style="color: #339933;">;</span></span><span class="re0"><span style="color: #000088;">$i</span></span><span class="sy0"><span style="color: #339933;">&lt;=</span></span><span class="kw3"><span style="color: #990000;">count</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$split</span></span><span class="br0"><span style="color: #009900;">)</span></span><span class="sy0"><span style="color: #339933;">;</span></span><span class="re0"><span style="color: #000088;">$i</span></span><span class="sy0"><span style="color: #339933;">+=</span></span>2<span class="br0"><span style="color: #009900;">)</span></span> <span class="br0"><span style="color: #009900;">{</span></span><br />
        <span class="kw1"><span style="color: #b1b100;">if</span></span> <span class="br0"><span style="color: #009900;">(</span></span><span class="kw3"><span style="color: #990000;">isset</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$split</span></span><span class="br0"><span style="color: #009900;">[</span></span><span class="re0"><span style="color: #000088;">$i</span></span><span style="color: #009900;"><span class="br0">]</span><span class="br0">)</span><span class="br0">)</span></span> <span class="re0"><span style="color: #000088;">$split</span></span><span class="br0"><span style="color: #009900;">[</span></span><span class="re0"><span style="color: #000088;">$i</span></span><span class="br0"><span style="color: #009900;">]</span></span> <span class="sy0"><span style="color: #339933;">=</span></span> <span class="kw3"><span style="color: #990000;">array_sum</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="kw3"><span style="color: #990000;">str_split</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$split</span></span><span class="br0"><span style="color: #009900;">[</span></span><span class="re0"><span style="color: #000088;">$i</span></span><span class="br0"><span style="color: #009900;">]</span></span><span class="sy0"><span style="color: #339933;">*</span></span>2<span style="color: #009900;"><span class="br0">)</span><span class="br0">)</span></span><span class="sy0"><span style="color: #339933;">;</span></span><br />
     <span class="br0"><span style="color: #009900;">}</span></span><br />
   <span class="kw1"><span style="color: #b1b100;">return</span></span> <span class="br0"><span style="color: #009900;">(</span></span><span class="kw3"><span style="color: #990000;">array_sum</span></span><span class="br0"><span style="color: #009900;">(</span></span><span class="re0"><span style="color: #000088;">$split</span></span><span class="br0"><span style="color: #009900;">)</span></span> <span class="sy0"><span style="color: #339933;">%</span></span> 10<span class="br0"><span style="color: #009900;">)</span></span> ? <span class="kw4"><strong><span style="color: #009900;">FALSE</span></strong></span> <span class="sy0"><span style="color: #339933;">:</span></span> <span class="kw4"><strong><span style="color: #009900;">TRUE</span></strong></span><span class="sy0"><span style="color: #339933;">;</span></span><br />
<span class="br0"><span style="color: #009900;">}</span></span></div>
<p>&#8212;<br />
Comments, improvments are welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/programming-infos-tutorials/what-credit-card-numbers-canshould-tell-us/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>International Postal Address Formats &#8211; Where to find them?</title>
		<link>http://www.neuber-web-solutions.de/programming-infos-tutorials/international-postal-address-formats-where-to-find-them</link>
		<comments>http://www.neuber-web-solutions.de/programming-infos-tutorials/international-postal-address-formats-where-to-find-them#comments</comments>
		<pubDate>Thu, 25 Jun 2009 10:49:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming infos and tutorials]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=427</guid>
		<description><![CDATA[A while ago we made a small change to one of our ecommerce scripts. Instead [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago we made a small change to one of our ecommerce scripts. Instead of nation-wide sales also international orders were now possible. This led to another challenge: postal address have different formats in different countries. Here the classic example of two Joe Doe&#8217;s, one living in the US and the other one in Germany. The different addresses would be:</p>
<p><span style="text-decoration: underline;">USA:</span></p>
<p>JOE DOE<br />
1500 E MAIN AVE STE 201<br />
SPRINGFIELD VA 22162–1010<br />
UNITED STATES OF AMERICA</p>
<p><span style="text-decoration: underline;">Germany:</span></p>
<p>Joe Doe<br />
Teststr.  1a<br />
11111 TESTSTADT<br />
GERMANY</p>
<p>If I typed the data of the second Joe Doe into the address form of my E-Commerce application fitting for US-addresses, then I would get an address like this:</p>
<p>JOE DOE<br />
1A TESTSTRASSE<br />
TESTSTADT BAYERN 11111<br />
GERMANY</p>
<p>I can assure you that this will confuse German shop owners + the German national postal delivery services (Deutsche Bundespost).</p>
<p><strong></strong></p>
<p><strong>Ok &#8211; so where can I get the information from?<br />
</strong>Happily, there exists an international organization which takes care of these issues &#8211; the UPU, Universal Postal Union.<br />
Actuall to find address formats on UPU&#8217;s own website is not so easy. I finally found a nice&amp;complete list on ZenCarts wiki pages: <a href="http://www.zen-cart.com/wiki/index.php/International_Address_Formats" target="_blank">http://www.zen-cart.com/wiki/index.php/International_Address_Formats</a><br />
This list contains all the postal address format data for any country of this world.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/programming-infos-tutorials/international-postal-address-formats-where-to-find-them/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chart Api &#8211; Create a simple pie chart</title>
		<link>http://www.neuber-web-solutions.de/programming-infos-tutorials/google-chart-api-create-a-simple-pie-chart</link>
		<comments>http://www.neuber-web-solutions.de/programming-infos-tutorials/google-chart-api-create-a-simple-pie-chart#comments</comments>
		<pubDate>Wed, 24 Jun 2009 08:03:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming infos and tutorials]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=416</guid>
		<description><![CDATA[This pie chart looks better than some dry ratio numbers, isn&#8217;t it?

The pie chart above [...]]]></description>
			<content:encoded><![CDATA[<p>This pie chart looks better than some dry ratio numbers, isn&#8217;t it?</p>
<p><img src="http://chart.apis.google.com/chart?chs=250x100&amp;chd=t:10,90&amp;cht=p3&amp;chl=Smart|Silly" alt="Sample chart" /></p>
<p>The pie chart above can be created on the fly with this simple piece of html code:</p>
<p>&lt;img src=&#8221;<a href="http://chart.apis.google.com/chart">http://chart.apis.google.com/chart</a>?<br />
chs=250&#215;100<br />
&amp;amp;chd=t:10,90<br />
&amp;amp;cht=p3<br />
&amp;amp;chl=Smart|Silly&#8221;<br />
alt=&#8221;Sample chart&#8221; /&gt;</p>
<p>Interesting here:</p>
<p>1. With <a href="http://chart.apis.google.com/chart">http://chart.apis.google.com/chart</a> you call the Google Chart Api</p>
<p>2. This alone gives us of course not yet a nice pie chart &#8211; we have to add some parameters</p>
<p>For example with <strong>&amp;amp;chd=t:10,90</strong> we get a 10% | 90% ratio of the pie chart.<br />
Means you could manipulate this ratio with some php values. The number of smart people might increase&#8230;</p>
<p>&lt;?php<br />
$silly = 5;<br />
$smart = 95;<br />
?&gt;</p>
<p>&lt;img src=&#8221;<a href="http://chart.apis.google.com/chart">http://chart.apis.google.com/chart</a>?<br />
chs=250&#215;100<br />
&amp;amp;chd=t:&lt;?= $silly ?&gt;,&lt;?= $smart ?&gt;<br />
&amp;amp;cht=p3<br />
&amp;amp;chl=Smart|Silly&#8221;<br />
alt=&#8221;Sample chart&#8221; /&gt;</p>
<p>Ideal for web statistics&#8230;</p>
<p>3. More information about cool charts with the Google Chart Api you can find here: <a href="http://code.google.com/intl/de-DE/apis/chart/types.html#pie_charts">http://code.google.com/intl/en/apis/chart/types.html#pie_charts</a></p>
<p>4. And, its also possible to highlight countries on a map</p>
<p><img src="http://chart.apis.google.com/chart?cht=t&amp;chs=440x220&amp;chd=s:9&amp;chco=,333333,&amp;chld=DE&amp;chtm=europe&amp;chf=bg,s," alt="Where is Germany?" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/programming-infos-tutorials/google-chart-api-create-a-simple-pie-chart/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How do the Germans pay online?</title>
		<link>http://www.neuber-web-solutions.de/general/how-do-the-germans-pay-online</link>
		<comments>http://www.neuber-web-solutions.de/general/how-do-the-germans-pay-online#comments</comments>
		<pubDate>Sun, 21 Jun 2009 08:28:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=336</guid>
		<description><![CDATA[Well, why think about this at all? With over 40 million visitors in April 2009 [...]]]></description>
			<content:encoded><![CDATA[<p>Well, why think about this at all? With over 40 million visitors in April 2009 Germany has the largest online audience in Europe. At present Germans spent over 43 billions USD per year for online sales.<br />
So, if you run an online shop which allows for international orders the likelyhood is great, that you will have also German shoppers.</p>
<p>According to statistics form 2008 Germans prefer to pay in webshops this way:<br />
- 31% Banktransfer in advance + on account<br />
- 18% Direct debit<br />
- 16% Collect on delivery<br />
- 15% Credit Card<br />
- 11% Internet Payment Systems like PayPal,T-Pay,Click and Buy..</p>
<p>This means in practical terms: If you offer a German customer PayPal as the only payment option, there is a risk to loose him as visitor of your ecommerce website. That would hold true also with credit card payments only. Despite high fees Germans might still pay via bank transfer.</p>
<p>&#8212;<br />
Source: BITKOM-12/2008</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/general/how-do-the-germans-pay-online/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Earning with OpenSource? The PrestaShop-Way</title>
		<link>http://www.neuber-web-solutions.de/general/earning-with-opensource-the-prestashop-way</link>
		<comments>http://www.neuber-web-solutions.de/general/earning-with-opensource-the-prestashop-way#comments</comments>
		<pubDate>Sun, 07 Jun 2009 08:01:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=308</guid>
		<description><![CDATA[Although we develop our own shopping cart solutions (for WordPress) we still observe how things [...]]]></description>
			<content:encoded><![CDATA[<p>Although we develop our own shopping cart solutions (for WordPress) we still observe how things develop with Magento and PrestaShop from France. <br />
One reason why we observe these opensource projects is also to see how the project teams manage to earn their funding.</p>
<p>So what about PrestaShop?<br />
The PrestaShop team uses at least two ways:<br />
- customization for people who ask for it<br />
- the newly opened &#8220;PrestaStore&#8221; marketplace for addons &#8211; <a href="http://www.prestastore.com/">http://www.prestastore.com/</a></p>
<p>The opening of the PrestaStore marketplace (this week) was, in our opinion, a smart move.<br />
Several websites started to offer &#8220;PrestaShop&#8221; templates &amp; modules. With the marketplace PrestaShop will manage (very likely) to keep the users where every opensource developer wants his users to be &#8211; at the original project website. Since the developement team also sells his own modules there (at the moment over 25), a steady flow of funds is assured.</p>
<p>People who place templates &amp; modules there have two advantages:<br />
- good exposure<br />
- you receive a 100% of the sales price, no commisions charged</p>
<p>So opensource developers continue to watch them because&#8230;<br />
&#8230; who doesn&#8217;t need some funding? <img src='http://www.neuber-web-solutions.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/general/earning-with-opensource-the-prestashop-way/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shopping malls with WordPress mu</title>
		<link>http://www.neuber-web-solutions.de/general/shopping-malls-with-wordpress-mu</link>
		<comments>http://www.neuber-web-solutions.de/general/shopping-malls-with-wordpress-mu#comments</comments>
		<pubDate>Sun, 24 May 2009 08:38:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=288</guid>
		<description><![CDATA[Starting this week we also offer as a new service the setup of Shopping malls [...]]]></description>
			<content:encoded><![CDATA[<p>Starting this week we also offer as a new service the setup of Shopping malls with WordPress mu.</p>
<p>WordPress mu is the multi-user version of WordPress. We consider as a genius invention.<br />
It&#8217;s possible to run a single webshop with Wordpress, therefore WordPress mu allows for multiple stores in one installation.</p>
<p>Why would you be interested in this?</p>
<ul>
<li>1. This is esp. interesting for you if you run several webshops, but you dont want to install WordPress several times.</li>
<li>2. Instead of running webshops yourself, you rent out webshops to others and earn your money like this.<br />
This could be a flat rate or a percentage of the turnover of your client stores.</li>
</ul>
<p>In other words: multiple stores can easily multiply your internet income.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/general/shopping-malls-with-wordpress-mu/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SMARTY in WordPress themes?</title>
		<link>http://www.neuber-web-solutions.de/programming-infos-tutorials/smarty-in-wordpress-templates</link>
		<comments>http://www.neuber-web-solutions.de/programming-infos-tutorials/smarty-in-wordpress-templates#comments</comments>
		<pubDate>Sun, 17 May 2009 14:00:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Programming infos and tutorials]]></category>

		<guid isPermaLink="false">http://www.neuber-web-solutions.de/?p=202</guid>
		<description><![CDATA[Inspired by an entry in Imthiaz Blog we run a couple of tests with WordPress [...]]]></description>
			<content:encoded><![CDATA[<p>Inspired by an entry in <a href="http://imthi.com/blog/programming/extending-wordpress-the-actual-power.php" target="_blank">Imthiaz Blog</a> we run a couple of tests with WordPress and Smarty. Result: Its no problem to implement Smarty templates in a WordPress theme.</p>
<p><strong>Why would you like to do this?<br />
</strong>The main reason are Smarty&#8217;s caching capabilities. It caches complete pages but it is also possible to define area&#8217;s which should not be cached &#8211; with the <a href="http://www.smarty.net/manual/en/language.function.insert.php" target="_blank">{insert} tag</a>. This ability is missing in many WP caching plugins.  And of course, maybe a developer is used to Smarty already.</p>
<p><strong>What we tried &#8211; the steps<br />
</strong>The following steps take place within the wp-content/your-theme/ folder.<strong> </strong></p>
<p><span style="text-decoration: underline;">1. Create these new directories in your theme folder</span></p>
<p>- cache/<br />
- template<br />
- template_c/<br />
- lib/smarty/</p>
<p>Give<br />
cache/<br />
template_c/<br />
a 777 chmod</p>
<p><span style="text-decoration: underline;">2. Download the Smarty package and put into the lib/smarty/directory </span></p>
<p><span style="text-decoration: underline;">3. Create an extra file smarty.php and put it into the lib/ directory</span></p>
<div style="background:white;">class wpSmarty{</div>
<p>var $tp;</p>
<p>function initTemplates(){</p>
<p>#$root = ((substr($_SERVER['DOCUMENT_ROOT'],-1)) == &#8216;/&#8217; ? substr($_SERVER['DOCUMENT_ROOT'], 0, -1) : $_SERVER['DOCUMENT_ROOT']);<br />
define(DOCROOT,((substr($_SERVER['DOCUMENT_ROOT'],-1)) == &#8216;/&#8217; ? substr($_SERVER['DOCUMENT_ROOT'], 0, -1) : $_SERVER['DOCUMENT_ROOT']));</p>
<p>define(&#8217;SMARTY_DIR&#8217;, DOCROOT . &#8216;/wp-content/themes/&#8217; . &#8216;default&#8217; . &#8216;/lib/smarty/&#8217;);<br />
require(SMARTY_DIR . &#8216;Smarty.class.php&#8217;);<br />
$this-&gt;tp = new Smarty;</p>
<p>define(FE_TEMPLATE_PATH, DOCROOT . &#8216;/wp-content/themes/&#8217; . &#8216;default&#8217; . &#8216;/templates/&#8217;.'blue/&#8217;);<br />
$this-&gt;tp-&gt;template_dir = FE_TEMPLATE_PATH;<br />
$this-&gt;tp-&gt;compile_dir = DOCROOT.&#8217;/wp-content/themes/&#8217;.'/default/templates_c/&#8217;;<br />
$this-&gt;tp-&gt;cache_dir = DOCROOT .&#8217;/wp-content/themes/&#8217; .&#8217;default/cache/&#8217;;<br />
#$this-&gt;tp-&gt;caching = false;<br />
$this-&gt;tp-&gt;caching = true;<br />
}</p>
<p>function showPage($data,$filename=&#8217;index&#8217;){<br />
$this-&gt;initTemplates();</p>
<p>foreach($data as $k =&gt; $v){<br />
$this-&gt;tp-&gt;assign($k,$v);<br />
}</p>
<p>$page = $filename.&#8217;.tpl&#8217;;<br />
$this-&gt;tp-&gt;display($page);<br />
}<br />
}</p>
<p>$mySmarty = new wpSmarty();</p>
<p> </p>
<p><span style="text-decoration: underline;">4. Link to this file and call the smarty template file</span></p>
<p>Lets say, you like to use this in your theme&#8217;s header.php:  </p>
<div style="background:white;">include &#8216;lib/smarty.php&#8217;;<br />
$data[title] = __(&#8217;Category:&#8217;,'yourTheme&#8217;). wp_title(&#8221;,false,&#8221;);<br />
$data[hello] = &#8216;Hello&#8217;;</div>
<p>$mySmarty-&gt;showPage($data,&#8217;header&#8217;);</p>
<p> </p>
<p> </p>
<p><span style="text-decoration: underline;">5. Create an header.tpl</span></p>
<div style="background: white;">&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;{$title}&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;{$hello}&lt;/body&gt;<br />
&lt;html&gt;</div>
<p> </p>
<p>Thats it.<br />
Advantage: Caching without caching plugins.<br />
Disadvantage: WordPress has nice template functions which echo things, with Smarty we need functions with return values. <br />
Here some sample code fitting for the &#8216;default&#8217; theme: <a href="http://www.neuber-web-solutions.de/wp-content/uploads/2009/05/smarty.zip">smarty.zip</a> &#8211; Improvements welcome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.neuber-web-solutions.de/programming-infos-tutorials/smarty-in-wordpress-templates/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
