Example #1
0
function split_dors_to_projects($dors, $max_links, $merge_dors, $id_post_links)
{
    //print_r($dors);
    //exit;
    if ($merge_dors) {
        $dors = merge_dors($dors);
    }
    switch ($id_post_links) {
        case 1:
            $col = 'index_urls';
            break;
        case 2:
            $col = 'page_urls';
            break;
        case 3:
            $col = 'map_urls';
            break;
        case 4:
            $col = 'full_map_urls';
        case 5:
            $col = 'sitemap_xmls';
            break;
    }
    $projects = array();
    $p_num = 0;
    //указатель текущего проекта для текущего дора
    while (list($dor_num, $dor) = each($dors)) {
        $projects[$p_num]['domens'] = $dor['domens'];
        $link_source = array('index_urls' => 'index_urls', 'page_urls' => 'page_urls', 'map_urls' => 'map_urls', 'full_map_urls' => 'full_map_urls', 'sitemap_xmls' => 'sitemap_xmls');
        while (count($dor[$col])) {
            while (count($projects[$p_num][$col]) < $max_links && isset($link_source[$col]) > 0) {
                if ($col == 'index_urls') {
                    if (count($dor['index_urls'])) {
                        $projects[$p_num]['index_urls'][] = array_shift($dor['index_urls']);
                    } elseif (isset($link_source['index_urls'])) {
                        unset($link_source['index_urls']);
                    }
                } else {
                    $projects[$p_num]['index_urls'] = $dor['index_urls'];
                }
                #
                if ($col == 'page_urls') {
                    if (count($dor['page_urls'])) {
                        $projects[$p_num]['page_urls'][] = array_shift($dor['page_urls']);
                    } elseif (isset($link_source['page_urls'])) {
                        unset($link_source['page_urls']);
                    }
                } else {
                    $projects[$p_num]['page_urls'] = $dor['page_urls'];
                }
                #
                if ($col == 'map_urls') {
                    if (count($dor['map_urls'])) {
                        $projects[$p_num]['map_urls'][] = array_shift($dor['map_urls']);
                    } elseif (isset($link_source['map_urls'])) {
                        unset($link_source['map_urls']);
                    }
                } else {
                    $projects[$p_num]['map_urls'] = $dor['map_urls'];
                }
                #
                if ($col == 'full_map_urls') {
                    if (count($dor['full_map_urls'])) {
                        $projects[$p_num]['full_map_urls'][] = array_shift($dor['full_map_urls']);
                    } elseif (isset($link_source['full_map_urls'])) {
                        unset($link_source['full_map_urls']);
                    }
                } else {
                    $projects[$p_num]['full_map_urls'] = $dor['full_map_urls'];
                }
                #
                if ($col == 'sitemap_xmls') {
                    if (count($dor['sitemap_xmls'])) {
                        $projects[$p_num]['sitemap_xmls'][] = array_shift($dor['sitemap_xmls']);
                    } elseif (isset($link_source['sitemap_xmls'])) {
                        unset($link_source['sitemap_xmls']);
                    }
                } else {
                    $projects[$p_num]['sitemap_xmls'] = $dor['sitemap_xmls'];
                }
            }
            $p_num++;
        }
    }
    return $projects;
}
Example #2
0
//временная папка, относительно папки доргена
####################### End Config ##########################
$cn = mysql_connect($db_host, $db_user, $db_pass) or die("Could not connect : " . mysql_error());
mysql_query("SET NAMES cp1251");
mysql_select_db($db_name, $cn) or die("Could not select database");
//получаем номера последних n доров
$result = mysql_query("SELECT `id` FROM `dors` WHERE `dor_status` = 'allow' AND `spam` = '1' ORDER BY `dor_date` DESC LIMIT 0, {$num_last_dors}");
$ids = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $ids[] = $row["id"];
}
mysql_free_result($result);
if (!count($ids)) {
    exit;
}
$dors_links = merge_dors(get_dor_links($ids));
$links = array();
if ($use_index_urls) {
    $links = array_merge($links, $dors_links[0]['index_urls']);
}
if ($use_map_urls) {
    $links = array_merge($links, $dors_links[0]['map_urls']);
}
if ($use_full_map_urls) {
    $links = array_merge($links, $dors_links[0]['full_map_urls']);
}
if ($use_page_urls) {
    $links = array_merge($links, $dors_links[0]['page_urls']);
}
if ($use_xml_sitemap_urls) {
    $links = array_merge($links, $dors_links[0]['sitemap_xmls']);