/**
 * Install woocommerce
 */
function do_install_woocommerce()
{
    global $woocommerce_settings, $woocommerce;
    // Do install
    woocommerce_default_options();
    woocommerce_tables_install();
    woocommerce_install_custom_fields();
    // Register post types
    $woocommerce->init_taxonomy();
    // Add default taxonomies
    woocommerce_default_taxonomies();
    // Install folder for uploading files and prevent hotlinking
    $upload_dir = wp_upload_dir();
    $downloads_url = $upload_dir['basedir'] . '/woocommerce_uploads';
    if (wp_mkdir_p($downloads_url) && !file_exists($downloads_url . '/.htaccess')) {
        if ($file_handle = @fopen($downloads_url . '/.htaccess', 'w')) {
            fwrite($file_handle, 'deny from all');
            fclose($file_handle);
        }
    }
    // Install folder for logs
    $logs_url = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(dirname(__FILE__))) . '/logs';
    if (wp_mkdir_p($logs_url) && !file_exists($logs_url . '/.htaccess')) {
        if ($file_handle = @fopen($logs_url . '/.htaccess', 'w')) {
            fwrite($file_handle, 'deny from all');
            fclose($file_handle);
        }
    }
    // Clear transient cache
    $woocommerce->clear_product_transients();
    // Update version
    update_option("woocommerce_db_version", $woocommerce->version);
}
/**
 * Install woocommerce
 */
function do_install_woocommerce()
{
    global $woocommerce_settings, $woocommerce;
    // Do install
    woocommerce_default_options();
    woocommerce_tables_install();
    woocommerce_default_taxonomies();
    woocommerce_populate_custom_fields();
    // Install folder for uploading files and prevent hotlinking
    $upload_dir = wp_upload_dir();
    $downloads_url = $upload_dir['basedir'] . '/woocommerce_uploads';
    if (wp_mkdir_p($downloads_url) && !file_exists($downloads_url . '/.htaccess')) {
        if ($file_handle = fopen($downloads_url . '/.htaccess', 'w')) {
            fwrite($file_handle, 'deny from all');
            fclose($file_handle);
        }
    }
    // Install folder for logs
    $logs_url = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(dirname(__FILE__))) . '/logs';
    if (wp_mkdir_p($logs_url) && !file_exists($logs_url . '/.htaccess')) {
        if ($file_handle = fopen($logs_url . '/.htaccess', 'w')) {
            fwrite($file_handle, 'deny from all');
            fclose($file_handle);
        }
    }
    // Clear transient cache (if this is an upgrade then woocommerce_class will be defined)
    if ($woocommerce instanceof woocommerce) {
        $woocommerce->clear_product_transients();
    }
    // Update version
    update_option("woocommerce_db_version", $woocommerce->version);
}
/**
 * Runs the installer.
 *
 * @access public
 * @return void
 */
