From 7e5f4cf81705af2658098bb450a76ba6cd3eaeab Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Thu, 20 May 2010 14:32:28 +0200 Subject: [PATCH] Added country to ldapab.schema. Closes #1 Make sure you update the schema file in your LDAP server setup. --- doc/ldapab.schema | 6 +- inc/config.php | 3 + inc/fields.php | 1 + inc/iso3166.php | 243 +++++++++++++++++++++++++++++++++++ inc/template.php | 5 + templates/entry_edit.tpl | 4 +- templates/entry_show.tpl | 2 +- templates/entry_vcf.tpl | 2 +- templates/list_csv.tpl | 2 +- templates/list_csv_entry.tpl | 2 +- templates/list_map_entry.tpl | 2 +- 11 files changed, 263 insertions(+), 9 deletions(-) create mode 100644 inc/iso3166.php diff --git a/doc/ldapab.schema b/doc/ldapab.schema index 416d0c9..1ec7994 100644 --- a/doc/ldapab.schema +++ b/doc/ldapab.schema @@ -85,12 +85,12 @@ attributetype ( 1.3.6.1.4.1.16331.2.2.1.54 NAME 'custom4' ) - - +# The c attribute is defined in core.schema! objectclass ( 1.3.6.1.4.1.16331.2.2.2.1 NAME 'contactPerson' DESC 'Contact - Addressbook entry' AUXILIARY - MAY ( anniversary $ marker $ birthday $ custom1 $ custom2 $ custom3 $ custom4 ) + MAY ( anniversary $ marker $ birthday $ custom1 $ + custom2 $ custom3 $ custom4 $ c) ) diff --git a/inc/config.php b/inc/config.php index 811a3da..03741d4 100644 --- a/inc/config.php +++ b/inc/config.php @@ -31,6 +31,9 @@ // Which language to use (see lang directory) $conf['lang'] = 'en'; + // Default Country for new entries (ISO3166) + $conf['country'] = 'US'; + // Where to store public contacts? $conf['publicbook'] = 'ou=contacts, '.$conf['ldaprootdn']; diff --git a/inc/fields.php b/inc/fields.php index 8f3d3c3..9229e72 100644 --- a/inc/fields.php +++ b/inc/fields.php @@ -50,6 +50,7 @@ $FIELDS = array( $OCLASSES[] = 'contactPerson'; $FIELDS['anniversary'] = 'anniversary'; $FIELDS['_marker'] = 'marker'; // aka. tags +$FIELDS['country'] = 'c'; /** * If the open exchange schema is used the following fields diff --git a/inc/iso3166.php b/inc/iso3166.php new file mode 100644 index 0000000..4a0c74a --- /dev/null +++ b/inc/iso3166.php @@ -0,0 +1,243 @@ + 'Afghanistan', + 'AL' => 'Albania', + 'DZ' => 'Algeria', + 'AS' => 'American Samoa', + 'AD' => 'Andorra', + 'AO' => 'Angola', + 'AI' => 'Anguilla', + 'AQ' => 'Antarctica', + 'AG' => 'Antigua and Barbuda', + 'AR' => 'Argentina', + 'AM' => 'Armenia', + 'AW' => 'Aruba', + 'AU' => 'Australia', + 'AT' => 'Austria', + 'AZ' => 'Azerbaijan', + 'BS' => 'Bahamas', + 'BH' => 'Bahrain', + 'BD' => 'Bangladesh', + 'BB' => 'Barbados', + 'BY' => 'Belarus', + 'BE' => 'Belgium', + 'BZ' => 'Belize', + 'BJ' => 'Benin', + 'BM' => 'Bermuda', + 'BT' => 'Bhutan', + 'BO' => 'Bolivia', + 'BA' => 'Bosnia and Herzegovina', + 'BW' => 'Botswana', + 'BV' => 'Bouvet Island (Bouvetoya)', + 'BR' => 'Brazil', + 'IO' => 'British Indian Ocean Territory (Chagos Arc', + 'VG' => 'British Virgin Islands', + 'BN' => 'Brunei Darussalam', + 'BG' => 'Bulgaria', + 'BF' => 'Burkina Faso', + 'BI' => 'Burundi', + 'KH' => 'Cambodia', + 'CM' => 'Cameroon', + 'CA' => 'Canada', + 'CV' => 'Cape Verde', + 'KY' => 'Cayman Islands', + 'CF' => 'Central African Republic', + 'TD' => 'Chad', + 'CL' => 'Chile', + 'CN' => 'China', + 'CX' => 'Christmas Island', + 'CC' => 'Cocos (Keeling) Islands', + 'CO' => 'Colombia', + 'KM' => 'Comoros', + 'CD' => 'Congo', + 'CG' => 'Congo', + 'CK' => 'Cook Islands', + 'CR' => 'Costa Rica', + 'CI' => 'Cote D\'Ivoire', + 'CU' => 'Cuba', + 'CY' => 'Cyprus', + 'CZ' => 'Czech Republic', + 'DK' => 'Denmark', + 'DJ' => 'Djibouti', + 'DM' => 'Dominica', + 'DO' => 'Dominican Republic', + 'EC' => 'Ecuador', + 'EG' => 'Egypt', + 'SV' => 'El Salvador', + 'GQ' => 'Equatorial Guinea', + 'ER' => 'Eritrea', + 'EE' => 'Estonia', + 'ET' => 'Ethiopia', + 'FO' => 'Faeroe Islands', + 'FK' => 'Falkland Islands (Malvinas)', + 'FJ' => 'Fiji', + 'FI' => 'Finland', + 'FR' => 'France', + 'GF' => 'French Guiana', + 'PF' => 'French Polynesia', + 'TF' => 'French Southern Territories', + 'GA' => 'Gabon', + 'GM' => 'Gambia', + 'GE' => 'Georgia', + 'DE' => 'Germany', + 'GH' => 'Ghana', + 'GI' => 'Gibraltar', + 'GR' => 'Greece', + 'GL' => 'Greenland', + 'GD' => 'Grenada', + 'GP' => 'Guadaloupe', + 'GU' => 'Guam', + 'GT' => 'Guatemala', + 'GN' => 'Guinea', + 'GW' => 'Guinea-Bissau', + 'GY' => 'Guyana', + 'HT' => 'Haiti', + 'HM' => 'Heard and McDonald Islands', + 'VA' => 'Holy See (Vatican City State)', + 'HN' => 'Honduras', + 'HK' => 'Hong Kong', + 'HR' => 'Hrvatska (Croatia)', + 'HU' => 'Hungary', + 'IS' => 'Iceland', + 'IN' => 'India', + 'ID' => 'Indonesia', + 'IR' => 'Iran', + 'IQ' => 'Iraq', + 'IE' => 'Ireland', + 'IL' => 'Israel', + 'IT' => 'Italy', + 'JM' => 'Jamaica', + 'JP' => 'Japan', + 'JO' => 'Jordan', + 'KZ' => 'Kazakhstan', + 'KE' => 'Kenya', + 'KI' => 'Kiribati', + 'KP' => 'Korea', + 'KR' => 'Korea', + 'KW' => 'Kuwait', + 'KG' => 'Kyrgyz Republic', + 'LA' => 'Lao People\'s Democratic Republic', + 'LV' => 'Latvia', + 'LB' => 'Lebanon', + 'LS' => 'Lesotho', + 'LR' => 'Liberia', + 'LY' => 'Libyan Arab Jamahiriya', + 'LI' => 'Liechtenstein', + 'LT' => 'Lithuania', + 'LU' => 'Luxembourg', + 'MO' => 'Macao', + 'MK' => 'Macedonia', + 'MG' => 'Madagascar', + 'MW' => 'Malawi', + 'MY' => 'Malaysia', + 'MV' => 'Maldives', + 'ML' => 'Mali', + 'MT' => 'Malta', + 'MH' => 'Marshall Islands', + 'MQ' => 'Martinique', + 'MR' => 'Mauritania', + 'MU' => 'Mauritius', + 'YT' => 'Mayotte', + 'MX' => 'Mexico', + 'FM' => 'Micronesia', + 'MD' => 'Moldova', + 'MC' => 'Monaco', + 'MN' => 'Mongolia', + 'MS' => 'Montserrat', + 'MA' => 'Morocco', + 'MZ' => 'Mozambique', + 'MM' => 'Myanmar', + 'NA' => 'Namibia', + 'NR' => 'Nauru', + 'NP' => 'Nepal', + 'AN' => 'Netherlands Antilles', + 'NL' => 'Netherlands', + 'NC' => 'New Caledonia', + 'NZ' => 'New Zealand', + 'NI' => 'Nicaragua', + 'NE' => 'Niger', + 'NG' => 'Nigeria', + 'NU' => 'Niue', + 'NF' => 'Norfolk Island', + 'MP' => 'Northern Mariana Islands', + 'NO' => 'Norway', + 'OM' => 'Oman', + 'PK' => 'Pakistan', + 'PW' => 'Palau', + 'PS' => 'Palestinian Territory', + 'PA' => 'Panama', + 'PG' => 'Papua New Guinea', + 'PY' => 'Paraguay', + 'PE' => 'Peru', + 'PH' => 'Philippines', + 'PN' => 'Pitcairn Island', + 'PL' => 'Poland', + 'PT' => 'Portugal', + 'PR' => 'Puerto Rico', + 'QA' => 'Qatar', + 'RE' => 'Reunion', + 'RO' => 'Romania', + 'RU' => 'Russian Federation', + 'RW' => 'Rwanda', + 'SH' => 'St. Helena', + 'KN' => 'St. Kitts and Nevis', + 'LC' => 'St. Lucia', + 'PM' => 'St. Pierre and Miquelon', + 'VC' => 'St. Vincent and the Grenadines', + 'WS' => 'Samoa', + 'SM' => 'San Marino', + 'ST' => 'Sao Tome and Principe', + 'SA' => 'Saudi Arabia', + 'SN' => 'Senegal', + 'CS' => 'Serbia and Montenegro', + 'SC' => 'Seychelles', + 'SL' => 'Sierra Leone', + 'SG' => 'Singapore', + 'SK' => 'Slovakia (Slovak Republic)', + 'SI' => 'Slovenia', + 'SB' => 'Solomon Islands', + 'SO' => 'Somalia', + 'ZA' => 'South Africa', + 'GS' => 'South Georgia and the South Sandwich Island', + 'ES' => 'Spain', + 'LK' => 'Sri Lanka', + 'SD' => 'Sudan', + 'SR' => 'Suriname', + 'SJ' => 'Svalbard & Jan Mayen Islands', + 'SZ' => 'Swaziland', + 'SE' => 'Sweden', + 'CH' => 'Switzerland', + 'SY' => 'Syrian Arab Republic', + 'TW' => 'Taiwan', + 'TJ' => 'Tajikistan', + 'TZ' => 'Tanzania', + 'TH' => 'Thailand', + 'TL' => 'Timor-Leste', + 'TG' => 'Togo', + 'TK' => 'Tokelau (Tokelau Islands)', + 'TO' => 'Tonga', + 'TT' => 'Trinidad and Tobago', + 'TN' => 'Tunisia', + 'TR' => 'Turkey', + 'TM' => 'Turkmenistan', + 'TC' => 'Turks and Caicos Islands', + 'TV' => 'Tuvalu', + 'VI' => 'US Virgin Islands', + 'UG' => 'Uganda', + 'UA' => 'Ukraine', + 'AE' => 'United Arab Emirates', + 'GB' => 'Great Britain', + 'UM' => 'United States Minor Outlying Islands', + 'US' => 'United States of America', + 'UY' => 'Uruguay', + 'UZ' => 'Uzbekistan', + 'VU' => 'Vanuatu', + 'VE' => 'Venezuela', + 'VN' => 'Viet Nam', + 'WF' => 'Wallis and Futuna Islands', + 'EH' => 'Western Sahara', + 'YE' => 'Yemen', + 'ZM' => 'Zambia', + 'ZW' => 'Zimbabwe', +); diff --git a/inc/template.php b/inc/template.php index 6042c7b..a861520 100644 --- a/inc/template.php +++ b/inc/template.php @@ -27,6 +27,11 @@ function tpl_std(){ $smarty->assign('lang',$lang); $smarty->assign('fields',$FIELDS); $smarty->assign('lettertabs',explode(' ',$lang['lettertabs'])); + + if(isset($FIELDS['country'])){ + include dirname(__FILE__).'/iso3166.php'; + $smarty->assign('iso3166',$iso3166); + } } /** diff --git a/templates/entry_edit.tpl b/templates/entry_edit.tpl index 3973801..ddad5dc 100644 --- a/templates/entry_edit.tpl +++ b/templates/entry_edit.tpl @@ -96,7 +96,9 @@ {$lang.country}: -
+ {/if} diff --git a/templates/entry_show.tpl b/templates/entry_show.tpl index 69ec28d..1c4da29 100644 --- a/templates/entry_show.tpl +++ b/templates/entry_show.tpl @@ -39,7 +39,7 @@ {$entry.state|h} {/if} {if $entry.country} - {$entry.country|h} + {$iso3166[$entry.country]} {/if}

