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; }
//временная папка, относительно папки доргена ####################### 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']);