aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
Diffstat (limited to 'mod')
-rw-r--r--mod/directory.php20
-rw-r--r--mod/profiles.php27
2 files changed, 39 insertions, 8 deletions
diff --git a/mod/directory.php b/mod/directory.php
index b105bf787..6d0e1f426 100644
--- a/mod/directory.php
+++ b/mod/directory.php
@@ -4,25 +4,37 @@
function directory_content(&$a) {
- $tpl .= file_get_contents('view/directory_header');
+ $tpl .= file_get_contents('view/directory_header.tpl');
- $o .= replace_macros($tpl);
+ $o .= replace_macros($tpl, array(
- $r = q("SELECT * FROM `profile` WHERE `default` = 1 AND `publish` = 1");
+ ));
+
+ $r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `publish` = 1");
if(count($r)) {
$tpl = file_get_contents('view/directory_item.tpl');
foreach($r as $rr) {
+ $profile_link = $a->get_baseurl() . '/profile/' . ((strlen($rr['nickname'])) ? $rr['nickname'] : $rr['profile_uid']);
- $o .= expand_macros($tpl,array(
+ $o .= replace_macros($tpl,array(
+ '$id' => $rr['id'],
+ '$profile-link' => $profile_link,
+ '$photo' => $rr['photo'],
+ '$alt-text' => $rr['name'],
+ '$name' => $rr['name'],
+ '$details' => $details // FIXME
));
}
+ $o .= "<div class=\"directory-end\" ></div>\r\n";
}
else
notice("No entries (some entries may be hidden).");
+
+ return $o;
} \ No newline at end of file
diff --git a/mod/profiles.php b/mod/profiles.php
index a8b6858d7..c6060c8c2 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -10,8 +10,6 @@ function profiles_post(&$a) {
// todo - delete... ensure that all contacts using the to-be-deleted profile are moved to the default.
-
-
if(($a->argc > 1) && ($a->argv[1] != "new") && intval($a->argv[1])) {
$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($a->argv[1]),
@@ -21,6 +19,7 @@ function profiles_post(&$a) {
$_SESSION['sysmsg'] .= "Profile not found." . EOL;
return;
}
+ $is_default = (($r[0]['is-default']) ? 1 : 0);
$profile_name = notags(trim($_POST['profile_name']));
if(! strlen($profile_name)) {
@@ -38,7 +37,8 @@ function profiles_post(&$a) {
$marital = notags(trim(implode(', ',$_POST['marital'])));
$homepage = notags(trim($_POST['homepage']));
$about = str_replace(array('<','>','&'),array('&lt;','&gt;','&amp;'),trim($_POST['about']));
-
+ if(x($_POST,'profile_in_directory'))
+ $publish = (($_POST['profile_in_directory'] == 1) ? 1: 0);
if(! in_array($gender,array('','Male','Female','Other')))
$gender = '';
@@ -72,6 +72,20 @@ function profiles_post(&$a) {
if($r)
$_SESSION['sysmsg'] .= "Profile updated." . EOL;
+
+
+ if($is_default) {
+ $r = q("UPDATE `profile`
+ SET `publish` = %d
+ WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval($publish),
+ intval($a->argv[1]),
+ intval($_SESSION['uid'])
+
+ );
+ }
+
+
}
@@ -134,7 +148,12 @@ function profiles_content(&$a) {
require_once('view/profile_selectors.php');
$tpl = file_get_contents('view/jot-header.tpl');
- $profile_in_dir = file_get_contents("view/profile-in-directory.tpl");
+ $opt_tpl = file_get_contents("view/profile-in-directory.tpl");
+ $profile_in_dir = replace_macros($opt_tpl,array(
+ '$yes_selected' => (($r[0]['publish']) ? " checked=\"checked\" " : ""),
+ '$no_selected' => (($r[0]['publish'] == 0) ? " checked=\"checked\" " : "")
+ ));
+
$a->page['htmlhead'] .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl()));