Skip to content

Commit 45c6e89

Browse files
committed
Merge branch 'develop'
2 parents a887cb4 + 409d752 commit 45c6e89

File tree

3 files changed

+45
-26
lines changed

3 files changed

+45
-26
lines changed

src/abstract-wp-client.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,12 @@ export abstract class AbstractWordPressClient implements WordPressClient {
139139
username,
140140
password
141141
});
142-
const selectedCategories = matterData.categories as number[] ?? this.profile.lastSelectedCategories;
143-
const { postParams, publishModal } = await openPublishModal(this.plugin, categories, selectedCategories);
142+
const selectedCategories = matterData.categories as number[]
143+
?? this.profile.lastSelectedCategories
144+
?? [ 1 ];
145+
const { postParams, publishModal } = await openPublishModal(
146+
this.plugin, categories, selectedCategories
147+
);
144148
const params = this.readFromFrontMatter(noteTitle, matterData, postParams);
145149
params.content = content;
146150
const result = await this.doPublish({

src/main.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { AppState } from './app-state';
1111
import { DEFAULT_SETTINGS, SettingsVersion, upgradeSettings, WordpressPluginSettings } from './plugin-settings';
1212
import { PassCrypto } from './pass-crypto';
1313
import { doClientPublish, setupMarkdownParser } from './utils';
14+
import { cloneDeep } from 'lodash-es';
1415

1516
export default class WordpressPlugin extends Plugin {
1617

@@ -94,7 +95,17 @@ export default class WordpressPlugin extends Plugin {
9495
}
9596

9697
async saveSettings() {
97-
await this.saveData(this.#settings);
98+
const settings = cloneDeep(this.settings);
99+
for (let i = 0; i < settings.profiles.length; i++) {
100+
const profile = settings.profiles[i];
101+
const password = profile.password;
102+
if (password) {
103+
const crypto = new PassCrypto();
104+
profile.encryptedPassword = await crypto.encrypt(password);
105+
delete profile.password;
106+
}
107+
}
108+
await this.saveData(settings);
98109
}
99110

100111
updateRibbonIcon(): void {

src/plugin-settings.ts

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -93,29 +93,33 @@ export async function upgradeSettings(
9393
showWordPressEditConfirm: existingSettings.showWordPressEditConfirm,
9494
mathJaxOutputType: existingSettings.mathJaxOutputType
9595
});
96-
const endpoint = existingSettings.endpoint;
97-
const apiType = existingSettings.apiType;
98-
const xmlRpcPath = existingSettings.xmlRpcPath;
99-
const username = existingSettings.username;
100-
const password = existingSettings.password;
101-
const lastSelectedCategories = existingSettings.lastSelectedCategories;
102-
const crypto = new PassCrypto();
103-
const encryptedPassword = await crypto.encrypt(password);
104-
const profile = {
105-
name: WP_DEFAULT_PROFILE_NAME,
106-
apiType: apiType,
107-
endpoint: endpoint,
108-
xmlRpcPath: xmlRpcPath,
109-
saveUsername: !isNil(username),
110-
savePassword: !isNil(password),
111-
isDefault: true,
112-
lastSelectedCategories: lastSelectedCategories,
113-
username: username,
114-
encryptedPassword: encryptedPassword
115-
};
116-
newSettings.profiles = [
117-
profile
118-
];
96+
if (existingSettings.endpoint) {
97+
const endpoint = existingSettings.endpoint;
98+
const apiType = existingSettings.apiType;
99+
const xmlRpcPath = existingSettings.xmlRpcPath;
100+
const username = existingSettings.username;
101+
const password = existingSettings.password;
102+
const lastSelectedCategories = existingSettings.lastSelectedCategories;
103+
const crypto = new PassCrypto();
104+
const encryptedPassword = await crypto.encrypt(password);
105+
const profile = {
106+
name: WP_DEFAULT_PROFILE_NAME,
107+
apiType: apiType,
108+
endpoint: endpoint,
109+
xmlRpcPath: xmlRpcPath,
110+
saveUsername: !isNil(username),
111+
savePassword: !isNil(password),
112+
isDefault: true,
113+
lastSelectedCategories: lastSelectedCategories,
114+
username: username,
115+
encryptedPassword: encryptedPassword
116+
};
117+
newSettings.profiles = [
118+
profile
119+
];
120+
} else {
121+
newSettings.profiles = [];
122+
}
119123
return newSettings;
120124
}
121125
}

0 commit comments

Comments
 (0)