0

我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。我从 js 调用 admin-ajax 将请求发送到 admin-ajax.php。并且处理程序 PHP 函数工作。我成功抓取并发布数据。但响应是错误 500。

请帮我。谢谢大家。

jQuery("#runcpform").validate({
    submitHandler: 
    
    function() {
      console.log("ok day la runcp");
        var postdata = "action=runcp&param=crawl&" + jQuery("#runcpform").serialize();
        jQuery.post("../../../../wp-admin/admin-ajax.php", postdata, function(response) {
            
            console.log(response);
            var data = jQuery.parseJSON(response);
            if(!response){
              jQuery("body").addClass("loading");
            }else{
              
              jQuery("body").removeClass("loading"); 
            }
                if (data.status == 1) {
                    jQuery.notifyBar({
                        cssClass: "success",
                        html: data.message
                    });
                } 

        });
    }
  });
add_action("wp_ajax_runcp", "runcp");
add_action("wp_ajax_nopriv_runcp", "runcp");

function runcp()
{

    /////////////////READ DATA SPIN>TXT/////////
    require_once "spinvi.php";
    require_once "spineng.php";
      ////////////////////////////////////////////

    if(!$_REQUEST["run"]){
        // Code Crawler
        $html_content = file_get_html($_REQUEST["url"]);
        $list_post = $html_content->find($_REQUEST["ListPost"]);
   
    
        if ( ! function_exists( 'post_exists' ) ) :
            require_once( ABSPATH . 'wp-admin/includes/post.php' );
        endif;

        if (!empty($list_post)):
          foreach ($list_post as $post){
                $post_link = $post->find($_REQUEST["PostLink"], 0)->href;
                $thumb = $post->find($_REQUEST["thumbnailLink"],0)->src;
      
               
                //Post Detail
                $html_detail = file_get_html($post_link);
                $title = $html_detail->find($_REQUEST["titleLink"], 0)->plaintext;
                $content = $html_detail->find($_REQUEST["contentLink"], 0)->innertext;
                $content = preg_replace( '@<(a)[^>]*?>.*?</\\1>@si', '', $content );

               
                if($_REQUEST["from"]!= "no" && $_REQUEST["to"]!= "no" ):
                    require_once 'dich.php';
                    $title =    google_translate1( $title, $_REQUEST["to"], $_REQUEST["from"] );
                    $strlen=strlen($content);
                    
                    $first= intval($strlen * (35/100));
                    $second=intval($strlen * (35/100));
                    $third=intval($strlen * 30/100);

                    $first_part=substr($content,0,$first);
                    
                    $second_part=substr($content,$first,$second);
                    $third_part=substr($content,($first+$second));

                    $first_part = google_translate2( $first_part, $_REQUEST["to"], $_REQUEST["from"] );
                    $second_part = google_translate2( $second_part, $_REQUEST["to"], $_REQUEST["from"] );
                    $third_part = google_translate2( $third_part, $_REQUEST["to"], $_REQUEST["from"] );


                    $content =   $first_part . $second_part . $third_part;
                    
                   
                endif;
                if($_REQUEST["spinlang"]!="no"):
                      $i= 0;
                    $temps =   preg_split("/\.\s?(?=[A-Z])/", $content);
               
                      preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $content, $imgs);
                    //   echo $imgs[0][$i];
                    //   print_r($temps) ;
                            //  wp_die();
                    $content = "";
                  
                    foreach($temps as $temp):
                        
                        if(str_contains($temp, '<img')):
                            $content = $content.".".$temp;   
                            //  $content = $content.'.'.$imgs[0][$i].''.'768w" sizes="(max-width: 800px) 100vw, 800px" />';
                            
                            //  $i = $i +1;
                           
                        // elseif(str_contains($temp, 'width')):
                        //     $content = $content;   
                        // elseif(str_contains($temp, 'http')):
                        //         $content = $content; 
                        else:
                             foreach($vi_spins as $vi_spin):
                               
                               
                                foreach($vi_spin as $vi_spin_item):
                                   
                                        if(str_contains($temp, $vi_spin_item)):
                                        $b = array_rand($vi_spin, 1);
                                        $temp=  str_replace($vi_spin_item, $vi_spin[$b], $temp);
                                            
                                            // print_r($a) ;
                                            
                                            break;
                                        endif;
                                endforeach;
                            endforeach;
                            
                            $content = $content.".".$temp;
                        
                        endif;  
                    endforeach;
                          
                        
                   
                    
                endif;
                // global $wpdb;
                // $title_table = title_table();
                //    $flag=0;
                //    $checks = $wpdb->get_results("select * from $title_table ");   

                //    foreach($checks as $check):
                //     if($check == $title):
                //         $flag = 1;
                //     endif;
                //    endforeach;    
                                                       
                if (post_exists($title)===0 ):
                
                    $args = array(
                        'post_type' => 'post',
                        'post_status' => 'publish',
                        'post_title' => $title,
                        'post_content' => $content
                    );
                  

                    // $wpdb->insert(title_table(), array(
                    //     "title" => $title
                    // ));
                    // if($flag == 0):
                            $post_id = wp_insert_post($args, true);
                           
                            if ($post_id>0):
                                km_set_remote_image_as_featured_image( $post_id, $thumb );
                              wp_set_post_terms($post_id, $_REQUEST['category'],'category' );
                            
                            endif;
                                
                            if ($post_id):
                                echo json_encode(array("status"=>1, "message"=>"crawler successfull"));
                                wp_die( );
                            endif;
                    // endif;
                
                endif;
           }
           
        endif;
      
    }
   


}

4

0 回答 0