/** * Copyright (C) 2014-2020 ServMask Inc. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * * ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗ * ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝ * ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝ * ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗ * ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗ * ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ */ if ( ! defined( 'ABSPATH' ) ) { die( 'Kangaroos cannot jump here' ); } class Ai1wm_Export_Content { public static function execute( $params ) { // Set archive bytes offset if ( isset( $params['archive_bytes_offset'] ) ) { $archive_bytes_offset = (int) $params['archive_bytes_offset']; } else { $archive_bytes_offset = ai1wm_archive_bytes( $params ); } // Set file bytes offset if ( isset( $params['file_bytes_offset'] ) ) { $file_bytes_offset = (int) $params['file_bytes_offset']; } else { $file_bytes_offset = 0; } // Set content bytes offset if ( isset( $params['content_bytes_offset'] ) ) { $content_bytes_offset = (int) $params['content_bytes_offset']; } else { $content_bytes_offset = 0; } // Get processed files size if ( isset( $params['processed_files_size'] ) ) { $processed_files_size = (int) $params['processed_files_size']; } else { $processed_files_size = 0; } // Get total content files size if ( isset( $params['total_content_files_size'] ) ) { $total_content_files_size = (int) $params['total_content_files_size']; } else { $total_content_files_size = 1; } // Get total content files count if ( isset( $params['total_content_files_count'] ) ) { $total_content_files_count = (int) $params['total_content_files_count']; } else { $total_content_files_count = 1; } // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // Flag to hold if file data has been processed $completed = true; // Start time $start = microtime( true ); // Get content list file $content_list = ai1wm_open( ai1wm_content_list_path( $params ), 'r' ); // Set the file pointer at the current index if ( fseek( $content_list, $content_bytes_offset ) !== -1 ) { // Open the archive file for writing $archive = new Ai1wm_Compressor( ai1wm_archive_path( $params ) ); // Set the file pointer to the one that we have saved $archive->set_file_pointer( $archive_bytes_offset ); // Loop over files while ( list( $file_abspath, $file_relpath, $file_size, $file_mtime ) = fgetcsv( $content_list ) ) { $file_bytes_written = 0; // Add file to archive if ( ( $completed = $archive->add_file( $file_abspath, $file_relpath, $file_bytes_written, $file_bytes_offset ) ) ) { $file_bytes_offset = 0; // Get content bytes offset $content_bytes_offset = ftell( $content_list ); } // Increment processed files size $processed_files_size += $file_bytes_written; // What percent of files have we processed? $progress = (int) min( ( $processed_files_size / $total_content_files_size ) * 100, 100 ); // Set progress Ai1wm_Status::info( sprintf( __( 'Archiving %d content files...
%d%% complete', AI1WM_PLUGIN_NAME ), $total_content_files_count, $progress ) ); // More than 10 seconds have passed, break and do another request if ( ( $timeout = apply_filters( 'ai1wm_completed_timeout', 10 ) ) ) { if ( ( microtime( true ) - $start ) > $timeout ) { $completed = false; break; } } } // Get archive bytes offset $archive_bytes_offset = $archive->get_file_pointer(); // Truncate the archive file $archive->truncate(); // Close the archive file $archive->close(); } // End of the content list? if ( feof( $content_list ) ) { // Unset archive bytes offset unset( $params['archive_bytes_offset'] ); // Unset file bytes offset unset( $params['file_bytes_offset'] ); // Unset content bytes offset unset( $params['content_bytes_offset'] ); // Unset processed files size unset( $params['processed_files_size'] ); // Unset total content files size unset( $params['total_content_files_size'] ); // Unset total content files count unset( $params['total_content_files_count'] ); // Unset completed flag unset( $params['completed'] ); } else { // Set archive bytes offset $params['archive_bytes_offset'] = $archive_bytes_offset; // Set file bytes offset $params['file_bytes_offset'] = $file_bytes_offset; // Set content bytes offset $params['content_bytes_offset'] = $content_bytes_offset; // Set processed files size $params['processed_files_size'] = $processed_files_size; // Set total content files size $params['total_content_files_size'] = $total_content_files_size; // Set total content files count $params['total_content_files_count'] = $total_content_files_count; // Set completed flag $params['completed'] = $completed; } // Close the content list file ai1wm_close( $content_list ); return $params; } } Kiến Thức Tài Chính - Trang 45 trên 53 - Vay Tài Chính 247

Category Archives: Kiến Thức Tài Chính

Định danh điện tử eKYC

Với xu hướng chuyển đổi số tại Việt Nam, các quy trình ngày càng tối ưu hóa nhờ công nghệ AI được tích hợp. Các thao tác này có thể thực hiện một cách dễ dàng trên thiết bị điện thoại. Định danh điện tử eKYC là một trong những phương thức giúp định danh […]

Hướng dẫn định danh điện tử eKYC trên Touch

Khi bắt đầu sử dụng Touch, một trong những bước quan trọng khách hàng cần thực hiện là định danh điện tử eKYC. Cùng MAFC tìm hiểu về quy trình này trên Touch để đảm bảo người dùng có thể thao tác định danh được chính xác hơn. Nội dung trong bài viết 1. Định […]

Tổng hợp các phương thức thanh toán phổ biến nhất tại website game online

Game online ngày càng phát triển và hình thức thanh toán game cũng đa dạng hơn nhiều. Khách hàng có thể lựa chọn 1 hoặc nhiều cách khác nhau để thực hiện việc thanh toán một cách dễ dàng, đơn giản. Dưới đây là top những phương thức thanh toán được gamer sử dụng nhiều […]

Top ngân hàng cho vay cá nhân lãi suất thấp cực hấp dẫn

Vay online là nhu cầu của khá nhiều người trong thời buổi hiện đại. Họ có thể vay để sử dụng cho các mục tiêu như mua sắm, kinh doanh, học tập, giải trí,…Nếu bạn đang có nhu cầu vay cá nhân thì nên tham khảo top 8 ngân hàng sau để được hưởng lãi […]

Top các loại tiền điện tử được sử dụng phổ biến tại các trang cá cược thể thao

Tiền điện tử là một loại tiền kỹ thuật số không có sẵn ở dạng vật chất hoặc hữu hình như tiền giấy và thường không được phát hành bởi chính phủ hoặc ngân hàng. Tiền điện tử/Crypto phi tập trung đầu tiên xuất hiện trên thị trường là Bitcoin, được cho là tạo ra […]

Chỉ số là gì và có nên đầu tư vào chỉ số hay không?

chỉ số indices

Hiện nay, việc bỏ tiền vào các quỹ đầu tư hay giao dịch hợp đồng chênh lệch theo thời điểm đang là xu hướng phổ biến và được rất nhiều nhà đầu tư tin tưởng. Tuy nhiên, để giao dịch thành công lại cần phải có sự cân nhắc và tìm hiểu kỹ về những […]

Forex là gì? Sự cuốn hút của Forex với các nhà đầu tư

Forex là một kênh đang được rất nhiều nhà đầu tư tại Việt Nam cũng như trên thế giới lựa chọn tham gia. Vậy Forex là gì? Lý do tại sao nhà đầu tư bị cuốn hút và đam mê đầu tư Forex? Hãy cùng chúng tôi tìm hiểu ngay sau đây! 1. Forex là […]

Home Credit – Cho vay tiền nhanh online uy tín tại Việt Nam

Home Credit là một trong các công ty tài chính lớn và uy tín đang hoạt động tại thị trường Việt Nam. Trong những năm qua Home Credit đã giúp đỡ cho hàng triệu khách hàng vượt qua khó khăn tài chính nhờ các gói cho vay online vừa nhanh chóng lại rất đơn giản. […]

TOP 6 sàn mua bán Bitcoin lớn và an toàn nhất thế giới (2022)

TOP 6 nền tảng giao dịch, mua bán Bitcoin và crypto lớn nhất thế giới sẽ được bật mí trong bài viết này. Với những sàn giao dịch Bitcoin này, mọi người có thể an tâm thực hiện những giao dịch mua bán, trao đổi giữa nhiều coin mà không cần lo lắng về việc […]

Crypto là gì? Các ứng dụng của crypto trong đời sống

Crypto đang ngày càng có xu thế được sử dụng rộng rãi hơn trong cuộc sống, thâm nhập vào nhiều lĩnh vực khác nhau. Tuy nhiên, không phải ai cũng hiểu rõ crypto là gì cũng như những ứng dụng thực tế của nó. Nếu bạn cũng vậy thì hãy cùng chúng tôi tìm kiếm […]