Skip to content

Latest commit

ย 

History

History
106 lines (70 loc) ยท 4.43 KB

File metadata and controls

106 lines (70 loc) ยท 4.43 KB

plugin-freezer

์ด ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Xpressengine3(์ดํ•˜ XE3)์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ž…๋‹ˆ๋‹ค.

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ XE3์—์„œ '์ •๋ณดํ†ต์‹ ๋ง ์ด์šฉ์ด‰์ง„ ๋ฐ ์ •๋ณด๋ณดํ˜ธ ๋“ฑ์— ๊ด€ํ•œ ๋ฒ•๋ฅ  ์ œ 29์กฐ' ๋ฐ '๋™๋ฒ• ์‹œํ–‰๋ น ์ œ 16์กฐ'์— ์˜๊ฑฐ ์žฅ๊ธฐ๊ฐ„๋™์•ˆ ๋กœ๊ทธ์ธ์„ ํ•˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž ๊ณ„์ •์„ ํšŒ์› ์ •๋ณด์™€ ๋ณ„๋„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์ด๋ฉ”์ผ ์ „์†ก ์„ค์ •์ด ๋˜์–ด์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Features

  • ํœด๋ฉด ๊ณ„์ • ์ฒ˜๋ฆฌ ์˜ˆ๊ณ : ์žฅ์‹œ๊ฐ„๋™์•ˆ ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•„ ํœด๋ฉด์ฒ˜๋ฆฌ ๋  ์˜ˆ์ •์ธ ๊ณ„์ •์˜ ์ด๋ฉ”์ผ์œผ๋กœ 'ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌ ์•Œ๋ฆผ'์„ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌ: ํœด๋ฉด์ฒ˜๋ฆฌ ๋Œ€์ƒ ๊ณ„์ •์„ ํœด๋ฉด์ฒ˜๋ฆฌ ํ•ฉ๋‹ˆ๋‹ค. ํœด๋ฉด์ฒ˜๋ฆฌ๋œ ๊ณ„์ •์˜ ์ •๋ณด๋Š” ๋ณ„๋„ ํ…Œ์ด๋ธ”์— ์ €์žฅ๋˜๊ฑฐ๋‚˜ ์˜๊ตฌ์‚ญ์ œ ๋ฉ๋‹ˆ๋‹ค.
    • ํœด๋ฉด์ฒ˜๋ฆฌ์‹œ ํ•ด๋‹น ๊ณ„์ •์˜ ์ด๋ฉ”์ผ๋กœ ํœด๋ฉด์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ํ†ต๋ณด๋ฉ๋‹ˆ๋‹ค.
    • ํœด๋ฉด์ฒ˜๋ฆฌ๋œ ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ์ด ์‹œ๋„๋  ๊ฒฝ์šฐ, ํœด๋ฉด์ฒ˜๋ฆฌ๋๋˜ ๊ณ„์ •์ด ๋‹ค์‹œ ๋ณต๊ตฌ๋ฉ๋‹ˆ๋‹ค.(๋‹จ, ์˜๊ตฌ์‚ญ์ œ๋œ ๊ณ„์ •์€ ๋ณต๊ตฌ ๋ถˆ๊ฐ€)
  • ํœด๋ฉด๊ณ„์ •์„ ์ˆ˜๋™์œผ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Installation

Console

$ php artisan plugin:install freezer

Web install

  • ๊ด€๋ฆฌ์ž > ํ”Œ๋Ÿฌ๊ทธ์ธ & ์—…๋ฐ์ดํŠธ > ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ชฉ๋ก ๋‚ด์— ์ƒˆ ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ค์น˜ ๋ฒ„ํŠผ ํด๋ฆญ
  • freezer ๊ฒ€์ƒ‰ ํ›„ ์„ค์น˜ํ•˜๊ธฐ

Ftp upload

Configuration

ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹คํ–‰์‹œ ์ ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ์„ค์ •์€ /plugins/freezer/config.php์— ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๊ธฐ๋ณธ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์„œ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ, /config/production/services.php์— freezer ํ•ญ๋ชฉ์„ ์ƒ์„ฑํ•˜๊ณ , ์›ํ•˜๋Š” ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

