Merge branch 'dev' into oauth2

This commit is contained in:
Andrew Manning 2018-03-27 21:11:34 -04:00
commit 1dc795722a
864 changed files with 54337 additions and 31186 deletions

View file

@ -62,28 +62,34 @@ matrix:
fast_finish: true
# Additional check combinations
include:
# PHP7.1, mariadb 10.1
- php: '7.1'
env: DB=mariadb MARIADB_VERSION=10.1 CODECOV=1
# PHP7.2, mariadb 10.2
- php: '7.2'
env: DB=mariadb MARIADB_VERSION=10.2 CODECOV=1
# use mariadb instead of MySQL
addons:
mariadb: '10.1'
# PHP7.1, PostgreSQL 9.6
- php: '7.1'
mariadb: '10.2'
# PHP7.2, PostgreSQL 9.6
- php: '7.2'
env: DB=pgsql POSTGRESQL_VERSION=9.6 PHPUNITFILE=phpunit-pgsql.xml
# Use newer postgres than 9.2 default
addons:
postgresql: '9.6'
services:
- postgresql
# PHP7.1, old precise distribution with MySQL 5.5
- php: '7.1'
# PostgreSQL 10 with Docker container
- php: '7.2'
env: DB=pgsql POSTGRESQL_VERSION=10 PHPUNITFILE=phpunit-pgsql.xml
sudo: required
services:
- docker
# PHP7.2, old precise distribution with MySQL 5.5
- php: '7.2'
env: DB=mysql MYSQL_VERSION=5.5
dist: precise
services:
- mysql
# MySQL 5.7 with Docker container
- php: '7.1'
- php: '7.2'
env: DB=mysql MYSQL_VERSION=5.7
sudo: required
services:
@ -109,6 +115,8 @@ before_install:
- travis_retry composer self-update
# Start MySQL 5.7 Docker container, needs some time to come up
- if [[ "$MYSQL_VERSION" == "5.7" ]]; then sudo service mysql stop; docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mysql:5.7 && sleep 25 && docker ps; fi
# Start PostgreSQL 10 Docker container, needs some time to come up
- if [[ "$POSTGRESQL_VERSION" == "10" ]]; then sudo service postgresql stop; docker run -d -p 5432:5432 postgres:10-alpine && sleep 35 && docker ps; fi
# Install composer dev libs
install:

View file

@ -41,6 +41,24 @@ class PermissionRoles {
break;
case 'social_party':
$ret['perms_auto'] = false;
$ret['default_collection'] = false;
$ret['directory_publish'] = true;
$ret['online'] = true;
$ret['perms_connect'] = [
'view_stream', 'view_profile', 'view_contacts', 'view_storage',
'view_pages', 'view_wiki', 'send_stream', 'post_wall', 'post_comments',
'post_mail', 'chat', 'post_like', 'republish'
];
$ret['limits'] = PermissionLimits::Std_Limits();
$ret['limits']['post_comments'] = PERMS_AUTHED;
$ret['limits']['post_mail'] = PERMS_AUTHED;
$ret['limits']['post_like'] = PERMS_AUTHED;
$ret['limits']['chat'] = PERMS_AUTHED;
break;
case 'social_restricted':
$ret['perms_auto'] = false;
$ret['default_collection'] = true;
@ -263,6 +281,7 @@ class PermissionRoles {
static public function roles() {
$roles = [
t('Social Networking') => [
'social_party' => t('Social - Party'),
'social' => t('Social - Mostly Public'),
'social_restricted' => t('Social - Restricted'),
'social_private' => t('Social - Private')

View file

@ -785,6 +785,7 @@ class Apps {
dbesc($darray['app_plugin']),
intval($darray['app_deleted'])
);
if($r) {
$ret['success'] = true;
$ret['app_id'] = $darray['app_id'];
@ -871,6 +872,12 @@ class Apps {
dbesc($darray['app_id']),
intval($darray['app_channel'])
);
// if updating an embed app, don't mess with any existing categories.
if(array_key_exists('embed',$arr) && intval($arr['embed']))
return $ret;
if($x) {
q("delete from term where otype = %d and oid = %d",
intval(TERM_OBJ_APP),

View file

@ -126,8 +126,10 @@ class Share {
"' profile='" . $this->item['author']['xchan_url'] .
"' avatar='" . $this->item['author']['xchan_photo_s'] .
"' link='" . $this->item['plink'] .
"' auth='" . (($this->item['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='" . $this->item['created'] .
"' message_id='".$this->item['mid']."']";
"' message_id='" . $this->item['mid'] .
"']";
if($this->item['title'])
$bb .= '[b]'.$this->item['title'].'[/b]'."\r\n";
$bb .= (($is_photo) ? $photo_bb . "\r\n" . $this->item['body'] : $this->item['body']);

View file

@ -82,7 +82,7 @@ class Acl extends \Zotlabs\Web\Controller {
if($search) {
$sql_extra = " AND groups.gname LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
$sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc($search) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
$sql_extra2 = "AND ( xchan_name LIKE " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " OR xchan_addr LIKE " . protect_sprintf( "'%" . dbesc(punify($search)) . ((strpos($search,'@') === false) ? "%@%'" : "%'")) . ") ";
// This horrible mess is needed because position also returns 0 if nothing is found.
// Would be MUCH easier if it instead returned a very large value
@ -92,7 +92,7 @@ class Acl extends \Zotlabs\Web\Controller {
$order_extra2 = "CASE WHEN xchan_name LIKE "
. protect_sprintf( "'%" . dbesc($search) . "%'" )
. " then POSITION('" . protect_sprintf(dbesc($search))
. "' IN xchan_name) else position('" . protect_sprintf(dbesc($search)) . "' IN xchan_addr) end, ";
. "' IN xchan_name) else position('" . protect_sprintf(dbesc(punify($search))) . "' IN xchan_addr) end, ";
$col = ((strpos($search,'@') !== false) ? 'xchan_addr' : 'xchan_name' );
$sql_extra3 = "AND $col like " . protect_sprintf( "'%" . dbesc($search) . "%'" ) . " ";
@ -435,7 +435,7 @@ class Acl extends \Zotlabs\Web\Controller {
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100);
if($url) {
$query = $url . '?f=' . (($token) ? '&t=' . urlencode($token) : '');
$query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode($search) : '');
$query .= '&name=' . urlencode($search) . "&limit=$count" . (($address) ? '&address=' . urlencode(punify($search)) : '');
$x = z_fetch_url($query);
if($x['success']) {

View file

@ -136,9 +136,10 @@ class Accounts {
$users = q("SELECT account_id , account_email, account_lastlog, account_created, account_expires, account_service_class, ( account_flags & %d ) > 0 as blocked,
(SELECT %s FROM channel as ch WHERE ch.channel_account_id = ac.account_id and ch.channel_removed = 0 ) as channels FROM account as ac
where true $serviceclass order by $key $dir limit %d offset %d ",
where true $serviceclass and account_flags != %d order by $key $dir limit %d offset %d ",
intval(ACCOUNT_BLOCKED),
db_concat('ch.channel_address', ' '),
intval(ACCOUNT_BLOCKED | ACCOUNT_PENDING),
intval(\App::$pager['itemspage']),
intval(\App::$pager['start'])
);

View file

@ -25,6 +25,7 @@ class Appman extends \Zotlabs\Web\Controller {
'photo' => escape_tags($_REQUEST['photo']),
'version' => escape_tags($_REQUEST['version']),
'price' => escape_tags($_REQUEST['price']),
'page' => escape_tags($_REQUEST['page']),
'requires' => escape_tags($_REQUEST['requires']),
'system' => intval($_REQUEST['system']),
'plugin' => escape_tags($_REQUEST['plugin']),

View file

@ -127,21 +127,26 @@ class Articles extends \Zotlabs\Web\Controller {
$editor = '';
}
$itemspage = get_pconfig(local_channel(),'system','itemspage');
\App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
$sql_extra = item_permissions_sql($owner);
$sql_item = '';
if($selected_card) {
$r = q("select * from iconfig where iconfig.cat = 'system' and iconfig.k = 'ARTICLE' and iconfig.v = '%s' limit 1",
dbesc($selected_card)
);
if($r) {
$sql_extra .= "and item.id = " . intval($r[0]['iid']) . " ";
$sql_item = "and item.id = " . intval($r[0]['iid']) . " ";
}
}
$r = q("select * from item
where item.uid = %d and item_type = %d
$sql_extra order by item.created desc",
$sql_extra $sql_item order by item.created desc $pager_sql",
intval($owner),
intval(ITEM_TYPE_ARTICLE)
);
@ -152,6 +157,8 @@ class Articles extends \Zotlabs\Web\Controller {
if($r) {
$pager_total = count($r);
$parents_str = ids_to_querystr($r,'id');
$items = q("SELECT item.*, item.id AS item_id
@ -173,13 +180,18 @@ class Articles extends \Zotlabs\Web\Controller {
$mode = 'articles';
$content = conversation($items,$mode,false,'traditional');
if(get_pconfig(local_channel(),'system','articles_list_mode') && (! $selected_card))
$page_mode = 'pager_list';
else
$page_mode = 'traditional';
$content = conversation($items,$mode,false,$page_mode);
$o = replace_macros(get_markup_template('cards.tpl'), [
'$title' => t('Articles'),
'$editor' => $editor,
'$content' => $content,
'$pager' => alt_pager($a,count($items))
'$pager' => alt_pager($a,$pager_total)
]);
return $o;

View file

@ -131,20 +131,26 @@ class Cards extends \Zotlabs\Web\Controller {
}
$itemspage = get_pconfig(local_channel(),'system','itemspage');
\App::set_pager_itemspage(((intval($itemspage)) ? $itemspage : 20));
$pager_sql = sprintf(" LIMIT %d OFFSET %d ", intval(\App::$pager['itemspage']), intval(\App::$pager['start']));
$sql_extra = item_permissions_sql($owner);
$sql_item = '';
if($selected_card) {
$r = q("select * from iconfig where iconfig.cat = 'system' and iconfig.k = 'CARD' and iconfig.v = '%s' limit 1",
dbesc($selected_card)
);
if($r) {
$sql_extra .= "and item.id = " . intval($r[0]['iid']) . " ";
$sql_item = "and item.id = " . intval($r[0]['iid']) . " ";
}
}
$r = q("select * from item
where uid = %d and item_type = %d
$sql_extra order by item.created desc",
$sql_extra $sql_item order by item.created desc $pager_sql",
intval($owner),
intval(ITEM_TYPE_CARD)
);
@ -156,6 +162,8 @@ class Cards extends \Zotlabs\Web\Controller {
$items_result = [];
if($r) {
$pager_total = count($r);
$parents_str = ids_to_querystr($r, 'id');
$items = q("SELECT item.*, item.id AS item_id
@ -175,13 +183,18 @@ class Cards extends \Zotlabs\Web\Controller {
$mode = 'cards';
$content = conversation($items_result, $mode, false, 'traditional');
if(get_pconfig(local_channel(),'system','articles_list_mode') && (! $selected_card))
$page_mode = 'pager_list';
else
$page_mode = 'traditional';
$content = conversation($items_result, $mode, false, $page_mode);
$o = replace_macros(get_markup_template('cards.tpl'), [
'$title' => t('Cards'),
'$editor' => $editor,
'$content' => $content,
'$pager' => alt_pager($a, count($items_result))
'$pager' => alt_pager($a, $pager_total)
]);
return $o;

View file

@ -19,7 +19,7 @@ class Chanview extends \Zotlabs\Web\Controller {
}
if($_REQUEST['address']) {
$r = q("select * from xchan where xchan_addr = '%s' limit 1",
dbesc($_REQUEST['address'])
dbesc(punify($_REQUEST['address']))
);
}
elseif(local_channel() && intval($_REQUEST['cid'])) {

View file

@ -60,6 +60,12 @@ class Cloud extends \Zotlabs\Web\Controller {
// if we arrived at this path with any query parameters in the url, build a clean url without
// them and redirect.
if(! array_key_exists('cloud_sort',$_SESSION)) {
$_SESSION['cloud_sort'] = 'name';
}
$_SESSION['cloud_sort'] = (($_REQUEST['sort']) ? trim(notags($_REQUEST['sort'])) : $_SESSION['cloud_sort']);
$x = clean_query_string();
if($x !== \App::$query_string)
goaway(z_root() . '/' . $x);

View file

@ -32,6 +32,7 @@ class Connections extends \Zotlabs\Web\Controller {
nav_set_selected('Connections');
$active = false;
$blocked = false;
$hidden = false;
$ignored = false;
@ -44,11 +45,16 @@ class Connections extends \Zotlabs\Web\Controller {
if(! $_REQUEST['aj'])
$_SESSION['return_url'] = \App::$query_string;
$search_flags = '';
$search_flags = "";
$head = '';
if(argc() == 2) {
switch(argv(1)) {
case 'active':
$search_flags = " and abook_blocked = 0 and abook_ignored = 0 and abook_hidden = 0 and abook_archived = 0 AND abook_not_here = 0 ";
$head = t('Active');
$active = true;
break;
case 'blocked':
$search_flags = " and abook_blocked = 1 ";
$head = t('Blocked');
@ -101,8 +107,9 @@ class Connections extends \Zotlabs\Web\Controller {
case 'all':
$head = t('All');
default:
$search_flags = '';
$all = true;
$search_flags = " and abook_blocked = 0 and abook_ignored = 0 and abook_hidden = 0 and abook_archived = 0 and abook_not_here = 0 ";
$active = true;
$head = t('Active');
break;
}
@ -129,6 +136,13 @@ class Connections extends \Zotlabs\Web\Controller {
),
*/
'active' => array(
'label' => t('Active Connections'),
'url' => z_root() . '/connections/active',
'sel' => ($active) ? 'active' : '',
'title' => t('Show active connections'),
),
'pending' => array(
'label' => t('New Connections'),
'url' => z_root() . '/connections/pending',
@ -136,12 +150,6 @@ class Connections extends \Zotlabs\Web\Controller {
'title' => t('Show pending (new) connections'),
),
'all' => array(
'label' => t('All Connections'),
'url' => z_root() . '/connections/all',
'sel' => ($all) ? 'active' : '',
'title' => t('Show all connections'),
),
/*
array(
@ -188,6 +196,13 @@ class Connections extends \Zotlabs\Web\Controller {
// ),
'all' => array(
'label' => t('All Connections'),
'url' => z_root() . '/connections',
'sel' => ($all) ? 'active' : '',
'title' => t('Show all connections'),
),
);
//$tab_tpl = get_markup_template('common_tabs.tpl');
@ -238,6 +253,7 @@ class Connections extends \Zotlabs\Web\Controller {
$status_str = '';
$status = array(
((intval($rr['abook_active'])) ? t('Active') : ''),
((intval($rr['abook_pending'])) ? t('Pending approval') : ''),
((intval($rr['abook_archived'])) ? t('Archived') : ''),
((intval($rr['abook_hidden'])) ? t('Hidden') : ''),

View file

@ -134,6 +134,40 @@ class Display extends \Zotlabs\Web\Controller {
return '';
}
}
if($target_item['item_type'] == ITEM_TYPE_ARTICLE) {
$x = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
$y = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'ARTICLE' and item.id = %d limit 1",
intval($target_item['uid']),
intval($target_item['id'])
);
if($x && $y) {
goaway(z_root() . '/articles/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
}
else {
notice( t('Page not found.') . EOL);
return '';
}
}
if($target_item['item_type'] == ITEM_TYPE_CARD) {
$x = q("select * from channel where channel_id = %d limit 1",
intval($target_item['uid'])
);
$y = q("select * from iconfig left join item on iconfig.iid = item.id
where item.uid = %d and iconfig.cat = 'system' and iconfig.k = 'CARD' and item.id = %d limit 1",
intval($target_item['uid']),
intval($target_item['id'])
);
if($x && $y) {
goaway(z_root() . '/cards/' . $x[0]['channel_address'] . '/' . $y[0]['v']);
}
else {
notice( t('Page not found.') . EOL);
return '';
}
}
$static = ((array_key_exists('static',$_REQUEST)) ? intval($_REQUEST['static']) : 0);

View file

@ -14,7 +14,7 @@ class Follow extends \Zotlabs\Web\Controller {
}
$uid = local_channel();
$url = notags(trim($_REQUEST['url']));
$url = notags(trim(punify($_REQUEST['url'])));
$return_url = $_SESSION['return_url'];
$confirm = intval($_REQUEST['confirm']);
$interactive = (($_REQUEST['interactive']) ? intval($_REQUEST['interactive']) : 1);

View file

@ -830,6 +830,12 @@ class Item extends \Zotlabs\Web\Controller {
$datarray['plink'] = $plink;
$datarray['route'] = $route;
// A specific ACL over-rides public_policy completely
if(! empty_acl($datarray))
$datarray['public_policy'] = '';
if($iconfig)
$datarray['iconfig'] = $iconfig;

View file

@ -47,11 +47,18 @@ class Moderate extends \Zotlabs\Web\Controller {
);
if($r) {
$item = $r[0];
if($action === 'approve') {
q("update item set item_blocked = 0 where uid = %d and id = %d",
intval(local_channel()),
intval($post_id)
);
$item['item_blocked'] = 0;
item_update_parent_commented($item);
notice( t('Comment approved') . EOL);
}
elseif($action === 'drop') {
@ -59,6 +66,8 @@ class Moderate extends \Zotlabs\Web\Controller {
notice( t('Comment deleted') . EOL);
}
// refetch the item after changes have been made
$r = q("select * from item where id = %d",
intval($post_id)
);

View file

@ -17,6 +17,13 @@ class New_channel extends \Zotlabs\Web\Controller {
$result = array('error' => false, 'message' => '');
$n = trim($_REQUEST['name']);
$x = false;
if(get_config('system','unicode_usernames')) {
$x = punify(mb_strtolower($n));
}
if((! $x) || strlen($x) > 64)
$x = strtolower(\URLify::transliterate($n));
$test = array();
@ -43,6 +50,13 @@ class New_channel extends \Zotlabs\Web\Controller {
$result = array('error' => false, 'message' => '');
$n = trim($_REQUEST['nick']);
$x = false;
if(get_config('system','unicode_usernames')) {
$x = punify(mb_strtolower($n));
}
if((! $x) || strlen($x) > 64)
$x = strtolower(\URLify::transliterate($n));
$test = array();

View file

@ -0,0 +1,69 @@
<?php
namespace Zotlabs\Module;
require_once('include/contact_widgets.php');
require_once('include/items.php');
require_once("include/bbcode.php");
require_once('include/security.php');
require_once('include/conversation.php');
require_once('include/acl_selectors.php');
require_once('include/permissions.php');
/**
* @brief Channel Controller for broken OStatus implementations
*
*/
class Ochannel extends \Zotlabs\Web\Controller {
function init() {
$which = null;
if(argc() > 1)
$which = argv(1);
if(! $which) {
if(local_channel()) {
$channel = \App::get_channel();
if($channel && $channel['channel_address'])
$which = $channel['channel_address'];
}
}
if(! $which) {
notice( t('You must be logged in to see this page.') . EOL );
return;
}
$profile = 0;
$channel = \App::get_channel();
if((local_channel()) && (argc() > 2) && (argv(2) === 'view')) {
$which = $channel['channel_address'];
$profile = argv(1);
}
head_add_link( [
'rel' => 'alternate',
'type' => 'application/atom+xml',
'href' => z_root() . '/ofeed/' . $which
]);
// Run profile_load() here to make sure the theme is set before
// we start loading content
profile_load($which,$profile);
}
function get($update = 0, $load = false) {
if(argc() < 2)
return;
if($load)
$_SESSION['loadtime'] = datetime_convert();
return '<script>window.location.href = "' . z_root() . '/' . str_replace('ochannel/','channel/',\App::$query_string) . '";</script>';
}
}

View file

@ -125,6 +125,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
"' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
@ -209,6 +210,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
"' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
@ -292,6 +294,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
"' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])
@ -366,6 +369,7 @@ class Oep extends \Zotlabs\Web\Controller {
"' profile='".$p[0]['author']['xchan_url'] .
"' avatar='".$p[0]['author']['xchan_photo_s'].
"' link='".$p[0]['plink'].
"' auth='".(($p[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='".$p[0]['created'].
"' message_id='".$p[0]['mid']."']";
if($p[0]['title'])

View file

@ -655,7 +655,7 @@ class Profiles extends \Zotlabs\Web\Controller {
intval($id),
intval(local_channel())
);
if(! count($r)) {
if(! $r) {
notice( t('Profile not found.') . EOL);
return;
}
@ -712,13 +712,10 @@ class Profiles extends \Zotlabs\Web\Controller {
$tpl = get_markup_template("profile_edit.tpl");
$o .= replace_macros($tpl,array(
'$multi_profiles' => ((feature_enabled(local_channel(),'multi_profiles')) ? true : false),
'$form_security_token' => get_form_security_token("profile_edit"),
'$profile_clone_link' => ((feature_enabled(local_channel(),'multi_profiles')) ? 'profiles/clone/' . $r[0]['id'] . '?t='
. get_form_security_token("profile_clone") : ''),
'$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t='
. get_form_security_token("profile_drop"),
'$profile_clone_link' => 'profiles/clone/' . $r[0]['id'] . '?t=' . get_form_security_token("profile_clone"),
'$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t=' . get_form_security_token("profile_drop"),
'$fields' => $fields,
'$vcard' => $vcard,
'$guid' => $r[0]['profile_guid'],

View file

@ -35,6 +35,8 @@ class Regmod extends \Zotlabs\Web\Controller {
if($cmd === 'allow') {
if (! account_allow($hash)) killme();
}
goaway('/admin/accounts');
}
}

View file

@ -111,43 +111,7 @@ class Rpost extends \Zotlabs\Web\Controller {
}
if($_REQUEST['post_id']) {
$r = q("SELECT * from item WHERE id = %d LIMIT 1",
intval($_REQUEST['post_id'])
);
if(($r) && (! intval($r[0]['item_private']))) {
$sql_extra = item_permissions_sql($r[0]['uid']);
$r = q("select * from item where id = %d $sql_extra",
intval($_REQUEST['post_id'])
);
if($r && $r[0]['mimetype'] === 'text/bbcode') {
xchan_query($r);
$is_photo = (($r[0]['obj_type'] === ACTIVITY_OBJ_PHOTO) ? true : false);
if($is_photo) {
$object = json_decode($r[0]['obj'],true);
$photo_bb = $object['body'];
}
if (strpos($r[0]['body'], "[/share]") !== false) {
$pos = strpos($r[0]['body'], "[share");
$i = substr($r[0]['body'], $pos);
} else {
$i = "[share author='".urlencode($r[0]['author']['xchan_name']).
"' profile='".$r[0]['author']['xchan_url'] .
"' avatar='".$r[0]['author']['xchan_photo_s'].
"' link='".$r[0]['plink'].
"' posted='".$r[0]['created'].
"' message_id='".$r[0]['mid']."']";
if($r[0]['title'])
$i .= '[b]'.$r[0]['title'].'[/b]'."\r\n";
$i .= (($is_photo) ? $photo_bb . "\r\n" . $r[0]['body'] : $r[0]['body']);
$i .= "[/share]";
}
}
}
$_REQUEST['body'] = $_REQUEST['body'] . $i;
$_REQUEST['body'] .= '[share=' . intval($_REQUEST['post_id']) . '][/share]';
}
$x = array(

View file

@ -202,7 +202,7 @@ class Channel {
$vnotify += intval($_POST['vnotify9']);
if(x($_POST,'vnotify10'))
$vnotify += intval($_POST['vnotify10']);
if(x($_POST,'vnotify11'))
if(x($_POST,'vnotify11') && is_site_admin())
$vnotify += intval($_POST['vnotify11']);
if(x($_POST,'vnotify12'))
$vnotify += intval($_POST['vnotify12']);
@ -569,7 +569,7 @@ class Channel {
'$vnotify8' => array('vnotify8', t('System info messages'), ($vnotify & VNOTIFY_INFO), VNOTIFY_INFO, t('Recommended'), $yes_no),
'$vnotify9' => array('vnotify9', t('System critical alerts'), ($vnotify & VNOTIFY_ALERT), VNOTIFY_ALERT, t('Recommended'), $yes_no),
'$vnotify10' => array('vnotify10', t('New connections'), ($vnotify & VNOTIFY_INTRO), VNOTIFY_INTRO, t('Recommended'), $yes_no),
'$vnotify11' => array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no),
'$vnotify11' => ((is_site_admin()) ? array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no) : array()),
'$vnotify12' => array('vnotify12', t('Unseen shared files'), ($vnotify & VNOTIFY_FILES), VNOTIFY_FILES, '', $yes_no),
'$vnotify13' => (($disable_discover_tab) ? array() : array('vnotify13', t('Unseen public activity'), ($vnotify & VNOTIFY_PUBS), VNOTIFY_PUBS, '', $yes_no)),
'$mailhost' => [ 'mailhost', t('Email notification hub (hostname)'), get_pconfig(local_channel(),'system','email_notify_host',\App::get_hostname()), sprintf( t('If your channel is mirrored to multiple hubs, set this to your preferred location. This will prevent duplicate email notifications. Example: %s'),\App::get_hostname()) ],

View file

@ -14,10 +14,15 @@ class Share extends \Zotlabs\Web\Controller {
if(! $post_id)
killme();
echo '[share=' . $post_id . '][/share]';
killme();
/**
* The remaining code is deprecated and handled in Zotlabs/Lib/Share.php at post
* submission time.
*/
if(! (local_channel() || remote_channel()))
killme();
@ -64,8 +69,10 @@ class Share extends \Zotlabs\Web\Controller {
"' profile='" . $r[0]['author']['xchan_url'] .
"' avatar='" . $r[0]['author']['xchan_photo_s'] .
"' link='" . $r[0]['plink'] .
"' auth='" . (($r[0]['author']['network'] === 'zot') ? 'true' : 'false') .
"' posted='" . $r[0]['created'] .
"' message_id='".$r[0]['mid']."']";
"' message_id='" . $r[0]['mid'] .
"']";
if($r[0]['title'])
$o .= '[b]'.$r[0]['title'].'[/b]'."\r\n";
$o .= (($is_photo) ? $photo_bb . "\r\n" . $r[0]['body'] : $r[0]['body']);

View file

@ -680,7 +680,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo
throw new DAV\Exception\Forbidden('Permission denied.');
}
else {
throw new DAV\Exception\NotFound('A component of the request file path could not be found.');
throw new DAV\Exception\NotFound('A component of the requested file path could not be found.');
}
}
@ -691,7 +691,23 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota, DAV\IMo
}
$prefix = '';
if(! array_key_exists('cloud_sort',$_SESSION))
$_SESSION['cloud_sort'] = 'name';
switch($_SESSION['cloud_sort']) {
case 'size':
$suffix = ' order by is_dir desc, filesize asc ';
break;
// The following provides inconsistent results for directories because we re-calculate the date for directories based on the most recent change
case 'date':
$suffix = ' order by is_dir desc, edited asc ';
break;
case 'name':
default:
$suffix = ' order by is_dir desc, filename asc ';
break;
}
$r = q("select $prefix id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, created, edited from attach where folder = '%s' and uid = %d $perms $suffix",
dbesc($folder),

View file

@ -9,16 +9,17 @@ class Newmember {
if(! local_channel())
return EMPTY_STR;
if(get_pconfig(local_channel(), 'system', 'disable_newmemberwidget'))
return EMPTY_STR;
$c = \App::get_channel();
if(! $c)
return EMPTY_STR;
$a = \App::get_account();
if(! $a)
return EMPTY_STR;
if(datetime_convert('UTC','UTC',$a['account_created']) < datetime_convert('UTC','UTC', 'now - 60 days'))
return EMPTY_STR;
@ -46,7 +47,7 @@ class Newmember {
t('Communicate'),
[
'channel/' . $channel['channel_address'] => t('View your channel homepage'),
'channel/' . $c['channel_address'] => t('View your channel homepage'),
'network' => t('View your network stream'),
],

View file

@ -85,7 +85,8 @@ define ( 'DIRECTORY_FALLBACK_MASTER', 'https://gravizot.de');
$DIRECTORY_FALLBACK_SERVERS = array(
'https://hubzilla.zottel.net',
'https://gravizot.de'
'https://gravizot.de',
'https://zotadel.net'
);

264
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "73ca170baa6ded94a989b8a1066e6a98",
"content-hash": "516114a0fbd804e5234ebeacbac30376",
"packages": [
{
"name": "bshaffer/oauth2-server-php",
@ -66,16 +66,16 @@
},
{
"name": "commerceguys/intl",
"version": "v0.7.4",
"version": "v0.7.5",
"source": {
"type": "git",
"url": "https://github.com/commerceguys/intl.git",
"reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00"
"reference": "de1435502068393fae4061818e194e4ea61b98d6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/commerceguys/intl/zipball/edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
"reference": "edfcfc26ed8505c4f6fcf862eb36dfda1af74b00",
"url": "https://api.github.com/repos/commerceguys/intl/zipball/de1435502068393fae4061818e194e4ea61b98d6",
"reference": "de1435502068393fae4061818e194e4ea61b98d6",
"shasum": ""
},
"require": {
@ -106,20 +106,20 @@
}
],
"description": "Internationalization library powered by CLDR data.",
"time": "2016-12-13T12:33:19+00:00"
"time": "2017-12-29T00:13:05+00:00"
},
{
"name": "ezyang/htmlpurifier",
"version": "v4.9.3",
"version": "v4.10.0",
"source": {
"type": "git",
"url": "https://github.com/ezyang/htmlpurifier.git",
"reference": "95e1bae3182efc0f3422896a3236e991049dac69"
"reference": "d85d39da4576a6934b72480be6978fb10c860021"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/95e1bae3182efc0f3422896a3236e991049dac69",
"reference": "95e1bae3182efc0f3422896a3236e991049dac69",
"url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/d85d39da4576a6934b72480be6978fb10c860021",
"reference": "d85d39da4576a6934b72480be6978fb10c860021",
"shasum": ""
},
"require": {
@ -153,7 +153,7 @@
"keywords": [
"html"
],
"time": "2017-06-03T02:28:16+00:00"
"time": "2018-02-23T01:58:20+00:00"
},
{
"name": "league/html-to-markdown",
@ -256,30 +256,25 @@
},
{
"name": "michelf/php-markdown",
"version": "1.7.0",
"version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/michelf/php-markdown.git",
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220"
"reference": "01ab082b355bf188d907b9929cd99b2923053495"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/1f51cc520948f66cd2af8cbc45a5ee175e774220",
"reference": "1f51cc520948f66cd2af8cbc45a5ee175e774220",
"url": "https://api.github.com/repos/michelf/php-markdown/zipball/01ab082b355bf188d907b9929cd99b2923053495",
"reference": "01ab082b355bf188d907b9929cd99b2923053495",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-lib": "1.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Michelf": ""
"psr-4": {
"Michelf\\": "Michelf/"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -303,7 +298,7 @@
"keywords": [
"markdown"
],
"time": "2016-10-29T18:58:20+00:00"
"time": "2018-01-15T00:49:33+00:00"
},
{
"name": "pear/text_languagedetect",
@ -538,16 +533,16 @@
},
{
"name": "sabre/http",
"version": "4.2.3",
"version": "v4.2.4",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/http.git",
"reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93"
"reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sabre-io/http/zipball/0295f9a3ee39be97e0898592fc19e42421e0cd93",
"reference": "0295f9a3ee39be97e0898592fc19e42421e0cd93",
"url": "https://api.github.com/repos/sabre-io/http/zipball/acccec4ba863959b2d10c1fa0fb902736c5c8956",
"reference": "acccec4ba863959b2d10c1fa0fb902736c5c8956",
"shasum": ""
},
"require": {
@ -590,7 +585,7 @@
"keywords": [
"http"
],
"time": "2017-06-12T07:53:04+00:00"
"time": "2018-02-23T11:10:29+00:00"
},
{
"name": "sabre/uri",
@ -645,16 +640,16 @@
},
{
"name": "sabre/vobject",
"version": "4.1.3",
"version": "4.1.5",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/vobject.git",
"reference": "df9916813d1d83e4f761c4cba13361ee74196fac"
"reference": "0928660e92d46d2d24336a6db320636aa3a75414"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sabre-io/vobject/zipball/df9916813d1d83e4f761c4cba13361ee74196fac",
"reference": "df9916813d1d83e4f761c4cba13361ee74196fac",
"url": "https://api.github.com/repos/sabre-io/vobject/zipball/0928660e92d46d2d24336a6db320636aa3a75414",
"reference": "0928660e92d46d2d24336a6db320636aa3a75414",
"shasum": ""
},
"require": {
@ -663,7 +658,7 @@
"sabre/xml": ">=1.5 <3.0"
},
"require-dev": {
"phpunit/phpunit": "> 4.8, <6.0.0",
"phpunit/phpunit": "> 4.8.35, <6.0.0",
"sabre/cs": "^1.0.0"
},
"suggest": {
@ -738,7 +733,7 @@
"xCal",
"xCard"
],
"time": "2017-10-18T08:29:40+00:00"
"time": "2018-03-08T21:06:39+00:00"
},
{
"name": "sabre/xml",
@ -1179,16 +1174,16 @@
},
{
"name": "behat/mink-extension",
"version": "2.3.0",
"version": "2.3.1",
"source": {
"type": "git",
"url": "https://github.com/Behat/MinkExtension.git",
"reference": "badc565b7a1d05c4a4bf49c789045bcf7af6c6de"
"reference": "80f7849ba53867181b7e412df9210e12fba50177"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Behat/MinkExtension/zipball/badc565b7a1d05c4a4bf49c789045bcf7af6c6de",
"reference": "badc565b7a1d05c4a4bf49c789045bcf7af6c6de",
"url": "https://api.github.com/repos/Behat/MinkExtension/zipball/80f7849ba53867181b7e412df9210e12fba50177",
"reference": "80f7849ba53867181b7e412df9210e12fba50177",
"shasum": ""
},
"require": {
@ -1234,7 +1229,7 @@
"test",
"web"
],
"time": "2017-11-24T19:30:49+00:00"
"time": "2018-02-06T15:36:30+00:00"
},
{
"name": "behat/mink-goutte-driver",
@ -2024,35 +2019,29 @@
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "4.2.0",
"version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "66465776cfc249844bde6d117abff1d22e06c2da"
"reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/66465776cfc249844bde6d117abff1d22e06c2da",
"reference": "66465776cfc249844bde6d117abff1d22e06c2da",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2",
"reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2",
"shasum": ""
},
"require": {
"php": "^7.0",
"php": "^5.6 || ^7.0",
"phpdocumentor/reflection-common": "^1.0.0",
"phpdocumentor/type-resolver": "^0.4.0",
"webmozart/assert": "^1.0"
},
"require-dev": {
"doctrine/instantiator": "~1.0.5",
"mockery/mockery": "^1.0",
"phpunit/phpunit": "^6.4"
"mockery/mockery": "^0.9.4",
"phpunit/phpunit": "^4.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev"
}
},
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": [
@ -2071,7 +2060,7 @@
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"time": "2017-11-27T17:38:31+00:00"
"time": "2017-11-10T14:09:06+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@ -2122,16 +2111,16 @@
},
{
"name": "phpspec/prophecy",
"version": "1.7.3",
"version": "1.7.5",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
"reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf"
"reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
"reference": "e4ed002c67da8eceb0eb8ddb8b3847bb53c5c2bf",
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/dfd6be44111a7c41c2e884a336cc4f461b3b2401",
"reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401",
"shasum": ""
},
"require": {
@ -2143,7 +2132,7 @@
},
"require-dev": {
"phpspec/phpspec": "^2.5|^3.2",
"phpunit/phpunit": "^4.8.35 || ^5.7"
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
},
"type": "library",
"extra": {
@ -2181,20 +2170,20 @@
"spy",
"stub"
],
"time": "2017-11-24T13:59:53+00:00"
"time": "2018-02-19T10:16:54+00:00"
},
{
"name": "phpunit/dbunit",
"version": "3.0.2",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/dbunit.git",
"reference": "403350339b6aca748ee0067d027d85621992e21f"
"reference": "0fa4329e490480ab957fe7b1185ea0996ca11f44"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/403350339b6aca748ee0067d027d85621992e21f",
"reference": "403350339b6aca748ee0067d027d85621992e21f",
"url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/0fa4329e490480ab957fe7b1185ea0996ca11f44",
"reference": "0fa4329e490480ab957fe7b1185ea0996ca11f44",
"shasum": ""
},
"require": {
@ -2233,7 +2222,7 @@
"testing",
"xunit"
],
"time": "2017-11-18T17:40:34+00:00"
"time": "2018-01-23T13:32:26+00:00"
},
{
"name": "phpunit/php-code-coverage",
@ -2773,21 +2762,21 @@
},
{
"name": "sebastian/comparator",
"version": "2.1.0",
"version": "2.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
"reference": "1174d9018191e93cb9d719edec01257fc05f8158"
"reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/1174d9018191e93cb9d719edec01257fc05f8158",
"reference": "1174d9018191e93cb9d719edec01257fc05f8158",
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
"reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
"shasum": ""
},
"require": {
"php": "^7.0",
"sebastian/diff": "^2.0",
"sebastian/diff": "^2.0 || ^3.0",
"sebastian/exporter": "^3.1"
},
"require-dev": {
@ -2833,7 +2822,7 @@
"compare",
"equality"
],
"time": "2017-11-03T07:16:52+00:00"
"time": "2018-02-01T13:46:46+00:00"
},
{
"name": "sebastian/diff",
@ -3287,16 +3276,16 @@
},
{
"name": "symfony/browser-kit",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
"reference": "f761b4ecdd23a451c2cae6fba704d8b207cbb045"
"reference": "490f27762705c8489bd042fe3e9377a191dba9b4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/f761b4ecdd23a451c2cae6fba704d8b207cbb045",
"reference": "f761b4ecdd23a451c2cae6fba704d8b207cbb045",
"url": "https://api.github.com/repos/symfony/browser-kit/zipball/490f27762705c8489bd042fe3e9377a191dba9b4",
"reference": "490f27762705c8489bd042fe3e9377a191dba9b4",
"shasum": ""
},
"require": {
@ -3340,20 +3329,20 @@
],
"description": "Symfony BrowserKit Component",
"homepage": "https://symfony.com",
"time": "2017-12-11T22:06:16+00:00"
"time": "2018-01-03T07:37:34+00:00"
},
{
"name": "symfony/class-loader",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/class-loader.git",
"reference": "e8d36a7b5568d232f5c3f8ef92665836b9f1e038"
"reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/class-loader/zipball/e8d36a7b5568d232f5c3f8ef92665836b9f1e038",
"reference": "e8d36a7b5568d232f5c3f8ef92665836b9f1e038",
"url": "https://api.github.com/repos/symfony/class-loader/zipball/e63c12699822bb3b667e7216ba07fbcc3a3e203e",
"reference": "e63c12699822bb3b667e7216ba07fbcc3a3e203e",
"shasum": ""
},
"require": {
@ -3396,20 +3385,20 @@
],
"description": "Symfony ClassLoader Component",
"homepage": "https://symfony.com",
"time": "2017-11-05T16:10:10+00:00"
"time": "2018-01-03T07:37:34+00:00"
},
{
"name": "symfony/config",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
"reference": "e57211b88aa889fefac1cb36866db04100b0f21c"
"reference": "05e10567b529476a006b00746c5f538f1636810e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/config/zipball/e57211b88aa889fefac1cb36866db04100b0f21c",
"reference": "e57211b88aa889fefac1cb36866db04100b0f21c",
"url": "https://api.github.com/repos/symfony/config/zipball/05e10567b529476a006b00746c5f538f1636810e",
"reference": "05e10567b529476a006b00746c5f538f1636810e",
"shasum": ""
},
"require": {
@ -3422,6 +3411,7 @@
},
"require-dev": {
"symfony/dependency-injection": "~3.3|~4.0",
"symfony/event-dispatcher": "~3.3|~4.0",
"symfony/finder": "~3.3|~4.0",
"symfony/yaml": "~3.0|~4.0"
},
@ -3458,20 +3448,20 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-02-14T10:03:57+00:00"
},
{
"name": "symfony/console",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "9f21adfb92a9315b73ae2ed43138988ee4913d4e"
"reference": "067339e9b8ec30d5f19f5950208893ff026b94f7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/9f21adfb92a9315b73ae2ed43138988ee4913d4e",
"reference": "9f21adfb92a9315b73ae2ed43138988ee4913d4e",
"url": "https://api.github.com/repos/symfony/console/zipball/067339e9b8ec30d5f19f5950208893ff026b94f7",
"reference": "067339e9b8ec30d5f19f5950208893ff026b94f7",
"shasum": ""
},
"require": {
@ -3527,20 +3517,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-02-26T15:46:28+00:00"
},
{
"name": "symfony/css-selector",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
"reference": "eac760b414cf1f64362c3dd047b989e4db121332"
"reference": "544655f1fc078a9cd839fdda2b7b1e64627c826a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/eac760b414cf1f64362c3dd047b989e4db121332",
"reference": "eac760b414cf1f64362c3dd047b989e4db121332",
"url": "https://api.github.com/repos/symfony/css-selector/zipball/544655f1fc078a9cd839fdda2b7b1e64627c826a",
"reference": "544655f1fc078a9cd839fdda2b7b1e64627c826a",
"shasum": ""
},
"require": {
@ -3580,20 +3570,20 @@
],
"description": "Symfony CssSelector Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-02-03T14:55:07+00:00"
},
{
"name": "symfony/debug",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
"reference": "543deab3ffff94402440b326fc94153bae2dfa7a"
"reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/debug/zipball/543deab3ffff94402440b326fc94153bae2dfa7a",
"reference": "543deab3ffff94402440b326fc94153bae2dfa7a",
"url": "https://api.github.com/repos/symfony/debug/zipball/9b1071f86e79e1999b3d3675d2e0e7684268b9bc",
"reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc",
"shasum": ""
},
"require": {
@ -3636,20 +3626,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
"time": "2017-12-12T08:27:14+00:00"
"time": "2018-02-28T21:49:22+00:00"
},
{
"name": "symfony/dependency-injection",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
"reference": "5f81907ea43bfa971ac2c7fbac593ebe7cd7d333"
"reference": "12e901abc1cb0d637a0e5abe9923471361d96b07"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5f81907ea43bfa971ac2c7fbac593ebe7cd7d333",
"reference": "5f81907ea43bfa971ac2c7fbac593ebe7cd7d333",
"url": "https://api.github.com/repos/symfony/dependency-injection/zipball/12e901abc1cb0d637a0e5abe9923471361d96b07",
"reference": "12e901abc1cb0d637a0e5abe9923471361d96b07",
"shasum": ""
},
"require": {
@ -3707,20 +3697,20 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-03-04T03:54:53+00:00"
},
{
"name": "symfony/dom-crawler",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
"reference": "dc847845c66fa68ad4522ed27e62b9b9dd12ab3b"
"reference": "2bb5d3101cc01f4fe580e536daf4f1959bc2d24d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/dc847845c66fa68ad4522ed27e62b9b9dd12ab3b",
"reference": "dc847845c66fa68ad4522ed27e62b9b9dd12ab3b",
"url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2bb5d3101cc01f4fe580e536daf4f1959bc2d24d",
"reference": "2bb5d3101cc01f4fe580e536daf4f1959bc2d24d",
"shasum": ""
},
"require": {
@ -3763,20 +3753,20 @@
],
"description": "Symfony DomCrawler Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-02-22T10:48:49+00:00"
},
{
"name": "symfony/event-dispatcher",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
"reference": "b869cbf8a15ca6261689de2c28a7d7f2d0706835"
"reference": "58990682ac3fdc1f563b7e705452921372aad11d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b869cbf8a15ca6261689de2c28a7d7f2d0706835",
"reference": "b869cbf8a15ca6261689de2c28a7d7f2d0706835",
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/58990682ac3fdc1f563b7e705452921372aad11d",
"reference": "58990682ac3fdc1f563b7e705452921372aad11d",
"shasum": ""
},
"require": {
@ -3826,20 +3816,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-02-14T10:03:57+00:00"
},
{
"name": "symfony/filesystem",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "25b135bea251829e3db6a77d773643408b575ed4"
"reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/25b135bea251829e3db6a77d773643408b575ed4",
"reference": "25b135bea251829e3db6a77d773643408b575ed4",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d2bf5aeded6f5e5e4a541",
"reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541",
"shasum": ""
},
"require": {
@ -3875,20 +3865,20 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
"time": "2017-12-14T19:40:10+00:00"
"time": "2018-02-22T10:48:49+00:00"
},
{
"name": "symfony/polyfill-mbstring",
"version": "v1.6.0",
"version": "v1.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296"
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
"reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"shasum": ""
},
"require": {
@ -3900,7 +3890,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.6-dev"
"dev-master": "1.7-dev"
}
},
"autoload": {
@ -3934,20 +3924,20 @@
"portable",
"shim"
],
"time": "2017-10-11T12:05:26+00:00"
"time": "2018-01-30T19:27:44+00:00"
},
{
"name": "symfony/translation",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
"reference": "4c5d5582baf2829751a5207659329c1f52eedeb6"
"reference": "80e19eaf12cbb546ac40384e5c55c36306823e57"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/translation/zipball/4c5d5582baf2829751a5207659329c1f52eedeb6",
"reference": "4c5d5582baf2829751a5207659329c1f52eedeb6",
"url": "https://api.github.com/repos/symfony/translation/zipball/80e19eaf12cbb546ac40384e5c55c36306823e57",
"reference": "80e19eaf12cbb546ac40384e5c55c36306823e57",
"shasum": ""
},
"require": {
@ -4002,20 +3992,20 @@
],
"description": "Symfony Translation Component",
"homepage": "https://symfony.com",
"time": "2017-12-12T08:27:14+00:00"
"time": "2018-02-22T06:28:18+00:00"
},
{
"name": "symfony/yaml",
"version": "v3.4.2",
"version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "afe0cd38486505c9703707707d91450cfc1bd536"
"reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/afe0cd38486505c9703707707d91450cfc1bd536",
"reference": "afe0cd38486505c9703707707d91450cfc1bd536",
"url": "https://api.github.com/repos/symfony/yaml/zipball/6af42631dcf89e9c616242c900d6c52bd53bd1bb",
"reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb",
"shasum": ""
},
"require": {
@ -4060,7 +4050,7 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"time": "2017-12-11T20:38:23+00:00"
"time": "2018-02-16T09:50:28+00:00"
},
{
"name": "theseer/tokenizer",
@ -4171,6 +4161,6 @@
"ext-openssl": "*"
},
"platform-dev": {
"php": ">=7.0"
"php": ">=5.6 || >=7.0"
}
}

View file

@ -78,7 +78,11 @@ See Also
[b]Mostly Public[/b]
The channel is a typical social networking profile. By default posts and published items are public, but one can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others.
The channel is a typical social networking profile. By default posts and published items are public, but you can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others. Only your immediate connections can comment on your public posts and send you private mail. The permission policies are similar to Facebook.
[b]Party[/b]
The channel is a permissive social networking profile. The permission policies are similar to Twitter and several free networks such as Diaspora and Mastodon. Anybody in the network can comment on your public posts and send you private mail. By default posts and published items are public, but you can over-ride this when creating the item and restrict it. You are listed in the directory. Your online presence and connections are visible to others. This mode [i]may[/i] increase your exposure to undesired communications and spam.
[b]Restricted[/b]
@ -94,16 +98,16 @@ By default all posts and published items are sent to your 'Friends' privacy grou
[b]Mostly Public[/b]
The channel is a typical forum. By default posts and published items are public. Members may post by @mention+ or wall-to-wall post. Posting photos and other published items is blocked. The channel is visible in the directory. Members are added automatically.
The channel is a typical forum. By default posts and published items are public. Members may post by !mention or wall-to-wall post. Posting photos and other published items is blocked. The channel is visible in the directory. Members are added automatically.
[b]Restricted[/b]
By default all posts and published items are sent to the channel's 'Friends' privacy group. New friends are added to this privacy group. Members may post by @mention+ or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.
By default all posts and published items are sent to the channel's 'Friends' privacy group. New friends are added to this privacy group. Members may post by !mention or wall-to-wall post, but posts and replies may also be seen by other receipients of the top-level post who are not members. The channel is visible in the directory. Members must be manually added by the forum owner.
[b]Private[/b]
By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by @mention+ is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' privacy group. They are not publicly visible.
By default all posts and published items are sent to your 'Friends' privacy group. New friends are added to this privacy group. The owner can over-ride this and create a public post or public item if desired. Members cannot. You are NOT listed in the directory. Only your connections can see your other connections. Your online presence is hidden. Members must be manually added by the forum owner. Posting by !mention is disabled. Posts can only be made via wall-to-wall posts, and sent to members of the 'Friends' privacy group. They are not publicly visible.
[h4]Feed[/h4]
@ -195,7 +199,7 @@ The process for connecting to channels on other networks (such as GNU-Social, Ma
Some communications offer more than one protocol. If you wish to connect with somebody on Mastodon (for instance) they can use either the 'ostatus' or the 'activitypub' protocol for communication. Generally the 'activitypub' protocol will provide a better experience than 'ostatus', but $Projectname will often choose the first protocol it discovers and this may not be the one you want. You may connect with somebody over a specific protocol by prepending the protocol name in square brackets to their &quot;webbie&quot;. For example
[code]
[activitypub]foobar@foo.bar
[activitypub]https://foo.bar/foobar
[ostatus]foobar@foo.bar
[diaspora]foobar@foo.bar
[zot]foobar@foo.bar

View file

@ -2,14 +2,12 @@
<div class="">
<div class="">
<h3 class="panel-title">
About
Tutorials
</h3>
</div>
<div id="about" class="doco-section">
<div id="tutorials" class="doco-section">
<div class="flex-column">
<a class="nav-link" href="/help/about/about">About</a>
<a class="nav-link" href="/help/about/project">Project</a>
<a class="nav-link" href="/help/about/about_hub">About this hub</a>
<a class="nav-link" href="/help/tutorials/personal_channel">Personal Channel</a>
</div>
</div>
</div>
@ -61,12 +59,14 @@
<div class="panel">
<div class="">
<h3 class="panel-title">
Tutorials
About
</h3>
</div>
<div id="tutorials" class="doco-section">
<div id="about" class="doco-section">
<div class="flex-column">
<a class="nav-link" href="/help/tutorials/personal_channel">Personal Channel</a>
<a class="nav-link" href="/help/about/about">About</a>
<a class="nav-link" href="/help/about/project">Project</a>
<a class="nav-link" href="/help/about/about_hub">About this hub</a>
</div>
</div>
</div>

View file

@ -13,8 +13,11 @@ to a personal channel in a natural way.</p>
<p>Enter your name and a nickname for the channel address, and select a "role".
Typically if this is a personal channel that represents you, select a <strong>Social</strong> role
with a level of default privacy that you are comfortable with. If you are unsure,
select <strong>Social - Restricted</strong>.</p>
select <strong>Social - Mostly public</strong> which allows easy interaction and provides privacy when you need it.
Alternatively, <strong>Social - Restricted</strong> is very popular among privacy advocates, though it may require a bit more
effort to meet people. Whichever setting you choose can be changed later if you decide you require more or less privacy than what is provided.</p>
<!-- This section no longer applicable
<h3 id="Configure_your_channel_features">Configure your channel features</h3>
<p>When your new channel is created you are directed to the channel settings page.
@ -26,17 +29,13 @@ enable various features. Remember to press the Submit button when you are done w
your selections.</p>
<p><img class="img-responsive" src="/help/tutorials/assets/3656a67dce40a1fc2515e9089217f2e136d4fcf8babe77bac00ecaad43ce.png" alt="image"><img class="img-responsive" src="/help/tutorials/assets/4aaaf1e124514c8d6999a5fe1d07be5af460cda4ba6cde9106ebc1564bb0.png" alt="image"><img class="img-responsive" src="/help/tutorials/assets/99a6efda4df631dfb2d2a849412044cc6a0f8aebeac289d28786f2649d24.png" alt="image"><img class="img-responsive" src="/help/tutorials/assets/e5d5674a34e848e2cce90a60fc416415271d9c51b81ad2a950fb0157222a.png" alt="image"></p>
-->
<h3 id="Add_a_profile_photo">Add a profile photo</h3>
<p>Navigate to your channel home by clicking the "Home" icon on the left side of the
navbar, and then select the <strong>About</strong> tab to view your profile.</p>
<p>When your new channel is created, you will be directed to a page determined by your site admin. By default this is the <strong>Edit Profile</strong> page.
<p>Press the <strong>Edit</strong> button on the right to edit your profile information.</p>
<p><img class="img-responsive" src="/help/tutorials/assets/2243e48ccea25bd907cce3dbd6fc9f7cd832a4c91a4c5dd294b7b219e7d8.png" alt="image"></p>
<p>From the <strong>Profile Tools</strong> dropdown menu, select the <strong>Change profile photo</strong></p>
<p>From the <strong>Profile Tools</strong> dropdown menu, select <strong>Change profile photo</strong> (or just click the profile photo).</p>
<p><img class="img-responsive" src="/help/tutorials/assets/31f42a02bdbae095e0329db6c3814e2975979aff12f873f43d81724c5e61.png" alt="image"></p>
@ -44,7 +43,7 @@ navbar, and then select the <strong>About</strong> tab to view your profile.</p>
<p><img class="img-responsive" src="/help/tutorials/assets/458a842c2ea0fbe3b7869bb14dfffe1e5be098d1cd6e590bbead25b4cc05.png" alt="image"></p>
<p>When you press <strong>Submit</strong> you will be redirected back to the profile editor.
<p>When you press <strong>Done Editing</strong> you will be redirected back to the profile editor.
(You might need to clear your browser cache if you have trouble seeing the new photo.)</p>
<p><img class="img-responsive" src="/help/tutorials/assets/d080e92d797af5e863fa39b2084c16a8410de1f7a6559633435817444aef.png" alt="image"></p>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 449 B

After

Width:  |  Height:  |  Size: 435 B

View file

@ -311,6 +311,19 @@ function bb_ShareAttributes($match) {
if ($matches[1] != "")
$posted = $matches[1];
$auth = "";
preg_match("/auth='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "") {
if($matches[1] === 'true')
$auth = true;
else
$auth = false;
}
if($auth === EMPTY_STR) {
$auth = is_matrix_url($profile);
}
// message_id is never used, do we still need it?
$message_id = "";
preg_match("/message_id='(.*?)'/ism", $attributes, $matches);
@ -329,7 +342,7 @@ function bb_ShareAttributes($match) {
$headline = '<div class="shared_container"> <div class="shared_header">';
if ($avatar != "")
$headline .= '<a href="' . zid($profile) . '" ><img src="' . $avatar . '" alt="' . $author . '" height="32" width="32" /></a>';
$headline .= '<a href="' . (($auth) ? zid($profile) : $profile) . '" ><img src="' . $avatar . '" alt="' . $author . '" height="32" width="32" /></a>';
if(strpos($link,'/cards/'))
$type = t('card');
@ -341,8 +354,8 @@ function bb_ShareAttributes($match) {
// Bob Smith wrote the following post 2 hours ago
$fmt = sprintf( t('%1$s wrote the following %2$s %3$s'),
'<a href="' . zid($profile) . '" >' . $author . '</a>',
'<a href="' . zid($link) . '" >' . $type . '</a>',
'<a href="' . (($auth) ? zid($profile) : $profile) . '" >' . $author . '</a>',
'<a href="' . (($auth) ? zid($link) : $link) . '" >' . $type . '</a>',
$reldate
);
@ -393,7 +406,7 @@ function bb_ShareAttributesSimple($match) {
if ($matches[1] != "")
$profile = $matches[1];
$text = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' <a href="' . $profile . '">' . $author . '</a>: div class="reshared-content">' . $match[2] . '</div>';
$text = html_entity_decode("&#x2672; ", ENT_QUOTES, 'UTF-8') . ' <a href="' . $profile . '">' . $author . '</a>: <div class="reshared-content">' . $match[2] . '</div>';
return($text);
}

View file

@ -1234,7 +1234,7 @@ function profile_load($nickname, $profile = '') {
);
if($z) {
$p[0]['picdate'] = $z[0]['xchan_photo_date'];
$p[0]['reddress'] = str_replace('@','&#x40;',$z[0]['xchan_addr']);
$p[0]['reddress'] = str_replace('@','&#x40;',unpunify($z[0]['xchan_addr']));
}
// fetch user tags if this isn't the default profile
@ -1255,7 +1255,7 @@ function profile_load($nickname, $profile = '') {
App::$profile = $p[0];
App::$profile_uid = $p[0]['profile_uid'];
App::$page['title'] = App::$profile['channel_name'] . " - " . channel_reddress(App::$profile);
App::$page['title'] = App::$profile['channel_name'] . " - " . unpunify(channel_reddress(App::$profile));
App::$profile['permission_to_view'] = $can_view_profile;

View file

@ -421,7 +421,10 @@ function random_profile() {
for($i = 0; $i < $retryrandom; $i++) {
$r = q("select xchan_url, xchan_hash from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_hidden = 0 and xchan_system = 0 and hubloc_connected > %s - interval %s order by $randfunc limit 1",
$r = q("select xchan_url, xchan_hash from xchan left join hubloc on hubloc_hash = xchan_hash where
xchan_hidden = 0 and xchan_system = 0 and
xchan_network = 'zot' and xchan_deleted = 0 and
hubloc_connected > %s - interval %s order by $randfunc limit 1",
db_utcnow(),
db_quoteinterval('30 day')
);

View file

@ -838,11 +838,11 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
$item_object = new Zotlabs\Lib\ThreadItem($item);
$conv->add_thread($item_object);
if($page_mode === 'list') {
if(($page_mode === 'list') || ($page_mode === 'pager_list')) {
$item_object->set_template('conv_list.tpl');
$item_object->set_display_mode('list');
}
if($page_mode === 'cards') {
if($mode === 'cards' || $mode === 'articles') {
$item_object->set_reload($jsreload);
}
@ -857,7 +857,7 @@ function conversation($items, $mode, $update, $page_mode = 'traditional', $prepa
}
}
if($page_mode === 'traditional' || $page_mode === 'preview') {
if(in_array($page_mode, [ 'traditional', 'preview', 'pager_list'] )) {
$page_template = get_markup_template("threaded_conversation.tpl");
}
elseif($update) {

View file

@ -668,6 +668,14 @@ function get_atom_elements($feed, $item) {
}
$termterm = notags(trim(unxmlify($term)));
// Mastodon auto generates an nsfw category tag for any 'content-warning' message.
// Most people use CW and use both summary/content as a spoiler and we honour that
// construct so the post will already be collapsed. The generated tag is almost
// always wrong and even if it isn't we would already be doing the right thing.
if($mastodon && $termterm === 'nsfw' && $summary && $res['body'])
continue;
if($termterm) {
$terms[] = array(
'otype' => TERM_OBJ_POST,
@ -926,6 +934,7 @@ function feed_get_reshare(&$res,$item) {
"' profile='" . $share['profile'] .
"' avatar='" . $share['avatar'] .
"' link='" . $share['alternate'] .
"' auth='" . 'false' .
"' posted='" . $share['created'] .
"' message_id='" . $share['message_id'] . "']";

View file

@ -969,6 +969,10 @@ function import_author_unknown($x) {
return false;
}
function empty_acl($item) {
return (($item['allow_cid'] === EMPTY_STR && $item['allow_gid'] === EMPTY_STR && $item['deny_cid'] === EMPTY_STR && $item['deny_gid'] === EMPTY_STR) ? true : false);
}
function encode_item($item,$mirror = false) {
$x = array();
$x['type'] = 'activity';
@ -1973,23 +1977,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
*/
call_hooks('post_remote_end', $arr);
// update the commented timestamp on the parent - unless this is potentially a clone of an older item
// which we don't wish to bring to the surface. As the queue only holds deliveries for 3 days, it's
// suspected of being an older cloned item if the creation time is older than that.
if($arr['created'] > datetime_convert('','','now - 4 days')) {
$z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and item_delayed = 0 ",
dbesc($arr['parent_mid']),
intval($arr['uid'])
);
q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
dbesc(($z) ? $z[0]['commented'] : (datetime_convert())),
dbesc(datetime_convert()),
intval($parent_id)
);
}
item_update_parent_commented($arr);
// If _creating_ a deleted item, don't propagate it further or send out notifications.
// We need to store the item details just in case the delete came in before the original post,
@ -2320,6 +2308,36 @@ function item_store_update($arr, $allow_exec = false, $deliver = true) {
return $ret;
}
function item_update_parent_commented($item) {
$update_parent = true;
// update the commented timestamp on the parent
// - unless this is a moderated comment or a potential clone of an older item
// which we don't wish to bring to the surface. As the queue only holds deliveries
// for 3 days, it's suspected of being an older cloned item if the creation time
//is older than that.
if(intval($item['item_blocked']) === ITEM_MODERATED)
$update_parent = false;
if($item['created'] < datetime_convert('','','now - 4 days'))
$update_parent = false;
if($update_parent) {
$z = q("select max(created) as commented from item where parent_mid = '%s' and uid = %d and item_delayed = 0 ",
dbesc($item['parent_mid']),
intval($item['uid'])
);
q("UPDATE item set commented = '%s', changed = '%s' WHERE id = %d",
dbesc(($z) ? $z[0]['commented'] : datetime_convert()),
dbesc(datetime_convert()),
intval($item['parent'])
);
}
}
function send_status_notifications($post_id,$item) {

View file

@ -207,7 +207,7 @@ function bb_to_markdown($Text, $options = []) {
$Text = bbcode($Text, [ 'tryoembed' => false ]);
// Markdownify does not preserve previously escaped html entities such as <> and &.
$Text = str_replace(array('&lt;','&gt;','&amp;'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
//$Text = str_replace(array('&lt;','&gt;','&amp;'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
// Now convert HTML to Markdown
@ -215,7 +215,7 @@ function bb_to_markdown($Text, $options = []) {
// It also adds backslashes to our attempt at getting around the html entity preservation for some weird reason.
$Text = str_replace(array('&\\_lt\\_;','&\\_gt\\_;','&\\_amp\\_;'),array('&lt;','&gt;','&amp;'),$Text);
//$Text = str_replace(array('&\\_lt\\_;','&\\_gt\\_;','&\\_amp\\_;'),array('&lt;','&gt;','&amp;'),$Text);
// If the text going into bbcode() has a plain URL in it, i.e.
// with no [url] tags around it, it will come out of parseString()

View file

@ -32,6 +32,7 @@ function oembed_action($embedurl) {
$action = 'block';
}
}
if(strpos($embedurl,'.well-known') !== false)
$action = 'block';

View file

@ -273,7 +273,7 @@ abstract class photo_driver {
}
if($f) {
return @exif_read_data($f);
return @exif_read_data($f,null,true);
}
return false;
@ -289,7 +289,7 @@ abstract class photo_driver {
return false;
}
$ort = $exif['IFD0']['Orientation'];
$ort = ((array_key_exists('IFD0',$exif)) ? $exif['IFD0']['Orientation'] : $exif['Orientation']);
if(! $ort) {
return false;

View file

@ -333,10 +333,17 @@ function photo_upload($channel, $observer, $args) {
$lat = $lon = null;
if($exif && $exif['GPS']) {
if(feature_enabled($channel_id,'photo_location')) {
$lat = getGps($exif['GPS']['GPSLatitude'], $exif['GPS']['GPSLatitudeRef']);
$lon = getGps($exif['GPS']['GPSLongitude'], $exif['GPS']['GPSLongitudeRef']);
if($exif && feature_enabled($channel_id,'photo_location')) {
$gps = null;
if(array_key_exists('GPS',$exif)) {
$gps = $exif['GPS'];
}
elseif(array_key_exists('GPSLatitude',$exif)) {
$gps = $exif;
}
if($gps) {
$lat = getGps($gps['GPSLatitude'], $gps['GPSLatitudeRef']);
$lon = getGps($gps['GPSLongitude'], $gps['GPSLongitudeRef']);
}
}

View file

@ -182,11 +182,10 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
$sql_options .= " and owner_xchan = '" . dbesc($owner) . "' ";
}
// Fetch tags
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.uid = %d and term.ttype = %d
and otype = %d and item_type = %d and item_private = 0
and otype = %d and item_type = %d
$sql_options $item_normal
group by term order by total desc %s",
intval($uid),
@ -196,6 +195,7 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
((intval($count)) ? "limit $count" : '')
);
if(! $r)
return array();

View file

@ -3318,3 +3318,19 @@ function featured_sort($a,$b) {
$s2 = substr($b,strpos($b,'id='),20);
return(strcmp($s1,$s2));
}
function punify($s) {
require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php');
$x = new idna_convert(['encoding' => 'utf8']);
return $x->encode($s);
}
function unpunify($s) {
require_once('vendor/simplepie/simplepie/idn/idna_convert.class.php');
$x = new idna_convert(['encoding' => 'utf8']);
return $x->decode($s);
}

View file

@ -53,13 +53,13 @@ function zid($s, $address = '') {
$mine = get_my_url();
$myaddr = (($address) ? $address : get_my_address());
/**
* @FIXME checking against our own channel url is no longer reliable. We may have a lot
* of urls attached to our channel. Should probably match against our site, since we
* will not need to remote authenticate on our own site anyway.
*/
$mine_parsed = parse_url($mine);
$s_parsed = parse_url($s);
if ($mine && $myaddr && (! link_compare($mine,$s)))
if($mine_parsed['host'] === $s_parsed['host'])
$url_match = true;
if ($mine && $myaddr && (! $url_match))
$zurl = $s . (($num_slashes >= 3) ? '' : '/') . $achar . 'zid=' . urlencode($myaddr);
else
$zurl = $s;
@ -109,6 +109,7 @@ function clean_query_string($s = '') {
$x = strip_zids(($s) ? $s : \App::$query_string);
$x = strip_owt($x);
$x = strip_zats($x);
$x = strip_query_param($x,'sort');
return strip_query_param($x,'f');
}

View file

@ -2285,12 +2285,30 @@ function process_mail_delivery($sender, $arr, $deliveries) {
continue;
}
if(! perm_is_allowed($channel['channel_id'],$sender['hash'],'post_mail')) {
/*
* Always allow somebody to reply if you initiated the conversation. It's anti-social
* and a bit rude to send a private message to somebody and block their ability to respond.
* If you are being harrassed and want to put an end to it, delete the conversation.
*/
$return = false;
if($arr['parent_mid']) {
$return = q("select * from mail where mid = '%s' and channel_id = %d limit 1",
dbesc($arr['parent_mid']),
intval($channel['channel_id'])
);
}
if(! $return) {
logger("permission denied for mail delivery {$channel['channel_id']}");
$DR->update('permission denied');
$result[] = $DR->get();
continue;
}
}
$r = q("select id from mail where mid = '%s' and channel_id = %d limit 1",
dbesc($arr['mid']),

View file

@ -1,7 +1,7 @@
/*!
* Justified Gallery - v3.6.3
* Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
* Copyright (c) 2016 Miro Mannino
* Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
(function($) {
@ -130,7 +130,7 @@
if (callback) callback();
} else {
$entry.stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
$entry.find('> img, > a > img').stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
$entry.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
}
};
@ -149,8 +149,7 @@
/** @returns {jQuery} the image in the given entry */
JustifiedGallery.prototype.imgFromEntry = function ($entry) {
var $img = $entry.find('> img');
if ($img.length === 0) $img = $entry.find('> a > img');
var $img = $entry.find(this.settings.imgSelector);
return $img.length === 0 ? null : $img;
};
@ -319,6 +318,15 @@
}
};
/**
* Clear the building row data to be used for a new row
*/
JustifiedGallery.prototype.clearBuildingRow = function () {
this.buildingRow.entriesBuff = [];
this.buildingRow.aspectRatio = 0;
this.buildingRow.width = 0;
};
/**
* Justify the building row, preparing it to
*
@ -380,15 +388,6 @@
return justify;
};
/**
* Clear the building row data to be used for a new row
*/
JustifiedGallery.prototype.clearBuildingRow = function () {
this.buildingRow.entriesBuff = [];
this.buildingRow.aspectRatio = 0;
this.buildingRow.width = 0;
};
/**
* Flush a row: justify it, modify the gallery height accordingly to the row height
*
@ -405,15 +404,11 @@
}
if(this.maxRowHeight) {
if (this.maxRowHeight.isPercentage && this.maxRowHeight.value * settings.rowHeight < this.buildingRow.height) {
this.buildingRow.height = this.maxRowHeight.value * settings.rowHeight;
} else if (this.maxRowHeight.value >= settings.rowHeight && this.maxRowHeight.value < this.buildingRow.height) {
this.buildingRow.height = this.maxRowHeight.value;
}
if(this.maxRowHeight < this.buildingRow.height) this.buildingRow.height = this.maxRowHeight;
}
//Align last (unjustified) row
if (settings.lastRow === 'center' || settings.lastRow === 'right') {
if (isLastRow && (settings.lastRow === 'center' || settings.lastRow === 'right')) {
var availableWidth = this.galleryWidth - 2 * this.border - (this.buildingRow.entriesBuff.length - 1) * settings.margins;
for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
@ -427,15 +422,16 @@
offX += availableWidth;
}
for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
$entry = this.buildingRow.entriesBuff[i];
var lastEntryIdx = this.buildingRow.entriesBuff.length - 1;
for (i = 0; i <= lastEntryIdx; i++) {
$entry = this.buildingRow.entriesBuff[ this.settings.rtl ? lastEntryIdx - i : i ];
this.displayEntry($entry, offX, this.offY, $entry.data('jg.jwidth'), $entry.data('jg.jheight'), this.buildingRow.height);
offX += $entry.data('jg.jwidth') + settings.margins;
}
//Gallery Height
this.galleryHeightToSet = this.offY + this.buildingRow.height + this.border;
this.$gallery.height(this.galleryHeightToSet + this.getSpinnerHeight());
this.setGalleryTempHeight(this.galleryHeightToSet + this.getSpinnerHeight());
if (!isLastRow || (this.buildingRow.height <= settings.rowHeight && buildingRowRes)) {
//Ready for a new row
@ -446,18 +442,45 @@
}
};
// Scroll position not restoring: https://github.com/miromannino/Justified-Gallery/issues/221
var galleryPrevStaticHeight = 0;
JustifiedGallery.prototype.rememberGalleryHeight = function () {
galleryPrevStaticHeight = this.$gallery.height();
this.$gallery.height(galleryPrevStaticHeight);
};
// grow only
JustifiedGallery.prototype.setGalleryTempHeight = function (height) {
galleryPrevStaticHeight = Math.max(height, galleryPrevStaticHeight);
this.$gallery.height(galleryPrevStaticHeight);
};
JustifiedGallery.prototype.setGalleryFinalHeight = function (height) {
galleryPrevStaticHeight = height;
this.$gallery.height(height);
};
/**
* Checks the width of the gallery container, to know if a new justification is needed
*/
var scrollBarOn = false;
JustifiedGallery.prototype.checkWidth = function () {
this.checkWidthIntervalId = setInterval($.proxy(function () {
// if the gallery is not currently visible, abort.
if (!this.$gallery.is(":visible")) return;
var galleryWidth = parseFloat(this.$gallery.width());
if (hasScrollBar() === scrollBarOn) {
if (Math.abs(galleryWidth - this.galleryWidth) > this.settings.refreshSensitivity) {
this.galleryWidth = galleryWidth;
this.rewind();
this.rememberGalleryHeight();
// Restart to analyze
this.startImgAnalyzer(true);
}
@ -488,7 +511,7 @@
JustifiedGallery.prototype.stopLoadingSpinnerAnimation = function () {
clearInterval(this.spinner.intervalId);
this.spinner.intervalId = null;
this.$gallery.height(this.$gallery.height() - this.getSpinnerHeight());
this.setGalleryTempHeight(this.$gallery.height() - this.getSpinnerHeight());
this.spinner.$el.detach();
};
@ -500,7 +523,7 @@
var $spinnerPoints = spinnerContext.$el.find('span');
clearInterval(spinnerContext.intervalId);
this.$gallery.append(spinnerContext.$el);
this.$gallery.height(this.offY + this.buildingRow.height + this.getSpinnerHeight());
this.setGalleryTempHeight(this.offY + this.buildingRow.height + this.getSpinnerHeight());
spinnerContext.intervalId = setInterval(function () {
if (spinnerContext.phase < $spinnerPoints.length) {
$spinnerPoints.eq(spinnerContext.phase).fadeTo(spinnerContext.timeSlot, 1);
@ -636,7 +659,7 @@
// Filter using the passed function
var filteredArr = a.filter(settings.filter);
for (var i = 0; i < a.length; i++) {
if (filteredArr.indexOf(a[i]) == -1) {
if (filteredArr.indexOf(a[i]) === -1) {
$(a[i]).addClass('jg-filtered').removeClass('jg-visible');
} else {
$(a[i]).removeClass('jg-filtered');
@ -710,6 +733,7 @@
var imgAspectRatio = $entry.data('jg.width') / $entry.data('jg.height');
if (availableWidth / (this.buildingRow.aspectRatio + imgAspectRatio) < this.settings.rowHeight) {
this.flushRow(false);
if(++this.yield.flushed >= this.yield.every) {
this.startImgAnalyzer(isForResize);
return;
@ -741,7 +765,7 @@
//On complete callback
this.$gallery.trigger(isForResize ? 'jg.resize' : 'jg.complete');
this.$gallery.height(this.galleryHeightToSet);
this.setGalleryFinalHeight(this.galleryHeightToSet);
};
/**
@ -749,7 +773,10 @@
*/
JustifiedGallery.prototype.stopImgAnalyzerStarter = function () {
this.yield.flushed = 0;
if (this.imgAnalyzerTimeout !== null) clearTimeout(this.imgAnalyzerTimeout);
if (this.imgAnalyzerTimeout !== null) {
clearTimeout(this.imgAnalyzerTimeout);
this.imgAnalyzerTimeout = null;
}
};
/**
@ -822,8 +849,8 @@
/* If we have the height and the width, we don't wait that the image is loaded, but we start directly
* with the justification */
if (that.settings.waitThumbnailsLoad === false) {
var width = parseFloat($image.attr('width'));
var height = parseFloat($image.attr('height'));
var width = parseFloat($image.prop('width'));
var height = parseFloat($image.prop('height'));
if (!isNaN(width) && !isNaN(height)) {
$entry.data('jg.width', width);
$entry.data('jg.height', height);
@ -915,36 +942,33 @@
/**
* check and convert the maxRowHeight setting
* requires rowHeight to be already set
* TODO: should be always called when only rowHeight is changed
* @return number or null
*/
JustifiedGallery.prototype.retrieveMaxRowHeight = function () {
var newMaxRowHeight = { };
var newMaxRowHeight = null;
var rowHeight = this.settings.rowHeight;
if ($.type(this.settings.maxRowHeight) === 'string') {
if (this.settings.maxRowHeight.match(/^[0-9]+%$/)) {
newMaxRowHeight.value = parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1]) / 100;
newMaxRowHeight.isPercentage = false;
newMaxRowHeight = rowHeight * parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1]) / 100;
} else {
newMaxRowHeight.value = parseFloat(this.settings.maxRowHeight);
newMaxRowHeight.isPercentage = true;
newMaxRowHeight = parseFloat(this.settings.maxRowHeight);
}
} else if ($.type(this.settings.maxRowHeight) === 'number') {
newMaxRowHeight.value = this.settings.maxRowHeight;
newMaxRowHeight.isPercentage = false;
} else if (this.settings.maxRowHeight === false ||
this.settings.maxRowHeight === null ||
typeof this.settings.maxRowHeight == 'undefined') {
newMaxRowHeight = this.settings.maxRowHeight;
} else if (this.settings.maxRowHeight === false || this.settings.maxRowHeight == null) {
return null;
} else {
throw 'maxRowHeight must be a number or a percentage';
}
// check if the converted value is not a number
if (isNaN(newMaxRowHeight.value)) throw 'invalid number for maxRowHeight';
if (isNaN(newMaxRowHeight)) throw 'invalid number for maxRowHeight';
// check values
if (newMaxRowHeight.isPercentage) {
if (newMaxRowHeight.value < 100) newMaxRowHeight.value = 100;
}
// check values, maxRowHeight must be >= rowHeight
if (newMaxRowHeight < rowHeight) newMaxRowHeight = rowHeight;
return newMaxRowHeight;
};
@ -1102,7 +1126,7 @@
thumbnailPath: undefined, /* If defined, sizeRangeSuffixes is not used, and this function is used to determine the
path relative to a specific thumbnail size. The function should accept respectively three arguments:
current path, width and height */
rowHeight: 120,
rowHeight: 120, // required? required to be > 0?
maxRowHeight: false, // false or negative value to deactivate. Positive number to express the value in pixels,
// A string '[0-9]+%' to express in percentage (e.g. 300% means that the row height
// can't exceed 3 * rowHeight)
@ -1128,6 +1152,7 @@
refreshTime: 200, // time interval (in ms) to check if the page changes its width
refreshSensitivity: 0, // change in width allowed (in px) without re-building the gallery
randomize: false,
rtl: false, // right-to-left mode
sort: false, /*
- false: to do not sort
- function: to sort them using the function as comparator (see Array.prototype.sort())
@ -1139,7 +1164,8 @@
- a function: invoked with arguments (entry, index, array). Return true to keep the entry, false otherwise.
It follows the specifications of the Array.prototype.filter() function of JavaScript.
*/
selector: 'a, div:not(.spinner)' // The selector that is used to know what are the entries of the gallery
selector: 'a, div:not(.spinner)', // The selector that is used to know what are the entries of the gallery
imgSelector: '> img, > a > img' // The selector that is used to know what are the images of each entry
};
}(jQuery));

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
/*!
* Justified Gallery - v3.6.3
* Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
* Copyright (c) 2016 Miro Mannino
* Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
.justified-gallery {
@ -10,18 +10,23 @@
overflow: hidden;
}
.justified-gallery > a,
.justified-gallery > div {
.justified-gallery > div,
.justified-gallery > figure {
position: absolute;
display: inline-block;
overflow: hidden;
/* background: #888888; To have gray placeholders while the gallery is loading with waitThumbnailsLoad = false */
filter: "alpha(opacity=10)";
opacity: 0.1;
margin: 0;
padding: 0;
}
.justified-gallery > a > img,
.justified-gallery > div > img,
.justified-gallery > figure > img,
.justified-gallery > a > a > img,
.justified-gallery > div > a > img {
.justified-gallery > div > a > img,
.justified-gallery > figure > a > img {
position: absolute;
top: 50%;
left: 50%;
@ -32,7 +37,8 @@
opacity: 0;
}
.justified-gallery > a > .caption,
.justified-gallery > div > .caption {
.justified-gallery > div > .caption,
.justified-gallery > figure > .caption {
display: none;
position: absolute;
bottom: 0;
@ -47,7 +53,8 @@
font-family: sans-serif;
}
.justified-gallery > a > .caption.caption-visible,
.justified-gallery > div > .caption.caption-visible {
.justified-gallery > div > .caption.caption-visible,
.justified-gallery > figure > .caption.caption-visible {
display: initial;
filter: "alpha(opacity=70)";
opacity: 0.7;

View file

@ -1,7 +1,7 @@
/*!
* Justified Gallery - v3.6.3
* Justified Gallery - v3.6.5
* http://miromannino.github.io/Justified-Gallery/
* Copyright (c) 2016 Miro Mannino
* Copyright (c) 2018 Miro Mannino
* Licensed under the MIT license.
*/
.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div{position:absolute;display:inline-block;overflow:hidden;filter:"alpha(opacity=10)";opacity:.1}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0;filter:"alpha(opacity=0)";opacity:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible{display:initial;filter:"alpha(opacity=70)";opacity:.7;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.entry-visible{filter:"alpha(opacity=100)";opacity:1;background:0 0}.justified-gallery>.entry-visible>img,.justified-gallery>.entry-visible>a>img{filter:"alpha(opacity=100)";opacity:1;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;filter:"alpha(opacity=100)";opacity:1;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;filter:"alpha(opacity=0)";opacity:0;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px}
.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div,.justified-gallery>figure{position:absolute;display:inline-block;overflow:hidden;filter:"alpha(opacity=10)";opacity:.1;margin:0;padding:0}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>figure>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img,.justified-gallery>figure>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0;filter:"alpha(opacity=0)";opacity:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption,.justified-gallery>figure>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible,.justified-gallery>figure>.caption.caption-visible{display:initial;filter:"alpha(opacity=70)";opacity:.7;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.entry-visible{filter:"alpha(opacity=100)";opacity:1;background:0 0}.justified-gallery>.entry-visible>img,.justified-gallery>.entry-visible>a>img{filter:"alpha(opacity=100)";opacity:1;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;filter:"alpha(opacity=100)";opacity:1;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;filter:"alpha(opacity=0)";opacity:0;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px}

View file

@ -27,14 +27,19 @@ set -e
echo "Preparing for PostgreSQL ..."
if [[ "$POSTGRESQL_VERSION" == "10" ]]; then
echo "Using PostgreSQL in Docker container, need to use TCP"
export PROTO="-h localhost"
fi
# Print out some PostgreSQL information
psql --version
# Why does this hang further execution of the job?
psql -U postgres -c "SELECT VERSION();"
psql $PROTO -U postgres -c "SELECT VERSION();"
# Create Hubzilla database
psql -U postgres -c "DROP DATABASE IF EXISTS travis_hubzilla;"
psql -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
psql $PROTO -U postgres -c "DROP DATABASE IF EXISTS travis_hubzilla;"
psql $PROTO -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
CREATE USER travis_hz WITH PASSWORD 'hubzilla';
CREATE DATABASE travis_hubzilla;
ALTER DATABASE travis_hubzilla OWNER TO travis_hz;
@ -42,8 +47,8 @@ psql -U postgres -v ON_ERROR_STOP=1 <<-EOSQL
EOSQL
# Import table structure
psql -U travis_hz -v ON_ERROR_STOP=1 travis_hubzilla < ./install/schema_postgres.sql
psql $PROTO -U travis_hz -v ON_ERROR_STOP=1 travis_hubzilla < ./install/schema_postgres.sql
# Show databases and tables
psql -U postgres -l
psql -U postgres -d travis_hubzilla -c "\dt;"
psql $PROTO -U postgres -l
psql $PROTO -U postgres -d travis_hubzilla -c "\dt;"

View file

@ -62,6 +62,7 @@ class PermissionRolesTest extends UnitTestCase {
$this->assertEquals($roles, $r->roles());
$socialNetworking = [
'social_party' => 'Social - Party',
'social' => 'Social - Mostly Public',
'social_restricted' => 'Social - Restricted',
'social_private' => 'Social - Private'

14
vendor/commerceguys/intl/.travis.yml vendored Normal file
View file

@ -0,0 +1,14 @@
language: php
php:
- 5.4
- 5.5
- 5.6
- hhvm
install:
- composer self-update
- composer install
script:
- ./vendor/bin/phpunit -c ./phpunit.xml --coverage-text --strict

View file

@ -12,10 +12,7 @@
"name": "Algerië"
},
"AS": {
"name": "Amerikaans-Samoa"
},
"VI": {
"name": "Amerikaanse Maagde-eilande"
"name": "Amerikaanse Samoa"
},
"AD": {
"name": "Andorra"
@ -333,16 +330,19 @@
"name": "Kerseiland"
},
"KG": {
"name": "Kirgis"
"name": "Kirgistan"
},
"KI": {
"name": "Kiribati"
},
"UM": {
"name": "Klein afgeleë eilande van die VSA"
},
"KW": {
"name": "Koeweit"
},
"CC": {
"name": "Kokos-eilande"
"name": "Kokoseilande"
},
"CG": {
"name": "Kongo - Brazzaville"
@ -593,9 +593,24 @@
"SH": {
"name": "Sint Helena"
},
"KN": {
"name": "Sint Kitts en Nevis"
},
"LC": {
"name": "Sint Lucia"
},
"SX": {
"name": "Sint Maarten"
},
"MF": {
"name": "Sint Martin"
},
"PM": {
"name": "Sint Pierre en Miquelon"
},
"VC": {
"name": "Sint Vincent en die Grenadine"
},
"CY": {
"name": "Siprus"
},
@ -623,21 +638,6 @@
"LK": {
"name": "Sri Lanka"
},
"KN": {
"name": "St. Kitts en Nevis"
},
"LC": {
"name": "St. Lucia"
},
"MF": {
"name": "St. Martin"
},
"PM": {
"name": "St. Pierre en Miquelon"
},
"VC": {
"name": "St. Vincent en die Grenadine"
},
"ZA": {
"name": "Suid-Afrika"
},
@ -677,9 +677,6 @@
"TH": {
"name": "Thailand"
},
"CZ": {
"name": "Tjeggiese Republiek"
},
"TG": {
"name": "Togo"
},
@ -698,11 +695,14 @@
"TD": {
"name": "Tsjad"
},
"CZ": {
"name": "Tsjeggië"
},
"TN": {
"name": "Tunisië"
},
"TM": {
"name": "Turkmenië"
"name": "Turkmenistan"
},
"TC": {
"name": "Turks- en Caicoseilande"
@ -740,8 +740,8 @@
"VN": {
"name": "Viëtnam"
},
"UM": {
"name": "VS klein omliggende eilande"
"VI": {
"name": "VSA se Maagde-eilande"
},
"WF": {
"name": "Wallis en Futuna"

View file

@ -116,15 +116,15 @@
"MZ": {
"name": "ሞዛምቢክ"
},
"RU": {
"name": "ሩስያ"
},
"RW": {
"name": "ሩዋንዳ"
},
"RE": {
"name": "ሪዩኒየን"
},
"RU": {
"name": "ራሽያ"
},
"RO": {
"name": "ሮሜኒያ"
},
@ -227,6 +227,9 @@
"PM": {
"name": "ቅዱስ ፒዬር እና ሚኩኤሎን"
},
"BZ": {
"name": "በሊዝ"
},
"BT": {
"name": "ቡህታን"
},
@ -248,9 +251,6 @@
"BD": {
"name": "ባንግላዲሽ"
},
"BZ": {
"name": "ቤሊዘ"
},
"BY": {
"name": "ቤላሩስ"
},
@ -342,7 +342,7 @@
"name": "ቻድ"
},
"CZ": {
"name": "ቼክ ሪፑብሊክ"
"name": "ቼችኒያ"
},
"NU": {
"name": "ኒኡይ"
@ -408,7 +408,7 @@
"name": "አንዶራ"
},
"AI": {
"name": "አንጉላ"
"name": "አንጉላ"
},
"AO": {
"name": "አንጐላ"
@ -467,9 +467,6 @@
"IL": {
"name": "እስራኤል"
},
"GB": {
"name": "እንግሊዝ"
},
"OM": {
"name": "ኦማን"
},
@ -617,6 +614,9 @@
"US": {
"name": "ዩናይትድ ስቴትስ"
},
"GB": {
"name": "ዩናይትድ ኪንግደም"
},
"UA": {
"name": "ዩክሬን"
},
@ -641,12 +641,12 @@
"DK": {
"name": "ዴንማርክ"
},
"DO": {
"name": "ዶመኒካን ሪፑብሊክ"
},
"DM": {
"name": "ዶሚኒካ"
},
"DO": {
"name": "ዶሚኒክ ሪፑብሊክ"
},
"DE": {
"name": "ጀርመን"
},

View file

@ -1,4 +1,7 @@
{
"IS": {
"name": "آيسلندا"
},
"ET": {
"name": "إثيوبيا"
},
@ -68,6 +71,9 @@
"BA": {
"name": "البوسنة والهرسك"
},
"CZ": {
"name": "التشيك"
},
"ME": {
"name": "الجبل الأسود"
},
@ -200,9 +206,6 @@
"IE": {
"name": "أيرلندا"
},
"IS": {
"name": "أيسلندا"
},
"IT": {
"name": "إيطاليا"
},
@ -218,9 +221,6 @@
"PW": {
"name": "بالاو"
},
"BW": {
"name": "بتسوانا"
},
"BB": {
"name": "بربادوس"
},
@ -251,6 +251,9 @@
"BT": {
"name": "بوتان"
},
"BW": {
"name": "بوتسوانا"
},
"PR": {
"name": "بورتوريكو"
},
@ -288,7 +291,7 @@
"name": "تركيا"
},
"TA": {
"name": "تريستان دي كونها"
"name": "تريستان دا كونا"
},
"TT": {
"name": "ترينيداد وتوباغو"
@ -387,7 +390,7 @@
"name": "جزيرة أسينشيون"
},
"CX": {
"name": "جزيرة الكريسماس"
"name": "جزيرة كريسماس"
},
"IM": {
"name": "جزيرة مان"
@ -398,9 +401,6 @@
"CF": {
"name": "جمهورية أفريقيا الوسطى"
},
"CZ": {
"name": "جمهورية التشيك"
},
"DO": {
"name": "جمهورية الدومينيكان"
},
@ -458,12 +458,15 @@
"BL": {
"name": "سان بارتليمي"
},
"PM": {
"name": "سان بيير ومكويلون"
},
"MF": {
"name": "سان مارتن"
},
"SM": {
"name": "سان مارينو"
},
"PM": {
"name": "سانت بيير وميكولون"
},
"VC": {
"name": "سانت فنسنت وجزر غرينادين"
},
@ -473,11 +476,11 @@
"LC": {
"name": "سانت لوسيا"
},
"MF": {
"SX": {
"name": "سانت مارتن"
},
"SH": {
"name": "سانت هيلانة"
"name": "سانت هيلينا"
},
"ST": {
"name": "ساو تومي وبرينسيبي"
@ -489,7 +492,7 @@
"name": "سريلانكا"
},
"SJ": {
"name": "سفالبارد وجان مايان"
"name": "سفالبارد وجان ماين"
},
"SK": {
"name": "سلوفاكيا"
@ -518,9 +521,6 @@
"SC": {
"name": "سيشل"
},
"SX": {
"name": "سينت مارتن"
},
"RS": {
"name": "صربيا"
},
@ -756,6 +756,6 @@
"name": "هولندا الكاريبية"
},
"HK": {
"name": "هونغ كونغ الصينية"
"name": "هونغ كونغ الصينية (منطقة إدارية خاصة)"
}
}

View file

@ -1,4 +1,7 @@
{
"IS": {
"name": "آيسلندا"
},
"ET": {
"name": "إثيوبيا"
},
@ -65,6 +68,9 @@
"BA": {
"name": "البوسنة والهرسك"
},
"CZ": {
"name": "التشيك"
},
"ME": {
"name": "الجبل الأسود"
},
@ -197,9 +203,6 @@
"IE": {
"name": "أيرلندا"
},
"IS": {
"name": "أيسلندا"
},
"IT": {
"name": "إيطاليا"
},
@ -215,9 +218,6 @@
"PW": {
"name": "بالاو"
},
"BW": {
"name": "بتسوانا"
},
"BB": {
"name": "بربادوس"
},
@ -248,6 +248,9 @@
"BT": {
"name": "بوتان"
},
"BW": {
"name": "بوتسوانا"
},
"PR": {
"name": "بورتوريكو"
},
@ -285,7 +288,7 @@
"name": "تركيا"
},
"TA": {
"name": "تريستان دي كونها"
"name": "تريستان دا كونا"
},
"TT": {
"name": "ترينيداد وتوباغو"
@ -384,10 +387,10 @@
"name": "جزر والس وفوتونا"
},
"AC": {
"name": "جزيرة أسينشيون"
"name": "جزيرة أسينشين"
},
"CX": {
"name": "جزيرة الكريسماس"
"name": "جزيرة كريسماس"
},
"IM": {
"name": "جزيرة مان"
@ -398,9 +401,6 @@
"CF": {
"name": "جمهورية أفريقيا الوسطى"
},
"CZ": {
"name": "جمهورية التشيك"
},
"DO": {
"name": "جمهورية الدومينيكان"
},
@ -461,6 +461,9 @@
"PM": {
"name": "سان بيير وميكولون"
},
"MF": {
"name": "سان مارتن"
},
"SM": {
"name": "سان مارينو"
},
@ -473,11 +476,11 @@
"LC": {
"name": "سانت لوسيا"
},
"MF": {
"SX": {
"name": "سانت مارتن"
},
"SH": {
"name": "سانت هيلانة"
"name": "سانت هيلينا"
},
"ST": {
"name": "ساو تومي وبرينسيبي"
@ -489,7 +492,7 @@
"name": "سريلانكا"
},
"SJ": {
"name": "سفالبارد وجان مايان"
"name": "سفالبارد وجان ماين"
},
"SK": {
"name": "سلوفاكيا"
@ -518,9 +521,6 @@
"SC": {
"name": "سيشل"
},
"SX": {
"name": "سينت مارتن"
},
"RS": {
"name": "صربيا"
},
@ -665,6 +665,9 @@
"LS": {
"name": "ليسوتو"
},
"MO": {
"name": "ماكاو الصينية (منطقة إدارية خاصة)"
},
"MT": {
"name": "مالطا"
},
@ -686,9 +689,6 @@
"MK": {
"name": "مقدونيا"
},
"MO": {
"name": "مكاو الصينية (منطقة إدارية خاصة)"
},
"MW": {
"name": "ملاوي"
},
@ -756,6 +756,6 @@
"name": "هولندا الكاريبية"
},
"HK": {
"name": "هونغ كونغ الصينية"
"name": "هونغ كونغ الصينية (منطقة إدارية خاصة)"
}
}

View file

@ -1,4 +1,7 @@
{
"IS": {
"name": "آيسلندا"
},
"ET": {
"name": "إثيوبيا"
},
@ -68,6 +71,9 @@
"BA": {
"name": "البوسنة والهرسك"
},
"CZ": {
"name": "التشيك"
},
"ME": {
"name": "الجبل الأسود"
},
@ -200,9 +206,6 @@
"IE": {
"name": "أيرلندا"
},
"IS": {
"name": "أيسلندا"
},
"IT": {
"name": "إيطاليا"
},
@ -218,9 +221,6 @@
"PW": {
"name": "بالاو"
},
"BW": {
"name": "بتسوانا"
},
"BB": {
"name": "بربادوس"
},
@ -251,6 +251,9 @@
"BT": {
"name": "بوتان"
},
"BW": {
"name": "بوتسوانا"
},
"PR": {
"name": "بورتوريكو"
},
@ -288,7 +291,7 @@
"name": "تركيا"
},
"TA": {
"name": "تريستان دي كونها"
"name": "تريستان دا كونا"
},
"TT": {
"name": "ترينيداد وتوباغو"
@ -387,7 +390,7 @@
"name": "جزيرة أسينشيون"
},
"CX": {
"name": "جزيرة الكريسماس"
"name": "جزيرة كريسماس"
},
"IM": {
"name": "جزيرة مان"
@ -398,9 +401,6 @@
"CF": {
"name": "جمهورية أفريقيا الوسطى"
},
"CZ": {
"name": "جمهورية التشيك"
},
"DO": {
"name": "جمهورية الدومينيكان"
},
@ -458,12 +458,15 @@
"BL": {
"name": "سان بارتليمي"
},
"PM": {
"name": "سان بيير ومكويلون"
},
"MF": {
"name": "سان مارتن"
},
"SM": {
"name": "سان مارينو"
},
"PM": {
"name": "سانت بيير وميكولون"
},
"VC": {
"name": "سانت فنسنت وجزر غرينادين"
},
@ -473,11 +476,11 @@
"LC": {
"name": "سانت لوسيا"
},
"MF": {
"SX": {
"name": "سانت مارتن"
},
"SH": {
"name": "سانت هيلانة"
"name": "سانت هيلينا"
},
"ST": {
"name": "ساو تومي وبرينسيبي"
@ -486,7 +489,7 @@
"name": "سريلانكا"
},
"SJ": {
"name": "سفالبارد وجان مايان"
"name": "سفالبارد وجان ماين"
},
"SK": {
"name": "سلوفاكيا"
@ -515,9 +518,6 @@
"SC": {
"name": "سيشل"
},
"SX": {
"name": "سينت مارتن"
},
"EA": {
"name": "سيوتا وميليلا"
},
@ -756,6 +756,6 @@
"name": "هولندا الكاريبية"
},
"HK": {
"name": "هونغ كونغ الصينية"
"name": "هونغ كونغ الصينية (منطقة إدارية خاصة)"
}
}

View file

@ -0,0 +1,761 @@
{
"AT": {
"name": "অস্ট্রিয়া"
},
"AU": {
"name": "অস্ট্রেলিয়া"
},
"AO": {
"name": "অ্যাঙ্গোলা"
},
"AC": {
"name": "অ্যাসেনশন আইল্যান্ড"
},
"CI": {
"name": "আইভরি কোস্ট"
},
"IM": {
"name": "আইল অফ ম্যান"
},
"IS": {
"name": "আইস্ল্যাণ্ড"
},
"AZ": {
"name": "আজেরবাইজান"
},
"AF": {
"name": "আফগানিস্তান"
},
"AS": {
"name": "আমেরিকান সামোয়া"
},
"IE": {
"name": "আয়ারল্যাণ্ড"
},
"AM": {
"name": "আরমেনিয়া"
},
"AR": {
"name": "আর্জিণ্টিনা"
},
"DZ": {
"name": "আলজেরিয়া"
},
"AX": {
"name": "আলে্যান্ড দ্বীপপুঞ্জ"
},
"AL": {
"name": "আল্বেনিয়া"
},
"UM": {
"name": "ইউ এস আউটলিং আইল্যান্ডস"
},
"UA": {
"name": "ইউক্রেইন্"
},
"EC": {
"name": "ইকোয়াডর"
},
"IT": {
"name": "ইটালি"
},
"ET": {
"name": "ইথিওপিয়া"
},
"ID": {
"name": "ইন্দোনেশিয়া"
},
"YE": {
"name": "ইমেন"
},
"IQ": {
"name": "ইরাক"
},
"IR": {
"name": "ইরান"
},
"ER": {
"name": "ইরিত্রিয়া"
},
"IL": {
"name": "ইস্রায়েল"
},
"UG": {
"name": "উগান্ডা"
},
"UZ": {
"name": "উজ্বেকিস্থান"
},
"KP": {
"name": "উত্তর কোরিয়া"
},
"MP": {
"name": "উত্তর মারিয়ানা দ্বীপপুঞ্জ"
},
"UY": {
"name": "উরুগুয়ে"
},
"GF": {
"name": "একটি দেশের নাম"
},
"AQ": {
"name": "এন্টাৰ্টিকা"
},
"EE": {
"name": "এস্তোনিয়াদেশ"
},
"AI": {
"name": "এ্যাঙ্গুইলা"
},
"AD": {
"name": "এ্যান্ডোরা"
},
"OM": {
"name": "ওমান"
},
"WF": {
"name": "ওয়ালিস ও ফুটুনা"
},
"CD": {
"name": "কঙ্গো - কিনসাসা"
},
"CG": {
"name": "কঙ্গো - ব্রাজাভিল"
},
"KM": {
"name": "কমোরোস"
},
"CO": {
"name": "কলোমবিয়া"
},
"XK": {
"name": "কসোভো"
},
"KZ": {
"name": "কাজাকস্থান"
},
"QA": {
"name": "কাতার"
},
"KH": {
"name": "কাম্বোজ"
},
"EA": {
"name": "কিউটা & ম্লিলা"
},
"KG": {
"name": "কিরগিজস্তান"
},
"KI": {
"name": "কিরিবাতি"
},
"CK": {
"name": "কুক দ্বীপপুঞ্জ"
},
"KW": {
"name": "কুয়েত"
},
"KE": {
"name": "কেনিয়া"
},
"CV": {
"name": "কেপ ভার্দে"
},
"CC": {
"name": "কোকোস (কিলিং) দ্বীপপুঞ্জ"
},
"IC": {
"name": "ক্যানারি দ্বীপপুঞ্জ"
},
"CM": {
"name": "ক্যামেরুন"
},
"CX": {
"name": "ক্রিস্টমাস দ্বীপ"
},
"HR": {
"name": "ক্রোয়েশিয়া"
},
"GA": {
"name": "গাবোনবাদ্যযন্ত্র"
},
"GM": {
"name": "গাম্বিয়াদেশ"
},
"GY": {
"name": "গায়ানা"
},
"GN": {
"name": "গিনি"
},
"GW": {
"name": "গিনি-বিসাউ"
},
"GU": {
"name": "গুয়াম"
},
"GG": {
"name": "গেঁজি"
},
"GR": {
"name": "গ্রীস"
},
"GH": {
"name": "ঘানা"
},
"CL": {
"name": "চিলি"
},
"CN": {
"name": "চীন"
},
"GE": {
"name": "জর্জিয়া"
},
"JO": {
"name": "জর্ডন"
},
"JP": {
"name": "জাপান"
},
"ZM": {
"name": "জাম্বিয়া"
},
"JE": {
"name": "জার্সি"
},
"DE": {
"name": "জাৰ্মানি"
},
"DJ": {
"name": "জিবুতি"
},
"GI": {
"name": "জিব্রালটার"
},
"ZW": {
"name": "জিম্বাবুয়ে"
},
"TO": {
"name": "টাঙ্গা"
},
"TN": {
"name": "টিউনিস্"
},
"TV": {
"name": "টুভালু"
},
"TK": {
"name": "টোকেলাউ"
},
"TA": {
"name": "ট্রিস্টান ডা কুনা"
},
"DK": {
"name": "ডেন্মার্ক্"
},
"TW": {
"name": "তাইওয়ান"
},
"TJ": {
"name": "তাজিকস্থান"
},
"TZ": {
"name": "তাঞ্জানিয়া"
},
"TR": {
"name": "তুরস্ক"
},
"TM": {
"name": "তুর্কমেনিয়া"
},
"TH": {
"name": "থাইল্যান্ড"
},
"KR": {
"name": "দক্ষিণ কোরিয়া"
},
"GS": {
"name": "দক্ষিণ জৰ্জিয়া আৰু দক্ষিণ চেণ্ডৱিচ্‌ দ্বীপপুঞ্জ"
},
"TF": {
"name": "দক্ষিণ ফ্ৰান্সৰ অঞ্চল"
},
"SS": {
"name": "দক্ষিণ সুদান"
},
"ZA": {
"name": "দক্ষিন আফ্রিকা"
},
"DG": {
"name": "দিয়েগো গার্সিয়া"
},
"NC": {
"name": "নতুন ক্যালেডোনিয়া"
},
"NO": {
"name": "নরত্তএদেশ"
},
"NF": {
"name": "নরফোক দ্বীপ"
},
"NE": {
"name": "নাইজারনদী"
},
"NG": {
"name": "নাইজিরিয়াদেশ"
},
"NR": {
"name": "নাউরু"
},
"NA": {
"name": "নামিবিয়া"
},
"NU": {
"name": "নিউই"
},
"NZ": {
"name": "নিউজিল্যান্ড"
},
"GQ": {
"name": "নিরক্ষীয় গিনি"
},
"NL": {
"name": "নেদারল্যান্ডস"
},
"NP": {
"name": "নেপাল"
},
"PT": {
"name": "পর্তুগাল"
},
"EH": {
"name": "পশ্চিম সাহারা"
},
"PK": {
"name": "পাকিস্তান"
},
"PG": {
"name": "পাপুয়া নিউ গিনি"
},
"PW": {
"name": "পালাউ"
},
"PN": {
"name": "পিটকেয়ার্ন দ্বীপপুঞ্জ"
},
"TL": {
"name": "পূর্ব তিমুর"
},
"PE": {
"name": "পেরু"
},
"PL": {
"name": "পোল্যান্ড"
},
"PY": {
"name": "প্যারাগুয়ে"
},
"FK": {
"name": "ফকল্যান্ড দ্বীপপুঞ্জ"
},
"PF": {
"name": "ফরাসি পলিনেশিয়া"
},
"FO": {
"name": "ফারো দ্বীপপুঞ্জ"
},
"FJ": {
"name": "ফিজি"
},
"FI": {
"name": "ফিনল্যাণ্ড"
},
"PH": {
"name": "ফিলিপাইন"
},
"PS": {
"name": "ফিলিস্তিন অঞ্চল"
},
"FR": {
"name": "ফ্ৰান্স"
},
"BA": {
"name": "বসনিয়া ও হারজেগোভিনা"
},
"BD": {
"name": "বাংলাদেশ"
},
"BH": {
"name": "বাহরাইন"
},
"BI": {
"name": "বুরুন্ডি"
},
"BF": {
"name": "বুর্কিনা ফাসো"
},
"BG": {
"name": "বুলগেরিয়া"
},
"BJ": {
"name": "বেনিন"
},
"BE": {
"name": "বেলজিয়াম"
},
"BY": {
"name": "বেলারুশ"
},
"BW": {
"name": "বোট্স্বানা"
},
"BO": {
"name": "বোলিভিয়া"
},
"BR": {
"name": "ব্রাজিল"
},
"BN": {
"name": "ব্রুনেই"
},
"IO": {
"name": "ব্ৰিটিশ্ব ইণ্ডিয়ান মহাসাগৰৰ অঞ্চল"
},
"VU": {
"name": "ভানুয়াতু"
},
"IN": {
"name": "ভারত"
},
"VN": {
"name": "ভিয়েতনাম"
},
"BT": {
"name": "ভুটান"
},
"VE": {
"name": "ভেনেজুয়েলা"
},
"VA": {
"name": "ভ্যাটিকান সিটি"
},
"MN": {
"name": "মঙ্গোলিআ"
},
"TD": {
"name": "মত্স্যবিশেষ"
},
"CF": {
"name": "মধ্য আফ্রিকান প্রজাতন্ত্র"
},
"ME": {
"name": "মন্টিনিগ্রো"
},
"MA": {
"name": "মরক্কো"
},
"MR": {
"name": "মরিতানিয়া"
},
"MU": {
"name": "মরিশাস"
},
"FM": {
"name": "মাইক্রোনেশিয়া"
},
"MM": {
"name": "মায়ানমার (বার্মা)"
},
"YT": {
"name": "মায়োত্তে"
},
"MH": {
"name": "মার্শাল দ্বীপপুঞ্জ"
},
"MT": {
"name": "মালটা"
},
"MV": {
"name": "মালদ্বীপ"
},
"MW": {
"name": "মালাউই"
},
"ML": {
"name": "মালি"
},
"MY": {
"name": "মাল্যাশিয়া"
},
"EG": {
"name": "মিশর"
},
"MZ": {
"name": "মোজাম্বিক"
},
"MC": {
"name": "মোনাকো"
},
"MD": {
"name": "মোল্দাভিয়া"
},
"MO": {
"name": "ম্যাকাও এসএআর চীন"
},
"MG": {
"name": "ম্যাডাগ্যাস্কার"
},
"MK": {
"name": "ম্যাসাডোনিয়া"
},
"TG": {
"name": "যাও"
},
"US": {
"name": "যুক্তৰাষ্ট্ৰ"
},
"RU": {
"name": "রাশিয়া"
},
"RO": {
"name": "রুমানিয়া"
},
"RW": {
"name": "রুয়ান্ডা"
},
"LR": {
"name": "লাইবেরিয়া"
},
"LU": {
"name": "লাক্সেমবার্গ"
},
"LA": {
"name": "লাত্তস"
},
"LI": {
"name": "লিচেনস্টেইন"
},
"LT": {
"name": "লিত্ভা"
},
"LY": {
"name": "লিবিয়া"
},
"LB": {
"name": "লেবানন"
},
"LS": {
"name": "লেসোথো"
},
"LV": {
"name": "ল্যাট্ভিআ"
},
"LK": {
"name": "শ্রীলংকা"
},
"SK": {
"name": "শ্লোভাকিয়া"
},
"GB": {
"name": "সংযুক্ত ৰাজ্য"
},
"SB": {
"name": "সলোমান দ্বীপপুঞ্জ"
},
"CY": {
"name": "সাইপ্রাসদ্বিপ"
},
"ST": {
"name": "সাও টোম এবং প্রিনসিপে"
},
"SM": {
"name": "সান মেরিনো"
},
"SJ": {
"name": "সাভালবার্ড ও জান মেন"
},
"WS": {
"name": "সামোয়া"
},
"RS": {
"name": "সার্বিয়া"
},
"RE": {
"name": "সাক্ষাৎ"
},
"SG": {
"name": "সিঙ্গাপুর"
},
"SL": {
"name": "সিয়েরা লিওন"
},
"SY": {
"name": "সিরিয়া"
},
"SC": {
"name": "সিসিলি"
},
"CH": {
"name": "সুইজর্লণ্ড"
},
"SE": {
"name": "সুইডেন"
},
"SD": {
"name": "সুদান"
},
"SR": {
"name": "সুরিনাম"
},
"SN": {
"name": "সেনেগাল"
},
"SH": {
"name": "সেন্ট হেলেনা"
},
"SO": {
"name": "সোমালিয়া"
},
"SZ": {
"name": "সোয়াজিল্যান্ড"
},
"SA": {
"name": "সৌদি আরব"
},
"ES": {
"name": "স্পেন"
},
"SI": {
"name": "স্লোভানিয়া"
},
"HK": {
"name": "হংকং এসএআর চীন"
},
"HU": {
"name": "হাঙ্গেরি"
},
"AG": {
"name": "Antigua & Barbuda"
},
"AW": {
"name": "Aruba"
},
"BS": {
"name": "Bahamas"
},
"BB": {
"name": "Barbados"
},
"BZ": {
"name": "Belize"
},
"BM": {
"name": "Bermuda"
},
"VG": {
"name": "British Virgin Islands"
},
"CA": {
"name": "Canada"
},
"BQ": {
"name": "Caribbean Netherlands"
},
"KY": {
"name": "Cayman Islands"
},
"CR": {
"name": "Costa Rica"
},
"CU": {
"name": "Cuba"
},
"CW": {
"name": "Curaçao"
},
"CZ": {
"name": "Czechia"
},
"DM": {
"name": "Dominica"
},
"DO": {
"name": "Dominican Republic"
},
"SV": {
"name": "El Salvador"
},
"GL": {
"name": "Greenland"
},
"GD": {
"name": "Grenada"
},
"GP": {
"name": "Guadeloupe"
},
"GT": {
"name": "Guatemala"
},
"HT": {
"name": "Haiti"
},
"HN": {
"name": "Honduras"
},
"JM": {
"name": "Jamaica"
},
"MQ": {
"name": "Martinique"
},
"MX": {
"name": "Mexico"
},
"MS": {
"name": "Montserrat"
},
"NI": {
"name": "Nicaragua"
},
"PA": {
"name": "Panama"
},
"PR": {
"name": "Puerto Rico"
},
"SX": {
"name": "Sint Maarten"
},
"BL": {
"name": "St. Barthélemy"
},
"KN": {
"name": "St. Kitts & Nevis"
},
"LC": {
"name": "St. Lucia"
},
"MF": {
"name": "St. Martin"
},
"PM": {
"name": "St. Pierre & Miquelon"
},
"VC": {
"name": "St. Vincent & Grenadines"
},
"TT": {
"name": "Trinidad & Tobago"
},
"TC": {
"name": "Turks & Caicos Islands"
},
"VI": {
"name": "U.S. Virgin Islands"
},
"AE": {
"name": "UAE"
}
}

View file

@ -717,7 +717,7 @@
"name": "Чад"
},
"CZ": {
"name": "Чех Республикасы"
"name": "Чехија"
},
"CL": {
"name": "Чили"

View file

@ -144,7 +144,7 @@
"name": "Çad"
},
"CZ": {
"name": "Çex Respublikası"
"name": "Çexiya"
},
"CL": {
"name": "Çili"

View file

@ -165,7 +165,7 @@
"name": "Curaçao"
},
"CZ": {
"name": "Czech Republic"
"name": "Czechia"
},
"DK": {
"name": "Dànmârk"

View file

@ -1045,7 +1045,7 @@
"ST": {
"three_letter_code": "STP",
"numeric_code": "678",
"currency_code": "STD"
"currency_code": "STN"
},
"SV": {
"three_letter_code": "SLV",
@ -1199,7 +1199,7 @@
"VG": {
"three_letter_code": "VGB",
"numeric_code": "092",
"currency_code": "USD"
"currency_code": "GBP"
},
"VI": {
"three_letter_code": "VIR",

View file

@ -53,6 +53,9 @@
"PN": {
"name": "Астравы Піткэрн"
},
"TC": {
"name": "Астравы Цёркс і Кайкас"
},
"AU": {
"name": "Аўстралія"
},
@ -63,7 +66,7 @@
"name": "Афганістан"
},
"BS": {
"name": "Багамы"
"name": "Багамскія астравы"
},
"BG": {
"name": "Балгарыя"
@ -300,7 +303,7 @@
"name": "Камерун"
},
"KM": {
"name": "Каморскія Астравы"
"name": "Каморскія астравы"
},
"CA": {
"name": "Канада"
@ -435,7 +438,7 @@
"name": "Марцініка"
},
"MH": {
"name": "Маршалавы Астравы"
"name": "Маршалавы астравы"
},
"MU": {
"name": "Маўрыкій"
@ -504,7 +507,7 @@
"name": "Партугалія"
},
"ZA": {
"name": "Паўднёваафрыканская Рэспубліка"
"name": "Паўднёва-Афрыканская Рэспубліка"
},
"GS": {
"name": "Паўднёвая Джорджыя і Паўднёвыя Сандвічавы астравы"
@ -543,7 +546,7 @@
"name": "Рэюньён"
},
"SB": {
"name": "Саламонавы Астравы"
"name": "Саламонавы астравы"
},
"SV": {
"name": "Сальвадор"
@ -567,7 +570,7 @@
"name": "Свазіленд"
},
"SC": {
"name": "Сейшэльскія Астравы"
"name": "Сейшэльскія астравы"
},
"BL": {
"name": "Сен-Бартэльмі"
@ -699,7 +702,7 @@
"name": "Французская Палінезія"
},
"TF": {
"name": "Французскія Паўднёвыя тэрыторыі"
"name": "Французскія паўднёвыя тэрыторыі"
},
"FR": {
"name": "Францыя"
@ -707,11 +710,8 @@
"HR": {
"name": "Харватыя"
},
"TC": {
"name": "Цёркс і Кайкас"
},
"CF": {
"name": "Цэнтральнаафрыканская Рэспубліка"
"name": "Цэнтральна-Афрыканская Рэспубліка"
},
"TD": {
"name": "Чад"

View file

@ -72,7 +72,7 @@
"name": "Бенин"
},
"BM": {
"name": "Бермуда"
"name": "Бермудски острови"
},
"BO": {
"name": "Боливия"
@ -726,7 +726,7 @@
"name": "Черна гора"
},
"CZ": {
"name": "Чешка република"
"name": "Чехия"
},
"CL": {
"name": "Чили"

View file

@ -11,12 +11,12 @@
"AQ": {
"name": "অ্যান্টার্কটিকা"
},
"AG": {
"name": "অ্যান্টিগুয়া ও বারবুডা"
},
"AC": {
"name": "অ্যাসসেনশন আইল্যান্ড"
},
"CI": {
"name": "আইভরি কোস্ট"
},
"IM": {
"name": "আইল অফ ম্যান"
},
@ -68,12 +68,12 @@
"IT": {
"name": "ইতালি"
},
"ET": {
"name": "ইথিওপিয়া"
},
"ID": {
"name": "ইন্দোনেশিয়া"
},
"ET": {
"name": "ইফিওপিয়া"
},
"YE": {
"name": "ইয়েমেন"
},
@ -101,9 +101,6 @@
"UY": {
"name": "উরুগুয়ে"
},
"AG": {
"name": "এন্টিগুয়া ও বারবুডা"
},
"SV": {
"name": "এল সালভেদর"
},
@ -149,9 +146,6 @@
"CU": {
"name": "কিউবা"
},
"CW": {
"name": "কিউরাসাও"
},
"KG": {
"name": "কিরগিজিস্তান"
},
@ -167,6 +161,9 @@
"KW": {
"name": "কুয়েত"
},
"CW": {
"name": "কুরাসাও"
},
"KE": {
"name": "কেনিয়া"
},
@ -179,6 +176,9 @@
"CC": {
"name": "কোকোস (কিলিং) দ্বীপপুঞ্জ"
},
"CI": {
"name": "কোত দিভোয়ার"
},
"CR": {
"name": "কোস্টারিকা"
},
@ -218,12 +218,12 @@
"GU": {
"name": "গুয়াম"
},
"GG": {
"name": "গুয়ার্নসি"
},
"GA": {
"name": "গ্যাবন"
},
"GG": {
"name": "গ্রাঞ্জি"
},
"GL": {
"name": "গ্রীনল্যান্ড"
},
@ -246,7 +246,7 @@
"name": "চীন"
},
"CZ": {
"name": "চেক প্রজাতন্ত্র"
"name": "চেচিয়া"
},
"GE": {
"name": "জর্জিয়া"
@ -306,7 +306,7 @@
"name": "তাইওয়ান"
},
"TJ": {
"name": "তাজিকস্থান"
"name": "তাজিকিস্তান"
},
"TZ": {
"name": "তাঞ্জানিয়া"
@ -350,6 +350,9 @@
"NO": {
"name": "নরওয়ে"
},
"NF": {
"name": "নরফোক দ্বীপ"
},
"NE": {
"name": "নাইজার"
},
@ -377,9 +380,6 @@
"GQ": {
"name": "নিরক্ষীয় গিনি"
},
"NF": {
"name": "নিরফোক দ্বীপ"
},
"NL": {
"name": "নেদারল্যান্ডস"
},
@ -419,6 +419,9 @@
"PY": {
"name": "প্যারাগুয়ে"
},
"PS": {
"name": "প্যালেস্টাইনের অঞ্চলসমূহ"
},
"FK": {
"name": "ফকল্যান্ড দ্বীপপুঞ্জ"
},
@ -440,9 +443,6 @@
"PH": {
"name": "ফিলিপাইন"
},
"PS": {
"name": "ফিলিস্তিন অঞ্চলসমূহ"
},
"FO": {
"name": "ফ্যারও দ্বীপপুঞ্জ"
},
@ -714,7 +714,7 @@
"name": "সেন্ট বারথেলিমি"
},
"VC": {
"name": "সেন্ট ভিনসেন্ট ও দ্যা গ্রেনাডিনস"
"name": "সেন্ট ভিনসেন্ট ও গ্রেনাডিনস"
},
"MF": {
"name": "সেন্ট মার্টিন"

View file

@ -11,12 +11,12 @@
"AQ": {
"name": "অ্যান্টার্কটিকা"
},
"AG": {
"name": "অ্যান্টিগুয়া ও বারবুডা"
},
"AC": {
"name": "অ্যাসসেনশন আইল্যান্ড"
},
"CI": {
"name": "আইভরি কোস্ট"
},
"IM": {
"name": "আইল অফ ম্যান"
},
@ -68,12 +68,12 @@
"IT": {
"name": "ইতালি"
},
"ET": {
"name": "ইথিওপিয়া"
},
"ID": {
"name": "ইন্দোনেশিয়া"
},
"ET": {
"name": "ইফিওপিয়া"
},
"YE": {
"name": "ইয়েমেন"
},
@ -101,9 +101,6 @@
"UY": {
"name": "উরুগুয়ে"
},
"AG": {
"name": "এন্টিগুয়া ও বারবুডা"
},
"SV": {
"name": "এল সালভেদর"
},
@ -149,9 +146,6 @@
"CU": {
"name": "কিউবা"
},
"CW": {
"name": "কিউরাসাও"
},
"KG": {
"name": "কিরগিজিস্তান"
},
@ -167,6 +161,9 @@
"KW": {
"name": "কুয়েত"
},
"CW": {
"name": "কুরাসাও"
},
"KE": {
"name": "কেনিয়া"
},
@ -179,6 +176,9 @@
"CC": {
"name": "কোকোস (কিলিং) দ্বীপপুঞ্জ"
},
"CI": {
"name": "কোত দিভোয়ার"
},
"CR": {
"name": "কোস্টারিকা"
},
@ -218,12 +218,12 @@
"GU": {
"name": "গুয়াম"
},
"GG": {
"name": "গুয়ার্নসি"
},
"GA": {
"name": "গ্যাবন"
},
"GG": {
"name": "গ্রাঞ্জি"
},
"GL": {
"name": "গ্রীনল্যান্ড"
},
@ -246,7 +246,7 @@
"name": "চীন"
},
"CZ": {
"name": "চেক প্রজাতন্ত্র"
"name": "চেচিয়া"
},
"GE": {
"name": "জর্জিয়া"
@ -306,7 +306,7 @@
"name": "তাইওয়ান"
},
"TJ": {
"name": "তাজিকস্থান"
"name": "তাজিকিস্তান"
},
"TZ": {
"name": "তাঞ্জানিয়া"
@ -350,6 +350,9 @@
"NO": {
"name": "নরওয়ে"
},
"NF": {
"name": "নরফোক দ্বীপ"
},
"NE": {
"name": "নাইজার"
},
@ -377,9 +380,6 @@
"GQ": {
"name": "নিরক্ষীয় গিনি"
},
"NF": {
"name": "নিরফোক দ্বীপ"
},
"NL": {
"name": "নেদারল্যান্ডস"
},
@ -419,6 +419,9 @@
"PY": {
"name": "প্যারাগুয়ে"
},
"PS": {
"name": "প্যালেস্টাইনের অঞ্চলসমূহ"
},
"FK": {
"name": "ফকল্যান্ড দ্বীপপুঞ্জ"
},
@ -440,9 +443,6 @@
"PH": {
"name": "ফিলিপাইন"
},
"PS": {
"name": "ফিলিস্তিন অঞ্চলসমূহ"
},
"FO": {
"name": "ফ্যারও দ্বীপপুঞ্জ"
},
@ -714,7 +714,7 @@
"name": "সেন্ট বারথেলিমি"
},
"VC": {
"name": "সেন্ট ভিনসেন্ট ও দ্যা গ্রেনাডিনস"
"name": "সেন্ট ভিনসেন্ট ও গ্রেনাডিনস"
},
"MF": {
"name": "সেন্ট মার্টিন"
@ -750,7 +750,7 @@
"name": "হংকং এসএআর চীনা"
},
"HN": {
"name": "হ্ডুরাস"
"name": "হ্ডুরাস"
},
"HT": {
"name": "হাইতি"

View file

@ -1,19 +1,16 @@
{
"AF": {
"name": "Авганистан"
},
"AZ": {
"name": "Азербејџан"
},
"AX": {
"name": "Аландска острва"
},
"AL": {
"name": "Албанија"
},
"DZ": {
"name": "Алжир"
},
"VI": {
"name": "Америчка Дјевичанска острва"
},
"AS": {
"name": "Америчка Самоа"
},
@ -35,9 +32,6 @@
"AR": {
"name": "Аргентина"
},
"AM": {
"name": "Арменија"
},
"AW": {
"name": "Аруба"
},
@ -47,6 +41,9 @@
"AT": {
"name": "Аустрија"
},
"AF": {
"name": "Афганистан"
},
"BD": {
"name": "Бангладеш"
},
@ -63,19 +60,19 @@
"name": "Белгија"
},
"BZ": {
"name": "Белизе"
},
"BY": {
"name": "Белорусија"
"name": "Белиз"
},
"BJ": {
"name": "Бенин"
},
"BM": {
"name": "Бермуда"
"name": "Бермуди"
},
"BY": {
"name": "Бјелорусија"
},
"CX": {
"name": "Божићна острва"
"name": "Божићно острво"
},
"BO": {
"name": "Боливија"
@ -90,7 +87,7 @@
"name": "Бразил"
},
"VG": {
"name": "Британска Девичанска Острва"
"name": "Британска Дјевичанска острва"
},
"IO": {
"name": "Британска територија у Индијском океану"
@ -111,7 +108,7 @@
"name": "Бутан"
},
"WF": {
"name": "Валис и Футуна Острва"
"name": "Валис и Футуна"
},
"VU": {
"name": "Вануату"
@ -119,9 +116,6 @@
"VA": {
"name": "Ватикан"
},
"GB": {
"name": "Велика Британија"
},
"VE": {
"name": "Венецуела"
},
@ -150,7 +144,10 @@
"name": "Гвинеја"
},
"GW": {
"name": "Гвинеја-Бисао"
"name": "Гвинеја-Бисау"
},
"GG": {
"name": "Гернзи"
},
"GI": {
"name": "Гибралтар"
@ -170,12 +167,12 @@
"GU": {
"name": "Гуам"
},
"GG": {
"name": "Гурнси"
},
"DK": {
"name": "Данска"
},
"CD": {
"name": "Демократска Република Конго"
},
"DG": {
"name": "Дијего Гарсија"
},
@ -192,11 +189,14 @@
"name": "Еквадор"
},
"GQ": {
"name": "Екваторијална Гвинеја"
"name": "Екваторска Гвинеја"
},
"ER": {
"name": "Еритреја"
},
"AM": {
"name": "Ерменија"
},
"EE": {
"name": "Естонија"
},
@ -209,6 +209,9 @@
"EH": {
"name": "Западна Сахара"
},
"CV": {
"name": "Зеленортска Острва"
},
"ZW": {
"name": "Зимбабве"
},
@ -257,6 +260,9 @@
"GS": {
"name": "Јужна Џорџија и Јужна Сендвич Острва"
},
"SS": {
"name": "Јужни Судан"
},
"ZA": {
"name": "Јужноафричка Република"
},
@ -264,7 +270,7 @@
"name": "Казахстан"
},
"KY": {
"name": "Кајманска Острва"
"name": "Кајманска острва"
},
"KH": {
"name": "Камбоџа"
@ -278,8 +284,8 @@
"IC": {
"name": "Канарска острва"
},
"CV": {
"name": "Капе Верде"
"BQ": {
"name": "Карипска Холандија"
},
"QA": {
"name": "Катар"
@ -306,13 +312,13 @@
"name": "Колумбија"
},
"KM": {
"name": "Коморска Острва"
"name": "Комори"
},
"CG": {
"name": "Конго - Бразавил"
"name": "Конго"
},
"CD": {
"name": "Конго - Киншаса"
"XK": {
"name": "Косово"
},
"CR": {
"name": "Костарика"
@ -326,15 +332,18 @@
"CK": {
"name": "Кукова Острва"
},
"CW": {
"name": "Курасао"
},
"LA": {
"name": "Лаос"
},
"LV": {
"name": "Латвија"
},
"LS": {
"name": "Лесото"
},
"LV": {
"name": "Летонија"
},
"LB": {
"name": "Либан"
},
@ -363,7 +372,7 @@
"name": "Мајоте"
},
"MO": {
"name": "Макао С. А. Р. Кина"
"name": "Макао (САР Кина)"
},
"MK": {
"name": "Македонија"
@ -404,12 +413,12 @@
"MX": {
"name": "Мексико"
},
"MM": {
"name": "Мијанмар (Бурма)"
},
"FM": {
"name": "Микронезија"
},
"MM": {
"name": "Мјанмар"
},
"MZ": {
"name": "Мозамбик"
},
@ -431,9 +440,6 @@
"NR": {
"name": "Науру"
},
"DE": {
"name": "Немачка"
},
"NP": {
"name": "Непал"
},
@ -458,12 +464,15 @@
"NO": {
"name": "Норвешка"
},
"NF": {
"name": "Норфолк Острво"
"DE": {
"name": "Њемачка"
},
"CI": {
"name": "Обала Слоноваче"
},
"AX": {
"name": "Оландска острва"
},
"OM": {
"name": "Оман"
},
@ -471,7 +480,10 @@
"name": "Острво Асенсион"
},
"IM": {
"name": "Острво Ман"
"name": "Острво Мен"
},
"NF": {
"name": "Острво Норфолк"
},
"PK": {
"name": "Пакистан"
@ -501,10 +513,10 @@
"name": "Пољска"
},
"PR": {
"name": "Порто Рико"
"name": "Порторико"
},
"PT": {
"name": "Португалија"
"name": "Португал"
},
"RE": {
"name": "Реинион"
@ -518,9 +530,6 @@
"RU": {
"name": "Русија"
},
"VI": {
"name": "С.А.Д. Девичанска Острва"
},
"SV": {
"name": "Салвадор"
},
@ -530,29 +539,35 @@
"SM": {
"name": "Сан Марино"
},
"ST": {
"name": "Сао Томе и Принципе"
},
"SA": {
"name": "Саудијска Арабија"
},
"SZ": {
"name": "Свазиленд"
"name": "Свази"
},
"SJ": {
"name": "Свалбард и Јанмајен Острва"
"name": "Свалбард и Јан Мајен"
},
"LC": {
"name": "Света Луција"
},
"SH": {
"name": "Света Јелена"
"name": "Света Хелена"
},
"BL": {
"name": "Свети Бартоломеј"
},
"KP": {
"name": "Северна Кореја"
"VC": {
"name": "Свети Винсент и Гренадини"
},
"MP": {
"name": "Северна Маријанска Острва"
"KN": {
"name": "Свети Кристофор и Невис"
},
"MF": {
"name": "Свети Мартин"
},
"ST": {
"name": "Свети Тома и Принцип"
},
"SC": {
"name": "Сејшели"
@ -563,18 +578,6 @@
"SN": {
"name": "Сенегал"
},
"VC": {
"name": "Сент Винсент и Гренадини"
},
"KN": {
"name": "Сент Китс и Невис"
},
"LC": {
"name": "Сент Луција"
},
"MF": {
"name": "Сент Мартин"
},
"EA": {
"name": "Сеута и Мелиља"
},
@ -587,6 +590,12 @@
"SY": {
"name": "Сирија"
},
"KP": {
"name": "Сјеверна Кореја"
},
"MP": {
"name": "Сјеверна Маријанска острва"
},
"US": {
"name": "Сједињене Америчке Државе"
},
@ -605,6 +614,9 @@
"RS": {
"name": "Србија"
},
"CF": {
"name": "Средњоафричка Република"
},
"SD": {
"name": "Судан"
},
@ -662,6 +674,9 @@
"AE": {
"name": "Уједињени Арапски Емирати"
},
"GB": {
"name": "Уједињено Краљевство"
},
"UA": {
"name": "Украјина"
},
@ -669,7 +684,7 @@
"name": "Уругвај"
},
"FO": {
"name": "Фарска Острва"
"name": "Фарска острва"
},
"PH": {
"name": "Филипини"
@ -702,7 +717,7 @@
"name": "Холандија"
},
"HK": {
"name": "Хонг Конг С. А. Р. Кина"
"name": "Хонг Конг (САР Кина)"
},
"HN": {
"name": "Хондурас"
@ -710,9 +725,6 @@
"HR": {
"name": "Хрватска"
},
"CF": {
"name": "Централно Афричка Република"
},
"ME": {
"name": "Црна Гора"
},
@ -726,36 +738,24 @@
"name": "Чиле"
},
"JE": {
"name": "Џерси"
"name": "Џерзи"
},
"DJ": {
"name": "Џибути"
},
"CH": {
"name": "Швајцарска"
},
"SE": {
"name": "Шведска"
},
"CH": {
"name": "Швицарска"
},
"ES": {
"name": "Шпанија"
},
"LK": {
"name": "Шри Ланка"
},
"BQ": {
"name": "Caribbean Netherlands"
},
"CW": {
"name": "Curaçao"
},
"XK": {
"name": "Kosovo"
},
"SX": {
"name": "Sint Maarten"
},
"SS": {
"name": "South Sudan"
}
}

View file

@ -9,7 +9,7 @@
"name": "Alžir"
},
"VI": {
"name": "Američka Djevičanska Ostrva"
"name": "Američka Djevičanska ostrva"
},
"AS": {
"name": "Američka Samoa"
@ -87,13 +87,13 @@
"name": "Bosna i Hercegovina"
},
"CX": {
"name": "Božićna Ostrva"
"name": "Božićno ostrvo"
},
"BR": {
"name": "Brazil"
},
"VG": {
"name": "Britanska Djevičanska Ostrva"
"name": "Britanska Djevičanska ostrva"
},
"IO": {
"name": "Britanska Teritorija u Indijskom Okeanu"
@ -123,7 +123,7 @@
"name": "Čad"
},
"CZ": {
"name": "Češka Republika"
"name": "Češka"
},
"CL": {
"name": "Čile"
@ -143,9 +143,6 @@
"DO": {
"name": "Dominikanska Republika"
},
"JE": {
"name": "Džerzi"
},
"DJ": {
"name": "Džibuti"
},
@ -168,7 +165,7 @@
"name": "Etiopija"
},
"FO": {
"name": "Farska Ostrva"
"name": "Farska ostrva"
},
"FJ": {
"name": "Fidži"
@ -180,7 +177,7 @@
"name": "Finska"
},
"FK": {
"name": "Folklandska Ostrva"
"name": "Folklandska ostrva"
},
"FR": {
"name": "Francuska"
@ -290,11 +287,14 @@
"YE": {
"name": "Jemen"
},
"JE": {
"name": "Jersey"
},
"JO": {
"name": "Jordan"
},
"GS": {
"name": "Južna Džordžija i Južna Sendvička Ostrva"
"name": "Južna Džordžija i Južna Sendvič ostrva"
},
"KR": {
"name": "Južna Koreja"
@ -306,7 +306,7 @@
"name": "Južnoafrička Republika"
},
"KY": {
"name": "Kajmanska Ostrva"
"name": "Kajmanska ostrva"
},
"KH": {
"name": "Kambodža"
@ -318,7 +318,7 @@
"name": "Kanada"
},
"IC": {
"name": "Kanarska Ostrva"
"name": "Kanarska ostrva"
},
"CV": {
"name": "Kape Verde"
@ -348,13 +348,13 @@
"name": "Kiribati"
},
"CC": {
"name": "Kokosova (Kilingova) Ostrva"
"name": "Kokosova (Keelingova) ostrva"
},
"CO": {
"name": "Kolumbija"
},
"KM": {
"name": "Komorska Ostrva"
"name": "Komori"
},
"CG": {
"name": "Kongo"
@ -369,7 +369,7 @@
"name": "Kuba"
},
"CK": {
"name": "Kukova Ostrva"
"name": "Kukova ostrva"
},
"CW": {
"name": "Kurasao"
@ -438,7 +438,7 @@
"name": "Maroko"
},
"MH": {
"name": "Maršalova Ostrva"
"name": "Maršalova ostrva"
},
"MQ": {
"name": "Martinik"
@ -452,12 +452,12 @@
"MX": {
"name": "Meksiko"
},
"MM": {
"name": "Mijanmar"
},
"FM": {
"name": "Mikronezija"
},
"MM": {
"name": "Mjanmar"
},
"MD": {
"name": "Moldavija"
},
@ -510,7 +510,7 @@
"name": "Obala Slonovače"
},
"AX": {
"name": "Olandska Ostrva"
"name": "Olandska ostrva"
},
"OM": {
"name": "Oman"
@ -522,7 +522,7 @@
"name": "Ostrva Valis i Futuna"
},
"AC": {
"name": "Ostrvo Asension"
"name": "Ostrvo Ascension"
},
"IM": {
"name": "Ostrvo Man"
@ -618,7 +618,7 @@
"name": "Sjeverna Koreja"
},
"MP": {
"name": "Sjeverna Marijanska Ostrva"
"name": "Sjeverna Marijanska ostrva"
},
"SK": {
"name": "Slovačka"
@ -641,9 +641,6 @@
"SR": {
"name": "Surinam"
},
"MF": {
"name": "Sv. Martin"
},
"SJ": {
"name": "Svalbard i Jan Majen"
},
@ -662,6 +659,9 @@
"KN": {
"name": "Sveti Kits i Nevis"
},
"MF": {
"name": "Sveti Martin"
},
"PM": {
"name": "Sveti Petar i Mikelon"
},
@ -705,7 +705,7 @@
"name": "Trinidad i Tobago"
},
"TA": {
"name": "Tristan da Kunja"
"name": "Tristan da Cunha"
},
"TN": {
"name": "Tunis"

View file

@ -569,9 +569,6 @@
"DO": {
"name": "República Dominicana"
},
"CZ": {
"name": "República Txeca"
},
"RO": {
"name": "Romania"
},
@ -681,7 +678,7 @@
"name": "Territori Britànic de lOceà Índic"
},
"TF": {
"name": "Territoris Francesos del Sud"
"name": "Territoris Australs Francesos"
},
"PS": {
"name": "territoris palestins"
@ -719,6 +716,9 @@
"TD": {
"name": "Txad"
},
"CZ": {
"name": "Txèquia"
},
"UA": {
"name": "Ucraïna"
},

View file

@ -221,9 +221,6 @@
"IL": {
"name": "Израиль"
},
"IN": {
"name": "Инди"
},
"ID": {
"name": "Индонези"
},
@ -248,9 +245,6 @@
"CV": {
"name": "Кабо-Верде"
},
"KZ": {
"name": "Казахстан"
},
"KY": {
"name": "Кайман гӀайренаш"
},
@ -287,9 +281,6 @@
"KI": {
"name": "Кирибати"
},
"CN": {
"name": "Китай"
},
"CC": {
"name": "Кокосийн гӀайренаш"
},
@ -299,6 +290,9 @@
"KM": {
"name": "Комораш"
},
"CG": {
"name": "Конго - Браззавиль"
},
"XK": {
"name": "Косово"
},
@ -317,6 +311,9 @@
"CK": {
"name": "Кукан гӀайренаш"
},
"KZ": {
"name": "Кхазакхстан"
},
"GS": {
"name": "Къилба Джорджи а, Къилба Гавайн гӀайренаш а"
},
@ -474,10 +471,7 @@
"name": "Норфолк гӀайре"
},
"AF": {
"name": "ОвхӀан-пачхьалкх"
},
"OM": {
"name": "Оман"
"name": "ОвхӀан мохк"
},
"PK": {
"name": "Пакистан"
@ -486,7 +480,7 @@
"name": "Палау"
},
"PS": {
"name": "Палестинан латтанаш"
"name": "ПалестӀинан латтанаш"
},
"PA": {
"name": "Панама"
@ -512,9 +506,6 @@
"PR": {
"name": "Пуэрто-Рико"
},
"CG": {
"name": "Республика Конго"
},
"RE": {
"name": "Реюньон"
},
@ -540,7 +531,7 @@
"name": "Сан-Томе а, Принсипи а"
},
"SA": {
"name": "СаӀудийн Арави"
"name": "СаӀудийн Ӏаьрбийчоь"
},
"SZ": {
"name": "Свазиленд"
@ -695,6 +686,12 @@
"HR": {
"name": "Хорвати"
},
"IN": {
"name": "ХӀинди"
},
"CN": {
"name": "Цийчоь"
},
"US": {
"name": "Цхьанатоьхна Штаташ"
},
@ -753,9 +750,12 @@
"name": "Ӏарбийн Цхьанатоьхна Эмираташ"
},
"ME": {
"name": "Ӏаьржаламанхойчоь"
"name": "Ӏаьржаламанчоь"
},
"IQ": {
"name": "Ӏиракъ"
},
"OM": {
"name": "Ӏоман"
}
}

View file

@ -599,6 +599,9 @@
"TW": {
"name": "ᏔᎢᏩᏂ"
},
"TO": {
"name": ""
},
"TJ": {
"name": "ᏔᏥᎩᏍᏕᏂ"
},
@ -629,9 +632,6 @@
"DO": {
"name": "ᏙᎻᏂᎧᏂ ᏍᎦᏚᎩ"
},
"TO": {
"name": "ᏙᏅᎦ"
},
"TN": {
"name": "ᏚᏂᏏᏍᎠ"
},
@ -660,7 +660,7 @@
"name": "ᏣᏩᏂᏏ"
},
"CZ": {
"name": "ᏤᎩ ᏍᎦᏚᎩ"
"name": "ᏤᎩ"
},
"CL": {
"name": "ᏥᎵ"

View file

@ -188,9 +188,6 @@
"VI": {
"name": "U.S. Virgin Islands"
},
"US": {
"name": "United States"
},
"VE": {
"name": "Venezuela"
},
@ -200,9 +197,6 @@
"EH": {
"name": "Western Sahara"
},
"AR": {
"name": "ئارجەنتینا"
},
"AW": {
"name": "ئارووبا"
},
@ -224,6 +218,9 @@
"ET": {
"name": "ئەتیۆپیا"
},
"AR": {
"name": "ئەرژەنتین"
},
"AM": {
"name": "ئەرمەنستان"
},
@ -236,9 +233,6 @@
"AF": {
"name": "ئەفغانستان"
},
"DZ": {
"name": "ئەلجەزایر"
},
"AL": {
"name": "ئەڵبانیا"
},
@ -257,12 +251,12 @@
"UZ": {
"name": "ئوزبەکستان"
},
"AU": {
"name": "ئوسترالیا"
},
"UG": {
"name": "ئوگاندا"
},
"AU": {
"name": "ئۆسترالیا"
},
"UA": {
"name": "ئۆکرانیا"
},
@ -296,9 +290,6 @@
"BR": {
"name": "برازیل"
},
"BJ": {
"name": "بنین"
},
"BH": {
"name": "بەحرەین"
},
@ -338,6 +329,9 @@
"BY": {
"name": "بیلاڕووس"
},
"BJ": {
"name": "بێنین"
},
"PG": {
"name": "پاپوا گینێی نوێ"
},
@ -398,12 +392,18 @@
"JM": {
"name": "جامایکا"
},
"DZ": {
"name": "جەزایر"
},
"DJ": {
"name": "جیبووتی"
},
"TD": {
"name": "چاد"
},
"CL": {
"name": "چیلی"
},
"CN": {
"name": "چین"
},
@ -414,7 +414,7 @@
"name": "دوورگەکانی سلێمان"
},
"KM": {
"name": "دوورگەکانی قەمەر"
"name": "دوورگەکانی کۆمۆر"
},
"MH": {
"name": "دوورگەکانی مارشاڵ"
@ -509,9 +509,6 @@
"GB": {
"name": "شانشینی یەکگرتوو"
},
"CL": {
"name": "شیلی"
},
"SA": {
"name": "عەرەبستانی سەعوودی"
},
@ -558,7 +555,7 @@
"name": "کازاخستان"
},
"CM": {
"name": "کامیروون"
"name": "کامیرۆن"
},
"CA": {
"name": "کانەدا"
@ -752,6 +749,9 @@
"IN": {
"name": "ھیندستان"
},
"US": {
"name": "ویلایەتە یەکگرتووەکان"
},
"YE": {
"name": "یەمەن"
},

View file

@ -126,7 +126,7 @@
"name": "Černá Hora"
},
"CZ": {
"name": "Česká republika"
"name": "Česko"
},
"CN": {
"name": "Čína"

View file

@ -69,7 +69,7 @@
"name": "Bolifia"
},
"BA": {
"name": "Bosnia a Hercegovina"
"name": "Bosnia a Herzegovina"
},
"BW": {
"name": "Botswana"
@ -239,9 +239,6 @@
"DO": {
"name": "Gweriniaeth Dominica"
},
"CZ": {
"name": "Gweriniaeth Tsiec"
},
"BE": {
"name": "Gwlad Belg"
},
@ -605,6 +602,9 @@
"TA": {
"name": "Tristan da Cunha"
},
"CZ": {
"name": "Tsiecia"
},
"CN": {
"name": "Tsieina"
},

View file

@ -429,7 +429,7 @@
"name": "Mexico"
},
"FM": {
"name": "Mikronesiens Forenede Stater"
"name": "Mikronesien"
},
"MD": {
"name": "Moldova"

View file

@ -491,9 +491,6 @@
"AT": {
"name": "Österreich"
},
"TL": {
"name": "Osttimor"
},
"PK": {
"name": "Pakistan"
},
@ -599,12 +596,12 @@
"SO": {
"name": "Somalia"
},
"HK": {
"name": "Sonderverwaltungsregion Hongkong"
},
"MO": {
"name": "Sonderverwaltungsregion Macau"
},
"HK": {
"name": "Sonderverwaltungszone Hongkong"
},
"ES": {
"name": "Spanien"
},
@ -671,6 +668,9 @@
"TH": {
"name": "Thailand"
},
"TL": {
"name": "Timor-Leste"
},
"TG": {
"name": "Togo"
},
@ -690,7 +690,7 @@
"name": "Tschad"
},
"CZ": {
"name": "Tschechische Republik"
"name": "Tschechien"
},
"TN": {
"name": "Tunesien"

View file

@ -596,17 +596,17 @@
"SO": {
"name": "Somalia"
},
"HK": {
"name": "Sonderverwaltungsregion Hongkong"
},
"MO": {
"name": "Sonderverwaltungsregion Macau"
},
"HK": {
"name": "Sonderverwaltungszone Hongkong"
},
"ES": {
"name": "Spanien"
},
"SJ": {
"name": "Spitzbergen"
"name": "Spitzbergen und Jan Mayen"
},
"LK": {
"name": "Sri Lanka"
@ -687,7 +687,7 @@
"name": "Tschad"
},
"CZ": {
"name": "Tschechische Republik"
"name": "Tschechien"
},
"TN": {
"name": "Tunesien"

View file

@ -491,9 +491,6 @@
"AT": {
"name": "Österreich"
},
"TL": {
"name": "Osttimor"
},
"PK": {
"name": "Pakistan"
},
@ -599,17 +596,17 @@
"SO": {
"name": "Somalia"
},
"HK": {
"name": "Sonderverwaltungsregion Hongkong"
},
"MO": {
"name": "Sonderverwaltungsregion Macau"
},
"HK": {
"name": "Sonderverwaltungszone Hongkong"
},
"ES": {
"name": "Spanien"
},
"SJ": {
"name": "Spitzbergen"
"name": "Spitzbergen und Jan Mayen"
},
"LK": {
"name": "Sri Lanka"
@ -671,6 +668,9 @@
"TH": {
"name": "Thailand"
},
"TL": {
"name": "Timor-Leste"
},
"TG": {
"name": "Togo"
},
@ -690,7 +690,7 @@
"name": "Tschad"
},
"CZ": {
"name": "Tschechische Republik"
"name": "Tschechien"
},
"TN": {
"name": "Tunesien"

View file

@ -20,8 +20,8 @@
"SX": {
"name": "Άγιος Μαρτίνος (Ολλανδικό τμήμα)"
},
"KN": {
"name": "Άγιος Χριστόφορος και Νέβις"
"AO": {
"name": "Αγκόλα"
},
"AZ": {
"name": "Αζερμπαϊτζάν"
@ -45,14 +45,11 @@
"name": "Αλγερία"
},
"VI": {
"name": "Αμερικανικές Παρθένοι Νήσοι"
"name": "Αμερικανικές Παρθένες Νήσοι"
},
"AS": {
"name": "Αμερικανική Σαμόα"
},
"AO": {
"name": "Ανγκόλα"
},
"AI": {
"name": "Ανγκουίλα"
},
@ -123,7 +120,7 @@
"name": "Βρετανικά Εδάφη Ινδικού Ωκεανού"
},
"VG": {
"name": "Βρετανικές Παρθένοι Νήσοι"
"name": "Βρετανικές Παρθένες Νήσοι"
},
"FR": {
"name": "Γαλλία"
@ -191,9 +188,6 @@
"EH": {
"name": "Δυτική Σαχάρα"
},
"EC": {
"name": "Εκουαδόρ"
},
"SV": {
"name": "Ελ Σαλβαδόρ"
},
@ -225,7 +219,7 @@
"name": "Ηνωμένο Βασίλειο"
},
"EA": {
"name": εούτα και Μελίλα"
"name": έουτα και Μελίγια"
},
"JP": {
"name": "Ιαπωνία"
@ -251,6 +245,9 @@
"GQ": {
"name": "Ισημερινή Γουινέα"
},
"EC": {
"name": "Ισημερινός"
},
"IS": {
"name": "Ισλανδία"
},
@ -309,7 +306,7 @@
"name": "Κονγκό - Μπραζαβίλ"
},
"XK": {
"name": "Κόσοβο"
"name": "Κοσσυφοπέδιο"
},
"CR": {
"name": "Κόστα Ρίκα"
@ -402,7 +399,7 @@
"name": "Μεξικό"
},
"MM": {
"name": "Μιανμάρ\/Βιρμανία"
"name": "Μιανμάρ (Βιρμανία)"
},
"FM": {
"name": "Μικρονησία"
@ -426,7 +423,7 @@
"name": "Μπανγκλαντές"
},
"BB": {
"name": "Μπαρμπάντος"
"name": "Μπαρμπέιντος"
},
"BS": {
"name": "Μπαχάμες"
@ -474,7 +471,7 @@
"name": "Νήσοι Βόρειες Μαριάνες"
},
"KY": {
"name": "Νήσοι Κάιμαν"
"name": "Νήσοι Κέιμαν"
},
"CC": {
"name": "Νήσοι Κόκος (Κίλινγκ)"
@ -498,7 +495,7 @@
"name": "Νήσοι Σολομώντος"
},
"TC": {
"name": "Νήσοι Τερκ και Κάικος"
"name": "Νήσοι Τερκς και Κάικος"
},
"FO": {
"name": "Νήσοι Φερόες"
@ -509,12 +506,12 @@
"AC": {
"name": "Νήσος Ασενσιόν"
},
"IM": {
"name": "Νήσος Μαν"
},
"NF": {
"name": "Νήσος Νόρφολκ"
},
"IM": {
"name": "Νήσος του Μαν"
},
"CX": {
"name": "Νήσος των Χριστουγέννων"
},
@ -638,6 +635,9 @@
"SJ": {
"name": "Σβάλμπαρντ και Γιαν Μαγιέν"
},
"KN": {
"name": "Σεν Κιτς και Νέβις"
},
"PM": {
"name": "Σεν Πιερ και Μικελόν"
},
@ -735,7 +735,7 @@
"name": "Τσαντ"
},
"CZ": {
"name": "Τσεχική Δημοκρατία"
"name": "Τσεχία"
},
"TN": {
"name": "Τυνησία"

View file

@ -0,0 +1,761 @@
{
"AF": {
"name": "Afghanistan"
},
"AX": {
"name": "Åland Islands"
},
"AL": {
"name": "Albania"
},
"DZ": {
"name": "Algeria"
},
"AS": {
"name": "American Samoa"
},
"AD": {
"name": "Andorra"
},
"AO": {
"name": "Angola"
},
"AI": {
"name": "Anguilla"
},
"AQ": {
"name": "Antarctica"
},
"AG": {
"name": "Antigua & Barbuda"
},
"AR": {
"name": "Argentina"
},
"AM": {
"name": "Armenia"
},
"AW": {
"name": "Aruba"
},
"AC": {
"name": "Ascension Island"
},
"AU": {
"name": "Australia"
},
"AT": {
"name": "Austria"
},
"AZ": {
"name": "Azerbaijan"
},
"BS": {
"name": "Bahamas"
},
"BH": {
"name": "Bahrain"
},
"BD": {
"name": "Bangladesh"
},
"BB": {
"name": "Barbados"
},
"BY": {
"name": "Belarus"
},
"BE": {
"name": "Belgium"
},
"BZ": {
"name": "Belize"
},
"BJ": {
"name": "Benin"
},
"BM": {
"name": "Bermuda"
},
"BT": {
"name": "Bhutan"
},
"BO": {
"name": "Bolivia"
},
"BA": {
"name": "Bosnia & Herzegovina"
},
"BW": {
"name": "Botswana"
},
"BR": {
"name": "Brazil"
},
"IO": {
"name": "British Indian Ocean Territory"
},
"VG": {
"name": "British Virgin Islands"
},
"BN": {
"name": "Brunei"
},
"BG": {
"name": "Bulgaria"
},
"BF": {
"name": "Burkina Faso"
},
"BI": {
"name": "Burundi"
},
"KH": {
"name": "Cambodia"
},
"CM": {
"name": "Cameroon"
},
"CA": {
"name": "Canada"
},
"IC": {
"name": "Canary Islands"
},
"CV": {
"name": "Cape Verde"
},
"BQ": {
"name": "Caribbean Netherlands"
},
"KY": {
"name": "Cayman Islands"
},
"CF": {
"name": "Central African Republic"
},
"EA": {
"name": "Ceuta & Melilla"
},
"TD": {
"name": "Chad"
},
"CL": {
"name": "Chile"
},
"CN": {
"name": "China"
},
"CX": {
"name": "Christmas Island"
},
"CC": {
"name": "Cocos (Keeling) Islands"
},
"CO": {
"name": "Colombia"
},
"KM": {
"name": "Comoros"
},
"CG": {
"name": "Congo - Brazzaville"
},
"CD": {
"name": "Congo - Kinshasa"
},
"CK": {
"name": "Cook Islands"
},
"CR": {
"name": "Costa Rica"
},
"CI": {
"name": "Côte dIvoire"
},
"HR": {
"name": "Croatia"
},
"CU": {
"name": "Cuba"
},
"CW": {
"name": "Curaçao"
},
"CY": {
"name": "Cyprus"
},
"CZ": {
"name": "Czechia"
},
"DK": {
"name": "Denmark"
},
"DG": {
"name": "Diego Garcia"
},
"DJ": {
"name": "Djibouti"
},
"DM": {
"name": "Dominica"
},
"DO": {
"name": "Dominican Republic"
},
"EC": {
"name": "Ecuador"
},
"EG": {
"name": "Egypt"
},
"SV": {
"name": "El Salvador"
},
"GQ": {
"name": "Equatorial Guinea"
},
"ER": {
"name": "Eritrea"
},
"EE": {
"name": "Estonia"
},
"ET": {
"name": "Ethiopia"
},
"FK": {
"name": "Falkland Islands"
},
"FO": {
"name": "Faroe Islands"
},
"FJ": {
"name": "Fiji"
},
"FI": {
"name": "Finland"
},
"FR": {
"name": "France"
},
"GF": {
"name": "French Guiana"
},
"PF": {
"name": "French Polynesia"
},
"TF": {
"name": "French Southern Territories"
},
"GA": {
"name": "Gabon"
},
"GM": {
"name": "Gambia"
},
"GE": {
"name": "Georgia"
},
"DE": {
"name": "Germany"
},
"GH": {
"name": "Ghana"
},
"GI": {
"name": "Gibraltar"
},
"GR": {
"name": "Greece"
},
"GL": {
"name": "Greenland"
},
"GD": {
"name": "Grenada"
},
"GP": {
"name": "Guadeloupe"
},
"GU": {
"name": "Guam"
},
"GT": {
"name": "Guatemala"
},
"GG": {
"name": "Guernsey"
},
"GN": {
"name": "Guinea"
},
"GW": {
"name": "Guinea-Bissau"
},
"GY": {
"name": "Guyana"
},
"HT": {
"name": "Haiti"
},
"HN": {
"name": "Honduras"
},
"HK": {
"name": "Hong Kong SAR China"
},
"HU": {
"name": "Hungary"
},
"IS": {
"name": "Iceland"
},
"IN": {
"name": "India"
},
"ID": {
"name": "Indonesia"
},
"IR": {
"name": "Iran"
},
"IQ": {
"name": "Iraq"
},
"IE": {
"name": "Ireland"
},
"IM": {
"name": "Isle of Man"
},
"IL": {
"name": "Israel"
},
"IT": {
"name": "Italy"
},
"JM": {
"name": "Jamaica"
},
"JP": {
"name": "Japan"
},
"JE": {
"name": "Jersey"
},
"JO": {
"name": "Jordan"
},
"KZ": {
"name": "Kazakhstan"
},
"KE": {
"name": "Kenya"
},
"KI": {
"name": "Kiribati"
},
"XK": {
"name": "Kosovo"
},
"KW": {
"name": "Kuwait"
},
"KG": {
"name": "Kyrgyzstan"
},
"LA": {
"name": "Laos"
},
"LV": {
"name": "Latvia"
},
"LB": {
"name": "Lebanon"
},
"LS": {
"name": "Lesotho"
},
"LR": {
"name": "Liberia"
},
"LY": {
"name": "Libya"
},
"LI": {
"name": "Liechtenstein"
},
"LT": {
"name": "Lithuania"
},
"LU": {
"name": "Luxembourg"
},
"MO": {
"name": "Macau SAR China"
},
"MK": {
"name": "Macedonia"
},
"MG": {
"name": "Madagascar"
},
"MW": {
"name": "Malawi"
},
"MY": {
"name": "Malaysia"
},
"MV": {
"name": "Maldives"
},
"ML": {
"name": "Mali"
},
"MT": {
"name": "Malta"
},
"MH": {
"name": "Marshall Islands"
},
"MQ": {
"name": "Martinique"
},
"MR": {
"name": "Mauritania"
},
"MU": {
"name": "Mauritius"
},
"YT": {
"name": "Mayotte"
},
"MX": {
"name": "Mexico"
},
"FM": {
"name": "Micronesia"
},
"MD": {
"name": "Moldova"
},
"MC": {
"name": "Monaco"
},
"MN": {
"name": "Mongolia"
},
"ME": {
"name": "Montenegro"
},
"MS": {
"name": "Montserrat"
},
"MA": {
"name": "Morocco"
},
"MZ": {
"name": "Mozambique"
},
"MM": {
"name": "Myanmar (Burma)"
},
"NA": {
"name": "Namibia"
},
"NR": {
"name": "Nauru"
},
"NP": {
"name": "Nepal"
},
"NL": {
"name": "Netherlands"
},
"NC": {
"name": "New Caledonia"
},
"NZ": {
"name": "New Zealand"
},
"NI": {
"name": "Nicaragua"
},
"NE": {
"name": "Niger"
},
"NG": {
"name": "Nigeria"
},
"NU": {
"name": "Niue"
},
"NF": {
"name": "Norfolk Island"
},
"KP": {
"name": "North Korea"
},
"MP": {
"name": "Northern Mariana Islands"
},
"NO": {
"name": "Norway"
},
"OM": {
"name": "Oman"
},
"PK": {
"name": "Pakistan"
},
"PW": {
"name": "Palau"
},
"PS": {
"name": "Palestinian Territories"
},
"PA": {
"name": "Panama"
},
"PG": {
"name": "Papua New Guinea"
},
"PY": {
"name": "Paraguay"
},
"PE": {
"name": "Peru"
},
"PH": {
"name": "Philippines"
},
"PN": {
"name": "Pitcairn Islands"
},
"PL": {
"name": "Poland"
},
"PT": {
"name": "Portugal"
},
"PR": {
"name": "Puerto Rico"
},
"QA": {
"name": "Qatar"
},
"RE": {
"name": "Réunion"
},
"RO": {
"name": "Romania"
},
"RU": {
"name": "Russia"
},
"RW": {
"name": "Rwanda"
},
"WS": {
"name": "Samoa"
},
"SM": {
"name": "San Marino"
},
"ST": {
"name": "São Tomé & Príncipe"
},
"SA": {
"name": "Saudi Arabia"
},
"SN": {
"name": "Senegal"
},
"RS": {
"name": "Serbia"
},
"SC": {
"name": "Seychelles"
},
"SL": {
"name": "Sierra Leone"
},
"SG": {
"name": "Singapore"
},
"SX": {
"name": "Sint Maarten"
},
"SK": {
"name": "Slovakia"
},
"SI": {
"name": "Slovenia"
},
"SB": {
"name": "Solomon Islands"
},
"SO": {
"name": "Somalia"
},
"ZA": {
"name": "South Africa"
},
"GS": {
"name": "South Georgia & South Sandwich Islands"
},
"KR": {
"name": "South Korea"
},
"SS": {
"name": "South Sudan"
},
"ES": {
"name": "Spain"
},
"LK": {
"name": "Sri Lanka"
},
"BL": {
"name": "St Barthélemy"
},
"SH": {
"name": "St Helena"
},
"KN": {
"name": "St Kitts & Nevis"
},
"LC": {
"name": "St Lucia"
},
"MF": {
"name": "St Martin"
},
"PM": {
"name": "St Pierre & Miquelon"
},
"VC": {
"name": "St Vincent & Grenadines"
},
"SD": {
"name": "Sudan"
},
"SR": {
"name": "Suriname"
},
"SJ": {
"name": "Svalbard & Jan Mayen"
},
"SZ": {
"name": "Swaziland"
},
"SE": {
"name": "Sweden"
},
"CH": {
"name": "Switzerland"
},
"SY": {
"name": "Syria"
},
"TW": {
"name": "Taiwan"
},
"TJ": {
"name": "Tajikistan"
},
"TZ": {
"name": "Tanzania"
},
"TH": {
"name": "Thailand"
},
"TL": {
"name": "Timor-Leste"
},
"TG": {
"name": "Togo"
},
"TK": {
"name": "Tokelau"
},
"TO": {
"name": "Tonga"
},
"TT": {
"name": "Trinidad & Tobago"
},
"TA": {
"name": "Tristan da Cunha"
},
"TN": {
"name": "Tunisia"
},
"TR": {
"name": "Turkey"
},
"TM": {
"name": "Turkmenistan"
},
"TC": {
"name": "Turks & Caicos Islands"
},
"TV": {
"name": "Tuvalu"
},
"UG": {
"name": "Uganda"
},
"UA": {
"name": "Ukraine"
},
"AE": {
"name": "United Arab Emirates"
},
"GB": {
"name": "United Kingdom"
},
"US": {
"name": "United States"
},
"UY": {
"name": "Uruguay"
},
"UM": {
"name": "US Outlying Islands"
},
"VI": {
"name": "US Virgin Islands"
},
"UZ": {
"name": "Uzbekistan"
},
"VU": {
"name": "Vanuatu"
},
"VA": {
"name": "Vatican City"
},
"VE": {
"name": "Venezuela"
},
"VN": {
"name": "Vietnam"
},
"WF": {
"name": "Wallis & Futuna"
},
"EH": {
"name": "Western Sahara"
},
"YE": {
"name": "Yemen"
},
"ZM": {
"name": "Zambia"
},
"ZW": {
"name": "Zimbabwe"
}
}

View file

@ -186,7 +186,7 @@
"name": "Cyprus"
},
"CZ": {
"name": "Czech Republic"
"name": "Czechia"
},
"DK": {
"name": "Denmark"

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -0,0 +1,761 @@
{
"AF": {
"name": "Afganistán"
},
"AL": {
"name": "Albania"
},
"DE": {
"name": "Alemania"
},
"AD": {
"name": "Andorra"
},
"AO": {
"name": "Angola"
},
"AI": {
"name": "Anguila"
},
"AQ": {
"name": "Antártida"
},
"AG": {
"name": "Antigua y Barbuda"
},
"SA": {
"name": "Arabia Saudí"
},
"DZ": {
"name": "Argelia"
},
"AR": {
"name": "Argentina"
},
"AM": {
"name": "Armenia"
},
"AW": {
"name": "Aruba"
},
"AU": {
"name": "Australia"
},
"AT": {
"name": "Austria"
},
"AZ": {
"name": "Azerbaiyán"
},
"BS": {
"name": "Bahamas"
},
"BD": {
"name": "Bangladés"
},
"BB": {
"name": "Barbados"
},
"BH": {
"name": "Baréin"
},
"BE": {
"name": "Bélgica"
},
"BZ": {
"name": "Belice"
},
"BJ": {
"name": "Benín"
},
"BM": {
"name": "Bermudas"
},
"BY": {
"name": "Bielorrusia"
},
"BO": {
"name": "Bolivia"
},
"BA": {
"name": "Bosnia-Herzegovina"
},
"BW": {
"name": "Botsuana"
},
"BR": {
"name": "Brasil"
},
"BN": {
"name": "Brunéi"
},
"BG": {
"name": "Bulgaria"
},
"BF": {
"name": "Burkina Faso"
},
"BI": {
"name": "Burundi"
},
"BT": {
"name": "Bután"
},
"CV": {
"name": "Cabo Verde"
},
"KH": {
"name": "Camboya"
},
"CM": {
"name": "Camerún"
},
"CA": {
"name": "Canadá"
},
"BQ": {
"name": "Caribe neerlandés"
},
"QA": {
"name": "Catar"
},
"EA": {
"name": "Ceuta y Melilla"
},
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
"CN": {
"name": "China"
},
"CY": {
"name": "Chipre"
},
"VA": {
"name": "Ciudad del Vaticano"
},
"CO": {
"name": "Colombia"
},
"KM": {
"name": "Comoras"
},
"KP": {
"name": "Corea del Norte"
},
"KR": {
"name": "Corea del Sur"
},
"CI": {
"name": "Costa de Marfil"
},
"CR": {
"name": "Costa Rica"
},
"HR": {
"name": "Croacia"
},
"CU": {
"name": "Cuba"
},
"CW": {
"name": "Curazao"
},
"DG": {
"name": "Diego García"
},
"DK": {
"name": "Dinamarca"
},
"DM": {
"name": "Dominica"
},
"EC": {
"name": "Ecuador"
},
"EG": {
"name": "Egipto"
},
"SV": {
"name": "El Salvador"
},
"AE": {
"name": "Emiratos Árabes Unidos"
},
"ER": {
"name": "Eritrea"
},
"SK": {
"name": "Eslovaquia"
},
"SI": {
"name": "Eslovenia"
},
"ES": {
"name": "España"
},
"US": {
"name": "Estados Unidos"
},
"EE": {
"name": "Estonia"
},
"ET": {
"name": "Etiopía"
},
"PH": {
"name": "Filipinas"
},
"FI": {
"name": "Finlandia"
},
"FJ": {
"name": "Fiyi"
},
"FR": {
"name": "Francia"
},
"GA": {
"name": "Gabón"
},
"GM": {
"name": "Gambia"
},
"GE": {
"name": "Georgia"
},
"GH": {
"name": "Ghana"
},
"GI": {
"name": "Gibraltar"
},
"GD": {
"name": "Granada"
},
"GR": {
"name": "Grecia"
},
"GL": {
"name": "Groenlandia"
},
"GP": {
"name": "Guadalupe"
},
"GU": {
"name": "Guam"
},
"GT": {
"name": "Guatemala"
},
"GF": {
"name": "Guayana Francesa"
},
"GG": {
"name": "Guernesey"
},
"GN": {
"name": "Guinea"
},
"GQ": {
"name": "Guinea Ecuatorial"
},
"GW": {
"name": "Guinea-Bisáu"
},
"GY": {
"name": "Guyana"
},
"HT": {
"name": "Haití"
},
"HN": {
"name": "Honduras"
},
"HU": {
"name": "Hungría"
},
"IN": {
"name": "India"
},
"ID": {
"name": "Indonesia"
},
"IQ": {
"name": "Irak"
},
"IR": {
"name": "Irán"
},
"IE": {
"name": "Irlanda"
},
"AC": {
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
},
"CX": {
"name": "Isla de Navidad"
},
"NF": {
"name": "Isla Norfolk"
},
"IS": {
"name": "Islandia"
},
"AX": {
"name": "Islas Åland"
},
"KY": {
"name": "Islas Caimán"
},
"IC": {
"name": "Islas Canarias"
},
"CC": {
"name": "Islas Cocos"
},
"CK": {
"name": "Islas Cook"
},
"FO": {
"name": "Islas Feroe"
},
"GS": {
"name": "Islas Georgia del Sur y Sandwich del Sur"
},
"FK": {
"name": "Islas Malvinas"
},
"MP": {
"name": "Islas Marianas del Norte"
},
"MH": {
"name": "Islas Marshall"
},
"PN": {
"name": "Islas Pitcairn"
},
"SB": {
"name": "Islas Salomón"
},
"TC": {
"name": "Islas Turcas y Caicos"
},
"UM": {
"name": "Islas Ultramarinas de EE.UU."
},
"VG": {
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
},
"IT": {
"name": "Italia"
},
"JM": {
"name": "Jamaica"
},
"JP": {
"name": "Japón"
},
"JE": {
"name": "Jersey"
},
"JO": {
"name": "Jordania"
},
"KZ": {
"name": "Kazajistán"
},
"KE": {
"name": "Kenia"
},
"KG": {
"name": "Kirguistán"
},
"KI": {
"name": "Kiribati"
},
"XK": {
"name": "Kosovo"
},
"KW": {
"name": "Kuwait"
},
"LA": {
"name": "Laos"
},
"LS": {
"name": "Lesoto"
},
"LV": {
"name": "Letonia"
},
"LB": {
"name": "Líbano"
},
"LR": {
"name": "Liberia"
},
"LY": {
"name": "Libia"
},
"LI": {
"name": "Liechtenstein"
},
"LT": {
"name": "Lituania"
},
"LU": {
"name": "Luxemburgo"
},
"MK": {
"name": "Macedonia"
},
"MG": {
"name": "Madagascar"
},
"MY": {
"name": "Malasia"
},
"MW": {
"name": "Malaui"
},
"MV": {
"name": "Maldivas"
},
"ML": {
"name": "Mali"
},
"MT": {
"name": "Malta"
},
"MA": {
"name": "Marruecos"
},
"MQ": {
"name": "Martinica"
},
"MU": {
"name": "Mauricio"
},
"MR": {
"name": "Mauritania"
},
"YT": {
"name": "Mayotte"
},
"MX": {
"name": "México"
},
"FM": {
"name": "Micronesia"
},
"MD": {
"name": "Moldavia"
},
"MC": {
"name": "Mónaco"
},
"MN": {
"name": "Mongolia"
},
"ME": {
"name": "Montenegro"
},
"MS": {
"name": "Montserrat"
},
"MZ": {
"name": "Mozambique"
},
"MM": {
"name": "Myanmar (Birmania)"
},
"NA": {
"name": "Namibia"
},
"NR": {
"name": "Nauru"
},
"NP": {
"name": "Nepal"
},
"NI": {
"name": "Nicaragua"
},
"NE": {
"name": "Níger"
},
"NG": {
"name": "Nigeria"
},
"NU": {
"name": "Niue"
},
"NO": {
"name": "Noruega"
},
"NC": {
"name": "Nueva Caledonia"
},
"NZ": {
"name": "Nueva Zelanda"
},
"OM": {
"name": "Omán"
},
"NL": {
"name": "Países Bajos"
},
"PK": {
"name": "Pakistán"
},
"PW": {
"name": "Palaos"
},
"PA": {
"name": "Panamá"
},
"PG": {
"name": "Papúa Nueva Guinea"
},
"PY": {
"name": "Paraguay"
},
"PE": {
"name": "Perú"
},
"PF": {
"name": "Polinesia Francesa"
},
"PL": {
"name": "Polonia"
},
"PT": {
"name": "Portugal"
},
"PR": {
"name": "Puerto Rico"
},
"HK": {
"name": "RAE de Hong Kong (China)"
},
"MO": {
"name": "RAE de Macao (China)"
},
"GB": {
"name": "Reino Unido"
},
"CF": {
"name": "República Centroafricana"
},
"CG": {
"name": "República del Congo"
},
"CD": {
"name": "República Democrática del Congo"
},
"DO": {
"name": "República Dominicana"
},
"RE": {
"name": "Reunión"
},
"RW": {
"name": "Ruanda"
},
"RO": {
"name": "Rumanía"
},
"RU": {
"name": "Rusia"
},
"EH": {
"name": "Sáhara Occidental"
},
"WS": {
"name": "Samoa"
},
"AS": {
"name": "Samoa Americana"
},
"BL": {
"name": "San Bartolomé"
},
"KN": {
"name": "San Cristóbal y Nieves"
},
"SM": {
"name": "San Marino"
},
"MF": {
"name": "San Martín"
},
"PM": {
"name": "San Pedro y Miquelón"
},
"VC": {
"name": "San Vicente y las Granadinas"
},
"SH": {
"name": "Santa Elena"
},
"LC": {
"name": "Santa Lucía"
},
"ST": {
"name": "Santo Tomé y Príncipe"
},
"SN": {
"name": "Senegal"
},
"RS": {
"name": "Serbia"
},
"SC": {
"name": "Seychelles"
},
"SL": {
"name": "Sierra Leona"
},
"SG": {
"name": "Singapur"
},
"SX": {
"name": "Sint Maarten"
},
"SY": {
"name": "Siria"
},
"SO": {
"name": "Somalia"
},
"LK": {
"name": "Sri Lanka"
},
"SZ": {
"name": "Suazilandia"
},
"ZA": {
"name": "Sudáfrica"
},
"SD": {
"name": "Sudán"
},
"SS": {
"name": "Sudán del Sur"
},
"SE": {
"name": "Suecia"
},
"CH": {
"name": "Suiza"
},
"SR": {
"name": "Surinam"
},
"SJ": {
"name": "Svalbard y Jan Mayen"
},
"TH": {
"name": "Tailandia"
},
"TW": {
"name": "Taiwán"
},
"TZ": {
"name": "Tanzania"
},
"TJ": {
"name": "Tayikistán"
},
"IO": {
"name": "Territorio Británico del Océano Índico"
},
"TF": {
"name": "Territorios Australes Franceses"
},
"PS": {
"name": "Territorios Palestinos"
},
"TL": {
"name": "Timor Oriental"
},
"TG": {
"name": "Togo"
},
"TK": {
"name": "Tokelau"
},
"TO": {
"name": "Tonga"
},
"TT": {
"name": "Trinidad y Tobago"
},
"TA": {
"name": "Tristán da Cunha"
},
"TN": {
"name": "Túnez"
},
"TM": {
"name": "Turkmenistán"
},
"TR": {
"name": "Turquía"
},
"TV": {
"name": "Tuvalu"
},
"UA": {
"name": "Ucrania"
},
"UG": {
"name": "Uganda"
},
"UY": {
"name": "Uruguay"
},
"UZ": {
"name": "Uzbekistán"
},
"VU": {
"name": "Vanuatu"
},
"VE": {
"name": "Venezuela"
},
"VN": {
"name": "Vietnam"
},
"WF": {
"name": "Wallis y Futuna"
},
"YE": {
"name": "Yemen"
},
"DJ": {
"name": "Yibuti"
},
"ZM": {
"name": "Zambia"
},
"ZW": {
"name": "Zimbabue"
}
}

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -149,12 +152,12 @@
"KR": {
"name": "Corea del Sur"
},
"CI": {
"name": "Costa de Marfil"
},
"CR": {
"name": "Costa Rica"
},
"CI": {
"name": "Côte dIvoire"
},
"HR": {
"name": "Croacia"
},
@ -255,7 +258,7 @@
"name": "Guayana Francesa"
},
"GG": {
"name": "Guernesey"
"name": "Guernsey"
},
"GN": {
"name": "Guinea"
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -338,6 +341,9 @@
"MH": {
"name": "Islas Marshall"
},
"UM": {
"name": "Islas menores alejadas de EE. UU."
},
"PN": {
"name": "Islas Pitcairn"
},
@ -347,9 +353,6 @@
"TC": {
"name": "Islas Turcas y Caicos"
},
"UM": {
"name": "Islas Ultramarinas Menores de Estados Unidos"
},
"VG": {
"name": "Islas Vírgenes Británicas"
},
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

View file

@ -125,6 +125,9 @@
"TD": {
"name": "Chad"
},
"CZ": {
"name": "Chequia"
},
"CL": {
"name": "Chile"
},
@ -294,7 +297,7 @@
"name": "Irlanda"
},
"AC": {
"name": "Isla de la Ascensión"
"name": "Isla Ascensión"
},
"IM": {
"name": "Isla de Man"
@ -354,7 +357,7 @@
"name": "Islas Vírgenes Británicas"
},
"VI": {
"name": "Islas Vírgenes de EE. UU."
"name": "Islas Vírgenes de los Estados Unidos"
},
"IL": {
"name": "Israel"
@ -560,9 +563,6 @@
"CF": {
"name": "República Centroafricana"
},
"CZ": {
"name": "República Checa"
},
"CG": {
"name": "República del Congo"
},

Some files were not shown because too many files have changed in this diff Show more