diff --git a/addon/README b/addon/README index 89f39e399e..33b84e10d0 100644 --- a/addon/README +++ b/addon/README @@ -100,9 +100,13 @@ Current hooks: 'contact' => contact (array) record for the person from the database 'entry' => the (string) HTML of the generated entry +'profile_sidebar_enter' - called prior to generating the sidebar "short" profile for a page + $b is (array) the person's profile array + 'profile_sidebar' - called when generating the sidebar "short" profile for a page - $b is the (string) generated HTML of the entry - (The profile array details are in $a->profile) + $b is an array + 'profile' => profile (array) record for the person from the database + 'entry' => the (string) HTML of the generated entry 'contact_block_end' - called when formatting the block of contacts/friends on a profile sidebar has completed diff --git a/boot.php b/boot.php index 85e1598831..d7f32dbafe 100644 --- a/boot.php +++ b/boot.php @@ -2,8 +2,8 @@ set_time_limit(0); -define ( 'BUILD_ID', 1032 ); -define ( 'FRIENDIKA_VERSION', '2.01.1003' ); +define ( 'BUILD_ID', 1033 ); +define ( 'FRIENDIKA_VERSION', '2.01.1004' ); define ( 'DFRN_PROTOCOL_VERSION', '2.0' ); define ( 'EOL', "
\r\n" ); @@ -2009,8 +2009,12 @@ function profile_sidebar($profile) { if((! is_array($profile)) && (! count($profile))) return $o; + call_hooks('profile_sidebar_enter', $profile); + $fullname = '
' . $profile['name'] . '
'; + $pdesc = '
' . $profile['pdesc'] . '
'; + $tabs = ''; $photo = '
' . $profile['name'] . '
'; @@ -2049,6 +2053,7 @@ function profile_sidebar($profile) { $o .= replace_macros($tpl, array( '$fullname' => $fullname, + '$pdesc' => $pdesc, '$tabs' => $tabs, '$photo' => $photo, '$connect' => $connect, @@ -2059,7 +2064,10 @@ function profile_sidebar($profile) { '$homepage' => $homepage )); - call_hooks('profile_sidebar', $o); + + $arr = array('profile' => $profile, 'entry' => $o); + + call_hooks('profile_sidebar', $arr); return $o; }} diff --git a/database.sql b/database.sql index 0e21be5125..54950f0fd1 100644 --- a/database.sql +++ b/database.sql @@ -281,6 +281,7 @@ CREATE TABLE IF NOT EXISTS `profile` ( `is-default` tinyint(1) NOT NULL DEFAULT '0', `hide-friends` tinyint(1) NOT NULL DEFAULT '0', `name` char(255) NOT NULL, + `pdesc` char(255) NOT NULL, `dob` char(32) NOT NULL DEFAULT '0000-00-00', `address` char(255) NOT NULL, `locality` char(255) NOT NULL, diff --git a/jumploader_z.jar b/jumploader_z.jar index 30a85a33fb..9ef2abd896 100644 Binary files a/jumploader_z.jar and b/jumploader_z.jar differ diff --git a/mod/directory.php b/mod/directory.php index f70cd6df84..0504ac321c 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -40,7 +40,7 @@ function directory_content(&$a) { if($search) $search = dbesc($search); - $sql_extra = ((strlen($search)) ? " AND MATCH (`profile`.`name`, `user`.`nickname`, `locality`,`region`,`country-name`,`gender`,`marital`,`sexual`,`about`,`romance`,`work`,`education`,`keywords` ) AGAINST ('$search' IN BOOLEAN MODE) " : ""); + $sql_extra = ((strlen($search)) ? " AND MATCH (`profile`.`name`, `user`.`nickname`, `pdesc`, `locality`,`region`,`country-name`,`gender`,`marital`,`sexual`,`about`,`romance`,`work`,`education`,`keywords` ) AGAINST ('$search' IN BOOLEAN MODE) " : ""); $publish = ((get_config('system','publish_all')) ? '' : " AND `publish` = 1 " ); @@ -68,6 +68,9 @@ function directory_content(&$a) { $profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']); + + $pdesc = (($rr['pdesc']) ? $rr['pdesc'] . '
' : ''); + $details = ''; if(strlen($rr['locality'])) $details .= $rr['locality']; @@ -94,7 +97,7 @@ function directory_content(&$a) { '$photo' => $rr[$photo], '$alt-text' => $rr['name'], '$name' => $rr['name'], - '$details' => $details + '$details' => $pdesc . $details )); diff --git a/mod/network.php b/mod/network.php index 5073b8a61d..c761af8104 100644 --- a/mod/network.php +++ b/mod/network.php @@ -134,11 +134,14 @@ function network_content(&$a, $update = 0) { `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`, `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid` - FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` + FROM `item`, (SELECT `p`.`id`,`p`.`created` FROM `item` AS `p` WHERE `p`.`parent`=`p`.`id`) as `parentitem`, + `contact` WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0 + AND `contact`.`id` = `item`.`contact-id` AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + AND `item`.`parent` = `parentitem`.`id` $sql_extra - ORDER BY `parent` DESC, `gravity` ASC, `created` ASC LIMIT %d ,%d ", + ORDER BY `parentitem`.`created` DESC, `item`.`gravity` ASC, `item`.`created` ASC LIMIT %d ,%d ", intval($_SESSION['uid']), intval($a->pager['start']), intval($a->pager['itemspage']) diff --git a/mod/profiles.php b/mod/profiles.php index 3488c8687e..54c57f73e4 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -46,6 +46,7 @@ function profiles_post(&$a) { if($orig[0]['name'] != $name) $namechanged = true; + $pdesc = notags(trim($_POST['pdesc'])); $gender = notags(trim($_POST['gender'])); $address = notags(trim($_POST['address'])); $locality = notags(trim($_POST['locality'])); @@ -125,6 +126,7 @@ function profiles_post(&$a) { $r = q("UPDATE `profile` SET `profile-name` = '%s', `name` = '%s', + `pdesc` = '%s', `gender` = '%s', `dob` = '%s', `address` = '%s', @@ -153,6 +155,7 @@ function profiles_post(&$a) { WHERE `id` = %d AND `uid` = %d LIMIT 1", dbesc($profile_name), dbesc($name), + dbesc($pdesc), dbesc($gender), dbesc($dob), dbesc($address), @@ -208,6 +211,7 @@ function profiles_post(&$a) { function profiles_content(&$a) { + $o = ''; $o .= ''; @@ -356,6 +360,7 @@ function profiles_content(&$a) { '$profile_name' => $r[0]['profile-name'], '$default' => (($is_default) ? '

' . t('This is your public profile.
It may be visible to anybody using the internet.') . '

' : ""), '$name' => $r[0]['name'], + '$pdesc' => $r[0]['pdesc'], '$dob' => dob($r[0]['dob']), '$hide_friends' => $hide_friends, '$address' => $r[0]['address'], diff --git a/update.php b/update.php index 7aacffb40b..0bd58d6d48 100644 --- a/update.php +++ b/update.php @@ -317,3 +317,6 @@ function update_1031() { } } +function update_1032() { + q("ALTER TABLE `profile` ADD `pdesc` CHAR( 255 ) NOT NULL AFTER `name` "); +} diff --git a/view/en/profile_edit.tpl b/view/en/profile_edit.tpl index 50227b7f3b..beff3b8bd5 100644 --- a/view/en/profile_edit.tpl +++ b/view/en/profile_edit.tpl @@ -29,6 +29,13 @@ $default
+
+ + +
+
+ +
$gender diff --git a/view/it/profile_edit.tpl b/view/it/profile_edit.tpl index db2957bac8..e5d0976eca 100644 --- a/view/it/profile_edit.tpl +++ b/view/it/profile_edit.tpl @@ -29,6 +29,13 @@ $default
+
+ + +
+
+ +
$gender diff --git a/view/profile_vcard.tpl b/view/profile_vcard.tpl index 81659af6a0..3cd96eabff 100644 --- a/view/profile_vcard.tpl +++ b/view/profile_vcard.tpl @@ -1,7 +1,7 @@
$fullname - + $pdesc $tabs $photo diff --git a/view/theme/default/style.css b/view/theme/default/style.css index d9e93bbe64..0457850dc4 100644 --- a/view/theme/default/style.css +++ b/view/theme/default/style.css @@ -256,10 +256,15 @@ nav { .fn { font-size: 1.4em; - margin-bottom: 10px; + margin-bottom: 5px; line-height: 1.5; } +.vcard .title { + margin-bottom: 5px; +} + + .powered { font-size: 0.6em; color: black; @@ -731,6 +736,7 @@ input#dfrn-url { #profile-edit-profile-name-label, #profile-edit-name-label, +#profile-edit-pdesc-label, #profile-edit-gender-label, #profile-edit-dob-label, #profile-edit-address-label, @@ -750,6 +756,7 @@ input#dfrn-url { #profile-edit-profile-name, #profile-edit-name, +#profile-edit-pdesc, #gender-select, #profile-edit-dob, #profile-edit-address, @@ -819,6 +826,7 @@ input#dfrn-url { #profile-edit-profile-name-end, #profile-edit-name-end, +#profile-edit-pdesc-end, #profile-edit-gender-end, #profile-edit-dob-end, #profile-edit-address-end, diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index b2bdb6e87d..9d51c86f7b 100644 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -604,6 +604,7 @@ input#dfrn-url { #profile-edit-profile-name-label, #profile-edit-name-label, +#profile-edit-pdesc-label, #profile-edit-gender-label, #profile-edit-dob-label, #profile-edit-address-label, @@ -623,6 +624,7 @@ input#dfrn-url { #profile-edit-profile-name, #profile-edit-name, +#profile-edit-pdesc, #gender-select, #profile-edit-dob, #profile-edit-address, @@ -692,6 +694,7 @@ input#dfrn-url { #profile-edit-profile-name-end, #profile-edit-name-end, +#profile-edit-pdesc-end, #profile-edit-gender-end, #profile-edit-dob-end, #profile-edit-address-end, @@ -1842,6 +1845,10 @@ a.mail-list-link { font-weight: bold; } +.vcard .title { + margin-bottom: 5px; +} + #birthday-title { float: left;