File "WPDA_Simple_Form_Item_Hyperlink.php"
Full Path: /home/vantageo/public_html/cache/.wp-cli/wp-content/plugins/wp-data-access/WPDataAccess/Simple_Form/WPDA_Simple_Form_Item_Hyperlink.php
File size: 3.93 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Suppress "error - 0 - No summary was found for this file" on phpdoc generation
*
* @package WPDataAccess\Simple_Form
*/
namespace WPDataAccess\Simple_Form {
/**
* Class WPDA_Simple_Form_Item_Hyperlink
*
* Database column is handled as a hyperlink: allow to enter a valid hyperlink in data entry form (shown as
* hyperlink in list table)
*
* @author Peter Schulz
* @since 2.5.0
*/
class WPDA_Simple_Form_Item_Hyperlink extends WPDA_Simple_Form_Item {
protected $hyperlink_label = '';
protected $hyperlink_url = '';
protected $hyperlink_target = '';
/**
* WPDA_Simple_Form_Item_Hyperlink constructor.
*
* @param array $args
*/
public function __construct( $args = array() ) {
parent::__construct( $args );
if ( '' !== $this->item_value ) {
$hyperlink = json_decode( $this->item_value, true );
if ( isset( $hyperlink['label'] ) ) {
$this->hyperlink_label = $hyperlink['label'];
}
if ( isset( $hyperlink['url'] ) ) {
$this->hyperlink_url = $hyperlink['url'];
}
if ( isset( $hyperlink['target'] ) ) {
$this->hyperlink_target = $hyperlink['target'];
}
}
$this->item_icon_type = 'hyperlink';
}
/**
* Overwrite method
*
* @param string $action
* @param string $update_keys_allowed
*/
public function show( $action, $update_keys_allowed ) {
parent::show( $action, $update_keys_allowed );
?>
<tr id="<?php echo esc_attr( $this->item_name ); ?>_hyperlink" style="display:none;">
<td></td>
<td>
<table cellpadding="0" cellspacing="0"
style="width:100%;border-spacing:0;border-collapse: collapse;">
<tr>
<td style="width:1%;white-space:nowrap;">
<label for="<?php echo esc_attr( $this->item_name ); ?>_label">Link Text </label>
</td>
<td style="width:100%;">
<input type="text"
id="<?php echo esc_attr( $this->item_name ); ?>_label"
name="<?php echo esc_attr( $this->item_name ); ?>_label"
value="<?php echo esc_attr( $this->hyperlink_label ); ?>"
style="width:100%;"
/>
</td>
</tr>
<tr>
<td>
<label for="<?php echo esc_attr( $this->item_name ); ?>_url">URL</label>
</td>
<td>
<input type="text"
id="<?php echo esc_attr( $this->item_name ); ?>_url"
name="<?php echo esc_attr( $this->item_name ); ?>_url"
value="<?php echo esc_attr( $this->hyperlink_url ); ?>"
style="width:100%;"
/>
</td>
</tr>
<tr>
<td></td>
<td>
<label>
<input type="checkbox"
id="<?php echo esc_attr( $this->item_name ); ?>_target"
name="<?php echo esc_attr( $this->item_name ); ?>_target"
<?php echo '_blank' === $this->hyperlink_target ? 'checked' : ''; ?>
/>
Open link in a new tab
</label>
</td>
</tr>
</table>
</td>
<td></td>
</tr>
<?php
}
/**
* Overwrite method
*/
protected function show_item() {
?>
<span id="<?php echo esc_attr( $this->item_name ); ?>_textlink"
style="vertical-align:middle;font-weight:bold;cursor:pointer;">
<?php echo esc_attr( $this->hyperlink_label ); ?>
</span>
<script type='text/javascript'>
jQuery(function () {
jQuery('#<?php echo esc_attr( $this->item_name ); ?>_textlink').on('click', function () {
jQuery('#<?php echo esc_attr( $this->item_name ); ?>_hyperlink').toggle();
});
jQuery('#<?php echo esc_attr( $this->item_name ); ?>_icon').on('click', function () {
jQuery('#<?php echo esc_attr( $this->item_name ); ?>_hyperlink').toggle();
});
});
</script>
<input type="hidden"
name="<?php echo esc_attr( $this->item_name ); ?>"
value="<?php echo $this->show_context_column_value; // phpcs:ignore WordPress.Security.EscapeOutput ?>"
class="wpda_hyperlink"
/>
<?php
}
}
}