X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModule%2FSettings%2FUserExport.php;h=132505371ecbd8477d91d68812c2e545cacb3d69;hb=c6b45a958e3b09bc8f3950a718c181dfc9e0b910;hp=19b0312672370f8347c30ee8e00e34b2afd2334a;hpb=ab8997f9db910ba70c592bf106a7f5fc41a55b2d;p=friendica.git diff --git a/src/Module/Settings/UserExport.php b/src/Module/Settings/UserExport.php index 19b0312672..132505371e 100644 --- a/src/Module/Settings/UserExport.php +++ b/src/Module/Settings/UserExport.php @@ -1,6 +1,22 @@ . + * */ namespace Friendica\Module\Settings; @@ -11,12 +27,12 @@ use Friendica\Core\Renderer; use Friendica\Database\DBA; use Friendica\Database\DBStructure; use Friendica\DI; -use Friendica\Module\BaseSettingsModule; +use Friendica\Module\BaseSettings; /** * Module to export user data **/ -class UserExport extends BaseSettingsModule +class UserExport extends BaseSettings { /** * Handle the request to export data. @@ -39,7 +55,7 @@ class UserExport extends BaseSettingsModule */ $options = [ ['settings/userexport/account', DI::l10n()->t('Export account'), DI::l10n()->t('Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server.')], - ['settings/userexport/backup', DI::l10n()->t('Export all'), DI::l10n()->t("Export your accout info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account \x28photos are not exported\x29")], + ['settings/userexport/backup', DI::l10n()->t('Export all'), DI::l10n()->t("Export your account info, contacts and all your items as json. Could be a very big file, and could take a lot of time. Use this to make a full backup of your account \x28photos are not exported\x29")], ['settings/userexport/contact', DI::l10n()->t('Export Contacts to CSV'), DI::l10n()->t("Export the list of the accounts you are following as CSV file. Compatible to e.g. Mastodon.")], ]; Hook::callAll('uexport_options', $options); @@ -98,14 +114,11 @@ class UserExport extends BaseSettingsModule $rows = DBA::p($query); while ($row = DBA::fetch($rows)) { $p = []; - foreach ($row as $k => $v) { - switch ($dbStructure[$table]['fields'][$k]['type']) { - case 'datetime': - $p[$k] = $v ?? DBA::NULL_DATETIME; - break; - default: - $p[$k] = $v; - break; + foreach ($dbStructure[$table]['fields'] as $column => $field) { + if ($field['type'] == 'datetime') { + $p[$column] = $v ?? DBA::NULL_DATETIME; + } else { + $p[$column] = $v; } } $result[] = $p; @@ -167,7 +180,11 @@ class UserExport extends BaseSettingsModule $profile = self::exportMultiRow( - sprintf("SELECT * FROM `profile` WHERE `uid` = %d ", intval(local_user())) + sprintf("SELECT *, 'default' AS `profile_name`, 1 AS `is-default` FROM `profile` WHERE `uid` = %d ", intval(local_user())) + ); + + $profile_fields = self::exportMultiRow( + sprintf("SELECT * FROM `profile_field` WHERE `uid` = %d ", intval(local_user())) ); $photo = self::exportMultiRow( @@ -196,6 +213,7 @@ class UserExport extends BaseSettingsModule 'user' => $user, 'contact' => $contact, 'profile' => $profile, + 'profile_fields' => $profile_fields, 'photo' => $photo, 'pconfig' => $pconfig, 'group' => $group,