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/flow-flo.../libs/flowflow/core/src/db
File: LADBManager.php
<?php namespace la\core\db;
[0] Fix | Delete
[1] Fix | Delete
use Exception;
[2] Fix | Delete
use la\core\LAUtils;
[3] Fix | Delete
use la\core\settings\LAGeneralSettings;
[4] Fix | Delete
use la\core\settings\LASettingsUtils;
[5] Fix | Delete
use mysqli;
[6] Fix | Delete
use Unirest\Request;
[7] Fix | Delete
use Unirest\Response;
[8] Fix | Delete
[9] Fix | Delete
if ( ! defined( 'WPINC' ) ) die;
[10] Fix | Delete
/**
[11] Fix | Delete
* FlowFlow.
[12] Fix | Delete
*
[13] Fix | Delete
* @property LASafeMySQL $conn
[14] Fix | Delete
*
[15] Fix | Delete
* @package FlowFlow
[16] Fix | Delete
* @author Looks Awesome <email@looks-awesome.com>
[17] Fix | Delete
*
[18] Fix | Delete
* @link https://looks-awesome.com
[19] Fix | Delete
* @copyright Looks Awesome
[20] Fix | Delete
*/
[21] Fix | Delete
abstract class LADBManager {
[22] Fix | Delete
public $table_prefix;
[23] Fix | Delete
public $option_table_name;
[24] Fix | Delete
public $posts_table_name;
[25] Fix | Delete
public $cache_table_name;
[26] Fix | Delete
public $streams_table_name;
[27] Fix | Delete
public $image_cache_table_name;
[28] Fix | Delete
public $streams_sources_table_name;
[29] Fix | Delete
public $snapshot_table_name;
[30] Fix | Delete
public $comments_table_name;
[31] Fix | Delete
public $post_media_table_name;
[32] Fix | Delete
[33] Fix | Delete
protected $context;
[34] Fix | Delete
protected $plugin_slug;
[35] Fix | Delete
protected $plugin_slug_down;
[36] Fix | Delete
protected $init = false;
[37] Fix | Delete
protected $sources = null;
[38] Fix | Delete
protected $streams = null;
[39] Fix | Delete
[40] Fix | Delete
private $conn = null;
[41] Fix | Delete
[42] Fix | Delete
/**
[43] Fix | Delete
* LADBManager constructor.
[44] Fix | Delete
*
[45] Fix | Delete
* @param array $context
[46] Fix | Delete
*/
[47] Fix | Delete
function __construct($context) {
[48] Fix | Delete
$this->context = $context;
[49] Fix | Delete
$this->table_prefix = $context['table_name_prefix'];
[50] Fix | Delete
$this->plugin_slug = LAUtils::slug($context);
[51] Fix | Delete
$this->plugin_slug_down = LAUtils::slug_down($context);
[52] Fix | Delete
[53] Fix | Delete
$this->option_table_name = $this->table_prefix . 'options';
[54] Fix | Delete
$this->posts_table_name = $this->table_prefix . 'posts';
[55] Fix | Delete
$this->cache_table_name = $this->table_prefix . 'cache';
[56] Fix | Delete
$this->streams_table_name = $this->table_prefix . 'streams';
[57] Fix | Delete
$this->image_cache_table_name = $this->table_prefix . 'image_cache';
[58] Fix | Delete
$this->streams_sources_table_name = $this->table_prefix . 'streams_sources';
[59] Fix | Delete
$this->snapshot_table_name= $this->table_prefix . 'snapshots';
[60] Fix | Delete
$this->comments_table_name= $this->table_prefix . 'comments';
[61] Fix | Delete
$this->post_media_table_name = $this->table_prefix . 'post_media';
[62] Fix | Delete
}
[63] Fix | Delete
[64] Fix | Delete
public function conn($reopen = false) {
[65] Fix | Delete
if ($reopen || $this->conn == null){
[66] Fix | Delete
$this->conn = LADB::create();
[67] Fix | Delete
$this->conn->autocommit(true);
[68] Fix | Delete
}
[69] Fix | Delete
return $this->conn;
[70] Fix | Delete
}
[71] Fix | Delete
[72] Fix | Delete
/**
[73] Fix | Delete
* @param false $only_enable
[74] Fix | Delete
* @param false $safe
[75] Fix | Delete
* @param bool $remote
[76] Fix | Delete
*
[77] Fix | Delete
* @throws Exception
[78] Fix | Delete
*/
[79] Fix | Delete
public final function dataInit($only_enable = false, $safe = false, $remote = true){
[80] Fix | Delete
$this->init = true;
[81] Fix | Delete
[82] Fix | Delete
$conn = $this->conn();
[83] Fix | Delete
if ($safe && !LADDLUtils::existTable($conn, $this->streams_sources_table_name)) {
[84] Fix | Delete
$this->sources = [];
[85] Fix | Delete
$this->streams = [];
[86] Fix | Delete
return;
[87] Fix | Delete
}
[88] Fix | Delete
[89] Fix | Delete
$boosted = [];
[90] Fix | Delete
$load_boosted = false;
[91] Fix | Delete
$sources = LADB::sources($conn, $this->cache_table_name, $this->streams_sources_table_name, null, $only_enable);
[92] Fix | Delete
if ($remote) {
[93] Fix | Delete
foreach ( $sources as $id => &$tmp_source ) {
[94] Fix | Delete
if ($tmp_source['boosted'] == LASettingsUtils::YEP){
[95] Fix | Delete
if (!$load_boosted){
[96] Fix | Delete
$boosted = $this->getBoostSources();
[97] Fix | Delete
$load_boosted = true;
[98] Fix | Delete
}
[99] Fix | Delete
if (isset($boosted[$id])){
[100] Fix | Delete
$tmp_source = $boosted[$id];
[101] Fix | Delete
}
[102] Fix | Delete
}
[103] Fix | Delete
}
[104] Fix | Delete
}
[105] Fix | Delete
$this->sources = $sources;
[106] Fix | Delete
$this->streams = LADB::streams($conn, $this->streams_table_name);
[107] Fix | Delete
$connections = $conn->getIndMultiRow('stream_id', 'select `stream_id`, `feed_id` from ?n order by `stream_id`', $this->streams_sources_table_name);
[108] Fix | Delete
foreach ( $this->streams as &$stream ) {
[109] Fix | Delete
$stream = (array)LADB::unserializeStream($stream);
[110] Fix | Delete
if (!isset($stream['feeds'])) $stream['feeds'] = [];
[111] Fix | Delete
$stream['status'] = '1';
[112] Fix | Delete
if (isset($connections[$stream['id']])){
[113] Fix | Delete
foreach ($connections[$stream['id']] as $source){
[114] Fix | Delete
if (isset($this->sources[$source['feed_id']])){
[115] Fix | Delete
$full_source = $this->sources[$source['feed_id']];
[116] Fix | Delete
$stream['feeds'][] = $full_source;
[117] Fix | Delete
if (isset($full_source['status']) && $full_source['status'] == 0) $stream['status'] = '0';
[118] Fix | Delete
}
[119] Fix | Delete
}
[120] Fix | Delete
}
[121] Fix | Delete
}
[122] Fix | Delete
}
[123] Fix | Delete
[124] Fix | Delete
/**
[125] Fix | Delete
* Get stream settings by id endpoint
[126] Fix | Delete
* @throws Exception
[127] Fix | Delete
*/
[128] Fix | Delete
public final function get_stream_settings(){
[129] Fix | Delete
[130] Fix | Delete
if (FF_USE_WP) {
[131] Fix | Delete
if (!current_user_can('manage_options') || !check_ajax_referer( 'flow_flow_nonce', 'security', false ) ) {
[132] Fix | Delete
die( json_encode( [ 'error' => 'not_allowed' ] ) );
[133] Fix | Delete
}
[134] Fix | Delete
}
[135] Fix | Delete
[136] Fix | Delete
$id = $_GET['stream-id'];
[137] Fix | Delete
$this->dataInit(false, false);
[138] Fix | Delete
[139] Fix | Delete
$stream = $this->streams[$id];
[140] Fix | Delete
[141] Fix | Delete
// cleaning if error was saved in database stream model, can be removed in future, now it's needed for affected users
[142] Fix | Delete
if ( isset( $stream['error'] ) ) unset( $stream['error'] );
[143] Fix | Delete
[144] Fix | Delete
die( json_encode( $stream ) );
[145] Fix | Delete
}
[146] Fix | Delete
[147] Fix | Delete
public final function get_shortcode_pages() {
[148] Fix | Delete
global $wpdb;
[149] Fix | Delete
[150] Fix | Delete
if (FF_USE_WP) {
[151] Fix | Delete
if (!current_user_can('manage_options') || !check_ajax_referer( 'flow_flow_nonce', 'security', false ) ) {
[152] Fix | Delete
die( json_encode( [ 'error' => 'not_allowed' ] ) );
[153] Fix | Delete
}
[154] Fix | Delete
}
[155] Fix | Delete
[156] Fix | Delete
$stream = $_POST['stream'];
[157] Fix | Delete
[158] Fix | Delete
$query = "SELECT ID, post_title FROM " . $wpdb->posts . " WHERE post_content LIKE '%s' AND post_status = 'publish'";
[159] Fix | Delete
[160] Fix | Delete
$results = $wpdb->get_results ( $wpdb->prepare( $query, '%[ff id="' . $stream . '"%' ) );
[161] Fix | Delete
[162] Fix | Delete
foreach ($results as $result) {
[163] Fix | Delete
$result->url = get_permalink( $result->ID );
[164] Fix | Delete
}
[165] Fix | Delete
[166] Fix | Delete
die( json_encode( $results ) );
[167] Fix | Delete
}
[168] Fix | Delete
[169] Fix | Delete
/**
[170] Fix | Delete
* Create stream endpoint
[171] Fix | Delete
*/
[172] Fix | Delete
public final function create_stream(){
[173] Fix | Delete
$this->checkSecurity();
[174] Fix | Delete
[175] Fix | Delete
$stream = $this->getStreamFromRequestWithoutErrors();
[176] Fix | Delete
$conn = $this->conn();
[177] Fix | Delete
try{
[178] Fix | Delete
$conn->beginTransaction();
[179] Fix | Delete
if (false !== ($max = LADB::maxIdOfStreams( $conn, $this->streams_table_name))){
[180] Fix | Delete
$newId = (string) ($max + 1);
[181] Fix | Delete
$stream->id = $newId;
[182] Fix | Delete
$stream->feeds = isset($stream->feeds) ? $stream->feeds : json_encode( [] );
[183] Fix | Delete
$stream->name = isset($stream->name) ? $stream->name : '';
[184] Fix | Delete
LADB::setStream($conn, $this->streams_table_name, $this->streams_sources_table_name, $newId, $stream);
[185] Fix | Delete
$response = json_encode(LADB::getStream($conn, $this->streams_table_name, $newId));
[186] Fix | Delete
$conn->commit();
[187] Fix | Delete
[188] Fix | Delete
$this->refreshCache($newId);
[189] Fix | Delete
echo $response;
[190] Fix | Delete
}
[191] Fix | Delete
else echo false;
[192] Fix | Delete
}catch ( Exception $e){
[193] Fix | Delete
$conn->rollbackAndClose();
[194] Fix | Delete
echo 'Caught exception: ' . $e->getMessage() . "\n";
[195] Fix | Delete
}
[196] Fix | Delete
$conn->close();
[197] Fix | Delete
die();
[198] Fix | Delete
}
[199] Fix | Delete
[200] Fix | Delete
/**
[201] Fix | Delete
* Save sources endpoint
[202] Fix | Delete
* @throws Exception
[203] Fix | Delete
*/
[204] Fix | Delete
public final function save_sources_settings(){
[205] Fix | Delete
if (FF_USE_WP) {
[206] Fix | Delete
if (!current_user_can('manage_options') || !check_ajax_referer( 'flow_flow_nonce', 'security', false ) ) {
[207] Fix | Delete
$dontChange = true;
[208] Fix | Delete
}
[209] Fix | Delete
}
[210] Fix | Delete
[211] Fix | Delete
if (isset($_POST['model'])){
[212] Fix | Delete
$model = $_POST['model'];
[213] Fix | Delete
$model['id'] = 1; // DON'T DELETE, ID is always 1, this is needed to detect if model was saved
[214] Fix | Delete
[215] Fix | Delete
if (isset( $dontChange ) && isset( $_POST['model']['feeds_changed'] )) {
[216] Fix | Delete
unset( $_POST['model']['feeds_changed'] );
[217] Fix | Delete
}
[218] Fix | Delete
[219] Fix | Delete
$boosted = false;
[220] Fix | Delete
$original_status = 0;
[221] Fix | Delete
if (isset($_POST['model']['feeds_changed'])){
[222] Fix | Delete
foreach ( $_POST['model']['feeds_changed'] as $feed ) {
[223] Fix | Delete
switch ($feed['state']) {
[224] Fix | Delete
case 'changed':
[225] Fix | Delete
$source = $_POST['model']['feeds'][ $feed['id'] ];
[226] Fix | Delete
$original_status = $source['status'];
[227] Fix | Delete
$sources = LADB::sources($this->conn(), $this->cache_table_name, $this->streams_sources_table_name);
[228] Fix | Delete
$old = $sources[$source['id']];
[229] Fix | Delete
$changed_content = $this->changedContent($source, $old);
[230] Fix | Delete
if ($changed_content) {
[231] Fix | Delete
$this->cleanFeed($feed['id']);
[232] Fix | Delete
if (!$boosted){
[233] Fix | Delete
$boosted = LASettingsUtils::YepNope2ClassicStyle($source['boosted'], false);
[234] Fix | Delete
if (!$boosted && ($source['boosted'] != $old['boosted'])){
[235] Fix | Delete
$boosted = true;
[236] Fix | Delete
}
[237] Fix | Delete
}
[238] Fix | Delete
}
[239] Fix | Delete
else if (!$boosted){
[240] Fix | Delete
$boosted = LASettingsUtils::YepNope2ClassicStyle($source['boosted'], false);
[241] Fix | Delete
}
[242] Fix | Delete
$this->modifySource( $source, $changed_content );
[243] Fix | Delete
if ($source['enabled'] == 'yep') {
[244] Fix | Delete
$this->refreshCache4Source($feed['id'], false, $boosted);
[245] Fix | Delete
}
[246] Fix | Delete
break;
[247] Fix | Delete
case 'created':
[248] Fix | Delete
$source = $_POST['model']['feeds'][$feed['id']];
[249] Fix | Delete
$this->modifySource($source);
[250] Fix | Delete
if (!$boosted){
[251] Fix | Delete
$boosted = LASettingsUtils::YepNope2ClassicStyle($source['boosted'], false);
[252] Fix | Delete
}
[253] Fix | Delete
$this->refreshCache4Source($feed['id'], true, $boosted);
[254] Fix | Delete
break;
[255] Fix | Delete
case 'reset_cache':
[256] Fix | Delete
$source = $_POST['model']['feeds'][ $feed['id'] ];
[257] Fix | Delete
$this->cleanFeed($feed['id']);
[258] Fix | Delete
if (!$boosted){
[259] Fix | Delete
$boosted = LASettingsUtils::YepNope2ClassicStyle($source['boosted'], false);
[260] Fix | Delete
}
[261] Fix | Delete
$this->refreshCache4Source($feed['id'], true, $boosted);
[262] Fix | Delete
break;
[263] Fix | Delete
case 'deleted':
[264] Fix | Delete
$sources = LADB::sources($this->conn(), $this->cache_table_name, $this->streams_sources_table_name);
[265] Fix | Delete
if (isset($sources[$feed['id']])){
[266] Fix | Delete
$source = $sources[$feed['id']];
[267] Fix | Delete
$this->deleteFeed($feed['id']);
[268] Fix | Delete
if (!$boosted){
[269] Fix | Delete
$boosted = LASettingsUtils::YepNope2ClassicStyle($source['boosted'], false);
[270] Fix | Delete
}
[271] Fix | Delete
}
[272] Fix | Delete
break;
[273] Fix | Delete
}
[274] Fix | Delete
}
[275] Fix | Delete
}
[276] Fix | Delete
[277] Fix | Delete
if ($boosted){
[278] Fix | Delete
$response = $this->proxyRequest($_POST);
[279] Fix | Delete
if ($response->code == 200){
[280] Fix | Delete
$json = $response->body;
[281] Fix | Delete
foreach ( $json['feeds'] as &$feed ) {
[282] Fix | Delete
$enabled = LASettingsUtils::YepNope2ClassicStyle($feed['enabled'], false) ? 1 : 0;
[283] Fix | Delete
$status = ['last_update' => $feed['last_update'], 'status' => $original_status, 'enabled' => $enabled];
[284] Fix | Delete
if (isset($feed['errors']) && is_array($feed['errors'])) $status['errors'] = serialize($feed['errors']);
[285] Fix | Delete
$this->saveSource($feed['id'], $status);
[286] Fix | Delete
$feed['last_update'] = $feed['last_update'] == 0 ? 'N/A' : LASettingsUtils::classicStyleDate($feed['last_update']);
[287] Fix | Delete
}
[288] Fix | Delete
echo json_encode($json);
[289] Fix | Delete
}
[290] Fix | Delete
else if ($response->code == 504){
[291] Fix | Delete
header('HTTP/1.1 504 Gateway Time-out');
[292] Fix | Delete
}
[293] Fix | Delete
else if ($response->code == 403){
[294] Fix | Delete
header('HTTP/1.1 403 Forbidden');
[295] Fix | Delete
echo $response->raw_body;
[296] Fix | Delete
}
[297] Fix | Delete
}
[298] Fix | Delete
else {
[299] Fix | Delete
if (isset($model['feeds'])){
[300] Fix | Delete
$this->dataInit();
[301] Fix | Delete
$sources = $this->sources();
[302] Fix | Delete
foreach ( $model['feeds'] as &$source ) {
[303] Fix | Delete
if (array_key_exists($source['id'], $sources)){
[304] Fix | Delete
$source = $sources[$source['id']];
[305] Fix | Delete
}
[306] Fix | Delete
}
[307] Fix | Delete
}
[308] Fix | Delete
if (isset( $dontChange )) {
[309] Fix | Delete
$model['error'] = 'Not allowed';
[310] Fix | Delete
}
[311] Fix | Delete
echo json_encode($model);
[312] Fix | Delete
}
[313] Fix | Delete
die();
[314] Fix | Delete
}
[315] Fix | Delete
die(1);
[316] Fix | Delete
}
[317] Fix | Delete
[318] Fix | Delete
/**
[319] Fix | Delete
* Save stream endpoint
[320] Fix | Delete
*/
[321] Fix | Delete
public final function save_stream_settings(){
[322] Fix | Delete
$this->checkSecurity();
[323] Fix | Delete
$stream = $this->getStreamFromRequestWithoutErrors();
[324] Fix | Delete
$conn = $this->conn();
[325] Fix | Delete
try{
[326] Fix | Delete
$conn->beginTransaction();
[327] Fix | Delete
$stream->last_changes = time();
[328] Fix | Delete
LADB::setStream($conn, $this->streams_table_name, $this->streams_sources_table_name, $stream->id, $stream);
[329] Fix | Delete
[330] Fix | Delete
$this->generateCss($stream);
[331] Fix | Delete
[332] Fix | Delete
echo json_encode($stream);
[333] Fix | Delete
$conn->commit();
[334] Fix | Delete
[335] Fix | Delete
$this->proxyRequest($_POST);
[336] Fix | Delete
}catch (Exception $e){
[337] Fix | Delete
$conn->rollbackAndClose();
[338] Fix | Delete
error_log('save_stream_settings error:');
[339] Fix | Delete
error_log($e->getMessage());
[340] Fix | Delete
error_log($e->getTraceAsString());
[341] Fix | Delete
}
[342] Fix | Delete
$conn->close();
[343] Fix | Delete
die();
[344] Fix | Delete
}
[345] Fix | Delete
[346] Fix | Delete
/**
[347] Fix | Delete
* Save general settings endpoint
[348] Fix | Delete
*/
[349] Fix | Delete
public final function ff_save_settings_fn() {
[350] Fix | Delete
[351] Fix | Delete
if (FF_USE_WP) {
[352] Fix | Delete
if (!current_user_can('manage_options') || !check_ajax_referer( 'flow_flow_nonce', 'security', false ) ) {
[353] Fix | Delete
die( json_encode( [ 'error' => 'not_allowed' ] ) );
[354] Fix | Delete
}
[355] Fix | Delete
}
[356] Fix | Delete
[357] Fix | Delete
$serialized_settings = $_POST['settings']; // param1=foo&param2=bar
[358] Fix | Delete
$settings = [];
[359] Fix | Delete
parse_str( $serialized_settings, $settings );
[360] Fix | Delete
[361] Fix | Delete
$conn = $this->conn();
[362] Fix | Delete
try{
[363] Fix | Delete
$activated = $this->activate($settings);
[364] Fix | Delete
$force_load_cache = $this->clean_cache($settings);
[365] Fix | Delete
[366] Fix | Delete
$conn->beginTransaction();
[367] Fix | Delete
[368] Fix | Delete
$settings = $this->saveGeneralSettings($settings);
[369] Fix | Delete
[370] Fix | Delete
$conn->commit();
[371] Fix | Delete
[372] Fix | Delete
global $wp_locale;
[373] Fix | Delete
$_POST['wp_locale'] = json_encode($wp_locale);
[374] Fix | Delete
$_POST['wp_timezone_string'] = get_option( 'timezone_string' );
[375] Fix | Delete
$_POST['wp_date_format'] = get_option( 'date_format' );
[376] Fix | Delete
$_POST['wp_time_format'] = get_option( 'time_format' );
[377] Fix | Delete
if (false !== ($option = get_option( 'la_facebook_access_token', false )))
[378] Fix | Delete
$_POST['la_facebook_access_token'] = $option;
[379] Fix | Delete
if (false !== ($option = get_option( 'la_facebook_access_token_expires', false )))
[380] Fix | Delete
$_POST['la_facebook_access_token_expires'] = $option;
[381] Fix | Delete
[382] Fix | Delete
$this->proxyRequest($_POST);
[383] Fix | Delete
[384] Fix | Delete
if ($force_load_cache) {
[385] Fix | Delete
$this->refreshCache(null, $force_load_cache);
[386] Fix | Delete
}
[387] Fix | Delete
[388] Fix | Delete
$response = [
[389] Fix | Delete
'settings' => $settings,
[390] Fix | Delete
'activated' => $activated
[391] Fix | Delete
];
[392] Fix | Delete
$this->customizeResponse($response);
[393] Fix | Delete
[394] Fix | Delete
echo json_encode( $response );
[395] Fix | Delete
}catch ( Exception $e){
[396] Fix | Delete
error_log('ff_save_settings_fn error:');
[397] Fix | Delete
$msg = $e->getMessage();
[398] Fix | Delete
[399] Fix | Delete
if ( strpos( $msg, 'Connection timed out after') !== false ) {
[400] Fix | Delete
$msg .= '. Failed to connect to https://flow.looks-awesome.com which validates purchase code. Please ask help from your hosting support and tell them curl_exec exits with connection timeout error on line 889 of wp-content/plugins/flow-flow/includes/db/LADBManager.php';
[401] Fix | Delete
}
[402] Fix | Delete
[403] Fix | Delete
error_log( $msg );
[404] Fix | Delete
error_log($e->getTraceAsString());
[405] Fix | Delete
$conn->rollbackAndClose();
[406] Fix | Delete
die($e->getMessage());
[407] Fix | Delete
}
[408] Fix | Delete
$conn->close();
[409] Fix | Delete
die();
[410] Fix | Delete
}
[411] Fix | Delete
[412] Fix | Delete
/**
[413] Fix | Delete
* @param mixed $old_value
[414] Fix | Delete
* @param mixed $value
[415] Fix | Delete
* @param string $option
[416] Fix | Delete
*
[417] Fix | Delete
* @noinspection PhpUnusedParameterInspection
[418] Fix | Delete
* @throws Exception
[419] Fix | Delete
*/
[420] Fix | Delete
public function update_wp_date_format_hook($old_value, $value, $option){
[421] Fix | Delete
if ($option === 'WPLANG'){
[422] Fix | Delete
switch_to_locale(empty($value) ? 'en_US' : $value);
[423] Fix | Delete
}
[424] Fix | Delete
global $wp_locale;
[425] Fix | Delete
$post['action'] = 'flow_flow_save_settings_date_format';
[426] Fix | Delete
$post['wp_locale'] = json_encode($wp_locale);
[427] Fix | Delete
$post['wp_timezone_string'] = get_option( 'timezone_string' );
[428] Fix | Delete
$post['wp_date_format'] = get_option( 'date_format' );
[429] Fix | Delete
$post['wp_time_format'] = get_option( 'time_format' );
[430] Fix | Delete
$this->proxyRequest($post);
[431] Fix | Delete
}
[432] Fix | Delete
[433] Fix | Delete
/**
[434] Fix | Delete
* @throws Exception
[435] Fix | Delete
*/
[436] Fix | Delete
public function update_options(){
[437] Fix | Delete
$data = [
[438] Fix | Delete
'action' => 'flow_flow_save_settings',
[439] Fix | Delete
'options' => $this->getOption('options', false, false, true),
[440] Fix | Delete
'fb_auth_options' => $this->getOption('fb_auth_options', false, false, true)
[441] Fix | Delete
];
[442] Fix | Delete
if (false != ($la_facebook_access_token = get_option('la_facebook_access_token', false))){
[443] Fix | Delete
$data['la_facebook_access_token'] = $la_facebook_access_token;
[444] Fix | Delete
}
[445] Fix | Delete
if (false != ($la_facebook_access_token_expires = get_option('la_facebook_access_token_expires', false))) {
[446] Fix | Delete
$data['la_facebook_access_token_expires'] = $la_facebook_access_token_expires;
[447] Fix | Delete
}
[448] Fix | Delete
$this->proxyRequest($data);
[449] Fix | Delete
}
[450] Fix | Delete
[451] Fix | Delete
/**
[452] Fix | Delete
* @throws Exception
[453] Fix | Delete
*/
[454] Fix | Delete
public function get_sources( ) {
[455] Fix | Delete
if (FF_USE_WP) {
[456] Fix | Delete
if (!current_user_can('manage_options') || !check_ajax_referer( 'flow_flow_nonce', 'security', false ) ) {
[457] Fix | Delete
die( json_encode( [ 'error' => 'not_allowed' ] ) );
[458] Fix | Delete
}
[459] Fix | Delete
}
[460] Fix | Delete
[461] Fix | Delete
$this->dataInit(false, false);
[462] Fix | Delete
if (isset($_REQUEST['id']) && !empty($_REQUEST['id'])){
[463] Fix | Delete
if (isset($this->sources[$_REQUEST['id']])){
[464] Fix | Delete
die( json_encode( $this->sources[$_REQUEST['id']] ) );
[465] Fix | Delete
}
[466] Fix | Delete
else {
[467] Fix | Delete
header("HTTP/1.0 404 Not Found");
[468] Fix | Delete
die();
[469] Fix | Delete
}
[470] Fix | Delete
}
[471] Fix | Delete
die( json_encode( $this->sources ) );
[472] Fix | Delete
}
[473] Fix | Delete
[474] Fix | Delete
/**
[475] Fix | Delete
* @throws Exception
[476] Fix | Delete
*/
[477] Fix | Delete
public final function get_boosts(){
[478] Fix | Delete
if ( FF_USE_WP ) {
[479] Fix | Delete
if ( !current_user_can('manage_options') || !check_ajax_referer( 'flow_flow_nonce', 'security', false ) ) {
[480] Fix | Delete
die( json_encode( [ 'error' => 'not_allowed' ] ) );
[481] Fix | Delete
}
[482] Fix | Delete
}
[483] Fix | Delete
[484] Fix | Delete
if ( isset($_POST['not_active']) ) {
[485] Fix | Delete
// return dummy
[486] Fix | Delete
$response = [
[487] Fix | Delete
'status' => 'never_used', // 'active', 'cancelled', 'paused'
[488] Fix | Delete
'plan' => 0,
[489] Fix | Delete
'available' => 0,
[490] Fix | Delete
'expire' => 0
[491] Fix | Delete
];
[492] Fix | Delete
echo json_encode( $response );
[493] Fix | Delete
die();
[494] Fix | Delete
}
[495] Fix | Delete
[496] Fix | Delete
if (null != ($token = $this->getToken())){
[497] Fix | Delete
$response = Request::post(FF_BOOST_SERVER . 'flow-flow/ff', [
[498] Fix | Delete
'Content-Type: application/x-www-form-urlencoded'
[499] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function