diff --git a/templates/entry_vcf.tpl b/templates/entry_vcf.tpl index 2555416..bd686c3 100644 --- a/templates/entry_vcf.tpl +++ b/templates/entry_vcf.tpl @@ -12,7 +12,7 @@ TEL;WORK;PAGER;ENCODING=QUOTED-PRINTABLE:{$entry.pager|escape:qp} {foreach from=$entry.mail item=mail} EMAIL;INTERNET:{$mail} {/foreach} -ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;{$entry.street|escape:qp};{$entry.location|escape:qp};;{$entry.plz|escape:qp}; +ADR;WORK;ENCODING=QUOTED-PRINTABLE:;;{$entry.street|escape:qp};{$entry.location|escape:qp};;{$entry.plz|escape:qp};{$entry.country|escape:qp} ADR;HOME;ENCODING=QUOTED-PRINTABLE:;;{$entry.homestreet|escape:qp} URL;WORK:{$entry.url} BDAY:{$entry.birthday} diff --git a/templates/list_csv.tpl b/templates/list_csv.tpl index 34835a2..5c00f3a 100644 --- a/templates/list_csv.tpl +++ b/templates/list_csv.tpl @@ -1,2 +1,2 @@ -{$lang.name|csv};{$lang.givenname|csv};{$lang.title|csv};{$lang.organization|csv};{$lang.office|csv};{$lang.street|csv};{$lang.zip|csv};{$lang.location|csv};{$lang.phone|csv};{$lang.fax|csv};{$lang.pager|csv};{$lang.homestreet|csv};{$lang.homephone|csv};{$lang.mobile|csv};{$lang.url|csv};{$lang.note|csv};{$lang.mail|csv};{$lang.mail|csv};{$lang.mail|csv};{$lang.marker|csv} +{$lang.name|csv};{$lang.givenname|csv};{$lang.title|csv};{$lang.organization|csv};{$lang.office|csv};{$lang.street|csv};{$lang.zip|csv};{$lang.location|csv};{$lang.country|csv};{$lang.phone|csv};{$lang.fax|csv};{$lang.pager|csv};{$lang.homestreet|csv};{$lang.homephone|csv};{$lang.mobile|csv};{$lang.url|csv};{$lang.note|csv};{$lang.mail|csv};{$lang.mail|csv};{$lang.mail|csv};{$lang.marker|csv} {$list} diff --git a/templates/list_csv_entry.tpl b/templates/list_csv_entry.tpl index d37b082..6083bd4 100644 --- a/templates/list_csv_entry.tpl +++ b/templates/list_csv_entry.tpl @@ -1,2 +1,2 @@ -{$entry.name|csv};{$entry.givenname|csv};{$entry.title|csv};{$entry.organization|csv};{$entry.office|csv};{$entry.street|csv};{$entry.zip|csv};{$entry.location|csv};{$entry.phone|csv};{$entry.fax|csv};{$entry.pager|csv};{$entry.homestreet|csv};{$entry.homephone|csv};{$entry.mobile|csv};{$lang.url|csv};{$entry.note|csv};{$entry.mail[0]|csv};{$entry.mail[1]|csv};{$entry.mail[2]|csv};{$entry.markers|csv} +{$entry.name|csv};{$entry.givenname|csv};{$entry.title|csv};{$entry.organization|csv};{$entry.office|csv};{$entry.street|csv};{$entry.zip|csv};{$entry.location|csv};{$entry.country|csv};{$entry.phone|csv};{$entry.fax|csv};{$entry.pager|csv};{$entry.homestreet|csv};{$entry.homephone|csv};{$entry.mobile|csv};{$lang.url|csv};{$entry.note|csv};{$entry.mail[0]|csv};{$entry.mail[1]|csv};{$entry.mail[2]|csv};{$entry.markers|csv} diff --git a/templates/list_map_entry.tpl b/templates/list_map_entry.tpl index 9027a47..8d5829b 100644 --- a/templates/list_map_entry.tpl +++ b/templates/list_map_entry.tpl @@ -1,6 +1,6 @@ {ldelim} - adr: '{$entry.street|escape:javascript}, {$entry.zip|escape:javascript} {$entry.location|escape:javascript}', + adr: '{$entry.street|escape:javascript}, {$entry.zip|escape:javascript} {$entry.location|escape:javascript}, {$entry.country|escape:javascript}', info: '\x3ch4\x3e\x3ca href="entry.php?dn={$entry.dn|escape:url}"\x3e'+ '{$entry.givenname|escape:javascript} {$entry.name|escape:javascript}\x3c/a\x3e\x3c/h4\x3e'+ '{$entry.organization|escape:javascript}\x3cbr /\x3e'+ -- 2.39.2