// ---------------------------------------------------------------------------80 // ICQ plugin for Miranda Instant Messenger // ________________________________________ // // Copyright © 2000-2001 Richard Hughes, Roland Rabien, Tristan Van de Vreede // Copyright © 2001-2002 Jon Keating, Richard Hughes // Copyright © 2002-2004 Martin Öberg, Sam Kothari, Robert Rainwater // Copyright © 2004-2009 Joe Kucera // // 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 2 // 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, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // // ----------------------------------------------------------------------------- // DESCRIPTION: // // Describe me here please... // // ----------------------------------------------------------------------------- #include "icqoscar.h" const FieldNamesItem countryField[]={ {9999, LPGEN("Other")}, {93, LPGEN("Afghanistan")}, {355, LPGEN("Albania")}, {213, LPGEN("Algeria")}, {376, LPGEN("Andorra")}, {244, LPGEN("Angola")}, {1264, LPGEN("Anguilla")}, {1268, LPGEN("Antigua and Barbuda")}, //{5902, LPGEN("Antilles")}, /* removed: it is not a country, it's a group of islands from diffrent countries (all are included in the list)*/ {54, LPGEN("Argentina")}, {374, LPGEN("Armenia")}, {297, LPGEN("Aruba")}, {247, LPGEN("Ascension Island")}, {61, LPGEN("Australia")}, {6720, LPGEN("Australia, Antarctic Territory")}, /* added country code 672(0)*/ {614, LPGEN("Australia, Christmas Island")}, /* rename (from Christmas Island) and change to official county code 61(4) (from 672) */ {61891, LPGEN("Australia, Cocos (Keeling) Islands")}, /* rename and change to official county code 61(891) (from 6102) */ {6723 , LPGEN("Australia, Norfolk Island")}, /* rename (from Norfolk Island) and change to official county code 672(3) (from 6722) */ {43, LPGEN("Austria")}, {994, LPGEN("Azerbaijan")}, {1242, LPGEN("Bahamas")}, {973, LPGEN("Bahrain")}, {880, LPGEN("Bangladesh")}, {1246, LPGEN("Barbados")}, //{120, LPGEN("Barbuda")}, /* removed: it is not a country and no special island, see Antigua and Barbuda*/ {375, LPGEN("Belarus")}, {32, LPGEN("Belgium")}, {501, LPGEN("Belize")}, {229, LPGEN("Benin")}, {1441, LPGEN("Bermuda")}, {975, LPGEN("Bhutan")}, {591, LPGEN("Bolivia")}, {387, LPGEN("Bosnia and Herzegovina")}, {267, LPGEN("Botswana")}, {55, LPGEN("Brazil")}, {106, LPGEN("British Virgin Islands")}, {673, LPGEN("Brunei")}, {359, LPGEN("Bulgaria")}, {226, LPGEN("Burkina Faso")}, {257, LPGEN("Burundi")}, {855, LPGEN("Cambodia")}, {237, LPGEN("Cameroon")}, {1002, LPGEN("Canada")}, {178, LPGEN("Canary Islands")}, {238, LPGEN("Cape Verde")}, {1345, LPGEN("Cayman Islands")}, {236, LPGEN("Central African Republic")}, {235, LPGEN("Chad")}, {56, LPGEN("Chile")}, {86, LPGEN("China")}, //{6101, LPGEN("Cocos (Keeling) Islands")}, /* removed (double): see Australia, Cocos (Keeling) Islands */ {57, LPGEN("Colombia")}, {269, LPGEN("Comoros")}, {243, LPGEN("Congo, Democratic Republic of the")}, {242, LPGEN("Congo, Republic of the")}, {682, LPGEN("Cook Islands")}, {506, LPGEN("Costa Rica")}, {225, LPGEN("Cote d'Ivoire")}, {385, LPGEN("Croatia")}, {53, LPGEN("Cuba")}, {357, LPGEN("Greek, Republic of South Cyprus")}, /* rename coz Turkey, Republic of Northern Cyprus */ {420, LPGEN("Czech Republic")}, {45, LPGEN("Denmark")}, {246, LPGEN("Diego Garcia")}, {253, LPGEN("Djibouti")}, {1767, LPGEN("Dominica")}, {1809, LPGEN("Dominican Republic")}, {593, LPGEN("Ecuador")}, {20, LPGEN("Egypt")}, {503, LPGEN("El Salvador")}, {240, LPGEN("Equatorial Guinea")}, {291, LPGEN("Eritrea")}, {372, LPGEN("Estonia")}, {251, LPGEN("Ethiopia")}, {3883,LPGEN("Europe")}, /* add county code +388 3 official European Telephony Numbering Space*/ {298, LPGEN("Faroe Islands")}, {500, LPGEN("Falkland Islands")}, {679, LPGEN("Fiji")}, {358, LPGEN("Finland")}, {33, LPGEN("France")}, {5901, LPGEN("French Antilles")}, {594, LPGEN("French Guiana")}, {689, LPGEN("French Polynesia")}, {241, LPGEN("Gabon")}, {220, LPGEN("Gambia")}, {995, LPGEN("Georgia")}, {49, LPGEN("Germany")}, {233, LPGEN("Ghana")}, {350, LPGEN("Gibraltar")}, {30, LPGEN("Greece")}, {299, LPGEN("Greenland")}, {1473, LPGEN("Grenada")}, {590, LPGEN("Guadeloupe")}, {1671, LPGEN("Guam, US Territory of")}, {502, LPGEN("Guatemala")}, {224, LPGEN("Guinea")}, {245, LPGEN("Guinea-Bissau")}, {592, LPGEN("Guyana")}, {509, LPGEN("Haiti")}, {504, LPGEN("Honduras")}, {852, LPGEN("Hong Kong")}, {36, LPGEN("Hungary")}, {354, LPGEN("Iceland")}, {91, LPGEN("India")}, {62, LPGEN("Indonesia")}, {98, LPGEN("Iran, Islamic Republic of")}, {964, LPGEN("Iraq")}, {353, LPGEN("Ireland")}, {972, LPGEN("Israel")}, {39, LPGEN("Italy")}, {1876, LPGEN("Jamaica")}, {81, LPGEN("Japan")}, {962, LPGEN("Jordan")}, {705, LPGEN("Kazakhstan")}, {254, LPGEN("Kenya")}, {686, LPGEN("Kiribati")}, {850, LPGEN("Korea, North")}, {82, LPGEN("Korea, South")}, {965, LPGEN("Kuwait")}, {996, LPGEN("Kyrgyzstan")}, {856, LPGEN("Laos")}, {371, LPGEN("Latvia")}, {961, LPGEN("Lebanon")}, {266, LPGEN("Lesotho")}, {231, LPGEN("Liberia")}, {218, LPGEN("Libya")}, {423, LPGEN("Liechtenstein")}, {370, LPGEN("Lithuania")}, {352, LPGEN("Luxembourg")}, {853, LPGEN("Macau")}, {389, LPGEN("Macedonia, Republic of")}, {261, LPGEN("Madagascar")}, {265, LPGEN("Malawi")}, {60, LPGEN("Malaysia")}, {960, LPGEN("Maldives")}, {223, LPGEN("Mali")}, {356, LPGEN("Malta")}, {692, LPGEN("Marshall Islands")}, {596, LPGEN("Martinique")}, {222, LPGEN("Mauritania")}, {230, LPGEN("Mauritius")}, {262, LPGEN("Mayotte")}, {52, LPGEN("Mexico")}, {691, LPGEN("Micronesia, Federated States of")}, {373, LPGEN("Moldova")}, {377, LPGEN("Monaco")}, {976, LPGEN("Mongolia")}, {1664, LPGEN("Montserrat")}, {212, LPGEN("Morocco")}, {258, LPGEN("Mozambique")}, {95, LPGEN("Myanmar")}, {264, LPGEN("Namibia")}, {674, LPGEN("Nauru")}, {977, LPGEN("Nepal")}, {31, LPGEN("Netherlands")}, {599, LPGEN("Netherlands Antilles")}, /* dissolved 2010 */ {5995, LPGEN("St. Maarten")}, /* add new country in 2010 (from Netherlands Antilles) */ {5999, LPGEN("Curacao")}, /* add new country in 2010 (from Netherlands Antilles) */ {5997, LPGEN("Netherlands (Bonaire Island)")}, /* add new Part of Netherlands in 2010 (from Netherlands Antilles) */ {59946, LPGEN("Netherlands (Saba Island)")}, /* add new Part of Netherlands in 2010 (from Netherlands Antilles) */ {59938, LPGEN("Netherlands (St. Eustatius Island)")}, /* add new Part of Netherlands in 2010 (from Netherlands Antilles) */ //{114, LPGEN("Nevis")}, /* removed: it is not a country, it's part of Saint Kitts and Nevis*/ {687, LPGEN("New Caledonia")}, {64, LPGEN("New Zealand")}, {505, LPGEN("Nicaragua")}, {227, LPGEN("Niger")}, {234, LPGEN("Nigeria")}, {683, LPGEN("Niue")}, {1670, LPGEN("Northern Mariana Islands, US Territory of")}, /* added NANP */ {47, LPGEN("Norway")}, {968, LPGEN("Oman")}, {92, LPGEN("Pakistan")}, {680, LPGEN("Palau")}, {507, LPGEN("Panama")}, {675, LPGEN("Papua New Guinea")}, {595, LPGEN("Paraguay")}, {51, LPGEN("Peru")}, {63, LPGEN("Philippines")}, {48, LPGEN("Poland")}, {351, LPGEN("Portugal")}, {1939, LPGEN("Puerto Rico")}, {974, LPGEN("Qatar")}, {262, LPGEN("Reunion")}, {40, LPGEN("Romania")}, //{6701, LPGEN("Rota Island")}, /* removed: it is not a country it is part of Northern Mariana Islands, US Territory of */ {7, LPGEN("Russia")}, {250, LPGEN("Rwanda")}, {1684, LPGEN("Samoa (USA)")}, /* rename (from American Samoa) change county code to NANP (from 684) */ {685, LPGEN("Samoa, Western")}, /* rename (from Western Samoa) */ {290, LPGEN("Saint Helena")}, //{115, LPGEN("Saint Kitts")}, /* removed: it is not a country it is part of Saint Kitts and Nevis*/ {1869, LPGEN("Saint Kitts and Nevis")}, {1758, LPGEN("Saint Lucia")}, {508, LPGEN("Saint Pierre and Miquelon")}, {1784, LPGEN("Saint Vincent and the Grenadines")}, //{670, LPGEN("Saipan Island")}, /* removed: it is not a country it is part of Northern Mariana Islands, US Territory of */ {378, LPGEN("San Marino")}, {239, LPGEN("Sao Tome and Principe")}, {966, LPGEN("Saudi Arabia")}, {442, LPGEN("Scotland")}, {221, LPGEN("Senegal")}, {248, LPGEN("Seychelles")}, {232, LPGEN("Sierra Leone")}, {65, LPGEN("Singapore")}, {421, LPGEN("Slovakia")}, {386, LPGEN("Slovenia")}, {677, LPGEN("Solomon Islands")}, {252, LPGEN("Somalia")}, {27, LPGEN("South Africa")}, {34, LPGEN("Spain")}, {3492, LPGEN("Spain, Canary Islands")}, /*rename and change county code to 34(92) spain + canary code*/ {94, LPGEN("Sri Lanka")}, {249, LPGEN("Sudan")}, {597, LPGEN("Suriname")}, {268, LPGEN("Swaziland")}, {46, LPGEN("Sweden")}, {41, LPGEN("Switzerland")}, {963, LPGEN("Syria")}, {886, LPGEN("Taiwan")}, {992, LPGEN("Tajikistan")}, {255, LPGEN("Tanzania")}, {66, LPGEN("Thailand")}, //{6702, LPGEN("Tinian Island")}, /* removed: it is not a country it is part of Northern Mariana Islands, US Territory of */ {670 , LPGEN("Timor, East")}, /* added (is part off Northern Mariana Islands but not US Territory*/ {228, LPGEN("Togo")}, {690, LPGEN("Tokelau")}, {676, LPGEN("Tonga")}, {1868, LPGEN("Trinidad and Tobago")}, {216, LPGEN("Tunisia")}, {90, LPGEN("Turkey")}, {90392, LPGEN("Turkey, Republic of Northern Cyprus")}, /* added (is diffrent from Greek part)*/ {993, LPGEN("Turkmenistan")}, {1649, LPGEN("Turks and Caicos Islands")}, {688, LPGEN("Tuvalu")}, {256, LPGEN("Uganda")}, {380, LPGEN("Ukraine")}, {971, LPGEN("United Arab Emirates")}, {44, LPGEN("United Kingdom")}, {598, LPGEN("Uruguay")}, {1, LPGEN("USA")}, {998, LPGEN("Uzbekistan")}, {678, LPGEN("Vanuatu")}, {379, LPGEN("Vatican City")}, {58, LPGEN("Venezuela")}, {84, LPGEN("Vietnam")}, {1284, LPGEN("Virgin Islands (UK)")}, /* change county code to NANP (from 105) - rename coz Virgin Islands (USA) */ {1340, LPGEN("Virgin Islands (USA)")}, /* change county code to NANP (from 123) */ {441, LPGEN("Wales")}, {681, LPGEN("Wallis and Futuna")}, {967, LPGEN("Yemen")}, {38, LPGEN("Yugoslavia")}, {381, LPGEN("Serbia")}, /* rename need (from Yugoslavia)*/ {383, LPGEN("Kosovo, Republic of")}, /*change country code (from 3811), rename need (from Yugoslavia - Serbia) */ {382, LPGEN("Montenegro")}, /* rename need (from Yugoslavia - Montenegro) */ {260, LPGEN("Zambia")}, {263, LPGEN("Zimbabwe")}, {0, NULL} }; const FieldNamesItem interestsField[]={ {137, LPGEN("50's")}, {134, LPGEN("60's")}, {135, LPGEN("70's")}, {136, LPGEN("80's")}, {100, LPGEN("Art")}, {128, LPGEN("Astronomy")}, {147, LPGEN("Audio and Visual")}, {125, LPGEN("Business")}, {146, LPGEN("Business Services")}, {101, LPGEN("Cars")}, {102, LPGEN("Celebrity Fans")}, {130, LPGEN("Clothing")}, {103, LPGEN("Collections")}, {104, LPGEN("Computers")}, {105, LPGEN("Culture")}, {122, LPGEN("Ecology")}, {139, LPGEN("Entertainment")}, {138, LPGEN("Finance and Corporate")}, {106, LPGEN("Fitness")}, {142, LPGEN("Health and Beauty")}, {108, LPGEN("Hobbies")}, {150, LPGEN("Home Automation")}, {144, LPGEN("Household Products")}, {107, LPGEN("Games")}, {124, LPGEN("Government")}, {109, LPGEN("ICQ - Help")}, {110, LPGEN("Internet")}, {111, LPGEN("Lifestyle")}, {145, LPGEN("Mail Order Catalog")}, {143, LPGEN("Media")}, {112, LPGEN("Movies and TV")}, {113, LPGEN("Music")}, {126, LPGEN("Mystics")}, {123, LPGEN("News and Media")}, {114, LPGEN("Outdoors")}, {115, LPGEN("Parenting")}, {131, LPGEN("Parties")}, {116, LPGEN("Pets and Animals")}, {149, LPGEN("Publishing")}, {117, LPGEN("Religion")}, {141, LPGEN("Retail Stores")}, {118, LPGEN("Science")}, {119, LPGEN("Skills")}, {133, LPGEN("Social science")}, {129, LPGEN("Space")}, {148, LPGEN("Sporting and Athletic")}, {120, LPGEN("Sports")}, {127, LPGEN("Travel")}, {121, LPGEN("Web Design")}, {132, LPGEN("Women")}, {-1, NULL} }; const FieldNamesItem languageField[]={ {55, LPGEN("Afrikaans")}, {58, LPGEN("Albanian")}, {1, LPGEN("Arabic")}, {59, LPGEN("Armenian")}, {68, LPGEN("Azerbaijani")}, {72, LPGEN("Belorussian")}, {2, LPGEN("Bhojpuri")}, {56, LPGEN("Bosnian")}, {3, LPGEN("Bulgarian")}, {4, LPGEN("Burmese")}, {5, LPGEN("Cantonese")}, {6, LPGEN("Catalan")}, {61, LPGEN("Chamorro")}, {7, LPGEN("Chinese")}, {8, LPGEN("Croatian")}, {9, LPGEN("Czech")}, {10, LPGEN("Danish")}, {11, LPGEN("Dutch")}, {12, LPGEN("English")}, {13, LPGEN("Esperanto")}, {14, LPGEN("Estonian")}, {15, LPGEN("Farsi")}, {16, LPGEN("Finnish")}, {17, LPGEN("French")}, {18, LPGEN("Gaelic")}, {19, LPGEN("German")}, {20, LPGEN("Greek")}, {70, LPGEN("Gujarati")}, {21, LPGEN("Hebrew")}, {22, LPGEN("Hindi")}, {23, LPGEN("Hungarian")}, {24, LPGEN("Icelandic")}, {25, LPGEN("Indonesian")}, {26, LPGEN("Italian")}, {27, LPGEN("Japanese")}, {28, LPGEN("Khmer")}, {29, LPGEN("Korean")}, {69, LPGEN("Kurdish")}, {30, LPGEN("Lao")}, {31, LPGEN("Latvian")}, {32, LPGEN("Lithuanian")}, {65, LPGEN("Macedonian")}, {33, LPGEN("Malay")}, {63, LPGEN("Mandarin")}, {62, LPGEN("Mongolian")}, {34, LPGEN("Norwegian")}, {57, LPGEN("Persian")}, {35, LPGEN("Polish")}, {36, LPGEN("Portuguese")}, {60, LPGEN("Punjabi")}, {37, LPGEN("Romanian")}, {38, LPGEN("Russian")}, {39, LPGEN("Serbian")}, {66, LPGEN("Sindhi")}, {40, LPGEN("Slovak")}, {41, LPGEN("Slovenian")}, {42, LPGEN("Somali")}, {43, LPGEN("Spanish")}, {44, LPGEN("Swahili")}, {45, LPGEN("Swedish")}, {46, LPGEN("Tagalog")}, {64, LPGEN("Taiwanese")}, {71, LPGEN("Tamil")}, {47, LPGEN("Tatar")}, {48, LPGEN("Thai")}, {49, LPGEN("Turkish")}, {50, LPGEN("Ukrainian")}, {51, LPGEN("Urdu")}, {52, LPGEN("Vietnamese")}, {67, LPGEN("Welsh")}, {53, LPGEN("Yiddish")}, {54, LPGEN("Yoruba")}, {0, NULL} }; const FieldNamesItem pastField[]={ {300, LPGEN("Elementary School")}, {301, LPGEN("High School")}, {302, LPGEN("College")}, {303, LPGEN("University")}, {304, LPGEN("Military")}, {305, LPGEN("Past Work Place")}, {306, LPGEN("Past Organization")}, {399, LPGEN("Other")}, {0, NULL} }; const FieldNamesItem genderField[]={ {'F', LPGEN("Female")}, {'M', LPGEN("Male")}, {0, NULL} }; const FieldNamesItem studyLevelField[]={ {4, LPGEN("Associated degree")}, {5, LPGEN("Bachelor's degree")}, {1, LPGEN("Elementary")}, {2, LPGEN("High-school")}, {6, LPGEN("Master's degree")}, {7, LPGEN("PhD")}, {8, LPGEN("Postdoctoral")}, {3, LPGEN("University / College")}, {0, NULL} }; const FieldNamesItem industryField[]={ {2, LPGEN("Agriculture")}, {3, LPGEN("Arts")}, {4, LPGEN("Construction")}, {5, LPGEN("Consumer Goods")}, {6, LPGEN("Corporate Services")}, {7, LPGEN("Education")}, {8, LPGEN("Finance")}, {9, LPGEN("Government")}, {10, LPGEN("High Tech")}, {11, LPGEN("Legal")}, {12, LPGEN("Manufacturing")}, {13, LPGEN("Media")}, {14, LPGEN("Medical & Health Care")}, {15, LPGEN("Non-Profit Organization Management")}, {19, LPGEN("Other")}, {16, LPGEN("Recreation, Travel & Entertainment")}, {17, LPGEN("Service Industry")}, {18, LPGEN("Transportation")}, {0, NULL} }; const FieldNamesItem occupationField[]={ {1, LPGEN("Academic")}, {2, LPGEN("Administrative")}, {3, LPGEN("Art/Entertainment")}, {4, LPGEN("College Student")}, {5, LPGEN("Computers")}, {6, LPGEN("Community & Social")}, {7, LPGEN("Education")}, {8, LPGEN("Engineering")}, {9, LPGEN("Financial Services")}, {10, LPGEN("Government")}, {11, LPGEN("High School Student")}, {12, LPGEN("Home")}, {13, LPGEN("ICQ - Providing Help")}, {14, LPGEN("Law")}, {15, LPGEN("Managerial")}, {16, LPGEN("Manufacturing")}, {17, LPGEN("Medical/Health")}, {18, LPGEN("Military")}, {19, LPGEN("Non-Government Organization")}, {20, LPGEN("Professional")}, {21, LPGEN("Retail")}, {22, LPGEN("Retired")}, {23, LPGEN("Science & Research")}, {24, LPGEN("Sports")}, {25, LPGEN("Technical")}, {26, LPGEN("University Student")}, {27, LPGEN("Web Building")}, {99, LPGEN("Other Services")}, {0, NULL} }; const FieldNamesItem affiliationField[]={ {200, LPGEN("Alumni Org.")}, {201, LPGEN("Charity Org.")}, {202, LPGEN("Club/Social Org.")}, {203, LPGEN("Community Org.")}, {204, LPGEN("Cultural Org.")}, {205, LPGEN("Fan Clubs")}, {206, LPGEN("Fraternity/Sorority")}, {207, LPGEN("Hobbyists Org.")}, {208, LPGEN("International Org.")}, {209, LPGEN("Nature and Environment Org.")}, {210, LPGEN("Professional Org.")}, {211, LPGEN("Scientific/Technical Org.")}, {212, LPGEN("Self Improvement Group")}, {213, LPGEN("Spiritual/Religious Org.")}, {214, LPGEN("Sports Org.")}, {215, LPGEN("Support Org.")}, {216, LPGEN("Trade and Business Org.")}, {217, LPGEN("Union")}, {218, LPGEN("Volunteer Org.")}, {299, LPGEN("Other")}, {0, NULL} }; const FieldNamesItem agesField[]={ {0x0011000D, LPGEN("13-17")}, {0x00160012, LPGEN("18-22")}, {0x001D0017, LPGEN("23-29")}, {0x0027001E, LPGEN("30-39")}, {0x00310028, LPGEN("40-49")}, {0x003B0032, LPGEN("50-59")}, {0x2710003C, LPGEN("60-above")}, {-1, NULL} }; const FieldNamesItem maritalField[]={ {10, LPGEN("Single")}, {11, LPGEN("Close relationships")}, {12, LPGEN("Engaged")}, {20, LPGEN("Married")}, {30, LPGEN("Divorced")}, {31, LPGEN("Separated")}, {40, LPGEN("Widowed")}, {50, LPGEN("Open relationship")}, {255, LPGEN("Other")}, {0, NULL} }; char *LookupFieldName(const FieldNamesItem *table, int code) { int i; if (code != 0) { for(i = 0; table[i].text; i++) { if (table[i].code == code) return table[i].text; } // Tried to get unexisting field name, you have an // error in the data or in the table _ASSERT(FALSE); } return NULL; } char *LookupFieldNameUtf(const FieldNamesItem *table, int code, char *str, size_t strsize) { char *szText = LookupFieldName(table, code); if (szText) return ICQTranslateUtfStatic(szText, str, strsize); return NULL; }