DLE

Как очистить дополнительное поле DLE

Для замены или очистки значений в дополнительных полях используется два способа.

1. Способ

Очистить поле полностью можно если удалить это дополнительное поле. Тогда все значения удаляться. Можно потом снова его создать, но значения нужно будет проставлять снова.

2. Способ

Это с помощью скрипта.

<?php
ini_set('memory_limit', '512M');
ini_set('display_errors', 1);
error_reporting(1);
ini_set('max_input_time', '200000');
define ( "DATALIFEENGINE", true );
set_time_limit(0);
header("Content-Type: text/html;charset=utf-8");

require_once $_SERVER['DOCUMENT_ROOT'] . '/engine/classes/mysql.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/engine/modules/functions.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/engine/data/dbconfig.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/engine/data/config.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/engine/api/api.class.php';

$sql = $db->query("SELECT id, xfields FROM ".PREFIX."_post WHERE id<20001");

while ( $row = $db->get_row ($sql) ) {
	$xfields_array = array();
	foreach ( explode('||',$row['xfields']) as $pac_xfields ) {
		$s_all = explode('|',$pac_xfields);
		$xfields_array[$s_all[0]] = $s_all[1];
	}

	unset($xfields_array['trailer']);

	$xfields = array();
	foreach ( $xfields_array as $key => $value ) { if ($value!=''){$xfields[] = $key.'|'.str_replace('|','&#124;',$value);} }
	$xfields = addslashes(implode("||",$xfields));
	$db->query("UPDATE ".PREFIX."_post SET xfields='".$xfields."' WHERE id='".$row['id']."'");
}
?>

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Back to top button