Overview

Namespaces

  • Kotchasan
    • Cache
    • Database
    • Http
    • Log
    • Orm
  • None
  • PHP
  • Psr
    • Cache
    • Http
      • Message
    • Log

Classes

  • ArrayIterator
  • DateInterval
  • DOMNode
  • Kotchasan
  • Kotchasan\Accordion
  • Kotchasan\ApiController
  • Kotchasan\ArrayTool
  • Kotchasan\Cache\ApcCache
  • Kotchasan\Cache\Cache
  • Kotchasan\Cache\CacheItem
  • Kotchasan\Cache\FileCache
  • Kotchasan\CKEditor
  • Kotchasan\Collection
  • Kotchasan\Config
  • Kotchasan\Controller
  • Kotchasan\Country
  • Kotchasan\Csv
  • Kotchasan\Curl
  • Kotchasan\Currency
  • Kotchasan\Database
  • Kotchasan\Database\Db
  • Kotchasan\Database\DbCache
  • Kotchasan\Database\Driver
  • Kotchasan\Database\PdoMysqlDriver
  • Kotchasan\Database\Query
  • Kotchasan\Database\QueryBuilder
  • Kotchasan\Database\Schema
  • Kotchasan\Database\Sql
  • Kotchasan\DataTable
  • Kotchasan\Date
  • Kotchasan\DOMNode
  • Kotchasan\DOMParser
  • Kotchasan\Email
  • Kotchasan\File
  • Kotchasan\Files
  • Kotchasan\Form
  • Kotchasan\Grid
  • Kotchasan\Html
  • Kotchasan\Htmldoc
  • Kotchasan\HtmlTable
  • Kotchasan\Http\AbstractMessage
  • Kotchasan\Http\AbstractRequest
  • Kotchasan\Http\Message
  • Kotchasan\Http\NotFound
  • Kotchasan\Http\Request
  • Kotchasan\Http\Response
  • Kotchasan\Http\Stream
  • Kotchasan\Http\UploadedFile
  • Kotchasan\Http\Uri
  • Kotchasan\Image
  • Kotchasan\InputItem
  • Kotchasan\Inputs
  • Kotchasan\KBase
  • Kotchasan\Language
  • Kotchasan\ListItem
  • Kotchasan\Log\AbstractLogger
  • Kotchasan\Log\Logger
  • Kotchasan\Login
  • Kotchasan\Menu
  • Kotchasan\Mime
  • Kotchasan\Model
  • Kotchasan\Number
  • Kotchasan\ObjectTool
  • Kotchasan\Orm\Field
  • Kotchasan\Orm\Recordset
  • Kotchasan\Password
  • Kotchasan\Pdf
  • Kotchasan\Province
  • Kotchasan\Router
  • Kotchasan\Session
  • Kotchasan\Singleton
  • Kotchasan\Tab
  • Kotchasan\TableRow
  • Kotchasan\Template
  • Kotchasan\Text
  • Kotchasan\Validator
  • Kotchasan\View
  • PHPMailer
  • Psr\Log\AbstractLogger
  • Psr\Log\LogLevel
  • Psr\Log\NullLogger
  • SMTP

Interfaces

  • ArrayAccess
  • Countable
  • DateTimeInterface
  • Iterator
  • IteratorAggregate
  • Psr\Cache\CacheItemInterface
  • Psr\Cache\CacheItemPoolInterface
  • Psr\Http\Message\MessageInterface
  • Psr\Http\Message\RequestInterface
  • Psr\Http\Message\ResponseInterface
  • Psr\Http\Message\ServerRequestInterface
  • Psr\Http\Message\StreamInterface
  • Psr\Http\Message\UploadedFileInterface
  • Psr\Http\Message\UriInterface
  • Psr\Log\LoggerAwareInterface
  • Psr\Log\LoggerInterface
  • SeekableIterator
  • Serializable
  • Traversable

Traits

  • Psr\Log\LoggerTrait

Exceptions

  • Exception
  • InvalidArgumentException
  • Kotchasan\ApiException
  • Kotchasan\Cache\Exception
  • Kotchasan\Database\Exception
  • Kotchasan\InputItemException
  • LogicException
  • phpmailerException
  • RuntimeException

Functions

  • createClass
  • debug
  • getClassPath
  • Overview
  • Namespace
  • Class
  • Tree
 1: <?php
 2: /**
 3:  * @filesource Kotchasan/Accordion.php
 4:  *
 5:  * @copyright 2016 Goragod.com
 6:  * @license http://www.kotchasan.com/license/
 7:  *
 8:  * @see http://www.kotchasan.com/
 9:  */
10: 
11: namespace Kotchasan;
12: 
13: /**
14:  * Accordion.
15:  *
16:  * @author Goragod Wiriya <admin@goragod.com>
17:  *
18:  * @since 1.0
19:  */
20: class Accordion
21: {
22:     /**
23:      * @var mixed
24:      */
25:     private $datas;
26:     /**
27:      * @var mixed
28:      */
29:     private $id;
30:     /**
31:      * @var mixed
32:      */
33:     private $type;
34: 
35:     /**
36:      * Construct.
37:      *
38:      * @param string $id     ID ของ Accordian ห้ามซ้ำกับอันอื่น
39:      * @param array  $items  รายการเริ่มต้น array(array('title1' => 'detail1'), array('title2' => 'detail2'))
40:      * @param bool   $onetab true สามารถเปิดได้ทีละเท็บ, false (ค่าเริ่มต้น) สามารถเปิด-ปิดแท็บได้อิสระ
41:      */
42:     public function __construct($id, $items = array(), $onetab = false)
43:     {
44:         $this->id = $id;
45:         $this->datas = empty($items) ? array() : $items;
46:         $this->type = $onetab ? 'radio' : 'checkbox';
47:     }
48: 
49:     /**
50:      * เพิ่มรายการ Accordion.
51:      *
52:      * @param string $title
53:      * @param string $detail
54:      * @param bool   $select    true แสดงรายการนี้, ค่าเริ่มต้นคือไม่ (false)
55:      * @param string $className คลาสส่วนห่อหุ้มข้อมูล ถ้าไม่ระบใช้ค่าเริ่มต้น article
56:      */
57:     public function add($title, $detail, $select = false, $className = 'article')
58:     {
59:         $this->datas[$title] = array(
60:             'detail' => $detail,
61:             'select' => $select,
62:             'className' => $className,
63:         );
64:     }
65: 
66:     /**
67:      * สร้างโค้ด HTML.
68:      *
69:      * @return string
70:      */
71:     public function render()
72:     {
73:         $html = '<div class="accordion">';
74:         $n = 1;
75:         foreach ($this->datas as $title => $item) {
76:             $html .= '<div class="item">';
77:             $html .= '<input id="'.$this->id.$n.'" name="'.$this->id.'" type="'.$this->type.'"'.($item['select'] ? ' checked' : '').'>';
78:             $html .= '<label for="'.$this->id.$n.'">'.$title.'</label>';
79:             $html .= '<div class="body"><div class="'.$item['className'].'">'.$item['detail'].'</div></div>';
80:             $html .= '</div>';
81:             ++$n;
82:         }
83: 
84:         return $html.'</div>';
85:     }
86: }
87: 
Kotchasan API documentation generated by ApiGen