acf
This commit is contained in:
47
plugins/fields/acffacebook/acffacebook.php
Normal file
47
plugins/fields/acffacebook/acffacebook.php
Normal file
@ -0,0 +1,47 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Advanced Custom Fields
|
||||
* @version 2.8.8 Pro
|
||||
*
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2020 Tassos Marinos All Rights Reserved
|
||||
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Factory;
|
||||
|
||||
JLoader::register('ACF_Field', JPATH_PLUGINS . '/system/acf/helper/plugin.php');
|
||||
|
||||
if (!class_exists('ACF_Field'))
|
||||
{
|
||||
Factory::getApplication()->enqueueMessage('Advanced Custom Fields System Plugin is missing', 'error');
|
||||
return;
|
||||
}
|
||||
|
||||
class PlgFieldsACFFacebook extends ACF_Field
|
||||
{
|
||||
/**
|
||||
* The validation rule will be used to validate the field on saving
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $validate = 'url';
|
||||
|
||||
/**
|
||||
* Field's Class
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $class = 'input-xlarge w-100';
|
||||
|
||||
/**
|
||||
* Field's Hint Description
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $hint = 'ACF_FACEBOOK_HINT';
|
||||
}
|
||||
21
plugins/fields/acffacebook/acffacebook.xml
Normal file
21
plugins/fields/acffacebook/acffacebook.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<extension type="plugin" version="3.7.0" group="fields" method="upgrade">
|
||||
<name>ACF_FACEBOOK</name>
|
||||
<description>ACF_FACEBOOK_DESC</description>
|
||||
<author>Tassos Marinos</author>
|
||||
<creationDate>July 2019</creationDate>
|
||||
<copyright>Copyright (C) 2019 Tassos Marinos. All rights reserved.</copyright>
|
||||
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
|
||||
<authorEmail>info@tassos.gr</authorEmail>
|
||||
<authorUrl>www.tassos.gr</authorUrl>
|
||||
<version>1.0</version>
|
||||
<scriptfile>script.install.php</scriptfile>
|
||||
<files>
|
||||
<filename plugin="acffacebook">acffacebook.php</filename>
|
||||
<filename>script.install.helper.php</filename>
|
||||
<filename>version.php</filename>
|
||||
<folder>language</folder>
|
||||
<folder>params</folder>
|
||||
<folder>tmpl</folder>
|
||||
</files>
|
||||
</extension>
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Camps - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Escriu l'URL d'una pàgina Facebook per incrustar-la i promoure-la permetent als visitants fer 'like' i compartir la pagina sense abandonar el teu lloc"
|
||||
ACF_FACEBOOK_HINT="Escriu l'URL de la pàgina Facebook"
|
||||
ACF_FACEBOOK_VALUE_DESC="Escriu l'URL de la pàgina Facebook"
|
||||
ACF_FACEBOOK_WIDTH="amplada"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Estableix l'amplada de l'incrustat"
|
||||
ACF_FACEBOOK_HEIGHT="Alçada"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Estableix l'alçada de l'incrustat"
|
||||
ACF_FACEBOOK_TABS="Pestanyes"
|
||||
ACF_FACEBOOK_TABS_DESC="Pestanyes per renderitzar, com Línia de temps, esdeveniments i missatges"
|
||||
ACF_FACEBOOK_TIMELINE="Línia de temps"
|
||||
ACF_FACEBOOK_EVENTS="Esdeveniments"
|
||||
ACF_FACEBOOK_MESSAGES="Missatges"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Amagar foto de portada"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Amagar la foto de portada a la capçalera"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Utilitzar capçalera petita"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Utilitza una versió reduida de la capçalera mostrant una foto de portada més petita"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Mostrar cares d'amics"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Mostra fotos de perfil d'amics als que els agrada auqesta pàgina"
|
||||
ACF_FACEBOOK_HIDE_CTA="Amagar el botó crida a l'acció"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Amaga el botó crida a l'acció (si està activat a l'administració de la pàgina)"
|
||||
ACF_FACEBOOK_WIDGET="Giny"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Escull un giny a mostrar"
|
||||
ACF_FACEBOOK_FBPAGE="Pàgina Facebook"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Felter - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Angiv en Facebook side URL der skal indlejres for at promovere en side ved at lade dine besøgende like og dele siden uden at forlade dit webstedr site"
|
||||
ACF_FACEBOOK_HINT="Angiv en Facebook side URL"
|
||||
ACF_FACEBOOK_VALUE_DESC="Angiv en Facebook side URL"
|
||||
ACF_FACEBOOK_WIDTH="Bredde"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Sæt bredden på indlejringenthe width of the embed"
|
||||
ACF_FACEBOOK_HEIGHT="Højde"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Sæt højden på indlejringen"
|
||||
ACF_FACEBOOK_TABS="Faner"
|
||||
ACF_FACEBOOK_TABS_DESC="Faner der skal gengives såsom tidslinje, begivenheder og beskeder"
|
||||
ACF_FACEBOOK_TIMELINE="Tidslinje"
|
||||
ACF_FACEBOOK_EVENTS="Begivenheder"
|
||||
ACF_FACEBOOK_MESSAGES="Beskeder"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Skjul coverbillede"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Skjul cover billedet i headerenphoto in the header"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Anvend Small Header"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Anvend en mindre version af headeren ved at vise et mindre coverbillede"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Vis venners ansigterFriend's Faces"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Vis profilbilleder af venner som liker denne side"
|
||||
ACF_FACEBOOK_HIDE_CTA="Skjul Kald til handlings knappenCall to Action button"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Skjul den brugerdefinerede Kald til handling knap (hvis aktiveret af Side admin)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Vælg et widget til visning display"
|
||||
ACF_FACEBOOK_FBPAGE="Facebook side"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Felder - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Geben Sie eine Facebook-Seiten-URL ein, um eine Seite einzubetten und zu bewerben, indem Sie Ihren Besuchern erlauben, die Seite zu mögen und zu teilen, ohne Ihre Website zu verlassen."
|
||||
ACF_FACEBOOK_HINT="URL einer Facebook-Seite eingeben"
|
||||
ACF_FACEBOOK_VALUE_DESC="URL einer Facebook-Seite eingeben"
|
||||
ACF_FACEBOOK_WIDTH="Breite"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Breite der Einbettung festlegen"
|
||||
ACF_FACEBOOK_HEIGHT="Höhe"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Höhe der Einbettung festlegen"
|
||||
ACF_FACEBOOK_TABS="Tabs"
|
||||
ACF_FACEBOOK_TABS_DESC="Zu rendernde Registerkarten wie Zeitleiste, Ereignisse und Nachrichten"
|
||||
ACF_FACEBOOK_TIMELINE="Zeitachse"
|
||||
ACF_FACEBOOK_EVENTS="Ereignisse"
|
||||
ACF_FACEBOOK_MESSAGES="Nachrichten"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Titelbild ausblenden"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Titelbild in der Kopfzeile ausblenden"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Benutze kleinen Header"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Verwenden Sie eine kleinere Version der Kopfzeile, indem Sie ein kleineres Titelbild anzeigen."
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Gesichter von Freunden anzeigen"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Profilfotos von Freunden anzeigen, denen diese Seite gefällt"
|
||||
ACF_FACEBOOK_HIDE_CTA="Call-to-Action-Schaltfläche ausblenden"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Benutzerdefinierte Aktionsaufruftaste ausblenden (falls von Seitenadministrator aktiviert)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Anzuzeigendes Widget auswählen"
|
||||
ACF_FACEBOOK_FBPAGE="Facebook-Seite"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Fields - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Enter a Facebook Page URL to embed and promote a page by letting your visitors like and share the Page without leaving your site"
|
||||
ACF_FACEBOOK_HINT="Enter a Facebook Page URL"
|
||||
ACF_FACEBOOK_VALUE_DESC="Enter a Facebook Page URL"
|
||||
ACF_FACEBOOK_WIDTH="Width"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Set the width of the embed"
|
||||
ACF_FACEBOOK_HEIGHT="Height"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Set the height of the embed"
|
||||
ACF_FACEBOOK_TABS="Tabs"
|
||||
ACF_FACEBOOK_TABS_DESC="Tabs to render such as Timeline, Events and Messages"
|
||||
ACF_FACEBOOK_TIMELINE="Timeline"
|
||||
ACF_FACEBOOK_EVENTS="Events"
|
||||
ACF_FACEBOOK_MESSAGES="Messages"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Hide Cover Photo"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Hide the cover photo in the header"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Use Small Header"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Use a smaller version of the header by displaying a smaller cover photo"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Show Friend's Faces"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Show profile photos of friends who like this page"
|
||||
ACF_FACEBOOK_HIDE_CTA="Hide Call to Action button"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Hide the custom Call to Action button (if enabled by Page Admin)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Select a widget to display"
|
||||
ACF_FACEBOOK_FBPAGE="Facebook Page"
|
||||
@ -0,0 +1,9 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
ACF_FACEBOOK="Fields - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Enter a Facebook Page URL to embed and promote a page by letting your visitors like and share the Page without leaving your site"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Campos - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Ingrese la URL de una página de Facebook para incrustar y promocionar una página al permitir que a sus visitantes les guste y compartan la página sin salir de su sitio."
|
||||
ACF_FACEBOOK_HINT="Introduzca la URL de la página de Facebook"
|
||||
ACF_FACEBOOK_VALUE_DESC="Introduca la URL de la página de Facebook"
|
||||
ACF_FACEBOOK_WIDTH="Ancho"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Establecer el ancho de la inserción"
|
||||
ACF_FACEBOOK_HEIGHT="Alto"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Establecer el alto de la inserción"
|
||||
ACF_FACEBOOK_TABS="Pestañas"
|
||||
ACF_FACEBOOK_TABS_DESC="Pestañas para renderizar como Cronologías, Eventos y Mensajes"
|
||||
ACF_FACEBOOK_TIMELINE="Cronología"
|
||||
ACF_FACEBOOK_EVENTS="Eventos"
|
||||
ACF_FACEBOOK_MESSAGES="Mensajes"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Ocultar foto de portada"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Ocultar la foto de portada en el encabezado"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Usar encabezado pequeño"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Use una versión más pequeña del encabezado mostrando una foto de portada más pequeña"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Mostrar Caras de Amigos"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Mostrar fotos de perfil de amigos que les gusta esta página."
|
||||
ACF_FACEBOOK_HIDE_CTA="Ocultar botón de llamada a la acción"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Oculte el botón de llamada a la acción personalizado (si está habilitado por el administrador de la página)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Seleccione un widget para mostrar"
|
||||
ACF_FACEBOOK_FBPAGE="Página de Facebook"
|
||||
@ -0,0 +1,9 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
ACF_FACEBOOK="Campos - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Ingrese la URL de una página de Facebook para incrustar y promocionar una página al permitir que a sus visitantes les guste y compartan la página sin salir de su sitio."
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Campi - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Inserisci l'URL di una pagina Facebook per incorporare e promuovere una pagina consentendo ai tuoi visitatori di mettere mi piace e condividere la pagina senza lasciare il tuo sito"
|
||||
ACF_FACEBOOK_HINT="Inserisci l'URL di una pagina Facebook"
|
||||
ACF_FACEBOOK_VALUE_DESC="Inserisci l'URL di una pagina Facebook"
|
||||
ACF_FACEBOOK_WIDTH="Larghezza"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Imposta la larghezza dell'incorporamento"
|
||||
ACF_FACEBOOK_HEIGHT="Altezza"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Imposta l'altezza dell'incorporamento"
|
||||
ACF_FACEBOOK_TABS="Schede"
|
||||
ACF_FACEBOOK_TABS_DESC="Schede per la presentazione di linee del tempo, eventi e messaggi"
|
||||
ACF_FACEBOOK_TIMELINE="Linea temporale"
|
||||
ACF_FACEBOOK_EVENTS="Eventi"
|
||||
ACF_FACEBOOK_MESSAGES="Messaggi"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Nascondi foto di copertina"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Nascondi la foto di copertina nell'intestazione"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Usa intestazione piccola"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Utilizza una versione più piccola dell'intestazione visualizzando una foto di copertina più piccola"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Mostra i volti degli amici"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Mostra le foto del profilo degli amici a cui piace questa pagina"
|
||||
ACF_FACEBOOK_HIDE_CTA="Nascondi pulsante di chiamata all'azione"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Nascondi il pulsante di chiamata all'azione personalizzato (se abilitato dall'amministratore della pagina)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Seleziona un widget da visualizzare"
|
||||
ACF_FACEBOOK_FBPAGE="Pagina Facebook"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Velden - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Voer een Facebook-pagina-URL in om een pagina te integreren en te promoten door jouw bezoekers je pagina te laten liken en te delen zonder dat ze je site te verlaten"
|
||||
ACF_FACEBOOK_HINT="Voer een Facebook-pagina-URL in"
|
||||
ACF_FACEBOOK_VALUE_DESC="Voer een Facebook-pagina-URL in"
|
||||
ACF_FACEBOOK_WIDTH="Breedte"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Stel de breedte van de embed in"
|
||||
ACF_FACEBOOK_HEIGHT="Hoogte"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Stel de hoogte van de embed in"
|
||||
ACF_FACEBOOK_TABS="Tabbladen"
|
||||
ACF_FACEBOOK_TABS_DESC="Weer te geven tabbladen zoals tijdlijn, gebeurtenissen en berichten"
|
||||
ACF_FACEBOOK_TIMELINE="Tijdlijn"
|
||||
ACF_FACEBOOK_EVENTS="Gebeurtenissen"
|
||||
ACF_FACEBOOK_MESSAGES="Berichten"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Verberg de omslag foto"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Verberg de omslagfoto in de koptekt"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Gebruik kleine koptekst"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Gebruik een kleinere versie van de koptekst door een kleinere omslagfoto te tonen"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Laat de gezichten van vrienden zien"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Toon profielfoto's van vrienden die deze pagina leuk vinden"
|
||||
ACF_FACEBOOK_HIDE_CTA="Verberg de Call to Action knop"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Verberg de aangepaste call-to-action-knop (indien ingeschakeld door Page Admin)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Selecteer een widget om weer te geven"
|
||||
ACF_FACEBOOK_FBPAGE="Facebookpagina"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Поля - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Введите URL-адрес страницы Facebook, чтобы вставлять и продвигать страницу, позволяя своим посетителям лайкать и делиться страницей, не покидая своего сайта"
|
||||
ACF_FACEBOOK_HINT="Введите URL страницы Facebook"
|
||||
ACF_FACEBOOK_VALUE_DESC="Введите URL страницы Facebook"
|
||||
ACF_FACEBOOK_WIDTH="Ширина"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Установить ширину встраивания"
|
||||
ACF_FACEBOOK_HEIGHT="Высота"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Установить высоту встраивания"
|
||||
ACF_FACEBOOK_TABS="Вкладка"
|
||||
ACF_FACEBOOK_TABS_DESC="Вкладки для отображения, такие как временная шкала, события и сообщения"
|
||||
ACF_FACEBOOK_TIMELINE="Временная шкала"
|
||||
ACF_FACEBOOK_EVENTS="Событие"
|
||||
ACF_FACEBOOK_MESSAGES="Сообщения"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Скрыть обложку"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Скрыть фотографию обложки в шапке"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Использовать маленький заголовок"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Использовать уменьшенную версию заголовка, отображая уменьшенную фотографию обложки"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Показать лица друзей"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Показать фотографии профиля друзей, которым нравится эта страница"
|
||||
ACF_FACEBOOK_HIDE_CTA="Скрыть кнопку призыва к действию"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Скрыть пользовательскую кнопку призыва к действию (если она включена администратором страницы)"
|
||||
ACF_FACEBOOK_WIDGET="Виджет"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Выберите виджет для отображения"
|
||||
ACF_FACEBOOK_FBPAGE="Страница Facebook"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Fält - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Ange en URL till Facebook-sidan för att bädda in och marknadsföra en sida genom att låta dina besökare gilla och dela sidan utan att lämna din webbplats"
|
||||
ACF_FACEBOOK_HINT="Ange en URL till Facebook-sidan"
|
||||
ACF_FACEBOOK_VALUE_DESC="Ange en URL till Facebook-sidan"
|
||||
ACF_FACEBOOK_WIDTH="Bredd"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Ange bredd på inbäddningen."
|
||||
ACF_FACEBOOK_HEIGHT="Höjd"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Ange höjd på inbäddningen."
|
||||
ACF_FACEBOOK_TABS="Flikar"
|
||||
ACF_FACEBOOK_TABS_DESC="Flikar som ska visas som tidslinje, händelser och meddelanden."
|
||||
ACF_FACEBOOK_TIMELINE="Tidslinje"
|
||||
ACF_FACEBOOK_EVENTS="Händelser"
|
||||
ACF_FACEBOOK_MESSAGES="Meddelanden"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Dölj omslagsbild"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Dölj omslagsbilden i sidhuvudet."
|
||||
ACF_FACEBOOK_SMALL_HEADER="Använd litet sidhuvud"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Använd en mindre version av sidhuvudet genom att visa en mindre omslagsbild."
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Visa vänners profilbilder."
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Visa profilbilder av vänner som gillar den här sidan."
|
||||
ACF_FACEBOOK_HIDE_CTA="Dölj Call to Action-knapp"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Dölj den anpassade Callt to Action-knappen (om aktiverad av sidadministratör)"
|
||||
ACF_FACEBOOK_WIDGET="Widget"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Välj en widget att visa"
|
||||
ACF_FACEBOOK_FBPAGE="Facebook sida"
|
||||
@ -0,0 +1,33 @@
|
||||
; @package Advanced Custom Fields
|
||||
; @version 2.8.8 Pro
|
||||
;
|
||||
; @author Tassos Marinos - http://www.tassos.gr/joomla-extensions
|
||||
; @copyright Copyright (c) 2019 Tassos Marinos. All rights reserved.
|
||||
; @license http://www.tassos.gr
|
||||
|
||||
|
||||
PLG_FIELDS_ACFFACEBOOK_LABEL="ACF - Facebook"
|
||||
ACF_FACEBOOK="Поля - ACF Facebook"
|
||||
ACF_FACEBOOK_DESC="Введіть URL-адресу сторінки Facebook, щоб вбудувати та просувати сторінку, дозволяючи відвідувачам подобатися та ділитися Сторінкою, не виходячи з вашого сайту"
|
||||
ACF_FACEBOOK_HINT="Введіть URL-адресу сторінки Facebook"
|
||||
ACF_FACEBOOK_VALUE_DESC="Введіть URL-адресу сторінки Facebook"
|
||||
ACF_FACEBOOK_WIDTH="Ширина"
|
||||
ACF_FACEBOOK_WIDTH_DESC="Встановити ширину вставки"
|
||||
ACF_FACEBOOK_HEIGHT="Висота"
|
||||
ACF_FACEBOOK_HEIGHT_DESC="Встановити висоту вставки"
|
||||
ACF_FACEBOOK_TABS="Вкладки"
|
||||
ACF_FACEBOOK_TABS_DESC="Вкладки для візуалізації, такі як часова шкала, події та повідомлення"
|
||||
ACF_FACEBOOK_TIMELINE="Хронологія"
|
||||
ACF_FACEBOOK_EVENTS="Події"
|
||||
ACF_FACEBOOK_MESSAGES="Повідомлення"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO="Сховати обкладинку"
|
||||
ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC="Сховати обкладинку в заголовку"
|
||||
ACF_FACEBOOK_SMALL_HEADER="Використовувати невеликий заголовок"
|
||||
ACF_FACEBOOK_SMALL_HEADER_DESC="Використовувати меншу версію заголовка, відображаючи меншу обкладинку"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES="Показати обличчя друга"
|
||||
ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC="Показати фотографії профілю друзів, яким подобається ця сторінка"
|
||||
ACF_FACEBOOK_HIDE_CTA="Приховати кнопку виклику до дії"
|
||||
ACF_FACEBOOK_HIDE_CTA_DESC="Приховати спеціальну кнопку"_QQ_" Заклик до дії "_QQ_"(якщо її ввімкнено Адміністратором сторінки)"
|
||||
ACF_FACEBOOK_WIDGET="Віджет"
|
||||
ACF_FACEBOOK_WIDGET_DESC="Вибрати віджет для відображення"
|
||||
ACF_FACEBOOK_FBPAGE="Сторінка Facebook"
|
||||
57
plugins/fields/acffacebook/params/acffacebook.xml
Normal file
57
plugins/fields/acffacebook/params/acffacebook.xml
Normal file
@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<form>
|
||||
<fields name="fieldparams">
|
||||
<fieldset name="fieldparams">
|
||||
<field name="widget_type" type="list"
|
||||
label="ACF_FACEBOOK_WIDGET"
|
||||
description="ACF_FACEBOOK_WIDGET_DESC"
|
||||
default="page">
|
||||
<option value="page">ACF_FACEBOOK_FBPAGE</option>
|
||||
</field>
|
||||
<fields name="page" showon="fieldparams.widget_type:page">
|
||||
<field name="width" type="text"
|
||||
label="ACF_FACEBOOK_WIDTH"
|
||||
description="ACF_FACEBOOK_WIDTH_DESC"
|
||||
default="400"
|
||||
showon="fieldparams.widget_type:page"
|
||||
/>
|
||||
<field name="height" type="text"
|
||||
label="ACF_FACEBOOK_HEIGHT"
|
||||
description="ACF_FACEBOOK_HEIGHT_DESC"
|
||||
default="214"
|
||||
showon="fieldparams.widget_type:page"
|
||||
/>
|
||||
<field name="tabs" type="checkboxes"
|
||||
label="ACF_FACEBOOK_TABS"
|
||||
description="ACF_FACEBOOK_TABS_DESC"
|
||||
showon="fieldparams.widget_type:page">
|
||||
<option value="timeline">ACF_FACEBOOK_TIMELINE</option>
|
||||
<option value="events">ACF_FACEBOOK_EVENTS</option>
|
||||
<option value="messages">ACF_FACEBOOK_MESSAGES</option>
|
||||
</field>
|
||||
<field name="show_friend_faces" type="nrtoggle"
|
||||
label="ACF_FACEBOOK_SHOW_FRIEND_FACES"
|
||||
description="ACF_FACEBOOK_SHOW_FRIEND_FACES_DESC"
|
||||
checked="true"
|
||||
showon="fieldparams.widget_type:page"
|
||||
/>
|
||||
<field name="hide_cover_photo" type="nrtoggle"
|
||||
label="ACF_FACEBOOK_HIDE_COVER_PHOTO"
|
||||
description="ACF_FACEBOOK_HIDE_COVER_PHOTO_DESC"
|
||||
showon="fieldparams.widget_type:page"
|
||||
/>
|
||||
<field name="small_header" type="nrtoggle"
|
||||
label="ACF_FACEBOOK_SMALL_HEADER"
|
||||
description="ACF_FACEBOOK_SMALL_HEADER_DESC"
|
||||
showon="fieldparams.widget_type:page"
|
||||
/>
|
||||
<field name="hide_cta" type="nrtoggle"
|
||||
label="ACF_FACEBOOK_HIDE_CTA"
|
||||
description="ACF_FACEBOOK_HIDE_CTA_DESC"
|
||||
showon="fieldparams.widget_type:page"
|
||||
/>
|
||||
</fields>
|
||||
</fieldset>
|
||||
</fields>
|
||||
</form>
|
||||
|
||||
691
plugins/fields/acffacebook/script.install.helper.php
Normal file
691
plugins/fields/acffacebook/script.install.helper.php
Normal file
@ -0,0 +1,691 @@
|
||||
<?php
|
||||
/**
|
||||
* Installer Script Helper
|
||||
*
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2016 Tassos Marinos All Rights Reserved
|
||||
* @license http://www.gnu.org/licenses/gpl-3.0.html GNU/GPL
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
use Joomla\CMS\Installer\Installer;
|
||||
use Joomla\CMS\Factory;
|
||||
use Joomla\CMS\Language\Text;
|
||||
use Joomla\Filesystem\File;
|
||||
use Joomla\Filesystem\Folder;
|
||||
|
||||
class PlgFieldsAcffacebookInstallerScriptHelper
|
||||
{
|
||||
public $name = '';
|
||||
public $alias = '';
|
||||
public $extname = '';
|
||||
public $extension_type = '';
|
||||
public $plugin_folder = 'system';
|
||||
public $module_position = 'status';
|
||||
public $client_id = 1;
|
||||
public $install_type = 'install';
|
||||
public $show_message = true;
|
||||
public $autopublish = true;
|
||||
public $db = null;
|
||||
public $app = null;
|
||||
public $installedVersion;
|
||||
|
||||
public function __construct(&$params)
|
||||
{
|
||||
$this->extname = $this->extname ?: $this->alias;
|
||||
$this->db = Factory::getDbo();
|
||||
$this->app = Factory::getApplication();
|
||||
$this->installedVersion = $this->getVersion($this->getInstalledXMLFile());
|
||||
}
|
||||
|
||||
/**
|
||||
* Preflight event
|
||||
*
|
||||
* @param string
|
||||
* @param JAdapterInstance
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function preflight($route, $adapter)
|
||||
{
|
||||
if (!in_array($route, array('install', 'update')))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Factory::getLanguage()->load('plg_system_novaraininstaller', JPATH_PLUGINS . '/system/novaraininstaller');
|
||||
|
||||
if ($this->show_message && $this->isInstalled())
|
||||
{
|
||||
$this->install_type = 'update';
|
||||
}
|
||||
|
||||
if ($this->onBeforeInstall() === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Preflight event
|
||||
*
|
||||
* @param string
|
||||
* @param JAdapterInstance
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function postflight($route, $adapter)
|
||||
{
|
||||
Factory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, $this->getMainFolder());
|
||||
|
||||
if (!in_array($route, array('install', 'update')))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if ($this->onAfterInstall() === false)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($route == 'install' && $this->autopublish)
|
||||
{
|
||||
$this->publishExtension();
|
||||
}
|
||||
|
||||
if ($this->show_message)
|
||||
{
|
||||
$this->addInstalledMessage();
|
||||
}
|
||||
|
||||
Factory::getCache()->clean('com_plugins');
|
||||
Factory::getCache()->clean('_system');
|
||||
}
|
||||
|
||||
public function isInstalled()
|
||||
{
|
||||
if (!is_file($this->getInstalledXMLFile()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
$query = $this->db->getQuery(true)
|
||||
->select('extension_id')
|
||||
->from('#__extensions')
|
||||
->where($this->db->quoteName('type') . ' = ' . $this->db->quote($this->extension_type))
|
||||
->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->getElementName()));
|
||||
$this->db->setQuery($query, 0, 1);
|
||||
$result = $this->db->loadResult();
|
||||
|
||||
return empty($result) ? false : true;
|
||||
}
|
||||
|
||||
public function getMainFolder()
|
||||
{
|
||||
switch ($this->extension_type)
|
||||
{
|
||||
case 'plugin' :
|
||||
return JPATH_SITE . '/plugins/' . $this->plugin_folder . '/' . $this->extname;
|
||||
|
||||
case 'component' :
|
||||
return JPATH_ADMINISTRATOR . '/components/com_' . $this->extname;
|
||||
|
||||
case 'module' :
|
||||
return JPATH_ADMINISTRATOR . '/modules/mod_' . $this->extname;
|
||||
|
||||
case 'library' :
|
||||
return JPATH_SITE . '/libraries/' . $this->extname;
|
||||
}
|
||||
}
|
||||
|
||||
public function getInstalledXMLFile()
|
||||
{
|
||||
return $this->getXMLFile($this->getMainFolder());
|
||||
}
|
||||
|
||||
public function getCurrentXMLFile()
|
||||
{
|
||||
return $this->getXMLFile(__DIR__);
|
||||
}
|
||||
|
||||
public function getXMLFile($folder)
|
||||
{
|
||||
switch ($this->extension_type)
|
||||
{
|
||||
case 'module' :
|
||||
return $folder . '/mod_' . $this->extname . '.xml';
|
||||
default :
|
||||
return $folder . '/' . $this->extname . '.xml';
|
||||
}
|
||||
}
|
||||
|
||||
public function foldersExist($folders = array())
|
||||
{
|
||||
foreach ($folders as $folder)
|
||||
{
|
||||
if (is_dir($folder))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function publishExtension()
|
||||
{
|
||||
switch ($this->extension_type)
|
||||
{
|
||||
case 'plugin' :
|
||||
$this->publishPlugin();
|
||||
|
||||
case 'module' :
|
||||
$this->publishModule();
|
||||
}
|
||||
}
|
||||
|
||||
public function publishPlugin()
|
||||
{
|
||||
$query = $this->db->getQuery(true)
|
||||
->update('#__extensions')
|
||||
->set($this->db->quoteName('enabled') . ' = 1')
|
||||
->where($this->db->quoteName('type') . ' = ' . $this->db->quote('plugin'))
|
||||
->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->extname))
|
||||
->where($this->db->quoteName('folder') . ' = ' . $this->db->quote($this->plugin_folder));
|
||||
$this->db->setQuery($query);
|
||||
$this->db->execute();
|
||||
}
|
||||
|
||||
public function publishModule()
|
||||
{
|
||||
// Get module id
|
||||
$query = $this->db->getQuery(true)
|
||||
->select('id')
|
||||
->from('#__modules')
|
||||
->where($this->db->quoteName('module') . ' = ' . $this->db->quote('mod_' . $this->extname))
|
||||
->where($this->db->quoteName('client_id') . ' = ' . (int) $this->client_id);
|
||||
$this->db->setQuery($query, 0, 1);
|
||||
$id = $this->db->loadResult();
|
||||
|
||||
if (!$id)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// check if module is already in the modules_menu table (meaning is is already saved)
|
||||
$query->clear()
|
||||
->select('moduleid')
|
||||
->from('#__modules_menu')
|
||||
->where($this->db->quoteName('moduleid') . ' = ' . (int) $id);
|
||||
$this->db->setQuery($query, 0, 1);
|
||||
$exists = $this->db->loadResult();
|
||||
|
||||
if ($exists)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Get highest ordering number in position
|
||||
$query->clear()
|
||||
->select('ordering')
|
||||
->from('#__modules')
|
||||
->where($this->db->quoteName('position') . ' = ' . $this->db->quote($this->module_position))
|
||||
->where($this->db->quoteName('client_id') . ' = ' . (int) $this->client_id)
|
||||
->order('ordering DESC');
|
||||
$this->db->setQuery($query, 0, 1);
|
||||
$ordering = $this->db->loadResult();
|
||||
$ordering++;
|
||||
|
||||
// publish module and set ordering number
|
||||
$query->clear()
|
||||
->update('#__modules')
|
||||
->set($this->db->quoteName('published') . ' = 1')
|
||||
->set($this->db->quoteName('ordering') . ' = ' . (int) $ordering)
|
||||
->set($this->db->quoteName('position') . ' = ' . $this->db->quote($this->module_position))
|
||||
->where($this->db->quoteName('id') . ' = ' . (int) $id);
|
||||
$this->db->setQuery($query);
|
||||
$this->db->execute();
|
||||
|
||||
// add module to the modules_menu table
|
||||
$query->clear()
|
||||
->insert('#__modules_menu')
|
||||
->columns(array($this->db->quoteName('moduleid'), $this->db->quoteName('menuid')))
|
||||
->values((int) $id . ', 0');
|
||||
$this->db->setQuery($query);
|
||||
$this->db->execute();
|
||||
}
|
||||
|
||||
public function addInstalledMessage()
|
||||
{
|
||||
Factory::getApplication()->enqueueMessage(
|
||||
Text::sprintf(
|
||||
Text::_($this->install_type == 'update' ? 'NRI_THE_EXTENSION_HAS_BEEN_UPDATED_SUCCESSFULLY' : 'NRI_THE_EXTENSION_HAS_BEEN_INSTALLED_SUCCESSFULLY'),
|
||||
'<strong>' . Text::_($this->name) . '</strong>',
|
||||
'<strong>' . $this->getVersion() . '</strong>',
|
||||
$this->getFullType()
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
public function getPrefix()
|
||||
{
|
||||
switch ($this->extension_type)
|
||||
{
|
||||
case 'plugin';
|
||||
return Text::_('plg_' . strtolower($this->plugin_folder));
|
||||
|
||||
case 'component':
|
||||
return Text::_('com');
|
||||
|
||||
case 'module':
|
||||
return Text::_('mod');
|
||||
|
||||
case 'library':
|
||||
return Text::_('lib');
|
||||
|
||||
default:
|
||||
return $this->extension_type;
|
||||
}
|
||||
}
|
||||
|
||||
public function getElementName($type = null, $extname = null)
|
||||
{
|
||||
$type = is_null($type) ? $this->extension_type : $type;
|
||||
$extname = is_null($extname) ? $this->extname : $extname;
|
||||
|
||||
switch ($type)
|
||||
{
|
||||
case 'component' :
|
||||
return 'com_' . $extname;
|
||||
|
||||
case 'module' :
|
||||
return 'mod_' . $extname;
|
||||
|
||||
case 'plugin' :
|
||||
default:
|
||||
return $extname;
|
||||
}
|
||||
}
|
||||
|
||||
public function getFullType()
|
||||
{
|
||||
return Text::_('NRI_' . strtoupper($this->getPrefix()));
|
||||
}
|
||||
|
||||
public function isPro()
|
||||
{
|
||||
$versionFile = __DIR__ . "/version.php";
|
||||
|
||||
// If version file does not exist we assume a PRO version
|
||||
if (!is_file($versionFile))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// Load version file
|
||||
require_once $versionFile;
|
||||
return (bool) $NR_PRO;
|
||||
}
|
||||
|
||||
public function getVersion($file = '')
|
||||
{
|
||||
$file = $file ?: $this->getCurrentXMLFile();
|
||||
|
||||
if (!is_file($file))
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
$xml = Installer::parseXMLInstallFile($file);
|
||||
|
||||
if (!$xml || !isset($xml['version']))
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
return $xml['version'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks wether the extension can be installed or not
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function canInstall()
|
||||
{
|
||||
// The extension is not installed yet. Accept Install.
|
||||
if (!$installed_version = $this->getVersion($this->getInstalledXMLFile()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// Path to extension's version file
|
||||
$versionFile = $this->getMainFolder() . "/version.php";
|
||||
$NR_PRO = true;
|
||||
|
||||
// If version file does not exist we assume we have a PRO version installed
|
||||
if (file_exists($versionFile))
|
||||
{
|
||||
require_once($versionFile);
|
||||
}
|
||||
|
||||
// The free version is installed. Accept install.
|
||||
if (!(bool)$NR_PRO)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// Current package is a PRO version. Accept install.
|
||||
if ($this->isPro())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// User is trying to update from PRO version to FREE. Do not accept install.
|
||||
Factory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, __DIR__);
|
||||
|
||||
Factory::getApplication()->enqueueMessage(
|
||||
Text::_('NRI_ERROR_PRO_TO_FREE'), 'error'
|
||||
);
|
||||
|
||||
Factory::getApplication()->enqueueMessage(
|
||||
html_entity_decode(
|
||||
Text::sprintf(
|
||||
'NRI_ERROR_UNINSTALL_FIRST',
|
||||
'<a href="http://www.tassos.gr/joomla-extensions/' . $this->getUrlAlias() . '" target="_blank">',
|
||||
'</a>',
|
||||
Text::_($this->name)
|
||||
)
|
||||
), 'error'
|
||||
);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the URL alias of the extension.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
private function getUrlAlias()
|
||||
{
|
||||
$alias = $this->alias;
|
||||
|
||||
switch ($alias)
|
||||
{
|
||||
case 'smilepack':
|
||||
$alias = 'smile-pack';
|
||||
break;
|
||||
case 'convertforms':
|
||||
$alias = 'convert-forms';
|
||||
break;
|
||||
case 'rstbox':
|
||||
$alias = 'engagebox';
|
||||
break;
|
||||
case 'gsd':
|
||||
$alias = 'google-structured-data';
|
||||
break;
|
||||
}
|
||||
|
||||
// ACF
|
||||
if ($this->plugin_folder === 'fields' && ($alias === 'acf' || $this->startsWith($alias, 'acf')))
|
||||
{
|
||||
$alias = 'advanced-custom-fields';
|
||||
}
|
||||
|
||||
return $alias;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether string starts with substring.
|
||||
*
|
||||
* @param string $string
|
||||
* @param string $query
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public static function startsWith($string, $query)
|
||||
{
|
||||
return substr($string, 0, strlen($query)) === $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if current version is newer than the installed one
|
||||
* Used for Novarain Framework
|
||||
*
|
||||
* @return boolean [description]
|
||||
*/
|
||||
public function isNewer()
|
||||
{
|
||||
if (!$installed_version = $this->getVersion($this->getInstalledXMLFile()))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
$package_version = $this->getVersion();
|
||||
|
||||
return version_compare($installed_version, $package_version, '<=');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method triggered before installation
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function onBeforeInstall()
|
||||
{
|
||||
if (!$this->canInstall())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper method triggered after installation
|
||||
*/
|
||||
public function onAfterInstall()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete files
|
||||
*
|
||||
* @param array $folders
|
||||
*/
|
||||
public function deleteFiles($files = array())
|
||||
{
|
||||
foreach ($files as $key => $file)
|
||||
{
|
||||
if (!is_file($file))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
File::delete($file);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes folders
|
||||
*
|
||||
* @param array $folders
|
||||
*/
|
||||
public function deleteFolders($folders = array())
|
||||
{
|
||||
foreach ($folders as $folder)
|
||||
{
|
||||
if (!is_dir($folder))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Folder::delete($folder);
|
||||
}
|
||||
}
|
||||
|
||||
public function dropIndex($table, $index)
|
||||
{
|
||||
$db = $this->db;
|
||||
|
||||
// Check if index exists first
|
||||
$query = 'SHOW INDEX FROM ' . $db->quoteName('#__' . $table) . ' WHERE KEY_NAME = ' . $db->quote($index);
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
|
||||
if (!$db->loadResult())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove index
|
||||
$query = 'ALTER TABLE ' . $db->quoteName('#__' . $table) . ' DROP INDEX ' . $db->quoteName($index);
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
}
|
||||
|
||||
public function dropUnwantedTables($tables) {
|
||||
|
||||
if (!$tables) {
|
||||
return;
|
||||
}
|
||||
|
||||
foreach ($tables as $table) {
|
||||
$query = "DROP TABLE IF EXISTS #__".$this->db->escape($table);
|
||||
$this->db->setQuery($query);
|
||||
$this->db->execute();
|
||||
}
|
||||
}
|
||||
|
||||
public function dropUnwantedColumns($table, $columns) {
|
||||
|
||||
if (!$columns || !$table) {
|
||||
return;
|
||||
}
|
||||
|
||||
$db = $this->db;
|
||||
|
||||
// Check if columns exists in database
|
||||
function qt($n) {
|
||||
return(Factory::getDBO()->quote($n));
|
||||
}
|
||||
|
||||
$query = 'SHOW COLUMNS FROM #__'.$table.' WHERE Field IN ('.implode(",", array_map("qt", $columns)).')';
|
||||
$db->setQuery($query);
|
||||
$rows = $db->loadColumn(0);
|
||||
|
||||
// Abort if we don't have any rows
|
||||
if (!$rows) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Let's remove the columns
|
||||
$q = "";
|
||||
foreach ($rows as $key => $column) {
|
||||
$comma = (($key+1) < count($rows)) ? "," : "";
|
||||
$q .= "drop ".$this->db->escape($column).$comma;
|
||||
}
|
||||
|
||||
$query = "alter table #__".$table." $q";
|
||||
|
||||
$db->setQuery($query);
|
||||
$db->execute();
|
||||
}
|
||||
|
||||
public function fetch($table, $columns = "*", $where = null, $singlerow = false) {
|
||||
if (!$table) {
|
||||
return;
|
||||
}
|
||||
|
||||
$db = $this->db;
|
||||
$query = $db->getQuery(true);
|
||||
|
||||
$query
|
||||
->select($columns)
|
||||
->from("#__$table");
|
||||
|
||||
if (isset($where)) {
|
||||
$query->where("$where");
|
||||
}
|
||||
|
||||
$db->setQuery($query);
|
||||
|
||||
return ($singlerow) ? $db->loadObject() : $db->loadObjectList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the Novarain Framework
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function loadFramework()
|
||||
{
|
||||
if (is_file(JPATH_PLUGINS . '/system/nrframework/autoload.php'))
|
||||
{
|
||||
include_once JPATH_PLUGINS . '/system/nrframework/autoload.php';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-orders plugin after passed array of plugins
|
||||
*
|
||||
* @param string $plugin Plugin element name
|
||||
* @param array $lowerPluginOrder Array of plugin element names
|
||||
*
|
||||
* @return boolean
|
||||
*/
|
||||
public function pluginOrderAfter($lowerPluginOrder)
|
||||
{
|
||||
|
||||
if (!is_array($lowerPluginOrder) || !count($lowerPluginOrder))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
$db = $this->db;
|
||||
|
||||
// Get plugins max order
|
||||
$query = $db->getQuery(true);
|
||||
$query
|
||||
->select($db->quoteName('b.ordering'))
|
||||
->from($db->quoteName('#__extensions', 'b'))
|
||||
->where($db->quoteName('b.element') . ' IN ("'.implode("\",\"",$lowerPluginOrder).'")')
|
||||
->order('b.ordering desc');
|
||||
|
||||
$db->setQuery($query);
|
||||
$maxOrder = $db->loadResult();
|
||||
|
||||
if (is_null($maxOrder))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Get plugin details
|
||||
$query
|
||||
->clear()
|
||||
->select(array($db->quoteName('extension_id'), $db->quoteName('ordering')))
|
||||
->from($db->quoteName('#__extensions'))
|
||||
->where($db->quoteName('element') . ' = ' . $db->quote($this->alias));
|
||||
|
||||
$db->setQuery($query);
|
||||
$pluginInfo = $db->loadObject();
|
||||
|
||||
if (!isset($pluginInfo->ordering) || $pluginInfo->ordering > $maxOrder)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Update the new plugin order
|
||||
$object = new stdClass();
|
||||
$object->extension_id = $pluginInfo->extension_id;
|
||||
$object->ordering = ($maxOrder + 1);
|
||||
|
||||
try {
|
||||
$db->updateObject('#__extensions', $object, 'extension_id');
|
||||
} catch (Exception $e) {
|
||||
return $e->getMessage();
|
||||
}
|
||||
}
|
||||
}
|
||||
23
plugins/fields/acffacebook/script.install.php
Normal file
23
plugins/fields/acffacebook/script.install.php
Normal file
@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Advanced Custom Fields
|
||||
* @version 2.8.8 Pro
|
||||
*
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
|
||||
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die('Restricted access');
|
||||
|
||||
require_once __DIR__ . '/script.install.helper.php';
|
||||
|
||||
class PlgFieldsACFFacebookInstallerScript extends PlgFieldsACFFacebookInstallerScriptHelper
|
||||
{
|
||||
public $alias = 'acffacebook';
|
||||
public $extension_type = 'plugin';
|
||||
public $plugin_folder = "fields";
|
||||
public $show_message = false;
|
||||
}
|
||||
14
plugins/fields/acffacebook/tmpl/acffacebook.php
Normal file
14
plugins/fields/acffacebook/tmpl/acffacebook.php
Normal file
@ -0,0 +1,14 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Advanced Custom Fields
|
||||
* @version 2.8.8 Pro
|
||||
*
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
|
||||
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
require __DIR__ . '/plugins/' . $fieldParams->get('widget_type', 'page') . '.php';
|
||||
46
plugins/fields/acffacebook/tmpl/plugins/page.php
Normal file
46
plugins/fields/acffacebook/tmpl/plugins/page.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
/**
|
||||
* @package Advanced Custom Fields
|
||||
* @version 2.8.8 Pro
|
||||
*
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
|
||||
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die;
|
||||
|
||||
if (!$page_url = $field->value)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Setup Variables
|
||||
$id = 'acf_facebook_' . $item->id . '_' . $field->id;
|
||||
$width = str_replace('px', '', $fieldParams->get('page.width', 400));
|
||||
$height = str_replace('px', '', $fieldParams->get('page.height', 214));
|
||||
$tabs = $fieldParams->get('page.tabs', '');
|
||||
|
||||
// if tabs is an array, it means we have selected more than 1 tab, separate them via comma
|
||||
if (is_array($tabs))
|
||||
{
|
||||
$tabs = implode(', ', $tabs);
|
||||
}
|
||||
|
||||
$hide_cover_photo = $fieldParams->get('page.hide_cover_photo', false);
|
||||
$small_header = $fieldParams->get('page.small_header', false);
|
||||
$show_friend_faces = $fieldParams->get('page.show_friend_faces', true);
|
||||
$hide_cta = $fieldParams->get('page.hide_cta', false);
|
||||
|
||||
// Output
|
||||
echo '
|
||||
<iframe src="https://www.facebook.com/plugins/page.php?href=' . $page_url . '&tabs=' . $tabs . '&width=' . $width . '&height=' . $height . '&small_header=' . $small_header . '&adapt_container_width=true&hide_cover=' . $hide_cover_photo . '&show_facepile=' . $show_friend_faces . '&hide_cta=' . $hide_cta . '&appId"
|
||||
width="' . $width . '"
|
||||
height="' . $height . '"
|
||||
style="border:none;overflow:hidden;"
|
||||
scrolling="no"
|
||||
frameborder="0"
|
||||
allowTransparency="true"
|
||||
allow="encrypted-media">
|
||||
</iframe>';
|
||||
16
plugins/fields/acffacebook/version.php
Normal file
16
plugins/fields/acffacebook/version.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* @package Advanced Custom Fields
|
||||
* @version 2.8.8 Pro
|
||||
*
|
||||
* @author Tassos Marinos <info@tassos.gr>
|
||||
* @link http://www.tassos.gr
|
||||
* @copyright Copyright © 2019 Tassos Marinos All Rights Reserved
|
||||
* @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
|
||||
*/
|
||||
|
||||
defined('_JEXEC') or die('Restricted Access');
|
||||
$NR_PRO = "1";
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user