PHP Classes
Icontem

File: LinkExchange.class.php


  Search   All class groups All class groups   Latest entries Latest entries   Top 10 charts Top 10 charts   Newsletter Newsletter   Blog Blog   Forums Forums   Help FAQ Help FAQ  
  Login   Register  
Recommend this page to a friend! ReTweet ReTweet Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Denys Matuzenko  >  Simple Link Exchange  >  LinkExchange.class.php  
File: LinkExchange.class.php
Role: Class source
Content type: text/plain
Description: Class file
Class: Simple Link Exchange
Manage page links exchanged between multiple sites
 

Contents

Class file image Download
<?php
/*******************************************************************************
 *                      PHP Simple Links Exchange Class
 *******************************************************************************
 *      Author:     Denys Matuzenko
 *      Email:      info (_at_) brutka.com
 *      Website:    http://www.brutka.com
 *                  http://www.matuzenko.com
 
 *      File:       LinkExchange.class.php
 *      Version:    1.00
 *      Copyright:  (c) 2006 - Denys Matuzenko 
 *                  You are free to use, distribute, and modify this software 
 *                  under the terms of the GNU General Public License.  See the
 *                  included license.txt file.
 *      
 *******************************************************************************
 *  VERION HISTORY:
 *  
 *      v1.0.0 [08.04.2006] - Initial Version
 *
 *******************************************************************************
 
 *  DESCRIPTION:
 *  This class provides simple mechanism of managing links exchnage with your site
 *  including adding new links, updating and deleting existing and allowing you 
 *    to check if the backlink to your site is present on target web page.
 *    Class was created for own use, if you have thoughts how to improve it 
 *    I can do this free of charge and send you improved class.
 */
 
 
define ("DB_USER""");
define ("DB_PASS""");
define ("DB_NAME""");
define ("DB_HOST""localhost");
define ("MY_URL""http://www.YOURDOMAIN.com");

class 
LinkExchange_class {
    var 
$counter;

    function 
LinkExchange_class() {
        
$this->connectToBase();
    }
    function 
getCategoriesList () {
        
$result mysql_query ("SELECT category_id, name FROM link_exchange_categories ORDER BY category_id");
        
$categories = array ();
        
$this->counter 0;
        while (
$row mysql_fetch_array ($result)) $categories[$this->counter++] = $row;
        return 
$categories;
    }
        
    function 
addCategory ($add_name) {
        
mysql_query ("INSERT INTO link_exchange_categories (name) VALUES ('$add_name')");
    }
    
    function 
addLink ($add_link$add_back_link$add_category) {
        
mysql_query ("INSERT INTO link_exchange_links (category_id, link_source, backlink_address, date_added) VALUES($add_category, '$add_link', '{$add_back_link}', now())");
    }
    
    function 
getLinksOfCategory ($get_category) {
        
$result mysql_query ("SELECT * FROM link_exchange_links WHERE category_id={$get_category}");
        
$this->counter 0;
        
$links = array ();
        while (
$row mysql_fetch_array ($result)) $links[$this->counter++] = $row;
        return 
$links;
    }
    
    function 
removeLink ($remove_link) {
        
mysql_query ("DELETE FROM link_exchange_links WHERE link_id={$remove_link}");
    }
    
    function 
updateLink ($link_id$new_source$new_backlink$new_category) {
        
mysql_query ("UPDATE link_exchange_links SET category_id={$new_category}, link_source='{$new_source}', backlink_address='{$new_backlink}', date_checked=NULL WHERE link_id={$link_id}");
    }
    
    function 
checkLinks ($check_type) {
        
$sql "SELECT link_exchange_links.* FROM link_exchange_links";
        if (
$check_type == 'confirmed'$sql .= " WHERE backlink_present=1";
        if (
$check_type == 'not_confirmed'$sql .= " backlink_present=0";
        
$result mysql_query ($sql);
        while (
$row mysql_fetch_array($result)) {
            echo 
'<tr><td>'.$row['link_id'].'</td><td><textarea cols="80" rows="2" readonly="readonly">'.$row['link_source'].'</textarea></td><td><input type="text" size="60" value="'.$row['backlink_address'].'" readonly="readonly" /></td><td>';
            if (
$row['backlink_address'] == '') echo '-'; else {
                
$contents file_get_contents ($row['backlink_address']);
                if (
$contents == FALSE) echo 'Could not open';
                else {
                    
$present 0;
                    if( (
stristr($contents'<a href="'.MY_URL) === FALSE) && (stristr($contents"<a href='" .MY_URL) === FALSE)) {
                        echo 
'Link NOT present';
                    } else {
                        
$present 1;
                        echo 
'Link present';
                    }
                    
mysql_query ("UPDATE link_exchange_links SET backlink_present={$present}, date_checked=now() WHERE link_id= " $row['link_id']);
                }
            }
            echo 
'</td></tr>';
        }
    }
    
    function 
makeCheckReport ($category_id) {
        
$where = ($category_id==0) ? ''' WHERE link_exchange_categories.category_id='.$category_id;
        
$result mysql_query ("SELECT link_id, link_source, backlink_address, backlink_present, date_added, date_checked, name, link_exchange_categories.category_id, link_id FROM link_exchange_links INNER JOIN link_exchange_categories ON link_exchange_categories.category_id=link_exchange_links.category_id".$where." ORDER BY link_exchange_links.category_id, date_added DESC");
        
$this->counter 0;
        
$report = array ();
        while (
$row mysql_fetch_array ($result)) $report[$this->counter++] = $row;
        return 
$report;
    }
    
    function 
connectToBase () {
        
mysql_connect (DB_HOSTDB_USERDB_PASS);
        
mysql_select_db (DB_NAME);
    }
    
    function 
setupTables () {
        
mysql_query ("CREATE TABLE link_exchange_categories (category_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(255))");
        
mysql_query ("CREATE TABLE link_exchange_links (link_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT, category_id INT NOT NULL, link_source TEXT, backlink_address VARCHAR(255), backlink_present TINYINT NOT NULL DEFAULT 0, date_added DATE, date_checked DATE default NULL)");
        
    }
    
}




?>

 
  Advertise on this site Advertise on this site   Site map Site map   Statistics Statistics   Site tips Site tips   Privacy policy Privacy policy   Contact Contact  

For more information send a message to :
info at phpclasses dot org.
Copyright (c) Icontem 1999-2009 PHP Classes - PHP Class Scripts
  PHP Book Reviews - Reviews of books and other products