Перенос контента с одной странице на другую

Потребовалось с одной странице (группы) перенести некоторые заметки в другую. Чтобы осуществить перенос, необходимо изменить определенные значения в Базе Данных. Контента оказалось не мало, что исправлять значения в ручную. Тогда я решил написать инструмент, чтобы облегчить себе выполнение поставленной задачи.

Значения правятся в таблице стены страниц, общей стены и таблице самой записи, например, видео, фото, блог и так далее. Для себя, я как то, добавил в таблицу общей стены поле "page_id", по этому мне пришлось изменять значение и там. Если у Вас нет такого поля в таблице feed, то исправляйте запрос, под свою структуру.

Код инструмента:
<?php
define('PHPFOX', true);

include('../include/setting/server.sett.php');

$db = new mysqli($_CONF['db']['host'], $_CONF['db']['user'], $_CONF['db']['pass'], $_CONF['db']['name']);
if ($db->connect_errno)
{
	exit('Error MYSQLI: ' . $db->connect_error);
}
$db->set_charset('utf8');

function carryover($item, $itemID, $pageID, $userID)
{
	global $db;

	// "phpfox_" - Префикс таблицы (При необходимости, сменить на свой)
	$prefix = 'phpfox_';

	$field = 'item_id';
	if ($item == 'photo')
	{
		$field = 'group_id';
	}

	$q = 'UPDATE ' . $prefix . $item . '
		SET
			' . $field . ' = ' . (int) $pageID . ',
			user_id = ' . (int) $userID . '
		WHERE ' . $item . '_id = ' . (int) $itemID;
	$db->query($q) or exit($db->error);

	$q = 'UPDATE ' . $prefix . 'feed
		SET
			page_id = ' . (int) $pageID . ',
			user_id = ' . (int) $userID . '
		WHERE type_id = \'' . $item . '\' AND item_id = ' . (int) $itemID;
	$db->query($q) or exit($db->error);

	$q = 'UPDATE ' . $prefix . 'pages_feed
		SET
			parent_user_id = ' . (int) $pageID . ',
			user_id = ' . (int) $userID . '
		WHERE type_id = \'' . $item . '\' AND item_id = ' . (int) $itemID;
	$db->query($q) or exit($db->error);

	echo 'Ok!';
}

В функцию carryover входят четыре обязательных параметра:
$item - Обрабатываемый предмет (Например: photo, video)
$itemID - Идентификатор предмета
$pageID - Идентификатор страницы, куда перенести предмет
$userID - Идентификатор автора предмета

Пользоваться функцией так:
carryover('video', 1932, 104, 777);

На данный момент, функция может принять два типа записи, это photo и video. Возможно в будущем, я добавлю типов записи.

Если надо массово перенести контент (не по одной записи), можно составить массив, например:
$array = [
	['photo', 1918],
	['photo', 1919],
	['photo', 1920],
	['photo', 1921],
	['photo', 1922],
	['photo', 1934],
	['photo', 1947],
	['photo', 1962],
	['photo', 1963],
	['photo', 1974],
	['photo', 1980],
	['photo', 1981],
	['photo', 2017],
	['photo', 2047]
];

И прогнать его, через цикл:
foreach ($array as $arr)
{
	carryover($arr[0], $arr[1], 104, 777);
}

Обратите внимание на строчку в коде:
include('../include/setting/server.sett.php');

Это говорит о том, что файл, в котором будет находиться данный код, должен быть в папке, что находится в корне сайта. Обращаться к инструменту по адресу: "site/папка/tool.php".