HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: /var/www/html/insiders/wp-load/wp-content/plugins/internal-links/includes/install.php
<?php
// @codingStandardsIgnoreStart
/**
 * @package ILJ\Includes
 */
// @codingStandardsIgnoreEnd
use ILJ\Database\Usermeta;
use ILJ\Database\Linkindex;
use ILJ\Database\Postmeta;
use ILJ\Backend\Environment;
use ILJ\Core\Options;
use ILJ\Database\DatabaseCollation;
use ILJ\Database\LinkindexTemp;

/**
 * Responsible for creating the database tables
 *
 * @since  1.0.0
 * @return void
 */
function ilj_install_db() {
	 global $wpdb;

	$charset_collate = DatabaseCollation::get_collation(true);
	$query_linkindex = 'CREATE TABLE ' . $wpdb->prefix . Linkindex::ILJ_DATABASE_TABLE_LINKINDEX . ' (
        `id` BIGINT(20) NOT NULL AUTO_INCREMENT,
        `link_from` BIGINT(20) NULL,
        `link_to` BIGINT(20) NULL,
        `type_from` VARCHAR(45) NULL,
        `type_to` VARCHAR(45) NULL,
        `anchor` TEXT NULL,
        PRIMARY KEY (`id`),
        INDEX `link_from` (`link_from` ASC),
        INDEX `type_from` (`type_from` ASC),
        INDEX `type_to` (`type_to` ASC),
        INDEX `link_to` (`link_to` ASC)) ' . $charset_collate . ';';

	include_once ABSPATH . 'wp-admin/includes/upgrade.php';

	dbDelta($query_linkindex);

	Environment::update('last_version', ILJ_VERSION);
}

/**
 * This function performs tasks such as creating database tables,
 * and any other activation-related procedures.
 *
 * @param  mixed $network_wide
 * @return void
 */
function ilj_plugin_activate($network_wide) {
	if (is_multisite()) {
		if ($network_wide) {
			$site_ids = get_sites(array('fields' => 'ids'));
			foreach ($site_ids as $site_id) {
				switch_to_blog($site_id);
				ilj_install_db();
				restore_current_blog();
			}
			return;
		}
		ilj_install_db();
		return;
	}
	ilj_install_db();
}

/**
 * Function for `wp_initialize_site` action-hook to install ilj database
 *
 * @param WP_Site $new_site New site object.
 *
 * @return void
 */
function ilj_multisite_install_db($new_site) {
	switch_to_blog($new_site->blog_id);
	ilj_install_db();
	restore_current_blog();
}

add_action('wp_initialize_site', 'ilj_multisite_install_db', 10, 1);
register_activation_hook(ILJ_FILE, '\\ilj_plugin_activate');
register_activation_hook(ILJ_FILE, array('ILJ\Core\Options', 'setOptionsDefault'));