diff options
-rw-r--r-- | include/conversation.php | 18 | ||||
-rw-r--r-- | include/nav.php | 5 | ||||
-rw-r--r-- | mod/apps.php | 3 | ||||
-rw-r--r-- | mod/editpost.php | 4 | ||||
-rw-r--r-- | mod/notes.php | 129 | ||||
-rw-r--r-- | mod/ping.php | 2 | ||||
-rw-r--r-- | view/jot.tpl | 4 | ||||
-rw-r--r-- | view/theme/dispy/jot-header.tpl | 2 |
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' => ' ', // 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", |