$data['EXPIRY_DATE'] = date('Y-m-d H:i:s', strtotime($data['EXPIRY_DATE']));
     }
 }
 if (SmartyValidate::is_valid($data, 'dir_links_edit')) {
     if (empty($id)) {
         $id = $db->GenID($tables['link']['name'] . '_SEQ');
     }
     if ($data['FEATURED'] == '1') {
         $AllowedFeat = check_allowed_feat($data['CATEGORY_ID']);
         $tpl->assign('AllowedFeat', $AllowedFeat);
     }
     if (ENABLE_PAGERANK) {
         require_once 'include/pagerank.php';
         $data['PAGERANK'] = get_page_rank($data['URL']);
         if (!empty($data['RECPR_URL'])) {
             $data['RECPR_PAGERANK'] = get_page_rank($data['RECPR_URL']);
         }
     }
     $data['ID'] = $id;
     if (!isset($data['RECPR_REQUIRED'])) {
         $data['RECPR_REQUIRED'] = 0;
     }
     if (db_replace('link', $data, 'ID') > 0) {
         $tpl->assign('posted', true);
         if ($action == 'N') {
             $cid = $data['CATEGORY_ID'];
             $data = array();
             $data['STATUS'] = 2;
             $data['CATEGORY_ID'] = $cid;
         } else {
             send_status_notifications($id);
 }
 if ($sent) {
     $id = $db->GenID($tables['email']['name'] . '_SEQ');
     $data['ID'] = $id;
     if ($db->Replace($tables['email']['name'], $data, 'ID', true) > 0) {
         // Save to Links table
         $link_data = get_table_data('link');
         $link_data['RECPR_REQUIRED'] = REQUIRE_RECIPROCAL;
         $link_data['STATUS'] = 2;
         $link_data['OWNER_NAME'] = $data['NAME'];
         $link_data['OWNER_EMAIL'] = $data['EMAIL'];
         $link_data['DATE_ADDED'] = gmdate('Y-m-d H:i:s');
         $link_data['DATE_MODIFIED'] = gmdate('Y-m-d H:i:s');
         if (ENABLE_PAGERANK) {
             require_once 'include/pagerank.php';
             $link_data['PAGERANK'] = get_page_rank($link_data['URL']);
         }
         $link_data['ID'] = $link_id;
         if ($db->Replace($tables['link']['name'], $link_data, 'ID', true) > 0) {
             $category = $db->GetOne("SELECT `TITLE` FROM `{$tables['category']['name']}` WHERE `STATUS` = '2' AND `ID` = " . $db->qstr($full_data['CATEGORY_ID']));
             $full_data['CATEGORY'] = $category;
             $tpl->assign('posted', true);
             $tpl->assign('sent', $full_data);
             $data = array();
         } else {
             $tpl->assign('sql_error', $db->ErrorMsg());
         }
     } else {
         $tpl->assign('sql_error', $db->ErrorMsg());
     }
 } else {
function add_link($cid, $link, $title = 'N/A', $desc = 'N/A', $status = '2')
{
    global $db, $tables;
    $data = array();
    $data['TITLE'] = $title;
    $data['DESCRIPTION'] = $desc;
    $data['CATEGORY_ID'] = $cid;
    $data['URL'] = $link;
    $data['RECPR_REQUIRED'] = 0;
    $data['STATUS'] = $status;
    $error = array();
    if (!check_unique('link', 'TITLE', $title, NULL, 'CATEGORY_ID', $cid)) {
        $error['TITLE'] = true;
    }
    if (ALLOW_MULTIPLE == 1) {
        $cu = check_unique('link', 'URL', $link, NULL, 'CATEGORY_ID', $cid);
    } else {
        $cu = check_unique('link', 'URL', $link, NULL);
    }
    if (!$cu) {
        $error['URL'] = true;
    }
    if (count($error) > 0) {
        $data['ERROR'] = $error;
        return $data;
    }
    $data['IPADDRESS'] = $client_info['IP'];
    if (!empty($client_info['HOSTNAME'])) {
        $data['DOMAIN'] = $client_info['HOSTNAME'];
    }
    $data['VALID'] = 1;
    $data['LAST_CHECKED'] = gmdate('Y-m-d H:i:s');
    $data['DATE_ADDED'] = gmdate('Y-m-d H:i:s');
    $data['DATE_MODIFIED'] = gmdate('Y-m-d H:i:s');
    if (strlen(trim($data['URL'])) > 0 && !preg_match('#^http[s]?:\\/\\/#i', $data['URL'])) {
        $data['URL'] = "http://" . $data['URL'];
    }
    if (ENABLE_PAGERANK) {
        require_once '../include/pagerank.php';
        $data['PAGERANK'] = get_page_rank($data['URL']);
    }
    $id = $db->GenID($tables['link']['name'] . '_SEQ');
    $data['ID'] = $id;
    if ($db->Replace($tables['link']['name'], $data, 'ID', true) == 0) {
        $error['SQL'] = true;
    }
    $data['ERROR'] = $error;
    return $data;
}