• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Обработка всех новостей сразу через parse.class.php

Статус
В этой теме нельзя размещать новые ответы.
Верно! :ay:

Именно эмуляция открытия и сохранения. Ресурсоёмкая - в смысле времени обработки скриптом? Думаю, если делать на локалке, то пара минут роли не сыграет.
 
+1 тоже требуется такое дело, если кто-то сможет реализовать за вознагражлдение, то прошу в ПМ
 
ну в общем я решил проблему, все уже написано до нас, скрипт выполняет замену урл на лич, можно что-нибудь другое поменять :)
PHP:
<?php
   /* ----------------------------------------------------------------------- *
    *	Created by nick-on                                                    *
    *	icq: 834361, nick-on@mail.ru, http://nick-on.ru, http://4dle.ru       *
    * ----------------------------------------------------------------------- */
	set_time_limit( 0 );
	define ( "DATALIFEENGINE", true );
  	define ( "ROOT_DIR", dirname ( __FILE__ ));
  	define ( "ENGINE_DIR", ROOT_DIR . "/engine/" );
    require_once ROOT_DIR . '/engine/classes/mysql.php';
  	require_once ROOT_DIR . '/engine/data/config.php';
  	require_once ROOT_DIR . '/engine/data/dbconfig.php';
  	require_once ROOT_DIR . '/engine/classes/parse.class.php';
    $sql_result = $db->query ( "SELECT * FROM " . PREFIX . "_post" );
    $parse = new ParseFilter(Array(), Array(), 1, 1);
    while ( $row = $db->get_row ( $sql_result ))
    {
    	$short_story = $parse->decodeBBCodes( $row['short_story'], false );
    	$full_story  = $parse->decodeBBCodes( $row['full_story'],  false );
    	$short_story = str_replace ( "[url=", "[leech=", $short_story );
    	$full_story  = str_replace ( "[url=", "[leech=", $full_story );
     	$short_story = str_replace ( "[/url]", "[/leech]", $short_story );
     	$full_story	 = str_replace ( "[/url]", "[/leech]", $full_story );
      	$short_story = $db->safesql ( $parse->BB_Parse( $parse->process( $short_story ), false));
      	$full_story	 = $db->safesql ( $parse->BB_Parse( $parse->process( $full_story ), false));
      	$db->query ( "UPDATE " . PREFIX . "_post SET short_story = '{$short_story}', full_story = '{$full_story}' WHERE id = '{$row['id']}'" );
    }
    $db->free();
?>
 
При этому надо я думаю поставить больше чем 30 секунд на выполнение одного php скрипта... при большом обьеме новсотей - повиснет... у или же разбить скрипт на шаги...
 
ну наверно да, у меня впс, 6500 новостей прошел за секунд 10
 
немного подправил файл к краткой и полной новостям добавил ещё обработку доп.полей, может кому-то пригодится в будущем :)

Посмотреть вложение parse.zip
 
столкнулся с одной проблемой: после прогона этим скриптом все alt и title к картинкам удаляются :eek: кто-нибудь знает как можно это поправить или предположения хотябы почему так происходит?? :bc:
 
немного подправил файл к краткой и полной новостям добавил ещё обработку доп.полей, может кому-то пригодится в будущем :)
Посмотреть вложение 30915
А у вас нет, точно такого же, но только с перламутровыми пугавицами? ©
Нужно чтобы скрипт просто открывал и не внося никаких изменений, сохранял по очереди все записи.
 
Нужно чтобы скрипт просто открывал и не внося никаких изменений, сохранял по очереди все записи.
тут приведен код урл-лич, чтобы все было без изменений (только обновились новости) логично что можно сделать замену урл-урл, или лич-лич...
 
Нужно чтобы скрипт просто открывал и не внося никаких изменений, сохранял по очереди все записи.
PHP:
<?php 
    
    set_time_limit( 0 ); 
    define ( "DATALIFEENGINE", true ); 
      define ( "ROOT_DIR", dirname ( __FILE__ )); 
      define ( "ENGINE_DIR", ROOT_DIR . "/engine/" ); 
    require_once ROOT_DIR . '/engine/classes/mysql.php'; 
      require_once ROOT_DIR . '/engine/data/config.php'; 
      require_once ROOT_DIR . '/engine/data/dbconfig.php'; 
      require_once ROOT_DIR . '/engine/classes/parse.class.php'; 
    $sql_result = $db->query ( "SELECT * FROM " . PREFIX . "_post" ); 
    $parse = new ParseFilter(Array(), Array(), 1, 1); 
    while ( $row = $db->get_row ( $sql_result )) 
    { 
        $short_story = $parse->decodeBBCodes( $row['short_story'], false ); 
        $full_story  = $parse->decodeBBCodes( $row['full_story'],  false ); 
     
          $short_story = $db->safesql ( $parse->BB_Parse( $parse->process( $short_story ), false)); 
          $full_story     = $db->safesql ( $parse->BB_Parse( $parse->process( $full_story ), false)); 
          $db->query ( "UPDATE " . PREFIX . "_post SET short_story = '{$short_story}', full_story = '{$full_story}' WHERE id = '{$row['id']}'" ); 
    } 
    $db->free(); 
?>
Так вроде должно работать.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху