From 4613e7436138c94f02320d00fd9372ec357be1ee Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Dec 2011 19:17:33 -0800 Subject: update link locations --- mod/friendica.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'mod') diff --git a/mod/friendica.php b/mod/friendica.php index 9dd6b7383..ab92e31ed 100644 --- a/mod/friendica.php +++ b/mod/friendica.php @@ -43,9 +43,9 @@ function friendica_content(&$a) { $o .= t('This is Friendica, version') . ' ' . FRIENDICA_VERSION . ' '; $o .= t('running at web location') . ' ' . z_root() . '

'; - $o .= t('Please visit Project.Friendika.com to learn more about the Friendica project.') . '

'; + $o .= t('Please visit Friendica.com to learn more about the Friendica project.') . '

'; - $o .= t('Bug reports and issues: please visit') . ' ' . 'Bugs.Friendika.com

'; + $o .= t('Bug reports and issues: please visit') . ' ' . 'Bugs.Friendica.com

'; $o .= t('Suggestions, praise, donations, etc. - please email "Info" at Friendica - dot com') . '

'; $o .= '

'; -- cgit v1.2.3 From 4007e7ec19bfca47a32ec73f1eb10d77f2de785f Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 14 Dec 2011 03:51:50 -0800 Subject: "new" view broken after liveupdate fixes --- mod/network.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'mod') diff --git a/mod/network.php b/mod/network.php index e9e761c3f..8fa0b03e2 100644 --- a/mod/network.php +++ b/mod/network.php @@ -398,10 +398,9 @@ function network_content(&$a, $update = 0) { $simple_update = (($update) ? " and `item`.`unseen` = 1 " : ''); if($nouveau) { - // "New Item View" - show all items unthreaded in reverse created date order - $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, + $items = q("SELECT `item`.*, `item`.`id` AS `item_id`, `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`, `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`, `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid` @@ -414,7 +413,7 @@ function network_content(&$a, $update = 0) { ORDER BY `item`.`received` DESC $pager_sql ", intval($_SESSION['uid']) ); - + } else { -- cgit v1.2.3 From 431a4abd2563e8aa271549e5f18c523dcef4acaa Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 14 Dec 2011 14:17:48 -0800 Subject: name change stragglers, fix newmember links, liveupdate glitch --- mod/admin.php | 8 ++++---- mod/newmember.php | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'mod') diff --git a/mod/admin.php b/mod/admin.php index 8ca89900c..e44404097 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -1,7 +1,7 @@ logoFriendika'; + $banner = 'logoFriendica'; $banner = htmlspecialchars($banner); //echo "
"; var_dump($lang_choices); die("
"); @@ -325,7 +325,7 @@ function admin_page_site(&$a) { '$no_community_page' => array('no_community_page', t("Show Community Page"), !get_config('system','no_community_page'), "Display a Community page showing all recent public postings on this site."), '$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disable'), "Provide built-in OStatus \x28identi.ca, status.net, etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed."), '$diaspora_enabled' => array('diaspora_enabled', t("Enable Diaspora support"), get_config('system','diaspora_enabled'), "Provide built-in Diaspora network compatibility."), - '$dfrn_only' => array('dfrn_only', t('Only allow Friendika contacts'), get_config('system','dfrn_only'), "All contacts must use Friendika protocols. All other built-in communication protocols disabled."), + '$dfrn_only' => array('dfrn_only', t('Only allow Friendica contacts'), get_config('system','dfrn_only'), "All contacts must use Friendica protocols. All other built-in communication protocols disabled."), '$verifyssl' => array('verifyssl', t("Verify SSL"), get_config('system','verifyssl'), "If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites."), '$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""), '$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""), @@ -657,7 +657,7 @@ function admin_page_logs(&$a){ // name, label, value, help string, extra data... '$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""), - '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendika index.php.")), + '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your Friendica top-level directory.")), '$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices), )); } diff --git a/mod/newmember.php b/mod/newmember.php index fc53e7112..60ca49757 100644 --- a/mod/newmember.php +++ b/mod/newmember.php @@ -3,7 +3,7 @@ function newmember_content(&$a) { - $o = '

' . t('Welcome to Friendika') . '

'; + $o = '

' . t('Welcome to Friendica') . '

'; $o .= '

' . t('New Member Checklist') . '

'; @@ -25,13 +25,13 @@ function newmember_content(&$a) { $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); if(! $mail_disabled) - $o .= '
  • ' . '' . t('Enter your email access information on your Settings page if you wish to import and interact with friends or mailing lists from your email INBOX') . '
  • ' . EOL; + $o .= '
  • ' . '' . t('Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX') . '
  • ' . EOL; $o .= '
  • ' . '' . t('Edit your default profile to your liking. Review the settings for hiding your list of friends and hiding the profile from unknown visitors.') . '
  • ' . EOL; $o .= '
  • ' . '' . t('Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships.') . '
  • ' . EOL; - $o .= '
  • ' . '' . t('Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the Connect dialog.') . '
  • ' . EOL; + $o .= '
  • ' . '' . t('Your Contacts page is your gateway to managing friendships and connecting with friends on other networks. Typically you enter their address or site URL in the Add New Contact dialog.') . '
  • ' . EOL; $o .= '
  • ' . '' . t('The Directory page lets you find other people in this network or other federated sites. Look for a Connect or Follow link on their profile page. Provide your own Identity Address if requested.') . '
  • ' . EOL; -- cgit v1.2.3 From cb2e68c88ef6d5b50f3636066d76f5ecfe68cf13 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 15 Dec 2011 01:08:19 -0800 Subject: home_init hook --- mod/home.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'mod') diff --git a/mod/home.php b/mod/home.php index 225bd294d..8db5b26ac 100644 --- a/mod/home.php +++ b/mod/home.php @@ -3,6 +3,8 @@ if(! function_exists('home_init')) { function home_init(&$a) { + call_hooks('home_init',array()); + if(local_user() && ($a->user['nickname'])) goaway( $a->get_baseurl() . "/profile/" . $a->user['nickname'] ); -- cgit v1.2.3 From 6d7781434bedda23366e6c007c15f85b80a0e073 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 15 Dec 2011 01:09:38 -0800 Subject: must use named vars in plugin args --- mod/home.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/home.php b/mod/home.php index 8db5b26ac..0320c1b39 100644 --- a/mod/home.php +++ b/mod/home.php @@ -3,7 +3,8 @@ if(! function_exists('home_init')) { function home_init(&$a) { - call_hooks('home_init',array()); + $ret = array(); + call_hooks('home_init',$ret); if(local_user() && ($a->user['nickname'])) goaway( $a->get_baseurl() . "/profile/" . $a->user['nickname'] ); -- cgit v1.2.3 From efb9157490c38258106d8e33ae33b28a2e11788f Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Dec 2011 01:42:45 -0800 Subject: eliminate dup identical hashtags in posts --- mod/item.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'mod') diff --git a/mod/item.php b/mod/item.php index 95a27eb8e..f72b17fc1 100644 --- a/mod/item.php +++ b/mod/item.php @@ -398,9 +398,13 @@ function item_post(&$a) { continue; $basetag = str_replace('_',' ',substr($tag,1)); $body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body); - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; + + $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } continue; } if(strpos($tag,'@') === 0) { -- cgit v1.2.3 From 978717a2475bbd25d61969e9448dc6f197c8d637 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 00:14:34 -0800 Subject: add webfinger to poco, if present --- mod/poco.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/poco.php b/mod/poco.php index dd8df6008..6efd4ab8c 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -125,8 +125,10 @@ function poco_init(&$a) { $entry['id'] = $rr['id']; if($fields_ret['displayName']) $entry['displayName'] = $rr['name']; - if($fields_ret['urls']) + if($fields_ret['urls']) { $entry['urls'] = array(array('value' => $rr['url'], 'type' => 'profile')); + if($rr['addr'] && ($rr['network'] !== NETWORK_MAIL) + $entry['urls'][] = array('value' => 'acct:' . $rr['addr'], 'type' => 'webfinger'); if($fields_ret['preferredUsername']) $entry['preferredUsername'] = $rr['nick']; if($fields_ret['photos']) -- cgit v1.2.3 From b0718c4f05ad8b03d4bfb1acaeea2e8ce18f59df Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 00:21:01 -0800 Subject: typo --- mod/poco.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/poco.php b/mod/poco.php index 6efd4ab8c..54ec60ff3 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -127,7 +127,7 @@ function poco_init(&$a) { $entry['displayName'] = $rr['name']; if($fields_ret['urls']) { $entry['urls'] = array(array('value' => $rr['url'], 'type' => 'profile')); - if($rr['addr'] && ($rr['network'] !== NETWORK_MAIL) + if($rr['addr'] && ($rr['network'] !== NETWORK_MAIL)) $entry['urls'][] = array('value' => 'acct:' . $rr['addr'], 'type' => 'webfinger'); if($fields_ret['preferredUsername']) $entry['preferredUsername'] = $rr['nick']; -- cgit v1.2.3 From 3aab1c714000a1b420d0bdcc25635593c27e3a04 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 00:22:44 -0800 Subject: typo --- mod/poco.php | 1 + 1 file changed, 1 insertion(+) (limited to 'mod') diff --git a/mod/poco.php b/mod/poco.php index 54ec60ff3..79cf820bc 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -129,6 +129,7 @@ function poco_init(&$a) { $entry['urls'] = array(array('value' => $rr['url'], 'type' => 'profile')); if($rr['addr'] && ($rr['network'] !== NETWORK_MAIL)) $entry['urls'][] = array('value' => 'acct:' . $rr['addr'], 'type' => 'webfinger'); + } if($fields_ret['preferredUsername']) $entry['preferredUsername'] = $rr['nick']; if($fields_ret['photos']) -- cgit v1.2.3 From 974a52a16d3440b6d361b883412c00edd15e770b Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 01:08:32 -0800 Subject: add connect link to friend suggest --- mod/follow.php | 2 +- mod/suggest.php | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'mod') diff --git a/mod/follow.php b/mod/follow.php index 2d643400a..5fdb93815 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -10,7 +10,7 @@ function follow_post(&$a) { // NOTREACHED } - $url = $orig_url = notags(trim($_POST['url'])); + $url = $orig_url = notags(trim($_REQUEST['url'])); // remove ajax junk, e.g. Twitter diff --git a/mod/suggest.php b/mod/suggest.php index aedf3fd46..bbffe8fb0 100644 --- a/mod/suggest.php +++ b/mod/suggest.php @@ -39,19 +39,23 @@ function suggest_content(&$a) { $r = suggestion_query(local_user()); if(! count($r)) { - $o .= t('No suggestions. This works best when you have more than one contact/friend.'); + $o .= t('No suggestions available. If this is a new site, please try again in 24 hours.'); return $o; } $tpl = get_markup_template('suggest_friends.tpl'); foreach($r as $rr) { - + + $connlink = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']); + $o .= replace_macros($tpl,array( '$url' => $rr['url'], '$name' => $rr['name'], '$photo' => $rr['photo'], '$ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['id'], + '$conntxt' => t('Connect'), + '$connlnk' => $connlnk, '$ignore' => t('Ignore/Hide') )); } -- cgit v1.2.3 From 5d6a098ce0bf14e372c297ed09c9f0452fa60ec7 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 01:44:46 -0800 Subject: add connect link to suggestion and matches --- mod/match.php | 7 +++++++ mod/suggest.php | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/match.php b/mod/match.php index c33bbd5c2..9324624c8 100644 --- a/mod/match.php +++ b/mod/match.php @@ -7,6 +7,8 @@ function match_content(&$a) { if(! local_user()) return; + $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd; + $o .= '

    ' . t('Profile Match') . '

    '; $r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", @@ -41,14 +43,19 @@ function match_content(&$a) { } if(count($j->results)) { + + $tpl = get_markup_template('match.tpl'); foreach($j->results as $jj) { + $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url; $o .= replace_macros($tpl,array( '$url' => $jj->url, '$name' => $jj->name, '$photo' => $jj->photo, + '$conntxt' => t('Connect'), + '$connlnk' => $connlnk, '$tags' => $jj->tags )); } diff --git a/mod/suggest.php b/mod/suggest.php index bbffe8fb0..b8ca423c5 100644 --- a/mod/suggest.php +++ b/mod/suggest.php @@ -29,6 +29,8 @@ function suggest_content(&$a) { return; } + $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd; + $a->page['aside'] .= follow_widget(); $a->page['aside'] .= findpeople_widget(); @@ -47,7 +49,7 @@ function suggest_content(&$a) { foreach($r as $rr) { - $connlink = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']); + $connlnk = $a->get_baseurl() . '/follow/?url=' . (($rr['connect']) ? $rr['connect'] : $rr['url']); $o .= replace_macros($tpl,array( '$url' => $rr['url'], -- cgit v1.2.3 From 622886a33c459e5290bdfcf491a1c8f9ed132207 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 12:41:46 -0800 Subject: make mod-follow "get"-able --- mod/follow.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'mod') diff --git a/mod/follow.php b/mod/follow.php index 5fdb93815..f99d91757 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -2,7 +2,7 @@ require_once('Scrape.php'); -function follow_post(&$a) { +function follow_init(&$a) { if(! local_user()) { notice( t('Permission denied.') . EOL); @@ -202,7 +202,9 @@ function follow_post(&$a) { } } - goaway($a->get_baseurl() . '/contacts/' . $contact_id); -// goaway($_SESSION['return_url']); + if(strstr($_SESSION['return_url'],'contacts')) + goaway($a->get_baseurl() . '/contacts/' . $contact_id); + + goaway($_SESSION['return_url']); // NOTREACHED } -- cgit v1.2.3 From eb05d00794055dcd895ff9c3f73c55d7d7a13d10 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 18 Dec 2011 12:51:45 -0800 Subject: connect on suggest/match - added to testbubble --- mod/follow.php | 8 ++++++++ mod/match.php | 1 + 2 files changed, 9 insertions(+) (limited to 'mod') diff --git a/mod/follow.php b/mod/follow.php index f99d91757..f8964885e 100644 --- a/mod/follow.php +++ b/mod/follow.php @@ -22,6 +22,14 @@ function follow_init(&$a) { // NOTREACHED } + + if(! $url) { + notice( t('Connect URL missing.') . EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + $ret = probe_url($url); if($ret['network'] === NETWORK_DFRN) { diff --git a/mod/match.php b/mod/match.php index 9324624c8..3645a419d 100644 --- a/mod/match.php +++ b/mod/match.php @@ -54,6 +54,7 @@ function match_content(&$a) { '$url' => $jj->url, '$name' => $jj->name, '$photo' => $jj->photo, + '$inttxt' => ' ' . t('is interested in:'), '$conntxt' => t('Connect'), '$connlnk' => $connlnk, '$tags' => $jj->tags -- cgit v1.2.3 From c0c4c46874ed7e1798900422112ca643c1bb3cc0 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 20 Dec 2011 03:04:20 -0800 Subject: remove hashchars from pub keywords --- mod/profile.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/profile.php b/mod/profile.php index 642e198b7..d2f9d7e29 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -32,7 +32,7 @@ function profile_init(&$a) { if(! $blocked) { $keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : ''); - $keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords); + $keywords = str_replace(array('#',',',' ',',,'),array('',' ',',',','),$keywords); if(strlen($keywords)) $a->page['htmlhead'] .= '' . "\r\n" ; } -- cgit v1.2.3 From 7fbfbdae0700e68a465f70963521b9043fe5de30 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 20 Dec 2011 17:01:41 -0800 Subject: audio/video bb tags showing up on Diaspora --- mod/acl.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/acl.php b/mod/acl.php index 735c2c0b0..0fea6f7fc 100644 --- a/mod/acl.php +++ b/mod/acl.php @@ -60,8 +60,8 @@ function acl_init(&$a){ intval($count) ); - foreach($r as $g){ +// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']); $groups[] = array( "type" => "g", "photo" => "images/default-group-mm.png", -- cgit v1.2.3 From d9ede7f7bd1f2a1ab1bacaf4a37a66fd79fd32e4 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 20 Dec 2011 20:12:29 -0800 Subject: implement max daily registrations --- mod/register.php | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'mod') diff --git a/mod/register.php b/mod/register.php index 0115ec0d5..89f561642 100644 --- a/mod/register.php +++ b/mod/register.php @@ -8,6 +8,15 @@ function register_post(&$a) { $verified = 0; $blocked = 1; + + $max_dailies = intval(get_config('system','max_daily_registrations')); + if($max_dailes) { + $r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day"); + if($r && $r[0]['total'] >= $max_dailies) { + return; + } + } + switch($a->config['register_policy']) { @@ -462,6 +471,16 @@ function register_content(&$a) { return; } + $max_dailies = intval(get_config('system','max_daily_registrations')); + if($max_dailes) { + $r = q("select count(*) as total from user where register_date > UTC_TIMESTAMP - INTERVAL 1 day"); + if($r && $r[0]['total'] >= $max_dailies) { + logger('max daily registrations exceeded.'); + notice( t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL); + return; + } + } + if(x($_SESSION,'theme')) unset($_SESSION['theme']); -- cgit v1.2.3 From 048fcae40b260b04e7b2e1774c1c72b69f790212 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 21 Dec 2011 01:45:15 -0800 Subject: bug #247 --- mod/network.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mod') diff --git a/mod/network.php b/mod/network.php index 8fa0b03e2..57e120e86 100644 --- a/mod/network.php +++ b/mod/network.php @@ -301,7 +301,8 @@ function network_content(&$a, $update = 0) { } - $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` REGEXP '<" . intval($group) . ">' )) "; +// $sql_extra = " AND `item`.`parent` IN ( SELECT `parent` FROM `item` WHERE `id` = `parent` $star_sql AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` REGEXP '<" . intval($group) . ">' )) "; + $sql_extra = " AND `item`.`parent` IN ( SELECT DISTINCT(`parent`) FROM `item` WHERE 1 $star_sql AND ( `contact-id` IN ( $contact_str ) OR `allow_gid` REGEXP '<" . intval($group) . ">' )) "; $o = '

    ' . t('Group: ') . $r[0]['name'] . '

    ' . $o; } elseif($cid) { -- cgit v1.2.3