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/wp-conte.../plugins/custom-t.../inc/Builder
File: CTF_Feed_Saver_Manager.php
<?php
[0] Fix | Delete
/**
[1] Fix | Delete
* Instagram Feed Saver Manager
[2] Fix | Delete
*
[3] Fix | Delete
* @since 2.0
[4] Fix | Delete
*/
[5] Fix | Delete
namespace TwitterFeed\Builder;
[6] Fix | Delete
use TwitterFeed\Admin\CTF_Cache_Handler;
[7] Fix | Delete
use TwitterFeed\V2\CtfOauthConnect;
[8] Fix | Delete
use TwitterFeed\Admin\CTF_HTTP_Request;
[9] Fix | Delete
use TwitterFeed\CTF_Settings;
[10] Fix | Delete
use TwitterFeed\CTF_Parse;
[11] Fix | Delete
[12] Fix | Delete
use TwitterFeed\Admin\Traits\CTF_Feed_Templates_Settings;
[13] Fix | Delete
[14] Fix | Delete
[15] Fix | Delete
class CTF_Feed_Saver_Manager {
[16] Fix | Delete
[17] Fix | Delete
use CTF_Feed_Templates_Settings;
[18] Fix | Delete
[19] Fix | Delete
/**
[20] Fix | Delete
* AJAX hooks for various feed data related functionality
[21] Fix | Delete
*
[22] Fix | Delete
* @since 2.0
[23] Fix | Delete
*/
[24] Fix | Delete
public static function hooks() {
[25] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_builder_update', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'builder_update' ) );
[26] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_get_feed_settings', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'get_feed_settings' ) );
[27] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_get_feed_list_page', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'get_feed_list_page' ) );
[28] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_get_locations_page', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'get_locations_page' ) );
[29] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_delete_feeds', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'delete_feed' ) );
[30] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_duplicate_feed', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'duplicate_feed' ) );
[31] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_clear_single_feed_cache', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'clear_single_feed_cache' ) );
[32] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_importer', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'importer' ) );
[33] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_fly_preview', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'feed_customizer_fly_preview' ) );
[34] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_retrieve_comments', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'retrieve_comments' ) );
[35] Fix | Delete
[36] Fix | Delete
[37] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_search_username_lists', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'search_username_lists' ) );
[38] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_check_twitter_list_by_id', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'check_twitter_list_by_id' ) );
[39] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_connect_manual_account', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'connect_manual_account' ) );
[40] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_delete_account', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'delete_account' ) );
[41] Fix | Delete
[42] Fix | Delete
//Detect Leaving the Page
[43] Fix | Delete
add_action( 'wp_ajax_ctf_feed_saver_manager_recache_feed', array( 'TwitterFeed\Builder\CTF_Feed_Saver_Manager', 'recache_feed' ) );
[44] Fix | Delete
[45] Fix | Delete
}
[46] Fix | Delete
[47] Fix | Delete
[48] Fix | Delete
/**
[49] Fix | Delete
* Create Mixed Feed Type Data
[50] Fix | Delete
*
[51] Fix | Delete
* @since 2.0
[52] Fix | Delete
*/
[53] Fix | Delete
public static function create_mixed_feed_type_data( $selected_feeds, $selected_feed_models ){
[54] Fix | Delete
$feeds_types = [];
[55] Fix | Delete
foreach ($selected_feeds as $feed_type) {
[56] Fix | Delete
switch ($feed_type) {
[57] Fix | Delete
case 'usertimeline':
[58] Fix | Delete
$feeds_types['screenname'] = isset( $selected_feed_models['usertimeline'] ) ? $selected_feed_models['usertimeline'] : '';
[59] Fix | Delete
break;
[60] Fix | Delete
case 'hashtag':
[61] Fix | Delete
$feeds_types['hashtag'] = isset( $selected_feed_models['hashtag'] ) ? $selected_feed_models['hashtag'] : '';
[62] Fix | Delete
break;
[63] Fix | Delete
case 'search':
[64] Fix | Delete
$feeds_types['search'] = isset( $selected_feed_models['search'] ) ? $selected_feed_models['search'] : '';
[65] Fix | Delete
break;
[66] Fix | Delete
case 'hometimeline':
[67] Fix | Delete
$feeds_types['home'] = true;
[68] Fix | Delete
break;
[69] Fix | Delete
case 'mentionstimeline':
[70] Fix | Delete
$feeds_types['mentions'] = true;
[71] Fix | Delete
break;
[72] Fix | Delete
case 'lists':
[73] Fix | Delete
$feeds_types['lists'] = isset( $selected_feed_models['lists'] ) ? $selected_feed_models['lists'] : '';
[74] Fix | Delete
break;
[75] Fix | Delete
[76] Fix | Delete
}
[77] Fix | Delete
}
[78] Fix | Delete
return $feeds_types;
[79] Fix | Delete
}
[80] Fix | Delete
[81] Fix | Delete
/**
[82] Fix | Delete
* Create Single Feed Type Data
[83] Fix | Delete
*
[84] Fix | Delete
* @since 2.0
[85] Fix | Delete
*/
[86] Fix | Delete
public static function create_single_feed_type_data( $selected_feed, $selected_feed_model ){
[87] Fix | Delete
$feed_data = [];
[88] Fix | Delete
switch ($selected_feed) {
[89] Fix | Delete
case 'usertimeline':
[90] Fix | Delete
$feed_data['usertimeline_text'] = isset( $selected_feed_model['usertimeline'] ) ? $selected_feed_model['usertimeline'] : '';
[91] Fix | Delete
$feed_data['screenname'] = isset( $selected_feed_model['usertimeline'] ) ? $selected_feed_model['usertimeline'] : '';
[92] Fix | Delete
break;
[93] Fix | Delete
case 'hashtag':
[94] Fix | Delete
$feed_data['hashtag_text'] = isset( $selected_feed_model['hashtag'] ) ? $selected_feed_model['hashtag'] : '';
[95] Fix | Delete
$feed_data['hashtag'] = isset( $selected_feed_model['hashtag'] ) ? $selected_feed_model['hashtag'] : '';
[96] Fix | Delete
break;
[97] Fix | Delete
case 'hometimeline':
[98] Fix | Delete
$feed_data['home'] = true;
[99] Fix | Delete
break;
[100] Fix | Delete
}
[101] Fix | Delete
$feed_data['type'] = $selected_feed;
[102] Fix | Delete
return $feed_data;
[103] Fix | Delete
}
[104] Fix | Delete
[105] Fix | Delete
[106] Fix | Delete
/**
[107] Fix | Delete
* Get Max Feed Name
[108] Fix | Delete
*
[109] Fix | Delete
*
[110] Fix | Delete
* @since 2.0
[111] Fix | Delete
*/
[112] Fix | Delete
public static function get_max_feed_name( $feed_name, $type = 'text' ){
[113] Fix | Delete
$feed_name_array = [];
[114] Fix | Delete
if($type === 'list'){
[115] Fix | Delete
$list_array = array_slice($feed_name , 0, 3);
[116] Fix | Delete
foreach ($list_array as $list) {
[117] Fix | Delete
array_push(
[118] Fix | Delete
$feed_name_array,
[119] Fix | Delete
$list['name']
[120] Fix | Delete
);
[121] Fix | Delete
}
[122] Fix | Delete
}else{
[123] Fix | Delete
$feed_name_array = explode(',', $feed_name);
[124] Fix | Delete
$feed_name_array = array_slice($feed_name_array , 0, 3);
[125] Fix | Delete
}
[126] Fix | Delete
$feed_name = implode(' ', $feed_name_array);
[127] Fix | Delete
return $feed_name;
[128] Fix | Delete
}
[129] Fix | Delete
[130] Fix | Delete
/**
[131] Fix | Delete
* Create Feed Name
[132] Fix | Delete
* This will create the feed name when creating new Feeds
[133] Fix | Delete
*
[134] Fix | Delete
* @since 2.0
[135] Fix | Delete
*/
[136] Fix | Delete
public static function create_feed_name( $selected_feeds, $selected_feed_models ){
[137] Fix | Delete
$feed_name = 'Twitter Feed';
[138] Fix | Delete
if(is_array($selected_feeds) && isset($selected_feeds[0])){
[139] Fix | Delete
switch ($selected_feeds[0]) {
[140] Fix | Delete
case 'usertimeline':
[141] Fix | Delete
$feed_name = isset( $selected_feed_models['usertimeline'] ) ? CTF_Feed_Saver_Manager::get_max_feed_name($selected_feed_models['usertimeline']) : $feed_name;
[142] Fix | Delete
break;
[143] Fix | Delete
case 'hashtag':
[144] Fix | Delete
$feed_name = isset( $selected_feed_models['hashtag'] ) ? CTF_Feed_Saver_Manager::get_max_feed_name($selected_feed_models['hashtag']) : $feed_name;
[145] Fix | Delete
break;
[146] Fix | Delete
case 'search':
[147] Fix | Delete
$feed_name = isset( $selected_feed_models['search'] ) ? CTF_Feed_Saver_Manager::get_max_feed_name($selected_feed_models['search']) : $feed_name;
[148] Fix | Delete
break;
[149] Fix | Delete
case 'hometimeline':
[150] Fix | Delete
$feed_name = 'Home Timeline';
[151] Fix | Delete
break;
[152] Fix | Delete
case 'mentionstimeline':
[153] Fix | Delete
$feed_name = 'Mentions';
[154] Fix | Delete
break;
[155] Fix | Delete
case 'lists':
[156] Fix | Delete
$feed_name = isset( $selected_feed_models['listsObject'] ) && sizeof($selected_feed_models['listsObject']) > 0 ? CTF_Feed_Saver_Manager::get_max_feed_name($selected_feed_models['listsObject'], 'list') : $feed_name;
[157] Fix | Delete
break;
[158] Fix | Delete
}
[159] Fix | Delete
}
[160] Fix | Delete
[161] Fix | Delete
return CTF_Db::feeds_query_name( $feed_name );
[162] Fix | Delete
}
[163] Fix | Delete
[164] Fix | Delete
/**
[165] Fix | Delete
* Used in an AJAX call to update settings for a particular feed.
[166] Fix | Delete
* Can also be used to create a new feed if no feed_id sent in
[167] Fix | Delete
* $_POST data.
[168] Fix | Delete
*
[169] Fix | Delete
* @since 2.0
[170] Fix | Delete
*/
[171] Fix | Delete
public static function builder_update() {
[172] Fix | Delete
check_ajax_referer( 'ctf-admin' , 'nonce');
[173] Fix | Delete
[174] Fix | Delete
$cap = ctf_get_manage_options_cap();
[175] Fix | Delete
[176] Fix | Delete
if ( ! current_user_can( $cap ) ) {
[177] Fix | Delete
wp_send_json_error(); // This auto-dies.
[178] Fix | Delete
}
[179] Fix | Delete
$settings_data = $_POST;
[180] Fix | Delete
unset( $settings_data['nonce'] );
[181] Fix | Delete
[182] Fix | Delete
$feed_id = false;
[183] Fix | Delete
$is_new_feed = isset($settings_data['new_insert'] ) ? true : false;
[184] Fix | Delete
if ( ! empty( $settings_data['feed_id'] ) ) {
[185] Fix | Delete
$feed_id = sanitize_text_field( $settings_data['feed_id'] );
[186] Fix | Delete
unset( $settings_data['feed_id'] );
[187] Fix | Delete
} elseif ( isset( $settings_data['feed_id'] ) ) {
[188] Fix | Delete
unset( $settings_data['feed_id'] );
[189] Fix | Delete
}
[190] Fix | Delete
unset( $settings_data['action'] );
[191] Fix | Delete
[192] Fix | Delete
$update_feed = isset( $settings_data['update_feed'] ) ? true : false;
[193] Fix | Delete
unset( $settings_data['update_feed'] );
[194] Fix | Delete
[195] Fix | Delete
if($is_new_feed){
[196] Fix | Delete
$settings_data = CTF_Feed_Templates_Settings::get_feed_settings_by_feed_templates( $settings_data );
[197] Fix | Delete
}
[198] Fix | Delete
[199] Fix | Delete
$feed_name = '';
[200] Fix | Delete
if ( $update_feed ) {
[201] Fix | Delete
$feed_name = $settings_data['feed_name'];
[202] Fix | Delete
$settings_data = $settings_data['settings'];
[203] Fix | Delete
}
[204] Fix | Delete
[205] Fix | Delete
[206] Fix | Delete
//Check if New
[207] Fix | Delete
#if ( isset( $settings_data['new_insert'] ) && $settings_data['new_insert'] == 'true') {
[208] Fix | Delete
if( isset( $_POST['selectedFeed'] ) && is_array( $_POST['selectedFeed'] ) ){
[209] Fix | Delete
if( sizeof($_POST['selectedFeed']) == 1 ){
[210] Fix | Delete
$_POST['type'] = $_POST['selectedFeed'][0];
[211] Fix | Delete
$feed_type_data = CTF_Feed_Saver_Manager::create_single_feed_type_data( $_POST['type'], $_POST['selectedFeedModel'] );
[212] Fix | Delete
$settings_data = array_merge($settings_data,$feed_type_data);
[213] Fix | Delete
}
[214] Fix | Delete
[215] Fix | Delete
if($is_new_feed){
[216] Fix | Delete
$settings_data['feed_name'] = CTF_Feed_Saver_Manager::create_feed_name( $_POST['selectedFeed'], $_POST['selectedFeedModel'] );
[217] Fix | Delete
}
[218] Fix | Delete
}
[219] Fix | Delete
[220] Fix | Delete
[221] Fix | Delete
#}
[222] Fix | Delete
unset( $settings_data['new_insert'] );
[223] Fix | Delete
unset( $settings_data['selectedFeed'] );
[224] Fix | Delete
unset( $settings_data['selectedFeedModel'] );
[225] Fix | Delete
unset( $settings_data['customizer'] );
[226] Fix | Delete
[227] Fix | Delete
[228] Fix | Delete
/*
[229] Fix | Delete
*/
[230] Fix | Delete
$feed_saver = new CTF_Feed_Saver( $feed_id );
[231] Fix | Delete
$feed_saver->set_feed_name( $feed_name );
[232] Fix | Delete
$feed_saver->set_data( $settings_data );
[233] Fix | Delete
[234] Fix | Delete
$return = array(
[235] Fix | Delete
'success' => false,
[236] Fix | Delete
'feed_id' => false
[237] Fix | Delete
);
[238] Fix | Delete
[239] Fix | Delete
if ( $feed_saver->update_or_insert() ) {
[240] Fix | Delete
$return = array(
[241] Fix | Delete
'success' => true,
[242] Fix | Delete
'feed_id' => $feed_saver->get_feed_id()
[243] Fix | Delete
);
[244] Fix | Delete
if($is_new_feed){
[245] Fix | Delete
echo wp_json_encode( $return );
[246] Fix | Delete
wp_die();
[247] Fix | Delete
}else{
[248] Fix | Delete
ctf_clear_cache_sql();
[249] Fix | Delete
/*
[250] Fix | Delete
$feed_cache = new \SB_Instagram_Cache( $feed_id );
[251] Fix | Delete
$feed_cache->clear( 'all' );
[252] Fix | Delete
$feed_cache->clear( 'posts' );
[253] Fix | Delete
*/
[254] Fix | Delete
echo wp_json_encode( $return );
[255] Fix | Delete
wp_die();
[256] Fix | Delete
}
[257] Fix | Delete
}
[258] Fix | Delete
}
[259] Fix | Delete
[260] Fix | Delete
/**
[261] Fix | Delete
[262] Fix | Delete
* Retrieve comments AJAX call
[263] Fix | Delete
*
[264] Fix | Delete
* @since 2.0
[265] Fix | Delete
*/
[266] Fix | Delete
public static function retrieve_comments() {
[267] Fix | Delete
if ( empty( $_POST['feed_id'] )) {
[268] Fix | Delete
echo '{}';
[269] Fix | Delete
wp_die();
[270] Fix | Delete
}
[271] Fix | Delete
[272] Fix | Delete
$return = [];
[273] Fix | Delete
[274] Fix | Delete
$feed_id = $_POST['feed_id'];
[275] Fix | Delete
$feed_saver = new CTF_Feed_Saver( $feed_id );
[276] Fix | Delete
$settings = $feed_saver->get_feed_settings();
[277] Fix | Delete
if ( $settings != false ){
[278] Fix | Delete
$post_set = new CTF_Post_Set( $feed_id );
[279] Fix | Delete
$post_set->init();
[280] Fix | Delete
$post_set->fetch();
[281] Fix | Delete
[282] Fix | Delete
$return = $post_set->fetch_comments();
[283] Fix | Delete
}
[284] Fix | Delete
[285] Fix | Delete
echo ctf_json_encode( $return );
[286] Fix | Delete
wp_die();
[287] Fix | Delete
}
[288] Fix | Delete
[289] Fix | Delete
[290] Fix | Delete
[291] Fix | Delete
/**
[292] Fix | Delete
* Used in an AJAX call to delete feeds from the Database
[293] Fix | Delete
* $_POST data.
[294] Fix | Delete
*
[295] Fix | Delete
* @since 2.0
[296] Fix | Delete
*/
[297] Fix | Delete
public static function delete_feed()
[298] Fix | Delete
{
[299] Fix | Delete
check_ajax_referer('ctf-admin', 'nonce');
[300] Fix | Delete
[301] Fix | Delete
$cap = ctf_get_manage_options_cap();
[302] Fix | Delete
[303] Fix | Delete
if (! current_user_can($cap)) {
[304] Fix | Delete
wp_send_json_error(); // This auto-dies.
[305] Fix | Delete
}
[306] Fix | Delete
[307] Fix | Delete
if (! empty($_POST['feeds_ids']) && is_array($_POST['feeds_ids'])) {
[308] Fix | Delete
$sanitized_feed_ids_array = array();
[309] Fix | Delete
foreach ($_POST['feeds_ids'] as $id) {
[310] Fix | Delete
$sanitized_feed_ids_array[] = absint($id);
[311] Fix | Delete
}
[312] Fix | Delete
[313] Fix | Delete
CTF_Db::delete_feeds_query($sanitized_feed_ids_array);
[314] Fix | Delete
}
[315] Fix | Delete
}
[316] Fix | Delete
[317] Fix | Delete
[318] Fix | Delete
[319] Fix | Delete
public static function recache_feed() {
[320] Fix | Delete
check_ajax_referer( 'ctf-admin' , 'nonce');
[321] Fix | Delete
[322] Fix | Delete
$cap = ctf_get_manage_options_cap();
[323] Fix | Delete
[324] Fix | Delete
if ( ! current_user_can( $cap ) ) {
[325] Fix | Delete
wp_send_json_error(); // This auto-dies.
[326] Fix | Delete
}
[327] Fix | Delete
/*
[328] Fix | Delete
$feed_id = sanitize_text_field( $_POST['feedID'] );
[329] Fix | Delete
$feed_cache = new \SB_Instagram_Cache( $feed_id );
[330] Fix | Delete
$feed_cache->clear( 'all' );
[331] Fix | Delete
$feed_cache->clear( 'posts' );
[332] Fix | Delete
*/
[333] Fix | Delete
}
[334] Fix | Delete
[335] Fix | Delete
[336] Fix | Delete
[337] Fix | Delete
/**
[338] Fix | Delete
* Used in an AJAX call to delete a feed cache from the Database
[339] Fix | Delete
* $_POST data.
[340] Fix | Delete
*
[341] Fix | Delete
* @since 2.0
[342] Fix | Delete
*/
[343] Fix | Delete
public static function clear_single_feed_cache() {
[344] Fix | Delete
check_ajax_referer( 'ctf-admin' , 'nonce');
[345] Fix | Delete
[346] Fix | Delete
$cap = ctf_get_manage_options_cap();
[347] Fix | Delete
[348] Fix | Delete
if ( ! current_user_can( $cap ) ) {
[349] Fix | Delete
wp_send_json_error(); // This auto-dies.
[350] Fix | Delete
}
[351] Fix | Delete
[352] Fix | Delete
$feed_id = sanitize_text_field( $_POST['feedID'] );
[353] Fix | Delete
[354] Fix | Delete
$cache = new CTF_Cache_Handler();
[355] Fix | Delete
[356] Fix | Delete
if ( $feed_id === 'legacy' ) {
[357] Fix | Delete
$cache->clear_legacy_caches();
[358] Fix | Delete
} else {
[359] Fix | Delete
$cache->clear_single_feed_cache( $feed_id );
[360] Fix | Delete
[361] Fix | Delete
}
[362] Fix | Delete
[363] Fix | Delete
CTF_Feed_Saver_Manager::feed_customizer_fly_preview();
[364] Fix | Delete
wp_die();
[365] Fix | Delete
[366] Fix | Delete
}
[367] Fix | Delete
[368] Fix | Delete
/**
[369] Fix | Delete
* Used in an AJAX call to duplicate a Feed
[370] Fix | Delete
* $_POST data.
[371] Fix | Delete
*
[372] Fix | Delete
* @since 2.0
[373] Fix | Delete
*/
[374] Fix | Delete
public static function duplicate_feed() {
[375] Fix | Delete
check_ajax_referer( 'ctf-admin' , 'nonce');
[376] Fix | Delete
[377] Fix | Delete
$cap = ctf_get_manage_options_cap();
[378] Fix | Delete
[379] Fix | Delete
if ( ! current_user_can( $cap ) ) {
[380] Fix | Delete
wp_send_json_error(); // This auto-dies.
[381] Fix | Delete
}
[382] Fix | Delete
[383] Fix | Delete
if ( ! empty( $_POST['feed_id'] ) ) {
[384] Fix | Delete
CTF_Db::duplicate_feed_query( $_POST['feed_id'] );
[385] Fix | Delete
}
[386] Fix | Delete
}
[387] Fix | Delete
[388] Fix | Delete
[389] Fix | Delete
/**
[390] Fix | Delete
* Import a feed from JSON data
[391] Fix | Delete
*
[392] Fix | Delete
* @since 2.0
[393] Fix | Delete
*/
[394] Fix | Delete
public static function importer() {
[395] Fix | Delete
check_ajax_referer( 'ctf-admin' , 'nonce');
[396] Fix | Delete
[397] Fix | Delete
$cap = ctf_get_manage_options_cap();
[398] Fix | Delete
[399] Fix | Delete
if ( ! current_user_can( $cap ) ) {
[400] Fix | Delete
wp_send_json_error(); // This auto-dies.
[401] Fix | Delete
}
[402] Fix | Delete
[403] Fix | Delete
if ( ! empty( $_POST['feed_json'] ) && strpos( $_POST['feed_json'], '{' ) === 0 ) {
[404] Fix | Delete
echo json_encode( CTF_Feed_Saver_Manager::import_feed( stripslashes( $_POST['feed_json'] ) ) );
[405] Fix | Delete
} else {
[406] Fix | Delete
echo json_encode( array( 'success' => false, 'message' => __( 'Invalid JSON. Must have brackets "{}"', 'custom-twitter-feeds' ) ) );
[407] Fix | Delete
}
[408] Fix | Delete
wp_die();
[409] Fix | Delete
}
[410] Fix | Delete
[411] Fix | Delete
[412] Fix | Delete
/**
[413] Fix | Delete
* Used To check if it's customizer Screens
[414] Fix | Delete
* Returns Feed info or false!
[415] Fix | Delete
*
[416] Fix | Delete
* @param bool $include_comments
[417] Fix | Delete
*
[418] Fix | Delete
* @return array|bool
[419] Fix | Delete
*
[420] Fix | Delete
* @since 2.0
[421] Fix | Delete
*/
[422] Fix | Delete
public static function maybe_feed_customizer_data( $include_comments = false ) {
[423] Fix | Delete
if ( isset( $_GET['feed_id'] ) ){
[424] Fix | Delete
$feed_id = $_GET['feed_id'];
[425] Fix | Delete
$feed_saver = new CTF_Feed_Saver( $feed_id );
[426] Fix | Delete
$settings = $feed_saver->get_feed_settings();
[427] Fix | Delete
$feed_db_data = $feed_saver->get_feed_db_data();
[428] Fix | Delete
$settings = self::check_valid_settings($settings);
[429] Fix | Delete
[430] Fix | Delete
if($settings != false){
[431] Fix | Delete
$return = array(
[432] Fix | Delete
'feed_info' => $feed_db_data,
[433] Fix | Delete
'headerData' => $feed_db_data,
[434] Fix | Delete
'settings' => $settings,
[435] Fix | Delete
'posts' => array(),
[436] Fix | Delete
'feed_enabled' => CTF_Feed_Builder::auto_enable_disable_feed( $settings, $feed_id )
[437] Fix | Delete
);
[438] Fix | Delete
if ( intval( $feed_id ) > 0 ) {
[439] Fix | Delete
$twitter_feed_settings = new CTF_Settings( array( 'feed' => $feed_id, 'customizer' => true ) , CTF_Feed_Saver::settings_defaults() );
[440] Fix | Delete
} else {
[441] Fix | Delete
$twitter_feed_settings = new CTF_Settings( array(), ctf_get_database_settings() );
[442] Fix | Delete
}
[443] Fix | Delete
[444] Fix | Delete
$twitter_feed_settings->set_feed_type_and_terms();
[445] Fix | Delete
$settings = $twitter_feed_settings->get_settings();
[446] Fix | Delete
[447] Fix | Delete
//$header_info = CTF_Parse_Pro::get_user_header_json( $settings );
[448] Fix | Delete
#$feed_type_and_terms = $instagram_feed_settings->get_feed_type_and_terms();
[449] Fix | Delete
//$return['header'] = $header_info;
[450] Fix | Delete
//$return['headerData'] = $header_info;
[451] Fix | Delete
[452] Fix | Delete
return $return;
[453] Fix | Delete
[454] Fix | Delete
}
[455] Fix | Delete
}
[456] Fix | Delete
return false;
[457] Fix | Delete
}
[458] Fix | Delete
[459] Fix | Delete
/**
[460] Fix | Delete
* Set Fly Preview Sources Settings
[461] Fix | Delete
*
[462] Fix | Delete
*
[463] Fix | Delete
*
[464] Fix | Delete
* @since 2.0
[465] Fix | Delete
*/
[466] Fix | Delete
public static function set_fly_preview_sources( $previewSettings ) {
[467] Fix | Delete
switch ($previewSettings['type']) {
[468] Fix | Delete
case 'usertimeline':
[469] Fix | Delete
$previewSettings['feed_term'] = $previewSettings['screenname'];
[470] Fix | Delete
$previewSettings['usertimeline_text'] = $previewSettings['screenname'];
[471] Fix | Delete
break;
[472] Fix | Delete
case 'hashtag':
[473] Fix | Delete
$previewSettings['feed_term'] = $previewSettings['hashtag'];
[474] Fix | Delete
$previewSettings['hashtag_text'] = $previewSettings['screenname'];
[475] Fix | Delete
break;
[476] Fix | Delete
case 'hometimeline':
[477] Fix | Delete
$previewSettings['hometimeline'] = true;
[478] Fix | Delete
$previewSettings['feed_term'] = '';
[479] Fix | Delete
break;
[480] Fix | Delete
}
[481] Fix | Delete
return $previewSettings;
[482] Fix | Delete
}
[483] Fix | Delete
[484] Fix | Delete
/**
[485] Fix | Delete
* Used to retrieve Feed Posts for preview screen
[486] Fix | Delete
* Returns Feed info or false!
[487] Fix | Delete
*
[488] Fix | Delete
*
[489] Fix | Delete
*
[490] Fix | Delete
* @since 2.0
[491] Fix | Delete
*/
[492] Fix | Delete
public static function feed_customizer_fly_preview() {
[493] Fix | Delete
check_ajax_referer( 'ctf-admin' , 'nonce');
[494] Fix | Delete
[495] Fix | Delete
$cap = ctf_get_manage_options_cap();
[496] Fix | Delete
[497] Fix | Delete
if ( ! current_user_can( $cap ) ) {
[498] Fix | Delete
wp_send_json_error(); // This auto-dies.
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function