aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/conversation.php18
-rw-r--r--include/nav.php5
-rw-r--r--mod/apps.php3
-rw-r--r--mod/editpost.php4
-rw-r--r--mod/notes.php129
-rw-r--r--mod/ping.php2
-rw-r--r--view/jot.tpl4
-rw-r--r--view/theme/dispy/jot-header.tpl2
8 files changed, 154 insertions, 13 deletions
diff --git a/include/conversation.php b/include/conversation.php
index e66b45f09..5f761ccf0 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -91,6 +91,11 @@ function conversation(&$a, $items, $mode, $update) {
$page_writeable = can_write_wall($a,$profile_owner);
}
+ if($mode === 'notes') {
+ $profile_owner = $a->profile['profile_uid'];
+ $page_writeable = true;
+ }
+
if($mode === 'display') {
$profile_owner = $a->profile['uid'];
$page_writeable = can_write_wall($a,$profile_owner);
@@ -263,7 +268,7 @@ function conversation(&$a, $items, $mode, $update) {
$item_writeable = (($item['writable'] || $item['self']) ? true : false);
- if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile')) {
+ if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) {
$blowhard_count ++;
if($blowhard_count == 3) {
$o .= '<div class="icollapse-wrapper fakelink" id="icollapse-wrapper-' . $item['parent']
@@ -379,7 +384,7 @@ function conversation(&$a, $items, $mode, $update) {
}
}
- $edpost = ((($profile_owner == local_user()) && ($toplevelpost) && (intval($item['wall']) == 1))
+ $edpost = (((($profile_owner == local_user()) && ($toplevelpost) && (intval($item['wall']) == 1)) || ($mode === 'notes'))
? '<a class="editpost" href="' . $a->get_baseurl() . '/editpost/' . $item['id']
. '" title="' . t('Edit') . '"><img src="images/pencil.gif" /></a>'
: '');
@@ -658,7 +663,7 @@ function format_like($cnt,$arr,$type,$id) {
}}
-function status_editor($a,$x) {
+function status_editor($a,$x, $notes_cid = 0) {
$o = '';
@@ -710,12 +715,15 @@ function status_editor($a,$x) {
call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets);
+ if($notes_cid)
+ $jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />';
+
$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
$o .= replace_macros($tpl,array(
'$return_path' => $a->cmd,
'$action' => 'item',
- '$share' => t('Share'),
+ '$share' => (($x['button']) ? $x['button'] : t('Share')),
'$upload' => t('Upload photo'),
'$weblink' => t('Insert web link'),
'$youtube' => t('Insert YouTube video'),
@@ -726,11 +734,13 @@ function status_editor($a,$x) {
'$title' => t('Set title'),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
+ '$ptyp' => (($notes_cid) ? 'note' : 'wall'),
'$content' => '',
'$post_id' => '',
'$baseurl' => $a->get_baseurl(),
'$defloc' => $x['default_location'],
'$visitor' => $x['visitor'],
+ '$pvisit' => (($notes_cid) ? 'none' : $x['visitor']),
'$emailcc' => t('CC: email addresses'),
'$public' => t('Public post'),
'$jotnets' => $jotnets,
diff --git a/include/nav.php b/include/nav.php
index d8f7621cc..66fdbc49b 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -64,9 +64,8 @@ function nav(&$a) {
$nav['help'] = array($help_url, t('Help'), "");
- if(strlen($a->apps)) {
- $nav['apps'] = array('apps', t('Apps'), "");
- }
+
+ $nav['apps'] = array('apps', t('Apps'), "");
$nav['search'] = array('search', t('Search'), "");
diff --git a/mod/apps.php b/mod/apps.php
index 1d08d2e7f..58752de32 100644
--- a/mod/apps.php
+++ b/mod/apps.php
@@ -5,10 +5,11 @@ function apps_content(&$a) {
$o .= '<h3>' . t('Applications') . '</h3>';
+ $o .= '<div class="app-title"><a href="notes">' . t('Private Notes') . '</a></div>';
+
if($a->apps)
$o .= $a->apps;
-
return $o;
} \ No newline at end of file
diff --git a/mod/editpost.php b/mod/editpost.php
index a0ffda167..d211074c9 100644
--- a/mod/editpost.php
+++ b/mod/editpost.php
@@ -35,7 +35,7 @@ function editpost_content(&$a) {
$a->page['htmlhead'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
- '$ispublic' => t('Visible to <strong>everybody</strong>'),
+ '$ispublic' => '&nbsp;', // t('Visible to <strong>everybody</strong>'),
'$geotag' => $geotag,
'$nickname' => $a->user['nickname']
));
@@ -95,11 +95,13 @@ function editpost_content(&$a) {
'$noloc' => t('Clear browser location'),
'$wait' => t('Please wait'),
'$permset' => t('Permission settings'),
+ '$ptyp' => $itm[0]['type'],
'$content' => $itm[0]['body'],
'$post_id' => $post_id,
'$baseurl' => $a->get_baseurl(),
'$defloc' => $a->user['default-location'],
'$visitor' => 'none',
+ '$pvisit' => 'none',
'$emailcc' => t('CC: email addresses'),
'$public' => t('Public post'),
'$jotnets' => $jotnets,
diff --git a/mod/notes.php b/mod/notes.php
new file mode 100644
index 000000000..7a826bf61
--- /dev/null
+++ b/mod/notes.php
@@ -0,0 +1,129 @@
+<?php
+
+function notes_init(&$a) {
+
+ if(! local_user())
+ return;
+
+ $profile = 0;
+
+ $which = $a->user['nickname'];
+
+// profile_load($a,$which,$profile);
+
+}
+
+
+function notes_content(&$a) {
+
+ if(! local_user()) {
+ notice( t('Permission denied.') . EOL);
+ return;
+ }
+
+ require_once("include/bbcode.php");
+ require_once('include/security.php');
+ require_once('include/conversation.php');
+ require_once('include/acl_selectors.php');
+ $groups = array();
+
+
+ $o = '';
+
+ $remote_contact = false;
+
+ $contact_id = $_SESSION['cid'];
+ $contact = $a->contact;
+
+ $is_owner = true;
+
+
+ $o .= '<h3>' . t('Private Notes') . '</h3>';
+
+ $commpage = false;
+ $commvisitor = false;
+
+ $celeb = false;
+
+
+
+ $x = array(
+ 'is_owner' => $is_owner,
+ 'allow_location' => (($a->user['allow_location']) ? true : false),
+ 'default_location' => $a->user['default-location'],
+ 'nickname' => $a->user['nickname'],
+ 'lockstate' => 'lock',
+ 'acl' => '',
+ 'bang' => '',
+ 'visitor' => 'block',
+ 'profile_uid' => local_user(),
+ 'button' => t('Save')
+
+ );
+
+ $o .= status_editor($a,$x,$a->contact['id']);
+
+
+ // Construct permissions
+
+ // default permissions - anonymous user
+
+ $sql_extra = " AND `allow_cid` = '<" . $a->contact['id'] . ">' ";
+
+ $r = q("SELECT COUNT(*) AS `total`
+ FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 0
+ $sql_extra ",
+ intval(local_user())
+
+ );
+
+ if(count($r)) {
+ $a->set_pager_total($r[0]['total']);
+ $a->set_pager_itemspage(40);
+ }
+
+ $r = q("SELECT `item`.`id` AS `item_id`, `contact`.`uid` AS `contact-uid`
+ FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ AND `item`.`id` = `item`.`parent` AND `item`.`wall` = 0
+ $sql_extra
+ ORDER BY `item`.`created` DESC LIMIT %d ,%d ",
+ intval(local_user()),
+ intval($a->pager['start']),
+ intval($a->pager['itemspage'])
+
+ );
+
+ $parents_arr = array();
+ $parents_str = '';
+
+ if(count($r)) {
+ foreach($r as $rr)
+ $parents_arr[] = $rr['item_id'];
+ $parents_str = implode(', ', $parents_arr);
+
+ $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
+ `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`network`, `contact`.`rel`,
+ `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
+ `contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
+ FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ WHERE `item`.`uid` = %d AND `item`.`visible` = 1 AND `item`.`deleted` = 0
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ AND `item`.`parent` IN ( %s )
+ $sql_extra
+ ORDER BY `parent` DESC, `gravity` ASC, `item`.`id` ASC ",
+ intval(local_user()),
+ dbesc($parents_str)
+ );
+ }
+
+ $o .= conversation($a,$r,'notes',$update);
+
+
+ $o .= paginate($a);
+ return $o;
+}
diff --git a/mod/ping.php b/mod/ping.php
index cb067f3fe..b736ea995 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -14,7 +14,7 @@ function ping_init(&$a) {
$network = $r[0]['total'];
$r = q("SELECT COUNT(*) AS `total` FROM `item`
- WHERE `unseen` = 1 AND `visible` = 1 AND `deleted` = 0 AND `uid` = %d AND `type` != 'remote' ",
+ WHERE `unseen` = 1 AND `visible` = 1 AND `deleted` = 0 AND `uid` = %d AND `wall` = 1 ",
intval(local_user())
);
$home = $r[0]['total'];
diff --git a/view/jot.tpl b/view/jot.tpl
index 31abafe50..0c9883b11 100644
--- a/view/jot.tpl
+++ b/view/jot.tpl
@@ -7,7 +7,7 @@
<div id="profile-jot-banner-end"></div>
<form id="profile-jot-form" action="$action" method="post" >
- <input type="hidden" name="type" value="wall" />
+ <input type="hidden" name="type" value="$ptyp" />
<input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="return" value="$return_path" />
<input type="hidden" name="location" id="jot-location" value="$defloc" />
@@ -52,7 +52,7 @@
<div id="profile-rotator-wrapper" style="display: $visitor;" >
<img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>
- <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" >
+ <div id="profile-jot-perms" class="profile-jot-perms" style="display: $pvisit;" >
<a id="jot-perms-icon" class="icon $lockstate" title="$permset" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper'); openClose('profile-jot-networks');return false;"></a>$bang
</div>
<div id="profile-jot-perms-end"></div>
diff --git a/view/theme/dispy/jot-header.tpl b/view/theme/dispy/jot-header.tpl
index 068c5cf43..245957808 100644
--- a/view/theme/dispy/jot-header.tpl
+++ b/view/theme/dispy/jot-header.tpl
@@ -3,7 +3,7 @@
<script language="javascript" type="text/javascript">
var editor;
-var textlen;
+var textlen = 0;
tinyMCE.init({
theme : "advanced",