%PDF- %PDF-
| Direktori : /home1/lightco1/www/lightingrepublic.com.au/plugins/system/helix3/fields/ |
| Current File : //home1/lightco1/www/lightingrepublic.com.au/plugins/system/helix3/fields/typography.php |
<?php
/**
* @package Helix3 Framework
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2015 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
*/
//no direct accees
defined ('_JEXEC') or die ('resticted aceess');
jimport('joomla.form.formfield');
class JFormFieldTypography extends JFormField
{
protected $type = 'Typography';
protected function getInput() {
$template_path = JPATH_SITE . '/templates/' . self::getTemplate() . '/webfonts/webfonts.json';
$plugin_path = JPATH_PLUGINS . '/system/helix3/assets/webfonts/webfonts.json';
if(file_exists( $template_path )) {
$json = JFile::read( $template_path );
} else {
$json = JFile::read( $plugin_path );
}
$webfonts = json_decode($json);
$items = $webfonts->items;
$value = json_decode($this->value);
if(isset($value->fontFamily)) {
$font = self::filterArray($items, $value->fontFamily);
}
$html = '';
$classes = (!empty($this->element['class'])) ? $this->element['class'] : '';
//Font Family
$html .= '<div class="webfont '. $classes .'">';
$html .= '<div class="row-fluid">';
$html .= '<div class="span3 font-families">';
$html .= '<label><strong>'. JText::_('HELIX_FONT_FAMILY') .'</strong></label>';
$html .= '<select class="list-font-families">';
foreach ($items as $item) {
if(isset($value->fontFamily) && $item->family==$value->fontFamily) {
$html .= '<option selected="selected" value="'. $item->family .'">'. $item->family .'</option>';
} else {
$html .= '<option value="'. $item->family .'">'. $item->family .'</option>';
}
}
$html .= '</select>';
$html .= '</div>';
//Font Weight
$html .= '<div class="span2 font-weight">';
$html .= '<label><strong>'. JText::_('HELIX_FONT_WEIGHT_STYLE') .'</strong></label>';
$html .= '<select class="list-font-weight">';
if(isset($value->fontFamily)) {
foreach ($font->variants as $variant) {
if($variant == $value->fontWeight) {
$html .= '<option selected="selected" value="'. $variant .'">'. $variant .'</option>';
} else {
$html .= '<option value="'. $variant .'">'. $variant .'</option>';
}
}
} else {
foreach ($items[0]->variants as $variant) {
$html .= '<option value="'. $variant .'">'. $variant .'</option>';
}
}
$html .= '</select>';
$html .= '</div>';
//Font Subsets
$html .= '<div class="span2 font-subsets">';
$html .= '<label><strong>'. JText::_('HELIX_FONT_SUBSET') .'</strong></label>';
$html .= '<select class="list-font-subset">';
if(isset($value->fontFamily)) {
foreach ($font->subsets as $subset) {
if($subset == $value->fontSubset) {
$html .= '<option selected="selected" value="'. $subset .'">'. $subset .'</option>';
} else {
$html .= '<option value="'. $subset .'">'. $subset .'</option>';
}
}
} else {
foreach ($items[0]->subsets as $subset) {
$html .= '<option value="'. $subset .'">'. $subset .'</option>';
}
}
$html .= '</select>';
$html .= '</div>';
//Font Size
$fontSize = (isset($value->fontSize))?$value->fontSize:'';
$html .= '<div class="span2 font-size">';
$html .= '<label><strong>'. JText::_('HELIX_FONT_SIZE') .'</strong></label>';
$html .= '<input type="number" value="'. $fontSize .'" class="webfont-size" min="1" placeholder="14">';
$html .= '</div>';
$html .= '</div>';
//Preview
$html .= '<p style="display:none" class="webfont-preview">1 2 3 4 5 6 7 8 9 0 Grumpy wizards make toxic brew for the evil Queen and Jack.</p>';
$html .= '<input type="hidden" name="' . $this->name .'" value="'. $this->value .'" class="input-webfont" id="'. $this->id .'">';
$html .= '</div>';
return $html;
}
// Get current font
private static function filterArray($items, $key) {
foreach ($items as $item) {
if($item->family == $key) {
return $item;
}
}
return false;
}
//Get template name
private static function getTemplate() {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('template')));
$query->from($db->quoteName('#__template_styles'));
$query->where($db->quoteName('id') . ' = '. $db->quote( JRequest::getVar('id') ));
$db->setQuery($query);
return $db->loadResult();
}
}