Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*Файл который вставляет в БД уже посты*/
- include('/var/www/maslov/data/www/viraltop.me/wp-config.php');
- function getPostsBD1(){
- global $wpdb;
- /*функция проверки наличия картинки*/
- function getIsPict($pictUrl){
- global $wpdb;
- $pict = "<img src='".$pictUrl."' alt='интересное в интернете'>";
- $isUnic = $wpdb->get_var($wpdb->prepare("SELECT post_content FROM wp_posts WHERE post_content='$pict'")); //запрос в БД для проверки наличия
- return $isUnic;
- }
- function curlFunc($url){
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_TIMEOUT, 10);
- curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)");
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- $result = curl_exec($ch);
- return $result;
- curl_close($ch);
- }
- $arrPost = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_site_for_parse WHERE reit>=1000")); //выбраю ссылки только с рейтингом больше 1000
- if ($arrPost!==''){
- foreach ($arrPost as $pId => $pVal){
- $thisPostID = $pVal->id;
- $thisPostRub = $pVal->rubric;
- $thisPostLink = $pVal->link;
- $thisPostReit = $pVal->reit;
- $linkTo = "http://vk.com/wall-".$thisPostLink;
- if (($thisPostRub=='art') or ($thisPostRub=='foto') or ($thisPostRub=='citat')){
- $result=curlFunc("http://vk.com/wall-".$thisPostLink); //захожу на сайт
- /*Определение текста и рубрики*/
- preg_match('#<div class="wall_post_text">(.*?)</div>#si',$result,$arrTEXT);//ищу текст
- $text12 = strip_tags($arrTEXT[0]); //весь текст
- $text = " ".$text12." ";
- //echo $text12;
- switch ($thisPostRub){ //присваиваю ID рубрики
- case 'art': $rub=3; break;
- case 'foto': $rub=7; break;
- case 'citat': $rub=5; break;
- }
- /*Определение картинок*/
- preg_match_all('#<img src="(.*?)">#si', $result, $pPhoto, PREG_PATTERN_ORDER); //ищу картинки
- //echo $idNewPost;
- $Nphoto='';
- for ($g=1; $g<=6; $g++){
- if (!empty($pPhoto[0][$g])){
- preg_match('/<img[^>]+src=([\'"])?((?(1).+?|[^\s>]+))(?(1)\1)/',$pPhoto[0][$g],$tPhoto);
- list($width1, $height1, $type1, $attr1) = getimagesize($tPhoto[2]);
- if (($width1>100) && (getIsPict($tPhoto[2])=='')){
- $Nphoto.="<img src='".$tPhoto[2]."' alt='интересное в интернете' />";//картинки записи
- //echo "<br />".$Nphoto;
- }
- }
- }
- //sleep(3);
- if (($Nphoto!=='') || ($text!=='')){
- //echo $content."<br />";
- /*создаю пост и вставляю все данные*/
- $postTitle = 'Запись '.$thisPostID;
- $InPost = array(
- 'post_title' => $postTitle,
- 'post_excerpt' => $text,
- 'post_content' => $Nphoto,
- 'post_status' => 'publish',
- 'post_author' => 1,
- 'post_category' => array($rub)
- );
- wp_insert_post($InPost); //создаю саму запись
- /*Обновляю рейтинг и ссылку*/
- $oldPostArr = $wpdb->get_results($wpdb->prepare("SELECT * FROM $wpdb->posts WHERE post_title = '$postTitle'"));
- foreach ($oldPostArr as $idOld => $valOld){
- $idposts = $valOld->ID;
- /*$oldCintent = $valOld->post_content;
- $newContent=$oldCintent.$Nphoto;*/
- /*обновление рейтинга поста*/
- //'post_excerpt' => $text,
- $wpdb->update( 'wp_posts',
- array( 'post_reit' => $thisPostReit, 'link_pars' => $thisPostLink ),
- array( 'ID' => $idposts )
- );
- }
- /*конец обновления*/
- $isPost = $wpdb->get_var($wpdb->prepare("SELECT post_title FROM $wpdb->posts WHERE post_title = '$postTitle'"));
- /*если есть ид поста, то удаляю промежуточное значение*/
- if (!empty($isPost)){
- $wpdb->query("DELETE FROM wp_site_for_parse WHERE id=$thisPostID");
- echo "<br>Промежуточные данные удалены";
- }
- }
- }
- }
- }
- else {
- exit;
- }
- }
- getPostsBD1();
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement