Currently Browsing: PHP

Adding URL shortner to Tweet Old Post wordpress plugin

This is small tutorial showing you how to integrate new URL shortner to Tweet Old Post wordpress plugin

Make the following changes in top-admin.php file

1 – Look for the URL shortner drop down list, find the code that looks like below



2 – Once you get there, add another option tag to the list like below,


Note – In the above option replace ‘urlshortner’ with new shortner name.

Make the below changes in top-core.php file,

1 – find the function shorten_url(), and add an elseif block of new shortner api like below code,

elseif ($shortener=="urlshortner") {
		$url = "http://u.nu/unu-api-simple?url={$the_url}";
		$response = send_request($url, 'GET');
	}

Note – replace urlshortner with new shortner name, it should be same as in point 2 of top-admin.php changes. In the URL section change the API URL with your shortner API URL and pass the required parameters the above just have the URL parameter.

2 -Some API may require additional parameters like API key. So it will look somewhat like this,

elseif ($shortener=="urlshortner") {
		$url = "http://yourshortnerapiurl/api?url={$the_url}&api=xxxxxx";
		$response = send_request($url, 'GET');
	}

Note – replace urlshortner with new shortner name, it should be same as in point 2 of top-admin.php changes. In the URL section change the API URL with your shortner API URL and pass the required parameters. The above have the URL parameter and API key replace xxxxxx with your API Key value.

That’s it and you are ready to go. In case you find it difficult to implement the above code feel free to drop by a comment I’ll add it for everyone :-) and you can always drop me a mail.

tags: , , ,

MD5 Encryption in .Net and PHP

To get MD5 hash in C# use this method. It returns same value AS MD5() function in PHP

        public string GetMD5Hash(string input)
        {
            System.Security.Cryptography.MD5CryptoServiceProvider x = new System.Security.Cryptography.MD5CryptoServiceProvider();
            byte[] bs = System.Text.Encoding.UTF8.GetBytes(input);
            bs = x.ComputeHash(bs);
            System.Text.StringBuilder s = new System.Text.StringBuilder();
            foreach (byte b in bs)
            {
                s.Append(b.ToString("x2").ToLower());
            }
            string password = s.ToString();
            return password;
        }

And this one is in PHP


These both will return the same value

tags: , , , , , , ,

Debug PHP on Windows

Following are the steps to debug your PHP code using Zend Debugger on Windows machine via WAMP,

1. Download http://downloads.zend.com/pdt/server-debugger/ZendDebugger-5.2.12-cygwin_nt-i386.zip or check for new version at http://downloads.zend.com/pdt/server-debugger/

2. Locate ZendDebugger.so or ZendDebugger.dll file that is compiled for the
correct version of PHP (4.3.x, 4.4.x, 5.0.x, 5.1.x, 5.2.x) in the
appropriate directory.

Get debugger from folder called “5_2_x_comp” or you may receive some errors about a non-thread   safe debugger if you take it from “5_2_x_nts_comp”

3. Configure php.ini for output buffering when debugging

implicit_flush = On ; Default: Off
output_buffering
= Off ; Default: 4096

4. Add the following line to the php.ini file:
Linux and Mac OS X:     zend_extension=/full/path/to/ZendDebugger.so
Windows:                zend_extension_ts=/full/path/to/ZendDebugger.dll
Windows non-tread safe: zend_extension=/full/path/to/ZendDebugger.dll

(*) the windows non-thread safe is used only with Zend Core 2.0

Note:
if you don’t have a Zend section you may add this at the end of the fie.
correct the php path if it is not installed in c:\wamp\www and extension directory.

5. Add the following lines to the php.ini file:
zend_debugger.allow_hosts=<ip_addresses>
zend_debugger.expose_remotely=always

This willl allow connections from local host and from your local network to addresses which start        with 192.168.1.

6. Place dummy.php file in the document root directory.

7. Restart web(Apache/Wamp) server.

8. To activate the debugger please use following query string:
?start_debug=1&debug_port=10000&debug_fastfile=1&debug_host=192.168.1.59%2C127.0.0.1

Note:
above statement assumes that the debugger listens at 192.168.0.2 or 127.0.0.1 on port 10000.

Here are some of the screen shots from my debugger,

Breakpoint in Zend

Breakpoint in Zend

This is watch window in Zend which will show the values of the variables, you need to add the variable to the watch window to view its values.

Watch Window in Zend

Watch Window in Zend

This is the output window that shows the output generated by the code executed till now,

Output Window in Zend

Output Window in Zend

Hope this helps :-)

tags: , , , , , , ,