init
This commit is contained in:
commit
0c461a79ac
2 changed files with 108 additions and 0 deletions
3
readme.md
Normal file
3
readme.md
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
## 샘플 애드온입니다.
|
||||||
|
|
||||||
|
애드온을 작성하는 기본적인 방법이 기술되어 있습니다.
|
||||||
105
sample.addon.php
Normal file
105
sample.addon.php
Normal file
|
|
@ -0,0 +1,105 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* 애드온 폴더명에 부득이하게 lodash (_) 가 들어가는 경우 해당 언더바 후행 클래스 이름은 대문자여야 합니다
|
||||||
|
* 예시) test_sample => TestSampleAddon
|
||||||
|
* @author amber (https://info.drk.st/about)
|
||||||
|
*/
|
||||||
|
class SampleAddon extends Addon
|
||||||
|
{
|
||||||
|
public $name = "sample addon";
|
||||||
|
public $description = "샘플 애드온입니다.";
|
||||||
|
public $author = "Amber";
|
||||||
|
public $link = "https://info.drk.st/about";
|
||||||
|
public $version = "1.0.0";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Addon Loader 에서 자동으로 설정되는 값입니다.
|
||||||
|
* @var string $className
|
||||||
|
*/
|
||||||
|
public $className;
|
||||||
|
/**
|
||||||
|
* Addon Loader 에서 자동으로 설정되는 값입니다.
|
||||||
|
* @var string $addonPath
|
||||||
|
*/
|
||||||
|
public $addonPath;
|
||||||
|
/**
|
||||||
|
* Addon Loader 에서 자동으로 설정되는 값입니다.
|
||||||
|
* @var string $addonFile
|
||||||
|
*/
|
||||||
|
public $addonFile;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 애드온 생성자입니다.
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 애드온 동작을 이곳에 구현합니다. 현재는 $data 에 아무 값도 할당되지 않습니다.
|
||||||
|
* 필요한 경우 global $g5; 등을 통해 글로벌 변수를 가져와야 합니다.
|
||||||
|
* @param mixed $data
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function init($data = [])
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 설정 페이지를 출력하는 함수입니다.
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function printConfigForm()
|
||||||
|
{
|
||||||
|
$config = $this->getConfig();
|
||||||
|
echo '<div class="tbl_frm01 tbl_wrap">
|
||||||
|
<table>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 140px;">
|
||||||
|
<col>
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th scope="row">
|
||||||
|
애드온 기능 활성화
|
||||||
|
</th>
|
||||||
|
<td>
|
||||||
|
<input type="checkbox" name="sample_addon_use" value="use" ' . (isset($config["sample_addon_use"]) ? "checked " : "" ) . '/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function saveAction($data = [])
|
||||||
|
{
|
||||||
|
// 이미지 업로드 등 입력 후처리가 필요한 경우에 사용합니다.
|
||||||
|
// $data 에는 입력값 ($_POST) 가 전달됩니다.
|
||||||
|
/*
|
||||||
|
if (!empty($data)) {
|
||||||
|
// ... 이미지 업로드 처리 예시 ...
|
||||||
|
$extension = emplode(".", $_FILES['input_name']['name']);
|
||||||
|
$extension = $extension[-1];
|
||||||
|
// ... 이미지 업로드 처리 예시 ...
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getConfig()
|
||||||
|
{
|
||||||
|
global $g5;
|
||||||
|
|
||||||
|
$sql = "SELECT addon_config FROM {$g5['addons_config_table']} WHERE addon_name = '{$this->className}'";
|
||||||
|
$result = sql_fetch($sql);
|
||||||
|
|
||||||
|
if ($result && isset($result['addon_config'])) {
|
||||||
|
return json_decode($result['addon_config'], true) ?: [];
|
||||||
|
}
|
||||||
|
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue