54 lines
2.2 KiB
PHP
54 lines
2.2 KiB
PHP
<?php
|
|
/* @package Joomla
|
|
* @copyright Copyright (C) Open Source Matters. All rights reserved.
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
|
|
* @extension Phoca Extension
|
|
* @copyright Copyright (C) Jan Pavelka www.phoca.cz
|
|
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
|
|
*/
|
|
defined('_JEXEC') or die();
|
|
use Joomla\CMS\Form\FormField;
|
|
use Joomla\CMS\Language\Text;
|
|
|
|
class JFormFieldPhocaDownloadToken extends FormField
|
|
{
|
|
protected $type = 'PhocaDownloadToken';
|
|
|
|
protected function getInput() {
|
|
|
|
//PhocaDownlooadUtils::getToken()
|
|
$salt = md5('string '. date('s'). mt_rand(0,9999) . str_replace(mt_rand(0,9), mt_rand(0,9999), date('r')). 'end string');
|
|
$token = hash('sha256', $salt . time());
|
|
|
|
// Initialize variables.
|
|
$html = array();
|
|
|
|
// Initialize some field attributes.
|
|
$size = $this->element['size'] ? ' size="'.(int) $this->element['size'].'"' : '';
|
|
$maxLength = $this->element['maxlength'] ? ' maxlength="'.(int) $this->element['maxlength'].'"' : '';
|
|
$class = $this->element['class'] ? ' class="'.(string) $this->element['class'].'"' : '';
|
|
$readonly = ((string) $this->element['readonly'] == 'true') ? ' readonly="readonly"' : '';
|
|
$disabled = ((string) $this->element['disabled'] == 'true') ? ' disabled="disabled"' : '';
|
|
|
|
$maptype = ( (string)$this->element['maptype'] ? $this->element['maptype'] : '' );
|
|
|
|
// Initialize JavaScript field attributes.
|
|
$onchange = (string) $this->element['onchange'];
|
|
$onchangeOutput = ' onChange="'.(string) $this->element['onchange'].'"';
|
|
|
|
|
|
|
|
$html[] = '<div class="input-append input-group">';
|
|
$html[] = '<input type="text" id="'.$this->id.'_id" name="'.$this->name.'" value="'. $this->value.'"' .
|
|
' '.$class.$size.$disabled.$readonly.$onchangeOutput.$maxLength.' />';
|
|
$html[] = '<a class="btn btn-primary" title="'.Text::_('COM_PHOCADOWNLOAD_SET_TOKEN').'"'
|
|
.' href="javascript:void(0);"'
|
|
.' onclick="javascript:document.getElementById(\''.$this->id.'_id\').value = \''.$token.'\';return true;">'
|
|
. Text::_('COM_PHOCADOWNLOAD_SET_TOKEN').'</a>';
|
|
$html[] = '</div>'. "\n";
|
|
return implode("\n", $html);
|
|
|
|
}
|
|
}
|
|
?>
|