function pre_cron_news_detail($link_data = array('lin_id' => '', 'lin_url' => '', 'lin_cat_id' => '', 'law_detail_title' => '', 'law_detail_content' => '', 'law_detail_teaser' => '', 'law_detail_tag' => '', 'law_detail_remove' => ''), $accept_no_image = 0) { $link_id = $link_data['lin_id']; $link_url = $link_data['lin_url']; $link_domain = get_domain($link_url); $law_title = get_law_index($link_data['law_detail_title']); $law_content = get_law_index($link_data['law_detail_content']); $law_teaser = get_law_index($link_data['law_detail_teaser']); $law_tag = get_law_index($link_data['law_detail_tag']); $law_remove = get_law_remove($link_data['law_detail_remove']); if (!check_url_status($link_url, array(200, 301, 304, 302))) { //cap nhat link ko lay duoc if ($link_id) { $db_update = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $link_id); unset($db_update); } $array_return = array('success' => 0, 'error' => 'Link không tồn tại hoặc đã bị xóa : ' . $link_url, 'error_code' => 1); return $array_return; } $html_content = curl_get_content($link_url); $html_content = str_get_html($html_content); //lấy ảnh trước - nếu ko có ảnh thì die() //lưu ảnh đại diện $image = trim($html_content->find('[property="og:image"]', 0)->content); $array_save_image = save_image_url($image); if ($array_save_image['error'] || !$array_save_image['name']) { if (!$accept_no_image && $link_id) { $db_update = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $link_id); unset($db_update); $array_return = array('success' => 0, 'error' => 'Tin không có ảnh ' . $link_url, 'error_code' => 1); return $array_return; } } //Lấy tiêu đề $title = $html_content->find($law_title['law'], $law_title['index'])->innertext; if (!$title) { //lỗi không lấy được tin //cập nhật link ko lấy được if ($link_id) { $db_update = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $link_id); unset($db_update); } $array_return = array('success' => 0, 'error' => 'Link không có tiêu đề hoặc luật đã bị thay đổi : ' . $link_url, 'error_code' => 1); return $array_return; } //xử lý remove các content như quảng cáo... foreach ($law_remove as $remove) { $j = 0; foreach ($html_content->find($remove['law']) as $elm_rm) { if ($j == $remove['index']) { $elm_rm->outertext = ''; break; } $j++; } } //lấy content $content = $html_content->find($law_content['law'], $law_content['index'])->innertext; //lấy ảnh đại diện //lấy tag $tags_html = $html_content->find($law_tag['law'], $law_tag['index']); $tag_string = ''; if ($tags_html) { //các tag của bài thường được lọc theo từng thẻ a, tách text của tag từng thẻ a rồi nối vào tag_string foreach ($tags_html->find('a') as $t_elem) { $tag_string .= removeHTML(trim($t_elem->innertext)) . ','; } $tag_string = rtrim($tag_string, ','); } //lấy teaser $teaser = $html_content->find($law_teaser['law'], $law_content['index'])->innertext; $time = time(); $active = 1; //xử lý dữ liệu $title = replaceFCK($title, 1); $title = replaceNCR($title); $title = remove_source($title); $title = removeHTML($title); $title_md5 = md5($title); $content = replaceFCK($content, 1); $content = replaceNCR($content); $content = remove_script($content); $content = removeLink($content); $content = remove_source($content); //Nếu content trống thì bỏ qua if (!trim($content)) { if ($link_id) { $db_update = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $link_id); unset($db_update); } $array_return = array('success' => 0, 'error' => 'Nội dung trống hoặc không đúng luật ' . $link_url, 'error_code' => 1); unset($db_update); return $array_return; } $tag_string = replaceFCK($tag_string, 1); $tag_string = replaceNCR($tag_string); $tag_string = removeHTML($tag_string); $teaser = replaceFCK($teaser, 1); $teaser = replaceNCR($teaser); $teaser = removeHTML($teaser); $teaser = removeLink($teaser); $teaser = remove_source($teaser); $category = $link_data['lin_cat_id']; //lấy ảnh trong detail $all_image_detail = get_image_src_from_html($content, $link_domain); foreach ($all_image_detail as $key => $img_src) { //save anh va replace anh trong chi tiết $img_save = save_image_url($img_src); if (!$img_save['error']) { //đã lưu ảnh - thay thế link ảnh vào content $content = str_replace($img_src, $img_save['link'], $content); } } //echo $image; $image = $array_save_image['name']; $array_return = array('success' => 1, 'title' => $title, 'title_md5' => $title_md5, 'content' => $content, 'teaser' => $teaser, 'category' => $category, 'image' => $image, 'link_id' => $link_id, 'link_url' => $link_url, 'tag_string' => $tag_string); return $array_return; }
require_once 'config.php'; //link cat $db_link_cat = new db_query('SELECT law_id, law_link_cat, law_cat_id,law_detail_link FROM law WHERE law_status_temp = 0 LIMIT 1'); $link_cat = mysqli_fetch_assoc($db_link_cat->result); unset($db_link_cat); //nếu không còn link nào thì cập nhật hết luật về trạng thái 0 và lấy lại từ đầu if (!$link_cat) { $db_update = new db_execute('UPDATE law SET law_status_temp = 0 WHERE law_status_temp = 1'); echo 'Các link đã được lấy hết. Chuẩn bị reset luật !'; reload(6000); die; } $domain = get_domain($link_cat['law_link_cat']); //check link hỏng if (!check_url_status($link_cat['law_link_cat'], array(200, 301, 304, 302))) { //update link hỏng $db_update = new db_execute('UPDATE law SET law_status_temp = 2 WHERE law_id = ' . $link_cat['law_id']); unset($db_update); echo 'Link hỏng'; reload(10); die; } //lấy link $string_html = curl_get_content($link_cat['law_link_cat']); $string_html = str_get_html($string_html); $sql_insert = 'INSERT IGNORE links (lin_url_md5,lin_url,lin_status,lin_cat_id,lin_law_id) VALUES '; foreach ($string_html->find($link_cat['law_detail_link']) as $link) { $link_href = trim($link->href); if (!trim($link_href)) { continue;
function r($p = array('lin_id' => '', 'lin_url' => '', 'lin_cat_id' => '', 'law_detail_title' => '', 'law_detail_content' => '', 'law_detail_teaser' => '', 'law_detail_tag' => '', 'law_detail_remove' => ''), $q = 0) { $r = $p['lin_id']; $t = $p['lin_url']; $u = get_domain($t); $v = _s($p['law_detail_title']); $z = _s($p['law_detail_content']); $aa = _s($p['law_detail_teaser']); $bb = _s($p['law_detail_tag']); $cc = s($p['law_detail_remove']); if (!check_url_status($t, array(200, 301, 304, 302))) { if ($r) { $dd = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $r); unset($dd); } $n = array('success' => 0, 'error' => 'Link không tồn tại hoặc đã bị xóa : ' . $t, 'error_code' => 1); return $n; } $ee = curl_get_content($t); $ee = str_get_html($ee); $ff = trim($ee->find('[property="og:image"]', 0)->content); $gg = save_image_url($ff); if ($gg['error'] || !$gg['name']) { if (!$q && $r) { $dd = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $r); unset($dd); $n = array('success' => 0, 'error' => 'Tin không có ảnh ' . $t, 'error_code' => 1); return $n; } } $hh = $ee->find($v['law'], $v['index'])->innertext; if (!$hh) { if ($r) { $dd = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $r); unset($dd); } $n = array('success' => 0, 'error' => 'Link không có tiêu đề hoặc luật đã bị thay đổi : ' . $t, 'error_code' => 1); return $n; } foreach ($cc as $o) { $ii = 0; foreach ($ee->find($o['law']) as $jj) { if ($ii == $o['index']) { $jj->outertext = ''; break; } $ii++; } } $kk = $ee->find($z['law'], $z['index'])->innertext; $ll = $ee->find($bb['law'], $bb['index']); $mm = ''; if ($ll) { foreach ($ll->find('a') as $nn) { $mm .= removeHTML(trim($nn->innertext)) . ','; } $mm = rtrim($mm, ','); } $oo = $ee->find($aa['law'], $z['index'])->innertext; $pp = time(); $qq = 1; $hh = replaceFCK($hh, 1); $hh = replaceNCR($hh); $hh = remove_source($hh); $hh = removeHTML($hh); $rr = md5($hh); $kk = replaceFCK($kk, 1); $kk = replaceNCR($kk); $kk = remove_script($kk); $kk = removeLink($kk); $kk = remove_source($kk); if (!trim($kk)) { if ($r) { $dd = new db_execute('UPDATE links SET lin_status = ' . LINK_STATUS_FAIL . ' WHERE lin_id = ' . $r); unset($dd); } $n = array('success' => 0, 'error' => 'Nội dung trống hoặc không đúng luật ' . $t, 'error_code' => 1); unset($dd); return $n; } $mm = replaceFCK($mm, 1); $mm = replaceNCR($mm); $mm = removeHTML($mm); $oo = replaceFCK($oo, 1); $oo = replaceNCR($oo); $oo = removeHTML($oo); $oo = removeLink($oo); $oo = remove_source($oo); $ss = $p['lin_cat_id']; $tt = get_image_src_from_html($kk, $u); foreach ($tt as $uu => $vv) { $ww = save_image_url($vv); if (!$ww['error']) { $kk = str_replace($vv, $ww['link'], $kk); } } $ff = $gg['name']; $n = array('success' => 1, 'title' => $hh, 'title_md5' => $rr, 'content' => $kk, 'teaser' => $oo, 'category' => $ss, 'image' => $ff, 'link_id' => $r, 'link_url' => $t, 'tag_string' => $mm); return $n; }