GRAYBYTE WORDPRESS FILE MANAGER8950

Server IP : 198.54.121.189 / Your IP : 216.73.216.140
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /opt/alt/ruby27/share/ruby/rss/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /opt/alt/ruby27/share/ruby/rss//converter.rb
# frozen_string_literal: false
require_relative "utils"

module RSS

  class Converter

    include Utils

    def initialize(to_enc, from_enc=nil)
      if "".respond_to?(:encode)
        @to_encoding = to_enc
        return
      end
      normalized_to_enc = to_enc.downcase.gsub(/-/, '_')
      from_enc ||= 'utf-8'
      normalized_from_enc = from_enc.downcase.gsub(/-/, '_')
      if normalized_to_enc == normalized_from_enc
        def_same_enc()
      else
        def_diff_enc = "def_to_#{normalized_to_enc}_from_#{normalized_from_enc}"
        if respond_to?(def_diff_enc)
          __send__(def_diff_enc)
        else
          def_else_enc(to_enc, from_enc)
        end
      end
    end

    def convert(value)
      if value.is_a?(String) and value.respond_to?(:encode)
        value.encode(@to_encoding)
      else
        value
      end
    end

    def def_convert(depth=0)
      instance_eval(<<-EOC, *get_file_and_line_from_caller(depth))
      def convert(value)
        if value.kind_of?(String)
          #{yield('value')}
        else
          value
        end
      end
      EOC
    end

    def def_iconv_convert(to_enc, from_enc, depth=0)
      begin
        require "iconv"
        @iconv = Iconv.new(to_enc, from_enc)
        def_convert(depth+1) do |value|
          <<-EOC
          begin
            @iconv.iconv(#{value})
          rescue Iconv::Failure
            raise ConversionError.new(#{value}, "#{to_enc}", "#{from_enc}")
          end
          EOC
        end
      rescue LoadError, ArgumentError, SystemCallError
        raise UnknownConversionMethodError.new(to_enc, from_enc)
      end
    end

    def def_else_enc(to_enc, from_enc)
      def_iconv_convert(to_enc, from_enc, 0)
    end

    def def_same_enc()
      def_convert do |value|
        value
      end
    end

    def def_uconv_convert_if_can(meth, to_enc, from_enc, nkf_arg)
      begin
        require "uconv"
        def_convert(1) do |value|
          <<-EOC
          begin
            Uconv.#{meth}(#{value})
          rescue Uconv::Error
            raise ConversionError.new(#{value}, "#{to_enc}", "#{from_enc}")
          end
          EOC
        end
      rescue LoadError
        require 'nkf'
        if NKF.const_defined?(:UTF8)
          def_convert(1) do |value|
            "NKF.nkf(#{nkf_arg.dump}, #{value})"
          end
        else
          def_iconv_convert(to_enc, from_enc, 1)
        end
      end
    end

    def def_to_euc_jp_from_utf_8
      def_uconv_convert_if_can('u8toeuc', 'EUC-JP', 'UTF-8', '-We')
    end

    def def_to_utf_8_from_euc_jp
      def_uconv_convert_if_can('euctou8', 'UTF-8', 'EUC-JP', '-Ew')
    end

    def def_to_shift_jis_from_utf_8
      def_uconv_convert_if_can('u8tosjis', 'Shift_JIS', 'UTF-8', '-Ws')
    end

    def def_to_utf_8_from_shift_jis
      def_uconv_convert_if_can('sjistou8', 'UTF-8', 'Shift_JIS', '-Sw')
    end

    def def_to_euc_jp_from_shift_jis
      require "nkf"
      def_convert do |value|
        "NKF.nkf('-Se', #{value})"
      end
    end

    def def_to_shift_jis_from_euc_jp
      require "nkf"
      def_convert do |value|
        "NKF.nkf('-Es', #{value})"
      end
    end

    def def_to_euc_jp_from_iso_2022_jp
      require "nkf"
      def_convert do |value|
        "NKF.nkf('-Je', #{value})"
      end
    end

    def def_to_iso_2022_jp_from_euc_jp
      require "nkf"
      def_convert do |value|
        "NKF.nkf('-Ej', #{value})"
      end
    end

    def def_to_utf_8_from_iso_8859_1
      def_convert do |value|
        "#{value}.unpack('C*').pack('U*')"
      end
    end

    def def_to_iso_8859_1_from_utf_8
      def_convert do |value|
        <<-EOC
        array_utf8 = #{value}.unpack('U*')
        array_enc = []
        array_utf8.each do |num|
          if num <= 0xFF
            array_enc << num
          else
            array_enc.concat "&\#\#{num};".unpack('C*')
          end
        end
        array_enc.pack('C*')
        EOC
      end
    end

  end

end

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
March 03 2024 22:47:25
root / linksafe
0755
content
--
March 03 2024 22:47:16
root / linksafe
0755
dublincore
--
March 03 2024 22:47:16
root / linksafe
0755
maker
--
March 03 2024 22:47:16
root / linksafe
0755
0.9.rb
10.615 KB
March 30 2023 12:34:08
root / linksafe
0644
1.0.rb
9.641 KB
March 30 2023 12:34:08
root / linksafe
0644
2.0.rb
3.428 KB
March 30 2023 12:34:08
root / linksafe
0644
atom.rb
28.907 KB
March 30 2023 12:34:08
root / linksafe
0644
content.rb
0.874 KB
March 30 2023 12:34:08
root / linksafe
0644
converter.rb
3.902 KB
March 30 2023 12:34:08
root / linksafe
0644
dublincore.rb
4.313 KB
March 30 2023 12:34:08
root / linksafe
0644
image.rb
4.798 KB
March 30 2023 12:34:08
root / linksafe
0644
itunes.rb
10.482 KB
March 30 2023 12:34:08
root / linksafe
0644
maker.rb
1.845 KB
March 30 2023 12:34:08
root / linksafe
0644
parser.rb
16.188 KB
March 30 2023 12:34:08
root / linksafe
0644
rexmlparser.rb
0.972 KB
March 30 2023 12:34:08
root / linksafe
0644
rss.rb
34.789 KB
March 30 2023 12:34:08
root / linksafe
0644
slash.rb
1.328 KB
March 30 2023 12:34:08
root / linksafe
0644
syndication.rb
1.883 KB
March 30 2023 12:34:08
root / linksafe
0644
taxonomy.rb
3.199 KB
March 30 2023 12:34:08
root / linksafe
0644
trackback.rb
6.716 KB
March 30 2023 12:34:08
root / linksafe
0644
utils.rb
5.134 KB
March 30 2023 12:34:08
root / linksafe
0644
version.rb
0.064 KB
March 30 2023 12:34:08
root / linksafe
0644
xml-stylesheet.rb
2.163 KB
March 30 2023 12:34:08
root / linksafe
0644
xml.rb
1.503 KB
March 30 2023 12:34:08
root / linksafe
0644
xmlparser.rb
1.65 KB
March 30 2023 12:34:08
root / linksafe
0644
xmlscanner.rb
2.134 KB
March 30 2023 12:34:08
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF