Compdigitec Labs

PHP

Allowing shorter passwords in AutoIndex

Thursday, October 30th, 2008

If you’ve ever found AutoIndex PHP Script’s password valiator’s resrictions on a long password annoying, you’re not alone. Fortunately, we have found a workaround for it.
Steps

Download the AutoIndex script.
Extract the archive and open classes/Admin.php
Find the line that says “private static function validate_new_password($pass1, $pass2)“.
Move further down to the line that says “if (strlen($pass1) < ” and:
Change [...]

SimpleXML – solution for XML manipulation in PHP

Sunday, September 7th, 2008

If you ever do get the need to manipulate (read/write) XML, you could try using the PHP DOM API, but it’s very difficult to use the DOM. An good extension-less way to access and manipulate XML instead is SimpleXML. It’s very easy to use compared to DOM and features a easy way to access attributes [...]

12 things you need to know about PHP

Tuesday, September 2nd, 2008

Are you still thinking that PHP is an web-only language or is “not a real language”? Well, that used to be true with PHP 2.0, but with PHP5, it’s not so true anymore. Here are 12 things you need to know about PHP:

PHP is not only for the web. PHP used to be only a [...]

DOMNodeList as an Array

Sunday, August 31st, 2008

When using getElementsByTagName, it returns a DOMNodeList which you can use with foreach, but you can’t use array indexes to access elements.
For example, you can use the following code to the contents of the first “test” tag:

<?php
$file = ‘z.xml’;
$xmlfile = new DOMDocument();
@$xmlfile->load($file);
$iplist = $xmlfile->getElementsByTagName(‘test’);
$i = 0;
foreach($iplist as $v) {
if($i == 0) {
var_dump($v->nodeValue);
}
$i++;
}
?>
Use this as z.xml:
<?xml version=”1.0″ ?><test>Testing: hello, [...]

The “Gtk-CRITICAL gtk_text_buffer_emit_insert assertion” warning in PHP-GTK2

Saturday, August 30th, 2008

If your internationalized PHP-GTK2 apps have ever failed to work, you probably received the following message in the terminal before:
Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)’ failed
This means that you have been using or passing non-UTF8 (good chance that it is CP1252 on Windows) strings to PHP-GTK2 classes and methods, such as GtkWindow, GtkLabel [...]

Changing the user agent of PHP

Wednesday, August 20th, 2008

If you ever need to adjust or change the default user agent that PHP accesses pages with (http and ftp wrappers) because either the default PHP user agent was blocked (“PHP”) or you wrote a bot with PHP and wish to customize it, you can do so easily with a php directive called “user_agent”. Note [...]

Using UTF-8 in PHP-GTK2

Monday, August 18th, 2008

When trying to use a string that has characters that are non-English (Asian and middle east characters) or characters that have accents for PHP-GTK’s widgets, you may possibly encounter a situation like the image to the right.
This bug or glitch is caused by the fact that you are trying to use a regional encoding for [...]

Changing the application name of a GtkAboutDialog in PHP-GTK2

Sunday, August 17th, 2008

For those of you who have never heard of it, a GtkAboutDialog is a convience GtkDialog to display application credits. However, the documentation (archive at 2008-08-17) for it does not specify a way to change the application’s name, and as a result ends up using the script name for the application, which is very ugly [...]

Stopping the “PHP Fatal error: Internal object missing in” error in PHP-GTK2

Saturday, August 16th, 2008

In PHP-GTK2, if you build your own class of an existing PHP-GTK2 class, you may encounter one of the following errors:

“PHP Fatal error:  Internal object missing in YourclassName wrapper in /path/to/your/script on line *”
“Fatal error: Internal object missing in YourclassName wrapper in /path/to/your/script on line *”

This is somehow (not documented) caused by not calling parent::__construct(), [...]

Embeder – a free PHP to EXE solution

Friday, August 15th, 2008

If you’re looking for a PHP to EXE solution that supports PHP5, Embeder is one rarely mentioned application that will convert your PHP applications into a Windows executable file, although it will only work with PHP 5.0.3. Below are the steps to set it up on your system. (Will run under Linux with Wine, too.)

Download [...]

« Previous Entries Next Entries »