define ( 'FRIENDICA_CODENAME', 'Ginger');
define ( 'FRIENDICA_VERSION', '3.3.3-RC' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
-define ( 'DB_UPDATE_VERSION', 1178 );
+define ( 'DB_UPDATE_VERSION', 1180 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
define ( 'PAGE_BLOG', 4 );
define ( 'PAGE_PRVGROUP', 5 );
+// Type of the community page
+define ( 'CP_NO_COMMUNITY_PAGE', -1 );
+define ( 'CP_USERS_ON_SERVER', 0 );
+define ( 'CP_GLOBAL_COMMUNITY', 1 );
+
/**
* Network and protocol family types
*/
if(! function_exists('profile_load')) {
function profile_load(&$a, $nickname, $profile = 0, $profiledata = array()) {
- $user = q("select uid from user where nickname = '%s' limit 1",
+ $user = q("SELECT `uid` FROM `user` WHERE `nickname` = '%s' LIMIT 1",
dbesc($nickname)
);
- if(! ($user && count($user))) {
+ if(!$user && count($user) && !count($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice( t('Requested account is not available.') . EOL );
$a->error = 404;
intval($profile_int)
);
}
- if((! $r) && (! count($r))) {
+ if((!$r) && (!count($r))) {
$r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `user`.* FROM `profile`
INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 and `contact`.`self` = 1 LIMIT 1",
);
}
- if(($r === false) || (! count($r))) {
+ if(($r === false) || (!count($r)) && !count($profiledata)) {
logger('profile error: ' . $a->query_string, LOGGER_DEBUG);
notice( t('Requested profile is not available.') . EOL );
$a->error = 404;
// fetch user tags if this isn't the default profile
- if(! $r[0]['is-default']) {
+ if(!$r[0]['is-default']) {
$x = q("select `pub_keywords` from `profile` where uid = %d and `is-default` = 1 limit 1",
intval($r[0]['profile_uid'])
);
if (!$block){
$contact_block = contact_block();
- }
+ if(is_array($a->profile) AND !$a->profile['hide-friends']) {
+ $r = q("SELECT `gcontact`.`updated` FROM `contact` INNER JOIN `gcontact` WHERE `gcontact`.`nurl` = `contact`.`nurl` AND `self` AND `uid` = %d LIMIT 1",
+ intval($a->profile['uid']));
+ if(count($r))
+ $updated = date("c", strtotime($r[0]['updated']));
+
+ $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 and `pending` = 0 AND `hidden` = 0 AND `archive` = 0
+ AND `network` IN ('%s', '%s', '%s', '')",
+ intval($profile['uid']),
+ dbesc(NETWORK_DFRN),
+ dbesc(NETWORK_DIASPORA),
+ dbesc(NETWORK_OSTATUS)
+ );
+ if(count($r))
+ $contacts = intval($r[0]['total']);
+ }
+ }
$p = array();
foreach($profile as $k => $v) {
'$homepage' => $homepage,
'$about' => $about,
'$network' => t('Network:'),
+ '$contacts' => $contacts,
+ '$updated' => $updated,
'$diaspora' => $diaspora,
'$contact_block' => $contact_block,
));