123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- <?php
- /**
- *
- * PHP Pro Bid $Id$ pa5vRUJo6k3fbeZS4uXnKzMRGD9i7nicpA4WTwflljM=
- *
- * @link http://www.phpprobid.com
- * @copyright Copyright (c) 2014 Online Ventures Software LTD & CodeCube SRL
- * @license http://www.phpprobid.com/license Commercial License
- *
- * @version 7.0
- */
- /**
- * linked textarea custom element
- *
- * used specifically for the languages editor admin page
- */
- namespace Ppb\Form\Element;
- use Cube\Form\Element,
- Cube\Controller\Front;
- class LinkedTextarea extends Element
- {
- const ELEMENT_CLASS = 'linked-textarea';
- /**
- *
- * type of element - override the variable from the parent class
- *
- * @var string
- */
- protected $_element = 'linkedTextarea';
- /**
- *
- * class constructor
- *
- * @param string $name
- */
- public function __construct($name)
- {
- parent::__construct($this->_element, $name);
- $baseUrl = Front::getInstance()->getRequest()->getBaseUrl();
- $this->setHeaderCode('<link href="' . $baseUrl . '/js/linedtextarea/linedtextarea.css" media="screen" rel="stylesheet" type="text/css">')
- ->setBodyCode('<script type="text/javascript" src="' . $baseUrl . '/js/linedtextarea/linedtextarea.js"></script>');
- $this->setBodyCode(
- "<script type=\"text/javascript\">" . "\n"
- . " $(document).ready(function() { " . "\n"
- . " $('." . self::ELEMENT_CLASS . "').linedtextarea();" . "\n"
- . " }); " . "\n"
- . "</script>"
- );
- $this->addAttribute('class', self::ELEMENT_CLASS);
- }
- // /**
- // *
- // * set script code in case the element is not part of a form
- // *
- // * @return $this
- // */
- // public function setScriptCode()
- // {
- // $view = Front::getInstance()->getBootstrap()->getResource('view');
- //
- // /* @var \Cube\View\Helper\Script $helper */
- // $helper = $view->getHelper('script');
- //
- // $headerCode = $this->getHeaderCode();
- // foreach ($headerCode as $code) {
- // $helper->addHeaderCode($code);
- // }
- // $bodyCode = $this->getBodyCode();
- // foreach ($bodyCode as $code) {
- // $helper->addBodyCode($code);
- // }
- //
- // return $this;
- // }
- /**
- *
- * render the form element
- *
- * @return string
- */
- public function render()
- {
- $value = $this->getValue();
- return '<div class="row">'
- . '<div class="col-sm-6">'
- . '<textarea name="' . $this->_name . 'Keys" readonly="readonly" '
- . $this->renderAttributes() . '>'
- . implode("\n", array_keys($value))
- . '</textarea>'
- . '</div>'
- . '<div class="col-sm-6">'
- . '<textarea name="' . $this->_name . '" '
- . $this->renderAttributes() . '>'
- . implode("\n", array_values($value))
- . '</textarea>'
- . '</div>'
- . '</div>';
- }
- }
|