first commit
This commit is contained in:
7
plugins/pagebuilderck/icon/assets/images/icon.svg
Normal file
7
plugins/pagebuilderck/icon/assets/images/icon.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(64.3571,0,0,64.3571,-16050.5,-341.281)">
|
||||
<path d="M251.751,7.125L252.027,6.708C252.166,6.499 252.4,6.375 252.651,6.375L254.097,6.375C254.348,6.375 254.582,6.499 254.72,6.708L254.999,7.125L255.625,7.125C256.246,7.125 256.75,7.629 256.75,8.25L256.75,10.875C256.75,11.496 256.246,12 255.625,12L251.125,12C250.504,12 250,11.496 250,10.875L250,8.25C250,7.629 250.504,7.125 251.125,7.125L251.751,7.125ZM254.5,9.563C254.5,8.945 253.992,8.438 253.375,8.438C252.758,8.438 252.25,8.945 252.25,9.563C252.25,10.18 252.758,10.688 253.375,10.688C253.992,10.688 254.5,10.18 254.5,9.563Z" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:0.31px;"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
plugins/pagebuilderck/icon/assets/images/index.html
Normal file
1
plugins/pagebuilderck/icon/assets/images/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
1
plugins/pagebuilderck/icon/assets/index.html
Normal file
1
plugins/pagebuilderck/icon/assets/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
115
plugins/pagebuilderck/icon/icon.php
Normal file
115
plugins/pagebuilderck/icon/icon.php
Normal file
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
/**
|
||||
* @copyright Copyright (C) 2015 Cédric KEIFLIN alias ced1870
|
||||
* https://www.template-creator.com
|
||||
* https://www.joomlack.fr
|
||||
* @license GNU/GPL
|
||||
* */
|
||||
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
jimport('joomla.event.plugin');
|
||||
|
||||
class plgPagebuilderckIcon extends JPlugin {
|
||||
|
||||
private $context = 'PLG_PAGEBUILDERCK_ICON';
|
||||
|
||||
private $type = 'icon';
|
||||
|
||||
function __construct(&$subject, $params) {
|
||||
|
||||
parent::__construct($subject, $params);
|
||||
}
|
||||
|
||||
/*
|
||||
* Construct the Menu Item to drag into the interface
|
||||
*
|
||||
* Return Object with item data
|
||||
*/
|
||||
public function onPagebuilderckAddItemToMenu() {
|
||||
// load the language files of the plugin
|
||||
$this->loadLanguage();
|
||||
// create the menu item
|
||||
$menuitem = new stdClass();
|
||||
$menuitem->type = $this->type;
|
||||
$menuitem->group = 'text';
|
||||
$menuitem->title = JText::_($this->context . '_MENUITEM_TITLE');
|
||||
$menuitem->description = JText::_($this->context . '_MENUITEM_DESC');
|
||||
$menuitem->image = JUri::root(true) . '/plugins/pagebuilderck/icon/assets/images/icon.svg';
|
||||
|
||||
return $menuitem;
|
||||
}
|
||||
|
||||
/*
|
||||
* Display the html code for the item to be used into the interface
|
||||
*
|
||||
* Return String the html code
|
||||
*/
|
||||
public function onPagebuilderckLoadItemContentIcon() {
|
||||
$input = JFactory::getApplication()->input;
|
||||
$id = $input->get('ckid', '', 'string');
|
||||
// ckstyle and inner classes are needed to get the styles from the interface
|
||||
?>
|
||||
<div id="<?php echo $id; ?>" class="cktype" data-type="icon" >
|
||||
<div class="tab_blocstyles ckprops" iconalignementcenter="checked" fieldslist="iconalignementleft,iconalignementcenter,iconalignementright,iconalignementjustify"></div>
|
||||
<div class="tab_iconstyles ckprops" iconicontype="svg" iconiconsvgsize="40" iconiconsvgstrokewidth="2" iconalignementcenter="checked" fieldslist="iconicontype,iconiconsvgsize,iconiconsvgstrokewidth,iconalignementleft,iconalignementcenter,iconalignementright"></div>
|
||||
<div class="ckstyle">
|
||||
<style>
|
||||
#<?php echo $id; ?> .iconck {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#<?php echo $id; ?> .iconck {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#<?php echo $id; ?> svg * {
|
||||
stroke-width: 1.6;
|
||||
}
|
||||
|
||||
#<?php echo $id; ?> svg.svgicon-ionicon *, #<?php echo $id; ?> svg.svgicon-fontawesome * {
|
||||
stroke-width: 25.6;
|
||||
}
|
||||
|
||||
#<?php echo $id; ?> svg {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
</style>
|
||||
</div>
|
||||
<div class="iconck">
|
||||
<span class="pbckicon" data-path="tabler_photo.svg" data-pos="undefined" style="display:inline-block;">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-photo" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round" style="display: inline-block;">
|
||||
<line x1="15" y1="8" x2="15.01" y2="8"></line>
|
||||
<rect x="4" y="4" width="16" height="16" rx="3"></rect>
|
||||
<path d="M4 15l4 -4a3 5 0 0 1 3 0l5 5"></path>
|
||||
<path d="M14 14l1 -1a3 5 0 0 1 3 0l2 2"></path>
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
/*
|
||||
* Load the interface for the item edition
|
||||
*
|
||||
* Return String the html code
|
||||
*/
|
||||
public function onPagebuilderckLoadItemOptionsIcon() {
|
||||
// load the language files of the plugin
|
||||
$this->loadLanguage();
|
||||
// load the interface for the options
|
||||
$tpl = JPATH_SITE . '/plugins/pagebuilderck/icon/layouts/edit_icon.php';
|
||||
return $tpl;
|
||||
}
|
||||
|
||||
/*
|
||||
* Display the html code for the item to be used into the frontend page
|
||||
* @param string the item object from simple_html_dom
|
||||
*
|
||||
* Return String the html code
|
||||
*/
|
||||
public function onPagebuilderckRenderItemIcon($item) {
|
||||
return $item->innertext;
|
||||
}
|
||||
}
|
||||
24
plugins/pagebuilderck/icon/icon.xml
Normal file
24
plugins/pagebuilderck/icon/icon.xml
Normal file
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<extension version="3" type="plugin" group="pagebuilderck" method="upgrade">
|
||||
<name>plg_pagebuilderck_icon_xml_name</name>
|
||||
<creationDate>December 2015</creationDate>
|
||||
<copyright>Copyright (C) 2015. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later</license>
|
||||
<author>Cedric Keiflin</author>
|
||||
<authorEmail>ced1870@gmail.com</authorEmail>
|
||||
<authorUrl>https://www.joomlack.fr</authorUrl>
|
||||
<version>3.0.0</version>
|
||||
<description>Icon item for Page Builder CK</description>
|
||||
<files>
|
||||
<filename plugin="icon">icon.php</filename>
|
||||
<folder>language</folder>
|
||||
<folder>layouts</folder>
|
||||
<folder>assets</folder>
|
||||
</files>
|
||||
<languages folder="language">
|
||||
<language tag="en-GB">en-GB/en-GB.plg_pagebuilderck_icon.sys.ini</language>
|
||||
<language tag="en-GB">en-GB/en-GB.plg_pagebuilderck_icon.ini</language>
|
||||
<language tag="fr-FR">fr-FR/fr-FR.plg_pagebuilderck_icon.sys.ini</language>
|
||||
<language tag="fr-FR">fr-FR/fr-FR.plg_pagebuilderck_icon.ini</language>
|
||||
</languages>
|
||||
</extension>
|
||||
@@ -0,0 +1,10 @@
|
||||
; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870
|
||||
; https://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_PAGEBUILDERCK_ICON_XML_NAME="Page Builder CK - Icon"
|
||||
PLG_PAGEBUILDERCK_ICON_MENUITEM_TITLE="Icon"
|
||||
PLG_PAGEBUILDERCK_ICON_MENUITEM_DESC="Select an icon from a collection"
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870
|
||||
; https://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_PAGEBUILDERCK_ICON_XML_NAME="Page Builder CK - Icon"
|
||||
1
plugins/pagebuilderck/icon/language/en-GB/index.html
Normal file
1
plugins/pagebuilderck/icon/language/en-GB/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
@@ -0,0 +1,9 @@
|
||||
; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870
|
||||
; https://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_PAGEBUILDERCK_ICON_XML_NAME="Page Builder CK - Icône"
|
||||
PLG_PAGEBUILDERCK_ICON_MENUITEM_TITLE="Icône"
|
||||
PLG_PAGEBUILDERCK_ICON_MENUITEM_DESC="Selectionner une icône dans la liste"
|
||||
@@ -0,0 +1,7 @@
|
||||
; @copyright Copyright (C) 2010 Cédric KEIFLIN alias ced1870
|
||||
; https://www.joomlack.fr
|
||||
; @license GNU/GPL
|
||||
; Double quotes in the values have to be formatted as "_QQ_"
|
||||
|
||||
|
||||
PLG_PAGEBUILDERCK_ICON_XML_NAME="Page Builder CK - Icône"
|
||||
1
plugins/pagebuilderck/icon/language/fr-FR/index.html
Normal file
1
plugins/pagebuilderck/icon/language/fr-FR/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
1
plugins/pagebuilderck/icon/language/index.html
Normal file
1
plugins/pagebuilderck/icon/language/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
133
plugins/pagebuilderck/icon/layouts/edit_icon.php
Normal file
133
plugins/pagebuilderck/icon/layouts/edit_icon.php
Normal file
@@ -0,0 +1,133 @@
|
||||
<?php
|
||||
/**
|
||||
* @name Page Builder CK
|
||||
* @package com_pagebuilderck
|
||||
* @copyright Copyright (C) 2015. All rights reserved.
|
||||
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
||||
* @author Cedric Keiflin - https://www.template-creator.com - https://www.joomlack.fr
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
?>
|
||||
<div id="elementscontainer">
|
||||
<div class="menulink" tab="tab_iconstyles"><?php echo JText::_('CK_ICON'); ?></div>
|
||||
<div class="tab menustyles ckproperty" id="tab_iconstyles">
|
||||
<?php echo $this->menustyles->createIcon('icon', '.editfocus .iconck i.fa', false, false, true) ?>
|
||||
<div class="menupanetitle"><?php echo JText::_('CK_LINK') ?></div>
|
||||
<div class="ckoption">
|
||||
<span class="ckoption-label">
|
||||
<img class="ckoption-icon" src="<?php echo $this->imagespath; ?>link.png" width="16" height="16" />
|
||||
<?php echo JText::_('CK_LINK_URL'); ?>
|
||||
</span>
|
||||
<span class="ckoption-field ckoption-field-with-button">
|
||||
<input id="linkurl" name="linkurl" class="inputbox" value="" type="text" />
|
||||
<span class="ckbuttonstyle" onclick="ckCallLinkManagerPopup('linkurl', 'all')">+</span>
|
||||
</span>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="ckoption">
|
||||
<span class="ckoption-label">
|
||||
<img class="ckoption-icon" src="<?php echo $this->imagespath; ?>text_signature.png" width="16" height="16" />
|
||||
<?php echo JText::_('CK_REL_TAG'); ?>
|
||||
</span>
|
||||
<span class="ckoption-field">
|
||||
<input id="linkrel" name="linkrel" class="inputbox" value="" type="text" />
|
||||
</span>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="ckoption">
|
||||
<span class="ckoption-label">
|
||||
<img class="ckoption-icon" src="<?php echo $this->imagespath; ?>text_signature.png" width="16" height="16" />
|
||||
<?php echo JText::_('CK_CSS_CLASS'); ?>
|
||||
</span>
|
||||
<span class="ckoption-field">
|
||||
<input id="linkcss" name="linkcss" class="inputbox" value="" type="text" />
|
||||
</span>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="ckoption">
|
||||
<span class="ckoption-label">
|
||||
<img class="ckoption-icon" src="<?php echo $this->imagespath; ?>hand-point-090.png" width="16" height="16" />
|
||||
<?php echo JText::_('CK_ONCLICK'); ?>
|
||||
</span>
|
||||
<span class="ckoption-field">
|
||||
<input id="linkonlick" name="linkonlick" class="inputbox" value="" type="text" />
|
||||
</span>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
<div class="ckoption">
|
||||
<span class="ckoption-label">
|
||||
<img class="ckoption-icon" src="<?php echo $this->imagespath; ?>link_add.png" width="16" height="16" />
|
||||
<?php echo JText::_('CK_TARGET'); ?>
|
||||
</span>
|
||||
<span class="ckoption-field">
|
||||
<input id="linktarget" name="linktarget" class="inputbox" value="" type="text" />
|
||||
</span>
|
||||
<div class="clr"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="menulink" tab="tab_blocstyles"><?php echo JText::_('CK_STYLES'); ?></div>
|
||||
<div class="tab menustyles ckproperty" id="tab_blocstyles">
|
||||
<?php echo $this->menustyles->createBackground('icon') ?>
|
||||
<?php echo $this->menustyles->createDimensions('icon', true, true) ?>
|
||||
<?php echo $this->menustyles->createDecoration('icon') ?>
|
||||
<?php echo $this->menustyles->createShadow('icon') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
var focus = $ck('.editfocus');
|
||||
function ckLoadEditionPopup() {
|
||||
ckFillEditionPopup(focus.attr('id'));
|
||||
ckGetIconPosition('.editfocus .iconck i.fa', '#iconicon-position button');
|
||||
ckGetIconMargin('.editfocus .iconck i.fa', '#iconicon_margin');
|
||||
$ck('#iconicon-class').val(focus.find('.iconck > i').attr('data-iconclass'));
|
||||
}
|
||||
|
||||
function ckBeforeSaveEditionPopup() {
|
||||
if (ckCheckIconType()) {
|
||||
ckUpdatePreviewArea();
|
||||
}
|
||||
}
|
||||
|
||||
function ckCheckIconType() {
|
||||
var isSvg = focus.find('.iconck svg').length;
|
||||
var isFont = focus.find('.iconck > i').length;
|
||||
var type = $ck('#elementscontainer input[type="radio"][name="iconicontype"]:checked').val();
|
||||
if (isSvg && type == 'svg') return true;
|
||||
if (isFont && type == 'fa') return true;
|
||||
if (! isFont && ! isSvg) return true; // in case of ...
|
||||
alert('Please update the icon, it does not match the selected type');
|
||||
return false;
|
||||
}
|
||||
|
||||
function ckUpdatePreviewArea() {
|
||||
var focusIcon = focus.find('.iconck');
|
||||
var html = focus.find('i,.pbckicon')[0].outerHTML;
|
||||
var linkurl = $ck('#linkurl').val();
|
||||
// add link
|
||||
if (linkurl) {
|
||||
var linkrel = $ck('#linkrel').val();
|
||||
var linkcss = $ck('#linkcss').val();
|
||||
var linkonlick = $ck('#linkonlick').val();
|
||||
var linktarget = $ck('#linktarget').val();
|
||||
html = '<a href="' + linkurl + '"'
|
||||
+ (linkrel ? ' rel="' + linkrel + '"' : '')
|
||||
+ (linkcss ? ' class="' + linkcss + '"' : '')
|
||||
+ (linkonlick ? ' onclick="' + linkonlick + '"' : '')
|
||||
+ (linktarget ? ' target="' + linktarget + '"' : '')
|
||||
+ '>'
|
||||
+ html
|
||||
+ '</a>';
|
||||
}
|
||||
focusIcon.html(html);
|
||||
}
|
||||
|
||||
function ckSelectIcon(icon) {
|
||||
var focusIcon = $ck('.editfocus .iconck');
|
||||
focusIcon.empty().append(icon);
|
||||
return focusIcon;
|
||||
}
|
||||
|
||||
ckInitIconPosition('.editfocus .iconck i.fa', '#iconicon-position button');
|
||||
</script>
|
||||
1
plugins/pagebuilderck/icon/layouts/index.html
Normal file
1
plugins/pagebuilderck/icon/layouts/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
Reference in New Issue
Block a user