AvocadoAmber/AvocadoEdition_Light/addons/sample/sample.addon.php

96 lines
2.2 KiB
PHP

<?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 = [])
{
}
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 [];
}
}