cafe_basics_duo 0.0.2 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/cafe_basics_duo.rb +543 -378
- metadata +2 -2
data/lib/cafe_basics_duo.rb
CHANGED
@@ -17,27 +17,29 @@ require 'cgi'
|
|
17
17
|
require 'digest'
|
18
18
|
require 'auto_click'
|
19
19
|
require 'rainbow/refinement'
|
20
|
-
require 'watir'
|
21
20
|
include AutoClickMethods
|
22
21
|
using Rainbow
|
23
|
-
|
22
|
+
include Glimmer
|
24
23
|
|
25
24
|
class Chat
|
25
|
+
|
26
26
|
def initialize(api_key)
|
27
27
|
@api_key = api_key
|
28
28
|
end
|
29
29
|
|
30
30
|
def message2(keyword)
|
31
|
+
puts'[GPT] 키워드 기반 글을 생성 중입니다.......'.yellow
|
31
32
|
url = 'https://api.openai.com/v1/chat/completions'
|
32
33
|
h = {
|
33
34
|
'Content-Type' => 'application/json',
|
34
35
|
'Authorization' => 'Bearer ' + @api_key
|
35
36
|
}
|
36
37
|
d = {
|
37
|
-
'model' => 'gpt-3.5-turbo',
|
38
|
+
#'model' => 'gpt-3.5-turbo',
|
39
|
+
'model' => 'gpt-4',
|
38
40
|
'messages' => [{
|
39
41
|
"role" => "assistant",
|
40
|
-
"content" => keyword.to_s+" 소개하는
|
42
|
+
"content" => keyword.to_s+" 소개하는 글을 1500자에서 2500자 사이로 만들어줘"
|
41
43
|
}]
|
42
44
|
}
|
43
45
|
answer = ''
|
@@ -68,10 +70,11 @@ class Chat
|
|
68
70
|
'Authorization' => 'Bearer ' + @api_key
|
69
71
|
}
|
70
72
|
d = {
|
71
|
-
'model' => 'gpt-3.5-turbo',
|
73
|
+
#'model' => 'gpt-3.5-turbo',
|
74
|
+
'model' => 'gpt-4',
|
72
75
|
'messages' => [{
|
73
76
|
"role" => "assistant",
|
74
|
-
"content" => keyword.to_s+"
|
77
|
+
"content" => keyword.to_s+" 관련된 글을 1500자에서 2500자 사이로 만들어줘"
|
75
78
|
}]
|
76
79
|
}
|
77
80
|
answer = ''
|
@@ -102,23 +105,137 @@ class Chat
|
|
102
105
|
end
|
103
106
|
end
|
104
107
|
|
108
|
+
class Chat_title
|
109
|
+
|
110
|
+
def initialize(api_key)
|
111
|
+
@api_key = api_key
|
112
|
+
end
|
113
|
+
|
114
|
+
def message(title)
|
115
|
+
puts'[GPT] 유사 제목을 생성 중입니다.......'.yellow
|
116
|
+
url = 'https://api.openai.com/v1/chat/completions'
|
117
|
+
headers = {
|
118
|
+
'Content-Type' => 'application/json',
|
119
|
+
'Authorization' => 'Bearer ' + @api_key
|
120
|
+
}
|
121
|
+
data = {
|
122
|
+
'model' => 'gpt-4',
|
123
|
+
'messages' => [{
|
124
|
+
"role" => "system",
|
125
|
+
"content" => "너는 매우 친절하고 성의 있게 답변하는 AI 어시스턴트야."
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"role" => "user",
|
129
|
+
"content" => "#{title}\n위 문장을 비슷한 길이로 ChatGPT의 멘트는 빼고 표현을 더 추가해서 하나만 만들어줘."
|
130
|
+
}]
|
131
|
+
}
|
132
|
+
|
133
|
+
begin
|
134
|
+
req = HTTP.headers(headers).post(url, json: data)
|
135
|
+
puts "HTTP Status: #{req.status}" # 상태 코드 확인
|
136
|
+
response = JSON.parse(req.body.to_s)
|
137
|
+
puts "API Response: #{response}" # 전체 응답 출력
|
138
|
+
|
139
|
+
if req.status == 429
|
140
|
+
return "API 요청 제한을 초과했습니다. 플랜 및 할당량을 확인하세요."
|
141
|
+
end
|
142
|
+
|
143
|
+
# 응답 데이터에서 안전하게 값 추출
|
144
|
+
answer = response.dig('choices', 0, 'message', 'content')
|
145
|
+
answer ||= (title) # 응답이 없을 경우 기본 메시지 설정
|
146
|
+
rescue => e
|
147
|
+
puts "Error: #{e.message}"
|
148
|
+
answer = "오류가 발생했습니다."
|
149
|
+
end
|
150
|
+
|
151
|
+
puts 'API return ==> '
|
152
|
+
puts answer
|
153
|
+
answer
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
class Chat_content
|
158
|
+
|
159
|
+
def initialize(api_key)
|
160
|
+
@api_key = api_key
|
161
|
+
end
|
162
|
+
|
163
|
+
def message(content)
|
164
|
+
puts'[GPT] 유사 내용을 생성 중입니다! 조금만 기다려주세요.......'.yellow
|
165
|
+
url = 'https://api.openai.com/v1/chat/completions'
|
166
|
+
headers = {
|
167
|
+
'Content-Type' => 'application/json',
|
168
|
+
'Authorization' => 'Bearer ' + @api_key
|
169
|
+
}
|
170
|
+
data = {
|
171
|
+
'model' => 'gpt-4',
|
172
|
+
'messages' => [{
|
173
|
+
"role" => "system",
|
174
|
+
"content" => "너는 매우 친절하고 성의 있게 답변하는 AI 어시스턴트야."
|
175
|
+
},
|
176
|
+
{
|
177
|
+
"role" => "user",
|
178
|
+
"content" => "#{content}\nChatGPT의 멘트는 빼고 위 전체적인 내용의 형식을 똑같이 표현을 더 추가하고 유사어로 변경하여 하나 만들어줘! 전화번호,연락처,가격,홈페이지안내 ,상담안내 관련 문구는 유지해야해"
|
179
|
+
}]
|
180
|
+
}
|
181
|
+
|
182
|
+
begin
|
183
|
+
req = HTTP.headers(headers).post(url, json: data)
|
184
|
+
puts "HTTP Status: #{req.status}" # 상태 코드 확인
|
185
|
+
response = JSON.parse(req.body.to_s)
|
186
|
+
puts "API Response: #{response}" # 전체 응답 출력
|
187
|
+
|
188
|
+
if req.status == 429
|
189
|
+
return "API 요청 제한을 초과했습니다. 플랜 및 할당량을 확인하세요."
|
190
|
+
end
|
191
|
+
|
192
|
+
# 응답 데이터에서 안전하게 값 추출
|
193
|
+
answer = response.dig('choices', 0, 'message', 'content')
|
194
|
+
answer ||= (content) # 응답이 없을 경우 기본 메시지 설정
|
195
|
+
rescue => e
|
196
|
+
puts "Error: #{e.message}"
|
197
|
+
answer = "오류가 발생했습니다."
|
198
|
+
end
|
199
|
+
|
200
|
+
puts 'API return ==> '
|
201
|
+
puts answer
|
202
|
+
answer
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
|
207
|
+
#############################################gpt############################################
|
208
|
+
|
105
209
|
class Naver
|
106
210
|
def initialize
|
107
211
|
@seed = 1
|
108
|
-
@cookie = ''
|
109
212
|
end
|
213
|
+
def chrome_setup(user_id)
|
214
|
+
naver_cookie_dir = "C:/naver_cookie"
|
215
|
+
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
216
|
+
system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://naver.com/ --remote-debugging-port=9222 --user-data-dir=C:/naver_cookie/#{user_id}})
|
110
217
|
|
111
|
-
|
218
|
+
end
|
219
|
+
def chrome_start(proxy, user_id)
|
220
|
+
naver_cookie_dir = "C:/naver_cookie"
|
221
|
+
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
112
222
|
if proxy == ''
|
113
223
|
begin
|
114
224
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
115
|
-
|
225
|
+
options = Selenium::WebDriver::Chrome::Options.new
|
226
|
+
options.page_load_strategy = :normal
|
227
|
+
options.timeouts = {page_load: 20_000}
|
228
|
+
options.page_load_strategy = 'none'
|
229
|
+
options.add_argument('--remote-debugging-port=9222')
|
230
|
+
options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
|
231
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
116
232
|
rescue
|
117
|
-
@driver = Selenium::WebDriver.for :
|
233
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
118
234
|
end
|
119
235
|
else
|
120
236
|
begin
|
121
237
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
238
|
+
options = Selenium::WebDriver::Chrome::Options.new
|
122
239
|
# profile = Selenium::WebDriver::Chrome::Profile.new
|
123
240
|
# profile['network.proxy.type'] = 1
|
124
241
|
# profile['network.proxy.http'] = proxy.split(':')[0]
|
@@ -127,177 +244,114 @@ class Naver
|
|
127
244
|
# options.profile = profile
|
128
245
|
options = Selenium::WebDriver::Chrome::Options.new
|
129
246
|
options.add_argument '--proxy-server='+proxy.to_s.force_encoding('utf-8').to_s
|
130
|
-
|
247
|
+
options.page_load_strategy = :normal
|
248
|
+
options.timeouts = {page_load: 20_000}
|
249
|
+
options.page_load_strategy = 'none'
|
250
|
+
options.add_argument('--remote-debugging-port=9222')
|
251
|
+
options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
|
252
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
131
253
|
rescue => e
|
132
254
|
puts e
|
133
255
|
puts 'proxy error...'
|
134
256
|
begin
|
135
257
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
136
|
-
|
258
|
+
options = Selenium::WebDriver::Chrome::Options.new
|
259
|
+
options.page_load_strategy = :normal
|
260
|
+
options.timeouts = {page_load: 20_000}
|
261
|
+
options.page_load_strategy = 'none'
|
262
|
+
options.add_argument('--remote-debugging-port=9222')
|
263
|
+
options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
|
264
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
137
265
|
rescue
|
138
|
-
@driver = Selenium::WebDriver.for :
|
266
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
139
267
|
end
|
140
268
|
end
|
141
269
|
end
|
142
270
|
end
|
143
271
|
|
272
|
+
|
273
|
+
|
144
274
|
def login(user_id, user_pw, proxy)
|
145
275
|
@user_id = user_id
|
146
276
|
@user_id11 = user_id
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
user_cookie_file = Array.new
|
151
|
-
begin
|
152
|
-
Dir.entries('./cookie').each do |i|
|
153
|
-
if i == '.' or i == '..'
|
277
|
+
current_dir = File.dirname(__FILE__)
|
278
|
+
naver_cookie_dir = "C:/naver_cookie"
|
279
|
+
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
154
280
|
|
155
|
-
|
156
|
-
|
157
|
-
|
281
|
+
|
282
|
+
|
283
|
+
unless File.exist?("C:/naver_cookie/" + user_id)
|
284
|
+
driverfile_src = File.join(current_dir, 'driverfile')
|
285
|
+
if Dir.exist?(driverfile_src)
|
286
|
+
FileUtils.cp_r(driverfile_src, "C:/naver_cookie/" + user_id)
|
287
|
+
|
158
288
|
end
|
159
|
-
|
289
|
+
end
|
160
290
|
|
161
|
-
|
291
|
+
# 새로운 스레드 생성 및 실행
|
292
|
+
Thread.new { chrome_setup(user_id) }
|
293
|
+
sleep(3)
|
162
294
|
|
163
|
-
@cookie4 = Hash.new
|
164
|
-
if user_cookie_file.include?(user_id+'.txt')
|
165
|
-
f = File.open('./cookie/'+user_id+'.txt', 'r')
|
166
|
-
@cookie4 = JSON.parse(f.read())
|
167
|
-
f.close
|
168
|
-
end
|
169
295
|
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
end
|
175
|
-
rescue
|
296
|
+
chrome_start(proxy, user_id)
|
297
|
+
@driver.get('https://www.naver.com')
|
298
|
+
puts'[Step.01] 계정 로그인 및 세션 확인.......'.yellow
|
299
|
+
|
176
300
|
|
177
|
-
end
|
178
301
|
sleep(1)
|
179
|
-
|
302
|
+
|
180
303
|
begin
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
@driver.find_element(:xpath, '//*[@id="account"]/div/a').click
|
304
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
305
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
306
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="MyView-module__link_login___HpHMW"]') }
|
307
|
+
sleep(1.5)
|
308
|
+
@driver.find_element(:xpath, '//*[@class="MyView-module__link_login___HpHMW"]').click
|
187
309
|
check_cookie_login = 0
|
310
|
+
sleep(1)
|
188
311
|
rescue
|
189
312
|
check_cookie_login = 1
|
313
|
+
puts'[Step.02] 계정 세션 확인!! 로그인 skip.......'.yellow
|
314
|
+
sleep(2.5)
|
190
315
|
end
|
191
316
|
|
192
317
|
if check_cookie_login == 0
|
318
|
+
puts'[Step.02] 계정 세션이 없거나 기간 만료로 인해 로그인 시도.......'.yellow
|
193
319
|
# @driver.find_element(:xpath, '//*[@id="right-content-area"]/div[1]/div[1]/div/a').click
|
194
320
|
sleep(3)
|
195
|
-
|
196
|
-
|
321
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
322
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
323
|
+
wait.until { @driver.find_element(:xpath, '//*[@for="switch"]') }
|
324
|
+
sleep(1.5)
|
325
|
+
@driver.find_element(:xpath, '//*[@id="login_keep_wrap"]/div[1]/label').click
|
326
|
+
sleep(1.5)
|
197
327
|
@driver.find_element(:xpath, '//*[@id="id"]').click
|
198
328
|
Clipboard.copy(user_id)
|
199
329
|
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
200
|
-
sleep(
|
330
|
+
sleep(1.5)
|
201
331
|
@driver.find_element(:xpath, '//*[@id="pw"]').click
|
202
332
|
Clipboard.copy(user_pw)
|
203
333
|
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
204
|
-
sleep(
|
334
|
+
sleep(1.5)
|
205
335
|
@driver.find_element(:xpath, '//*[@id="log.login"]').click
|
206
|
-
sleep(
|
336
|
+
sleep(2.5)
|
337
|
+
|
207
338
|
else
|
208
339
|
# @driver.switch_to.default_content
|
209
340
|
end
|
210
341
|
|
211
|
-
@cookie = ''
|
212
|
-
cookie2 = Array.new
|
213
|
-
@driver.manage.all_cookies.each do |i|
|
214
|
-
puts i
|
215
|
-
@cookie += i[:name]+'='+i[:value]+'; '
|
216
|
-
cookie2 << i
|
217
|
-
end
|
218
|
-
|
219
|
-
File.open('./cookie/'+user_id+'.txt', 'w') do |ff|
|
220
|
-
ff.write(cookie2.to_json)
|
221
|
-
end
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
sleep(2)
|
226
342
|
begin
|
227
|
-
|
228
|
-
|
229
|
-
@driver.find_element(:xpath, '//*[@
|
230
|
-
|
343
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
344
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
345
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="MyView-module__btn_logout___bsTOJ"]') }
|
346
|
+
|
231
347
|
rescue => e
|
348
|
+
puts '-[√] 로그인 실패!!.......'.red
|
232
349
|
puts e
|
233
|
-
return 1
|
234
|
-
end
|
235
|
-
# if @driver.current_url.include?('viewPhoneInfo')
|
236
|
-
# #@driver.get('https://blog.naver.com/'+user_id)
|
237
|
-
# #@driver.get('https://blog.naver.com/MyBlog.naver')
|
238
|
-
# sleep(1)
|
239
|
-
# @driver.find_element(:xpath, '//*[@id="account"]/div[2]/div/div/ul/li[3]/a').click
|
240
|
-
# sleep(1)
|
241
|
-
# @driver.find_element(:xpath, '//*[@id="account"]/div[3]/div[2]/div[1]/a[2]').click
|
242
|
-
# sleep(1)
|
243
|
-
# @driver.switch_to.window(@driver.window_handles[1])
|
244
|
-
# @user_id = @driver.current_url.split('/')[-1]
|
245
|
-
# @url = 'https://blog.naver.com/'+@user_id
|
246
|
-
# @driver.close
|
247
|
-
# @driver.switch_to.window(@driver.window_handles[0])
|
248
|
-
# return 1
|
249
|
-
# else
|
250
|
-
# begin
|
251
|
-
# sleep(2)
|
252
|
-
# # @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="my-iframe"]'))
|
253
|
-
# # puts @driver.find_element(:xpath, '/html/body/div/div/div[1]/div[1]/a[1]').text
|
254
|
-
# # @driver.find_element(:xpath, '//*[@id="account"]/div[2]/div/div/ul/li[3]/a/span').click
|
255
|
-
# # sleep(1)
|
256
|
-
# # @driver.find_element(:xpath, '//*[@id="account"]/div[2]/div/div/ul/li[3]/a/span')
|
257
|
-
# #@driver.get('https://blog.naver.com/'+user_id)
|
258
|
-
# # @driver.get('https://blog.naver.com/MyBlog.naver')
|
259
|
-
# @driver.find_element(:xpath, '//*[@id="account"]/div[2]/div/div/ul/li[3]/a').click
|
260
|
-
# sleep(1)
|
261
|
-
# @driver.find_element(:xpath, '//*[@id="account"]/div[3]/div[2]/div[1]/a[2]').click
|
262
|
-
# sleep(1)
|
263
|
-
# sleep(1)
|
264
|
-
# @driver.switch_to.window(@driver.window_handles[1])
|
265
|
-
# @user_id = @driver.current_url.split('/')[-1]
|
266
|
-
# @url = 'https://blog.naver.com/'+@user_id
|
267
|
-
# @driver.close
|
268
|
-
# @driver.switch_to.window(@driver.window_handles[0])
|
269
|
-
# return 1
|
270
|
-
# rescue => e
|
271
|
-
# puts e
|
272
|
-
# @driver.close
|
273
|
-
# return 0
|
274
|
-
# end
|
275
|
-
# end
|
276
|
-
end
|
277
|
-
|
278
|
-
def driver_close
|
279
|
-
begin
|
280
350
|
@driver.close
|
281
|
-
|
282
|
-
|
351
|
+
return 0
|
283
352
|
end
|
284
353
|
end
|
285
354
|
|
286
|
-
def title_action(text)
|
287
|
-
@driver.find_element(:xpath, '/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[1]/div[2]/section/article/div[1]/div[1]/div').click
|
288
|
-
Clipboard.copy(text)
|
289
|
-
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
290
|
-
end
|
291
|
-
|
292
|
-
def update_test
|
293
|
-
@driver.get('https://blog.naver.com/'+@user_id+'?Redirect=Write')
|
294
|
-
sleep(1)
|
295
|
-
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]'))
|
296
|
-
|
297
|
-
title_action('제목 test')
|
298
|
-
|
299
|
-
end
|
300
|
-
|
301
355
|
def create_id
|
302
356
|
@seed += 1
|
303
357
|
hash = Digest::SHA256.hexdigest((Time.now.to_i+@seed).to_s).to_s
|
@@ -623,52 +677,10 @@ class Naver
|
|
623
677
|
noko = Nokogiri::HTML(content, nil, Encoding::UTF_8.to_s)
|
624
678
|
toomung = 0
|
625
679
|
h = Hash.new
|
626
|
-
|
627
|
-
# h[:method] = 'POST'
|
628
|
-
# h[:path] = '/RabbitWrite.naver'
|
629
|
-
# h[:scheme] = 'https'
|
630
|
-
# h['accept'] = 'application/json, text/plain, */*'
|
631
|
-
# h['accept-encoding'] = 'gzip, deflate, br'
|
632
|
-
# h['accept-language'] = 'ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7'
|
633
|
-
# h['content-type'] = 'application/x-www-form-urlencoded'
|
634
|
-
# h['cookie'] = @cookie
|
635
|
-
# h['origin'] = 'https://blog.naver.com'
|
636
|
-
# h['referer'] = 'https://blog.naver.com/'+@user_id+'/postwrite?categoryNo=1'
|
637
|
-
# h['sec-ch-ua'] = '"Chromium";v="106", "Google Chrome";v="106", "Not;A=Brand";v="99"'
|
638
|
-
# h['sec-ch-ua-mobile'] = '?0'
|
639
|
-
# h['sec-ch-ua-platform'] = '"Windows"'
|
640
|
-
# h['sec-fetch-dest'] = 'empty'
|
641
|
-
# h['sec-fetch-mode'] = 'cors'
|
642
|
-
# h['sec-fetch-site'] = 'same-origin'
|
643
|
-
# h['user-agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
|
680
|
+
|
644
681
|
|
645
682
|
data = Hash.new
|
646
|
-
|
647
|
-
# data['documentModel'] = Hash.new
|
648
|
-
# data['documentModel']['documentId'] = ''
|
649
|
-
# data['documentModel']['document'] = Hash.new
|
650
|
-
# data['documentModel']['document']['version'] = '2.6.0'
|
651
|
-
# data['documentModel']['document']['theme'] = 'default'
|
652
|
-
# data['documentModel']['document']['language'] = 'ko-KR'
|
653
|
-
# data['documentModel']['document']['components'] = Array.new
|
654
|
-
# data['documentModel']['document']['components'][0] = {
|
655
|
-
# 'id' => create_id(),
|
656
|
-
# 'layout' => 'default',
|
657
|
-
# 'title' => [
|
658
|
-
# {
|
659
|
-
# 'id' => create_id(),
|
660
|
-
# 'nodes' => [{
|
661
|
-
# 'id' => create_id(),
|
662
|
-
# 'value' => title,
|
663
|
-
# '@ctype' => 'textNode'
|
664
|
-
# }],
|
665
|
-
# '@ctype' => 'paragraph'
|
666
|
-
# }
|
667
|
-
# ],
|
668
|
-
# 'subTitle' => nil,
|
669
|
-
# 'align' => 'left',
|
670
|
-
# '@ctype' => 'documentTitle'
|
671
|
-
# }
|
683
|
+
|
672
684
|
|
673
685
|
check_position = 1
|
674
686
|
noko.css('p').each do |i|
|
@@ -718,21 +730,7 @@ class Naver
|
|
718
730
|
sleep(3)
|
719
731
|
key_stroke('enter')
|
720
732
|
sleep(3)
|
721
|
-
|
722
|
-
# puts path = CGI.unescape(path)
|
723
|
-
# image_data = image_update(path)
|
724
|
-
# components_value = Hash.new
|
725
|
-
# components_value['id'] = create_id()
|
726
|
-
# components_value['layout'] = 'default'
|
727
|
-
# begin
|
728
|
-
# if i.to_s.split('text-align: ')[1].split(';')[0] == 'center'
|
729
|
-
# components_value['align'] = 'center'
|
730
|
-
# elsif i.to_s.split('text-align: ')[1].split(';')[0] == 'right'
|
731
|
-
# components_value['align'] = 'right'
|
732
|
-
# else
|
733
|
-
|
734
|
-
# end
|
735
|
-
# rescue
|
733
|
+
|
736
734
|
|
737
735
|
if i2.to_s.split('href="')[1] != nil
|
738
736
|
href2 = i2.to_s.split('href="')[1].split('"')[0]
|
@@ -748,30 +746,7 @@ class Naver
|
|
748
746
|
#key_stroke('enter')
|
749
747
|
sleep(1)
|
750
748
|
end
|
751
|
-
|
752
|
-
# components_value['src'] = 'https://blogfiles.pstatic.net'+image_data['item']['url']+'?type=w1'
|
753
|
-
# components_value['internalResource'] = true
|
754
|
-
# components_value['represent'] = true
|
755
|
-
# components_value['path'] = image_data['item']['url']
|
756
|
-
# components_value['domain'] = "https://blogfiles.pstatic.net"
|
757
|
-
# components_value['fileSize'] = image_data['item']['fileSize'].to_i
|
758
|
-
# components_value['width'] = image_data['item']['width'].to_i
|
759
|
-
# components_value['widthPercentage'] = 0
|
760
|
-
# components_value['height'] = image_data['item']['height'].to_i
|
761
|
-
# components_value['fileName'] = image_data['item']['fileName'].to_i
|
762
|
-
# components_value['caption'] = nil
|
763
|
-
# if i2.to_s.split('href="')[1] != nil
|
764
|
-
# components_value['link'] = CGI.unescape(i2.to_s.split('href="')[1].split('"')[0])
|
765
|
-
# end
|
766
|
-
# components_value['format'] = 'normal'
|
767
|
-
# components_value['displayFormat'] = 'normal'
|
768
|
-
# components_value['imageLoaded'] = true
|
769
|
-
# components_value['contentMode'] = 'fit'
|
770
|
-
# components_value['origin'] = {
|
771
|
-
# 'srcFrom' => 'local',
|
772
|
-
# '@ctype' => 'imageOrigin'
|
773
|
-
# }
|
774
|
-
# components_value['@ctype'] = 'image'
|
749
|
+
|
775
750
|
elsif i2.to_s.include?('<video')
|
776
751
|
path = i2.to_s.split('src="')[1].split('"')[0]
|
777
752
|
path = URI.decode_www_form(path)[0][0]
|
@@ -787,7 +762,14 @@ class Naver
|
|
787
762
|
key_up('ctrl')
|
788
763
|
sleep(3)
|
789
764
|
key_stroke('enter')
|
790
|
-
sleep(
|
765
|
+
sleep(2)
|
766
|
+
|
767
|
+
@driver.find_element(:xpath, '//*[@id="nvu_inp_box_title"]').send_keys(title)
|
768
|
+
sleep(1)
|
769
|
+
@driver.find_element(:xpath, '//*[@id="nvu_inp_box_description"]').send_keys(title)
|
770
|
+
sleep(1)
|
771
|
+
@driver.find_element(:xpath, '//*[@id="nvu_inp_box_tag"]').send_keys(title)
|
772
|
+
sleep(1)
|
791
773
|
|
792
774
|
for n in 1..10
|
793
775
|
puts @driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[2]/div[1]/ul/li/div/button[1]/div[2]/em').text
|
@@ -796,10 +778,15 @@ class Naver
|
|
796
778
|
end
|
797
779
|
sleep(10)
|
798
780
|
end
|
799
|
-
@driver.find_element(:xpath, '//*[@id="nvu_inp_box_title"]').send_keys(title)
|
800
|
-
sleep(5)
|
801
781
|
@driver.find_element(:xpath, '//*[@id="video-uploader-wrap"]/div/div/div[3]/button/span').click
|
802
782
|
sleep(3)
|
783
|
+
@driver.action.key_down(:up).key_up(:up).perform #x탭
|
784
|
+
sleep(1)
|
785
|
+
@driver.find_element(:xpath, '//*[@class="se-placeholder __se_placeholder se-ff-system se-fs13"]').click
|
786
|
+
@driver.action.send_keys(title).perform
|
787
|
+
sleep(1)
|
788
|
+
@driver.action.key_down(:enter).key_up(:enter).perform #엔터
|
789
|
+
sleep(1)
|
803
790
|
|
804
791
|
elsif i2.to_s.include?('<inyonggoo')
|
805
792
|
if i2.text == ''
|
@@ -1694,107 +1681,19 @@ class Wordpress
|
|
1694
1681
|
|
1695
1682
|
|
1696
1683
|
|
1697
|
-
def chrome_start(url, user_id, user_pw)
|
1698
|
-
|
1699
|
-
|
1700
|
-
|
1701
|
-
|
1702
|
-
|
1703
|
-
|
1704
|
-
|
1705
|
-
|
1706
|
-
|
1707
|
-
end
|
1684
|
+
#def chrome_start(url, user_id, user_pw)
|
1685
|
+
# @url = url
|
1686
|
+
# @user_id = user_id
|
1687
|
+
# @user_pw = user_pw
|
1688
|
+
# begin
|
1689
|
+
# Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
1690
|
+
# @driver = Selenium::WebDriver.for :chrome
|
1691
|
+
# rescue
|
1692
|
+
# @driver = Selenium::WebDriver.for :chrome
|
1693
|
+
# end
|
1694
|
+
#end
|
1708
1695
|
|
1709
|
-
|
1710
|
-
@driver.get(@url+'/wp-admin')
|
1711
|
-
@driver.find_element(:xpath , '//*[@id="user_login"]').send_keys(@user_id)
|
1712
|
-
@driver.find_element(:xpath , '//*[@id="user_pass"]').send_keys(@user_pw)
|
1713
|
-
@driver.find_element(:xpath , '//*[@id="wp-submit"]').click
|
1714
|
-
@cookie = Hash.new
|
1715
|
-
@driver.manage.all_cookies.each do |i|
|
1716
|
-
@cookie[i[:name]] = i[:value]
|
1717
|
-
end
|
1718
|
-
sleep(2)
|
1719
|
-
begin
|
1720
|
-
puts @driver.find_element(:xpath , '/html/body/div/div/div[1]/div[1]/div/div[1]/a[1]/span').text
|
1721
|
-
@driver.close
|
1722
|
-
return 1
|
1723
|
-
rescue => e
|
1724
|
-
puts e
|
1725
|
-
@driver.close
|
1726
|
-
return 0
|
1727
|
-
end
|
1728
|
-
end
|
1729
|
-
|
1730
|
-
def update
|
1731
|
-
http = HTTP.cookies(@cookie).get(@url+'/wp-admin/post-new.php')
|
1732
|
-
noko = Nokogiri::HTML(http.to_s)
|
1733
|
-
@wpnonce = http.to_s.split('_wpnonce":"')[1].split('"')[0]
|
1734
|
-
@data2 = Hash.new
|
1735
|
-
@data2['_wpnonce'] = noko.xpath('//*[@id="_wpnonce"]')[0]['value']
|
1736
|
-
@data2['_wp_http_referer'] = '/wp-admin/post-new.php'
|
1737
|
-
@data2['user_ID'] = '1'
|
1738
|
-
@data2['action'] = 'editpost'
|
1739
|
-
@data2['originalaction'] = 'editpost'
|
1740
|
-
@data2['post_author'] = '1'
|
1741
|
-
@data2['post_type'] = 'post'
|
1742
|
-
@data2['original_post_status'] = 'auto-draft'
|
1743
|
-
@data2['referredby'] = @url+'/wp-admin/update-core.php'
|
1744
|
-
@data2['_wp_original_http_referer'] = @url+'/wp-admin/update-core.php'
|
1745
|
-
@data2['auto_draft'] = nil
|
1746
|
-
@data2['post_ID'] = noko.xpath('//*[@id="post_ID"]')[0]['value']
|
1747
|
-
@data2['meta-box-order-nonce'] = noko.xpath('//*[@id="meta-box-order-nonce"]')[0]['value']
|
1748
|
-
@data2['closedpostboxesnonce'] = noko.xpath('//*[@id="closedpostboxesnonce"]')[0]['value']
|
1749
|
-
@data2['post_title'] = 'title3'
|
1750
|
-
@data2['samplepermalinknonce'] = noko.xpath('//*[@id="samplepermalinknonce"]')[0]['value']
|
1751
|
-
@data2['content'] = 'content3'
|
1752
|
-
@data2['wp-preview'] = nil
|
1753
|
-
@data2['hidden_post_status'] = 'draft'
|
1754
|
-
@data2['post_status'] = 'draft'
|
1755
|
-
@data2['hidden_post_password'] = nil
|
1756
|
-
@data2['hidden_post_visibility'] = 'public'
|
1757
|
-
@data2['visibility'] = 'post'
|
1758
|
-
@data2['post_password'] = nil
|
1759
|
-
@data2['mm'] = '10'
|
1760
|
-
@data2['jj'] = '24'
|
1761
|
-
@data2['aa'] = '2022'
|
1762
|
-
@data2['hh'] = '02'
|
1763
|
-
@data2['mn'] = '41'
|
1764
|
-
@data2['ss'] = '32'
|
1765
|
-
@data2['hidden_mm'] = '10'
|
1766
|
-
@data2['cur_mm'] = '10'
|
1767
|
-
@data2['hidden_jj'] = '24'
|
1768
|
-
@data2['cur_jj'] = '24'
|
1769
|
-
@data2['hidden_aa'] = '2022'
|
1770
|
-
@data2['cur_aa'] = '2022'
|
1771
|
-
@data2['hidden_hh'] = '02'
|
1772
|
-
@data2['cur_hh'] = '02'
|
1773
|
-
@data2['hidden_mn'] = '41'
|
1774
|
-
@data2['cur_mn'] = '41'
|
1775
|
-
@data2['original_publish'] = '공개'
|
1776
|
-
@data2['publish'] = '공개'
|
1777
|
-
@data2['post_format'] = '0'
|
1778
|
-
@data2['post_category[]'] = '0'
|
1779
|
-
@data2['newcategory'] = '새 카테고리 이름'
|
1780
|
-
@data2['newcategory_parent'] = -1
|
1781
|
-
@data2['_ajax_nonce-add-category'] = noko.xpath('//*[@id="_ajax_nonce-add-category"]')[0]['value']
|
1782
|
-
@data2['tax_input[post_tag]'] = nil
|
1783
|
-
@data2['newtag[post_tag]'] = nil
|
1784
|
-
@data2['_thumbnail_id'] = -1
|
1785
|
-
@data2['excerpt'] = nil
|
1786
|
-
@data2['trackback_url'] = nil
|
1787
|
-
@data2['metakeyinput'] = nil
|
1788
|
-
@data2['metavalue'] = nil
|
1789
|
-
@data2['_ajax_nonce-add-meta'] = noko.xpath('//*[@id="_ajax_nonce-add-meta"]')[0]['value']
|
1790
|
-
@data2['advanced_view'] = '1'
|
1791
|
-
@data2['comment_status'] = 'open'
|
1792
|
-
@data2['ping_status'] = 'open'
|
1793
|
-
@data2['post_name'] = nil
|
1794
|
-
@data2['post_author_override'] = '1'
|
1795
|
-
#result_http = HTTP.cookies(@cookie).post(@url+'/wp-admin/post.php', :form => @data)
|
1796
|
-
return @data2
|
1797
|
-
end
|
1696
|
+
|
1798
1697
|
|
1799
1698
|
def auto_image
|
1800
1699
|
begin
|
@@ -2023,8 +1922,7 @@ class Wordpress
|
|
2023
1922
|
@inumber2 = 0
|
2024
1923
|
@video = Array.new
|
2025
1924
|
|
2026
|
-
|
2027
|
-
|
1925
|
+
|
2028
1926
|
while true
|
2029
1927
|
for n in 0..@data['table'].length-1
|
2030
1928
|
@data['table'][n][10] = 0
|
@@ -2117,6 +2015,13 @@ class Wordpress
|
|
2117
2015
|
end
|
2118
2016
|
end
|
2119
2017
|
end
|
2018
|
+
|
2019
|
+
if @data['포스트설정']['gpt제목'].checked?
|
2020
|
+
chat = Chat_title.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'))
|
2021
|
+
gpt_text1 = chat.message(title)
|
2022
|
+
title = gpt_text1.to_s
|
2023
|
+
end
|
2024
|
+
|
2120
2025
|
@data['table'][index][-1] = 5
|
2121
2026
|
@data['table'] << []
|
2122
2027
|
@data['table'].pop
|
@@ -2154,6 +2059,25 @@ class Wordpress
|
|
2154
2059
|
end
|
2155
2060
|
end
|
2156
2061
|
end
|
2062
|
+
|
2063
|
+
|
2064
|
+
if @data['포스트설정']['gpt내용'].checked?
|
2065
|
+
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
2066
|
+
#key_change = @data['포스트설정']['특정단어키워드로변경값'].text.to_s.force_encoding('utf-8')
|
2067
|
+
#imotcon_change = @data['포스트설정']['스티커로변경단어'].text.to_s.force_encoding('utf-8')
|
2068
|
+
#template_change = @data['포스트설정']['내템플릿변경단어'].text.to_s.force_encoding('utf-8')
|
2069
|
+
#ttdanar_change = @data['포스트설정']['단어링크적용단어'].text.to_s.force_encoding('utf-8')
|
2070
|
+
#sajine_change = @data['포스트설정']['단어사진으로변경단어'].text.to_s.force_encoding('utf-8')
|
2071
|
+
#mov_change = @data['포스트설정']['영상으로변경단어'].text.to_s.force_encoding('utf-8')
|
2072
|
+
#map_change = @data['포스트설정']['지도로변경단어'].text.to_s.force_encoding('utf-8')
|
2073
|
+
#inyong9_change = @data['포스트설정']['인용구변경단어'].text.to_s.force_encoding('utf-8')
|
2074
|
+
|
2075
|
+
|
2076
|
+
chat = Chat_content.new(api_key)
|
2077
|
+
gpt_text3 = chat.message(content)
|
2078
|
+
content = gpt_text3.to_s
|
2079
|
+
end
|
2080
|
+
|
2157
2081
|
content_tag = content.split('@##@')[1]
|
2158
2082
|
content = content.split('@##@')[0]
|
2159
2083
|
@data['table'][index][-1] = 15
|
@@ -2352,7 +2276,7 @@ class Wordpress
|
|
2352
2276
|
@data['table'][index][-1] = 50
|
2353
2277
|
@data['table'] << []
|
2354
2278
|
@data['table'].pop
|
2355
|
-
if @data['포스트설정']['gpt'].checked?
|
2279
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
2356
2280
|
chat = Chat.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'))
|
2357
2281
|
gpt_text = chat.message(keyword)
|
2358
2282
|
content = content + "\n(자동생성글)\n" + gpt_text
|
@@ -2373,7 +2297,7 @@ class Wordpress
|
|
2373
2297
|
joongbok_check = 0
|
2374
2298
|
counter10 = 0
|
2375
2299
|
while joongbok_check == 0
|
2376
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2300
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2377
2301
|
content22 = content.split("(자동생성글)")[1].split("\n")
|
2378
2302
|
else
|
2379
2303
|
content22 = content.split("\n")
|
@@ -2397,12 +2321,12 @@ class Wordpress
|
|
2397
2321
|
content2 = content.split("\n")
|
2398
2322
|
end
|
2399
2323
|
|
2400
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2324
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2401
2325
|
content2 = content.split("(자동생성글)")[1].split("\n")
|
2402
2326
|
position.pop
|
2403
2327
|
end
|
2404
2328
|
|
2405
|
-
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt'].checked? == false
|
2329
|
+
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt키워드'].checked? == false
|
2406
2330
|
content2 = content.split("\n")
|
2407
2331
|
end
|
2408
2332
|
|
@@ -2448,7 +2372,7 @@ class Wordpress
|
|
2448
2372
|
content = content3.join("\n")
|
2449
2373
|
end
|
2450
2374
|
|
2451
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2375
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2452
2376
|
content2.each_with_index do |con, index|
|
2453
2377
|
if position.include?(index)
|
2454
2378
|
insert_keyword_text = keyword.to_s
|
@@ -2478,7 +2402,7 @@ class Wordpress
|
|
2478
2402
|
end
|
2479
2403
|
end
|
2480
2404
|
|
2481
|
-
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt'].checked? == false
|
2405
|
+
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt키워드'].checked? == false
|
2482
2406
|
begin
|
2483
2407
|
content2.each_with_index do |con, index|
|
2484
2408
|
if position.include?(index)
|
@@ -2573,7 +2497,7 @@ class Wordpress
|
|
2573
2497
|
end
|
2574
2498
|
end
|
2575
2499
|
|
2576
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2500
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2577
2501
|
if @data['포스트설정']['자동글 수식에 입력'].checked?
|
2578
2502
|
content5 = content.split("(자동생성글)")[0].to_s.split("\n")
|
2579
2503
|
content55 = content.split("(자동생성글)")[1].to_s
|
@@ -2605,7 +2529,7 @@ class Wordpress
|
|
2605
2529
|
|
2606
2530
|
position = position.sort
|
2607
2531
|
##여기서부터 이미지 순서대로 안되서 변경####-------------------------------------------------------------------------------
|
2608
|
-
# if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2532
|
+
# if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2609
2533
|
# image_url22 = get_image_file().force_encoding('utf-8')
|
2610
2534
|
# end
|
2611
2535
|
|
@@ -2623,7 +2547,7 @@ class Wordpress
|
|
2623
2547
|
# end
|
2624
2548
|
# end
|
2625
2549
|
|
2626
|
-
# if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2550
|
+
# if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2627
2551
|
# content = content5.join("\n")+'(자동생성글)'+content55
|
2628
2552
|
# iconv = Iconv.new('UTF-8', 'ASCII-8BIT')
|
2629
2553
|
# content = iconv.iconv(content)
|
@@ -2643,7 +2567,7 @@ class Wordpress
|
|
2643
2567
|
###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
|
2644
2568
|
|
2645
2569
|
##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
|
2646
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2570
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2647
2571
|
sleep(2)
|
2648
2572
|
puts '이미지 자동 세탁 중 · · · '
|
2649
2573
|
end
|
@@ -2662,7 +2586,7 @@ class Wordpress
|
|
2662
2586
|
end
|
2663
2587
|
sleep(2)
|
2664
2588
|
puts '이미지 자동 세탁 완료 · · · '
|
2665
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2589
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2666
2590
|
content = content5.join("\n")+'(자동생성글)'+content55
|
2667
2591
|
puts content
|
2668
2592
|
##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
|
@@ -2807,7 +2731,7 @@ class Wordpress
|
|
2807
2731
|
content = content
|
2808
2732
|
soosick_1 = content_end
|
2809
2733
|
else
|
2810
|
-
if @data['포스트설정']['gpt'].checked?
|
2734
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
2811
2735
|
if @data['포스트설정']['gpt상단'].checked?
|
2812
2736
|
content = content_end+"\n"+content+"\n"
|
2813
2737
|
else
|
@@ -3477,7 +3401,10 @@ class Wordpress
|
|
3477
3401
|
}
|
3478
3402
|
horizontal_box{
|
3479
3403
|
stretchy false
|
3404
|
+
grid{
|
3480
3405
|
button('전체선택'){
|
3406
|
+
top 1
|
3407
|
+
left 1
|
3481
3408
|
on_clicked{
|
3482
3409
|
for n in 0..@data['키워드설정']['키워드'].length-1
|
3483
3410
|
@data['키워드설정']['키워드'][n][0] = true
|
@@ -3486,7 +3413,20 @@ class Wordpress
|
|
3486
3413
|
end
|
3487
3414
|
}
|
3488
3415
|
}
|
3489
|
-
button('
|
3416
|
+
button('선택해제'){
|
3417
|
+
top 1
|
3418
|
+
left 2
|
3419
|
+
on_clicked{
|
3420
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3421
|
+
@data['키워드설정']['키워드'][n][0] = false
|
3422
|
+
@data['키워드설정']['키워드'] << []
|
3423
|
+
@data['키워드설정']['키워드'].pop
|
3424
|
+
end
|
3425
|
+
}
|
3426
|
+
}
|
3427
|
+
button('삭제하기'){
|
3428
|
+
top 1
|
3429
|
+
left 3
|
3490
3430
|
on_clicked{
|
3491
3431
|
m = Array.new
|
3492
3432
|
for n in 0..@data['키워드설정']['키워드'].length-1
|
@@ -3501,6 +3441,8 @@ class Wordpress
|
|
3501
3441
|
@data['키워드설정']['키워드'].delete(nil)
|
3502
3442
|
}
|
3503
3443
|
}
|
3444
|
+
}
|
3445
|
+
|
3504
3446
|
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3505
3447
|
stretchy false
|
3506
3448
|
on_toggled{ |c|
|
@@ -3518,6 +3460,59 @@ class Wordpress
|
|
3518
3460
|
}
|
3519
3461
|
}
|
3520
3462
|
}
|
3463
|
+
vertical_separator{
|
3464
|
+
stretchy false
|
3465
|
+
}
|
3466
|
+
horizontal_box{
|
3467
|
+
stretchy false
|
3468
|
+
grid{
|
3469
|
+
@data['포스트설정']['gpt키워드'] = checkbox('GPT 키워드 기반 글 생성'){
|
3470
|
+
top 1
|
3471
|
+
left 0
|
3472
|
+
#enabled false # 기본적으로 비활성화
|
3473
|
+
on_toggled {
|
3474
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
3475
|
+
@data['포스트설정']['gpt상단'].enabled = true # '내용투명' 활성화
|
3476
|
+
@data['포스트설정']['gpt하단'].enabled = true # '내용투명' 활성화
|
3477
|
+
else
|
3478
|
+
@data['포스트설정']['gpt상단'].checked = false # 체크 해제
|
3479
|
+
@data['포스트설정']['gpt상단'].enabled = false # 비활성화
|
3480
|
+
@data['포스트설정']['gpt하단'].checked = false # 체크 해제
|
3481
|
+
@data['포스트설정']['gpt하단'].enabled = false # 비활성화
|
3482
|
+
end
|
3483
|
+
}
|
3484
|
+
|
3485
|
+
}
|
3486
|
+
|
3487
|
+
@data['포스트설정']['gpt상단'] = checkbox('원고 위에 넣기'){
|
3488
|
+
top 1
|
3489
|
+
left 1
|
3490
|
+
enabled false # 기본적으로 비활성화
|
3491
|
+
on_toggled{
|
3492
|
+
if @data['포스트설정']['gpt상단'].checked?
|
3493
|
+
@data['포스트설정']['gpt하단'].checked = false
|
3494
|
+
end
|
3495
|
+
}
|
3496
|
+
}
|
3497
|
+
|
3498
|
+
@data['포스트설정']['gpt하단'] = checkbox('원고 아래 넣기'){
|
3499
|
+
top 1
|
3500
|
+
left 2
|
3501
|
+
enabled false # 기본적으로 비활성화
|
3502
|
+
on_toggled{
|
3503
|
+
if @data['포스트설정']['gpt하단'].checked?
|
3504
|
+
@data['포스트설정']['gpt상단'].checked = false
|
3505
|
+
end
|
3506
|
+
}
|
3507
|
+
}
|
3508
|
+
} }
|
3509
|
+
horizontal_box{
|
3510
|
+
stretchy false
|
3511
|
+
grid{
|
3512
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3513
|
+
} } }
|
3514
|
+
|
3515
|
+
|
3521
3516
|
table{
|
3522
3517
|
checkbox_column('선택'){
|
3523
3518
|
editable true
|
@@ -3528,7 +3523,9 @@ class Wordpress
|
|
3528
3523
|
|
3529
3524
|
cell_rows @data['키워드설정']['키워드']
|
3530
3525
|
}
|
3531
|
-
|
3526
|
+
|
3527
|
+
|
3528
|
+
|
3532
3529
|
}
|
3533
3530
|
vertical_separator{
|
3534
3531
|
stretchy false
|
@@ -3557,7 +3554,10 @@ class Wordpress
|
|
3557
3554
|
}
|
3558
3555
|
horizontal_box{
|
3559
3556
|
stretchy false
|
3557
|
+
grid{
|
3560
3558
|
button('전체선택'){
|
3559
|
+
top 1
|
3560
|
+
left 1
|
3561
3561
|
on_clicked{
|
3562
3562
|
for n in 0..@data['제목설정']['제목'].length-1
|
3563
3563
|
@data['제목설정']['제목'][n][0] = true
|
@@ -3566,7 +3566,20 @@ class Wordpress
|
|
3566
3566
|
end
|
3567
3567
|
}
|
3568
3568
|
}
|
3569
|
-
button('
|
3569
|
+
button('선택해제'){
|
3570
|
+
top 1
|
3571
|
+
left 2
|
3572
|
+
on_clicked{
|
3573
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3574
|
+
@data['제목설정']['제목'][n][0] = false
|
3575
|
+
@data['제목설정']['제목'] << []
|
3576
|
+
@data['제목설정']['제목'].pop
|
3577
|
+
end
|
3578
|
+
}
|
3579
|
+
}
|
3580
|
+
button('삭제하기'){
|
3581
|
+
top 1
|
3582
|
+
left 3
|
3570
3583
|
on_clicked{
|
3571
3584
|
m = Array.new
|
3572
3585
|
for n in 0..@data['제목설정']['제목'].length-1
|
@@ -3581,6 +3594,7 @@ class Wordpress
|
|
3581
3594
|
@data['제목설정']['제목'].delete(nil)
|
3582
3595
|
}
|
3583
3596
|
}
|
3597
|
+
}
|
3584
3598
|
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3585
3599
|
stretchy false
|
3586
3600
|
on_toggled{ |c|
|
@@ -3598,6 +3612,23 @@ class Wordpress
|
|
3598
3612
|
}
|
3599
3613
|
}
|
3600
3614
|
}
|
3615
|
+
vertical_separator{
|
3616
|
+
stretchy false
|
3617
|
+
}
|
3618
|
+
horizontal_box{
|
3619
|
+
stretchy false
|
3620
|
+
grid{
|
3621
|
+
@data['포스트설정']['gpt제목'] = checkbox('제목을 이용해 GPT로 비슷한 제목 생성'){
|
3622
|
+
|
3623
|
+
|
3624
|
+
}}}
|
3625
|
+
horizontal_box{
|
3626
|
+
stretchy false
|
3627
|
+
grid{
|
3628
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3629
|
+
} } }
|
3630
|
+
|
3631
|
+
|
3601
3632
|
table{
|
3602
3633
|
checkbox_column('선택'){
|
3603
3634
|
editable true
|
@@ -3608,6 +3639,7 @@ class Wordpress
|
|
3608
3639
|
|
3609
3640
|
cell_rows @data['제목설정']['제목']
|
3610
3641
|
}
|
3642
|
+
|
3611
3643
|
|
3612
3644
|
}
|
3613
3645
|
vertical_separator{
|
@@ -3635,7 +3667,10 @@ class Wordpress
|
|
3635
3667
|
}
|
3636
3668
|
horizontal_box{
|
3637
3669
|
stretchy false
|
3670
|
+
grid{
|
3638
3671
|
button('전체선택'){
|
3672
|
+
top 1
|
3673
|
+
left 1
|
3639
3674
|
on_clicked{
|
3640
3675
|
for n in 0..@data['내용설정']['내용'].length-1
|
3641
3676
|
@data['내용설정']['내용'][n][0] = true
|
@@ -3644,7 +3679,20 @@ class Wordpress
|
|
3644
3679
|
end
|
3645
3680
|
}
|
3646
3681
|
}
|
3647
|
-
button('
|
3682
|
+
button('선택해제'){
|
3683
|
+
top 1
|
3684
|
+
left 2
|
3685
|
+
on_clicked{
|
3686
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3687
|
+
@data['내용설정']['내용'][n][0] = false
|
3688
|
+
@data['내용설정']['내용'] << []
|
3689
|
+
@data['내용설정']['내용'].pop
|
3690
|
+
end
|
3691
|
+
}
|
3692
|
+
}
|
3693
|
+
button('삭제하기'){
|
3694
|
+
top 1
|
3695
|
+
left 3
|
3648
3696
|
on_clicked{
|
3649
3697
|
m = Array.new
|
3650
3698
|
for n in 0..@data['내용설정']['내용'].length-1
|
@@ -3659,6 +3707,7 @@ class Wordpress
|
|
3659
3707
|
@data['내용설정']['내용'].delete(nil)
|
3660
3708
|
}
|
3661
3709
|
}
|
3710
|
+
}
|
3662
3711
|
@data['내용설정']['순서사용'] = checkbox('순서사용'){
|
3663
3712
|
stretchy false
|
3664
3713
|
on_toggled{ |c|
|
@@ -3676,6 +3725,22 @@ class Wordpress
|
|
3676
3725
|
}
|
3677
3726
|
}
|
3678
3727
|
}
|
3728
|
+
vertical_separator{
|
3729
|
+
stretchy false
|
3730
|
+
}
|
3731
|
+
horizontal_box{
|
3732
|
+
stretchy false
|
3733
|
+
grid{
|
3734
|
+
@data['포스트설정']['gpt내용'] = checkbox('내용파일을 이용해 GPT로 글 변형'){
|
3735
|
+
|
3736
|
+
|
3737
|
+
}}}
|
3738
|
+
horizontal_box{
|
3739
|
+
stretchy false
|
3740
|
+
grid{
|
3741
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3742
|
+
} } }
|
3743
|
+
|
3679
3744
|
table{
|
3680
3745
|
checkbox_column('선택'){
|
3681
3746
|
editable true
|
@@ -3693,8 +3758,8 @@ class Wordpress
|
|
3693
3758
|
stretchy false
|
3694
3759
|
text "내용폴더경로 ex)C:\\내용\\폴더1"
|
3695
3760
|
}
|
3696
|
-
button('
|
3697
|
-
|
3761
|
+
button('폴더째로 불러오기'){
|
3762
|
+
|
3698
3763
|
on_clicked{
|
3699
3764
|
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3700
3765
|
Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
|
@@ -3792,7 +3857,7 @@ class Wordpress
|
|
3792
3857
|
text "사진폴더경로 ex)C:\\사진\\폴더2"
|
3793
3858
|
}
|
3794
3859
|
button('폴더째로불러오기'){
|
3795
|
-
|
3860
|
+
|
3796
3861
|
on_clicked{
|
3797
3862
|
path = @data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3798
3863
|
Dir.entries(@data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8')).each do |file|
|
@@ -4045,6 +4110,18 @@ class Wordpress
|
|
4045
4110
|
@data['포스트설정']['제목에키워드삽입'] = checkbox('제목에 키워드 삽입'){
|
4046
4111
|
top 2
|
4047
4112
|
left 0
|
4113
|
+
#enabled false # 기본적으로 비활성화
|
4114
|
+
on_toggled {
|
4115
|
+
if @data['포스트설정']['제목에키워드삽입'].checked?
|
4116
|
+
@data['포스트설정']['제목앞'].enabled = true # '내용투명' 활성화
|
4117
|
+
@data['포스트설정']['제목뒤'].enabled = true # '내용투명' 활성화
|
4118
|
+
else
|
4119
|
+
@data['포스트설정']['제목앞'].checked = false # 체크 해제
|
4120
|
+
@data['포스트설정']['제목앞'].enabled = false # 비활성화
|
4121
|
+
@data['포스트설정']['제목뒤'].checked = false # 체크 해제
|
4122
|
+
@data['포스트설정']['제목뒤'].enabled = false # 비활성화
|
4123
|
+
end
|
4124
|
+
}
|
4048
4125
|
}
|
4049
4126
|
@data['포스트설정']['제목에키워드삽입숫자1'] = entry(){
|
4050
4127
|
top 2
|
@@ -4067,6 +4144,7 @@ class Wordpress
|
|
4067
4144
|
@data['포스트설정']['제목앞'] = checkbox('제목에 키워드 삽입 제목 앞'){
|
4068
4145
|
top 3
|
4069
4146
|
left 3
|
4147
|
+
enabled false # 기본적으로 비활성화
|
4070
4148
|
on_toggled{
|
4071
4149
|
if @data['포스트설정']['제목앞'].checked? == true
|
4072
4150
|
if @data['포스트설정']['제목뒤'].checked?
|
@@ -4082,6 +4160,7 @@ class Wordpress
|
|
4082
4160
|
@data['포스트설정']['제목뒤'] = checkbox('제목에 키워드 삽입 제목 뒤'){
|
4083
4161
|
top 4
|
4084
4162
|
left 3
|
4163
|
+
enabled false # 기본적으로 비활성화
|
4085
4164
|
on_toggled{
|
4086
4165
|
if @data['포스트설정']['제목뒤'].checked? == true
|
4087
4166
|
if @data['포스트설정']['제목앞'].checked?
|
@@ -4090,26 +4169,51 @@ class Wordpress
|
|
4090
4169
|
end
|
4091
4170
|
}
|
4092
4171
|
}
|
4093
|
-
@data['포스트설정']['
|
4172
|
+
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4094
4173
|
top 4
|
4095
4174
|
left 0
|
4096
4175
|
}
|
4097
|
-
|
4098
|
-
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4176
|
+
@data['포스트설정']['제목을랜덤'] = checkbox('제목을 랜덤 단어 조합으로 자동 입력'){
|
4099
4177
|
top 5
|
4100
4178
|
left 0
|
4179
|
+
on_toggled{
|
4180
|
+
if @data['포스트설정']['제목을랜덤'].checked? == true
|
4181
|
+
if @data['포스트설정']['제목내용설정'].checked?
|
4182
|
+
@data['포스트설정']['제목내용설정'].checked = false
|
4183
|
+
end
|
4184
|
+
end
|
4185
|
+
}
|
4101
4186
|
}
|
4102
|
-
@data['포스트설정']['
|
4187
|
+
@data['포스트설정']['제목내용설정'] = checkbox('내용의 첫 문장을 제목으로 설정'){
|
4103
4188
|
top 6
|
4104
4189
|
left 0
|
4190
|
+
on_toggled{
|
4191
|
+
if @data['포스트설정']['제목내용설정'].checked? == true
|
4192
|
+
if @data['포스트설정']['제목을랜덤'].checked?
|
4193
|
+
@data['포스트설정']['제목을랜덤'].checked = false
|
4194
|
+
end
|
4195
|
+
end
|
4196
|
+
}
|
4105
4197
|
}
|
4106
4198
|
@data['포스트설정']['내용키워드삽입'] = checkbox('내용 키워드 삽입'){
|
4107
4199
|
top 7
|
4108
4200
|
left 0
|
4201
|
+
on_toggled {
|
4202
|
+
if @data['포스트설정']['내용키워드삽입'].checked?
|
4203
|
+
@data['포스트설정']['키워드삽입'].enabled = true # '내용투명' 활성화
|
4204
|
+
@data['포스트설정']['키워드삽입시링크'].enabled = true # '내용투명' 활성화
|
4205
|
+
else
|
4206
|
+
@data['포스트설정']['키워드삽입'].checked = false # 체크 해제
|
4207
|
+
@data['포스트설정']['키워드삽입'].enabled = false # 비활성화
|
4208
|
+
@data['포스트설정']['키워드삽입시링크'].text = 'URL' # 기본 텍스트 설정
|
4209
|
+
@data['포스트설정']['키워드삽입시링크'].enabled = false # 비활성화
|
4210
|
+
end
|
4211
|
+
}
|
4109
4212
|
}
|
4110
4213
|
@data['포스트설정']['키워드삽입시작숫자'] = entry(){
|
4111
4214
|
top 7
|
4112
4215
|
left 1
|
4216
|
+
|
4113
4217
|
text '최소수량'
|
4114
4218
|
}
|
4115
4219
|
label('~'){
|
@@ -4122,63 +4226,61 @@ class Wordpress
|
|
4122
4226
|
text '최대수량'
|
4123
4227
|
}
|
4124
4228
|
@data['포스트설정']['키워드삽입'] = checkbox('내용 키워드 삽입시 링크 삽입'){
|
4229
|
+
enabled false # 기본적으로 비활성화
|
4125
4230
|
top 8
|
4126
4231
|
left 0
|
4127
4232
|
}
|
4128
4233
|
@data['포스트설정']['키워드삽입시링크'] = entry(){
|
4234
|
+
enabled false # 기본적으로 비활성화
|
4129
4235
|
top 8
|
4130
4236
|
left 1
|
4131
4237
|
text 'URL'
|
4132
4238
|
}
|
4133
|
-
@data['포스트설정']['내용을자동생성'] = checkbox('
|
4239
|
+
@data['포스트설정']['내용을자동생성'] = checkbox('키워드기반 생성으로만 등록(GPT 미 사용시 자체 생성)'){
|
4134
4240
|
top 9
|
4135
4241
|
left 0
|
4136
4242
|
on_toggled{
|
4137
4243
|
if @data['포스트설정']['내용을자동생성'].checked?
|
4138
|
-
|
4139
|
-
|
4140
|
-
|
4244
|
+
@data['포스트설정']['내용과자동생성'].checked = false
|
4245
|
+
@data['포스트설정']['내용투명'].checked = false
|
4246
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false
|
4247
|
+
|
4141
4248
|
end
|
4142
4249
|
}
|
4143
4250
|
}
|
4144
4251
|
|
4145
|
-
@data['포스트설정']['gpt'] = checkbox('내용을 키워드 기반의 GPT로 생성해서 포스팅'){
|
4146
|
-
top 10
|
4147
|
-
left 0
|
4148
|
-
}
|
4149
4252
|
|
4150
|
-
|
4151
|
-
top 10
|
4152
|
-
left 1
|
4153
|
-
text 'api key'
|
4154
|
-
}
|
4155
|
-
|
4156
|
-
@data['포스트설정']['gpt상단'] = checkbox('원고내용 위에 넣기'){
|
4157
|
-
top 10
|
4158
|
-
left 3
|
4159
|
-
}
|
4160
|
-
|
4161
|
-
@data['포스트설정']['gpt하단'] = checkbox('원고내용 아래에 넣기'){
|
4162
|
-
top 11
|
4163
|
-
left 3
|
4164
|
-
}
|
4253
|
+
|
4165
4254
|
|
4166
4255
|
aa1 = 2
|
4167
|
-
@data['포스트설정']['내용과자동생성'] = checkbox('
|
4256
|
+
@data['포스트설정']['내용과자동생성'] = checkbox('내용파일+키워드기반 생성 등록(GPT 미 사용시 자체 생성)') {
|
4168
4257
|
top 10 + aa1
|
4169
4258
|
left 0
|
4170
|
-
on_toggled{
|
4171
|
-
|
4172
|
-
|
4173
|
-
|
4174
|
-
|
4175
|
-
|
4259
|
+
on_toggled {
|
4260
|
+
if @data['포스트설정']['내용과자동생성'].checked?
|
4261
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4262
|
+
@data['포스트설정']['내용투명'].enabled = true # '내용투명' 활성화
|
4263
|
+
@data['포스트설정']['자동글 수식에 입력'].enabled = true # '내용투명' 활성화
|
4264
|
+
else
|
4265
|
+
@data['포스트설정']['내용투명'].checked = false # 체크 해제
|
4266
|
+
@data['포스트설정']['내용투명'].enabled = false # 비활성화
|
4267
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false # 체크 해제
|
4268
|
+
@data['포스트설정']['자동글 수식에 입력'].enabled = false # 비활성화
|
4269
|
+
end
|
4176
4270
|
}
|
4177
|
-
|
4178
|
-
|
4179
|
-
|
4271
|
+
}
|
4272
|
+
|
4273
|
+
@data['포스트설정']['내용투명'] = checkbox('키워드 기반 자동 생성글 안보이게 처리') {
|
4274
|
+
top 11 + aa1
|
4180
4275
|
left 0
|
4181
|
-
|
4276
|
+
enabled false # 기본적으로 비활성화
|
4277
|
+
on_toggled {
|
4278
|
+
if @data['포스트설정']['내용투명'].checked?
|
4279
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4280
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false
|
4281
|
+
end
|
4282
|
+
}
|
4283
|
+
}
|
4182
4284
|
@data['포스트설정']['내용자동변경'] = checkbox('내용에 단어들을 자동 변경'){
|
4183
4285
|
top 12+ aa1
|
4184
4286
|
left 0
|
@@ -4206,6 +4308,18 @@ class Wordpress
|
|
4206
4308
|
@data['포스트설정']['내용사진자동삽입'] = checkbox('내용 사진 자동 삽입'){
|
4207
4309
|
top 13+ aa1
|
4208
4310
|
left 0
|
4311
|
+
#enabled false # 기본적으로 비활성화
|
4312
|
+
on_toggled {
|
4313
|
+
if @data['포스트설정']['내용사진자동삽입'].checked?
|
4314
|
+
@data['포스트설정']['내용사진링크'].enabled = true # '내용투명' 활성화
|
4315
|
+
@data['포스트설정']['내용사진링크값'].enabled = true # '내용투명' 활성화
|
4316
|
+
else
|
4317
|
+
@data['포스트설정']['내용사진링크'].checked = false # 체크 해제
|
4318
|
+
@data['포스트설정']['내용사진링크'].enabled = false # 비활성화
|
4319
|
+
@data['포스트설정']['내용사진링크값'].text = 'URL' # 기본 텍스트 설정
|
4320
|
+
@data['포스트설정']['내용사진링크값'].enabled = false # 비활성화
|
4321
|
+
end
|
4322
|
+
}
|
4209
4323
|
}
|
4210
4324
|
@data['포스트설정']['내용사진자동삽입시작숫자'] = entry(){
|
4211
4325
|
top 13+ aa1
|
@@ -4223,15 +4337,28 @@ class Wordpress
|
|
4223
4337
|
}
|
4224
4338
|
|
4225
4339
|
@data['포스트설정']['내용사진링크'] = checkbox('내용 사진 자동 삽입시 링크 삽입'){
|
4340
|
+
enabled false # 기본적으로 비활성화
|
4226
4341
|
top 14+ aa1
|
4227
4342
|
left 0
|
4228
4343
|
}
|
4229
4344
|
|
4230
4345
|
@data['포스트설정']['내용사진링크값'] = entry(){
|
4346
|
+
enabled false # 기본적으로 비활성화
|
4231
4347
|
top 14+ aa1
|
4232
4348
|
left 1
|
4233
4349
|
text 'URL'
|
4234
4350
|
}
|
4351
|
+
|
4352
|
+
@data['포스트설정']['ChatGPT사용'] = checkbox('Chat GPT 사용하기'){
|
4353
|
+
top 15+ aa1
|
4354
|
+
left 0
|
4355
|
+
}
|
4356
|
+
|
4357
|
+
@data['포스트설정']['api_key'] = entry(){
|
4358
|
+
top 15+ aa1
|
4359
|
+
left 1
|
4360
|
+
text 'api key 입력 필수!!'
|
4361
|
+
}
|
4235
4362
|
}
|
4236
4363
|
}
|
4237
4364
|
|
@@ -4422,6 +4549,22 @@ class Wordpress
|
|
4422
4549
|
@data['포스트설정']['막글삽입'] = checkbox('내용 하단에 막글 삽입'){
|
4423
4550
|
top 6
|
4424
4551
|
left 0
|
4552
|
+
#enabled false # 기본적으로 비활성화
|
4553
|
+
on_toggled {
|
4554
|
+
if @data['포스트설정']['막글삽입'].checked?
|
4555
|
+
@data['포스트설정']['막글투명'].enabled = true # '내용투명' 활성화
|
4556
|
+
@data['포스트설정']['막글그대로'].enabled = true # '내용투명' 활성화
|
4557
|
+
@data['포스트설정']['막글 수식에 입력'].enabled = true # '내용투명' 활성화
|
4558
|
+
|
4559
|
+
else
|
4560
|
+
@data['포스트설정']['막글투명'].checked = false # 체크 해제
|
4561
|
+
@data['포스트설정']['막글투명'].enabled = false # 비활성화
|
4562
|
+
@data['포스트설정']['막글그대로'].checked = false # 체크 해제
|
4563
|
+
@data['포스트설정']['막글그대로'].enabled = false # 비활성화
|
4564
|
+
@data['포스트설정']['막글 수식에 입력'].checked = false # 체크 해제
|
4565
|
+
@data['포스트설정']['막글 수식에 입력'].enabled = false # 비활성화
|
4566
|
+
end
|
4567
|
+
}
|
4425
4568
|
}
|
4426
4569
|
@data['포스트설정']['막글삽입시작숫자'] = entry{
|
4427
4570
|
top 6
|
@@ -4451,10 +4594,12 @@ class Wordpress
|
|
4451
4594
|
@data['포스트설정']['막글투명'] = checkbox('막글 안보이게 처리'){
|
4452
4595
|
top 7
|
4453
4596
|
left 0
|
4597
|
+
enabled false # 기본적으로 비활성화
|
4454
4598
|
}
|
4455
4599
|
@data['포스트설정']['막글그대로'] = checkbox('막글 그대로 입력'){
|
4456
4600
|
top 7
|
4457
4601
|
left 1
|
4602
|
+
enabled false # 기본적으로 비활성화
|
4458
4603
|
}
|
4459
4604
|
|
4460
4605
|
@data['포스트설정']['태그삽입1'] = checkbox('태그삽입'){
|
@@ -4479,11 +4624,19 @@ class Wordpress
|
|
4479
4624
|
@data['포스트설정']['자동글 수식에 입력'] = checkbox('자동글 수식에 입력'){
|
4480
4625
|
top 9
|
4481
4626
|
left 0
|
4627
|
+
enabled false # 기본적으로 비활성화
|
4628
|
+
on_toggled {
|
4629
|
+
if @data['포스트설정']['자동글 수식에 입력'].checked?
|
4630
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4631
|
+
@data['포스트설정']['내용투명'].checked = false
|
4632
|
+
end
|
4633
|
+
}
|
4482
4634
|
}
|
4483
4635
|
|
4484
4636
|
@data['포스트설정']['막글 수식에 입력'] = checkbox('막글 수식에 입력'){
|
4485
4637
|
top 9
|
4486
4638
|
left 1
|
4639
|
+
enabled false # 기본적으로 비활성화
|
4487
4640
|
}
|
4488
4641
|
|
4489
4642
|
|
@@ -4566,10 +4719,22 @@ class Wordpress
|
|
4566
4719
|
@data['포스트설정']['테더링'] = checkbox('테더링 IP 사용'){
|
4567
4720
|
top 15
|
4568
4721
|
left 0
|
4722
|
+
on_toggled{
|
4723
|
+
if @data['포스트설정']['테더링'].checked?
|
4724
|
+
@data['포스트설정']['프록시'].checked = false
|
4725
|
+
|
4726
|
+
end
|
4727
|
+
}
|
4569
4728
|
}
|
4570
4729
|
@data['포스트설정']['프록시'] = checkbox('프록시 IP 사용'){
|
4571
4730
|
top 15
|
4572
4731
|
left 1
|
4732
|
+
on_toggled{
|
4733
|
+
if @data['포스트설정']['프록시'].checked?
|
4734
|
+
@data['포스트설정']['테더링'].checked = false
|
4735
|
+
|
4736
|
+
end
|
4737
|
+
}
|
4573
4738
|
}
|
4574
4739
|
button('프록시 IP 파일 불러오기'){
|
4575
4740
|
top 15
|