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