How to Remove LiveZilla’s Footer/Credits

If you’re like me footers with forced credits aren’t cool, although sometimes someones work deserves credit it can ruin a visitors perspective who is expecting a brand.
In this quick tutorial I will show you how to remove all the LiveZilla Credits from the UI so visitors will never know your are using an open source support client. This can be achieved by following 2 simple steps:

  • edit the carrier_logo.gif image to represent you company’s brand/logo.
  • change footer code that shows LiveZilla Credits

If you haven’t already figured out to install the livezilla server files in a folder called live_chat or live_support. Do it now, its SEO friendly :)

Once you have installed your server files make sure they are located one level up of your root directory (root:/live_chat/) this will make everything look more professional in the long run.

Once the steps above have been completed locate the file named lz_chat_frame.4.1.tpl this file should be located at:

root:/live_chat/templates/frames/

once located the file should look similar to this:

lz_chat_frame.4.1.tpl
[cc=”html”]

 

[/cc]
Remove Line 13 so it looks like the source below.

Updated lz_chat_frame.4.1.tpl
[cc=”html”]

 

[/cc]

Thats it! Kiss the footer and the breadcrumb’s root gone!

 

I have updated this tutorial for version 3.3.2.2 (last open source version) at the following post /how-to-remove-livezillas-footercredits-from-version-3-3-2-2/

Adding Live Chat/Support To Your Website for Free!

If you are like me and have to have the latest technologies on your clients sites then I am sure you have come to the Live Support Services quarrel. Keeping in mind that clients don’t have thousands of dollars to build a proprietary solution its was clear that open source was the way to go. After hours of searching and testing various open source clients/software one stood out more then the rest, LiveZilla (http://www.livezilla.net/home/en/). This software is one of the most complete open source Live Support packages available to the public for free. The bundled software included both server side and client side applications which eliminates agents from having to be logged into the sites control panel. Providing an Instant Messenger Interface that seamlessly connects the site’s support function to the agents desktop. LiveZilla not only provides real time live support but also live tracking and logging, keeping all visitors, conversations and documents stored in a local database. LiveZilla also has visitor Geo-location by using Google’s IP Location API (upgrade). If your company is looking for a quick and professional Live Support Solution you might want to take a look at the software. The source code is provided and with an experienced PHP/MYSQL programmer it can be infinitely customized to reflect your clients standards.

If you are serious about Live Support try it.

In the next post I will be covering how to remove LiveZilla logos, text, and footer copyright information from your chat window to make your live support services look more professional to visitors.

Removing Login Fields From Justin Kliens WP-Facebook-Autoconnect

First of all I would like to say thanks to Justin for the plugin, it saved me some time :)
You can find his easy to use plugin at his personal blog site: http://www.justin-klein.com/projects/wp-fb-autoconnect/

This modification will work with Version 1.3.10

After about half an hour I was able to find the code that was causing a second duplicate login and password field. I am sure Justin was thinking ahead with the login fields but in some cases it actually interferes with the blog design/UI. The other problem was the welcome and edit profile links once logged in.

The block of code is found in 2 sections within Widget.php

The First NULLED section will remove the Welcome and Edit profile links once a user is logged in.
The Second NULLED section of code will remove the login fields.

Widget.php
Note: you can copy and past this entire code onto your Widget.php file to update it or download the file directly from the link at the bottom of this post.
[cc lang=”php”]
WP_Widget( false, “WP-FB AutoConnect”, array( ‘description’ => ‘A sidebar Login/Logout form with Facebook Connect button’ ) );

}

//////////////////////////////////////////////////////

//Output the widget’s content.

function widget( $args, $instance )

{

//Get args and output the title

extract( $args );

echo $before_widget;

$title = apply_filters(‘widget_title’, $instance[‘title’]);

if( $title ) echo $before_title . $title . $after_title;

//If logged in, show “Welcome, User!”

$userdata = wp_get_current_user();

if( $userdata->ID ):

?>


########################################################################
########################################################################
########################################################################

NULLED TO PREVENT THE WELCOME MESSAGE ONCE THE USE IS LOGGED IN–>

display_name?>!

|

## END OF NULL <-- */?>

/wp-login.php’ method=’post’>

“;?>

‘>

##END OF NULL <-- */?>

If this too much code for you and you just want the login fields gone download the following files and replace the ones in your x:/wp-content/plugins/wp-fb-autoconnect folder.

Download Files

Automatic Image Randomization/Rotation Using PHP

Ok here you go, This script simply takes your images inside a chosen folder and then loads a random picture inside that folder.
If you have any questions just Holla at me!

[cc lang=”php”]

5. You can also specify the image to display like this:

This would specify that an image named “gorilla.jpg” located
in the image-rotation folder should be displayed.

That’s it, you’re done.

*/

/* ————————- CONFIGURATION ———————–

Set $folder to the full path to the location of your images.
For example: $folder = ‘/user/me/example.com/images/’;
If the rotate.php file will be in the same folder as your
images then you should leave it set to $folder = ‘.’;

*/

$folder = ‘.’;

/*

Most users can safely ignore this part. If you’re a programmer,
keep reading, if not, you’re done. Go get some coffee, smoke a cig or
do your thang.

If you’d like to enable additional image types other than
gif, jpg, and png, add a duplicate line to the section below
for the new image type.

Add the new file-type, single-quoted, inside brackets.

Add the mime-type to be sent to the browser, also single-quoted,
after the equal sign.

For example:

PDF Files:

$extList[‘pdf’] = ‘application/pdf’;

CSS Files:

$extList[‘css’] = ‘text/css’;

You can even serve up random HTML files:

$extList[‘html’] = ‘text/html’;
$extList[‘htm’] = ‘text/html’;

Just be sure your mime-type definition is correct!

*/

$extList = array();
$extList[‘gif’] = ‘image/gif’;
$extList[‘jpg’] = ‘image/jpeg’;
$extList[‘jpeg’] = ‘image/jpeg’;
$extList[‘png’] = ‘image/png’;

// You don’t need to edit anything after this point.

// ——————— END CONFIGURATION ———————–

$img = null;

if (substr($folder,-1) != ‘/’) {
$folder = $folder.’/’;
}

if (isset($_GET[‘img’])) {
$imageInfo = pathinfo($_GET[‘img’]);
if (
isset( $extList[ strtolower( $imageInfo[‘extension’] ) ] ) &&
file_exists( $folder.$imageInfo[‘basename’] )
) {
$img = $folder.$imageInfo[‘basename’];
}
} else {
$fileList = array();
$handle = opendir($folder);
while ( false !== ( $file = readdir($handle) ) ) {
$file_info = pathinfo($file);
if (
isset( $extList[ strtolower( $file_info[‘extension’] ) ] )
) {
$fileList[] = $file;
}
}
closedir($handle);

if (count($fileList) > 0) {
$imageNumber = time() % count($fileList);
$img = $folder.$fileList[$imageNumber];
}
}

if ($img!=null) {
$imageInfo = pathinfo($img);
$contentType = ‘Content-type: ‘.$extList[ $imageInfo[‘extension’] ];
header ($contentType);
readfile($img);
} else {
if ( function_exists(‘imagecreate’) ) {
header (“Content-type: image/png”);
$im = @imagecreate (100, 100)
or die (“Cannot initialize new GD image stream”);
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0,0,0);
imagestring ($im, 2, 5, 5, “IMAGE ERROR”, $text_color);
imagepng ($im);
imagedestroy($im);
}
}

?>

[/cc]

Using PHP to add security with IP filtration/blacklisting.

I remember having issues with an old company I use to work for, always checking my blogs and social profiles trying to get information about what I was currently doing kinda pathetic but true. This of course was due to there paranoia of me retaliating to their unlawful termination, but thats is entirely a new blog post. I thought I would create a security system to protect my personal information and make it a lot more difficult to coordinate the gathering of information.

Traditional methods would say create a login system and set user roles and view access controls but this alone would not be enough. I needed further security that would detect a connections address and then log it. I then would need to create a algorithm that would predict redirects anonymizers and proxies, and then cross refrencing access the logs.

This of course is a very complex way of filtering traffic from your site but one that works.

The following PHP script will detect the IP of a guest and return its value, compares the value’s and then either loads the page if the IP is not on the black list or silently forwards to the site of your choice.
[cc lang=”php”]
// By Miguel Angel Vallejo www.miguelvallejo.com
// This script is Open Source so please use it if you wish. Enjoy! ^_^
// Si nececitas ayuda porfovor dejame un mensaje a mi coreo electronica miguel@miguelvallejo.com

//Lets declare the emtpy variable now.
var public $ip_address = ”;

//Lets create a function called ip_filter() to process our check.
function ip_filter()
{
//This part of the code checks to see if the IP is a Fake
if (getenv(HTTP_X_FORWARDED_FOR)) {
$ip_address = getenv(HTTP_X_FORWARDED_FOR);
} else {
// At this point it has detected that the Ip is masked and it requesting the real IP and storing in inside the variable $ip_address.
$ip_address = getenv(REMOTE_ADDR);
// This is the variable that will store the banned IP address
var private $blacklist = ‘127.0.0.1’;
// Now lets compare the values
if ($ip_address == $blacklist)
{
// if the ip is the same as the blacklisted ip forward the user to:http://www.google.com
header(‘Location:http://www.google.com’);
} else {
return;
}
}
}
[/cc]
Now Lets try something a little more realistic, instead of a single value to compare lets create an array that houses our banned ips, then compare the ip with all values within the array.
[cc lang=”php”]
//IP Detection Script — >
// By Miguel Angel Vallejo www.miguelvallejo.com
// This script is Open Source so please use it if you wish. Enjoy! ^_^
// Si nececitas ayuda porfovor dejame un mensaje a mi coreo electronica miguel@miguelvallejo.com

//Lets declare the emtpy variable now.
var public $ip_address = ”;

//Lets create a function called ip_filter() to process our check.
function ip_filter()
{
//This part of the code checks to see if the IP is a Fake
if (getenv(HTTP_X_FORWARDED_FOR)) {
$ip_address = getenv(HTTP_X_FORWARDED_FOR);
} else {
// At this point it has detected that the Ip is masked and it requesting the real IP and storing in inside the variable $ip_address.
$ip_address = getenv(REMOTE_ADDR);
// This is an array that will store the banned IP addresses
var private $blacklist = array(‘127.0.0.1′,’127.0.0.2’);
// Now lets compare the values, for each value in $blacklist[]
foreach ($blacklist as $value)
{
if($ip_address == $value)
{
header(‘Location:http://www.bing.com’);

}else{
return;
}
}
}
// Initialize the function.
ip_filter();
// load the page default as the security check has cleared as guest not on the banned list.
include(‘default.php’);
[/cc]
Ideally you would place and call the function at the beginning of each page/template which would prevent guests from trying to avoid the check.

If you wanted to take this script further you could tie it to your database where it connects and retrieves the blacklist making things much easier to update with a GUI in the future.
In the next tutorial we will cover taking the IP, time, amount of times and then writing those values into a table in your MySQL database.

If you have any questions please leave them.