posting_zon 3.111.011 → 3.111.015
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/posting_zon.rb +163 -248
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e9cd1ad6a858122aeacf0cc8f86fb27e0f5c35a774a435cf4129c166a20dbd78
|
4
|
+
data.tar.gz: 0d20b6027010aa88ebce38f9cb29d47720ec7380d2bfb6c5ec6033ab7672cc4e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebffb5f95e401bc55d0a88fcd05187add0da36190bf91bc2ca9859fdc5ba7916bc27650c36787b08d9340368fa015bce11b7a37584a1061b1175650ab5e5baba
|
7
|
+
data.tar.gz: d0768440b648b3ec2c4cff960b0527433af6afb253e04265616106a71442f7d016dce5949149ae974a1492d3691b016610dc92549468515d69c91bd53bdc515c
|
data/lib/posting_zon.rb
CHANGED
@@ -6897,7 +6897,13 @@ begin
|
|
6897
6897
|
sleep(1)
|
6898
6898
|
puts '-[√] 닉네임 27코드 타겟.......'.yellow
|
6899
6899
|
rescue
|
6900
|
-
|
6900
|
+
begin
|
6901
|
+
@driver.find_element(xpath: '//input[@type="text" and @name="member_display"]').send_keys(user_id)
|
6902
|
+
sleep(1)
|
6903
|
+
puts '-[√] 닉네임 28코드 타겟.......'.yellow
|
6904
|
+
rescue
|
6905
|
+
|
6906
|
+
end
|
6901
6907
|
end
|
6902
6908
|
end
|
6903
6909
|
end
|
@@ -7430,6 +7436,18 @@ begin
|
|
7430
7436
|
@driver.close
|
7431
7437
|
end
|
7432
7438
|
|
7439
|
+
|
7440
|
+
begin #셀클럽 카테고리 2차 타겟
|
7441
|
+
@driver.find_element(:xpath, '//*[@name="ext6_00" and @itemname="등록분류"]').click
|
7442
|
+
puts '-[√] 셀클럽 2차 카테고리 확인!! 자동 선택 진행.......'.red
|
7443
|
+
sleep(1)
|
7444
|
+
@driver.action.key_down(:down).key_up(:down).perform
|
7445
|
+
sleep(1)
|
7446
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
7447
|
+
sleep(1)
|
7448
|
+
rescue
|
7449
|
+
end
|
7450
|
+
|
7433
7451
|
##<─────────────────────────────────────────────────────────────────────카테고리 선택 코드 부분
|
7434
7452
|
|
7435
7453
|
|
@@ -8031,7 +8049,21 @@ end
|
|
8031
8049
|
|
8032
8050
|
begin
|
8033
8051
|
#아이프레임에서 코드 선택
|
8034
|
-
|
8052
|
+
# 1. 모든 scrolling="no" iframe 수집
|
8053
|
+
iframes = @driver.find_elements(:xpath, '//iframe[@scrolling="no"]')
|
8054
|
+
|
8055
|
+
# 2. 제외할 iframe id 또는 name 리스트
|
8056
|
+
blacklist = ["loginiframe", "ad_iframe", "popupiframe"]
|
8057
|
+
|
8058
|
+
# 3. 걸러낸 iframe 중 첫 번째 유효한 iframe 선택
|
8059
|
+
target_iframe = iframes.find do |frame|
|
8060
|
+
id = frame.attribute("id")
|
8061
|
+
name = frame.attribute("name")
|
8062
|
+
!blacklist.include?(id) && !blacklist.include?(name)
|
8063
|
+
end
|
8064
|
+
|
8065
|
+
# 4. 해당 iframe으로 전환
|
8066
|
+
@driver.switch_to.frame(target_iframe)
|
8035
8067
|
|
8036
8068
|
html_bb = @driver.find_element(:xpath, '//*[@class="se2_to_html"]')
|
8037
8069
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_bb)
|
@@ -8356,34 +8388,44 @@ end
|
|
8356
8388
|
rescue
|
8357
8389
|
begin
|
8358
8390
|
@driver.switch_to.default_content
|
8359
|
-
|
8360
|
-
|
8361
|
-
|
8362
|
-
|
8363
|
-
|
8364
|
-
<label class="custom-control-label" for="html"><span>HTML</span></label>
|
8365
|
-
</div>
|
8366
|
-
HTML
|
8367
|
-
@driver.execute_script("arguments[0].insertAdjacentHTML('afterend', arguments[1]);", target_element, checkbox_html)
|
8368
|
-
puts '체크박스 HTML 강제 적용.......'.green
|
8369
|
-
sleep(1)
|
8370
|
-
|
8371
|
-
# 4. 삽입한 체크박스 스크롤하여 화면 중앙으로 이동
|
8372
|
-
html_checkbox = @driver.find_element(:xpath, '//*[@type="checkbox" and @name="html"]')
|
8373
|
-
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_checkbox)
|
8374
|
-
sleep(1)
|
8375
|
-
|
8376
|
-
# 5. HTML 토글 버튼 클릭
|
8377
|
-
@driver.find_element(:xpath, '//*[@type="checkbox" and @name="html"]').click
|
8378
|
-
puts '-[√] 임의 추가 HTML 코드 01 code.......'.yellow
|
8391
|
+
html_bb = @driver.find_element(xpath: '//input[@type="checkbox" and @name="chkhtml"]')
|
8392
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_bb)
|
8393
|
+
sleep(1)
|
8394
|
+
html_bb = @driver.find_element(xpath: '//input[@type="checkbox" and @name="chkhtml"]').click
|
8395
|
+
puts '-[√] HTML 코드 38 code.......'.yellow
|
8379
8396
|
sleep(1)
|
8380
|
-
|
8381
|
-
else
|
8382
|
-
puts "타겟 제목 요소가 없어서 체크박스 삽입 불가".red
|
8383
|
-
end
|
8384
8397
|
rescue
|
8385
|
-
|
8386
|
-
|
8398
|
+
begin
|
8399
|
+
@driver.switch_to.default_content
|
8400
|
+
if target_element
|
8401
|
+
# 3. 제목 요소 바로 아래에 체크박스 HTML 삽입
|
8402
|
+
checkbox_html = <<~HTML
|
8403
|
+
<div class="custom-control custom-checkbox custom-control-inline">
|
8404
|
+
<input type="checkbox" name="html" value="html2" id="html" onclick="html_auto_br(this);" class="custom-control-input">
|
8405
|
+
<label class="custom-control-label" for="html"><span>HTML</span></label>
|
8406
|
+
</div>
|
8407
|
+
HTML
|
8408
|
+
@driver.execute_script("arguments[0].insertAdjacentHTML('afterend', arguments[1]);", target_element, checkbox_html)
|
8409
|
+
puts '체크박스 HTML 강제 적용.......'.green
|
8410
|
+
sleep(1)
|
8411
|
+
|
8412
|
+
# 4. 삽입한 체크박스 스크롤하여 화면 중앙으로 이동
|
8413
|
+
html_checkbox = @driver.find_element(:xpath, '//*[@type="checkbox" and @name="html"]')
|
8414
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", html_checkbox)
|
8415
|
+
sleep(1)
|
8416
|
+
|
8417
|
+
# 5. HTML 토글 버튼 클릭
|
8418
|
+
@driver.find_element(:xpath, '//*[@type="checkbox" and @name="html"]').click
|
8419
|
+
puts '-[√] 임의 추가 HTML 코드 01 code.......'.yellow
|
8420
|
+
sleep(1)
|
8421
|
+
|
8422
|
+
else
|
8423
|
+
puts "타겟 제목 요소가 없어서 체크박스 삽입 불가".red
|
8424
|
+
end
|
8425
|
+
rescue
|
8426
|
+
|
8427
|
+
end
|
8428
|
+
end
|
8387
8429
|
end
|
8388
8430
|
end
|
8389
8431
|
end
|
@@ -12116,8 +12158,8 @@ sleep(1)
|
|
12116
12158
|
rescue
|
12117
12159
|
begin
|
12118
12160
|
ss_button = @driver.find_element(:xpath, '//*[@type="submit"]')
|
12119
|
-
if ss_button.attribute("class") == "upload_btn1"
|
12120
|
-
raise
|
12161
|
+
if ss_button.attribute("class") == "upload_btn1" || ss_button.attribute("class") == "btn btn-default"
|
12162
|
+
raise
|
12121
12163
|
end
|
12122
12164
|
|
12123
12165
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
@@ -12408,6 +12450,28 @@ ss_button = @driver.find_element(xpath: '//button[@type="submit" and contains(@c
|
|
12408
12450
|
puts '-[√] 등록을 53번 코드로 시도하였습니다.......'.magenta
|
12409
12451
|
sleep(1)
|
12410
12452
|
|
12453
|
+
rescue
|
12454
|
+
begin
|
12455
|
+
ss_button = @driver.find_element(xpath: '//img[contains(@src, "btn_write.gif")]')
|
12456
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
12457
|
+
sleep(1)
|
12458
|
+
|
12459
|
+
ss_button = @driver.find_element(xpath: '//img[contains(@src, "btn_write.gif")]').click
|
12460
|
+
puts '-[√] 등록을 54번 코드로 시도하였습니다.......'.magenta
|
12461
|
+
sleep(1)
|
12462
|
+
'//button[@type="submit" and contains(@class, "kboard-default-button-small") and contains(text(), "저장하기")]'
|
12463
|
+
|
12464
|
+
rescue
|
12465
|
+
begin
|
12466
|
+
ss_button = @driver.find_element(xpath: '//button[@type="submit" and contains(@class, "kboard-default-button-small") and contains(text(), "저장하기")]')
|
12467
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", ss_button)
|
12468
|
+
sleep(1)
|
12469
|
+
|
12470
|
+
ss_button = @driver.find_element(xpath: '//button[@type="submit" and contains(@class, "kboard-default-button-small") and contains(text(), "저장하기")]').click
|
12471
|
+
puts '-[√] 등록을 55번 코드로 시도하였습니다.......'.magenta
|
12472
|
+
sleep(1)
|
12473
|
+
|
12474
|
+
|
12411
12475
|
rescue
|
12412
12476
|
########─────────────────────────────▼▼▼▼▼▼▼ 등록버튼 2차 시도 ▼▼▼▼▼▼▼──────────────────────────────#######
|
12413
12477
|
begin
|
@@ -12619,6 +12683,8 @@ end
|
|
12619
12683
|
end
|
12620
12684
|
end
|
12621
12685
|
end
|
12686
|
+
end
|
12687
|
+
end
|
12622
12688
|
end
|
12623
12689
|
########─────────────────────────────▲▲▲▲▲▲▲ 등록버튼 2차 시도 ▲▲▲▲▲▲▲──────────────────────────────#######
|
12624
12690
|
end
|
@@ -13250,6 +13316,7 @@ class Wordpress
|
|
13250
13316
|
end
|
13251
13317
|
|
13252
13318
|
|
13319
|
+
|
13253
13320
|
def color_image
|
13254
13321
|
color = File.open('./color.ini', 'r', :encoding => 'utf-8').read().split("\n")
|
13255
13322
|
image = Magick::Image.new(740, 740) { |k| k.background_color = color.sample }
|
@@ -13258,188 +13325,80 @@ class Wordpress
|
|
13258
13325
|
|
13259
13326
|
def save_image
|
13260
13327
|
if @data['이미지설정']['이미지'].length == 0
|
13261
|
-
|
13262
|
-
end
|
13263
|
-
|
13264
|
-
if @data['이미지설정']['순서사용'].checked?
|
13265
|
-
image_path = @data['이미지설정']['이미지'][@image_counter][2]
|
13266
|
-
@image_counter += 1
|
13267
|
-
if @image_counter > @data['이미지설정']['이미지'].length - 1
|
13268
|
-
@image_counter = 0
|
13269
|
-
end
|
13328
|
+
|
13270
13329
|
else
|
13271
|
-
|
13272
|
-
|
13273
|
-
|
13274
|
-
@
|
13330
|
+
if @data['이미지설정']['순서사용'].checked?
|
13331
|
+
image_path = @data['이미지설정']['이미지'][@image_counter][2]
|
13332
|
+
@image_counter += 1
|
13333
|
+
if @image_counter > @data['이미지설정']['이미지'].length-1
|
13334
|
+
@image_counter = 0
|
13335
|
+
end
|
13336
|
+
else
|
13337
|
+
image_path = @data['이미지설정']['이미지'].sample[2]
|
13275
13338
|
end
|
13276
|
-
|
13277
|
-
|
13339
|
+
img = Magick::Image.read(image_path).first
|
13340
|
+
img.write('./image/memory.png')
|
13278
13341
|
end
|
13279
|
-
|
13280
|
-
img = Magick::Image.read(image_path).first
|
13281
|
-
img.write('./image/memory.png')
|
13282
13342
|
end
|
13283
13343
|
|
13284
13344
|
def change_image_size(w)
|
13285
13345
|
img = Magick::Image.read('./image/memory.png').first
|
13286
13346
|
width = img.columns
|
13287
13347
|
height = img.rows
|
13288
|
-
|
13289
|
-
|
13290
|
-
|
13291
|
-
|
13292
|
-
|
13293
|
-
begin
|
13294
|
-
if @data['image_type'][0].checked? or @data['image_type'][2].checked?
|
13295
|
-
# 비율을 맞추어 리사이징
|
13296
|
-
img.resize!(w, w * (height.to_f / width.to_f))
|
13297
|
-
else
|
13298
|
-
# 정사각형으로 리사이징
|
13299
|
-
img.resize!(w, w)
|
13300
|
-
end
|
13301
|
-
rescue
|
13302
|
-
img.resize!(w, w) # 예외 처리 시에도 리사이징
|
13348
|
+
begin
|
13349
|
+
if @data['image_type'][0].checked? or @data['image_type'][2].checked?
|
13350
|
+
img.resize!(w, w*(height.to_f/width.to_f))
|
13351
|
+
else
|
13352
|
+
img.resize!(w, w)
|
13303
13353
|
end
|
13354
|
+
rescue
|
13355
|
+
img.resize!(w, w)
|
13304
13356
|
end
|
13305
|
-
|
13306
|
-
# 리사이징된 이미지 저장
|
13307
13357
|
img.write('./image/memory.png')
|
13308
13358
|
end
|
13309
13359
|
|
13310
|
-
def
|
13311
|
-
|
13312
|
-
|
13313
|
-
|
13314
|
-
|
13315
|
-
|
13316
|
-
|
13317
|
-
|
13318
|
-
|
13319
|
-
|
13320
|
-
|
13321
|
-
|
13322
|
-
|
13323
|
-
if metrics.width > max_width
|
13324
|
-
lines << line
|
13325
|
-
line = char
|
13326
|
-
else
|
13327
|
-
line = test_line
|
13328
|
-
end
|
13360
|
+
def image_text(text1, text2)
|
13361
|
+
begin
|
13362
|
+
color = File.open('./color.ini', 'r', :encoding => 'utf-8').read().split("\n")
|
13363
|
+
font = Dir.entries('./fonts')
|
13364
|
+
img = Magick::Image.read('./image/memory.png').first
|
13365
|
+
text = Magick::Draw.new
|
13366
|
+
color2 = color.sample
|
13367
|
+
font2 = './fonts/'+font.sample
|
13368
|
+
message = text1.to_s+"\n"+text2.to_s
|
13369
|
+
begin
|
13370
|
+
size = rand(@data['이미지설정']['이미지글자1크기1'].text.to_i..@data['이미지설정']['이미지글자1크기2'].text.to_i)
|
13371
|
+
rescue
|
13372
|
+
size = 30
|
13329
13373
|
end
|
13330
|
-
|
13331
|
-
|
13332
|
-
|
13333
|
-
|
13334
|
-
|
13335
|
-
|
13336
|
-
|
13337
|
-
return [lines.join("\n"), size]
|
13338
|
-
else
|
13339
|
-
size -= 2
|
13374
|
+
if @data['이미지설정']['글자그림자'].checked?
|
13375
|
+
img.annotate(text, 0,0, +3,+3, message) do
|
13376
|
+
text.gravity = Magick::CenterGravity
|
13377
|
+
text.pointsize = size
|
13378
|
+
text.fill = '#000000'
|
13379
|
+
text.font = font2
|
13380
|
+
end
|
13340
13381
|
end
|
13341
|
-
end
|
13342
|
-
end
|
13343
|
-
|
13344
|
-
|
13345
|
-
def image_text(text1, text2)
|
13346
|
-
begin
|
13347
|
-
color = File.open('./color.ini', 'r', encoding: 'utf-8').read.split("\n").map(&:strip).reject(&:empty?)
|
13348
|
-
font_files = Dir.entries('./fonts').select { |f| f.downcase.end_with?('.ttf') }
|
13349
|
-
font2 = './fonts/' + font_files.sample
|
13350
|
-
|
13351
|
-
# 랜덤 글자색 선택
|
13352
|
-
color2 = color.sample
|
13353
|
-
|
13354
|
-
# 헬퍼 함수: 색상 문자열 '#RRGGBB' -> [R,G,B] 배열로 변환
|
13355
|
-
def hex_to_rgb(hex)
|
13356
|
-
hex = hex.delete('#')
|
13357
|
-
[hex[0..1], hex[2..3], hex[4..5]].map { |c| c.to_i(16) }
|
13358
|
-
end
|
13359
|
-
|
13360
|
-
# 헬퍼 함수: 두 RGB 색상의 차이 계산 (간단한 유클리드 거리)
|
13361
|
-
def color_distance(c1, c2)
|
13362
|
-
Math.sqrt(
|
13363
|
-
(c1[0] - c2[0])**2 +
|
13364
|
-
(c1[1] - c2[1])**2 +
|
13365
|
-
(c1[2] - c2[2])**2
|
13366
|
-
)
|
13367
|
-
end
|
13368
|
-
|
13369
|
-
# 대비가 충분히 되는 테두리 색상 선택
|
13370
|
-
max_attempts = 10
|
13371
|
-
stroke_color = nil
|
13372
|
-
base_rgb = hex_to_rgb(color2)
|
13373
|
-
|
13374
|
-
max_attempts.times do
|
13375
|
-
candidate = color.sample
|
13376
|
-
candidate_rgb = hex_to_rgb(candidate)
|
13377
|
-
dist = color_distance(base_rgb, candidate_rgb)
|
13378
|
-
|
13379
|
-
# 거리(차이) 임계값 100 (0~441 범위) — 필요시 조절 가능
|
13380
|
-
if dist > 100
|
13381
|
-
stroke_color = candidate
|
13382
|
-
break
|
13383
|
-
end
|
13384
|
-
end
|
13385
|
-
stroke_color ||= '#000000' # 만약 충분히 다른 색 없으면 검정색 기본값
|
13386
|
-
|
13387
|
-
img = Magick::Image.read('./image/memory.png').first
|
13388
|
-
draw = Magick::Draw.new
|
13389
13382
|
|
13390
|
-
|
13391
|
-
|
13392
|
-
|
13383
|
+
img.annotate(text, 0,0,0,0, message) do
|
13384
|
+
text.gravity = Magick::CenterGravity
|
13385
|
+
text.pointsize = size
|
13386
|
+
if @data['이미지설정']['글자테두리'].checked?
|
13387
|
+
text.stroke_width = 2
|
13388
|
+
text.stroke = '#000000'
|
13389
|
+
end
|
13390
|
+
text.fill = color2
|
13391
|
+
text.font = font2
|
13392
|
+
end
|
13393
13393
|
|
13394
|
-
|
13395
|
-
size = rand(@data['이미지설정']['이미지글자1크기1'].text.to_i..@data['이미지설정']['이미지글자1크기2'].text.to_i)
|
13394
|
+
img.write('./image/memory.png')
|
13396
13395
|
rescue
|
13397
|
-
|
13398
|
-
|
13399
|
-
|
13400
|
-
wrapped_message, adjusted_size = wrap_text_to_fit(draw, raw_message, max_width, max_height, font2, size)
|
13401
|
-
|
13402
|
-
if @data['이미지설정']['글자그림자'].checked?
|
13403
|
-
img.annotate(draw, 0, 0, 2, 2, wrapped_message) do
|
13404
|
-
draw.gravity = Magick::CenterGravity
|
13405
|
-
draw.pointsize = adjusted_size
|
13406
|
-
draw.fill = '#000000'
|
13407
|
-
draw.font = font2
|
13408
|
-
end
|
13409
|
-
end
|
13410
|
-
|
13411
|
-
if @data['이미지설정']['글자테두리'].checked?
|
13412
|
-
draw_stroke = Magick::Draw.new
|
13413
|
-
img.annotate(draw_stroke, 0, 0, 0, 0, wrapped_message) do
|
13414
|
-
draw_stroke.gravity = Magick::CenterGravity
|
13415
|
-
draw_stroke.pointsize = adjusted_size
|
13416
|
-
draw_stroke.fill = 'none'
|
13417
|
-
draw_stroke.stroke = stroke_color
|
13418
|
-
draw_stroke.stroke_width = rand(5..10)
|
13419
|
-
draw_stroke.font = font2
|
13420
|
-
end
|
13421
|
-
end
|
13422
|
-
|
13423
|
-
draw2 = Magick::Draw.new
|
13424
|
-
img.annotate(draw2, 0, 0, 0, 0, wrapped_message) do
|
13425
|
-
draw2.gravity = Magick::CenterGravity
|
13426
|
-
draw2.pointsize = adjusted_size
|
13427
|
-
draw2.fill = color2
|
13428
|
-
draw2.stroke = 'none'
|
13429
|
-
draw2.font = font2
|
13396
|
+
puts '이미지 폰트 불러오기 오류 재시도...'
|
13397
|
+
sleep(3)
|
13398
|
+
retry
|
13430
13399
|
end
|
13431
|
-
|
13432
|
-
img.write('./image/memory.png')
|
13433
|
-
|
13434
|
-
rescue => e
|
13435
|
-
puts "이미지 폰트 불러오기 오류 재시도... (#{e.message})"
|
13436
|
-
sleep(3)
|
13437
|
-
retry
|
13438
|
-
end
|
13439
13400
|
end
|
13440
13401
|
|
13441
|
-
|
13442
|
-
|
13443
13402
|
def border()
|
13444
13403
|
color = File.open('./color.ini', 'r',:encoding => 'utf-8').read().split("\n")
|
13445
13404
|
img = Magick::Image.read('./image/memory.png').first
|
@@ -13465,69 +13424,40 @@ class Wordpress
|
|
13465
13424
|
else
|
13466
13425
|
auto_image()
|
13467
13426
|
end
|
13468
|
-
|
13469
|
-
|
13470
|
-
image_size = [480, 740, 650, 550, 480, 'original']
|
13427
|
+
|
13428
|
+
image_size = [480,740,650,550,480]
|
13471
13429
|
size = 0
|
13472
|
-
|
13473
|
-
for n in 0..5 # 0부터 5까지 반복, '원본' 옵션까지 포함
|
13430
|
+
for n in 0..4
|
13474
13431
|
if @data['image_size'][n].checked?
|
13475
|
-
if n ==
|
13476
|
-
size =
|
13477
|
-
elsif n == 0
|
13478
|
-
size = image_size.sample # 랜덤 선택
|
13432
|
+
if n == 0
|
13433
|
+
size = image_size.sample
|
13479
13434
|
else
|
13480
13435
|
size = image_size[n]
|
13481
13436
|
end
|
13482
13437
|
end
|
13483
13438
|
end
|
13484
|
-
|
13485
|
-
# '원본'이 선택되지 않았다면 기본 값 설정
|
13486
13439
|
if size == 0
|
13487
13440
|
size = 480
|
13488
13441
|
end
|
13489
|
-
|
13490
|
-
change_image_size(size) # 크기 변경 함수 호출
|
13491
13442
|
|
13443
|
+
change_image_size(size)
|
13492
13444
|
|
13493
13445
|
if @data['이미지설정']['필터사용'].checked?
|
13494
13446
|
image_filter()
|
13495
13447
|
end
|
13496
13448
|
|
13449
|
+
insert_image_text1 = ''
|
13450
|
+
insert_image_text2 = ''
|
13497
13451
|
if @data['이미지설정']['글자삽입1'].checked?
|
13498
|
-
|
13499
|
-
image_text_path1 = ''
|
13500
|
-
else
|
13501
|
-
if @data['이미지설정']['글자랜덤'].checked?
|
13502
|
-
image_text_path1 = @data['이미지설정']['이미지글자1'].sample
|
13503
|
-
else
|
13504
|
-
image_text_path1 = @data['이미지설정']['이미지글자1'][@image_text_soon1]
|
13505
|
-
@image_text_soon1 += 1
|
13506
|
-
if @image_text_soon1 > @data['이미지설정']['이미지글자1'].length - 1
|
13507
|
-
@image_text_soon1 = 0
|
13508
|
-
end
|
13509
|
-
end
|
13510
|
-
end
|
13452
|
+
insert_image_text1 = @data['이미지설정']['이미지글자1'].sample
|
13511
13453
|
end
|
13512
13454
|
|
13513
13455
|
if @data['이미지설정']['글자삽입2'].checked?
|
13514
|
-
|
13515
|
-
image_text_path2 = ''
|
13516
|
-
else
|
13517
|
-
if @data['이미지설정']['글자랜덤'].checked?
|
13518
|
-
image_text_path2 = @data['이미지설정']['이미지글자2'].sample
|
13519
|
-
else
|
13520
|
-
image_text_path2 = @data['이미지설정']['이미지글자2'][@image_text_soon2]
|
13521
|
-
@image_text_soon2 += 1
|
13522
|
-
if @image_text_soon2 > @data['이미지설정']['이미지글자2'].length - 1
|
13523
|
-
@image_text_soon2 = 0
|
13524
|
-
end
|
13525
|
-
end
|
13526
|
-
end
|
13456
|
+
insert_image_text2 = @data['이미지설정']['이미지글자2'].sample
|
13527
13457
|
end
|
13528
|
-
|
13458
|
+
|
13529
13459
|
if @data['이미지설정']['글자삽입1'].checked? or @data['이미지설정']['글자삽입2'].checked?
|
13530
|
-
image_text(
|
13460
|
+
image_text(insert_image_text1, insert_image_text2)
|
13531
13461
|
end
|
13532
13462
|
|
13533
13463
|
if @data['이미지설정']['테두리사용'].checked?
|
@@ -15383,13 +15313,12 @@ class Wordpress
|
|
15383
15313
|
horizontal_box{
|
15384
15314
|
stretchy false
|
15385
15315
|
@data['image_size'][0] = checkbox('랜덤 px'){
|
15386
|
-
|
15316
|
+
on_toggled{
|
15387
15317
|
if @data['image_size'][0].checked?
|
15388
15318
|
@data['image_size'][1].checked = false
|
15389
15319
|
@data['image_size'][2].checked = false
|
15390
15320
|
@data['image_size'][3].checked = false
|
15391
15321
|
@data['image_size'][4].checked = false
|
15392
|
-
@data['image_size'][5].checked = false
|
15393
15322
|
end
|
15394
15323
|
}
|
15395
15324
|
}
|
@@ -15400,7 +15329,6 @@ class Wordpress
|
|
15400
15329
|
@data['image_size'][2].checked = false
|
15401
15330
|
@data['image_size'][3].checked = false
|
15402
15331
|
@data['image_size'][4].checked = false
|
15403
|
-
@data['image_size'][5].checked = false
|
15404
15332
|
end
|
15405
15333
|
}
|
15406
15334
|
}
|
@@ -15411,7 +15339,6 @@ class Wordpress
|
|
15411
15339
|
@data['image_size'][0].checked = false
|
15412
15340
|
@data['image_size'][3].checked = false
|
15413
15341
|
@data['image_size'][4].checked = false
|
15414
|
-
@data['image_size'][5].checked = false
|
15415
15342
|
end
|
15416
15343
|
}
|
15417
15344
|
}
|
@@ -15422,7 +15349,6 @@ class Wordpress
|
|
15422
15349
|
@data['image_size'][2].checked = false
|
15423
15350
|
@data['image_size'][0].checked = false
|
15424
15351
|
@data['image_size'][4].checked = false
|
15425
|
-
@data['image_size'][5].checked = false
|
15426
15352
|
end
|
15427
15353
|
}
|
15428
15354
|
}
|
@@ -15433,21 +15359,10 @@ class Wordpress
|
|
15433
15359
|
@data['image_size'][2].checked = false
|
15434
15360
|
@data['image_size'][3].checked = false
|
15435
15361
|
@data['image_size'][0].checked = false
|
15436
|
-
@data['image_size'][5].checked = false
|
15437
|
-
end
|
15438
|
-
}
|
15439
|
-
}
|
15440
|
-
@data['image_size'][5] = checkbox('원본 px'){
|
15441
|
-
on_toggled{
|
15442
|
-
if @data['image_size'][5].checked?
|
15443
|
-
@data['image_size'][1].checked = false
|
15444
|
-
@data['image_size'][2].checked = false
|
15445
|
-
@data['image_size'][3].checked = false
|
15446
|
-
@data['image_size'][0].checked = false
|
15447
|
-
@data['image_size'][4].checked = false
|
15448
15362
|
end
|
15449
15363
|
}
|
15450
15364
|
}
|
15365
|
+
|
15451
15366
|
}
|
15452
15367
|
}
|
15453
15368
|
}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posting_zon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.111.
|
4
|
+
version: 3.111.015
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-07-03 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: posting app
|
13
13
|
email: mymin26@naver.com
|