Current File : /home/pacjaorg/public_html/kmm/administrator/components/com_sppagebuilder/models/fields/igtoken.php |
<?php
/**
* @package SP Page Builder
* @author JoomShaper http://www.joomshaper.com
* @copyright Copyright (c) 2010 - 2023 JoomShaper
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('Restricted access');
use Joomla\CMS\Factory;
use Joomla\CMS\Uri\Uri;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Form\FormField;
use Joomla\CMS\Version;
class JFormFieldIgToken extends FormField
{
protected $type = 'IgToken';
protected function getInput()
{
$doc = Factory::getDocument();
$doc->addScript(Uri::root() . 'administrator/components/com_sppagebuilder/assets/js/igtoken.js');
$igConfig = [
'base' => Uri::root() . 'administrator',
'inputId' => $this->id
];
$doc->addScriptOptions('igConfig', $igConfig);
if (empty($this->value))
{
$value = new stdClass;
$value->appId = '';
$value->appSecret = '';
$value->accessToken = '';
$value->igId = '';
}
else
{
$value = json_decode($this->value);
}
$appId = !empty($value->appId) ? $value->appId : '';
$appSecret = !empty($value->appSecret) ? $value->appSecret : '';
$allowAccessTokenAndIgId = !empty($appId) && !empty($appSecret);
$accessToken = !empty($value->accessToken) && $allowAccessTokenAndIgId ? $value->accessToken : '';
$igId = !empty($value->igId) && $allowAccessTokenAndIgId ? $value->igId : '';
$isVisibleTokenIgId = $allowAccessTokenAndIgId && (!empty($accessToken) && !empty($igId));
$value->accessToken = $accessToken;
$value->igId = $igId;
$this->value = json_encode($value);
$version = new Version();
$JoomlaVersion = (float) $version->getShortVersion();
$html = [];
$html[] = '<div class="igt-wrapper sppb-ig-token">';
$html[] = '<div class="control-group">';
$html[] = '<label class="control-label">' . Text::_('COM_SPPAGEBUILDER_FB_APP_ID') . '</label>';
$html[] = '<div class="controls">';
$html[] = '<input id="app_id" type="text" class="form-control" value="' . $appId . '" />';
$html[] = '</div>';
$html[] = '</div>';
$html[] = '<div class="control-group">';
$html[] = '<label class="control-label">' . Text::_('COM_SPPAGEBUILDER_FB_APP_SECRET') . '</label>';
$html[] = '<div class="controls">';
$html[] = '<input id="app_secret" type="text" class="form-control" value="' . $appSecret . '" />';
$html[] = '</div>';
$html[] = '</div>';
$html[] = '<div class="control-group ' . (!$isVisibleTokenIgId ? 'hidden': '') . '">';
$html[] = '<label class="control-label">' . Text::_('COM_SPPAGEBUILDER_FB_ACCESS_TOKEN') . '</label>';
$html[] = '<div class="controls">';
$html[] = '<input id="access_token" type="text" class="form-control" readonly="readonly" value="' . $accessToken . '" />';
$html[] = '</div>';
$html[] = '</div>';
$html[] = '<div class="control-group ' . (!$isVisibleTokenIgId ? 'hidden': '') . '">';
$html[] = '<label class="control-label">' . Text::_('COM_SPPAGEBUILDER_FB_IG_ID') . '</label>';
$html[] = '<div class="controls">';
$html[] = '<input id="ig_id" type="text" class="form-control" readonly="readonly" value="' . $igId . '" />';
$html[] = '</div>';
$html[] = '</div>';
$task = $JoomlaVersion < 4 ? 'config.save.component.apply' : 'component.apply';
$html[] = '<div class="control-group ' . (!empty($appId) && !empty($appSecret) ? 'hidden': '') . '">';
$html[] = '<div class="controls">';
$html[] = '<button type="button" onclick="Joomla.submitbutton(\'' . $task . '\');" id="ig_next" class="btn btn-primary">' . Text::_('COM_SPPAGEBUILDER_BTN_NEXT') . '</button>';
$html[] = '</div>';
$html[] = '</div>';
$generateBtnText = Text::_('COM_SPPAGEBUILDER_GENERATE_ACCESS_TOKEN');
if (!empty($accessToken) && !empty($igId))
{
$generateBtnText = Text::_('COM_SPPAGEBUILDER_REGENERATE_ACCESS_TOKEN');
}
$html[] = '<div class="control-group ' . (empty($appId) || empty($appSecret) ? 'hidden' : '') . '">';
$html[] = '<div class="controls">';
$html[] = '<button type="button" id="app_token" class="btn btn-success">' . $generateBtnText . '</button>';
$html[] = '</div>';
$html[] = '</div>';
$html[] = '<input type="hidden" id="' . $this->id . '" name="' . $this->name . '" value=\'' . (!empty($this->value) ? $this->value : '') . '\' />';
$html[] = '</div>';
return implode("\n", $html);
}
}