* @copyright 2007-2019 Apollotheme * @license http://apollotheme.com - prestashop template provider */ if (!defined('_PS_VERSION_')) { # module validation exit; } class ApFontAwesome extends ApShortCodeBase { public $name = 'ApFontAwesome'; public $for_module = 'manage'; public function getInfo() { return array('label' => $this->l('Font Awesome'), 'position' => 5, 'desc' => $this->l('Add a font Awesome'), 'icon_class' => 'icon icon-font', 'tag' => 'content control'); } public function getConfigList() { $rotate = array( array( 'value' => 'normal', 'text' => $this->l('Normal') ), array( 'value' => 'icon-rotate-90', 'text' => $this->l('Rotate Left') ), array( 'value' => 'icon-rotate-180', 'text' => $this->l('Rotate Inverser') ), array( 'value' => 'icon-rotate-270', 'text' => $this->l('Rotate Right') ), array( 'value' => 'icon-flip-horizontal', 'text' => $this->l('Flip Horizontal') ), array( 'value' => 'icon-flip-vertical', 'text' => $this->l('Flip Vertical') ), ); $sizes = array( array( 'value' => 'size-default', 'text' => $this->l('Size Default') ), array( 'value' => 'icon-large', 'text' => $this->l('Size Large') ), array( 'value' => 'icon-2x', 'text' => $this->l('Size 2x') ), array( 'value' => 'icon-3x', 'text' => $this->l('Size 3x') ), array( 'value' => 'icon-4x', 'text' => $this->l('Size 4x') ) ); $default_font = Tools::getIsset('font_name') ? Tools::getValue('font_name') : 'icon-font'; $inputs = array( array( 'type' => 'text', 'name' => 'title', 'label' => $this->l('Title'), 'desc' => $this->l('Auto hide if leave it blank'), 'lang' => 'true', 'form_group_class' => 'aprow_general', 'default' => '' ), array( 'type' => 'textarea', 'name' => 'sub_title', 'label' => $this->l('Sub Title'), 'lang' => true, 'values' => '', 'autoload_rte' => false, 'default' => '', ), array( 'type' => 'html', 'name' => 'default_html', 'html_content' => '
'.$this->renderListFont($default_font).'
' ), array( 'type' => 'html', 'name' => 'default_html', 'html_content' => '
' ), array( 'type' => 'select', 'label' => $this->l('Font Rotate'), 'name' => 'font_type', 'options' => array('query' => $rotate, 'id' => 'value', 'name' => 'text'), 'default' => '', ), array( 'type' => 'select', 'label' => $this->l('Font Size'), 'name' => 'font_size', 'options' => array('query' => $sizes, 'id' => 'value', 'name' => 'text'), 'default' => 'size-default', ), array( 'type' => 'select', 'label' => $this->l('Is Spin'), 'name' => 'is_spin', 'options' => array('query' => array( array('value' => '', 'text' => $this->l('No spin')), array('value' => 'icon-spin', 'text' => $this->l('Spin')), ), 'id' => 'value', 'name' => 'text'), 'default' => 'btn-lg', ), ); return $inputs; } public function renderListFont($default = 'icon-font') { $list = ApPageSetting::listFontAwesome(); $result = ''; foreach ($list as $item) { $cls = ''; if ($default === $item['value']) { $cls = 'selected'; } $result .= '
  • '; } return ""; } public function prepareFontContent($assign, $module = null) { // validate module unset($module); $assign['formAtts']['font_name'] = str_replace('icon', 'fa', $assign['formAtts']['font_name']); return $assign; } }