function do_install_woocommerce()
{
    global $woocommerce_settings, $woocommerce;
    // Do install
    woocommerce_default_options();
    woocommerce_tables_install();
    woocommerce_init_roles();
    // Register post types
    $woocommerce->init_taxonomy();
    // Add default taxonomies
    woocommerce_default_taxonomies();
    // Cron jobs
    wp_clear_scheduled_hook('woocommerce_scheduled_sales');
    wp_clear_scheduled_hook('woocommerce_cancel_unpaid_orders');
    wp_clear_scheduled_hook('woocommerce_cleanup_sessions');
    $ve = get_option('gmt_offset') > 0 ? '+' : '-';
    wp_schedule_event(strtotime('tomorrow ' . $ve . get_option('gmt_offset') . ' HOURS'), 'daily', 'woocommerce_scheduled_sales');
    $held_duration = get_option('woocommerce_hold_stock_minutes', null);
    if (is_null($held_duration)) {
        $held_duration = '60';
    }
    if ($held_duration != '') {
        wp_schedule_single_event(time() + absint($held_duration) * 60, 'woocommerce_cancel_unpaid_orders');
    }
    wp_schedule_event(time(), 'twicedaily', 'woocommerce_cleanup_sessions');
    // Install files and folders for uploading files and prevent hotlinking
    $upload_dir = wp_upload_dir();
    $files = array(array('base' => $upload_dir['basedir'] . '/woocommerce_uploads', 'file' => '.htaccess', 'content' => 'deny from all'), array('base' => $upload_dir['basedir'] . '/woocommerce_uploads', 'file' => 'index.html', 'content' => ''), array('base' => WP_PLUGIN_DIR . "/" . plugin_basename(dirname(dirname(__FILE__))) . '/logs', 'file' => '.htaccess', 'content' => 'deny from all'), array('base' => WP_PLUGIN_DIR . "/" . plugin_basename(dirname(dirname(__FILE__))) . '/logs', 'file' => 'index.html', 'content' => ''));
    foreach ($files as $file) {
        if (wp_mkdir_p($file['base']) && !file_exists(trailingslashit($file['base']) . $file['file'])) {
            if ($file_handle = @fopen(trailingslashit($file['base']) . $file['file'], 'w')) {
                fwrite($file_handle, $file['content']);
                fclose($file_handle);
            }
        }
    }
    // Clear transient cache
    $woocommerce->clear_product_transients();
    // Recompile LESS styles if they are custom
    if (get_option('woocommerce_frontend_css') == 'yes') {
        $colors = get_option('woocommerce_frontend_css_colors');
        if (!empty($colors['primary']) && !empty($colors['secondary']) && !empty($colors['highlight']) && !empty($colors['content_bg']) && !empty($colors['subtext']) && ($colors['primary'] != '#ad74a2' || $colors['secondary'] != '#f7f6f7' || $colors['highlight'] != '#85ad74' || $colors['content_bg'] != '#ffffff' || $colors['subtext'] != '#777777')) {
            woocommerce_compile_less_styles();
        }
    }
    // Queue upgrades
    $current_version = get_option('woocommerce_version', null);
    $current_db_version = get_option('woocommerce_db_version', null);
    if (version_compare($current_db_version, '2.0.9', '<') && null !== $current_db_version) {
        update_option('_wc_needs_update', 1);
    } else {
        update_option('woocommerce_db_version', $woocommerce->version);
    }
    // Update version
    update_option('woocommerce_version', $woocommerce->version);
    // Flush rewrite rules
    flush_rewrite_rules();
}
/**
 * Runs the installer.
 *
 * @access public
 * @return void
 */
function do_install_woocommerce()
{
    global $woocommerce_settings, $woocommerce;
    // Do install
    woocommerce_default_options();
    woocommerce_tables_install();
    // Register post types
    $woocommerce->init_taxonomy();
    // Add default taxonomies
    woocommerce_default_taxonomies();
    // Install folder for uploading files and prevent hotlinking
    $upload_dir = wp_upload_dir();
    $downloads_url = $upload_dir['basedir'] . '/woocommerce_uploads';
    if (wp_mkdir_p($downloads_url) && !file_exists($downloads_url . '/.htaccess')) {
        if ($file_handle = @fopen($downloads_url . '/.htaccess', 'w')) {
            fwrite($file_handle, 'deny from all');
            fclose($file_handle);
        }
    }
    // Install folder for logs
    $logs_url = WP_PLUGIN_DIR . "/" . plugin_basename(dirname(dirname(__FILE__))) . '/logs';
    if (wp_mkdir_p($logs_url) && !file_exists($logs_url . '/.htaccess')) {
        if ($file_handle = @fopen($logs_url . '/.htaccess', 'w')) {
            fwrite($file_handle, 'deny from all');
            fclose($file_handle);
        }
    }
    // Clear transient cache
    $woocommerce->clear_product_transients();
    // Recompile LESS styles if they are custom
    if (get_option('woocommerce_frontend_css') == 'yes') {
        // Handle Colour Settings
        $colors = get_option('woocommerce_frontend_css_colors');
        if (!empty($colors['primary']) && !empty($colors['secondary']) && !empty($colors['highlight']) && !empty($colors['content_bg']) && !empty($colors['subtext']) && ($colors['primary'] != '#ad74a2' || $colors['secondary'] != '#f7f6f7' || $colors['highlight'] != '#85ad74' || $colors['content_bg'] != '#ffffff' || $colors['subtext'] != '#777777')) {
            // Write less file
            woocommerce_compile_less_styles();
        }
    }
    // Update version
    update_option("woocommerce_db_version", $woocommerce->version);
}