<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2637718582251605083</id><updated>2012-02-16T04:43:28.213-08:00</updated><title type='text'>PHP Authorization</title><subtitle type='html'>by &lt;a href="http://www.binarysolutions.biz"&gt;Binary Solutions&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2637718582251605083.post-9150950270429934549</id><published>2009-06-16T16:15:00.000-07:00</published><updated>2009-07-06T08:18:10.625-07:00</updated><title type='text'>Version 1.0 released</title><content type='html'>We are happy to announce that PHP Authorization 1.0 is out in the market! You can buy it &lt;a href="https://www.plimus.com/jsp/buynow.jsp?contractId=2402386"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2637718582251605083-9150950270429934549?l=www.phpauthorization.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/9150950270429934549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2637718582251605083&amp;postID=9150950270429934549&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/9150950270429934549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/9150950270429934549'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/2009/06/version-10-released.html' title='Version 1.0 released'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637718582251605083.post-8721535389560633036</id><published>2009-06-15T05:16:00.000-07:00</published><updated>2009-06-27T14:11:31.398-07:00</updated><title type='text'>License</title><content type='html'>&lt;p&gt;This License Agreement affects all files in the original distribution package except those in 'client' and 'ezpdo' folders.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;(C) 2009, Binary Solutions&lt;/p&gt;&lt;p&gt;&lt;br /&gt;END USER LICENSE AGREEMENT&lt;br /&gt;Software License Agreement for PHP Authorization&lt;/p&gt;&lt;p&gt;&lt;br /&gt;IMPORTANT- PLEASE READ CAREFULLY: BY INSTALLING THE SOFTWARE (AS DEFINED BELOW) AND/OR COPYING THE SOFTWARE, YOU (EITHER ON BEHALF OF YOURSELF AS AN INDIVIDUAL OR ON BEHALF OF AN ENTITY AS ITS AUTHORIZED REPRESENTATIVE) AGREE TO ALL OF THE TERMS OF THIS END USER LICENSE AGREEMENT ('AGREEMENT') REGARDING YOUR USE OF THE SOFTWARE. IF YOU DO NOT AGREE WITH ALL OF THE TERMS OF THIS AGREEMENT, YOU MUST REMOVE AND DESTROY ALL COPIES OF THE SOFTWARE.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;1. GRANT OF LICENSE: Subject to the terms below, Binary Solutions hereby grants you a non-exclusive, non-transferable license to install and to use PHP Authorization ('Software').&lt;br /&gt;Under this license, you may: (i) install and use the Software on a single computer for your personal, internal use (ii) copy the Software for back-up or archival purposes. (iii)You may not distribute the software to others without first obtaining the required licenses, where applicable.&lt;br /&gt;Whether you are licensing the Software as an individual or on behalf of an entity, you may not: (i) modify, or create derivative works based upon, the Software in whole or in part without the express written consent of Binary Solutions; (ii) distribute copies of the Software; (iii) remove any proprietary notices or labels on the Software; (iv) resell, lease, rent, transfer, sublicense, or otherwise transfer rights to the Software.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;2. PHP Authorization: You acknowledge that no title to the intellectual property in the Software is transferred to you. Title, ownership, rights, and intellectual property rights in and to the Software shall remain that of Binary Solutions. The Software is protected by copyright.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;3. DISCLAIMER OF WARRANTY:&lt;br /&gt;YOU AGREE THAT Binary Solutions HAS MADE NO EXPRESS WARRANTIES, ORAL OR WRITTEN, TO YOU REGARDING THE PRODUCTS AND THAT THE PRODUCTS ARE BEING PROVIDED TO YOU 'AS IS' WITHOUT WARRANTY OF ANY KIND. Binary Solutions DISCLAIMS ANY AND ALL OTHER WARRANTIES, WHETHER EXPRESSED, IMPLIED, OR STATUTORY. YOUR RIGHTS MAY VARY DEPENDING ON THE STATE IN WHICH YOU LIVE. Binary Solutions SHALL NOT BE LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, COVER, RELIANCE, OR CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OF THIS PRODUCT.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;4. LIMITATION OF LIABILITY: You use this program solely at your own risk. IN NO EVENT SHALL Binary Solutions BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO ANY LOSS, OR OTHER INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND ARISING OUT OF THE USE OF THE SOFTWARE, EVEN IF Binary Solutions HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL Binary Solutions BE LIABLE FOR ANY CLAIM, WHETHER IN CONTRACT, TORT, OR ANY OTHER THEORY OF LIABILITY, EXCEED THE COST OF THE SOFTWARE. THIS LIMITATION SHALL APPLY TO CLAIMS OF PERSONAL INJURY TO THE EXTENT PERMITTED BY LAW.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;5. TERMINATION: This Agreement shall terminate automatically if you fail to comply with the limitations described in this Agreement. No notice shall be required to effectuate such termination. Upon termination, you must remove and destroy all copies of the Software.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;br /&gt;6. MISCELLANEOUS:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Severability.&lt;br /&gt;In the event of invalidity of any provision of this Agreement, the parties agree that such invalidity shall not affect the validity of the remaining portions of this Agreement.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Entire Agreement.&lt;br /&gt;You agree that this is the entire agreement between you and Binary Solutions, which supersedes any prior agreement, whether written or oral, and all other communications between Binary Solutions and you relating to the subject matter of this Agreement.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Reservation of rights.&lt;br /&gt;All rights not expressly granted in this Agreement are reserved by Binary Solutions.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2637718582251605083-8721535389560633036?l=www.phpauthorization.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/8721535389560633036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2637718582251605083&amp;postID=8721535389560633036&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/8721535389560633036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/8721535389560633036'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/2009/06/license.html' title='License'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637718582251605083.post-4052184117769928795</id><published>2009-06-14T13:18:00.000-07:00</published><updated>2009-06-27T14:11:44.451-07:00</updated><title type='text'>Usage examples</title><content type='html'>Integrating PHP Authorizer to your web service or web page is simple as adding the following block of code:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;$credit = &lt;span style="color:#ff6600;"&gt;1&lt;/span&gt;;&lt;br /&gt;&lt;span style="color:#000099;"&gt;if&lt;/span&gt; &lt;span style="color:#663366;"&gt;(&lt;/span&gt;AuthorizerClient::hasCredit&lt;span style="color:#663366;"&gt;(&lt;/span&gt;&lt;span style="color:#666666;"&gt;"MyService"&lt;/span&gt;, &lt;span style="color:#666666;"&gt;"MyKey"&lt;/span&gt;, $credit&lt;span style="color:#663366;"&gt;))&lt;/span&gt; &lt;span style="color:#663366;"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-family:courier new;color:#009900;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// visitor is authorized to use the service&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#663366;"&gt;}&lt;/span&gt; &lt;span style="color:#000099;"&gt;else&lt;/span&gt; &lt;span style="color:#663366;"&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span style="color:#009900;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// visitor is not authorized to use the service&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#663366;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Example 1: limit the number of your website requests to 30 per IP address per day&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;First you need to enter default values (service name, maximum number of requests and number of days after which the counters are reset) in SQL table named &lt;span style="font-family:courier new;"&gt;ServiceDefaults&lt;/span&gt;. For this example, the following SQL statement does the right thing:&lt;br /&gt;&lt;p style="PADDING-LEFT: 30px"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;INSERT INTO&lt;/span&gt; database_name.ServiceDefaults &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000000;"&gt;&lt;span style="color:#000099;"&gt;VALUES&lt;/span&gt; (&lt;span style="color:#000099;"&gt;NULL&lt;/span&gt;, &lt;span style="color:#666666;"&gt;'MySite'&lt;/span&gt;, &lt;span style="color:#ff6600;"&gt;30&lt;/span&gt;, &lt;span style="color:#ff6600;"&gt;1&lt;/span&gt;);&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;Next, you need to customize &lt;span style="font-family:courier new;"&gt;./client/class/AuthorizerClient.class.php&lt;/span&gt; file. In line 51 replace default URL with the URL containing your hostname and path to PHP Authorization web service. Keep the trailing slash and question mark.&lt;br /&gt;&lt;br /&gt;After this, run &lt;span style="font-family:courier new;"&gt;./client/example1.php&lt;/span&gt; script. If you have set up everything correctly, you should see the message &lt;em&gt;'You can use the web site!'&lt;/em&gt;. If you open &lt;span style="font-family:courier new;"&gt;ClientData&lt;/span&gt; table you will notice that it looks like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;service&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;address&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;used&lt;/strong&gt;&lt;strong&gt;Credit&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;maxCredit&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;expireInDays&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;timestamp&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;MySite&lt;/td&gt;&lt;td&gt;127.0.0.1&lt;/td&gt;&lt;td&gt;default&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1245149253&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br /&gt;If you re-run the script you will notice that &lt;span style="font-family:courier new;"&gt;usedCredit&lt;/span&gt; is increased by one, etc. After you have used up the limit that you have set, error message will appear.&lt;br /&gt;&lt;br /&gt;Basically, &lt;span style="font-family:courier new;"&gt;AuthorizerClient.class.php&lt;/span&gt; file and code snippet from &lt;span style="font-family:courier new;"&gt;example1.php&lt;/span&gt; is all that you need to integrate in your web site to use PHP Authorization service. Each visit to your web site from different IP address will have it's own entry in &lt;span style="font-family:courier new;"&gt;ClientData&lt;/span&gt; table and thus own request counters.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Example 2: set the fixed number of your web service requests for particular customer&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;In this case we don't set any entries in &lt;span style="font-family:courier new;"&gt;ServiceDefaults&lt;/span&gt; table. We have a particular customer that has subscribed to particular web service for a particular number of requests, so we set everything in &lt;span style="font-family:courier new;"&gt;ClientData&lt;/span&gt; table. For this example we will use the following SQL statement:&lt;br /&gt;&lt;p style="PADDING-LEFT: 30px"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;INSERT INTO&lt;/span&gt; database_name.ClientData &lt;span style="color:#000099;"&gt;VALUES&lt;/span&gt; (&lt;br /&gt;&lt;span style="color:#000099;"&gt;NULL&lt;/span&gt;, &lt;span style="color:#666666;"&gt;'MyService'&lt;/span&gt;, &lt;span style="color:#666666;"&gt;'*'&lt;/span&gt;, &lt;span style="color:#666666;"&gt;'SecretKey'&lt;/span&gt;, &lt;span style="color:#ff6600;"&gt;0&lt;/span&gt;, &lt;span style="color:#ff6600;"&gt;1000&lt;/span&gt;, &lt;span style="color:#ff6600;"&gt;0&lt;/span&gt;, &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;UNIX_TIMESTAMP(NOW( )));&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;Basically, we have allowed customer to use the service named &lt;span style="font-family:courier new;"&gt;MyService&lt;/span&gt; from any IP address, using &lt;span style="font-family:courier new;"&gt;SecretKey&lt;/span&gt; as authentication string. User has currently made 0 out of 1000 allowed requests and there is no time constraint for usage of this web service. The last parameter &lt;span style="font-family:courier new;"&gt;timestamp&lt;/span&gt; is mandatory, so we set it to be the time of creation of this entry.&lt;br /&gt;&lt;br /&gt;After this, run the &lt;span style="font-family:courier new;"&gt;./client/example2.php&lt;/span&gt; script. If you check the &lt;span style="font-family:courier new;"&gt;ClientData&lt;/span&gt; table now it will look like:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;table border="1"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;ID&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;service&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;address&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;key&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;used&lt;/strong&gt;&lt;strong&gt;Credit&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;maxCredit&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;expireInDays&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;strong&gt;timestamp&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;MySite&lt;/td&gt;&lt;td&gt;127.0.0.1&lt;/td&gt;&lt;td&gt;default&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;30&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1245149253&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;MyService&lt;/td&gt;&lt;td&gt;*&lt;/td&gt;&lt;td&gt;SecretKey&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;td&gt;1000&lt;/td&gt;&lt;td&gt;0&lt;/td&gt;&lt;td&gt;1245169132&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;br /&gt;So again, &lt;span style="font-family:courier new;"&gt;AuthorizerClient.class.php&lt;/span&gt; file and code snippet from &lt;span style="font-family:courier new;"&gt;example2.php&lt;/span&gt; is all that you need to integrate in your web service to use PHP Authorization. Each customer will be identified by it's own key and each customer will have it's own counter incremented on each request that he makes.  &lt;br /&gt;&lt;br /&gt;A final note on some special values ... obviously if &lt;span style="font-family:courier new;"&gt;expireInDays&lt;/span&gt; is set to 0, counters do not expire. If &lt;span style="font-family:courier new;"&gt;maxCredit&lt;/span&gt; is set to 0, user is blocked from making requests. However, if it is set to negative value - user has unlimited number of requests available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2637718582251605083-4052184117769928795?l=www.phpauthorization.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/4052184117769928795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2637718582251605083&amp;postID=4052184117769928795&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/4052184117769928795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/4052184117769928795'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/2009/06/usage-examples.html' title='Usage examples'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637718582251605083.post-906872706025526622</id><published>2009-06-14T07:29:00.000-07:00</published><updated>2009-06-27T14:11:55.691-07:00</updated><title type='text'>Installation instructions</title><content type='html'>Step by step instructions:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1. Extract the zip file&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2. Set database connection parameters&lt;/strong&gt;&lt;br /&gt;&lt;p style="PADDING-LEFT: 30px"&gt;PHP Authorization service uses database to store data. All most frequently used databases are supported (MySQL, PostgreSQL, SQLite). Database is not accessed directly but through &lt;a href="http://ezpdo.net/" _target="blank"&gt;EZPDO&lt;/a&gt;, lightweight data persistence library that comes with the product. It is not necessary for you to know anything about the mentioned library, you just need to edit the following two configuration files:&lt;/p&gt;&lt;p style="PADDING-LEFT: 60px"&gt;&lt;span style="font-family:courier new;"&gt;./config.xml&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;./tools/config.xml&lt;/span&gt;&lt;/p&gt;&lt;p style="PADDING-LEFT: 30px"&gt;In both files look for &lt;span style="font-family:courier new;"&gt;&amp;lt;default_dsn&amp;gt;&lt;/span&gt; tags and uncomment the one depending on the database type that you use. Put the right username, password and database name in connection string. Please note that the database already has to be created and user has to be given the right credentials, including the one necessary for table creation. The following MySQL statements might be helpful in that task:&lt;/p&gt;&lt;p style="PADDING-LEFT: 30px"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;CREATE&lt;/span&gt; DATABASE databasename &lt;span style="color:#000099;"&gt;DEFAULT CHARACTER SET&lt;/span&gt; utf8 &lt;span style="color:#000099;"&gt;COLLATE&lt;/span&gt; utf8_unicode_ci;&lt;/span&gt;&lt;/p&gt;&lt;p style="PADDING-LEFT: 30px"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;GRANT SELECT&lt;/span&gt;, &lt;span style="color:#000099;"&gt;INSERT&lt;/span&gt;, &lt;span style="color:#000099;"&gt;UPDATE&lt;/span&gt;, &lt;span style="color:#000099;"&gt;DELETE&lt;/span&gt;, &lt;span style="color:#000099;"&gt;CREATE&lt;/span&gt;, &lt;span style="color:#000099;"&gt;INDEX ON&lt;/span&gt; databasename . * &lt;span style="color:#000099;"&gt;TO&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#666666;"&gt;'username'&lt;/span&gt;@&lt;span style="color:#666666;"&gt;'localhost'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="PADDING-LEFT: 30px"&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#000099;"&gt;SET&lt;/span&gt; PASSWORD &lt;span style="color:#000099;"&gt;FOR&lt;/span&gt; &lt;span style="color:#666666;"&gt;'username'&lt;/span&gt;@&lt;span style="color:#666666;"&gt;'localhost'&lt;/span&gt;=PASSWORD&lt;span style="color:#000099;"&gt;(&lt;/span&gt;&lt;span style="color:#666666;"&gt;'password'&lt;/span&gt;&lt;span style="color:#000099;"&gt;)&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="PADDING-LEFT: 30px"&gt;Syntax might differ slightly if you are using database other than MySQL.&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;3. Call &lt;span style="font-family:courier new;"&gt;_buildTables.php&lt;/span&gt; script&lt;/strong&gt;&lt;br /&gt;&lt;p style="PADDING-LEFT: 30px"&gt;If you have set everything from the previous step correctly, this script will create two tables named &lt;span style="font-family:courier new;"&gt;ClientData&lt;/span&gt; and &lt;span style="font-family:courier new;"&gt;ServiceDefaults&lt;/span&gt;. Also in local file system, folder &lt;span style="font-family:courier new;"&gt;compiled&lt;/span&gt; and file &lt;span style="font-family:courier new;"&gt;ezpdo.log&lt;/span&gt; will be created. After you are done with this step, you can delete &lt;span style="font-family:courier new;"&gt;_buildTables.php&lt;/span&gt; script.&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;4. Set up cron to run &lt;span style="font-family:courier new;"&gt;./tools/removeExpiredClients.php&lt;/span&gt; once a day&lt;/strong&gt;&lt;br /&gt;&lt;p style="PADDING-LEFT: 30px"&gt;Instructions for this step are different on each hosting environment. If you don't know how to set up scheduler to run the script in regular intervals, the best would be to ask your hosting provider for help.&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;That should be it!&lt;/strong&gt; For further instructions take a look at the usage &lt;a href="/2009/06/usage-examples.html"&gt;examples&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2637718582251605083-906872706025526622?l=www.phpauthorization.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/906872706025526622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2637718582251605083&amp;postID=906872706025526622&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/906872706025526622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/906872706025526622'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/2009/06/installation-instructions.html' title='Installation instructions'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637718582251605083.post-4641039609541876264</id><published>2009-06-14T06:54:00.000-07:00</published><updated>2009-06-27T14:12:06.610-07:00</updated><title type='text'>About Us</title><content type='html'>&lt;span&gt;PHP Authorization is a product of &lt;a href="http://www.binarysolutions.biz" target="_blank"&gt;Binary Solutions&lt;/a&gt;, software development company based in Split, Croatia.&lt;br /&gt;&lt;br /&gt;Company is specialized in web application development and consulting.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2637718582251605083-4641039609541876264?l=www.phpauthorization.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/4641039609541876264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2637718582251605083&amp;postID=4641039609541876264&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/4641039609541876264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/4641039609541876264'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/2009/06/about-us.html' title='About Us'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2637718582251605083.post-3078707779982875095</id><published>2009-06-14T06:53:00.000-07:00</published><updated>2009-06-27T14:12:16.809-07:00</updated><title type='text'>Contact</title><content type='html'>&lt;table&gt;&lt;tr&gt;&lt;td&gt;Sales:&lt;/td&gt;&lt;td&gt;&lt;a href="mailto:sales@binarysolutions.biz"&gt;sales@binarysolutions.biz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Support:&lt;/td&gt;&lt;td&gt;&lt;a href="mailto:support@binarysolutions.biz"&gt;support@binarysolutions.biz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;General:&lt;/td&gt;&lt;td&gt;&lt;a href="mailto:info@binarysolutions.biz"&gt;info@binarysolutions.biz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&amp;nbsp;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Web:&lt;/td&gt;&lt;td&gt;&lt;a href="http://www.binarysolutions.biz" target="_blank"&gt;http://www.binarysolutions.biz&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Phone:&lt;/td&gt;&lt;td&gt;+385 98 910 2031&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Skype:&lt;/td&gt;&lt;td&gt;&lt;script src="http://download.skype.com/share/skypebuttons/js/skypeCheck.js" type="text/javascript"&gt;&lt;/script&gt;&lt;a href="skype:binarysolutions.biz?call"&gt;&lt;img style="border: none;" src="http://mystatus.skype.com/smallclassic/binarysolutions.biz" alt="My status" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Address:&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Binarna Rješenja&lt;/td&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Bilanova 2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;21000 Split&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;Croatia&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2637718582251605083-3078707779982875095?l=www.phpauthorization.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.phpauthorization.com/feeds/3078707779982875095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2637718582251605083&amp;postID=3078707779982875095&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/3078707779982875095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2637718582251605083/posts/default/3078707779982875095'/><link rel='alternate' type='text/html' href='http://www.phpauthorization.com/2009/06/contact.html' title='Contact'/><author><name>Binary Solutions</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