/config/production/services.php์˜ freezer ํ•ญ๋ชฉ์— ์ง€์ •ํ•œ ์„ค์ •์€ ๊ธฐ๋ณธ์„ค์ •์„ ๋ฎ์–ด ์”Œ์›๋‹ˆ๋‹ค.

// config/production/services.php

<?php
return [
  'freezer' => [
    'timer' => 730, // ๊ธฐ๋ณธ ํƒ€์ด๋จธ๋ฅผ 2๋…„์œผ๋กœ ๋ณ€๊ฒฝ
  ]
];

์œ„ ์ฝ”๋“œ๋Š” ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌ ๊ธฐ์ค€์ด ๋˜๋Š” ํƒ€์ด๋จธ๋ฅผ 1๋…„(๊ธฐ๋ณธ)์—์„œ 2๋…„์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ํƒ€์ด๋จธ ์ด์™ธ์—๋„ ๋งŽ์€ ์„ค์ •์ด ์กด์žฌํ•˜๋ฉฐ, ์œ„์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Usage

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ์ฝ˜์†” ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์˜ ๋ช…๋ น์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค. ์ˆ˜๋™์œผ๋กœ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ crontab ๋˜๋Š” ์Šค์ผ€์ฅด๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜๋ฃจ์— 1ํšŒ์”ฉ ์‹คํ–‰๋˜๋„๋ก ํ•˜์‹ญ์‹œ์˜ค.

ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌ ์˜ˆ๊ณ ํ•˜๊ธฐ

์ง€์ •๋œ ๊ธฐ๊ฐ„(๊ธฐ๋ณธ 11๊ฐœ์›”)๋™์•ˆ ๋กœ๊ทธ์ธํ•œ ์ ์ด ์—†๋Š” ํšŒ์›์—๊ฒŒ ์ด๋ฉ”์ผ๋กœ ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌ ์˜ˆ๊ณ  ์•Œ๋ฆผ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

php artisan freezer:notify ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

$ php artisan freezer:notify

 Emails will be sent to 3 users. Do you want to execute it? (yes/no) [no]:
 > yes

[2017.08.16 11:54:27] Emails were sent to 3 users for notify about freeze.

ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌํ•˜๊ธฐ

์ง€์ •๋œ ๊ธฐ๊ฐ„(๊ธฐ๋ณธ 1๋…„)๋™์•ˆ ๋กœ๊ทธ์ธํ•œ ์ ์ด ์—†๋Š” ํšŒ์›์„ ํœด๋ฉด๊ณ„์ • ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

php artisan freezer:freeze ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

$ php artisan freezer:freeze

 3 users will be frozen. Do you want to execute it? (yes/no) [no]:
 > yes
 
[2017.09.16 11:59:16] 3 users ware frozen.

ํœด๋ฉด๊ณ„์ • ๋ณต๊ตฌํ•˜๊ธฐ

ํœด๋ฉด์ฒ˜๋ฆฌ๋œ ๊ณ„์ •์„ ์ˆ˜๋™์œผ๋กœ ๋‹ค์‹œ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

php artisan freezer:unfreeze [USER_ID]๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

$ php artisan freezer:unfreeze aa972e8b-6a73-459a-af18-22e7991d43ad

 'someone' users will be unfreezed. Do you want to execute it? (yes/no) [no]:
 > yes

the user was unfreezed.

์ˆ˜๋™์œผ๋กœ ๋ณต๊ตฌํ•˜์ง€ ์•Š๋”๋ผ๋„ ํœด๋ฉด์ฒ˜๋ฆฌ ๋œ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค์‹œ ๋กœ๊ทธ์ธ์„ ํ•  ๊ฒฝ์šฐ ์ž๋™์œผ๋กœ ๊ณ„์ •์ด ๋ณต๊ตฌ๋ฉ๋‹ˆ๋‹ค.

License

์ด ํ”Œ๋Ÿฌ๊ทธ์ธ์€ LGPL๋ผ์ด์„ ์Šค ํ•˜์— ์žˆ์Šต๋‹ˆ๋‹ค. https://opensource.org/licenses/LGPL-2.1