<?php
/**
 * Part of Showkase web site management package
 *
 * @package Showkase
 * @author Jack Hardie {@link http://www.jhardie.com}
 * @copyright Copyright (c) 2012, SimpleViewer Inc.
 */
defined('SK_ACCESS')||die('<h1>403: Forbidden</h1>');
$ds = DIRECTORY_SEPARATOR; 
require_once "classes{$ds}formfield.php";
 
/**
 * Html form input
 *
 * @package Showkase
 */
class EditorField extends FormField
{
    /**
     * @var integer rows
     */
    private $rows = 20;
    
    /**
     * @var integer columns
     */
    private $cols = 40;
    
    /**
     * constructor
     */
    public function __construct($iniVars)
    {
        parent::__construct($iniVars);
        if (isset($iniVars['rows'])) $this->rows = $iniVars['rows'];
        if (isset($iniVars['cols'])) $this->cols = $iniVars['cols'];
    } 
    
    /**
     * Formats html string
     * Used outside the print/echo context
     *
     * @return string
     */
    public function getHtml(&$tab)
    {
        $tab++;
        $value = htmlspecialchars($this->value, ENT_QUOTES, 'UTF-8');
        $sid = SID
            ? '&'.htmlspecialchars(SID)
            : '';
        $html = <<<EOD
<div class="control-group">
  <div class="input editor">
    <textarea class="textarea" name="{$this->name}" rows="{$this->rows}" cols="{$this->cols}" id="{$this->id}" tabindex="{$tab}" >
      {$value}
    </textarea>
    <script type="text/javascript">
      /* for dev tools install dev tools plugin and set extraPlugins : "devtools" */
      var skSessionId = '{$sid}';
			CKEDITOR.replace("{$this->id}",
			{
			  customConfig : "../settings/ckeditorconfig.js"
      });
		</script>
  </div>
</div>
EOD;
        return $html;
    }
}