diff --git a/boot.php b/boot.php index f357487b9..ca954a90c 100644 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1329' ); +define ( 'FRIENDICA_VERSION', '2.3.1330' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1143 ); diff --git a/include/cache.php b/include/cache.php index 3c8a3f713..360c4acbd 100644 --- a/include/cache.php +++ b/include/cache.php @@ -14,22 +14,40 @@ } public static function set($key,$value) { - $r = q("SELECT * FROM `cache` WHERE `k`='%s' limit 1", - dbesc($key) - ); - if(count($r)) { - q("UPDATE `cache` SET `v` = '%s', `updated = '%s' WHERE `k` = '%s' limit 1", - dbesc($value), - dbesc(datetime_convert()), - dbesc($key)); - } - else { - q("INSERT INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')", + + q("REPLACE INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')", dbesc($key), dbesc($value), dbesc(datetime_convert())); - } } + + +/* + * + * Leaving this legacy code temporaily to see how REPLACE fares + * as opposed to non-atomic checks when faced with fast moving key duplication. + * As a MySQL extension it isn't portable, but we're not yet very portable. + */ + +/* + * $r = q("SELECT * FROM `cache` WHERE `k`='%s' limit 1", + * dbesc($key) + * ); + * if(count($r)) { + * q("UPDATE `cache` SET `v` = '%s', `updated = '%s' WHERE `k` = '%s' limit 1", + * dbesc($value), + * dbesc(datetime_convert()), + * dbesc($key)); + * } + * else { + * q("INSERT INTO `cache` (`k`,`v`,`updated`) VALUES ('%s','%s','%s')", + * dbesc($key), + * dbesc($value), + * dbesc(datetime_convert())); + * } + * } + */ + public static function clear(){ q("DELETE FROM `cache` WHERE `updated` < '%s'", diff --git a/include/socgraph.php b/include/socgraph.php index 35d754cad..a67b3d9e3 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -99,11 +99,12 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) { $gcid = $x[0]['id']; if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo) { - q("update gcontact set `name` = '%s', `photo` = '%s', `connect` = '%s' + q("update gcontact set `name` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s' where `nurl` = '%s' limit 1", dbesc($name), dbesc($profile_photo), dbesc($connect_url), + dbesc($profile_url), dbesc(normalise_link($profile_url)) ); } @@ -168,7 +169,7 @@ function count_common_friends($uid,$cid) { $r = q("SELECT count(*) as `total` FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id` where `glink`.`cid` = %d and `glink`.`uid` = %d - and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and id != %d ) ", + and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) ", intval($cid), intval($uid), intval($uid), @@ -192,8 +193,8 @@ function common_friends($uid,$cid,$limit=9999,$shuffle = false) { $r = q("SELECT `gcontact`.* FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id` where `glink`.`cid` = %d and `glink`.`uid` = %d - and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and id != %d ) - sql_extra limit 0, %d", + and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) + $sql_extra limit 0, %d", intval($cid), intval($uid), intval($uid), @@ -211,7 +212,7 @@ function count_common_friends_zcid($uid,$zcid) { $r = q("SELECT count(*) as `total` FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id` where `glink`.`zcid` = %d - and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 ) ", + and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 ) ", intval($zcid), intval($uid) ); @@ -232,7 +233,7 @@ function common_friends_zcid($uid,$zcid,$limit = 9999,$shuffle) { $r = q("SELECT `gcontact`.* FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id` where `glink`.`zcid` = %d - and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 ) + and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 ) $sql_extra limit 0, %d", intval($zcid), intval($uid), diff --git a/mod/events.php b/mod/events.php index e66a2dc44..069046ff9 100644 --- a/mod/events.php +++ b/mod/events.php @@ -28,6 +28,9 @@ function events_post(&$a) { $adjust = intval($_POST['adjust']); $nofinish = intval($_POST['nofinish']); + // The default setting for the `private` field in event_store() is false, so mirror that + $private_event = false; + $start = sprintf('%d-%d-%d %d:%d:0',$startyear,$startmonth,$startday,$starthour,$startminute); if($nofinish) @@ -65,14 +68,38 @@ function events_post(&$a) { $share = ((intval($_POST['share'])) ? intval($_POST['share']) : 0); + $c = q("select id from contact where uid = %d and self = 1 limit 1", + intval(local_user()) + ); + if(count($c)) + $self = $c[0]['id']; + else + $self = 0; + + if($share) { $str_group_allow = perms2str($_POST['group_allow']); $str_contact_allow = perms2str($_POST['contact_allow']); $str_group_deny = perms2str($_POST['group_deny']); $str_contact_deny = perms2str($_POST['contact_deny']); + + // Undo the pseudo-contact of self, since there are real contacts now + if( strpos($str_contact_allow, '<' . $self . '>') !== false ) + { + $str_contact_allow = str_replace('<' . $self . '>', '', $str_contact_allow); + } + // Make sure to set the `private` field as true. This is necessary to + // have the posts show up correctly in Diaspora if an event is created + // as visible only to self at first, but then edited to display to others. + if( strlen($str_group_allow) or strlen($str_contact_allow) or strlen($str_group_deny) or strlen($str_contact_deny) ) + { + $private_event = true; + } } else { - $str_contact_allow = '<' . local_user() . '>'; + // Note: do not set `private` field for self-only events. It will + // keep even you from seeing them! + $str_contact_allow = '<' . $self . '>'; $str_group_allow = $str_contact_deny = $str_group_deny = ''; } @@ -91,6 +118,7 @@ function events_post(&$a) { $datarray['allow_gid'] = $str_group_allow; $datarray['deny_cid'] = $str_contact_deny; $datarray['deny_gid'] = $str_group_deny; + $datarray['private'] = $private_event; $datarray['id'] = $event_id; $datarray['created'] = $created; $datarray['edited'] = $edited; diff --git a/util/messages.po b/util/messages.po index f5612882c..3314eb58d 100644 --- a/util/messages.po +++ b/util/messages.po @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: 2.3.1329\n" +"Project-Id-Version: 2.3.1330\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2012-05-01 10:00-0700\n" +"POT-Creation-Date: 2012-05-02 10:00-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3584,7 +3584,7 @@ msgstr "" msgid "Access to this profile has been restricted." msgstr "" -#: ../../mod/profile.php:147 +#: ../../mod/profile.php:151 msgid "Tips for New Members" msgstr "" @@ -3783,7 +3783,7 @@ msgstr "" #: ../../mod/profiles.php:331 #, php-format -msgid "%1$s changed %2$s to %3$s" +msgid "%1$s changed %2$s to \"%3$s\"" msgstr "" #: ../../mod/profiles.php:332 @@ -6431,6 +6431,13 @@ msgstr "" msgid "Categories" msgstr "" +#: ../../include/contact_widgets.php:183 +#, php-format +msgid "%d friend in common" +msgid_plural "%d friends in common" +msgstr[0] "" +msgstr[1] "" + #: ../../include/auth.php:29 msgid "Logged out." msgstr "" diff --git a/view/head.tpl b/view/head.tpl index 7b1541242..7638e56ca 100644 --- a/view/head.tpl +++ b/view/head.tpl @@ -6,7 +6,6 @@ - ', $imageresizeJS); + //load jquery.ui.js + $jqueryuiJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery-ui-1.8.20.custom.min.js"; + $a->page['htmlhead'] .= sprintf('', $jqueryuiJS); + //load jquery.twitter.search.js if($_COOKIE['close_twitter'] != "1") { $twitterJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery.twitter.search.js"; @@ -125,6 +137,9 @@ if ($color=="dark") $color_path = "/diabook-dark/"; var footer_top = $(document).height() - 30; $("div#footerbox").attr("style", "border-top: 1px solid #D2D2D2; width: 70%;right: 15%;position: absolute;top:"+footer_top+"px;"); }); + + + '; //check if twitterbox is active and print @@ -178,6 +193,7 @@ if ($color=="dark") $color_path = "/diabook-dark/"; $.cookie("close_lastusers","2", { expires: 365, path: "/" }); $.cookie("close_lastphotos","2", { expires: 365, path: "/" }); $.cookie("close_lastlikes","2", { expires: 365, path: "/" }); + $.cookie("Boxorder",null, { expires: 365, path: "/" }); alert("Right-hand column was restored. Please refresh your browser"); } ';} @@ -459,7 +475,7 @@ if ($color=="dark") $color_path = "/diabook-dark/"; //Community_Pages at right_aside if($_COOKIE['close_pages'] != "1") { if(local_user()) { - $page = '
+ $page = '

'.t("Community Pages").'

    '; @@ -485,7 +501,7 @@ if ($color=="dark") $color_path = "/diabook-dark/"; $page .= '
  • ' . $contact['url'] . ' '. $contact["name"]."
  • "; } - $page .= '
'; + $page .= ''; //if (sizeof($contacts) > 0) $aside['$page'] = $page; }}