eturn void
*/
private function migrateSeoAnalyzerResults() {
$internalOptions = $this->getRawInternalOptions();
$results = ! empty( $internalOptions['internal']['siteAnalysis']['results'] ) ? $internalOptions['internal']['siteAnalysis']['results'] : [];
if ( empty( $results ) ) {
return;
}
$parsedData = [
'results' => is_string( $results ) ? json_decode( $results, true ) : $results,
'score' => $internalOptions['internal']['siteAnalysis']['score'],
];
Models\SeoAnalyzerResult::addResults( $parsedData );
aioseo()->core->cache->delete( 'analyze_site_code' );
aioseo()->core->cache->delete( 'analyze_site_body' );
}
/**
* Migrate the SeoAnalyzer competitors results from the Internal Optinos to the new table.
*
* @since 4.8.3
*
* @return void
*/
private function migrateSeoAnalyzerCompetitors() {
$internalOptions = $this->getRawInternalOptions();
$competitors = ! empty( $internalOptions['internal']['siteAnalysis']['competitors'] ) ? $internalOptions['internal']['siteAnalysis']['competitors'] : [];
if ( empty( $competitors ) ) {
return;
}
foreach ( $competitors as $url => $competitor ) {
$parsedData = is_string( $competitor ) ? json_decode( $competitor, true ) : $competitor;
$results = empty( $parsedData['results'] ) ? [] : $parsedData['results'];
if ( empty( $results ) ) {
continue;
}
Models\SeoAnalyzerResult::addResults( [
'results' => $results,
'score' => $parsedData['score'],
], $url );
}
aioseo()->core->cache->delete( 'analyze_site_code' );
aioseo()->core->cache->delete( 'analyze_site_body' );
}
/**
* Adds the AI column to our posts table.
*
* @since 4.8.4
*
* @return void
*/
public function addAiColumn() {
if ( ! aioseo()->core->db->columnExists( 'aioseo_posts', 'ai' ) ) {
$tableName = aioseo()->core->db->db->prefix . 'aioseo_posts';
if ( aioseo()->core->db->columnExists( 'aioseo_posts', 'open_ai' ) ) {
aioseo()->core->db->execute(
"ALTER TABLE {$tableName}
ADD ai longtext DEFAULT NULL AFTER open_ai"
);
} else {
aioseo()->core->db->execute(
"ALTER TABLE {$tableName}
ADD ai longtext DEFAULT NULL AFTER options"
);
}
}
}
/**
* Returns the raw options from the database.
*
* @since 4.8.3
*
* @return array
*/
private function getRawInternalOptions() {
// Options from the DB.
$internalOptions = json_decode( get_option( aioseo()->internalOptions->optionsName ), true );
if ( empty( $internalOptions ) ) {
$internalOptions = [];
}
return $internalOptions;
}
/**
* Adds the column index for the cornerstone content table.
*
* @since 4.8.7
*
* @return void
*/
private function addColumnIndexForCornerstoneContent() {
if (
! aioseo()->core->db->columnExists( 'aioseo_posts', 'pillar_content' ) ||
aioseo()->core->db->indexExists( 'aioseo_posts', 'ndx_aioseo_posts_pillar_content' )
) {
return;
}
$tableName = aioseo()->core->db->db->prefix . 'aioseo_posts';
aioseo()->core->db->execute(
"ALTER TABLE {$tableName}
ADD INDEX ndx_aioseo_posts_pillar_content (pillar_content)"
);
}
}
Fatal error: Uncaught Error: Class 'AIOSEO\Plugin\Common\Main\Updates' not found in /home/kordian1/domains/klekociaki.pl/public_html/wp-content/plugins/all-in-one-seo-pack/app/AIOSEO.php:305
Stack trace:
#0 /home/kordian1/domains/klekociaki.pl/public_html/wp-content/plugins/all-in-one-seo-pack/app/AIOSEO.php(106): AIOSEO\Plugin\AIOSEO->load()
#1 /home/kordian1/domains/klekociaki.pl/public_html/wp-content/plugins/all-in-one-seo-pack/app/AIOSEO.php(85): AIOSEO\Plugin\AIOSEO->init()
#2 /home/kordian1/domains/klekociaki.pl/public_html/wp-content/plugins/all-in-one-seo-pack/app/AIOSEO.php(398): AIOSEO\Plugin\AIOSEO::instance()
#3 /home/kordian1/domains/klekociaki.pl/public_html/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php(98): aioseo()
#4 /home/kordian1/domains/klekociaki.pl/public_html/wp-settings.php(545): include_once('/home/kordian1/...')
#5 /home/kordian1/domains/klekociaki.pl/public_html/wp-config.php(81): require_once('/home/kordian1/...')
#6 /home/kordian1/domains/klekociaki.pl/public_html/wp-load.php in /home/kordian1/domains/klekociaki.pl/public_html/wp-content/plugins/all-in-one-seo-pack/app/AIOSEO.php on line 305