Quantcast
Channel: WordPress.org Forums » [WordPress MU Domain Mapping] Support
Viewing all articles
Browse latest Browse all 3502

joloshop on "[Plugin: WordPress MU Domain Mapping] switch to https://"

$
0
0

thanks Jan, i never used WP-CLI :-(

do you think a script like this could do the trick as well?

<?php
// Database credentials
$strHost = 'host';
$strUser = 'user';
$strPassword = 'password';
$strDatabase = 'database';
// From and to path
$strFrom = 'http://';
$strTo = 'https://';
// DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!
error_reporting(E_ALL ^ E_NOTICE);
function array_strpos($arrHaystack, $strNeedle)
{
	foreach ($arrHaystack as $v)
	{
		if (is_object($v))
		{
			$v = get_object_vars($v);
		}
		if (is_array($v) && array_strpos($v, $strNeedle) || !is_array($v) && strpos($v, $strNeedle) !== false)
		{
			return true;
		}
	}
	return false;
}
function array_str_replace($strSearch, $strReplace, $arrData)
{
	foreach ($arrData as $k=>$v)
	{
		if (is_array($v))
		{
			$arrData[$k] = array_str_replace($strSearch, $strReplace, $v);
		}
		elseif (is_string($v))
		{
			$arrData[$k] = str_replace($strSearch, $strReplace, $v);
		}
	}
	return $arrData;
}
try
{
	$db = new PDO
	(
		'mysql:dbname=' . $strDatabase . ';host=' . $strHost,
		$strUser,
		$strPassword,
		array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")
	);
	$stmt = $db->query('SHOW TABLES');
	$stmt->setFetchMode(PDO::FETCH_COLUMN, 0);
	foreach ($stmt as $strName)
	{
		$arrTables[] = $strName;
	}
	$intUpdates = 0;
	if (substr($strFrom, -1) == '/' && substr($strTo, -1) != '/')
	{
		$strTo .= '/';
	}
	else if (substr($strFrom, -1) != '/' && substr($strTo, -1) == '/')
	{
		$strFrom .= '/';
	}
	echo 'Searching tables' . "\n";
	foreach ($arrTables as $strTable)
	{
		echo 'Processing ' . $strTable . "\n";
		$stmt = $db->query(sprintf('SELECT * FROM <code>%s</code>', $strTable));
		$stmt->setFetchMode(PDO::FETCH_ASSOC);
		foreach ($stmt as $row)
		{
			foreach ($row as $k=>$v)
			{
				$blnSerialized = false;
				$tmp = unserialize($v);
				if ($tmp !== false)
				{
					$blnSerialized = true;
					$v = $tmp;
				}
				if ($k != 'id')
				{
					$w = false;
					if (is_object($v))
					{
						$v = get_object_vars($v);
					}
					if (is_array($v) && array_strpos($v, $strFrom) !== false)
					{
						$w = array_str_replace($strFrom, $strTo, $v);
					}
					if (!is_array($v) && strpos($v, $strFrom) !== false)
					{
						$w = str_replace($strFrom, $strTo, $v);
					}
					if ($w)
					{
						if ($blnSerialized)
						{
							$v = $row[$k];
							$w = serialize($w);
						}
						$stmt = $db->prepare(sprintf('UPDATE <code>%s</code> SET <code>%s</code>=:value WHERE <code>id</code>=:id', $strTable, $k));
						$stmt->bindValue('value', $w);
						$stmt->bindValue('id', $row['id']);
						$stmt->execute();
						++$intUpdates;
					}
				}
			}
		}
	}
	echo 'Update finished: ' . sprintf('%d rows updated', $intUpdates) . "\n";
}
catch(PDOException $e)
{
	var_dump($e->getMessage());
}

Viewing all articles
Browse latest Browse all 3502

Latest Images

Trending Articles



Latest Images