X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fuimport.php;h=d9b040597fdc6c8affe2af20354a437821dba064;hb=5afedb28d4387eef580f7a6602016cc676d8d9e1;hp=b27f9dc12607d52ed20402915de4947955c8548f;hpb=e884090efa4d0934a02e6844c97bbf54cdcc9c13;p=friendica.git diff --git a/include/uimport.php b/include/uimport.php index b27f9dc126..d9b040597f 100644 --- a/include/uimport.php +++ b/include/uimport.php @@ -1,23 +1,23 @@ insert_id(); -} - -function last_error() { - global $db; - return $db->error; + return dba::lastInsertId(); } /** @@ -104,28 +104,38 @@ function import_account(App $a, $file) { // check for username $r = q("SELECT uid FROM user WHERE nickname='%s'", $account['user']['nickname']); if ($r === false) { - logger("uimport:check nickname : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:check nickname : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); notice(t('Error! Cannot check nickname')); return; } - if (dbm::is_result($r) > 0) { + if (DBM::is_result($r) > 0) { notice(sprintf(t("User '%s' already exists on this server!"), $account['user']['nickname'])); return; } // check if username matches deleted account $r = q("SELECT id FROM userd WHERE username='%s'", $account['user']['nickname']); if ($r === false) { - logger("uimport:check nickname : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:check nickname : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); notice(t('Error! Cannot check nickname')); return; } - if (dbm::is_result($r) > 0) { + if (DBM::is_result($r) > 0) { notice(sprintf(t("User '%s' already exists on this server!"), $account['user']['nickname'])); return; } $oldbaseurl = $account['baseurl']; - $newbaseurl = App::get_baseurl(); + $newbaseurl = System::baseUrl(); + + $oldaddr = str_replace('http://', '@', normalise_link($oldbaseurl)); + $newaddr = str_replace('http://', '@', normalise_link($newbaseurl)); + + if (!empty($account['profile']['addr'])) { + $old_handle = $account['profile']['addr']; + } else { + $old_handle = $account['user']['nickname'].$oldaddr; + } + $olduid = $account['user']['uid']; unset($account['user']['uid']); @@ -134,27 +144,28 @@ function import_account(App $a, $file) { unset($account['user']['expire_notification_sent']); foreach ($account['user'] as $k => &$v) { - $v = str_replace($oldbaseurl, $newbaseurl, $v); + $v = str_replace(array($oldbaseurl, $oldaddr), array($newbaseurl, $newaddr), $v); } // import user $r = db_import_assoc('user', $account['user']); if ($r === false) { - //echo "
"; var_dump($r, $query, mysql_error()); killme(); - logger("uimport:insert user : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert user : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); notice(t("User creation error")); return; } $newuid = last_insert_id(); //~ $newuid = 1; + PConfig::set($newuid, 'system', 'previous_addr', $old_handle); + // Generate a new guid for the account. Otherwise there will be problems with diaspora q("UPDATE `user` SET `guid` = '%s' WHERE `uid` = %d", dbesc(generate_user_guid()), intval($newuid)); foreach ($account['profile'] as &$profile) { foreach ($profile as $k => &$v) { - $v = str_replace($oldbaseurl, $newbaseurl, $v); + $v = str_replace(array($oldbaseurl, $oldaddr), array($newbaseurl, $newaddr), $v); foreach (array("profile", "avatar") as $k) { $v = str_replace($oldbaseurl . "/photo/" . $k . "/" . $olduid . ".jpg", $newbaseurl . "/photo/" . $k . "/" . $newuid . ".jpg", $v); } @@ -162,7 +173,7 @@ function import_account(App $a, $file) { $profile['uid'] = $newuid; $r = db_import_assoc('profile', $profile); if ($r === false) { - logger("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert profile " . $profile['profile-name'] . " : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); info(t("User profile creation error")); dba::delete('user', array('uid' => $newuid)); return; @@ -173,26 +184,21 @@ function import_account(App $a, $file) { foreach ($account['contact'] as &$contact) { if ($contact['uid'] == $olduid && $contact['self'] == '1') { foreach ($contact as $k => &$v) { - $v = str_replace($oldbaseurl, $newbaseurl, $v); + $v = str_replace(array($oldbaseurl, $oldaddr), array($newbaseurl, $newaddr), $v); foreach (array("profile", "avatar", "micro") as $k) { $v = str_replace($oldbaseurl . "/photo/" . $k . "/" . $olduid . ".jpg", $newbaseurl . "/photo/" . $k . "/" . $newuid . ".jpg", $v); } } } if ($contact['uid'] == $olduid && $contact['self'] == '0') { - // set contacts 'avatar-date' to NULL_DATE to let poller to update urls + // set contacts 'avatar-date' to NULL_DATE to let worker to update urls $contact["avatar-date"] = NULL_DATE; switch ($contact['network']) { case NETWORK_DFRN: + case NETWORK_DIASPORA: // send relocate message (below) break; - case NETWORK_ZOT: - /// @TODO handle zot network - break; - case NETWORK_MAIL2: - /// @TODO ? - break; case NETWORK_FEED: case NETWORK_MAIL: // Nothing to do @@ -205,7 +211,7 @@ function import_account(App $a, $file) { $contact['uid'] = $newuid; $r = db_import_assoc('contact', $contact); if ($r === false) { - logger("uimport:insert contact " . $contact['nick'] . "," . $contact['network'] . " : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert contact " . $contact['nick'] . "," . $contact['network'] . " : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); $errorcount++; } else { $contact['newid'] = last_insert_id(); @@ -219,15 +225,13 @@ function import_account(App $a, $file) { $group['uid'] = $newuid; $r = db_import_assoc('group', $group); if ($r === false) { - logger("uimport:insert group " . $group['name'] . " : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert group " . $group['name'] . " : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); } else { $group['newid'] = last_insert_id(); } } foreach ($account['group_member'] as &$group_member) { - $group_member['uid'] = $newuid; - $import = 0; foreach ($account['group'] as $group) { if ($group['id'] == $group_member['gid'] && isset($group['newid'])) { @@ -246,7 +250,7 @@ function import_account(App $a, $file) { if ($import == 2) { $r = db_import_assoc('group_member', $group_member); if ($r === false) { - logger("uimport:insert group member " . $group_member['id'] . " : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert group member " . $group_member['id'] . " : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); } } } @@ -255,15 +259,16 @@ function import_account(App $a, $file) { $photo['uid'] = $newuid; $photo['data'] = hex2bin($photo['data']); - $p = new Photo($photo['data'], $photo['type']); - $r = $p->store( + $Image = new Image($photo['data'], $photo['type']); + $r = Photo::store( + $Image, $photo['uid'], $photo['contact-id'], //0 $photo['resource-id'], $photo['filename'], $photo['album'], $photo['scale'], $photo['profile'], //1 $photo['allow_cid'], $photo['allow_gid'], $photo['deny_cid'], $photo['deny_gid'] ); if ($r === false) { - logger("uimport:insert photo " . $photo['resource-id'] . "," . $photo['scale'] . " : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert photo " . $photo['resource-id'] . "," . $photo['scale'] . " : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); } } @@ -271,13 +276,13 @@ function import_account(App $a, $file) { $pconfig['uid'] = $newuid; $r = db_import_assoc('pconfig', $pconfig); if ($r === false) { - logger("uimport:insert pconfig " . $pconfig['id'] . " : ERROR : " . last_error(), LOGGER_NORMAL); + logger("uimport:insert pconfig " . $pconfig['id'] . " : ERROR : " . dba::errorMessage(), LOGGER_NORMAL); } } // send relocate messages - proc_run(PRIORITY_HIGH, 'include/notifier.php', 'relocate', $newuid); + Worker::add(PRIORITY_HIGH, 'Notifier', 'relocate', $newuid); info(t("Done. You can now login with your username and password")); - goaway(App::get_baseurl() . "/login"); + goaway(System::baseUrl() . "/login"); }