first commit
This commit is contained in:
18
plugins/pagebuilderck/audio/assets/images/audio.svg
Normal file
18
plugins/pagebuilderck/audio/assets/images/audio.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?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-linecap:round;stroke-linejoin:round;">
|
||||
<g transform="matrix(2.08267,0,0,2.08267,-425.202,2.84748)">
|
||||
<g transform="matrix(5.58723,0,0,5.58723,204.162,-1.36723)">
|
||||
<rect x="0" y="0" width="44" height="44" style="fill:none;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(5.58723,0,0,5.58723,204.162,-1.36723)">
|
||||
<path d="M27.5,14.667C29.806,16.397 31.167,19.117 31.167,22C31.167,24.883 29.806,27.603 27.5,29.333" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:2.15px;"/>
|
||||
</g>
|
||||
<g transform="matrix(5.58723,0,0,5.58723,204.162,-1.36723)">
|
||||
<path d="M32.45,9.167C36.324,12.297 38.579,17.019 38.579,22C38.579,26.981 36.324,31.703 32.45,34.833" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:2.15px;"/>
|
||||
</g>
|
||||
<g transform="matrix(5.58723,0,0,5.58723,204.162,-1.36723)">
|
||||
<path d="M11,27.5L7.333,27.5C6.328,27.5 5.5,26.672 5.5,25.667L5.5,18.333C5.5,17.328 6.328,16.5 7.333,16.5L11,16.5L17.417,8.25C17.668,7.762 18.172,7.455 18.721,7.455C19.525,7.455 20.187,8.117 20.187,8.921C20.187,9.004 20.18,9.086 20.167,9.167L20.167,34.833C20.18,34.914 20.187,34.996 20.187,35.079C20.187,35.883 19.525,36.545 18.721,36.545C18.172,36.545 17.668,36.238 17.417,35.75L11,27.5" style="fill:none;fill-rule:nonzero;stroke:black;stroke-width:2.15px;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
BIN
plugins/pagebuilderck/audio/assets/images/audio_example.jpg
Normal file
BIN
plugins/pagebuilderck/audio/assets/images/audio_example.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.8 KiB |
1
plugins/pagebuilderck/audio/assets/images/index.html
Normal file
1
plugins/pagebuilderck/audio/assets/images/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
1
plugins/pagebuilderck/audio/assets/index.html
Normal file
1
plugins/pagebuilderck/audio/assets/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
95
plugins/pagebuilderck/audio/audio.php
Normal file
95
plugins/pagebuilderck/audio/audio.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<?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 plgPagebuilderckAudio extends JPlugin {
|
||||
|
||||
private $context = 'PLG_PAGEBUILDERCK_AUDIO';
|
||||
|
||||
private $type = 'audio';
|
||||
|
||||
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 = 'multimedia';
|
||||
$menuitem->title = JText::_($this->context . '_MENUITEM_TITLE');
|
||||
$menuitem->description = JText::_($this->context . '_MENUITEM_DESC');
|
||||
$menuitem->image = JUri::root(true) . '/plugins/pagebuilderck/audio/assets/images/audio.svg';
|
||||
|
||||
return $menuitem;
|
||||
}
|
||||
|
||||
/*
|
||||
* Display the html code for the item to be used into the interface
|
||||
*
|
||||
* Return String the html code
|
||||
*/
|
||||
public function onPagebuilderckLoadItemContentAudio() {
|
||||
$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="audio">
|
||||
<div class="ckstyle">
|
||||
</div>
|
||||
<div class="inner">
|
||||
<div class="audiock">
|
||||
<img src="<?php echo JUri::root(true); ?>/plugins/pagebuilderck/audio/assets/images/audio_example.jpg" width="300" height="auto" data-src="" />
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
/*
|
||||
* Load the interface for the item edition
|
||||
*
|
||||
* Return String the html code
|
||||
*/
|
||||
public function onPagebuilderckLoadItemOptionsAudio() {
|
||||
// load the language files of the plugin
|
||||
$this->loadLanguage();
|
||||
// load the interface for the options
|
||||
$tpl = JPATH_SITE . '/plugins/pagebuilderck/audio/layouts/edit_audio.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 onPagebuilderckRenderItemAudio($item) {
|
||||
$attrs = $item->find('.tab_audio');
|
||||
$params = PagebuilderckFrontHelper::createParamsFromElement($attrs);
|
||||
|
||||
$audiosrc = PagebuilderckFrontHelper::getSource($params->get('audiourl'));
|
||||
$html ='<audio style="width:100%;box-sizing:border-box;max-width:100%;" controls src="' . $audiosrc . '" ' . ($params->get('autoplayyes') == 'checked' ? 'autoplay' : '') . '>'
|
||||
. 'Your browser does not support the audio element.'
|
||||
. '</audio>';
|
||||
|
||||
$html = preg_replace('#<div class="audiock"[^>]*>(.*?)<\/div>#is', $html, $item->innertext);
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
24
plugins/pagebuilderck/audio/audio.xml
Normal file
24
plugins/pagebuilderck/audio/audio.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_audio_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>Audio item for Page Builder CK</description>
|
||||
<files>
|
||||
<filename plugin="audio">audio.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_audio.sys.ini</language>
|
||||
<language tag="en-GB">en-GB/en-GB.plg_pagebuilderck_audio.ini</language>
|
||||
<language tag="fr-FR">fr-FR/fr-FR.plg_pagebuilderck_audio.sys.ini</language>
|
||||
<language tag="fr-FR">fr-FR/fr-FR.plg_pagebuilderck_audio.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_AUDIO_XML_NAME="Page Builder CK - Audio player"
|
||||
PLG_PAGEBUILDERCK_AUDIO_MENUITEM_TITLE="Audio player"
|
||||
PLG_PAGEBUILDERCK_AUDIO_MENUITEM_DESC="Play your audio files"
|
||||
|
||||
@@ -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_AUDIO_XML_NAME="Page Builder CK - Audio player"
|
||||
1
plugins/pagebuilderck/audio/language/en-GB/index.html
Normal file
1
plugins/pagebuilderck/audio/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_AUDIO_XML_NAME="Page Builder CK - Lecteur audio"
|
||||
PLG_PAGEBUILDERCK_AUDIO_MENUITEM_TITLE="Lecteur audio"
|
||||
PLG_PAGEBUILDERCK_AUDIO_MENUITEM_DESC="Jouer vos fichiers audio"
|
||||
@@ -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_AUDIO_XML_NAME="Page Builder CK - Lecteur audio"
|
||||
1
plugins/pagebuilderck/audio/language/fr-FR/index.html
Normal file
1
plugins/pagebuilderck/audio/language/fr-FR/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
1
plugins/pagebuilderck/audio/language/index.html
Normal file
1
plugins/pagebuilderck/audio/language/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><title></title>
|
||||
105
plugins/pagebuilderck/audio/layouts/edit_audio.php
Normal file
105
plugins/pagebuilderck/audio/layouts/edit_audio.php
Normal file
@@ -0,0 +1,105 @@
|
||||
<?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_audio"><?php echo JText::_('CK_AUDIO_EDITION'); ?></div>
|
||||
<div class="tab menustyles ckproperty" id="tab_audio">
|
||||
<div class="menupanetitle"><?php echo JText::_('CK_AUDIO_FILE'); ?></div>
|
||||
<div class="menustyles-row">
|
||||
<div class="menustyles-field-large" >
|
||||
<input class="inputbox" type="text" value="" name="audiourl" id="audiourl" onchange="ckUpdateAudioPreview()" />
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<a class="ckbuttonstyle" href="javascript:void(0)" onclick="ckCallMediaManagerPopup('audiourl', 'audio')" onchange="ckUpdateAudioPreview()()"><?php echo JText::_('CK_SELECT') ?></a>
|
||||
</div>
|
||||
<div id="previewareabloc">
|
||||
<div class="audiock">
|
||||
</div>
|
||||
</div>
|
||||
<div class="menupanetitle"><?php echo JText::_('CK_OPTIONS'); ?></div>
|
||||
<div class="ckoption">
|
||||
<span class="ckoption-label">
|
||||
<img class="ckoption-icon" src="<?php echo $this->imagespath; ?>control_play.png" width="16" height="16" />
|
||||
<?php echo JText::_('CK_AUTOPLAY'); ?>
|
||||
</span>
|
||||
<span class="ckoption-field ckbutton-group">
|
||||
<input type="radio" class="inputbox" name="autoplay" id="autoplayyes" onclick="ckUpdateAudioPreview()" value="1" />
|
||||
<label for="autoplayyes" class="ckbutton"><?php echo JText::_('JYES') ?></label>
|
||||
<input type="radio" class="inputbox" name="autoplay" id="autoplayno" onclick="ckUpdateAudioPreview()" value="0" />
|
||||
<label for="autoplayno" class="ckbutton"><?php echo JText::_('JNO') ?></label>
|
||||
</span>
|
||||
</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 class="inputbox" type="text" name="audiocssclass" id="audiocssclass" value="" onchange="ckUpdateAudioAttribute('class', this.value)" />
|
||||
</span>
|
||||
</div>
|
||||
<div class="clr"></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->createBlocStyles('bloc', 'audio', '') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
function ckLoadEditionPopup() {
|
||||
var focus = $ck('.editfocus');
|
||||
// var focus_audio = $ck('.editfocus iframe');
|
||||
$ck('#previewareabloc > .inner').html(focus.find('> .inner').html());
|
||||
$ck('#previewareabloc .ckstyle').html(focus.find('.ckstyle').html());
|
||||
ckFillEditionPopup(focus.attr('id'));
|
||||
}
|
||||
|
||||
function ckBeforeSaveEditionPopup() {
|
||||
var focus = $ck('.editfocus');
|
||||
ckUpdateAudioPreview();
|
||||
// focus.find('> .inner').html($ck('#previewareabloc > .inner').html());
|
||||
focus.find('.ckstyle').html($ck('#previewareabloc .ckstyle').html());
|
||||
// ckSaveEditionPopup(focus.attr('id'));
|
||||
// ckCloseEditionPopup();
|
||||
}
|
||||
|
||||
function ckUpdateAudioPreview() {
|
||||
var audioSrc = $ck('#audiourl').val();
|
||||
if (audioSrc.substr(0,1) == '/') {
|
||||
audioSrc = audioSrc.slice(1,audioSrc.length);
|
||||
}
|
||||
audioSrc = (/^(f|ht)tps?:\/\//i.test(audioSrc)) ? audioSrc : PAGEBUILDERCK.URIROOT + '/' + audioSrc;
|
||||
|
||||
var audioPlayer = $ck('#previewareabloc .audiock audio');
|
||||
|
||||
if (audioSrc) {
|
||||
var controls = $ck('#elementscontainer [name="controls"]:checked').val() == '1' ? 'controls' : '';
|
||||
var autoplay = $ck('#elementscontainer [name="autoplay"]:checked').val() == '1' ? 'autoplay' : '';
|
||||
|
||||
$ck('#previewareabloc .audiock').empty()
|
||||
.append(
|
||||
'<audio controls src="'+audioSrc+'" '+controls+autoplay+'>'
|
||||
+'Your browser does not support the audio element.'
|
||||
+ '</audio>');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function selectaudiofile(file) {
|
||||
$ck('#audiourl').val(file);
|
||||
CKBox.close();
|
||||
ckUpdateAudioPreview();
|
||||
}
|
||||
|
||||
</script>
|
||||
1
plugins/pagebuilderck/audio/layouts/index.html
Normal file
1
plugins/pagebuilderck/audio/layouts/index.html
Normal file
@@ -0,0 +1 @@
|
||||
<html><body></body></html>
|
||||
Reference in New Issue
Block a user