Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/accelera.../classes
File: class-ampforwp-fields.php
<?php
[0] Fix | Delete
if ( ! defined( 'ABSPATH' ) ) {
[1] Fix | Delete
exit;
[2] Fix | Delete
}
[3] Fix | Delete
/**
[4] Fix | Delete
*
[5] Fix | Delete
*/
[6] Fix | Delete
class AMPforWP_Fields
[7] Fix | Delete
{
[8] Fix | Delete
private $output = '';
[9] Fix | Delete
private $class = '';
[10] Fix | Delete
private $id = '';
[11] Fix | Delete
private $title = '';
[12] Fix | Delete
private $element_class = '';
[13] Fix | Delete
private $parent_class = '';
[14] Fix | Delete
private $desc = '';
[15] Fix | Delete
private $default = '';
[16] Fix | Delete
private $selected = '';
[17] Fix | Delete
private $data_secure = '';
[18] Fix | Delete
private $data_url = '';
[19] Fix | Delete
private $options = array();
[20] Fix | Delete
private $required = array();
[21] Fix | Delete
private $data_text = '';
[22] Fix | Delete
private $data_href = '';
[23] Fix | Delete
private $ampforwp_field = array();
[24] Fix | Delete
[25] Fix | Delete
public function createFields($fields_array){
[26] Fix | Delete
if ( is_array($fields_array) ) {
[27] Fix | Delete
foreach ($fields_array as $field_array ) {
[28] Fix | Delete
$this->setField($field_array['field_type'], $field_array['field_data']);
[29] Fix | Delete
}
[30] Fix | Delete
}
[31] Fix | Delete
}
[32] Fix | Delete
public function setField( $type = '', $fields=array() ){
[33] Fix | Delete
if( '' == $type ) {
[34] Fix | Delete
return false;
[35] Fix | Delete
}
[36] Fix | Delete
if( !empty($fields) ){
[37] Fix | Delete
if ( isset($fields['class']) ) {
[38] Fix | Delete
if ( $type != 'section_start' && $type != 'section_end' && $type != 'main_section_start' && $type != 'main_section_end' && $type != 'sub_section_start' && $type != 'sub_section_end') {
[39] Fix | Delete
$fields['class'] .= ' amp-ux-field';
[40] Fix | Delete
}
[41] Fix | Delete
$this->class = $fields['class'];
[42] Fix | Delete
}
[43] Fix | Delete
else{
[44] Fix | Delete
$this->class = '';
[45] Fix | Delete
}
[46] Fix | Delete
if ( isset($fields['parent-class']) ) {
[47] Fix | Delete
$this->parent_class = $fields['parent-class'];
[48] Fix | Delete
}
[49] Fix | Delete
else{
[50] Fix | Delete
$this->parent_class = '';
[51] Fix | Delete
}
[52] Fix | Delete
if ( isset($fields['title']) ) {
[53] Fix | Delete
$this->title = $fields['title'];
[54] Fix | Delete
}
[55] Fix | Delete
else{
[56] Fix | Delete
$this->title = '';
[57] Fix | Delete
}
[58] Fix | Delete
if ( isset($fields['element-class']) ) {
[59] Fix | Delete
$this->element_class = $fields['element-class'];
[60] Fix | Delete
}
[61] Fix | Delete
else{
[62] Fix | Delete
$this->element_class = '';
[63] Fix | Delete
}
[64] Fix | Delete
if ( isset($fields['id']) ) {
[65] Fix | Delete
$this->id = $fields['id'];
[66] Fix | Delete
}
[67] Fix | Delete
else{
[68] Fix | Delete
$this->id = '';
[69] Fix | Delete
}
[70] Fix | Delete
if ( isset($fields['default']) ) {
[71] Fix | Delete
$this->default = $fields['default'];
[72] Fix | Delete
}
[73] Fix | Delete
else{
[74] Fix | Delete
$this->default = '';
[75] Fix | Delete
}
[76] Fix | Delete
if ( isset($fields['required']) ) {
[77] Fix | Delete
$this->required = $fields['required'];
[78] Fix | Delete
}
[79] Fix | Delete
else{
[80] Fix | Delete
$this->required = '';
[81] Fix | Delete
}
[82] Fix | Delete
if ( isset($fields['options']) && is_array($fields['options']) ){
[83] Fix | Delete
$this->options = $fields['options'];
[84] Fix | Delete
}
[85] Fix | Delete
else{
[86] Fix | Delete
$this->options = '';
[87] Fix | Delete
}
[88] Fix | Delete
if ( isset($fields['data-href']) ) {
[89] Fix | Delete
$this->data_href = ' data-href='.esc_url($fields['data-href']);
[90] Fix | Delete
}
[91] Fix | Delete
else{
[92] Fix | Delete
$this->data_href = '';
[93] Fix | Delete
}
[94] Fix | Delete
if ( isset($fields['data-url']) ) {
[95] Fix | Delete
$this->data_url = ' data-url='.esc_url($fields['data-url']);
[96] Fix | Delete
}
[97] Fix | Delete
else{
[98] Fix | Delete
$this->data_url = '';
[99] Fix | Delete
}
[100] Fix | Delete
if ( isset($fields['data-secure']) ) {
[101] Fix | Delete
$this->data_secure = ' data-secure='.esc_attr($fields['data-secure']);
[102] Fix | Delete
}
[103] Fix | Delete
else{
[104] Fix | Delete
$this->data_secure = '';
[105] Fix | Delete
}
[106] Fix | Delete
if ( isset($fields['data-text']) ) {
[107] Fix | Delete
$this->data_text = ' data-text='.esc_attr($fields['data-text']);
[108] Fix | Delete
}
[109] Fix | Delete
else{
[110] Fix | Delete
$this->data_text = '';
[111] Fix | Delete
}
[112] Fix | Delete
if ( isset($fields['desc']) ) {
[113] Fix | Delete
$this->desc = $fields['desc'];
[114] Fix | Delete
}
[115] Fix | Delete
else{
[116] Fix | Delete
$this->desc = '';
[117] Fix | Delete
}
[118] Fix | Delete
}
[119] Fix | Delete
// Select
[120] Fix | Delete
if ( 'select' == $type ) {
[121] Fix | Delete
$this->ampforwp_field_select($fields);
[122] Fix | Delete
//$this->loading();
[123] Fix | Delete
}
[124] Fix | Delete
// Text
[125] Fix | Delete
if ( 'text' == $type ) {
[126] Fix | Delete
$this->ampforwp_field_text($fields);
[127] Fix | Delete
}
[128] Fix | Delete
// Checkbox
[129] Fix | Delete
if ( 'checkbox' == $type ) {
[130] Fix | Delete
$this->ampforwp_field_checkbox($fields);
[131] Fix | Delete
}
[132] Fix | Delete
// Upload
[133] Fix | Delete
if ( 'media' == $type ) {
[134] Fix | Delete
$this->ampforwp_field_media($fields);
[135] Fix | Delete
}
[136] Fix | Delete
// Color
[137] Fix | Delete
if ( 'color' == $type ) {
[138] Fix | Delete
$this->ampforwp_field_color($fields);
[139] Fix | Delete
}
[140] Fix | Delete
// Switch
[141] Fix | Delete
if ( 'switch' == $type ) {
[142] Fix | Delete
$this->ampforwp_field_switch($fields);
[143] Fix | Delete
}
[144] Fix | Delete
// Notification
[145] Fix | Delete
if ( 'notification' == $type ) {
[146] Fix | Delete
$this->ampforwp_field_notification($fields);
[147] Fix | Delete
}
[148] Fix | Delete
// Loader
[149] Fix | Delete
if ( 'loader' == $type ) {
[150] Fix | Delete
$this->ampforwp_field_loader($fields);
[151] Fix | Delete
}
[152] Fix | Delete
// Label
[153] Fix | Delete
if ( 'footer' == $type ) {
[154] Fix | Delete
$this->ampforwp_field_footer($fields);
[155] Fix | Delete
}
[156] Fix | Delete
// Main section
[157] Fix | Delete
if ( 'main_section_start' == $type ) {
[158] Fix | Delete
$this->main_section_start($fields);
[159] Fix | Delete
}
[160] Fix | Delete
if ( 'main_section_end' == $type ) {
[161] Fix | Delete
$this->main_section_end($fields);
[162] Fix | Delete
}
[163] Fix | Delete
// Section Start
[164] Fix | Delete
if ( 'section_start' == $type ) {
[165] Fix | Delete
$this->section_start($fields);
[166] Fix | Delete
}
[167] Fix | Delete
// Section end
[168] Fix | Delete
if ( 'section_end' == $type ) {
[169] Fix | Delete
$this->section_end($fields);
[170] Fix | Delete
}
[171] Fix | Delete
// Sub Section Start
[172] Fix | Delete
if ( 'sub_section_start' == $type ) {
[173] Fix | Delete
$this->sub_section_start($fields);
[174] Fix | Delete
}
[175] Fix | Delete
// Sub Section end
[176] Fix | Delete
if ( 'sub_section_end' == $type ) {
[177] Fix | Delete
$this->sub_section_end($fields);
[178] Fix | Delete
}
[179] Fix | Delete
// Sub Section end
[180] Fix | Delete
if ( 'heading' == $type ) {
[181] Fix | Delete
$this->ampforwp_field_heading($fields);
[182] Fix | Delete
}
[183] Fix | Delete
}
[184] Fix | Delete
[185] Fix | Delete
public function ampforwp_field_heading($fields = array()){
[186] Fix | Delete
echo '<div class="ux-field-container amp-ux-heading"><h2>'.esc_html($this->title).'</h2></div>';
[187] Fix | Delete
}
[188] Fix | Delete
public function ampforwp_field_loader($fields = array()){
[189] Fix | Delete
echo '<div class="amp-ux-loader"><div class="amp-ux-loading"></div><div id="amp-ux-loading-saved" class="hide"></div><span class="hide amp-ux-check"></span></div>';
[190] Fix | Delete
}
[191] Fix | Delete
[192] Fix | Delete
// Main Section
[193] Fix | Delete
public function main_section_start($fields = array() ) {
[194] Fix | Delete
if ( isset($fields['class']) ) {
[195] Fix | Delete
$this->class = $fields['class'];
[196] Fix | Delete
}
[197] Fix | Delete
if ( isset($fields['id']) ) {
[198] Fix | Delete
$this->id = $fields['id'];
[199] Fix | Delete
}
[200] Fix | Delete
echo '<div id="'.esc_attr($this->id).'" class="'.esc_attr($this->class).'">';
[201] Fix | Delete
}
[202] Fix | Delete
public function main_section_end($fields = array() ) {
[203] Fix | Delete
echo '</div>';
[204] Fix | Delete
}
[205] Fix | Delete
// Section Start
[206] Fix | Delete
public function section_start($fields = array()){
[207] Fix | Delete
if ( isset($fields['class']) ) {
[208] Fix | Delete
$this->class = $fields['class'];
[209] Fix | Delete
}
[210] Fix | Delete
if ( isset($fields['id']) ) {
[211] Fix | Delete
$this->id = $fields['id'];
[212] Fix | Delete
}
[213] Fix | Delete
$dcls = 'drawer';
[214] Fix | Delete
if($this->class=='ampforwp-ux-sub-section'){
[215] Fix | Delete
$dcls = '';
[216] Fix | Delete
}
[217] Fix | Delete
echo '<div id="'.esc_attr($this->id).'" class="'.esc_attr($dcls).' '.esc_attr($this->class).' amp-ux-section-container">
[218] Fix | Delete
<div class="amp-fields-content">';
[219] Fix | Delete
}
[220] Fix | Delete
// Sub Section Start
[221] Fix | Delete
public function sub_section_start($fields = array()){
[222] Fix | Delete
if ( isset($fields['class']) ) {
[223] Fix | Delete
$this->class = $fields['class'];
[224] Fix | Delete
}
[225] Fix | Delete
if ( isset($fields['id']) ) {
[226] Fix | Delete
$this->id = $fields['id'];
[227] Fix | Delete
}
[228] Fix | Delete
$hide = '';
[229] Fix | Delete
if ( isset($fields['default']) && $fields['default']==0) {
[230] Fix | Delete
$hide = 'hide';
[231] Fix | Delete
}
[232] Fix | Delete
$data_href = "";
[233] Fix | Delete
if ( isset($fields['data-href'])) {
[234] Fix | Delete
$data_href = 'data-href='.esc_attr($fields['data-href']);
[235] Fix | Delete
}
[236] Fix | Delete
[237] Fix | Delete
echo '<div id="'.esc_attr($this->id).'" class="'.esc_attr($this->class).' '.esc_attr($hide).'" '.esc_attr($data_href).'>';
[238] Fix | Delete
if(isset($fields['closable']) && $fields['closable']==1){
[239] Fix | Delete
echo '<div class="ampforwp-ux-closable '.esc_attr($this->id).'">X</div>';
[240] Fix | Delete
}
[241] Fix | Delete
}
[242] Fix | Delete
// Section End
[243] Fix | Delete
public function sub_section_end(){
[244] Fix | Delete
echo '</div>';
[245] Fix | Delete
}
[246] Fix | Delete
// Section End
[247] Fix | Delete
public function section_end(){
[248] Fix | Delete
echo '</div></div>';
[249] Fix | Delete
}
[250] Fix | Delete
public function ampforwp_field_select($fields){
[251] Fix | Delete
$required = $hide = $hrf_id = '';
[252] Fix | Delete
$data_num = 1;
[253] Fix | Delete
if ( !empty($this->required) ) {
[254] Fix | Delete
$required = 'required='.esc_attr($this->required[0]);
[255] Fix | Delete
$hide = ' hide';
[256] Fix | Delete
}
[257] Fix | Delete
$output = '<div class="ux-field-container amp-ux-select-container '.$hide.'" '.esc_attr($required).'>';
[258] Fix | Delete
if ( !empty($this->title) ) {
[259] Fix | Delete
$output .= '<h2 class="'.esc_attr($this->element_class).'">'.esc_html__($this->title).'</h2>';
[260] Fix | Delete
}
[261] Fix | Delete
$output .= '<select id="'.$this->id.'" class="'.$this->class.'" '.$this->data_href.'>';
[262] Fix | Delete
if ( !empty($this->options) ) {
[263] Fix | Delete
foreach ( $this->options as $option_key => $option_value ) {
[264] Fix | Delete
if( $option_key == $this->default ) {
[265] Fix | Delete
$this->selected = 'selected';
[266] Fix | Delete
}
[267] Fix | Delete
else{
[268] Fix | Delete
$this->selected = '';
[269] Fix | Delete
}
[270] Fix | Delete
$output .= '<option value="'.esc_attr($option_key).'" '.esc_attr($this->selected).' data-num="'.intval($data_num).'">'.esc_attr($option_value).'</option>';
[271] Fix | Delete
$data_num ++;
[272] Fix | Delete
}
[273] Fix | Delete
}
[274] Fix | Delete
$output .= '</select>';
[275] Fix | Delete
if(isset($fields['data-value']) && isset($fields['data-value-id'])){
[276] Fix | Delete
$hide = '';
[277] Fix | Delete
if($this->default!="Other"){
[278] Fix | Delete
$hide = 'hide';
[279] Fix | Delete
}
[280] Fix | Delete
$output .= '<div class="ux-other-site-type '.esc_attr($hide).'"><h2 class="ux-label trac-id site-tpy">'.esc_html__('Mention the type of your site').'</h2></div><input type="text" id="'.esc_attr($fields['data-value-id']).'" class="'.esc_attr($this->class).' '.esc_attr($hide).'" value="'.esc_attr($fields['data-value']).'" placeholder="'.esc_attr__('Enter your website type','accelerated-mobile-pages').'">';
[281] Fix | Delete
}
[282] Fix | Delete
if( $this->data_href ){
[283] Fix | Delete
if ( isset($fields['data-href-id']) ) {
[284] Fix | Delete
$hrf_id = $fields['data-href-id'];
[285] Fix | Delete
}
[286] Fix | Delete
$output .= '<input type="hidden" value="'.esc_attr($this->default).'" id="'.esc_attr($hrf_id).'">';
[287] Fix | Delete
}
[288] Fix | Delete
if($this->id=="ampforwp-ux-analytics-more"){
[289] Fix | Delete
$output .= '<span><button type="button" id="ampforwp-add-more-analytics" class="">' . esc_html__('Add', 'accelerated-mobile-pages') . '</button></span>';
[290] Fix | Delete
}
[291] Fix | Delete
[292] Fix | Delete
$output .= '</div>';
[293] Fix | Delete
echo $output; /* $output XSS escaped */
[294] Fix | Delete
}
[295] Fix | Delete
public function ampforwp_field_checkbox($fields){
[296] Fix | Delete
$required = $hide = $checked = '';
[297] Fix | Delete
if ( !empty($fields['required']) ) {
[298] Fix | Delete
$required = 'required='.esc_attr($this->required[0]);
[299] Fix | Delete
$hide = 'hide';
[300] Fix | Delete
}
[301] Fix | Delete
if ( isset($fields['default']) && '1' == $fields['default'] ){
[302] Fix | Delete
$checked = 'checked';
[303] Fix | Delete
}
[304] Fix | Delete
[305] Fix | Delete
$lbl_cls = '';
[306] Fix | Delete
if(isset($fields['label-class'])){
[307] Fix | Delete
$lbl_cls = 'class="'.esc_attr($fields['label-class']).'"';
[308] Fix | Delete
} /* $lbl_cls XSS escaped */
[309] Fix | Delete
[310] Fix | Delete
$output = '<div class="ux-field-container amp-ux-checkbox-container '.esc_attr($hide).' '.esc_attr($this->parent_class).' " '.esc_attr($required).'><label '.$lbl_cls.'><input type="checkbox" class="'.esc_attr($this->class).'" id="'.esc_attr($this->id).'" ' . esc_attr($checked).'>'.esc_html__($this->title).'</label></div>'; /* $lbl_cls XSS escaped */
[311] Fix | Delete
echo $output; /* $output XSS escaped */
[312] Fix | Delete
}
[313] Fix | Delete
public function ampforwp_field_switch($fields){
[314] Fix | Delete
[315] Fix | Delete
$required = '';
[316] Fix | Delete
$output = '';
[317] Fix | Delete
$hide = '';
[318] Fix | Delete
if ( !empty($this->required) ) {
[319] Fix | Delete
$required = 'required='.$this->required[0];
[320] Fix | Delete
$this->class .= ' hide';
[321] Fix | Delete
$hide = ' hide';
[322] Fix | Delete
}
[323] Fix | Delete
if($this->id == 'amp-ux-ext-ssd'){
[324] Fix | Delete
[325] Fix | Delete
$output .= '<div class="ux-field-container amp-ux-heading"><h2 style="margin-top:40px; margin-bottom: 0px;">Recommended Plugins</h2></div>';
[326] Fix | Delete
}
[327] Fix | Delete
$output .= '<div class="ux-field-container amp-ux-switch-container '.esc_attr($this->parent_class).' '.esc_attr($hide).'">';
[328] Fix | Delete
if ( !empty($this->title) ) {
[329] Fix | Delete
$output .= '<h2 class="'.esc_attr($this->element_class).'">'.esc_html__($this->title, 'accelerated-mobile-pages').'</h2>';
[330] Fix | Delete
}
[331] Fix | Delete
if ( 1 == $this->default ) {
[332] Fix | Delete
$this->selected = 'checked';
[333] Fix | Delete
}
[334] Fix | Delete
else{
[335] Fix | Delete
$this->selected = '';
[336] Fix | Delete
}
[337] Fix | Delete
if(isset($fields['data-url']) && $fields['data-url']!="" && 2 == $this->default){
[338] Fix | Delete
$output .= '<div class="switch-options">
[339] Fix | Delete
<label class="ios7-switch '.esc_attr($this->id).'">
[340] Fix | Delete
<a target="_blank" href="'.esc_url($fields['data-url']).'" class="afw-plugin-url"><i class="el el-cog"></i></a>
[341] Fix | Delete
</label>
[342] Fix | Delete
<input type="hidden" class="checkbox checkbox-input " id="'.esc_attr($this->id).'" value="'.esc_attr($this->default).'">
[343] Fix | Delete
</div>';
[344] Fix | Delete
}else{
[345] Fix | Delete
$output .= '<div class="switch-options">
[346] Fix | Delete
<label class="ios7-switch '.esc_attr($this->id).'">
[347] Fix | Delete
<input id="'.esc_attr($this->id).'" '.esc_attr($this->selected).' class="switch-on-off '.esc_attr($this->class).'" type="checkbox" data-id="'.esc_attr($this->id).'" value="'.esc_attr($this->default).'" '.esc_attr($this->data_secure).' '.esc_attr($this->data_url).'>
[348] Fix | Delete
<span></span>
[349] Fix | Delete
</label>
[350] Fix | Delete
<input type="hidden" class="checkbox checkbox-input " id="'.esc_attr($this->id).'" value="'.esc_attr($this->default).'">
[351] Fix | Delete
</div>';
[352] Fix | Delete
}
[353] Fix | Delete
if( $this->desc ){
[354] Fix | Delete
$output .= '<p class="amp-ux-switch-text">'.esc_html($this->desc).'</p>';
[355] Fix | Delete
}
[356] Fix | Delete
$output .= '</div>';
[357] Fix | Delete
echo $output; /* $output XSS escaped */
[358] Fix | Delete
}
[359] Fix | Delete
[360] Fix | Delete
public function ampforwp_field_media(){
[361] Fix | Delete
$output = '<div class="ux-field-container amp-ux-media-container">';
[362] Fix | Delete
$id = $url = $width = $height = '';
[363] Fix | Delete
if ( !empty($this->title) ) {
[364] Fix | Delete
$output .= '<h2 class="'.esc_attr($this->element_class).'">'.esc_html($this->title).'</h2>';
[365] Fix | Delete
}
[366] Fix | Delete
if ( is_array($this->default) ) {
[367] Fix | Delete
$id = $this->default['id'];
[368] Fix | Delete
$url = $this->default['url'];
[369] Fix | Delete
$width = $this->default['width'];
[370] Fix | Delete
$height = $this->default['height'];
[371] Fix | Delete
$hide = 'hide';
[372] Fix | Delete
}
[373] Fix | Delete
$opt_med_url = ampforwp_get_setting('opt-media','url');
[374] Fix | Delete
$but_name = "Add Logo";
[375] Fix | Delete
$logo_css = "";
[376] Fix | Delete
if($opt_med_url!=""){
[377] Fix | Delete
$hide = '';
[378] Fix | Delete
$but_name = "Change Logo";
[379] Fix | Delete
$logo_css = "amp-ux-chng-lg";
[380] Fix | Delete
}
[381] Fix | Delete
$output .= '<div id="'.esc_attr($this->id).'" class="'.esc_attr($this->class).'" data-id="opt-media" data-type="media">
[382] Fix | Delete
<input placeholder="'.esc_attr__('No media selected','accelerated-mobile-pages').'" type="text" class="upload large-text hide" id="amp-ux-opt-media-url" value="'.intval($id).'" readonly="readonly">
[383] Fix | Delete
<input type="hidden" class="data" data-mode="image">
[384] Fix | Delete
<input type="hidden" class="library-filter" data-lib-filter="">
[385] Fix | Delete
<input type="hidden" class="upload-id " name="amp-ux-logo-id" id="amp-ux-logo-id" value="'.intval($id).'">
[386] Fix | Delete
<input type="hidden" class="upload-height" name="amp-ux-logo-height" id="amp-ux-logo-height" value="'.intval($height).'">
[387] Fix | Delete
<input type="hidden" class="upload-width" name="amp-ux-logo-width" id="amp-ux-logo-width" value="'.intval($width).'">
[388] Fix | Delete
<input type="hidden" class="upload-thumbnail" name="amp-ux-logo-thumb" id="amp-ux-logo-thumb" value="'.esc_url($url).'">
[389] Fix | Delete
<div class="screenshot '.esc_attr($hide).'">
[390] Fix | Delete
[391] Fix | Delete
<img class="redux-option-image amp-ux-image" id="image_opt-media" src="'.esc_url($url).'" alt="" target="_blank" rel="external">
[392] Fix | Delete
[393] Fix | Delete
</div>
[394] Fix | Delete
<div class="upload_button_div amp-ux-upload '.esc_attr($logo_css).'">
[395] Fix | Delete
<span class="button media_upload_button media-amp-ux-opt-media media-'.intval($this->id).'" id="opt-media-media">'.esc_attr($but_name).'</span>
[396] Fix | Delete
<span class="amp-ux-img-re-txt">'.esc_html__('Recommended Size: 120 x 90', 'accelerated-mobile-pages').'</span>
[397] Fix | Delete
</div>';
[398] Fix | Delete
$output .= '</div></div>';
[399] Fix | Delete
echo $output; /* $output XSS escaped */
[400] Fix | Delete
}
[401] Fix | Delete
[402] Fix | Delete
public function ampforwp_field_color(){
[403] Fix | Delete
[404] Fix | Delete
$output = '<div class="ux-field-container amp-ux-color-container" id="ampforwp-easy-setup-global-color">';
[405] Fix | Delete
if ( !empty($this->title) ) {
[406] Fix | Delete
$output .= '<h2 class="'.esc_attr($this->element_class).'">'.esc_html($this->title).'</h2>';
[407] Fix | Delete
}
[408] Fix | Delete
$this->selected = $this->default ? 'value='.esc_attr($this->default) : "";
[409] Fix | Delete
$output .= '<input type="text" id="'.esc_attr($this->id).'" class="'.esc_attr($this->class).'" '.esc_attr($this->selected).'>';
[410] Fix | Delete
$output .= '</div>';
[411] Fix | Delete
echo $output; /* $output XSS escaped */
[412] Fix | Delete
}
[413] Fix | Delete
public function ampforwp_field_text($fields){
[414] Fix | Delete
$required = '';
[415] Fix | Delete
$hide = '';
[416] Fix | Delete
if ( !empty($this->required) ) {
[417] Fix | Delete
$required = 'required="'.esc_attr($this->required[0]).'"';
[418] Fix | Delete
$hide .= ' hide';
[419] Fix | Delete
}
[420] Fix | Delete
$output = '<div class="ux-field-container amp-ux-text-container '.esc_attr($hide).'">';
[421] Fix | Delete
if ( !empty($this->title) ) {
[422] Fix | Delete
$output .= '<h2 class="'.esc_attr($this->element_class).'">'.esc_html($this->title).'</h2>';
[423] Fix | Delete
}
[424] Fix | Delete
$output .= '<input type="text" id="'.esc_attr($this->id).'" class="'.esc_attr($this->class).'" '.esc_attr($this->data_text).' value="'.esc_attr($this->default).'"></div>';
[425] Fix | Delete
echo $output; /* $output XSS escaped */
[426] Fix | Delete
}
[427] Fix | Delete
[428] Fix | Delete
public function loading(){
[429] Fix | Delete
$output = '<span class="hide amp-ux-check"></span><div class="hide amp-ux-loading"></div><br>';
[430] Fix | Delete
echo $output; /* $output XSS escaped */
[431] Fix | Delete
}
[432] Fix | Delete
public function ampforwp_field_notification($fields){
[433] Fix | Delete
$required = $hide = $hrf_id = '';
[434] Fix | Delete
$data_num = 1;
[435] Fix | Delete
if ( !empty($this->required) ) {
[436] Fix | Delete
$required = 'required='.esc_attr($this->required[0]);
[437] Fix | Delete
$hide = ' hide';
[438] Fix | Delete
}
[439] Fix | Delete
[440] Fix | Delete
$class = "";
[441] Fix | Delete
if($fields['type']=="warning"){
[442] Fix | Delete
$class = "warning";
[443] Fix | Delete
}
[444] Fix | Delete
else if($fields['type']=="notice"){
[445] Fix | Delete
$class = "warning-red";
[446] Fix | Delete
}
[447] Fix | Delete
else if($fields['type']=="success"){
[448] Fix | Delete
$class = "success";
[449] Fix | Delete
}
[450] Fix | Delete
if($this->default==1){
[451] Fix | Delete
$hide = "";
[452] Fix | Delete
}
[453] Fix | Delete
$output = '<div class="ux-field-container amp-ux-notif-container '.esc_attr($class).' '.esc_attr($hide).'" id="'.esc_attr($this->id).'" '.esc_attr($required).'>';
[454] Fix | Delete
if ( !empty($this->desc) ) {
[455] Fix | Delete
$output .= '<p>'.$this->desc.'</p>'; // xss ok for $this->desc
[456] Fix | Delete
}
[457] Fix | Delete
$output .= '</div>';
[458] Fix | Delete
echo $output; // xss ok for $output
[459] Fix | Delete
}
[460] Fix | Delete
[461] Fix | Delete
public function ampforwp_field_footer($fields){
[462] Fix | Delete
$output = '<div class="ux-field-container ux-field-footer" id="'.esc_attr($this->id).'">';
[463] Fix | Delete
foreach($fields as $f){
[464] Fix | Delete
$svg = '';
[465] Fix | Delete
if(isset($f['svg'])){
[466] Fix | Delete
$svg = $f['svg'];
[467] Fix | Delete
}
[468] Fix | Delete
$output .= '<div class="ux-field-foot-cont"><a href="'.esc_url($f['url']).'" target="_blank">
[469] Fix | Delete
<i class="ux-foot-icon '.esc_attr($f['icon']).'"></i>'.$svg.'
[470] Fix | Delete
<p>'.esc_html($f['desc']).'</p></a>
[471] Fix | Delete
</div>';
[472] Fix | Delete
}
[473] Fix | Delete
$output .= '</div>';
[474] Fix | Delete
echo $output; // xss ok for $output
[475] Fix | Delete
}
[476] Fix | Delete
[477] Fix | Delete
}?>
[478] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function