<?php
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 __contstruct()
  {

  }

  /**
   * 애드온 동작을 이곳에 구현합니다. 현재는 $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 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 [];
  }
}
