PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/familymovies.us/wp-content/plugins/indeed-membership-pro/classes/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/familymovies.us/wp-content/plugins/indeed-membership-pro/classes/Updates.php |
<?php namespace Indeed\Ihc; /* * @since 7.4 */ class Updates { /** * @var string */ private $optionName = 'ihc_plugin_current_version'; /** * @param none * @return none */ public function __construct() { add_action( 'init', array( $this, 'check' ) ); } /** * @param none * @return none */ public function check() { $currentVersion = indeed_get_plugin_version( IHC_PATH . 'indeed-membership-pro.php' ); $versionValueInDatabase = get_option( $this->optionName ); if ( !$versionValueInDatabase ){ $versionValueInDatabase = '7.3'; } if ( version_compare( '8', $versionValueInDatabase )==1 ){ $this->addIndexes(); } if ( version_compare( '8.7', $versionValueInDatabase )==1 ){ $this->removeCsvOldFiles(); $this->removeOldExportFiles(); } if ( version_compare( '9.4.2', $versionValueInDatabase )==1 ){ \Ihc_Db::create_tables(); $prefixes = \Ihc_Db::get_all_prefixes(); foreach ($prefixes as $the_table_prefix){ \Indeed\Ihc\Db\Memberships::setTablePrefix( $the_table_prefix ); \Indeed\Ihc\Db\Memberships::importLevels(); } } if ( version_compare( '9.5', $versionValueInDatabase ) == 1 ){ $this->updateStateField(); } if ( version_compare( '9.6.2', $versionValueInDatabase ) == 1 ){ $cron = get_option( 'cron' ); if ( $cron && count($cron) < 1000 ){ foreach ( $cron as $key => $array){ if (isset($array['ihc_weekly_reports'])){ unset($cron[$key]); } } update_option('cron', $cron); } } if ( version_compare( '10.2', $versionValueInDatabase ) == 1 ){ \Ihc_Db::create_default_pages(); } if ( version_compare( '10.5.1', $versionValueInDatabase ) == 1 ){ $this->updateCrons(); } if ( version_compare( '10.10', $versionValueInDatabase ) == 1 ){ // if the second param is lower than the first $Levels = new \Indeed\Ihc\Levels(); $Levels->u(); } if ( version_compare( $currentVersion, $versionValueInDatabase )==1 ){ $this->updateRegisterFields(); update_option( $this->optionName, $currentVersion ); } } /** * @param none * @return none */ public function updateRegisterFields() { $data = get_option( 'ihc_user_fields' ); if ( !$data ){ return false; } foreach ( $data as $fieldData ){ if ( !isset( $fieldData['display_on_modal'] ) ){ $fieldData['display_on_modal'] = 0; } } /// require_once IHC_PATH . 'admin/includes/functions/register.php'; /// double check this if ( ihc_array_value_exists( $data, 'ihc_optin_accept', 'name' ) === false ){ $fieldData = array( 'display_admin'=>0, 'display_public_reg'=>0, 'display_public_ap'=>0, 'display_on_modal'=> 0, 'name'=>'ihc_optin_accept', 'label' => esc_html__( 'Accept Opt-in', 'ihc' ), 'type'=>'single_checkbox', 'native_wp' => 0, 'req' => 0, 'sublevel' => '' ); ihc_save_user_field($fieldData); } if ( ihc_array_value_exists( $data, 'ihc_memberlist_accept', 'name' ) === false ){ $fieldData = array( 'display_admin'=>0, 'display_public_reg'=>0, 'display_public_ap'=>0, 'display_on_modal'=> 0, 'name'=>'ihc_memberlist_accept', 'label' => esc_html__( 'Accept display on Memberlist', 'ihc' ), 'type'=>'single_checkbox', 'native_wp' => 0, 'req' => 0, 'sublevel' => '' ); ihc_save_user_field($fieldData); } } /** * @since version 9 * @param none * @return none */ public function addIndexes() { $this->userLevelsIndex(); $this->userLogsIndex(); $this->membersPaymentsIndex(); $this->ordersIndex(); $this->orderMetaIndex(); } /** * @since version 9 * @param none * @return none */ private function userLevelsIndex() { global $wpdb; //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "SHOW INDEX FROM {$wpdb->prefix}ihc_user_levels;"; $indexList = $wpdb->get_results( $query ); if ( !$indexList ){ return; } foreach ( $indexList as $indexObject ){ if ( isset( $indexObject->Key_name ) && $indexObject->Key_name == 'idx_ihc_user_levels_user_id' ){ return; } } //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "CREATE INDEX idx_ihc_user_levels_user_id ON {$wpdb->prefix}ihc_user_levels(user_id)"; $wpdb->query( $query ); } /** * @since version 9 * @param none * @return none */ private function userLogsIndex() { global $wpdb; //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "SHOW INDEX FROM {$wpdb->prefix}ihc_user_logs;"; $indexList = $wpdb->get_results( $query ); if ( !$indexList ){ return; } foreach ( $indexList as $indexObject ){ if ( isset( $indexObject->Key_name ) && $indexObject->Key_name == 'idx_ihc_user_logs_uid' ){ return; } } //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "CREATE INDEX idx_ihc_user_logs_uid ON {$wpdb->prefix}ihc_user_logs(uid)"; $wpdb->query( $query ); } /** * @since version 9 * @param none * @return none */ private function membersPaymentsIndex() { global $wpdb; //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "SHOW INDEX FROM {$wpdb->prefix}indeed_members_payments;"; $indexList = $wpdb->get_results( $query ); if ( !$indexList ){ return; } foreach ( $indexList as $indexObject ){ if ( isset( $indexObject->Key_name ) && $indexObject->Key_name == 'idx_indeed_members_payments_uid' ){ return; } } //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "CREATE INDEX idx_indeed_members_payments_uid ON {$wpdb->prefix}indeed_members_payments(u_id)"; $wpdb->query( $query ); } /** * @since version 9 * @param none * @return none */ private function ordersIndex() { global $wpdb; //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "SHOW INDEX FROM {$wpdb->prefix}ihc_orders;"; $indexList = $wpdb->get_results( $query ); if ( !$indexList ){ return; } foreach ( $indexList as $indexObject ){ if ( isset( $indexObject->Key_name ) && $indexObject->Key_name == 'idx_ihc_orders_uid' ){ return; } } //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "CREATE INDEX idx_ihc_orders_uid ON {$wpdb->prefix}ihc_orders(uid)"; $wpdb->query( $query ); } /** * @since version 9 * @param none * @return none */ private function orderMetaIndex() { global $wpdb; //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "SHOW INDEX FROM {$wpdb->prefix}ihc_orders_meta;"; $indexList = $wpdb->get_results( $query ); if ( !$indexList ){ return; } foreach ( $indexList as $indexObject ){ if ( isset( $indexObject->Key_name ) && $indexObject->Key_name == 'idx_ihc_orders_meta_order_id' ){ return; } } //No query parameters required, Safe query. prepare() method without parameters can not be called $query = "CREATE INDEX idx_ihc_orders_meta_order_id ON {$wpdb->prefix}ihc_orders_meta(order_id)"; $wpdb->query( $query ); } /** * @param none * @return none */ private function removeCsvOldFiles() { $directory = IHC_PATH; $files = scandir( $directory ); foreach ( $files as $file ){ $fileFullPath = $directory . $file; if ( file_exists( $fileFullPath ) && filetype( $fileFullPath ) == 'file' ){ $extension = pathinfo( $fileFullPath, PATHINFO_EXTENSION ); if ( $extension == 'csv' && $file == 'users.csv' ){ unlink( $fileFullPath ); } } } } /** * @param none * @return none */ private function removeOldExportFiles() { $directory = IHC_PATH; $files = scandir( $directory ); foreach ( $files as $file ){ $fileFullPath = $directory . $file; if ( file_exists( $fileFullPath ) && filetype( $fileFullPath ) == 'file' ){ $extension = pathinfo( $fileFullPath, PATHINFO_EXTENSION ); if ( $extension == 'xml' && $file == 'export.xml' ){ unlink( $fileFullPath ); } } } } public function updateStateField() { $registerFields = get_option( 'ihc_user_fields' ); if ( !$registerFields ){ return; } $key = ihc_array_value_exists($registerFields, 'ihc_state', 'name'); if ( $key === false ){ return; } $registerFields[$key]['native_wp'] = 0; update_option( 'ihc_user_fields', $registerFields ); } /** * @param none * @return none */ public function updateCrons() { $crons = get_option( 'cron' ); if ( !$crons ){ return; } $i=0; foreach ( $crons as $timestamp => $subarray ){ if ( isset( $subarray['ihc_weekly_reports'] ) ){ $i++; } } if ( $i > 1 ){ foreach ( $crons as $timestamp => $subarray ){ if ( isset( $subarray['ihc_weekly_reports'] ) ){ unset( $crons[ $timestamp ] ); } } update_option( 'cron', $crons ); } if ( !wp_get_schedule('ihc_weekly_reports') ){ if ( date("l") !== 'Monday' ){ $whenToStart = strtotime("next monday"); } else { $whenToStart = time(); } wp_schedule_event( $whenToStart, 'weekly', 'ihc_weekly_reports' ); } } }