web/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.php
branchwordpress
changeset 109 03b0d1493584
child 194 32102edaa81b
equal deleted inserted replaced
-1:000000000000 109:03b0d1493584
       
     1 <?php
       
     2 
       
     3 /*
       
     4 Plugin Name: All in One SEO Pack
       
     5 Plugin URI: http://semperfiwebdesign.com
       
     6 Description: Out-of-the-box SEO for your Wordpress blog. <a href="options-general.php?page=all-in-one-seo-pack/aioseop.class.php">Options configuration panel</a> | <a href="http://wpplugins.com/plugin/50/all-in-one-seo-pack-pro-version">Pro Version</a> | <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8">Donate</a> | <a href="http://semperfiwebdesign.com/forum/" >Support</a> |  <a href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank" title="Amazon Wish List">Amazon Wishlist</a>
       
     7 Version: 1.6.8.2
       
     8 Author: Michael Torbert
       
     9 Author URI: http://michaeltorbert.com
       
    10 */
       
    11 
       
    12 /*
       
    13 Copyright (C) 2008-2009 Michael Torbert, semperfiwebdesign.com (michael AT semperfiwebdesign DOT com)
       
    14 Original code by uberdose of uberdose.com
       
    15 
       
    16 This program is free software; you can redistribute it and/or modify
       
    17 it under the terms of the GNU General Public License as published by
       
    18 the Free Software Foundation; either version 3 of the License, or
       
    19 (at your option) any later version.
       
    20 
       
    21 This program is distributed in the hope that it will be useful,
       
    22 but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    23 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    24 GNU General Public License for more details.
       
    25 
       
    26 You should have received a copy of the GNU General Public License
       
    27 along with this program.  If not, see <http://www.gnu.org/licenses/>.
       
    28 */
       
    29 
       
    30 /*******************************************************************************************************/
       
    31 //register_activation_hook(__FILE__,'aioseop_activate_pl');
       
    32 
       
    33 $UTF8_TABLES['strtolower'] = array(
       
    34 	"Z" => "z",	"Y" => "y",	"X" => "x",
       
    35 	"W" => "w",	"V" => "v",	"U" => "u",
       
    36 	"T" => "t",	"S" => "s",	"R" => "r",
       
    37 	"Q" => "q",	"P" => "p",	"O" => "o",
       
    38 	"N" => "n",	"M" => "m",	"L" => "l",
       
    39 	"K" => "k",	"J" => "j",	"I" => "i",
       
    40 	"H" => "h",	"G" => "g",	"F" => "f",
       
    41 	"E" => "e",	"D" => "d",	"C" => "c",
       
    42 	"B" => "b",	"A" => "a",	"Å" => "å",
       
    43 	"K" => "k",	"Ω" => "ω",	"Ώ" => "ώ",
       
    44 	"Ὼ" => "ὼ",	"Ό" => "ό",	"Ὸ" => "ὸ",
       
    45 	"Ῥ" => "ῥ",	"Ύ" => "ύ",	"Ὺ" => "ὺ",
       
    46 	"Ῡ" => "ῡ",	"Ῠ" => " ",	"Ί" => "ί",
       
    47 	"Ὶ" => "ὶ",	"Ῑ" => "ῑ",	"Ῐ" => "ῐ",
       
    48 	"Ή" => "ή",	"Ὴ" => "ὴ",	"Έ" => "έ",
       
    49 	"Ὲ" => "ὲ",	"Ά" => "ά",	"Ὰ" => "ὰ",
       
    50 	"Ᾱ" => "ᾱ",	"Ᾰ" => "ᾰ",	"Ὧ" => "ὧ",
       
    51 	"Ὦ" => "ὦ",	"Ὥ" => "ὥ",	"Ὤ" => "ὤ",
       
    52 	"Ὣ" => "ὣ",	"Ὢ" => "ὢ",	"Ὡ" => "ὡ",
       
    53 	"Ὠ" => " ",	"Ὗ" => "ὗ",	"Ὕ" => "ὕ",
       
    54 	"Ὓ" => "ὓ",	"Ὑ" => "ὑ",	"Ὅ" => "ὅ",
       
    55 	"Ὄ" => "ὄ",	"Ὃ" => "ὃ",	"Ὂ" => "ὂ",
       
    56 	"Ὁ" => "ὁ",	"Ὀ" => "ὀ",	"Ἷ" => "ἷ",
       
    57 	"Ἶ" => "ἶ",	"Ἵ" => "ἵ",	"Ἴ" => "ἴ",
       
    58 	"Ἳ" => "ἳ",	"Ἲ" => "ἲ",	"Ἱ" => "ἱ",
       
    59 	"Ἰ" => "ἰ",	"Ἧ" => "ἧ",	"Ἦ" => "ἦ",
       
    60 	"Ἥ" => "ἥ",	"Ἤ" => "ἤ",	"Ἣ" => "ἣ",
       
    61 	"Ἢ" => "ἢ",	"Ἡ" => "ἡ",	"Ἠ" => " ",
       
    62 	"Ἕ" => "ἕ",	"Ἔ" => "ἔ",	"Ἓ" => "ἓ",
       
    63 	"Ἒ" => "ἒ",	"Ἑ" => "ἑ",	"Ἐ" => "ἐ",
       
    64 	"Ἇ" => "ἇ",	"Ἆ" => "ἆ",	"Ἅ" => "ἅ",
       
    65 	"Ἄ" => "ἄ",	"Ἃ" => "ἃ",	"Ἂ" => "ἂ",
       
    66 	"Ἁ" => "ἁ",	"Ἀ" => "ἀ",	"Ỹ" => "ỹ",
       
    67 	"Ỷ" => "ỷ",	"Ỵ" => "ỵ",	"Ỳ" => "ỳ",
       
    68 	"Ự" => "ự",	"Ữ" => "ữ",	"Ử" => "ử",
       
    69 	"Ừ" => "ừ",	"Ứ" => "ứ",	"Ủ" => "ủ",
       
    70 	"Ụ" => "ụ",	"Ợ" => "ợ",	" " => "ỡ",
       
    71 	"Ở" => "ở",	"Ờ" => "ờ",	"Ớ" => "ớ",
       
    72 	"Ộ" => "ộ",	"Ỗ" => "ỗ",	"Ổ" => "ổ",
       
    73 	"Ồ" => "ồ",	"Ố" => "ố",	"Ỏ" => "ỏ",
       
    74 	"Ọ" => "ọ",	"Ị" => "ị",	"Ỉ" => "ỉ",
       
    75 	"Ệ" => "ệ",	"Ễ" => "ễ",	"Ể" => "ể",
       
    76 	"Ề" => "ề",	"Ế" => "ế",	"Ẽ" => "ẽ",
       
    77 	"Ẻ" => "ẻ",	"Ẹ" => "ẹ",	"Ặ" => "ặ",
       
    78 	"Ẵ" => "ẵ",	"Ẳ" => "ẳ",	"Ằ" => "ằ",
       
    79 	"Ắ" => "ắ",	"Ậ" => "ậ",	"Ẫ" => "ẫ",
       
    80 	"Ẩ" => "ẩ",	"Ầ" => "ầ",	"Ấ" => "ấ",
       
    81 	"Ả" => "ả",	" " => "ạ",	"Ẕ" => "ẕ",
       
    82 	"Ẓ" => "ẓ",	"Ẑ" => "ẑ",	"Ẏ" => "ẏ",
       
    83 	"Ẍ" => "ẍ",	"Ẋ" => "ẋ",	"Ẉ" => "ẉ",
       
    84 	"Ẇ" => "ẇ",	"Ẅ" => "ẅ",	"Ẃ" => "ẃ",
       
    85 	"Ẁ" => "ẁ",	"Ṿ" => "ṿ",	"Ṽ" => "ṽ",
       
    86 	"Ṻ" => "ṻ",	"Ṹ" => "ṹ",	"Ṷ" => "ṷ",
       
    87 	"Ṵ" => "ṵ",	"Ṳ" => "ṳ",	"Ṱ" => "ṱ",
       
    88 	"Ṯ" => "ṯ",	"Ṭ" => "ṭ",	"Ṫ" => "ṫ",
       
    89 	"Ṩ" => "ṩ",	"Ṧ" => "ṧ",	"Ṥ" => "ṥ",
       
    90 	"Ṣ" => "ṣ",	" " => "ṡ",	"Ṟ" => "ṟ",
       
    91 	"Ṝ" => "ṝ",	"Ṛ" => "ṛ",	"Ṙ" => "ṙ",
       
    92 	"Ṗ" => "ṗ",	"Ṕ" => "ṕ",	"Ṓ" => "ṓ",
       
    93 	"Ṑ" => "ṑ",	"Ṏ" => "ṏ",	"Ṍ" => "ṍ",
       
    94 	"Ṋ" => "ṋ",	"Ṉ" => "ṉ",	"Ṇ" => "ṇ",
       
    95 	"Ṅ" => "ṅ",	"Ṃ" => "ṃ",	"Ṁ" => "ṁ",
       
    96 	"Ḿ" => "ḿ",	"Ḽ" => "ḽ",	"Ḻ" => "ḻ",
       
    97 	"Ḹ" => "ḹ",	"Ḷ" => "ḷ",	"Ḵ" => "ḵ",
       
    98 	"Ḳ" => "ḳ",	"Ḱ" => "ḱ",	"Ḯ" => "ḯ",
       
    99 	"Ḭ" => "ḭ",	"Ḫ" => "ḫ",	"Ḩ" => "ḩ",
       
   100 	"Ḧ" => "ḧ",	"Ḥ" => "ḥ",	"Ḣ" => "ḣ",
       
   101 	" " => "ḡ",	"Ḟ" => "ḟ",	"Ḝ" => "ḝ",
       
   102 	"Ḛ" => "ḛ",	"Ḙ" => "ḙ",	"Ḗ" => "ḗ",
       
   103 	"Ḕ" => "ḕ",	"Ḓ" => "ḓ",	"Ḑ" => "ḑ",
       
   104 	"Ḏ" => "ḏ",	"Ḍ" => "ḍ",	"Ḋ" => "ḋ",
       
   105 	"Ḉ" => "ḉ",	"Ḇ" => "ḇ",	"Ḅ" => "ḅ",
       
   106 	"Ḃ" => "ḃ",	"Ḁ" => "ḁ",	"Ֆ" => "ֆ",
       
   107 	"Օ" => "օ",	"Ք" => "ք",	"Փ" => "փ",
       
   108 	"Ւ" => "ւ",	"Ց" => "ց",	"Ր" => "ր",
       
   109 	"Տ" => "տ",	"Վ" => "վ",	"Ս" => "ս",
       
   110 	"Ռ" => "ռ",	"Ջ" => "ջ",	"Պ" => "պ",
       
   111 	"Չ" => "չ",	"Ո" => "ո",	"Շ" => "շ",
       
   112 	"Ն" => "ն",	"Յ" => "յ",	"Մ" => "մ",
       
   113 	"Ճ" => "ճ",	"Ղ" => "ղ",	"Ձ" => "ձ",
       
   114 	"Հ" => "հ",	"Կ" => "կ",	"Ծ" => "ծ",
       
   115 	"Խ" => "խ",	"Լ" => "լ",	"Ի" => "ի",
       
   116 	"Ժ" => "ժ",	"Թ" => "թ",	"Ը" => "ը",
       
   117 	"Է" => "է",	"Զ" => "զ",	"Ե" => "ե",
       
   118 	"Դ" => "դ",	"Գ" => "գ",	"Բ" => "բ",
       
   119 	"Ա" => "ա",	"Ԏ" => "ԏ",	"Ԍ" => "ԍ",
       
   120 	"Ԋ" => "ԋ",	"Ԉ" => "ԉ",	"Ԇ" => "ԇ",
       
   121 	"Ԅ" => "ԅ",	"Ԃ" => "ԃ",	"Ԁ" => "ԁ",
       
   122 	"Ӹ" => "ӹ",	"Ӵ" => "ӵ",	"Ӳ" => "ӳ",
       
   123 	"Ӱ" => "ӱ",	"Ӯ" => "ӯ",	"Ӭ" => "ӭ",
       
   124 	"Ӫ" => "ӫ",	"Ө" => "ө",	"Ӧ" => "ӧ",
       
   125 	"Ӥ" => "ӥ",	"Ӣ" => "ӣ",	" " => "ӡ",
       
   126 	"Ӟ" => "ӟ",	"Ӝ" => "ӝ",	"Ӛ" => "ӛ",
       
   127 	"Ә" => "ә",	"Ӗ" => "ӗ",	"Ӕ" => "ӕ",
       
   128 	"Ӓ" => "ӓ",	"Ӑ" => "ӑ",	"Ӎ" => "ӎ",
       
   129 	"Ӌ" => "ӌ",	"Ӊ" => "ӊ",	"Ӈ" => "ӈ",
       
   130 	"Ӆ" => "ӆ",	"Ӄ" => "ӄ",	"Ӂ" => "ӂ",
       
   131 	"Ҿ" => "ҿ",	"Ҽ" => "ҽ",	"Һ" => "һ",
       
   132 	"Ҹ" => "ҹ",	"Ҷ" => "ҷ",	"Ҵ" => "ҵ",
       
   133 	"Ҳ" => "ҳ",	"Ұ" => "ұ",	"Ү" => "ү",
       
   134 	"Ҭ" => "ҭ",	"Ҫ" => "ҫ",	"Ҩ" => "ҩ",
       
   135 	"Ҧ" => "ҧ",	"Ҥ" => "ҥ",	"Ң" => "ң",
       
   136 	" " => "ҡ",	"Ҟ" => "ҟ",	"Ҝ" => "ҝ",
       
   137 	"Қ" => "қ",	"Ҙ" => "ҙ",	"Җ" => "җ",
       
   138 	"Ҕ" => "ҕ",	"Ғ" => "ғ",	"Ґ" => "ґ",
       
   139 	"Ҏ" => "ҏ",	"Ҍ" => "ҍ",	"Ҋ" => "ҋ",
       
   140 	"Ҁ" => "ҁ",	"Ѿ" => "ѿ",	"Ѽ" => "ѽ",
       
   141 	"Ѻ" => "ѻ",	"Ѹ" => "ѹ",	"Ѷ" => "ѷ",
       
   142 	"Ѵ" => "ѵ",	"Ѳ" => "ѳ",	"Ѱ" => "ѱ",
       
   143 	"Ѯ" => "ѯ",	"Ѭ" => "ѭ",	"Ѫ" => "ѫ",
       
   144 	"Ѩ" => "ѩ",	"Ѧ" => "ѧ",	"Ѥ" => "ѥ",
       
   145 	"Ѣ" => "ѣ",	" " => "ѡ",	"Я" => "я",
       
   146 	"Ю" => "ю",	"Э" => "э",	"Ь" => "ь",
       
   147 	"Ы" => "ы",	"Ъ" => "ъ",	"Щ" => "щ",
       
   148 	"Ш" => "ш",	"Ч" => "ч",	"Ц" => "ц",
       
   149 	"Х" => "х",	"Ф" => "ф",	"У" => "у",
       
   150 	"Т" => "т",	"С" => "с",	" " => "р",
       
   151 	"П" => "п",	"О" => "о",	"Н" => "н",
       
   152 	"М" => "м",	"Л" => "л",	"К" => "к",
       
   153 	"Й" => "й",	"И" => "и",	"З" => "з",
       
   154 	"Ж" => "ж",	"Е" => "е",	"Д" => "д",
       
   155 	"Г" => "г",	"В" => "в",	"Б" => "б",
       
   156 	"А" => "а",	"Џ" => "џ",	"Ў" => "ў",
       
   157 	"Ѝ" => "ѝ",	"Ќ" => "ќ",	"Ћ" => "ћ",
       
   158 	"Њ" => "њ",	"Љ" => "љ",	"Ј" => "ј",
       
   159 	"Ї" => "ї",	"І" => "і",	"Ѕ" => "ѕ",
       
   160 	"Є" => "є",	"Ѓ" => "ѓ",	"Ђ" => "ђ",
       
   161 	"Ё" => "ё",	"Ѐ" => "ѐ",	"ϴ" => "θ",
       
   162 	"Ϯ" => "ϯ",	"Ϭ" => "ϭ",	"Ϫ" => "ϫ",
       
   163 	"Ϩ" => "ϩ",	"Ϧ" => "ϧ",	"Ϥ" => "ϥ",
       
   164 	"Ϣ" => "ϣ",	" " => "ϡ",	"Ϟ" => "ϟ",
       
   165 	"Ϝ" => "ϝ",	"Ϛ" => "ϛ",	"Ϙ" => "ϙ",
       
   166 	"Ϋ" => "ϋ",	"Ϊ" => "ϊ",	"Ω" => "ω",
       
   167 	"Ψ" => "ψ",	"Χ" => "χ",	"Φ" => "φ",
       
   168 	"Υ" => "υ",	"Τ" => "τ",	"Σ" => "σ",
       
   169 	"Ρ" => "ρ",	" " => "π",	"Ο" => "ο",
       
   170 	"Ξ" => "ξ",	"Ν" => "ν",	"Μ" => "μ",
       
   171 	"Λ" => "λ",	"Κ" => "κ",	"Ι" => "ι",
       
   172 	"Θ" => "θ",	"Η" => "η",	"Ζ" => "ζ",
       
   173 	"Ε" => "ε",	"Δ" => "δ",	"Γ" => "γ",
       
   174 	"Β" => "β",	"Α" => "α",	"Ώ" => "ώ",
       
   175 	"Ύ" => "ύ",	"Ό" => "ό",	"Ί" => "ί",
       
   176 	"Ή" => "ή",	"Έ" => "έ",	"Ά" => "ά",
       
   177 	"Ȳ" => "ȳ",	"Ȱ" => "ȱ",	"Ȯ" => "ȯ",
       
   178 	"Ȭ" => "ȭ",	"Ȫ" => "ȫ",	"Ȩ" => "ȩ",
       
   179 	"Ȧ" => "ȧ",	"Ȥ" => "ȥ",	"Ȣ" => "ȣ",
       
   180 	" " => "ƞ",	"Ȟ" => "ȟ",	"Ȝ" => "ȝ",
       
   181 	"Ț" => "ț",	"Ș" => "ș",	"Ȗ" => "ȗ",
       
   182 	"Ȕ" => "ȕ",	"Ȓ" => "ȓ",	"Ȑ" => "ȑ",
       
   183 	"Ȏ" => "ȏ",	"Ȍ" => "ȍ",	"Ȋ" => "ȋ",
       
   184 	"Ȉ" => "ȉ",	"Ȇ" => "ȇ",	"Ȅ" => "ȅ",
       
   185 	"Ȃ" => "ȃ",	"Ȁ" => "ȁ",	"Ǿ" => "ǿ",
       
   186 	"Ǽ" => "ǽ",	"Ǻ" => "ǻ",	"Ǹ" => "ǹ",
       
   187 	"Ƿ" => "ƿ",	"Ƕ" => "ƕ",	"Ǵ" => "ǵ",
       
   188 	"DZ" => "dz",	"Ǯ" => "ǯ",	"Ǭ" => "ǭ",
       
   189 	"Ǫ" => "ǫ",	"Ǩ" => "ǩ",	"Ǧ" => "ǧ",
       
   190 	"Ǥ" => "ǥ",	"Ǣ" => "ǣ",	" " => "ǡ",
       
   191 	"Ǟ" => "ǟ",	"Ǜ" => "ǜ",	"Ǚ" => "ǚ",
       
   192 	"Ǘ" => "ǘ",	"Ǖ" => "ǖ",	"Ǔ" => "ǔ",
       
   193 	"Ǒ" => "ǒ",	"Ǐ" => "ǐ",	"Ǎ" => "ǎ",
       
   194 	"NJ" => "nj",	"LJ" => "lj",	"DŽ" => "dž",
       
   195 	"Ƽ" => "ƽ",	"Ƹ" => "ƹ",	"Ʒ" => "ʒ",
       
   196 	"Ƶ" => "ƶ",	"Ƴ" => "ƴ",	"Ʋ" => "ʋ",
       
   197 	"Ʊ" => "ʊ",	"Ư" => "ư",	"Ʈ" => "ʈ",
       
   198 	"Ƭ" => "ƭ",	"Ʃ" => "ʃ",	"Ƨ" => "ƨ",
       
   199 	"Ʀ" => "ʀ",	"Ƥ" => "ƥ",	"Ƣ" => "ƣ",
       
   200 	" " => "ơ",	"Ɵ" => "ɵ",	"Ɲ" => "ɲ",
       
   201 	"Ɯ" => "ɯ",	"Ƙ" => "ƙ",	"Ɨ" => "ɨ",
       
   202 	"Ɩ" => "ɩ",	"Ɣ" => "ɣ",	"Ɠ" => " ",
       
   203 	"Ƒ" => "ƒ",	"Ɛ" => "ɛ",	"Ə" => "ə",
       
   204 	"Ǝ" => "ǝ",	"Ƌ" => "ƌ",	"Ɗ" => "ɗ",
       
   205 	"Ɖ" => "ɖ",	"Ƈ" => "ƈ",	"Ɔ" => "ɔ",
       
   206 	"Ƅ" => "ƅ",	"Ƃ" => "ƃ",	"Ɓ" => "ɓ",
       
   207 	"Ž" => "ž",	"Ż" => "ż",	"Ź" => "ź",
       
   208 	"Ÿ" => "ÿ",	"Ŷ" => "ŷ",	"Ŵ" => "ŵ",
       
   209 	"Ų" => "ų",	"Ű" => "ű",	"Ů" => "ů",
       
   210 	"Ŭ" => "ŭ",	"Ū" => "ū",	"Ũ" => "ũ",
       
   211 	"Ŧ" => "ŧ",	"Ť" => "ť",	"Ţ" => "ţ",
       
   212 	" " => "š",	"Ş" => "ş",	"Ŝ" => "ŝ",
       
   213 	"Ś" => "ś",	"Ř" => "ř",	"Ŗ" => "ŗ",
       
   214 	"Ŕ" => "ŕ",	"Œ" => "œ",	"Ő" => "ő",
       
   215 	"Ŏ" => "ŏ",	"Ō" => "ō",	"Ŋ" => "ŋ",
       
   216 	"Ň" => "ň",	"Ņ" => "ņ",	"Ń" => "ń",
       
   217 	"Ł" => "ł",	"Ŀ" => "ŀ",	"Ľ" => "ľ",
       
   218 	"Ļ" => "ļ",	"Ĺ" => "ĺ",	"Ķ" => "ķ",
       
   219 	"Ĵ" => "ĵ",	"IJ" => "ij",	"İ" => "i",
       
   220 	"Į" => "į",	"Ĭ" => "ĭ",	"Ī" => "ī",
       
   221 	"Ĩ" => "ĩ",	"Ħ" => "ħ",	"Ĥ" => "ĥ",
       
   222 	"Ģ" => "ģ",	" " => "ġ",	"Ğ" => "ğ",
       
   223 	"Ĝ" => "ĝ",	"Ě" => "ě",	"Ę" => "ę",
       
   224 	"Ė" => "ė",	"Ĕ" => "ĕ",	"Ē" => "ē",
       
   225 	"Đ" => "đ",	"Ď" => "ď",	"Č" => "č",
       
   226 	"Ċ" => "ċ",	"Ĉ" => "ĉ",	"Ć" => "ć",
       
   227 	"Ą" => "ą",	"Ă" => "ă",	"Ā" => "ā",
       
   228 	"Þ" => "þ",	"Ý" => "ý",	"Ü" => "ü",
       
   229 	"Û" => "û",	"Ú" => "ú",	"Ù" => "ù",
       
   230 	"Ø" => "ø",	"Ö" => "ö",	"Õ" => "õ",
       
   231 	"Ô" => "ô",	"Ó" => "ó",	"Ò" => "ò",
       
   232 	"Ñ" => "ñ",	"Ð" => "ð",	"Ï" => "ï",
       
   233 	"Î" => "î",	"Í" => "í",	"Ì" => "ì",
       
   234 	"Ë" => "ë",	"Ê" => "ê",	"É" => "é",
       
   235 	"È" => "è",	"Ç" => "ç",	"Æ" => "æ",
       
   236 	"Å" => "å",	"Ä" => "ä",	"Ã" => "ã",
       
   237 	"Â" => "â",	"Á" => "á",	"À" => " ",
       
   238 	"Z" => "z",		"Y" => "y",		"X" => "x",
       
   239 	"W" => "w",		"V" => "v",		"U" => "u",
       
   240 	"T" => "t",		"S" => "s",		"R" => "r",
       
   241 	"Q" => "q",		"P" => "p",		"O" => "o",
       
   242 	"N" => "n",		"M" => "m",		"L" => "l",
       
   243 	"K" => "k",		"J" => "j",		"I" => "i",
       
   244 	"H" => "h",		"G" => "g",		"F" => "f",
       
   245 	"E" => "e",		"D" => "d",		"C" => "c",
       
   246 	"B" => "b",		"A" => "a",
       
   247 );
       
   248 
       
   249 
       
   250 $UTF8_TABLES['strtoupper'] = array(
       
   251 	"z" => "Z",	"y" => "Y",	"x" => "X",
       
   252 	"w" => "W",	"v" => "V",	"u" => "U",
       
   253 	"t" => "T",	"s" => "S",	"r" => "R",
       
   254 	"q" => "Q",	"p" => "P",	"o" => "O",
       
   255 	"n" => "N",	"m" => "M",	"l" => "L",
       
   256 	"k" => "K",	"j" => "J",	"i" => "I",
       
   257 	"h" => "H",	"g" => "G",	"f" => "F",
       
   258 	"e" => "E",	"d" => "D",	"c" => "C",
       
   259 	"b" => "B",	"a" => "A",	"ῳ" => "ῼ",
       
   260 	"ῥ" => "Ῥ",	"ῡ" => "Ῡ",	" " => "Ῠ",
       
   261 	"ῑ" => "Ῑ",	"ῐ" => "Ῐ",	"ῃ" => "ῌ",
       
   262 	"ι" => "Ι",	"ᾳ" => "ᾼ",	"ᾱ" => "Ᾱ",
       
   263 	"ᾰ" => "Ᾰ",	"ᾧ" => "ᾯ",	"ᾦ" => "ᾮ",
       
   264 	"ᾥ" => "ᾭ",	"ᾤ" => "ᾬ",	"ᾣ" => "ᾫ",
       
   265 	"ᾢ" => "ᾪ",	"ᾡ" => "ᾩ",	" " => "ᾨ",
       
   266 	"ᾗ" => "ᾟ",	"ᾖ" => "ᾞ",	"ᾕ" => "ᾝ",
       
   267 	"ᾔ" => "ᾜ",	"ᾓ" => "ᾛ",	"ᾒ" => "ᾚ",
       
   268 	"ᾑ" => "ᾙ",	"ᾐ" => "ᾘ",	"ᾇ" => "ᾏ",
       
   269 	"ᾆ" => "ᾎ",	"ᾅ" => "ᾍ",	"ᾄ" => "ᾌ",
       
   270 	"ᾃ" => "ᾋ",	"ᾂ" => "ᾊ",	"ᾁ" => "ᾉ",
       
   271 	"ᾀ" => "ᾈ",	"ώ" => "Ώ",	"ὼ" => "Ὼ",
       
   272 	"ύ" => "Ύ",	"ὺ" => "Ὺ",	"ό" => "Ό",
       
   273 	"ὸ" => "Ὸ",	"ί" => "Ί",	"ὶ" => "Ὶ",
       
   274 	"ή" => "Ή",	"ὴ" => "Ὴ",	"έ" => "Έ",
       
   275 	"ὲ" => "Ὲ",	"ά" => "Ά",	"ὰ" => "Ὰ",
       
   276 	"ὧ" => "Ὧ",	"ὦ" => "Ὦ",	"ὥ" => "Ὥ",
       
   277 	"ὤ" => "Ὤ",	"ὣ" => "Ὣ",	"ὢ" => "Ὢ",
       
   278 	"ὡ" => "Ὡ",	" " => "Ὠ",	"ὗ" => "Ὗ",
       
   279 	"ὕ" => "Ὕ",	"ὓ" => "Ὓ",	"ὑ" => "Ὑ",
       
   280 	"ὅ" => "Ὅ",	"ὄ" => "Ὄ",	"ὃ" => "Ὃ",
       
   281 	"ὂ" => "Ὂ",	"ὁ" => "Ὁ",	"ὀ" => "Ὀ",
       
   282 	"ἷ" => "Ἷ",	"ἶ" => "Ἶ",	"ἵ" => "Ἵ",
       
   283 	"ἴ" => "Ἴ",	"ἳ" => "Ἳ",	"ἲ" => "Ἲ",
       
   284 	"ἱ" => "Ἱ",	"ἰ" => "Ἰ",	"ἧ" => "Ἧ",
       
   285 	"ἦ" => "Ἦ",	"ἥ" => "Ἥ",	"ἤ" => "Ἤ",
       
   286 	"ἣ" => "Ἣ",	"ἢ" => "Ἢ",	"ἡ" => "Ἡ",
       
   287 	" " => "Ἠ",	"ἕ" => "Ἕ",	"ἔ" => "Ἔ",
       
   288 	"ἓ" => "Ἓ",	"ἒ" => "Ἒ",	"ἑ" => "Ἑ",
       
   289 	"ἐ" => "Ἐ",	"ἇ" => "Ἇ",	"ἆ" => "Ἆ",
       
   290 	"ἅ" => "Ἅ",	"ἄ" => "Ἄ",	"ἃ" => "Ἃ",
       
   291 	"ἂ" => "Ἂ",	"ἁ" => "Ἁ",	"ἀ" => "Ἀ",
       
   292 	"ỹ" => "Ỹ",	"ỷ" => "Ỷ",	"ỵ" => "Ỵ",
       
   293 	"ỳ" => "Ỳ",	"ự" => "Ự",	"ữ" => "Ữ",
       
   294 	"ử" => "Ử",	"ừ" => "Ừ",	"ứ" => "Ứ",
       
   295 	"ủ" => "Ủ",	"ụ" => "Ụ",	"ợ" => "Ợ",
       
   296 	"ỡ" => " ",	"ở" => "Ở",	"ờ" => "Ờ",
       
   297 	"ớ" => "Ớ",	"ộ" => "Ộ",	"ỗ" => "Ỗ",
       
   298 	"ổ" => "Ổ",	"ồ" => "Ồ",	"ố" => "Ố",
       
   299 	"ỏ" => "Ỏ",	"ọ" => "Ọ",	"ị" => "Ị",
       
   300 	"ỉ" => "Ỉ",	"ệ" => "Ệ",	"ễ" => "Ễ",
       
   301 	"ể" => "Ể",	"ề" => "Ề",	"ế" => "Ế",
       
   302 	"ẽ" => "Ẽ",	"ẻ" => "Ẻ",	"ẹ" => "Ẹ",
       
   303 	"ặ" => "Ặ",	"ẵ" => "Ẵ",	"ẳ" => "Ẳ",
       
   304 	"ằ" => "Ằ",	"ắ" => "Ắ",	"ậ" => "Ậ",
       
   305 	"ẫ" => "Ẫ",	"ẩ" => "Ẩ",	"ầ" => "Ầ",
       
   306 	"ấ" => "Ấ",	"ả" => "Ả",	"ạ" => " ",
       
   307 	"ẛ" => " ",	"ẕ" => "Ẕ",	"ẓ" => "Ẓ",
       
   308 	"ẑ" => "Ẑ",	"ẏ" => "Ẏ",	"ẍ" => "Ẍ",
       
   309 	"ẋ" => "Ẋ",	"ẉ" => "Ẉ",	"ẇ" => "Ẇ",
       
   310 	"ẅ" => "Ẅ",	"ẃ" => "Ẃ",	"ẁ" => "Ẁ",
       
   311 	"ṿ" => "Ṿ",	"ṽ" => "Ṽ",	"ṻ" => "Ṻ",
       
   312 	"ṹ" => "Ṹ",	"ṷ" => "Ṷ",	"ṵ" => "Ṵ",
       
   313 	"ṳ" => "Ṳ",	"ṱ" => "Ṱ",	"ṯ" => "Ṯ",
       
   314 	"ṭ" => "Ṭ",	"ṫ" => "Ṫ",	"ṩ" => "Ṩ",
       
   315 	"ṧ" => "Ṧ",	"ṥ" => "Ṥ",	"ṣ" => "Ṣ",
       
   316 	"ṡ" => " ",	"ṟ" => "Ṟ",	"ṝ" => "Ṝ",
       
   317 	"ṛ" => "Ṛ",	"ṙ" => "Ṙ",	"ṗ" => "Ṗ",
       
   318 	"ṕ" => "Ṕ",	"ṓ" => "Ṓ",	"ṑ" => "Ṑ",
       
   319 	"ṏ" => "Ṏ",	"ṍ" => "Ṍ",	"ṋ" => "Ṋ",
       
   320 	"ṉ" => "Ṉ",	"ṇ" => "Ṇ",	"ṅ" => "Ṅ",
       
   321 	"ṃ" => "Ṃ",	"ṁ" => "Ṁ",	"ḿ" => "Ḿ",
       
   322 	"ḽ" => "Ḽ",	"ḻ" => "Ḻ",	"ḹ" => "Ḹ",
       
   323 	"ḷ" => "Ḷ",	"ḵ" => "Ḵ",	"ḳ" => "Ḳ",
       
   324 	"ḱ" => "Ḱ",	"ḯ" => "Ḯ",	"ḭ" => "Ḭ",
       
   325 	"ḫ" => "Ḫ",	"ḩ" => "Ḩ",	"ḧ" => "Ḧ",
       
   326 	"ḥ" => "Ḥ",	"ḣ" => "Ḣ",	"ḡ" => " ",
       
   327 	"ḟ" => "Ḟ",	"ḝ" => "Ḝ",	"ḛ" => "Ḛ",
       
   328 	"ḙ" => "Ḙ",	"ḗ" => "Ḗ",	"ḕ" => "Ḕ",
       
   329 	"ḓ" => "Ḓ",	"ḑ" => "Ḑ",	"ḏ" => "Ḏ",
       
   330 	"ḍ" => "Ḍ",	"ḋ" => "Ḋ",	"ḉ" => "Ḉ",
       
   331 	"ḇ" => "Ḇ",	"ḅ" => "Ḅ",	"ḃ" => "Ḃ",
       
   332 	"ḁ" => "Ḁ",	"ֆ" => "Ֆ",	"օ" => "Օ",
       
   333 	"ք" => "Ք",	"փ" => "Փ",	"ւ" => "Ւ",
       
   334 	"ց" => "Ց",	"ր" => "Ր",	"տ" => "Տ",
       
   335 	"վ" => "Վ",	"ս" => "Ս",	"ռ" => "Ռ",
       
   336 	"ջ" => "Ջ",	"պ" => "Պ",	"չ" => "Չ",
       
   337 	"ո" => "Ո",	"շ" => "Շ",	"ն" => "Ն",
       
   338 	"յ" => "Յ",	"մ" => "Մ",	"ճ" => "Ճ",
       
   339 	"ղ" => "Ղ",	"ձ" => "Ձ",	"հ" => "Հ",
       
   340 	"կ" => "Կ",	"ծ" => "Ծ",	"խ" => "Խ",
       
   341 	"լ" => "Լ",	"ի" => "Ի",	"ժ" => "Ժ",
       
   342 	"թ" => "Թ",	"ը" => "Ը",	"է" => "Է",
       
   343 	"զ" => "Զ",	"ե" => "Ե",	"դ" => "Դ",
       
   344 	"գ" => "Գ",	"բ" => "Բ",	"ա" => "Ա",
       
   345 	"ԏ" => "Ԏ",	"ԍ" => "Ԍ",	"ԋ" => "Ԋ",
       
   346 	"ԉ" => "Ԉ",	"ԇ" => "Ԇ",	"ԅ" => "Ԅ",
       
   347 	"ԃ" => "Ԃ",	"ԁ" => "Ԁ",	"ӹ" => "Ӹ",
       
   348 	"ӵ" => "Ӵ",	"ӳ" => "Ӳ",	"ӱ" => "Ӱ",
       
   349 	"ӯ" => "Ӯ",	"ӭ" => "Ӭ",	"ӫ" => "Ӫ",
       
   350 	"ө" => "Ө",	"ӧ" => "Ӧ",	"ӥ" => "Ӥ",
       
   351 	"ӣ" => "Ӣ",	"ӡ" => " ",	"ӟ" => "Ӟ",
       
   352 	"ӝ" => "Ӝ",	"ӛ" => "Ӛ",	"ә" => "Ә",
       
   353 	"ӗ" => "Ӗ",	"ӕ" => "Ӕ",	"ӓ" => "Ӓ",
       
   354 	"ӑ" => "Ӑ",	"ӎ" => "Ӎ",	"ӌ" => "Ӌ",
       
   355 	"ӊ" => "Ӊ",	"ӈ" => "Ӈ",	"ӆ" => "Ӆ",
       
   356 	"ӄ" => "Ӄ",	"ӂ" => "Ӂ",	"ҿ" => "Ҿ",
       
   357 	"ҽ" => "Ҽ",	"һ" => "Һ",	"ҹ" => "Ҹ",
       
   358 	"ҷ" => "Ҷ",	"ҵ" => "Ҵ",	"ҳ" => "Ҳ",
       
   359 	"ұ" => "Ұ",	"ү" => "Ү",	"ҭ" => "Ҭ",
       
   360 	"ҫ" => "Ҫ",	"ҩ" => "Ҩ",	"ҧ" => "Ҧ",
       
   361 	"ҥ" => "Ҥ",	"ң" => "Ң",	"ҡ" => " ",
       
   362 	"ҟ" => "Ҟ",	"ҝ" => "Ҝ",	"қ" => "Қ",
       
   363 	"ҙ" => "Ҙ",	"җ" => "Җ",	"ҕ" => "Ҕ",
       
   364 	"ғ" => "Ғ",	"ґ" => "Ґ",	"ҏ" => "Ҏ",
       
   365 	"ҍ" => "Ҍ",	"ҋ" => "Ҋ",	"ҁ" => "Ҁ",
       
   366 	"ѿ" => "Ѿ",	"ѽ" => "Ѽ",	"ѻ" => "Ѻ",
       
   367 	"ѹ" => "Ѹ",	"ѷ" => "Ѷ",	"ѵ" => "Ѵ",
       
   368 	"ѳ" => "Ѳ",	"ѱ" => "Ѱ",	"ѯ" => "Ѯ",
       
   369 	"ѭ" => "Ѭ",	"ѫ" => "Ѫ",	"ѩ" => "Ѩ",
       
   370 	"ѧ" => "Ѧ",	"ѥ" => "Ѥ",	"ѣ" => "Ѣ",
       
   371 	"ѡ" => " ",	"џ" => "Џ",	"ў" => "Ў",
       
   372 	"ѝ" => "Ѝ",	"ќ" => "Ќ",	"ћ" => "Ћ",
       
   373 	"њ" => "Њ",	"љ" => "Љ",	"ј" => "Ј",
       
   374 	"ї" => "Ї",	"і" => "І",	"ѕ" => "Ѕ",
       
   375 	"є" => "Є",	"ѓ" => "Ѓ",	"ђ" => "Ђ",
       
   376 	"ё" => "Ё",	"ѐ" => "Ѐ",	"я" => "Я",
       
   377 	"ю" => "Ю",	"э" => "Э",	"ь" => "Ь",
       
   378 	"ы" => "Ы",	"ъ" => "Ъ",	"щ" => "Щ",
       
   379 	"ш" => "Ш",	"ч" => "Ч",	"ц" => "Ц",
       
   380 	"х" => "Х",	"ф" => "Ф",	"у" => "У",
       
   381 	"т" => "Т",	"с" => "С",	"р" => " ",
       
   382 	"п" => "П",	"о" => "О",	"н" => "Н",
       
   383 	"м" => "М",	"л" => "Л",	"к" => "К",
       
   384 	"й" => "Й",	"и" => "И",	"з" => "З",
       
   385 	"ж" => "Ж",	"е" => "Е",	"д" => "Д",
       
   386 	"г" => "Г",	"в" => "В",	"б" => "Б",
       
   387 	"а" => "А",	"ϵ" => "Ε",	"ϲ" => "Σ",
       
   388 	"ϱ" => "Ρ",	"ϰ" => "Κ",	"ϯ" => "Ϯ",
       
   389 	"ϭ" => "Ϭ",	"ϫ" => "Ϫ",	"ϩ" => "Ϩ",
       
   390 	"ϧ" => "Ϧ",	"ϥ" => "Ϥ",	"ϣ" => "Ϣ",
       
   391 	"ϡ" => " ",	"ϟ" => "Ϟ",	"ϝ" => "Ϝ",
       
   392 	"ϛ" => "Ϛ",	"ϙ" => "Ϙ",	"ϖ" => " ",
       
   393 	"ϕ" => "Φ",	"ϑ" => "Θ",	"ϐ" => "Β",
       
   394 	"ώ" => "Ώ",	"ύ" => "Ύ",	"ό" => "Ό",
       
   395 	"ϋ" => "Ϋ",	"ϊ" => "Ϊ",	"ω" => "Ω",
       
   396 	"ψ" => "Ψ",	"χ" => "Χ",	"φ" => "Φ",
       
   397 	"υ" => "Υ",	"τ" => "Τ",	"σ" => "Σ",
       
   398 	"ς" => "Σ",	"ρ" => "Ρ",	"π" => " ",
       
   399 	"ο" => "Ο",	"ξ" => "Ξ",	"ν" => "Ν",
       
   400 	"μ" => "Μ",	"λ" => "Λ",	"κ" => "Κ",
       
   401 	"ι" => "Ι",	"θ" => "Θ",	"η" => "Η",
       
   402 	"ζ" => "Ζ",	"ε" => "Ε",	"δ" => "Δ",
       
   403 	"γ" => "Γ",	"β" => "Β",	"α" => "Α",
       
   404 	"ί" => "Ί",	"ή" => "Ή",	"έ" => "Έ",
       
   405 	"ά" => "Ά",	"ʒ" => "Ʒ",	"ʋ" => "Ʋ",
       
   406 	"ʊ" => "Ʊ",	"ʈ" => "Ʈ",	"ʃ" => "Ʃ",
       
   407 	"ʀ" => "Ʀ",	"ɵ" => "Ɵ",	"ɲ" => "Ɲ",
       
   408 	"ɯ" => "Ɯ",	"ɩ" => "Ɩ",	"ɨ" => "Ɨ",
       
   409 	"ɣ" => "Ɣ",	" " => "Ɠ",	"ɛ" => "Ɛ",
       
   410 	"ə" => "Ə",	"ɗ" => "Ɗ",	"ɖ" => "Ɖ",
       
   411 	"ɔ" => "Ɔ",	"ɓ" => "Ɓ",	"ȳ" => "Ȳ",
       
   412 	"ȱ" => "Ȱ",	"ȯ" => "Ȯ",	"ȭ" => "Ȭ",
       
   413 	"ȫ" => "Ȫ",	"ȩ" => "Ȩ",	"ȧ" => "Ȧ",
       
   414 	"ȥ" => "Ȥ",	"ȣ" => "Ȣ",	"ȟ" => "Ȟ",
       
   415 	"ȝ" => "Ȝ",	"ț" => "Ț",	"ș" => "Ș",
       
   416 	"ȗ" => "Ȗ",	"ȕ" => "Ȕ",	"ȓ" => "Ȓ",
       
   417 	"ȑ" => "Ȑ",	"ȏ" => "Ȏ",	"ȍ" => "Ȍ",
       
   418 	"ȋ" => "Ȋ",	"ȉ" => "Ȉ",	"ȇ" => "Ȇ",
       
   419 	"ȅ" => "Ȅ",	"ȃ" => "Ȃ",	"ȁ" => "Ȁ",
       
   420 	"ǿ" => "Ǿ",	"ǽ" => "Ǽ",	"ǻ" => "Ǻ",
       
   421 	"ǹ" => "Ǹ",	"ǵ" => "Ǵ",	"dz" => "Dz",
       
   422 	"ǯ" => "Ǯ",	"ǭ" => "Ǭ",	"ǫ" => "Ǫ",
       
   423 	"ǩ" => "Ǩ",	"ǧ" => "Ǧ",	"ǥ" => "Ǥ",
       
   424 	"ǣ" => "Ǣ",	"ǡ" => " ",	"ǟ" => "Ǟ",
       
   425 	"ǝ" => "Ǝ",	"ǜ" => "Ǜ",	"ǚ" => "Ǚ",
       
   426 	"ǘ" => "Ǘ",	"ǖ" => "Ǖ",	"ǔ" => "Ǔ",
       
   427 	"ǒ" => "Ǒ",	"ǐ" => "Ǐ",	"ǎ" => "Ǎ",
       
   428 	"nj" => "Nj",	"lj" => "Lj",	"dž" => "Dž",
       
   429 	"ƿ" => "Ƿ",	"ƽ" => "Ƽ",	"ƹ" => "Ƹ",
       
   430 	"ƶ" => "Ƶ",	"ƴ" => "Ƴ",	"ư" => "Ư",
       
   431 	"ƭ" => "Ƭ",	"ƨ" => "Ƨ",	"ƥ" => "Ƥ",
       
   432 	"ƣ" => "Ƣ",	"ơ" => " ",	"ƞ" => " ",
       
   433 	"ƙ" => "Ƙ",	"ƕ" => "Ƕ",	"ƒ" => "Ƒ",
       
   434 	"ƌ" => "Ƌ",	"ƈ" => "Ƈ",	"ƅ" => "Ƅ",
       
   435 	"ƃ" => "Ƃ",	"ſ" => "S",	"ž" => "Ž",
       
   436 	"ż" => "Ż",	"ź" => "Ź",	"ŷ" => "Ŷ",
       
   437 	"ŵ" => "Ŵ",	"ų" => "Ų",	"ű" => "Ű",
       
   438 	"ů" => "Ů",	"ŭ" => "Ŭ",	"ū" => "Ū",
       
   439 	"ũ" => "Ũ",	"ŧ" => "Ŧ",	"ť" => "Ť",
       
   440 	"ţ" => "Ţ",	"š" => " ",	"ş" => "Ş",
       
   441 	"ŝ" => "Ŝ",	"ś" => "Ś",	"ř" => "Ř",
       
   442 	"ŗ" => "Ŗ",	"ŕ" => "Ŕ",	"œ" => "Œ",
       
   443 	"ő" => "Ő",	"ŏ" => "Ŏ",	"ō" => "Ō",
       
   444 	"ŋ" => "Ŋ",	"ň" => "Ň",	"ņ" => "Ņ",
       
   445 	"ń" => "Ń",	"ł" => "Ł",	"ŀ" => "Ŀ",
       
   446 	"ľ" => "Ľ",	"ļ" => "Ļ",	"ĺ" => "Ĺ",
       
   447 	"ķ" => "Ķ",	"ĵ" => "Ĵ",	"ij" => "IJ",
       
   448 	"ı" => "I",	"į" => "Į",	"ĭ" => "Ĭ",
       
   449 	"ī" => "Ī",	"ĩ" => "Ĩ",	"ħ" => "Ħ",
       
   450 	"ĥ" => "Ĥ",	"ģ" => "Ģ",	"ġ" => " ",
       
   451 	"ğ" => "Ğ",	"ĝ" => "Ĝ",	"ě" => "Ě",
       
   452 	"ę" => "Ę",	"ė" => "Ė",	"ĕ" => "Ĕ",
       
   453 	"ē" => "Ē",	"đ" => "Đ",	"ď" => "Ď",
       
   454 	"č" => "Č",	"ċ" => "Ċ",	"ĉ" => "Ĉ",
       
   455 	"ć" => "Ć",	"ą" => "Ą",	"ă" => "Ă",
       
   456 	"ā" => "Ā",	"ÿ" => "Ÿ",	"þ" => "Þ",
       
   457 	"ý" => "Ý",	"ü" => "Ü",	"û" => "Û",
       
   458 	"ú" => "Ú",	"ù" => "Ù",	"ø" => "Ø",
       
   459 	"ö" => "Ö",	"õ" => "Õ",	"ô" => "Ô",
       
   460 	"ó" => "Ó",	"ò" => "Ò",	"ñ" => "Ñ",
       
   461 	"ð" => "Ð",	"ï" => "Ï",	"î" => "Î",
       
   462 	"í" => "Í",	"ì" => "Ì",	"ë" => "Ë",
       
   463 	"ê" => "Ê",	"é" => "É",	"è" => "È",
       
   464 	"ç" => "Ç",	"æ" => "Æ",	"å" => "Å",
       
   465 	"ä" => "Ä",	"ã" => "Ã",	"â" => "Â",
       
   466 	"á" => "Á",	" " => "À",	"µ" => "Μ",
       
   467 	"z" => "Z",		"y" => "Y",		"x" => "X",
       
   468 	"w" => "W",		"v" => "V",		"u" => "U",
       
   469 	"t" => "T",		"s" => "S",		"r" => "R",
       
   470 	"q" => "Q",		"p" => "P",		"o" => "O",
       
   471 	"n" => "N",		"m" => "M",		"l" => "L",
       
   472 	"k" => "K",		"j" => "J",		"i" => "I",
       
   473 	"h" => "H",		"g" => "G",		"f" => "F",
       
   474 	"e" => "E",		"d" => "D",		"c" => "C",
       
   475 	"b" => "B",		"a" => "A",
       
   476 );
       
   477 
       
   478 if ( ! defined( 'WP_CONTENT_URL' ) )
       
   479     define( 'WP_CONTENT_URL', get_option( 'siteurl' ) . '/wp-content' );
       
   480 if ( ! defined( 'WP_CONTENT_DIR' ) )
       
   481     define( 'WP_CONTENT_DIR', ABSPATH . 'wp-content' );
       
   482 if ( ! defined( 'WP_PLUGIN_URL' ) )
       
   483     define( 'WP_PLUGIN_URL', WP_CONTENT_URL. '/plugins' );
       
   484 if ( ! defined( 'WP_PLUGIN_DIR' ) )
       
   485     define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/plugins' );
       
   486 
       
   487 require_once( WP_PLUGIN_DIR . '/all-in-one-seo-pack/aioseop.class.php');
       
   488 
       
   489 global $aioseop_options;
       
   490 $aioseop_options = get_option('aioseop_options');
       
   491 
       
   492 
       
   493 
       
   494 /*
       
   495 add_option("aiosp_home_description", null, 'All in One SEO Plugin Home Description', 'yes');
       
   496 add_option("aiosp_home_title", null, 'All in One SEO Plugin Home Title', 'yes');
       
   497 add_option("aiosp_donate", 0, 'All in One SEO Pack Donate', 'no');
       
   498 add_option("aiosp_can", 1, 'All in One SEO Pack Canonical URLs', 'yes');
       
   499 add_option("aiosp_rewrite_titles", 1, 'All in One SEO Plugin Rewrite Titles', 'yes');
       
   500 add_option("aiosp_use_categories", 0, 'All in One SEO Plugin Use Categories', 'yes');
       
   501 add_option("aiosp_category_noindex", 1, 'All in One SEO Plugin Noindex for Categories', 'yes');
       
   502 add_option("aiosp_archive_noindex", 1, 'All in One SEO Plugin Noindex for Archives', 'yes');
       
   503 add_option("aiosp_tags_noindex", 0, 'All in One SEO Plugin Noindex for Tag Archives', 'yes');
       
   504 add_option("aiosp_generate_descriptions", 1, 'All in One SEO Plugin Autogenerate Descriptions', 'yes');
       
   505 add_option("aiosp_post_title_format", '%post_title% | %blog_title%', 'All in One SEO Plugin Post Title Format', 'yes');
       
   506 add_option("aiosp_page_title_format", '%page_title% | %blog_title%', 'All in One SEO Plugin Page Title Format', 'yes');
       
   507 add_option("aiosp_dynamic_postspage_keywords", 1, 'All in One SEO Plugin Dynamic Posts Page Keywords', 'yes');
       
   508 add_option("aiosp_category_title_format", '%category_title% | %blog_title%', 'All in One SEO Plugin Category Title Format', 'yes');
       
   509 add_option("aiosp_archive_title_format", '%date% | %blog_title%', 'All in One SEO Plugin Archive Title Format', 'yes');
       
   510 add_option("aiosp_tag_title_format", '%tag% | %blog_title%', 'All in One SEO Plugin Tag Title Format', 'yes');
       
   511 add_option("aiosp_search_title_format", '%search% | %blog_title%', 'All in One SEO Plugin Search Title Format', 'yes');
       
   512 add_option("aiosp_description_format", '%description%', 'All in One SEO Plugin Description Format', 'yes');
       
   513 add_option("aiosp_paged_format", ' - Part %page%', 'All in One SEO Plugin Paged Format', 'yes');
       
   514 add_option("aiosp_404_title_format", 'Nothing found for %request_words%', 'All in One SEO Plugin 404 Title Format', 'yes');
       
   515 add_option("aiosp_post_meta_tags", '', 'All in One SEO Plugin Additional Post Meta Tags', 'yes');
       
   516 add_option("aiosp_page_meta_tags", '', 'All in One SEO Plugin Additional Post Meta Tags', 'yes');
       
   517 add_option("aiosp_home_meta_tags", '', 'All in One SEO Plugin Additional Home Meta Tags', 'yes');
       
   518 add_option("aiosp_do_log", null, 'All in One SEO Plugin write log file', 'yes');
       
   519 */
       
   520 
       
   521 //$role = get_role('administrator');
       
   522 //$role->add_cap('Edit AIOSEOP Options');
       
   523 //$role->add_cap('Edit AIOSEOP on Posts/Pages');
       
   524 
       
   525 ////checking to see if things need to be updated
       
   526 
       
   527 //if_post('turn-on'){
       
   528 	
       
   529 	/*   automattic?
       
   530 if(!get_option('aioseop_options')){
       
   531 	aioseop_mrt_fix_meta(); //move this to the if also 
       
   532 	aioseop_mrt_mkarry();
       
   533 	}
       
   534 */
       
   535 
       
   536 if($_POST['aioseop_migrate']) aioseop_mrt_fix_meta();
       
   537 if($_POST['aioseop_migrate_options']) aioseop_mrt_mkarry();
       
   538 if(!get_option('aiosp_post_title_format') && !get_option('aioseop_options')) aioseop_mrt_mkarry();
       
   539 
       
   540 //}end _post('turn_on')
       
   541 
       
   542 
       
   543 ////end checking to see if things need to be updated
       
   544 
       
   545 
       
   546 function aioseop_mrt_fix_meta(){
       
   547 global $wpdb;
       
   548 $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_aioseop_keywords' WHERE meta_key = 'keywords'");
       
   549 $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_aioseop_title' WHERE meta_key = 'title'");	
       
   550 $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_aioseop_description' WHERE meta_key = 'description'");
       
   551 $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_aioseop_meta' WHERE meta_key = 'aiosp_meta'");
       
   552 $wpdb->query("UPDATE $wpdb->postmeta SET meta_key = '_aioseop_disable' WHERE meta_key = 'aiosp_disable'");
       
   553 echo "<div class='updated fade' style='background-color:green;border-color:green;'><p><strong>Updating SEO post meta in database.</strong></p></div";
       
   554 }
       
   555 
       
   556 function aioseop_get_version(){
       
   557 	return '1.6.8.2';
       
   558 }
       
   559 
       
   560 
       
   561 
       
   562 
       
   563 function aioseop_mrt_mkarry() {
       
   564 $naioseop_options = array(
       
   565 "aiosp_can"=>1,
       
   566 "aiosp_donate"=>0,
       
   567 "aiosp_home_title"=>null,
       
   568 "aiosp_home_description"=>'',
       
   569 "aiosp_home_keywords"=>null,
       
   570 "aiosp_max_words_excerpt"=>'something',
       
   571 "aiosp_rewrite_titles"=>1,
       
   572 "aiosp_post_title_format"=>'%post_title% | %blog_title%',
       
   573 "aiosp_page_title_format"=>'%page_title% | %blog_title%',
       
   574 "aiosp_category_title_format"=>'%category_title% | %blog_title%',
       
   575 "aiosp_archive_title_format"=>'%date% | %blog_title%',
       
   576 "aiosp_tag_title_format"=>'%tag% | %blog_title%',
       
   577 "aiosp_search_title_format"=>'%search% | %blog_title%',
       
   578 "aiosp_description_format"=>'%description%',
       
   579 "aiosp_404_title_format"=>'Nothing found for %request_words%',
       
   580 "aiosp_paged_format"=>' - Part %page%',
       
   581 "aiosp_use_categories"=>0,
       
   582 "aiosp_dynamic_postspage_keywords"=>1,
       
   583 "aiosp_category_noindex"=>1,
       
   584 "aiosp_archive_noindex"=>1,
       
   585 "aiosp_tags_noindex"=>0,
       
   586 "aiosp_cap_cats"=>1,
       
   587 "aiosp_generate_descriptions"=>1,
       
   588 "aiosp_debug_info"=>null,
       
   589 "aiosp_post_meta_tags"=>'',
       
   590 "aiosp_page_meta_tags"=>'',
       
   591 "aiosp_home_meta_tags"=>'',
       
   592 "aiosp_enabled" =>0,
       
   593 "aiosp_use_tags_as_keywords" =>1,
       
   594 "aiosp_do_log"=>null);
       
   595 
       
   596 if(get_option('aiosp_post_title_format')){
       
   597 foreach( $naioseop_options as $aioseop_opt_name => $value ) {
       
   598 		if( $aioseop_oldval = get_option($aioseop_opt_name) ) {
       
   599 			$naioseop_options[$aioseop_opt_name] = $aioseop_oldval;
       
   600 			
       
   601 		}
       
   602 		if( $aioseop_oldval == ''){
       
   603                           $naioseop_options[$aioseop_opt_name] = '';
       
   604                       }
       
   605         
       
   606 		delete_option($aioseop_opt_name);
       
   607 	}
       
   608 }
       
   609 add_option('aioseop_options',$naioseop_options);
       
   610 echo "<div class='updated fade' style='background-color:green;border-color:green;'><p><strong>Updating SEO configuration options in database</strong></p></div";
       
   611 
       
   612 }
       
   613 //if( function_exists( 'is_site_admin' ) ) {
       
   614 
       
   615 function aioseop_activation_notice(){
       
   616 	global $aioseop_options;
       
   617 				if(function_exists('admin_url')){
       
   618 				echo '<div class="error fade" style="background-color:red;"><p><strong>All in One SEO Pack must be configured. Go to <a href="' . admin_url( 'options-general.php?page=all-in-one-seo-pack/aioseop.class.php' ) . '">the admin page</a> to enable and configure the plugin.</strong></p></div>';
       
   619 }else{
       
   620 		echo '<div class="error fade" style="background-color:red;"><p><strong>All in One SEO Pack must be configured. Go to <a href="' . get_option('siteurl') . 'options-general.php?page=all-in-one-seo-pack/aioseop.class.php' . '">the admin page</a> to enable and configure the plugin.</strong></p></div>';
       
   621 }
       
   622 }
       
   623 
       
   624 //add_action('after_plugin_row_all-in-one-seo-pack/all_in_one_seo_pack.php', 'add_plugin_row', 10, 2);
       
   625 
       
   626 function add_plugin_row($links, $file) {
       
   627 
       
   628 echo '<td colspan="5" style="background-color:yellow;">';
       
   629 echo  wp_remote_fopen('http://aioseop.semperfiwebdesign.com/');
       
   630 echo '</td>';
       
   631 
       
   632 }
       
   633 
       
   634 if($aioseop_options['aiosp_enabled']){
       
   635 	add_action('wp_list_pages', 'aioseop_list_pages');
       
   636 	remove_action( 'wp_head', 'rel_canonical' );
       
   637 }
       
   638 
       
   639 function aioseop_activate_pl(){
       
   640 	if(get_option('aioseop_options')){
       
   641 		$aioseop_options = get_option('aioseop_options');
       
   642 		$aioseop_options['aiosp_enabled'] = "0";
       
   643 		$aioseop_options['aiosp_donate'] = "0";
       
   644 		update_option('aioseop_options',$aioseop_options);
       
   645 	}
       
   646 }
       
   647 
       
   648 
       
   649 $aiosp = new All_in_One_SEO_Pack();	
       
   650 add_action('edit_post', array($aiosp, 'post_meta_tags'));
       
   651 add_action('publish_post', array($aiosp, 'post_meta_tags'));
       
   652 add_action('save_post', array($aiosp, 'post_meta_tags'));
       
   653 add_action('edit_page_form', array($aiosp, 'post_meta_tags'));
       
   654 add_action('init', array($aiosp, 'init'));
       
   655 add_action('wp_head', array($aiosp, 'wp_head'));
       
   656 add_action('template_redirect', array($aiosp, 'template_redirect'));
       
   657 //add_action('admin_head',array($aiosp, 'seo_mrt_admin_head');
       
   658 add_action('admin_menu', array($aiosp, 'admin_menu'));
       
   659 add_action('admin_menu', 'aiosp_meta_box_add');
       
   660 
       
   661 add_action('admin_menu', 'aioseop_mrt_nap');
       
   662 
       
   663 function aioseop_mrt_nap(){
       
   664 //	add_object_page('All in One SEO Pack','All in One SEO Pack','administrator','aioseop','sometop2');
       
   665 //	add_object_page('All in One SEO Pack', 'SEO', 8, "__FILE__", 'aioseop_mrt_nap_menu2a','http://65.190.51.165/aioseo/wp-content/plugins/all-in-one-seo-pack/images/globe.png');
       
   666 	add_submenu_page("__FILE__", 'Settings', 'Settings', 8, '__FILE__', 'aioseop_mrt_nap_menu2a');
       
   667 	add_submenu_page("__FILE__", 'Tools', 'Tools', 8, 'subpageb', 'aioseop_mrt_nap_menu2b');
       
   668 }
       
   669 
       
   670 function aioseop_mrt_nap_menu(){
       
   671 	echo "hi";
       
   672 	
       
   673 }
       
   674 
       
   675 function aioseop_mrt_nap_menu2a(){
       
   676 	echo "here1";
       
   677 }
       
   678 
       
   679 function aioseop_mrt_nap_menu2b(){
       
   680 	echo "here2";
       
   681 }
       
   682 
       
   683 
       
   684 if( ($_POST['aiosp_enabled'] == null && $aioseop_options['aiosp_enabled']!='1') || $_POST['aiosp_enabled']=='0'){
       
   685 add_action( 'admin_notices', 'aioseop_activation_notice');
       
   686 }
       
   687 
       
   688 
       
   689 // The following two functions copied entirely and modified slightly from Sarah G's Page Menu Editor, http://wordpress.org/extend/plugins/page-menu-editor/
       
   690 function aioseop_list_pages($content){
       
   691 		$url = preg_replace(array('/\//', '/\./', '/\-/'), array('\/', '\.', '\-'), get_option('siteurl'));
       
   692 		$pattern = '/<li class="page_item page-item-(\d+)([^\"]*)"><a href=\"([^\"]+)" title="([^\"]+)">([^<]+)<\/a>/i';
       
   693 		return preg_replace_callback($pattern, "aioseop_filter_callback", $content);
       
   694 	}
       
   695 
       
   696 function aioseop_filter_callback($matches) {
       
   697 	global $wpdb;
       
   698 	if ($matches[1] && !empty($matches[1])) $postID = $matches[1];
       
   699 	if (empty($postID)) $postID = get_option("page_on_front");
       
   700 	$title_attrib = stripslashes(get_post_meta($postID, '_aioseop_titleatr', true));
       
   701 	$menulabel = stripslashes(get_post_meta($postID, '_aioseop_menulabel', true));
       
   702 	if (empty($menulabel)) $menulabel = $matches[4];
       
   703 	if (!empty($title_attrib)) :
       
   704 		$filtered = '<li class="page_item page-item-'.$postID.$matches[2].'"><a href="'.$matches[3].'" title="'.$title_attrib.'">'.$menulabel.'</a>';
       
   705 	else :
       
   706 		$filtered = '<li class="page_item page-item-'.$postID.$matches[2].'"><a href="'.$matches[3].'">'.$menulabel.'</a>';
       
   707 	endif;
       
   708 	return $filtered;
       
   709 }
       
   710 
       
   711 if (substr($aiosp->wp_version, 0, 3) < '2.5') {
       
   712         add_action('dbx_post_advanced', array($aiosp, 'add_meta_tags_textinput'));
       
   713         add_action('dbx_page_advanced', array($aiosp, 'add_meta_tags_textinput'));
       
   714 }
       
   715 
       
   716 
       
   717 
       
   718 
       
   719 function aiosp_meta_box_add() {
       
   720 	if ( function_exists('add_meta_box') ) {
       
   721 		add_meta_box('aiosp',__('All in One SEO Pack', 'all_in_one_seo_pack'),'aiosp_meta','post');
       
   722 		add_meta_box('aiosp',__('All in One SEO Pack', 'all_in_one_seo_pack'),'aiosp_meta','page');
       
   723 	} else {
       
   724 		add_action('dbx_post_advanced', array($aiosp, 'add_meta_tags_textinput'));
       
   725 		add_action('dbx_page_advanced', array($aiosp, 'add_meta_tags_textinput'));
       
   726 	}
       
   727 }
       
   728 
       
   729 function aiosp_meta() {
       
   730 
       
   731 	global $post;
       
   732 	
       
   733 	$post_id = $post;
       
   734 	if (is_object($post_id)){
       
   735 		$post_id = $post_id->ID;
       
   736 	}
       
   737  	$keywords = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aioseop_keywords', true)));
       
   738     $title = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aioseop_title', true)));
       
   739 	$description = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aioseop_description', true)));
       
   740     $aiosp_meta = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aiosp_meta', true)));
       
   741     $aiosp_disable = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aioseop_disable', true)));
       
   742     $aiosp_titleatr = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aioseop_titleatr', true)));
       
   743     $aiosp_menulabel = htmlspecialchars(stripcslashes(get_post_meta($post_id, '_aioseop_menulabel', true)));	
       
   744 	?>
       
   745 		<SCRIPT LANGUAGE="JavaScript">
       
   746 		<!-- Begin
       
   747 		function countChars(field,cntfield) {
       
   748 		cntfield.value = field.value.length;
       
   749 		}
       
   750 		//  End -->
       
   751 		</script>
       
   752 		<input value="aiosp_edit" type="hidden" name="aiosp_edit" />
       
   753 		
       
   754 		<a target="__blank" href="http://semperfiwebdesign.com/forum/"><?php _e('Click here for Support', 'all_in_one_seo_pack') ?></a>
       
   755 		<table style="margin-bottom:40px">
       
   756 		<tr>
       
   757 		<th style="text-align:left;" colspan="2">
       
   758 		</th>
       
   759 		</tr>
       
   760 		<tr>
       
   761 		<th scope="row" style="text-align:right;"><?php _e('Title:', 'all_in_one_seo_pack') ?></th>
       
   762 		<td><input value="<?php echo $title ?>" type="text" name="aiosp_title" size="62"/></td>
       
   763 		</tr>
       
   764 		<tr>
       
   765 		<th scope="row" style="text-align:right;"><?php _e('Description:', 'all_in_one_seo_pack') ?></th>
       
   766 		<td><textarea name="aiosp_description" rows="3" cols="60"
       
   767 		onKeyDown="countChars(document.post.aiosp_description,document.post.length1)"
       
   768 		onKeyUp="countChars(document.post.aiosp_description,document.post.length1)"><?php echo $description ?></textarea><br />
       
   769 		<input readonly type="text" name="length1" size="3" maxlength="3" value="<?php echo strlen($description);?>" />
       
   770 		<?php _e(' characters. Most search engines use a maximum of 160 chars for the description.', 'all_in_one_seo_pack') ?>
       
   771 		</td>
       
   772 		</tr>
       
   773 		<tr>
       
   774 		<th scope="row" style="text-align:right;"><?php _e('Keywords (comma separated):', 'all_in_one_seo_pack') ?></th>
       
   775 		<td><input value="<?php echo $keywords ?>" type="text" name="aiosp_keywords" size="62"/></td>
       
   776 		</tr>
       
   777 		<input type="hidden" name="nonce-aioseop-edit" value="<?php echo wp_create_nonce('edit-aioseop-nonce') ?>" />
       
   778 <?php if($post->post_type=='page'){ ?>
       
   779 		<tr>
       
   780 		<th scope="row" style="text-align:right;"><?php _e('Title Attribute:', 'all_in_one_seo_pack') ?></th>
       
   781 		<td><input value="<?php echo $aiosp_titleatr ?>" type="text" name="aiosp_titleatr" size="62"/></td>
       
   782 		</tr>
       
   783 		
       
   784 		<tr>
       
   785 		<th scope="row" style="text-align:right;"><?php _e('Menu Label:', 'all_in_one_seo_pack') ?></th>
       
   786 		<td><input value="<?php echo $aiosp_menulabel ?>" type="text" name="aiosp_menulabel" size="62"/></td>
       
   787 		</tr>
       
   788 <?php } ?>
       
   789 		<tr>
       
   790 		<th scope="row" style="text-align:right; vertical-align:top;">
       
   791 		<?php _e('Disable on this page/post:', 'all_in_one_seo_pack')?>
       
   792 		</th>
       
   793 		<td>
       
   794 		<input type="checkbox" name="aiosp_disable" <?php if ($aiosp_disable) echo "checked=\"1\""; ?>/>
       
   795 		</td>
       
   796 		</tr>
       
   797 
       
   798 
       
   799 		</table>
       
   800 	<?php
       
   801 }
       
   802 ?>