Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Added assets
  • Loading branch information
nitriques committed May 15, 2015
1 parent 5acaf10 commit 4ef8b62
Show file tree
Hide file tree
Showing 5 changed files with 127 additions and 0 deletions.
7 changes: 7 additions & 0 deletions assets/multilingual_oembed_field.publish.css
@@ -0,0 +1,7 @@
.field-multilingual-oembed .invalid .tab-panel label > div {
color: #222;
}

.field-multilingual-oembed .invalid .tab-panel label > div > i {
color: #a9a9a9;
}
4 changes: 4 additions & 0 deletions assets/multilingual_oembed_field.publish.js
@@ -0,0 +1,4 @@
(function ($, undefined) {


})(this.jQuery);
83 changes: 83 additions & 0 deletions assets/multilingual_oembed_field.settings.js
@@ -0,0 +1,83 @@
(function ($, undefined) {

'use strict';

if (!!Symphony.Extensions.MultilingualoEmbedField) {
return;
}
Symphony.Extensions.MultilingualoEmbedField = true;

// from backend.views.js
var change = function (e) {
var selectbox = $(this);
var parent = selectbox.parents('.instance');
var headline = parent.find('.frame-header h4');
var values = selectbox.find(':selected');
var span = headline.find('.required');

if(!!values.length) {
var langs = [];
values.each(function (index, elem) {
var text = $(this).text();
langs.push(text);
if (index < values.length - 2) {
langs.push(', ');
} else if (index < values.length - 1) {
langs.push(' and ');
}
});

if (!span.length) {
span = $('<span />', {
class: 'required'
}).appendTo(headline);
}

span.html(
'— &nbsp;' + langs.join('') + ' ' +
Symphony.Language.get(langs.length > 1 ? 'are' : 'is') + ' ' +
Symphony.Language.get('required')
);
}

// Is not required
else {
headline.find('.required').remove();
}
};

$(function () {
$('.field-multilingual_oembed.instance select[name*="[required_languages]"]')
.on('change', change)
.trigger('change');

/*if (!!Symphony.Context.get().version) {
Symphony.Elements.contents.find('.instance.field-textbox').each(function () {
var $field = $(this);
var $header = $field.find('.frame-header');
$header.append(
$('<a />').attr('class', 'field-multilingual_textbox-converter debug')
.attr('style', 'right: 11rem;font-size: 0.9em;')
.text(Symphony.Language.get('Convert to multilingual'))
);
}).on('click', '.field-multilingual_textbox-converter', function (e) {
var $field = $(this).closest('.field-textbox');
var id = $field.find('input[name$=\\[id\\]]').val();
e.stopPropagation();
if (!confirm(Symphony.Language.get('Are you sure?'))) {
return false;
}
$.post(Symphony.Context.get('path') + '/extension/multilingual_field/convert/' + id + '/')
.done(function (data) {
if (data && data.ok) {
window.location.reload();
}
});
return;
});
}*/
});

})(jQuery);
31 changes: 31 additions & 0 deletions extension.driver.php
Expand Up @@ -8,6 +8,10 @@

class extension_multilingual_oembed_field extends Extension {

private static $appendedHeaders = 0;
const PUBLISH_HEADERS = 1;
const SETTINGS_HEADERS = 2;

/**
* Name of the extension
* @var string
Expand All @@ -21,6 +25,33 @@ private static function requireoEmbed() {
require_once(EXTENSIONS . '/multilingual_oembed_field/fields/field.multilingual_oembed.php');
}

/**
* Add headers to the page.
*
* @param $type
*/
static public function appendHeaders($type) {
if (
(self::$appendedHeaders & $type) !== $type
&& class_exists('Administration')
&& Administration::instance() instanceof Administration
&& Administration::instance()->Page instanceof HTMLPage
) {
$page = Administration::instance()->Page;

if ($type === self::PUBLISH_HEADERS) {
$page->addStylesheetToHead(URL . '/extensions/multilingual_oembed_field/assets/multilingual_oembed_field.publish.css', 'screen');
$page->addScriptToHead(URL . '/extensions/multilingual_oembed_field/assets/multilingual_oembed_field.publish.js');
}

if ($type === self::SETTINGS_HEADERS) {
$page->addScriptToHead(URL . '/extensions/multilingual_oembed_field/assets/multilingual_oembed_field.settings.js');
}

self::$appendedHeaders &= $type;
}
}

/* ********* INSTALL/UPDATE/UNISTALL ******* */

protected static function checkDependency($depname) {
Expand Down
2 changes: 2 additions & 0 deletions fields/field.multilingual_oembed.php
Expand Up @@ -386,6 +386,7 @@ public function appendFormattedElement(&$wrapper, $data, $encode = false, $mode
*/
public function displayPublishPanel(&$wrapper, $data=NULL, $flagWithError=NULL, $fieldnamePrefix=NULL, $fieldnamePostfix=NULL) {
Extension_Frontend_Localisation::appendAssets();
extension_multilingual_oembed_field::appendHeaders(extension_multilingual_oembed_field::PUBLISH_HEADERS);
$main_lang = FLang::getMainLang();
$all_langs = FLang::getAllLangs();
$langs = FLang::getLangs();
Expand Down Expand Up @@ -495,6 +496,7 @@ public function displayPublishPanel(&$wrapper, $data=NULL, $flagWithError=NULL,
* @param array $errors
*/
public function displaySettingsPanel(&$wrapper, $errors=NULL){
extension_multilingual_oembed_field::appendHeaders(extension_multilingual_oembed_field::SETTINGS_HEADERS);

/* first line, label and such */
parent::displaySettingsPanel($wrapper, $errors);
Expand Down

0 comments on commit 4ef8b62

Please sign in to comment.