Пример #1
0
/**
 * @param $url
 * Функция для парсинга ссылок
 */
function parseLinks($url)
{
    global $domain;
    //имя домена
    global $recursiveDeep;
    // глубина рекурсии
    global $protocol;
    //протокол
    global $link_array;
    // массив с спарсенными ссылками
    if (strlen($url) <= 1) {
        return;
    }
    if ($recursiveDeep == 0) {
        //если глубина рекурсии равна 0
        $res = parse_url($url);
        if ($res != false) {
            $domain = $res['host'];
            $protocol = $res['scheme'];
        } else {
            return;
        }
    }
    $recursiveDeep++;
    // увеличиваем счетчик глубины рекурсии
    $doc = new DOMDocument();
    $doc->loadHTML(file_get_contents($url));
    $elements = $doc->getElementsByTagName('a');
    foreach ($elements as $element) {
        if (count($link_array) > 300) {
            return;
        }
        // устанавливаем лимит на кол-во ссылок
        $link = $element->getAttribute('href');
        if ($link[0] == '/' || $link[0] == '?') {
            $link = $protocol . "://" . $domain . $link;
        }
        $p_link = parse_url($link);
        if ($p_link == false) {
            continue;
        }
        if ($p_link["host"] != $domain) {
            continue;
        }
        // проверяем ведет ли эта ссылка на внешний сайт
        if (!link_exists($link) && strlen($link) > 1) {
            $link_array[] = $link;
            if ($recursiveDeep < 5) {
                // проверяем глубину рекурсии
                parseLinks($link);
            }
        }
    }
    $recursiveDeep--;
    // уменьшаем счетчик глубины рекурсии
}
Пример #2
0
function nn_add_link($blog_id, $user_id, $domain, $path, $site_id, $meta)
{
    $blog_details = get_blog_details($blog_id);
    if (preg_match("/.*Test.*/i", $blog_details->blogname)) {
        /*
         * We don't create links to test sites
         */
        return;
    } elseif (link_exists($domain)) {
        return;
    } elseif (preg_match("/^Nerd Nite (.*)\$/", $blog_details->blogname, $matches)) {
        $city_name = strtolower($matches[1]);
        $term = get_term_by('slug', 'nerdnite', 'link_category');
        $linkdata = array('link_name' => $city_name, 'link_url' => $domain, 'link_category' => $term->term_id, 'link_rel' => 'friend');
        wp_insert_link($linkdata);
    }
    return;
}
Пример #3
0
 function links2wp($links = '')
 {
     // General Housekeeping
     global $wpdb;
     $count = 0;
     // Deal with the links
     if (is_array($links)) {
         echo '<p>' . __('Importing Links...') . '<br /><br /></p>';
         foreach ($links as $link) {
             $count++;
             extract($link);
             if ($title != "") {
                 if ($cinfo = is_term(csc($title), 'link_category')) {
                     $category = $cinfo['term_id'];
                 } else {
                     $category = wp_insert_term($wpdb->escape(csc($title)), 'link_category');
                     $category = $category['term_id'];
                 }
             } else {
                 $linkname = $wpdb->escape(csc($label));
                 $description = $wpdb->escape(csc($title));
                 if ($linfo = link_exists($linkname)) {
                     $ret_id = wp_insert_link(array('link_id' => $linfo, 'link_url' => $href, 'link_name' => $linkname, 'link_category' => $category, 'link_description' => $description));
                 } else {
                     $ret_id = wp_insert_link(array('link_url' => $url, 'link_name' => $linkname, 'link_category' => $category, 'link_description' => $description));
                 }
                 $dclinks2wplinks[$link_id] = $ret_id;
             }
         }
         add_option('dclinks2wplinks', $dclinks2wplinks);
         echo '<p>';
         printf(__('Done! <strong>%s</strong> links or link categories imported'), $count);
         echo '<br /><br /></p>';
         return true;
     }
     echo __('No Links to Import!');
     return false;
 }
Пример #4
0
 function links2wp($links = '')
 {
     // General Housekeeping
     global $wpdb;
     $count = 0;
     // Deal with the links
     if (is_array($links)) {
         echo '<p>' . __('Importing Links...') . '<br /><br /></p>';
         foreach ($links as $link) {
             $count++;
             extract($link);
             // Make nice vars
             $category = $wpdb->escape($category);
             $linkname = $wpdb->escape($linkname);
             $description = $wpdb->escape($description);
             if ($linfo = link_exists($linkname)) {
                 $ret_id = wp_insert_link(array('link_id' => $linfo, 'link_url' => $url, 'link_name' => $linkname, 'link_category' => $category, 'link_description' => $description, 'link_updated' => $date));
             } else {
                 $ret_id = wp_insert_link(array('link_url' => $url, 'link_name' => $linkname, 'link_category' => $category, 'link_description' => $description, 'link_updated' => $date));
             }
             $txplinks2wplinks[$link_id] = $ret_id;
         }
         add_option('txplinks2wplinks', $txplinks2wplinks);
         echo '<p>';
         printf(_n('Done! <strong>%s</strong> link imported', 'Done! <strong>%s</strong> links imported', $count), $count);
         echo '<br /><br /></p>';
         return true;
     }
     echo __('No Links to Import!');
     return false;
 }
Пример #5
0
	function links2wp($links='')
	{
		// General Housekeeping
		global $wpdb;
		$count = 0;

		// Deal with the links
		if(is_array($links))
		{
			echo '<p>'.__('Importing Links (Friends)...').'<br /><br /></p>';
			foreach($links as $link)
			{
				$count++;
				extract($link);

				// Make nice vars
				$category = $wpdb->escape("Blogroll");
				$linkname = utf8_decode($wpdb->escape($friend));
				$description = "";

				if($linfo = link_exists($linkname))
				{
					$ret_id = wp_insert_link(array(
								'link_id'			=> $linfo,
								'link_url'			=> $url,
								'link_name'			=> $linkname,
								'link_category'		=> $category,
								'link_description'	=> $description,
								'link_updated'		=> time())
								);
				}
				else
				{
					$ret_id = wp_insert_link(array(
								'link_url'			=> $url,
								'link_name'			=> $linkname,
								'link_category'		=> $category,
								'link_description'	=> $description,
								'link_updated'		=> time())
								);
				}
				$jawslinks2wplinks[$id] = $ret_id;
			}
			add_option('jawslinks2wplinks',$jawslinks2wplinks);
			echo '<p>';
			printf(__('Done! <strong>%s</strong> Links (Friends) imported'), $count);
			echo '<br /><br /></p>';
			return true;
		}
		echo __('No Links to Import!');
		return false;
	}