namespace Friendica\Core;
use Friendica\App;
-use Friendica\Core\Logger;
-use Friendica\Core\Protocol;
use Friendica\Database\DBA;
use Friendica\Model\Photo;
use Friendica\Object\Image;
-
-require_once "include/dba.php";
+use Friendica\Util\Strings;
/**
* @brief UserImport class
* Remove columns from array $arr that aren't in table $table
*
* @param string $table Table name
- * @param array &$arr Column=>Value array from json (by ref)
+ * @param array &$arr Column=>Value array from json (by ref)
+ * @throws \Exception
*/
private static function checkCols($table, &$arr)
{
* Import data into table $table
*
* @param string $table Table name
- * @param array $arr Column=>Value array from json
+ * @param array $arr Column=>Value array from json
+ * @return array|bool
+ * @throws \Exception
*/
private static function dbImportAssoc($table, $arr)
{
/**
* @brief Import account file exported from mod/uexport
*
- * @param App $a Friendica App Class
+ * @param App $a Friendica App Class
* @param array $file array from $_FILES
+ * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ * @throws \ImagickException
*/
public static function importAccount(App $a, $file)
{
}
- if (!x($account, 'version')) {
+ if (empty($account['version'])) {
notice(L10n::t("Error! No version data in file! This is not a Friendica account file?"));
return;
}
$oldbaseurl = $account['baseurl'];
$newbaseurl = System::baseUrl();
- $oldaddr = str_replace('http://', '@', normalise_link($oldbaseurl));
- $newaddr = str_replace('http://', '@', normalise_link($newbaseurl));
+ $oldaddr = str_replace('http://', '@', Strings::normaliseLink($oldbaseurl));
+ $newaddr = str_replace('http://', '@', Strings::normaliseLink($newbaseurl));
if (!empty($account['profile']['addr'])) {
$old_handle = $account['profile']['addr'];
$old_handle = $account['user']['nickname'].$oldaddr;
}
+ // Creating a new guid to avoid problems with Diaspora
+ $account['user']['guid'] = System::createUUID();
+
$olduid = $account['user']['uid'];
unset($account['user']['uid']);