/** * 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 Kinh Tế - Vay Tài Chính 247

Category Archives: Kiến Thức Kinh Tế

Cách chọn hoa theo tính cách – Gợi ý tặng hoa đầy tinh tế và cảm xúc

Một bó hoa đẹp có thể khiến ai đó mỉm cười, nhưng một bó hoa đúng với tính cách người nhận sẽ chạm đến trái tim họ. Thay vì chọn hoa chỉ vì màu sắc hay mùi hương, hãy tìm hiểu xem mỗi loài hoa mang thông điệp gì, và làm thế nào để lựa […]

Phân loại cây kim ngân và hướng dẫn trồng chăm sóc từ A–Z cho người mới chơi

Tổng quan về cây kim ngân Cây kim ngân (Pachira aquatica) là một trong những loại cây cảnh phong thủy được yêu thích hàng đầu tại Việt Nam. Không chỉ nổi bật với hình dáng độc đáo, dễ chăm sóc, cây còn mang ý nghĩa tài lộc, may mắn và bình an cho người sở […]

Áp dụng học thuyết đa trí tuệ để nuôi dạy con thông minh toàn diện từ nhỏ

Vì sao nên áp dụng học thuyết đa trí tuệ trong việc nuôi dạy trẻ? Mỗi đứa trẻ sinh ra đều có tiềm năng trí tuệ riêng biệt. Tuy nhiên, trong nhiều năm, hệ thống giáo dục truyền thống thường chỉ đánh giá năng lực qua ngôn ngữ và toán học, khiến nhiều trẻ bị […]

Học thuyết đa trí tuệ là gì? 8 loại trí thông minh và cách ứng dụng vào giáo dục, cuộc sống

Học thuyết đa trí tuệ là gì? Học thuyết đa trí tuệ (Theory of Multiple Intelligences) là một mô hình giáo dục do Giáo sư Howard Gardner – nhà tâm lý học phát triển thuộc Đại học Harvard – đề xuất vào năm 1983. Lý thuyết này phản bác quan điểm truyền thống cho rằng […]

Cây lưỡi hổ hợp mệnh nào? Vị trí đặt giúp thu hút tài lộc và lọc không khí hiệu quả

Vì sao nên chọn cây phong thủy hợp mệnh? Trong phong thủy, việc chọn cây cảnh phù hợp với bản mệnh không chỉ giúp trang trí không gian sống mà còn tăng vượng khí, thu hút tài lộc và hóa giải điềm xấu. Mỗi mệnh trong ngũ hành (Kim – Mộc – Thủy – Hỏa […]

Cây lưỡi hổ là gì? Ý nghĩa phong thủy, công dụng và cách chăm sóc tại nhà

  Cây lưỡi hổ là gì? Cây lưỡi hổ, tên khoa học là Sansevieria trifasciata, là một loài cây cảnh thuộc họ Măng tây (Asparagaceae), có nguồn gốc từ châu Phi. Cây được nhận diện dễ dàng nhờ vào lá dài, cứng, mọc thẳng đứng như thanh kiếm, thường có vân xanh đậm hoặc viền […]

Hoa cẩm chướng là gì? Ý nghĩa theo màu sắc, dịp tặng và cách chăm sóc bền lâu

Hoa cẩm chướng là gì? Hoa cẩm chướng (tên tiếng Anh: Carnation, danh pháp khoa học: Dianthus caryophyllus) là một trong những loài hoa đẹp và phổ biến trên thế giới. Loài hoa này có nguồn gốc từ khu vực Địa Trung Hải và đã được trồng từ hàng ngàn năm trước, nổi bật với […]

Tỳ Hưu hợp mệnh nào? Cách chọn màu, chất liệu và vị trí đặt để thu hút tài lộc

Vì sao cần chọn Tỳ Hưu theo mệnh? Tỳ Hưu là linh vật phong thủy nổi tiếng với công dụng chiêu tài – trừ tà, nhưng để phát huy tối đa hiệu quả, bạn cần chọn màu sắc, chất liệu và vị trí đặt sao cho hợp mệnh. Việc chọn sai dễ dẫn đến phản […]

Cách xác định hành mệnh theo Ngũ hành Mệnh bạn thuộc Kim, Mộc, Thủy, Hỏa hay Thổ?

Tại sao cần xác định hành mệnh? Việc biết bản thân thuộc hành nào trong Ngũ hành (Kim – Mộc – Thủy – Hỏa – Thổ) giúp bạn: Lựa chọn màu sắc, vật phẩm phong thủy phù hợp. Xác định hướng nhà, hướng bàn làm việc cát lợi. Chọn người hợp mệnh để kết hôn, […]