コード例 #1
0
 public function remove_tmpl_files()
 {
     if (isset($_GET['page']) && 'wolf-theme-import') {
         if ($this->get_data()) {
             //var_dump( $this->tmp_dir );
             wolf_clean_folder($this->tmp_dir);
             $message = __('Done', 'wolf');
             wolf_admin_notice($message, 'updated');
         }
     }
 }
コード例 #2
0
 /**
  * Remove temp files after importation
  */
 public function remove_tmp_files()
 {
     wolf_clean_folder(WOLF_THEME_DIR . '/tmp');
 }
コード例 #3
0
 /**
  * Unzip files in tmp folder, then replace the files
  *
  * @param string $file
  * @return bool
  */
 public function unzip($file)
 {
     $this->theme_dir = WOLF_THEME_DIR;
     $this->tmp_dir = WOLF_THEME_DIR . '/tmp';
     wolf_clean_folder($this->tmp_dir);
     // ensure that the tmp folder is empty
     $file_path = $file['tmp_name'];
     $zip = new ZipArchive();
     $res = $zip->open($file_path);
     if ($res === TRUE) {
         $zip->extractTo($this->tmp_dir);
         $zip->close();
         $this->recurse_copy($this->tmp_dir . '/' . wolf_get_theme_slug(), $this->theme_dir);
         wolf_clean_folder($this->tmp_dir);
         $this->remove_deprecated_files($this->theme_dir);
         return true;
     } else {
         $message = __('An occur occured while trying to update the theme.', 'wolf');
         wolf_admin_notice($message, 'error');
         return false;
     }
 }
コード例 #4
0
 /**
  * Import options from zip file or txt file
  */
 public function import_options()
 {
     if (isset($_POST['wolf-options-import-file-submit'])) {
         if (!empty($_FILES['wolf-options-import-file']['name'])) {
             $txt_file = null;
             $file_content = null;
             $tmp_dir = WOLF_THEME_TMP_DIR;
             $file = $_FILES['wolf-options-import-file'];
             $ext = pathinfo($file['name'], PATHINFO_EXTENSION);
             $folder_name = str_replace('.' . $ext, '', $file['name']);
             if ('zip' != $ext && 'txt' != $ext) {
                 $message = __('Only .txt file or zip file containing a text file are allowed', 'wolf');
                 wolf_admin_notice($message, 'error');
             } else {
                 // Go
                 if ('zip' == $ext) {
                     // unzip file
                     $zip = new ZipArchive();
                     if ($zip->open($file['tmp_name']) === TRUE) {
                         $zip->extractTo($tmp_dir);
                         $zip->close();
                         $tmp_folder = $tmp_dir;
                         if (is_dir($tmp_dir . '/' . $folder_name)) {
                             $tmp_folder = $tmp_dir . '/' . $folder_name;
                         }
                         // get text file
                         foreach (glob($tmp_folder . '/*.txt') as $filename) {
                             $txt_file = $filename;
                             break;
                         }
                         if ($txt_file) {
                             $file_content = file_get_contents($txt_file);
                         } else {
                             $message = __('It seems that your archive is empty or does not contain a txt file', 'wolf');
                             wolf_admin_notice($message, 'error');
                         }
                     } else {
                         $message = __('We could not import the theme options', 'wolf');
                         wolf_admin_notice($message, 'error');
                     }
                 } elseif ('txt' == $ext) {
                     $file_content = file_get_contents($file['tmp_name']);
                 }
                 if ('' != $file_content) {
                     // debug( $file_content );
                     $data = @unserialize(base64_decode($file_content));
                     if ($data && is_array($data)) {
                         update_option('wolf_theme_options_' . wolf_get_theme_slug(), $data);
                         wolf_admin_notice(__('New options imported successfully', 'wolf'), 'updated');
                     } else {
                         wolf_admin_notice(__('The file doesn\'t seem to contain any options.', 'wolf'), 'updated');
                     }
                 } else {
                     $message = __('Looks like your text file is empty', 'wolf');
                     wolf_admin_notice($message, 'error');
                 }
                 // clean tmp folder
                 wolf_clean_folder($tmp_dir);
             }
         } else {
             $message = __('Please Select a file to upload', 'wolf');
             wolf_admin_notice($message, 'error');
         }
         return false;
     }
 }
コード例 #5
0
 /**
  * Remove all files in a folder
  *
  * @param string $dirname
  */
 function wolf_clean_folder($dirname)
 {
     $dir_handle = null;
     $tmp_dir = WOLF_THEME_TMP_DIR;
     if (is_dir($dirname)) {
         $dir_handle = opendir($dirname);
     }
     if (!$dir_handle) {
         return false;
     }
     while ($file = readdir($dir_handle)) {
         if ($file != '.' && $file != '..' && $file != 'empty') {
             if (!is_dir($dirname . '/' . $file)) {
                 unlink($dirname . '/' . $file);
             } else {
                 wolf_clean_folder($dirname . '/' . $file);
             }
         }
     }
     closedir($dir_handle);
     if ($dirname != $tmp_dir && count(glob("{$dirname}/*")) === 0) {
         rmdir($dirname);
     }
     return true;
 }